|
14 | 14 | #include "GCNSubtarget.h" |
15 | 15 | #include "Utils/AMDGPUBaseInfo.h" |
16 | 16 | #include "llvm/Analysis/CycleAnalysis.h" |
17 | | -#include "llvm/Analysis/TargetTransformInfo.h" |
18 | 17 | #include "llvm/CodeGen/TargetPassConfig.h" |
19 | 18 | #include "llvm/IR/IntrinsicsAMDGPU.h" |
20 | 19 | #include "llvm/IR/IntrinsicsR600.h" |
@@ -1039,25 +1038,12 @@ static bool runImpl(Module &M, AnalysisGetter &AG, TargetMachine &TM) { |
1039 | 1038 | &AAPotentialValues::ID, &AAAMDFlatWorkGroupSize::ID, |
1040 | 1039 | &AAAMDWavesPerEU::ID, &AAAMDGPUNoAGPR::ID, &AACallEdges::ID, |
1041 | 1040 | &AAPointerInfo::ID, &AAPotentialConstantValues::ID, |
1042 | | - &AAUnderlyingObjects::ID, &AAAddressSpace::ID, &AAIndirectCallInfo::ID, |
1043 | | - &AAInstanceInfo::ID}); |
| 1041 | + &AAUnderlyingObjects::ID, &AAAddressSpace::ID}); |
1044 | 1042 |
|
1045 | 1043 | AttributorConfig AC(CGUpdater); |
1046 | 1044 | AC.Allowed = &Allowed; |
1047 | 1045 | AC.IsModulePass = true; |
1048 | 1046 | AC.DefaultInitializeLiveInternals = false; |
1049 | | - AC.IndirectCalleeSpecializationCallback = |
1050 | | - [&TM](Attributor &A, const AbstractAttribute &AA, CallBase &CB, |
1051 | | - Function &Callee, unsigned NumAssumedCallees) { |
1052 | | - if (AMDGPU::isEntryFunctionCC(Callee.getCallingConv())) |
1053 | | - return false; |
1054 | | - // Singleton functions can be specialized. |
1055 | | - if (NumAssumedCallees == 1) |
1056 | | - return true; |
1057 | | - // Otherwise specialize uniform values. |
1058 | | - const auto &TTI = TM.getTargetTransformInfo(*CB.getCaller()); |
1059 | | - return TTI.isAlwaysUniform(CB.getCalledOperand()); |
1060 | | - }; |
1061 | 1047 | AC.IPOAmendableCB = [](const Function &F) { |
1062 | 1048 | return F.getCallingConv() == CallingConv::AMDGPU_KERNEL; |
1063 | 1049 | }; |
|
0 commit comments