From 4b94f49091be8e26ce6e49db1268458995299b82 Mon Sep 17 00:00:00 2001 From: Reid Spencer Date: Mon, 4 Dec 2006 05:19:02 +0000 Subject: [PATCH] For PR950: Provide an isCompare method for detection of ICmp and FCmp constant expressions. Change interfaces to allow for ICmp and FCmp predicate values. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32167 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/Constants.h | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/include/llvm/Constants.h b/include/llvm/Constants.h index 335913813bc..d4744d4d72e 100644 --- a/include/llvm/Constants.h +++ b/include/llvm/Constants.h @@ -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.