Index: llvm/lib/Target/AMDGPU/AMDGPU.h =================================================================== --- llvm/lib/Target/AMDGPU/AMDGPU.h +++ llvm/lib/Target/AMDGPU/AMDGPU.h @@ -47,8 +47,6 @@ FunctionPass *createSIFormMemoryClausesPass(); FunctionPass *createSIPostRABundlerPass(); -FunctionPass *createAMDGPUSimplifyLibCallsPass(); -FunctionPass *createAMDGPUUseNativeCallsPass(); ModulePass *createAMDGPURemoveIncompatibleFunctionsPass(const TargetMachine *); FunctionPass *createAMDGPUCodeGenPreparePass(); FunctionPass *createAMDGPULateCodeGenPreparePass(); @@ -168,12 +166,6 @@ void initializeSIPreAllocateWWMRegsPass(PassRegistry &); extern char &SIPreAllocateWWMRegsID; -void initializeAMDGPUSimplifyLibCallsPass(PassRegistry &); -extern char &AMDGPUSimplifyLibCallsID; - -void initializeAMDGPUUseNativeCallsPass(PassRegistry &); -extern char &AMDGPUUseNativeCallsID; - void initializeAMDGPUPerfHintAnalysisPass(PassRegistry &); extern char &AMDGPUPerfHintAnalysisID; Index: llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp =================================================================== --- llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp +++ llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp @@ -125,55 +125,6 @@ } // end llvm namespace -namespace { - - class AMDGPUSimplifyLibCalls : public FunctionPass { - - AMDGPULibCalls Simplifier; - - public: - static char ID; // Pass identification - - AMDGPUSimplifyLibCalls() : FunctionPass(ID) { - initializeAMDGPUSimplifyLibCallsPass(*PassRegistry::getPassRegistry()); - } - - bool runOnFunction(Function &M) override; - }; - - class AMDGPUUseNativeCalls : public FunctionPass { - - AMDGPULibCalls Simplifier; - - public: - static char ID; // Pass identification - - AMDGPUUseNativeCalls() : FunctionPass(ID) { - initializeAMDGPUUseNativeCallsPass(*PassRegistry::getPassRegistry()); - Simplifier.initNativeFuncs(); - } - - void getAnalysisUsage(AnalysisUsage &AU) const override { - // TODO: Preserves most - } - - bool runOnFunction(Function &F) override; - }; - -} // end anonymous namespace. - -char AMDGPUSimplifyLibCalls::ID = 0; -char AMDGPUUseNativeCalls::ID = 0; - -INITIALIZE_PASS_BEGIN(AMDGPUSimplifyLibCalls, "amdgpu-simplifylib", - "Simplify well-known AMD library calls", false, false) -INITIALIZE_PASS_END(AMDGPUSimplifyLibCalls, "amdgpu-simplifylib", - "Simplify well-known AMD library calls", false, false) - -INITIALIZE_PASS(AMDGPUUseNativeCalls, "amdgpu-usenative", - "Replace builtin math calls with that native versions.", - false, false) - template static CallInst *CreateCallEx(IRB &B, FunctionCallee Callee, Value *Arg, const Twine &Name = "") { @@ -1517,40 +1468,6 @@ return true; } -// Public interface to the Simplify LibCalls pass. -FunctionPass *llvm::createAMDGPUSimplifyLibCallsPass() { - return new AMDGPUSimplifyLibCalls(); -} - -FunctionPass *llvm::createAMDGPUUseNativeCallsPass() { - return new AMDGPUUseNativeCalls(); -} - -bool AMDGPUSimplifyLibCalls::runOnFunction(Function &F) { - if (skipFunction(F)) - return false; - - Simplifier.initFunction(F); - - bool Changed = false; - - LLVM_DEBUG(dbgs() << "AMDIC: process function "; - F.printAsOperand(dbgs(), false, F.getParent()); dbgs() << '\n';); - - for (auto &BB : F) { - for (BasicBlock::iterator I = BB.begin(), E = BB.end(); I != E; ) { - // Ignore non-calls. - CallInst *CI = dyn_cast(I); - ++I; - if (CI) { - if (Simplifier.fold(CI)) - Changed = true; - } - } - } - return Changed; -} - PreservedAnalyses AMDGPUSimplifyLibCallsPass::run(Function &F, FunctionAnalysisManager &AM) { AMDGPULibCalls Simplifier; @@ -1577,25 +1494,6 @@ return Changed ? PreservedAnalyses::none() : PreservedAnalyses::all(); } -bool AMDGPUUseNativeCalls::runOnFunction(Function &F) { - if (skipFunction(F) || UseNative.empty()) - return false; - - Simplifier.initFunction(F); - - bool Changed = false; - for (auto &BB : F) { - for (BasicBlock::iterator I = BB.begin(), E = BB.end(); I != E; ) { - // Ignore non-calls. - CallInst *CI = dyn_cast(I); - ++I; - if (CI && Simplifier.useNative(CI)) - Changed = true; - } - } - return Changed; -} - PreservedAnalyses AMDGPUUseNativeCallsPass::run(Function &F, FunctionAnalysisManager &AM) { if (UseNative.empty()) Index: llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp =================================================================== --- llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp +++ llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp @@ -415,8 +415,6 @@ initializeAMDGPUUnifyDivergentExitNodesPass(*PR); initializeAMDGPUAAWrapperPassPass(*PR); initializeAMDGPUExternalAAWrapperPass(*PR); - initializeAMDGPUUseNativeCallsPass(*PR); - initializeAMDGPUSimplifyLibCallsPass(*PR); initializeAMDGPUPrintfRuntimeBindingPass(*PR); initializeAMDGPUResourceUsageAnalysisPass(*PR); initializeGCNNSAReassignPass(*PR);