From 0bd654a049490a56b6c39f56acf7c8e634085c23 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Sun, 8 Jul 2001 21:18:49 +0000 Subject: [PATCH] Implement checking for new instructions git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Transforms/Scalar/SCCP.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/Transforms/Scalar/SCCP.cpp b/lib/Transforms/Scalar/SCCP.cpp index 43eb26fd30f..79d90e65326 100644 --- a/lib/Transforms/Scalar/SCCP.cpp +++ b/lib/Transforms/Scalar/SCCP.cpp @@ -25,7 +25,7 @@ #include "llvm/iOther.h" #include "llvm/iTerminators.h" #include "llvm/Tools/STLExtras.h" -//#include "llvm/Assembly/Writer.h" +#include "llvm/Assembly/Writer.h" #include #include #include @@ -430,7 +430,7 @@ void SCCP::UpdateInstruction(Instruction *I) { //===-------------------------------------------------------------------===// // Handle Unary instructions... // - if (I->isUnaryOp()) { + if (I->isUnaryOp() || I->getOpcode() == Instruction::Cast) { Value *V = I->getOperand(0); InstVal &VState = getValueState(V); if (VState.isOverdefined()) { // Inherit overdefinedness of operand @@ -456,7 +456,8 @@ void SCCP::UpdateInstruction(Instruction *I) { //===-----------------------------------------------------------------===// // Handle Binary instructions... // - if (I->isBinaryOp()) { + if (I->isBinaryOp() || I->getOpcode() == Instruction::Shl || + I->getOpcode() == Instruction::Shr) { Value *V1 = I->getOperand(0); Value *V2 = I->getOperand(1);