diff options
author | Jingyue Wu <jingyue@google.com> | 2015-06-09 00:05:56 +0000 |
---|---|---|
committer | Jingyue Wu <jingyue@google.com> | 2015-06-09 00:05:56 +0000 |
commit | 2e4d1dd0ed720f4c95313305bbba54b36804247c (patch) | |
tree | fac62f0228c1be4877d6d887ec4d86cf155398fc /llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp | |
parent | 0302da614a07d5d04c7c30fa725c838876d1a477 (diff) | |
download | bcm5719-llvm-2e4d1dd0ed720f4c95313305bbba54b36804247c.tar.gz bcm5719-llvm-2e4d1dd0ed720f4c95313305bbba54b36804247c.zip |
[NVPTX] run SROA after NVPTXFavorNonGenericAddrSpaces
Summary:
This cleans up most allocas NVPTXLowerKernelArgs emits for byval
parameters.
Test Plan: makes bug21465.ll more stronger to verify no redundant local load/store.
Reviewers: eliben, jholewinski
Reviewed By: eliben, jholewinski
Subscribers: jholewinski, llvm-commits
Differential Revision: http://reviews.llvm.org/D10322
llvm-svn: 239368
Diffstat (limited to 'llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp')
-rw-r--r-- | llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp b/llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp index 7fdfdbfb83f..a6466687bc7 100644 --- a/llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp +++ b/llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp @@ -165,6 +165,11 @@ void NVPTXPassConfig::addIRPasses() { addPass(createGenericToNVVMPass()); addPass(createNVPTXLowerKernelArgsPass(&getNVPTXTargetMachine())); addPass(createNVPTXFavorNonGenericAddrSpacesPass()); + // NVPTXLowerKernelArgs emits alloca for byval parameters which can often + // be eliminated by SROA. We do not run SROA right after NVPTXLowerKernelArgs + // because we plan to merge NVPTXLowerKernelArgs and + // NVPTXFavorNonGenericAddrSpaces into one pass. + addPass(createSROAPass()); // FavorNonGenericAddrSpaces shortcuts unnecessary addrspacecasts, and leave // them unused. We could remove dead code in an ad-hoc manner, but that // requires manual work and might be error-prone. |