diff options
Diffstat (limited to 'llvm/lib/Transforms/Utils/LowerAtomic.cpp')
-rw-r--r-- | llvm/lib/Transforms/Utils/LowerAtomic.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/llvm/lib/Transforms/Utils/LowerAtomic.cpp b/llvm/lib/Transforms/Utils/LowerAtomic.cpp index b6f40de0daa6..b203970ef9c5 100644 --- a/llvm/lib/Transforms/Utils/LowerAtomic.cpp +++ b/llvm/lib/Transforms/Utils/LowerAtomic.cpp @@ -14,8 +14,7 @@ #include "llvm/Transforms/Utils/LowerAtomic.h" #include "llvm/IR/Function.h" #include "llvm/IR/IRBuilder.h" -#include "llvm/InitializePasses.h" -#include "llvm/Pass.h" + using namespace llvm; #define DEBUG_TYPE "loweratomic" @@ -102,6 +101,9 @@ Value *llvm::buildAtomicRMWValue(AtomicRMWInst::BinOp Op, bool llvm::lowerAtomicRMWInst(AtomicRMWInst *RMWI) { IRBuilder<> Builder(RMWI); + Builder.setIsFPConstrained( + RMWI->getFunction()->hasFnAttribute(Attribute::StrictFP)); + Value *Ptr = RMWI->getPointerOperand(); Value *Val = RMWI->getValOperand(); |