Implement checking for new instructions

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2001-07-08 21:18:49 +00:00
parent 8b9f7c0a65
commit 0bd654a049

View File

@ -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 <algorithm>
#include <map>
#include <set>
@ -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);