Add optimization bisect opt-in calls for NVPTX passes

Differential Revision: http://reviews.llvm.org/D19518

llvm-svn: 267635
This commit is contained in:
Andrew Kaylor 2016-04-26 23:44:31 +00:00
parent 4ff3cfb673
commit 87b10dd7b3
5 changed files with 13 additions and 1 deletions

View File

@ -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;

View File

@ -50,6 +50,9 @@ NVPTXImageOptimizer::NVPTXImageOptimizer()
: FunctionPass(ID) {}
bool NVPTXImageOptimizer::runOnFunction(Function &F) {
if (skipFunction(F))
return false;
bool Changed = false;
InstrToDelete.clear();

View File

@ -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);

View File

@ -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)) {

View File

@ -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) {