Remove support for NOT instruction
authorChris Lattner <sabre@nondot.org>
Wed, 14 Aug 2002 18:18:02 +0000 (18:18 +0000)
committerChris Lattner <sabre@nondot.org>
Wed, 14 Aug 2002 18:18:02 +0000 (18:18 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3323 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Transforms/Scalar/GCSE.cpp
lib/Transforms/Scalar/LICM.cpp
lib/VMCore/Instruction.cpp

index 6f86aa85a44974aa39a6d22bd8a5effd80a10c46..a99a502348ef72fdce9dee19f64757e1e6f8630e 100644 (file)
@@ -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<Instruction>(*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
index 1f743efe9bf1c06f4125dd31a7adcf4ca801335b..8bcb227e74b14c542b1e78dcb966fda4b638ad38 100644 (file)
@@ -84,15 +84,13 @@ namespace {
     // the specified instruction types are hoisted.
     //
     friend class InstVisitor<LICM>;
-    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) {
index 3bc642b6376d01d32755c5e016a9721355c3f180..e6ff3d28d2d1321bb42bf575493364fb528ed705 100644 (file)
@@ -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";