diff options
| author | Justin Lebar <jlebar@google.com> | 2016-09-11 01:39:04 +0000 |
|---|---|---|
| committer | Justin Lebar <jlebar@google.com> | 2016-09-11 01:39:04 +0000 |
| commit | 6d6b11a4a6a418956ac963bb9a7d9b1fd2966e3d (patch) | |
| tree | e2efeffcdeaa94a2862c48bccc90db70310f7488 /llvm/lib/Transforms/Utils/ModuleUtils.cpp | |
| parent | adbf09e8cfd3aa6bb104f45bf5f39e4e8578d2f8 (diff) | |
| download | llvm-6d6b11a4a6a418956ac963bb9a7d9b1fd2966e3d.zip llvm-6d6b11a4a6a418956ac963bb9a7d9b1fd2966e3d.tar.gz llvm-6d6b11a4a6a418956ac963bb9a7d9b1fd2966e3d.tar.bz2 | |
[NVPTX] Use ldg for explicitly invariant loads.
Summary:
With this change (plus some changes to prevent !invariant from being
clobbered within llvm), clang will be able to model the __ldg CUDA
builtin as an invariant load, rather than as a target-specific llvm
intrinsic. This will let the optimizer play with these loads --
specifically, we should be able to vectorize them in the load-store
vectorizer.
Reviewers: tra
Subscribers: jholewinski, hfinkel, llvm-commits, chandlerc
Differential Revision: https://reviews.llvm.org/D23477
llvm-svn: 281152
Diffstat (limited to 'llvm/lib/Transforms/Utils/ModuleUtils.cpp')
0 files changed, 0 insertions, 0 deletions
