diff options
author | Chandler Carruth <chandlerc@gmail.com> | 2019-01-22 10:29:58 +0000 |
---|---|---|
committer | Chandler Carruth <chandlerc@gmail.com> | 2019-01-22 10:29:58 +0000 |
commit | 285fe716c54caf8c12018365fc3657851ff7d1e3 (patch) | |
tree | 224746a253ab1176ccf619dc2650550d05750a8c /llvm/lib/CodeGen | |
parent | 33c16a3f16fa56ad945e086af669760e0b80d8c7 (diff) | |
download | bcm5719-llvm-285fe716c54caf8c12018365fc3657851ff7d1e3.tar.gz bcm5719-llvm-285fe716c54caf8c12018365fc3657851ff7d1e3.zip |
Revert r351778: IR: Add fp operations to atomicrmw
This broke the RISCV build, and even with that fixed, one of the RISCV
tests behaves surprisingly differently with asserts than without,
leaving there no clear test pattern to use. Generally it seems bad for
hte IR to differ substantially due to asserts (as in, an alloca is used
with asserts that isn't needed without!) and nothing I did simply would
fix it so I'm reverting back to green.
This also required reverting the RISCV build fix in r351782.
llvm-svn: 351796
Diffstat (limited to 'llvm/lib/CodeGen')
-rw-r--r-- | llvm/lib/CodeGen/AtomicExpandPass.cpp | 6 |
1 files changed, 0 insertions, 6 deletions
diff --git a/llvm/lib/CodeGen/AtomicExpandPass.cpp b/llvm/lib/CodeGen/AtomicExpandPass.cpp index 2d915945392..bef9682fbd5 100644 --- a/llvm/lib/CodeGen/AtomicExpandPass.cpp +++ b/llvm/lib/CodeGen/AtomicExpandPass.cpp @@ -549,10 +549,6 @@ static Value *performAtomicOp(AtomicRMWInst::BinOp Op, IRBuilder<> &Builder, case AtomicRMWInst::UMin: NewVal = Builder.CreateICmpULE(Loaded, Inc); return Builder.CreateSelect(NewVal, Loaded, Inc, "new"); - case AtomicRMWInst::FAdd: - return Builder.CreateFAdd(Loaded, Inc, "new"); - case AtomicRMWInst::FSub: - return Builder.CreateFSub(Loaded, Inc, "new"); default: llvm_unreachable("Unknown atomic op"); } @@ -1551,8 +1547,6 @@ static ArrayRef<RTLIB::Libcall> GetRMWLibcall(AtomicRMWInst::BinOp Op) { case AtomicRMWInst::Min: case AtomicRMWInst::UMax: case AtomicRMWInst::UMin: - case AtomicRMWInst::FAdd: - case AtomicRMWInst::FSub: // No atomic libcalls are available for max/min/umax/umin. return {}; } |