@@ -134,55 +134,6 @@ class AMDGPULibCalls {
134
134
135
135
} // end llvm namespace
136
136
137
- namespace {
138
-
139
- class AMDGPUSimplifyLibCalls : public FunctionPass {
140
-
141
- AMDGPULibCalls Simplifier;
142
-
143
- public:
144
- static char ID; // Pass identification
145
-
146
- AMDGPUSimplifyLibCalls () : FunctionPass(ID) {
147
- initializeAMDGPUSimplifyLibCallsPass (*PassRegistry::getPassRegistry ());
148
- }
149
-
150
- bool runOnFunction (Function &M) override ;
151
- };
152
-
153
- class AMDGPUUseNativeCalls : public FunctionPass {
154
-
155
- AMDGPULibCalls Simplifier;
156
-
157
- public:
158
- static char ID; // Pass identification
159
-
160
- AMDGPUUseNativeCalls () : FunctionPass(ID) {
161
- initializeAMDGPUUseNativeCallsPass (*PassRegistry::getPassRegistry ());
162
- Simplifier.initNativeFuncs ();
163
- }
164
-
165
- void getAnalysisUsage (AnalysisUsage &AU) const override {
166
- // TODO: Preserves most
167
- }
168
-
169
- bool runOnFunction (Function &F) override ;
170
- };
171
-
172
- } // end anonymous namespace.
173
-
174
- char AMDGPUSimplifyLibCalls::ID = 0 ;
175
- char AMDGPUUseNativeCalls::ID = 0 ;
176
-
177
- INITIALIZE_PASS_BEGIN (AMDGPUSimplifyLibCalls, " amdgpu-simplifylib" ,
178
- " Simplify well-known AMD library calls" , false , false )
179
- INITIALIZE_PASS_END(AMDGPUSimplifyLibCalls, " amdgpu-simplifylib" ,
180
- " Simplify well-known AMD library calls" , false , false )
181
-
182
- INITIALIZE_PASS(AMDGPUUseNativeCalls, " amdgpu-usenative" ,
183
- " Replace builtin math calls with that native versions." ,
184
- false , false )
185
-
186
137
template <typename IRB>
187
138
static CallInst *CreateCallEx (IRB &B, FunctionCallee Callee, Value *Arg,
188
139
const Twine &Name = " " ) {
@@ -1605,40 +1556,6 @@ bool AMDGPULibCalls::evaluateCall(CallInst *aCI, const FuncInfo &FInfo) {
1605
1556
return true ;
1606
1557
}
1607
1558
1608
- // Public interface to the Simplify LibCalls pass.
1609
- FunctionPass *llvm::createAMDGPUSimplifyLibCallsPass () {
1610
- return new AMDGPUSimplifyLibCalls ();
1611
- }
1612
-
1613
- FunctionPass *llvm::createAMDGPUUseNativeCallsPass () {
1614
- return new AMDGPUUseNativeCalls ();
1615
- }
1616
-
1617
- bool AMDGPUSimplifyLibCalls::runOnFunction (Function &F) {
1618
- if (skipFunction (F))
1619
- return false ;
1620
-
1621
- Simplifier.initFunction (F);
1622
-
1623
- bool Changed = false ;
1624
-
1625
- LLVM_DEBUG (dbgs () << " AMDIC: process function " ;
1626
- F.printAsOperand (dbgs (), false , F.getParent ()); dbgs () << ' \n ' ;);
1627
-
1628
- for (auto &BB : F) {
1629
- for (BasicBlock::iterator I = BB.begin (), E = BB.end (); I != E; ) {
1630
- // Ignore non-calls.
1631
- CallInst *CI = dyn_cast<CallInst>(I);
1632
- ++I;
1633
- if (CI) {
1634
- if (Simplifier.fold (CI))
1635
- Changed = true ;
1636
- }
1637
- }
1638
- }
1639
- return Changed;
1640
- }
1641
-
1642
1559
PreservedAnalyses AMDGPUSimplifyLibCallsPass::run (Function &F,
1643
1560
FunctionAnalysisManager &AM) {
1644
1561
AMDGPULibCalls Simplifier;
@@ -1665,25 +1582,6 @@ PreservedAnalyses AMDGPUSimplifyLibCallsPass::run(Function &F,
1665
1582
return Changed ? PreservedAnalyses::none () : PreservedAnalyses::all ();
1666
1583
}
1667
1584
1668
- bool AMDGPUUseNativeCalls::runOnFunction (Function &F) {
1669
- if (skipFunction (F) || UseNative.empty ())
1670
- return false ;
1671
-
1672
- Simplifier.initFunction (F);
1673
-
1674
- bool Changed = false ;
1675
- for (auto &BB : F) {
1676
- for (BasicBlock::iterator I = BB.begin (), E = BB.end (); I != E; ) {
1677
- // Ignore non-calls.
1678
- CallInst *CI = dyn_cast<CallInst>(I);
1679
- ++I;
1680
- if (CI && Simplifier.useNative (CI))
1681
- Changed = true ;
1682
- }
1683
- }
1684
- return Changed;
1685
- }
1686
-
1687
1585
PreservedAnalyses AMDGPUUseNativeCallsPass::run (Function &F,
1688
1586
FunctionAnalysisManager &AM) {
1689
1587
if (UseNative.empty ())
0 commit comments