diff options
author | Craig Topper <craig.topper@gmail.com> | 2017-03-20 06:40:39 +0000 |
---|---|---|
committer | Craig Topper <craig.topper@gmail.com> | 2017-03-20 06:40:39 +0000 |
commit | f4fa291d836de1d5eaf9433106fd2aba08976cf4 (patch) | |
tree | 7a4fb5f38504f9a3d633757eb0114eae56dd42b5 /llvm/lib/IR | |
parent | c69955c6f38a33e11576522d5a7a9eb2e8bd581e (diff) | |
download | bcm5719-llvm-f4fa291d836de1d5eaf9433106fd2aba08976cf4.tar.gz bcm5719-llvm-f4fa291d836de1d5eaf9433106fd2aba08976cf4.zip |
[IR] Move a few static functions in Instruction class inline.
They just check for certain opcodes and opcode enums are available in Instruction.h.
llvm-svn: 298237
Diffstat (limited to 'llvm/lib/IR')
-rw-r--r-- | llvm/lib/IR/Instruction.cpp | 45 |
1 files changed, 0 insertions, 45 deletions
diff --git a/llvm/lib/IR/Instruction.cpp b/llvm/lib/IR/Instruction.cpp index 516cdbe3416..2ca496e2dc7 100644 --- a/llvm/lib/IR/Instruction.cpp +++ b/llvm/lib/IR/Instruction.cpp @@ -569,51 +569,6 @@ bool Instruction::isAssociative() const { } } -/// Return true if the instruction is commutative: -/// -/// Commutative operators satisfy: (x op y) === (y op x) -/// -/// In LLVM, these are the associative operators, plus SetEQ and SetNE, when -/// applied to any type. -/// -bool Instruction::isCommutative(unsigned op) { - switch (op) { - case Add: - case FAdd: - case Mul: - case FMul: - case And: - case Or: - case Xor: - return true; - default: - return false; - } -} - -/// Return true if the instruction is idempotent: -/// -/// Idempotent operators satisfy: x op x === x -/// -/// In LLVM, the And and Or operators are idempotent. -/// -bool Instruction::isIdempotent(unsigned Opcode) { - return Opcode == And || Opcode == Or; -} - -/// Return true if the instruction is nilpotent: -/// -/// Nilpotent operators satisfy: x op x === Id, -/// -/// where Id is the identity for the operator, i.e. a constant such that -/// x op Id === x and Id op x === x for all x. -/// -/// In LLVM, the Xor operator is nilpotent. -/// -bool Instruction::isNilpotent(unsigned Opcode) { - return Opcode == Xor; -} - Instruction *Instruction::cloneImpl() const { llvm_unreachable("Subclass of Instruction failed to implement cloneImpl"); } |