[llvm-commits] CVS: llvm/include/llvm/Instructions.h

Chris Lattner lattner at cs.uiuc.edu
Wed Feb 23 21:32:13 PST 2005



Changes in directory llvm/include/llvm:

Instructions.h updated: 1.13 -> 1.14
---
Log message:

switch instructions only allow constantints for their values, be more specific.


---
Diffs of the changes:  (+8 -7)

 Instructions.h |   15 ++++++++-------
 1 files changed, 8 insertions(+), 7 deletions(-)


Index: llvm/include/llvm/Instructions.h
diff -u llvm/include/llvm/Instructions.h:1.13 llvm/include/llvm/Instructions.h:1.14
--- llvm/include/llvm/Instructions.h:1.13	Fri Feb  4 19:44:18 2005
+++ llvm/include/llvm/Instructions.h	Wed Feb 23 23:31:57 2005
@@ -22,6 +22,7 @@
 namespace llvm {
 
 class BasicBlock;
+class ConstantInt;
 class PointerType;
 
 //===----------------------------------------------------------------------===//
@@ -1084,14 +1085,14 @@
 
   /// getCaseValue - Return the specified case value.  Note that case #0, the
   /// default destination, does not have a case value.
-  Constant *getCaseValue(unsigned i) {
+  ConstantInt *getCaseValue(unsigned i) {
     assert(i && i < getNumCases() && "Illegal case value to get!");
     return getSuccessorValue(i);
   }
 
   /// getCaseValue - Return the specified case value.  Note that case #0, the
   /// default destination, does not have a case value.
-  const Constant *getCaseValue(unsigned i) const {
+  const ConstantInt *getCaseValue(unsigned i) const {
     assert(i && i < getNumCases() && "Illegal case value to get!");
     return getSuccessorValue(i);
   }
@@ -1099,7 +1100,7 @@
   /// findCaseValue - Search all of the case values for the specified constant.
   /// If it is explicitly handled, return the case number of it, otherwise
   /// return 0 to indicate that it is handled by the default handler.
-  unsigned findCaseValue(const Constant *C) const {
+  unsigned findCaseValue(const ConstantInt *C) const {
     for (unsigned i = 1, e = getNumCases(); i != e; ++i)
       if (getCaseValue(i) == C)
         return i;
@@ -1108,7 +1109,7 @@
 
   /// addCase - Add an entry to the switch instruction...
   ///
-  void addCase(Constant *OnVal, BasicBlock *Dest);
+  void addCase(ConstantInt *OnVal, BasicBlock *Dest);
 
   /// removeCase - This method removes the specified successor from the switch
   /// instruction.  Note that this cannot be used to remove the default
@@ -1130,15 +1131,15 @@
 
   // getSuccessorValue - Return the value associated with the specified
   // successor.
-  inline Constant *getSuccessorValue(unsigned idx) const {
+  inline ConstantInt *getSuccessorValue(unsigned idx) const {
     assert(idx < getNumSuccessors() && "Successor # out of range!");
-    return cast<Constant>(getOperand(idx*2));
+    return (ConstantInt*)getOperand(idx*2);
   }
 
   // Methods for support type inquiry through isa, cast, and dyn_cast:
   static inline bool classof(const SwitchInst *) { return true; }
   static inline bool classof(const Instruction *I) {
-    return (I->getOpcode() == Instruction::Switch);
+    return I->getOpcode() == Instruction::Switch;
   }
   static inline bool classof(const Value *V) {
     return isa<Instruction>(V) && classof(cast<Instruction>(V));






More information about the llvm-commits mailing list