summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Kaylor <andrew.kaylor@intel.com>2016-04-26 23:44:31 +0000
committerAndrew Kaylor <andrew.kaylor@intel.com>2016-04-26 23:44:31 +0000
commit87b10dd7b38a17fe154fe15211d76abc3d9ddf26 (patch)
treee272f36f72376013250e6890400e3320b9e459a4
parent4ff3cfb6733235b8fbf1f08f1f53bedc37d86e9f (diff)
downloadbcm5719-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.cpp2
-rw-r--r--llvm/lib/Target/NVPTX/NVPTXImageOptimizer.cpp3
-rw-r--r--llvm/lib/Target/NVPTX/NVPTXInferAddressSpaces.cpp3
-rw-r--r--llvm/lib/Target/NVPTX/NVPTXLowerAlloca.cpp3
-rw-r--r--llvm/lib/Target/NVPTX/NVPTXPeephole.cpp3
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) {
OpenPOWER on IntegriCloud