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
This commit is contained in:
Reid Spencer 2006-12-04 05:19:02 +00:00
parent 3b3844288b
commit 4b94f49091

View 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.