[llvm-commits] [vector_llvm] CVS: llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp

Robert Bocchino bocchino at cs.uiuc.edu
Tue Oct 18 12:22:22 PDT 2005



Changes in directory llvm/lib/CodeGen/SelectionDAG:

SelectionDAGISel.cpp updated: 1.88 -> 1.88.2.1
---
Log message:

Initial commit of Vector LLVM.


---
Diffs of the changes:  (+24 -11)

 SelectionDAGISel.cpp |   35 ++++++++++++++++++++++++-----------
 1 files changed, 24 insertions(+), 11 deletions(-)


Index: llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
diff -u llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:1.88 llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:1.88.2.1
--- llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:1.88	Mon Oct 10 11:47:10 2005
+++ llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp	Tue Oct 18 14:21:57 2005
@@ -189,7 +189,10 @@
   }
 }
 
-
+static void badInstruction(User &I) {
+  std::cerr << "Instruction " << I << " should not exist at instruction selection time!";
+  abort();
+}
 
 //===----------------------------------------------------------------------===//
 /// SelectionDAGLowering - This is the common target-independent lowering
@@ -389,8 +392,6 @@
   void visitGetElementPtr(User &I);
   void visitCast(User &I);
   void visitSelect(User &I);
-  //
-
   void visitMalloc(MallocInst &I);
   void visitFree(FreeInst &I);
   void visitAlloca(AllocaInst &I);
@@ -407,14 +408,26 @@
 
   void visitMemIntrinsic(CallInst &I, unsigned Op);
 
-  void visitUserOp1(Instruction &I) {
-    assert(0 && "UserOp1 should not exist at instruction selection time!");
-    abort();
-  }
-  void visitUserOp2(Instruction &I) {
-    assert(0 && "UserOp2 should not exist at instruction selection time!");
-    abort();
-  }
+  // Instructions that should not exist at lowering time
+  //
+  void visitUserOp1(Instruction &I) { badInstruction(I); }
+  void visitUserOp2(Instruction &I) { badInstruction(I); }
+  void visitVGather(Instruction &I) { badInstruction(I); }
+  void visitVImm(Instruction &I) { badInstruction(I); }
+  void visitVScatter(Instruction &I) { badInstruction(I); }
+  void visitExtract(Instruction & I) { badInstruction(I); }
+  void visitExtractElement(Instruction &I) { badInstruction(I); }
+  void visitCombine(Instruction & I) { badInstruction(I); }
+  void visitCombineElement(Instruction & I) { badInstruction(I); }
+  void visitVSetCC(Instruction &I) { badInstruction(I); }
+  void visitVSetEQ(Instruction &I) { badInstruction(I); }
+  void visitVSetNE(Instruction &I) { badInstruction(I); }
+  void visitVSetLE(Instruction &I) { badInstruction(I); }
+  void visitVSetGE(Instruction &I) { badInstruction(I); }
+  void visitVSetLT(Instruction &I) { badInstruction(I); }
+  void visitVSetGT(Instruction &I) { badInstruction(I); }
+  void visitVSelect(Instruction &I) { badInstruction(I); }
+
 };
 } // end namespace llvm
 






More information about the llvm-commits mailing list