diff options
Diffstat (limited to 'llvm/lib/Target/AMDGPU/AMDGPUFixFunctionBitcasts.cpp')
-rw-r--r-- | llvm/lib/Target/AMDGPU/AMDGPUFixFunctionBitcasts.cpp | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/llvm/lib/Target/AMDGPU/AMDGPUFixFunctionBitcasts.cpp b/llvm/lib/Target/AMDGPU/AMDGPUFixFunctionBitcasts.cpp index 9ba04d113c702..ea6c6d0fd212b 100644 --- a/llvm/lib/Target/AMDGPU/AMDGPUFixFunctionBitcasts.cpp +++ b/llvm/lib/Target/AMDGPU/AMDGPUFixFunctionBitcasts.cpp @@ -15,6 +15,7 @@ #include "AMDGPU.h" #include "llvm/IR/InstVisitor.h" +#include "llvm/Pass.h" #include "llvm/Transforms/Utils/CallPromotionUtils.h" using namespace llvm; @@ -31,12 +32,13 @@ class AMDGPUFixFunctionBitcasts final bool Modified; public: - void visitCallSite(CallSite CS) { - if (CS.getCalledFunction()) + void visitCallBase(CallBase &CB) { + if (CB.getCalledFunction()) return; - auto Callee = dyn_cast<Function>(CS.getCalledValue()->stripPointerCasts()); - if (Callee && isLegalToPromote(CS, Callee)) { - promoteCall(CS, Callee); + auto *Callee = + dyn_cast<Function>(CB.getCalledOperand()->stripPointerCasts()); + if (Callee && isLegalToPromote(CB, Callee)) { + promoteCall(CB, Callee); Modified = true; } } |