Index: llvm/trunk/lib/Target/NVPTX/NVPTXFavorNonGenericAddrSpaces.cpp =================================================================== --- llvm/trunk/lib/Target/NVPTX/NVPTXFavorNonGenericAddrSpaces.cpp +++ llvm/trunk/lib/Target/NVPTX/NVPTXFavorNonGenericAddrSpaces.cpp @@ -266,7 +266,7 @@ } bool NVPTXFavorNonGenericAddrSpaces::runOnFunction(Function &F) { - if (DisableFavorNonGeneric) + if (DisableFavorNonGeneric || skipFunction(F)) return false; bool Changed = false; Index: llvm/trunk/lib/Target/NVPTX/NVPTXImageOptimizer.cpp =================================================================== --- llvm/trunk/lib/Target/NVPTX/NVPTXImageOptimizer.cpp +++ llvm/trunk/lib/Target/NVPTX/NVPTXImageOptimizer.cpp @@ -50,6 +50,9 @@ : FunctionPass(ID) {} bool NVPTXImageOptimizer::runOnFunction(Function &F) { + if (skipFunction(F)) + return false; + bool Changed = false; InstrToDelete.clear(); Index: llvm/trunk/lib/Target/NVPTX/NVPTXInferAddressSpaces.cpp =================================================================== --- llvm/trunk/lib/Target/NVPTX/NVPTXInferAddressSpaces.cpp +++ llvm/trunk/lib/Target/NVPTX/NVPTXInferAddressSpaces.cpp @@ -419,6 +419,9 @@ } bool NVPTXInferAddressSpaces::runOnFunction(Function &F) { + if (skipFunction(F)) + return false; + // Collects all generic address expressions in postorder. std::vector Postorder = collectGenericAddressExpressions(F); Index: llvm/trunk/lib/Target/NVPTX/NVPTXLowerAlloca.cpp =================================================================== --- llvm/trunk/lib/Target/NVPTX/NVPTXLowerAlloca.cpp +++ llvm/trunk/lib/Target/NVPTX/NVPTXLowerAlloca.cpp @@ -62,6 +62,9 @@ // 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(&I)) { Index: llvm/trunk/lib/Target/NVPTX/NVPTXPeephole.cpp =================================================================== --- llvm/trunk/lib/Target/NVPTX/NVPTXPeephole.cpp +++ llvm/trunk/lib/Target/NVPTX/NVPTXPeephole.cpp @@ -125,6 +125,9 @@ } 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) {