summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorJingyue Wu <jingyue@google.com>2015-04-21 20:47:15 +0000
committerJingyue Wu <jingyue@google.com>2015-04-21 20:47:15 +0000
commit66a161f05e71d18a61a67f7998e42fecc4f0db99 (patch)
treecbe638a7ad3a1f933479bfe04f40f3e00653eba5 /llvm/lib
parent7be03d69e5439b8347083b34814b6ac3a4bb095c (diff)
downloadbcm5719-llvm-66a161f05e71d18a61a67f7998e42fecc4f0db99.tar.gz
bcm5719-llvm-66a161f05e71d18a61a67f7998e42fecc4f0db99.zip
[NVPTX] do not run DCE after SLSR and SeparateConstOffsetFromGEP
Summary: With D9096 and D9101, there's no need to run DCE after SLSR and SeparateConstOffsetFromGEP. Test Plan: no regression Reviewers: jholewinski, meheff Subscribers: jholewinski, llvm-commits Differential Revision: http://reviews.llvm.org/D9172 llvm-svn: 235415
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp14
1 files changed, 4 insertions, 10 deletions
diff --git a/llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp b/llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
index 1b6bc714505..f9545cc1d41 100644
--- a/llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
+++ b/llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
@@ -164,6 +164,10 @@ void NVPTXPassConfig::addIRPasses() {
addPass(createNVPTXAssignValidGlobalNamesPass());
addPass(createGenericToNVVMPass());
addPass(createNVPTXFavorNonGenericAddrSpacesPass());
+ // 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.
+ addPass(createDeadCodeEliminationPass());
addPass(createStraightLineStrengthReducePass());
addPass(createSeparateConstOffsetFromGEPPass());
// The SeparateConstOffsetFromGEP pass creates variadic bases that can be used
@@ -173,16 +177,6 @@ void NVPTXPassConfig::addIRPasses() {
addPass(createGVNPass());
else
addPass(createEarlyCSEPass());
- // Both FavorNonGenericAddrSpaces and SeparateConstOffsetFromGEP may leave
- // some dead code. We could remove dead code in an ad-hoc manner, but that
- // requires manual work and might be error-prone.
- //
- // The FavorNonGenericAddrSpaces pass shortcuts unnecessary addrspacecasts,
- // and leave them unused.
- //
- // SeparateConstOffsetFromGEP rebuilds a new index from the old index, and the
- // old index and some of its intermediate results may become unused.
- addPass(createDeadCodeEliminationPass());
}
bool NVPTXPassConfig::addInstSelector() {
OpenPOWER on IntegriCloud