From: Chris Lattner Date: Wed, 14 Aug 2002 18:18:02 +0000 (+0000) Subject: Remove support for NOT instruction X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=0513e9fe03f6e3c7d0272b8f4f82359e8d1a2e44;p=oota-llvm.git Remove support for NOT instruction git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3323 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Transforms/Scalar/GCSE.cpp b/lib/Transforms/Scalar/GCSE.cpp index 6f86aa85a44..a99a502348e 100644 --- a/lib/Transforms/Scalar/GCSE.cpp +++ b/lib/Transforms/Scalar/GCSE.cpp @@ -48,10 +48,9 @@ namespace { // instruction being checked. They should return true if a common // subexpression was folded. // - bool visitUnaryOperator(Instruction &I); bool visitBinaryOperator(Instruction &I); bool visitGetElementPtrInst(GetElementPtrInst &I); - bool visitCastInst(CastInst &I){return visitUnaryOperator((Instruction&)I);} + bool visitCastInst(CastInst &I); bool visitShiftInst(ShiftInst &I) { return visitBinaryOperator((Instruction&)I); } @@ -254,14 +253,14 @@ void GCSE::CommonSubExpressionFound(Instruction *I, Instruction *Other) { // //===----------------------------------------------------------------------===// -bool GCSE::visitUnaryOperator(Instruction &I) { +bool GCSE::visitCastInst(CastInst &I) { Value *Op = I.getOperand(0); Function *F = I.getParent()->getParent(); for (Value::use_iterator UI = Op->use_begin(), UE = Op->use_end(); UI != UE; ++UI) if (Instruction *Other = dyn_cast(*UI)) - // Check to see if this new binary operator is not I, but same operand... + // Check to see if this new cast is not I, but has the same operand... if (Other != &I && Other->getOpcode() == I.getOpcode() && Other->getOperand(0) == Op && // Is the operand the same? // Is it embeded in the same function? (This could be false if LHS diff --git a/lib/Transforms/Scalar/LICM.cpp b/lib/Transforms/Scalar/LICM.cpp index 1f743efe9bf..8bcb227e74b 100644 --- a/lib/Transforms/Scalar/LICM.cpp +++ b/lib/Transforms/Scalar/LICM.cpp @@ -84,15 +84,13 @@ namespace { // the specified instruction types are hoisted. // friend class InstVisitor; - void visitUnaryOperator(Instruction &I) { - if (isLoopInvariant(I.getOperand(0))) hoist(I); - } void visitBinaryOperator(Instruction &I) { if (isLoopInvariant(I.getOperand(0)) && isLoopInvariant(I.getOperand(1))) hoist(I); } - - void visitCastInst(CastInst &I) { visitUnaryOperator((Instruction&)I); } + void visitCastInst(CastInst &I) { + if (isLoopInvariant(I.getOperand(0))) hoist((Instruction&)I); + } void visitShiftInst(ShiftInst &I) { visitBinaryOperator((Instruction&)I); } void visitGetElementPtrInst(GetElementPtrInst &GEPI) { diff --git a/lib/VMCore/Instruction.cpp b/lib/VMCore/Instruction.cpp index 3bc642b6376..e6ff3d28d2d 100644 --- a/lib/VMCore/Instruction.cpp +++ b/lib/VMCore/Instruction.cpp @@ -30,14 +30,11 @@ void Instruction::setName(const std::string &name, SymbolTable *ST) { const char *Instruction::getOpcodeName(unsigned OpCode) { switch (OpCode) { // Terminators - case Ret: return "ret"; - case Br: return "br"; + case Ret: return "ret"; + case Br: return "br"; case Switch: return "switch"; case Invoke: return "invoke"; - // Standard unary operators... - case Not: return "not"; - // Standard binary operators... case Add: return "add"; case Sub: return "sub";