diff options
author | Nikita Popov <npopov@redhat.com> | 2023-11-14 09:25:14 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-11-14 09:25:14 +0100 |
commit | 56c1d30183e156365f7057f5945b2bc48fdb32e7 (patch) | |
tree | 0d0886c0e43529c72a31c6f26a30d3e004528132 /llvm/lib/IR/Constants.cpp | |
parent | 9cb1673fa5d267148ac81ee31b37f1d2f7c0f2b8 (diff) | |
download | llvm-56c1d30183e156365f7057f5945b2bc48fdb32e7.zip llvm-56c1d30183e156365f7057f5945b2bc48fdb32e7.tar.gz llvm-56c1d30183e156365f7057f5945b2bc48fdb32e7.tar.bz2 |
[IR] Remove support for lshr/ashr constant expressions (#71955)
Remove support for the lshr and ashr constant expressions. All places
creating them have been removed beforehand, so this just removes the
APIs and uses of these constant expressions in tests.
This is part of
https://discourse.llvm.org/t/rfc-remove-most-constant-expressions/63179.
Diffstat (limited to 'llvm/lib/IR/Constants.cpp')
-rw-r--r-- | llvm/lib/IR/Constants.cpp | 14 |
1 files changed, 2 insertions, 12 deletions
diff --git a/llvm/lib/IR/Constants.cpp b/llvm/lib/IR/Constants.cpp index aab624b..bc55d5b 100644 --- a/llvm/lib/IR/Constants.cpp +++ b/llvm/lib/IR/Constants.cpp @@ -2160,13 +2160,13 @@ bool ConstantExpr::isSupportedBinOp(unsigned Opcode) { case Instruction::FRem: case Instruction::And: case Instruction::Or: + case Instruction::LShr: + case Instruction::AShr: return false; case Instruction::Add: case Instruction::Sub: case Instruction::Mul: case Instruction::Shl: - case Instruction::LShr: - case Instruction::AShr: case Instruction::Xor: return true; default: @@ -2482,16 +2482,6 @@ Constant *ConstantExpr::getShl(Constant *C1, Constant *C2, return get(Instruction::Shl, C1, C2, Flags); } -Constant *ConstantExpr::getLShr(Constant *C1, Constant *C2, bool isExact) { - return get(Instruction::LShr, C1, C2, - isExact ? PossiblyExactOperator::IsExact : 0); -} - -Constant *ConstantExpr::getAShr(Constant *C1, Constant *C2, bool isExact) { - return get(Instruction::AShr, C1, C2, - isExact ? PossiblyExactOperator::IsExact : 0); -} - Constant *ConstantExpr::getExactLogBase2(Constant *C) { Type *Ty = C->getType(); const APInt *IVal; |