about summary refs log tree commit diff
path: root/src/test/codegen/function-arguments.rs
diff options
context:
space:
mode:
authorJames Miller <james@aatch.net>2017-02-21 21:08:06 +1300
committerJames Miller <james@aatch.net>2017-02-21 21:08:06 +1300
commit7af3406a49eb27f54d043cc45e99b986c7f05d7c (patch)
tree2b2d58dce5cf78565d743ca14a7baa832eb1de56 /src/test/codegen/function-arguments.rs
parenta17e5e2949db53c9c1e3a697e41c254e31c0bdf3 (diff)
downloadrust-7af3406a49eb27f54d043cc45e99b986c7f05d7c.tar.gz
rust-7af3406a49eb27f54d043cc45e99b986c7f05d7c.zip
Set metadata for vtable-related loads
Give LLVM much more information about vtable pointers. Without the extra
information, LLVM has to be rather pessimistic about vtables, preventing
a number of obvious optimisations.

* Makes the vtable pointer argument noalias and readonly.
* Marks loads of the vtable pointer as nonnull.
* Marks load from the vtable with `!invariant.load` metadata.

Fixes #39992
Diffstat (limited to 'src/test/codegen/function-arguments.rs')
0 files changed, 0 insertions, 0 deletions