diff options
Diffstat (limited to 'llvm')
-rw-r--r-- | llvm/include/llvm/IR/IRBuilder.h | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/llvm/include/llvm/IR/IRBuilder.h b/llvm/include/llvm/IR/IRBuilder.h index 5d5f12d2c7c..1abdf2242b5 100644 --- a/llvm/include/llvm/IR/IRBuilder.h +++ b/llvm/include/llvm/IR/IRBuilder.h @@ -2421,18 +2421,16 @@ public: Args, OpBundles, Name, FPMathTag); } - // Deprecated [opaque pointer types] CallInst *CreateConstrainedFPCall( - Value *Callee, ArrayRef<Value *> Args, const Twine &Name = "", + Function *Callee, ArrayRef<Value *> Args, const Twine &Name = "", Optional<fp::RoundingMode> Rounding = None, Optional<fp::ExceptionBehavior> Except = None) { llvm::SmallVector<Value *, 6> UseArgs; for (auto *OneArg : Args) UseArgs.push_back(OneArg); - Function *F = cast<Function>(Callee); bool HasRoundingMD = false; - switch (F->getIntrinsicID()) { + switch (Callee->getIntrinsicID()) { default: break; #define INSTRUCTION(NAME, NARG, ROUND_MODE, INTRINSIC, DAGN) \ @@ -2445,9 +2443,7 @@ public: UseArgs.push_back(getConstrainedFPRounding(Rounding)); UseArgs.push_back(getConstrainedFPExcept(Except)); - CallInst *C = CreateCall( - cast<FunctionType>(Callee->getType()->getPointerElementType()), Callee, - UseArgs, Name); + CallInst *C = CreateCall(Callee, UseArgs, Name); setConstrainedFPCallAttr(C); return C; } |