aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/IR/Constants.cpp
diff options
context:
space:
mode:
authorNikita Popov <npopov@redhat.com>2022-07-08 16:37:34 +0200
committerNikita Popov <npopov@redhat.com>2022-07-08 16:53:46 +0200
commit8edb9c3c56e88e38d82582e5fc96befca3d6223c (patch)
tree3f92b21c971b5188095e2d10bec313e0853fe478 /llvm/lib/IR/Constants.cpp
parentfc18a88231ccca7c5e93f7563e44fd636833ed2c (diff)
downloadllvm-8edb9c3c56e88e38d82582e5fc96befca3d6223c.zip
llvm-8edb9c3c56e88e38d82582e5fc96befca3d6223c.tar.gz
llvm-8edb9c3c56e88e38d82582e5fc96befca3d6223c.tar.bz2
[ConstantExpr] Don't create float binop expressions
Mark the fadd, fsub, fmul, fdiv, and frem expressions as undesirable, so they are not created automatically. This is in preparation for their removal.
Diffstat (limited to 'llvm/lib/IR/Constants.cpp')
-rw-r--r--llvm/lib/IR/Constants.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/llvm/lib/IR/Constants.cpp b/llvm/lib/IR/Constants.cpp
index 650b076..9eefd01 100644
--- a/llvm/lib/IR/Constants.cpp
+++ b/llvm/lib/IR/Constants.cpp
@@ -2328,6 +2328,11 @@ bool ConstantExpr::isDesirableBinOp(unsigned Opcode) {
case Instruction::SDiv:
case Instruction::URem:
case Instruction::SRem:
+ case Instruction::FAdd:
+ case Instruction::FSub:
+ case Instruction::FMul:
+ case Instruction::FDiv:
+ case Instruction::FRem:
return false;
case Instruction::Add:
case Instruction::Sub:
@@ -2338,11 +2343,6 @@ bool ConstantExpr::isDesirableBinOp(unsigned Opcode) {
case Instruction::And:
case Instruction::Or:
case Instruction::Xor:
- case Instruction::FAdd:
- case Instruction::FSub:
- case Instruction::FMul:
- case Instruction::FDiv:
- case Instruction::FRem:
return true;
default:
llvm_unreachable("Argument must be binop opcode");