aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2001-09-10 20:09:50 +0000
committerChris Lattner <sabre@nondot.org>2001-09-10 20:09:50 +0000
commit1a4f8ae3c8f859b5ff6a84ba93810b563e8015d6 (patch)
tree0ca660f86d311d9d31338be7e991fe81957d3079 /lib/CodeGen
parent919758563deb865be67c7f861a9dfd2da4a895c8 (diff)
Use predicate for Value type test
Use builtin casts git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@541 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen')
-rw-r--r--lib/CodeGen/InstrSelection/InstrForest.cpp20
1 files changed, 8 insertions, 12 deletions
diff --git a/lib/CodeGen/InstrSelection/InstrForest.cpp b/lib/CodeGen/InstrSelection/InstrForest.cpp
index 12475b016d..181c1a1d43 100644
--- a/lib/CodeGen/InstrSelection/InstrForest.cpp
+++ b/lib/CodeGen/InstrSelection/InstrForest.cpp
@@ -322,14 +322,11 @@ InstrForest::buildTreeForInstruction(Instruction* instr)
// Check latter condition here just to simplify the next IF.
bool includeAddressOperand =
- ((operand->getValueType() == Value::BasicBlockVal
- || operand->getValueType() == Value::MethodVal)
- && ! instr->isTerminator());
+ ((operand->isBasicBlock() || operand->isMethod())
+ && !instr->isTerminator());
- if ( includeAddressOperand
- || operand->getValueType() == Value::InstructionVal
- || operand->getValueType() == Value::ConstantVal
- || operand->getValueType() == Value::MethodArgumentVal)
+ if (includeAddressOperand || operand->isInstruction() ||
+ operand->isConstant() || operand->isMethodArgument())
{// This operand is a data value
// An instruction that computes the incoming value is added as a
@@ -345,17 +342,16 @@ InstrForest::buildTreeForInstruction(Instruction* instr)
// is used directly, i.e., made a child of the instruction node.
//
InstrTreeNode* opTreeNode;
- if (operand->getValueType() == Value::InstructionVal
- && operand->use_size() == 1
- && ((Instruction*)operand)->getParent() == instr->getParent())
+ if (operand->isInstruction() && operand->use_size() == 1 &&
+ ((Instruction*)operand)->getParent() == instr->getParent())
{
// Recursively create a treeNode for it.
opTreeNode =this->buildTreeForInstruction((Instruction*)operand);
}
- else if (operand->getValueType() == Value::ConstantVal)
+ else if (ConstPoolVal *CPV = operand->castConstant())
{
// Create a leaf node for a constant
- opTreeNode = new ConstantNode((ConstPoolVal*) operand);
+ opTreeNode = new ConstantNode(CPV);
}
else
{