From e014d797b48b33116139441cf5d57f0f85129600 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Mon, 10 Sep 2001 20:10:26 +0000 Subject: [PATCH] Use type checking predicates llvm-svn: 543 --- .../Sparc/SparcInstrSelection.cpp | 26 +++++++++---------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/llvm/lib/CodeGen/TargetMachine/Sparc/SparcInstrSelection.cpp b/llvm/lib/CodeGen/TargetMachine/Sparc/SparcInstrSelection.cpp index 8b5a28063457..492a52f62371 100644 --- a/llvm/lib/CodeGen/TargetMachine/Sparc/SparcInstrSelection.cpp +++ b/llvm/lib/CodeGen/TargetMachine/Sparc/SparcInstrSelection.cpp @@ -468,7 +468,7 @@ CreateAddConstInstruction(const InstructionNode* instrNode) MachineInstr* minstr = NULL; Value* constOp = ((InstrTreeNode*) instrNode->rightChild())->getValue(); - assert(constOp->getValueType() == Value::ConstantVal); + assert(constOp->isConstant()); // Cases worth optimizing are: // (1) Add with 0 for float or double: use an FMOV of appropriate type, @@ -476,13 +476,11 @@ CreateAddConstInstruction(const InstructionNode* instrNode) // const Type* resultType = instrNode->getInstruction()->getType(); - if (resultType == Type::FloatTy || - resultType == Type::DoubleTy) - { - double dval = ((ConstPoolFP*) constOp)->getValue(); - if (dval == 0.0) - minstr = CreateMovFloatInstruction(instrNode, resultType); - } + if (resultType == Type::FloatTy || resultType == Type::DoubleTy) { + double dval = ((ConstPoolFP*) constOp)->getValue(); + if (dval == 0.0) + minstr = CreateMovFloatInstruction(instrNode, resultType); + } return minstr; } @@ -521,7 +519,7 @@ CreateSubConstInstruction(const InstructionNode* instrNode) MachineInstr* minstr = NULL; Value* constOp = ((InstrTreeNode*) instrNode->rightChild())->getValue(); - assert(constOp->getValueType() == Value::ConstantVal); + assert(constOp->isConstant()); // Cases worth optimizing are: // (1) Sub with 0 for float or double: use an FMOV of appropriate type, @@ -628,7 +626,7 @@ CreateMulConstInstruction(const InstructionNode* instrNode, bool needNeg = false; Value* constOp = ((InstrTreeNode*) instrNode->rightChild())->getValue(); - assert(constOp->getValueType() == Value::ConstantVal); + assert(constOp->isConstant()); // Cases worth optimizing are: // (1) Multiply by 0 or 1 for any type: replace with copy (ADD or FMOV) @@ -752,7 +750,7 @@ CreateDivConstInstruction(const InstructionNode* instrNode, getMinstr2 = NULL; Value* constOp = ((InstrTreeNode*) instrNode->rightChild())->getValue(); - assert(constOp->getValueType() == Value::ConstantVal); + assert(constOp->isConstant()); // Cases worth optimizing are: // (1) Divide by 1 for any type: replace with copy (ADD or FMOV) @@ -1099,7 +1097,7 @@ FixConstantOperands(const InstructionNode* vmInstrNode, Value* opValue = mop.getVRegValue(); - if (opValue->getValueType() == Value::ConstantVal) + if (opValue->isConstant()) { unsigned int machineRegNum; int64_t immedValue; @@ -1170,7 +1168,7 @@ MakeLoadConstInstr(Instruction* vmInstr, TmpInstruction*& tmpReg, MachineInstr*& getMinstr2) { - assert(val->getValueType() == Value::ConstantVal); + assert(val->isConstant()); MachineInstr* minstr; @@ -1700,7 +1698,7 @@ GetInstructionsByRule(InstructionNode* subtreeRoot, Value* firstUse = (Value*) * result->use_begin(); bool discardResult = (result->use_size() == 1 - && firstUse->getValueType() == Value::InstructionVal + && firstUse->isInstruction() && ((Instruction*) firstUse)->getOpcode() == Instruction::Br); bool mustClearReg;