[llvm] [IRBuilder] Refactor FMF interface (PR #121657)
Yingwei Zheng via llvm-commits
llvm-commits at lists.llvm.org
Sun Jan 5 01:07:36 PST 2025
================
@@ -869,28 +869,28 @@ CallInst *IRBuilderBase::CreateGCGetPointerOffset(Value *DerivedPtr,
}
CallInst *IRBuilderBase::CreateUnaryIntrinsic(Intrinsic::ID ID, Value *V,
- Instruction *FMFSource,
+ FMFSource FMFSource,
const Twine &Name) {
Module *M = BB->getModule();
Function *Fn = Intrinsic::getOrInsertDeclaration(M, ID, {V->getType()});
return createCallHelper(Fn, {V}, Name, FMFSource);
}
Value *IRBuilderBase::CreateBinaryIntrinsic(Intrinsic::ID ID, Value *LHS,
- Value *RHS, Instruction *FMFSource,
+ Value *RHS, FMFSource FMFSource,
const Twine &Name) {
Module *M = BB->getModule();
Function *Fn = Intrinsic::getOrInsertDeclaration(M, ID, {LHS->getType()});
if (Value *V = Folder.FoldBinaryIntrinsic(ID, LHS, RHS, Fn->getReturnType(),
- FMFSource))
+ FMFSource.Source))
----------------
dtcxzyw wrote:
It is used to flush denormal values according to the parent function attributes of FMFSource. But I think the denormal handling is also poor in other places of IRBuilder (e.g, `CreateFAddFMF`) :(
https://github.com/llvm/llvm-project/pull/121657
More information about the llvm-commits
mailing list