diff options
author | Andrew Kaylor <andrew.kaylor@intel.com> | 2016-04-26 23:44:31 +0000 |
---|---|---|
committer | Andrew Kaylor <andrew.kaylor@intel.com> | 2016-04-26 23:44:31 +0000 |
commit | 87b10dd7b38a17fe154fe15211d76abc3d9ddf26 (patch) | |
tree | e272f36f72376013250e6890400e3320b9e459a4 | |
parent | 4ff3cfb6733235b8fbf1f08f1f53bedc37d86e9f (diff) | |
download | bcm5719-llvm-87b10dd7b38a17fe154fe15211d76abc3d9ddf26.tar.gz bcm5719-llvm-87b10dd7b38a17fe154fe15211d76abc3d9ddf26.zip |
Add optimization bisect opt-in calls for NVPTX passes
Differential Revision: http://reviews.llvm.org/D19518
llvm-svn: 267635
-rw-r--r-- | llvm/lib/Target/NVPTX/NVPTXFavorNonGenericAddrSpaces.cpp | 2 | ||||
-rw-r--r-- | llvm/lib/Target/NVPTX/NVPTXImageOptimizer.cpp | 3 | ||||
-rw-r--r-- | llvm/lib/Target/NVPTX/NVPTXInferAddressSpaces.cpp | 3 | ||||
-rw-r--r-- | llvm/lib/Target/NVPTX/NVPTXLowerAlloca.cpp | 3 | ||||
-rw-r--r-- | llvm/lib/Target/NVPTX/NVPTXPeephole.cpp | 3 |
5 files changed, 13 insertions, 1 deletions
diff --git a/llvm/lib/Target/NVPTX/NVPTXFavorNonGenericAddrSpaces.cpp b/llvm/lib/Target/NVPTX/NVPTXFavorNonGenericAddrSpaces.cpp index 7112dd01c45..7c5a54162d7 100644 --- a/llvm/lib/Target/NVPTX/NVPTXFavorNonGenericAddrSpaces.cpp +++ b/llvm/lib/Target/NVPTX/NVPTXFavorNonGenericAddrSpaces.cpp @@ -266,7 +266,7 @@ bool NVPTXFavorNonGenericAddrSpaces::optimizeMemoryInstruction(Instruction *MI, } bool NVPTXFavorNonGenericAddrSpaces::runOnFunction(Function &F) { - if (DisableFavorNonGeneric) + if (DisableFavorNonGeneric || skipFunction(F)) return false; bool Changed = false; diff --git a/llvm/lib/Target/NVPTX/NVPTXImageOptimizer.cpp b/llvm/lib/Target/NVPTX/NVPTXImageOptimizer.cpp index aa36b6be725..8d00bbb5e9c 100644 --- a/llvm/lib/Target/NVPTX/NVPTXImageOptimizer.cpp +++ b/llvm/lib/Target/NVPTX/NVPTXImageOptimizer.cpp @@ -50,6 +50,9 @@ NVPTXImageOptimizer::NVPTXImageOptimizer() : FunctionPass(ID) {} bool NVPTXImageOptimizer::runOnFunction(Function &F) { + if (skipFunction(F)) + return false; + bool Changed = false; InstrToDelete.clear(); diff --git a/llvm/lib/Target/NVPTX/NVPTXInferAddressSpaces.cpp b/llvm/lib/Target/NVPTX/NVPTXInferAddressSpaces.cpp index 1bcb5cab8fc..e451d273cf4 100644 --- a/llvm/lib/Target/NVPTX/NVPTXInferAddressSpaces.cpp +++ b/llvm/lib/Target/NVPTX/NVPTXInferAddressSpaces.cpp @@ -419,6 +419,9 @@ static unsigned joinAddressSpaces(unsigned AS1, unsigned AS2) { } bool NVPTXInferAddressSpaces::runOnFunction(Function &F) { + if (skipFunction(F)) + return false; + // Collects all generic address expressions in postorder. std::vector<Value *> Postorder = collectGenericAddressExpressions(F); diff --git a/llvm/lib/Target/NVPTX/NVPTXLowerAlloca.cpp b/llvm/lib/Target/NVPTX/NVPTXLowerAlloca.cpp index 624052e9b98..fa1a3ef3fe2 100644 --- a/llvm/lib/Target/NVPTX/NVPTXLowerAlloca.cpp +++ b/llvm/lib/Target/NVPTX/NVPTXLowerAlloca.cpp @@ -62,6 +62,9 @@ INITIALIZE_PASS(NVPTXLowerAlloca, "nvptx-lower-alloca", // Main function for this pass. // ============================================================================= bool NVPTXLowerAlloca::runOnBasicBlock(BasicBlock &BB) { + if (skipBasicBlock(BB)) + return false; + bool Changed = false; for (auto &I : BB) { if (auto allocaInst = dyn_cast<AllocaInst>(&I)) { diff --git a/llvm/lib/Target/NVPTX/NVPTXPeephole.cpp b/llvm/lib/Target/NVPTX/NVPTXPeephole.cpp index a61c291d233..7d0cd553e03 100644 --- a/llvm/lib/Target/NVPTX/NVPTXPeephole.cpp +++ b/llvm/lib/Target/NVPTX/NVPTXPeephole.cpp @@ -125,6 +125,9 @@ static void CombineCVTAToLocal(MachineInstr &Root) { } bool NVPTXPeephole::runOnMachineFunction(MachineFunction &MF) { + if (skipFunction(*MF.getFunction())) + return false; + bool Changed = false; // Loop over all of the basic blocks. for (auto &MBB : MF) { |