Make sure that we always grow a multiple of 2 operands.
[oota-llvm.git] / lib / VMCore / ConstantFold.h
index 7aa1683bd7184c3af40a55390f8847f0321c5384..84e358c5dffb3f775092c47cf92b5b5bcf6fa466 100644 (file)
 #include <vector>
 
 namespace llvm {
+  class Value;
   class Constant;
   class Type;
   
   // Constant fold various types of instruction...
   Constant *ConstantFoldCastInstruction(const Constant *V, const Type *DestTy);
+  Constant *ConstantFoldSelectInstruction(const Constant *Cond,
+                                          const Constant *V1,
+                                          const Constant *V2);
   Constant *ConstantFoldBinaryInstruction(unsigned Opcode, const Constant *V1,
                                           const Constant *V2);
   Constant *ConstantFoldGetElementPtr(const Constant *C,
-                                      const std::vector<Constant*> &IdxList);
+                                      const std::vector<Value*> &IdxList);
 } // End llvm namespace
 
 #endif