forked from OSchip/llvm-project
[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
This commit is contained in:
parent
7be03d69e5
commit
66a161f05e
|
@ -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() {
|
||||
|
|
Loading…
Reference in New Issue