For PR950: Provide an isCompare method for detection of ICmp and FCmp constant expres...
authorReid Spencer <rspencer@reidspencer.com>
Mon, 4 Dec 2006 05:19:02 +0000 (05:19 +0000)
committerReid Spencer <rspencer@reidspencer.com>
Mon, 4 Dec 2006 05:19:02 +0000 (05:19 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32167 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Constants.h

index 335913813bcbe9dd4a913e995360fd53feda8bbd..d4744d4d72ee02dbaf81d3a82c108fd704470288 100644 (file)
@@ -498,7 +498,7 @@ protected:
   // These private methods are used by the type resolution code to create
   // ConstantExprs in intermediate forms.
   static Constant *getTy(const Type *Ty, unsigned Opcode,
-                         Constant *C1, Constant *C2);
+                         Constant *C1, Constant *C2, unsigned short pred = 0);
   static Constant *getShiftTy(const Type *Ty,
                               unsigned Opcode, Constant *C1, Constant *C2);
   static Constant *getSelectTy(const Type *Ty,
@@ -554,6 +554,9 @@ public:
   /// @brief Return true if this is a convert constant expression
   bool isCast() const;
 
+  /// @brief Return true if this is a compare constant expression
+  bool isCompare() const;
+
   /// Select constant expr
   ///
   static Constant *getSelect(Constant *C, Constant *V1, Constant *V2) {
@@ -572,7 +575,8 @@ public:
   /// ConstantExpr::get - Return a binary or shift operator constant expression,
   /// folding if possible.
   ///
-  static Constant *get(unsigned Opcode, Constant *C1, Constant *C2);
+  static Constant *get(unsigned Opcode, Constant *C1, Constant *C2, 
+                       unsigned short pred = 0);
 
   /// ConstantExpr::get* - Return some common constants without having to
   /// specify the full Instruction::OPCODE identifier.