- // ConstantArray accessors
- Constant* getConstantArray(const ArrayType* T,
- const std::vector<Constant*>& V) const;
- Constant* getConstantArray(const ArrayType* T, Constant* const* Vals,
- unsigned NumVals) const;
- Constant* getConstantArray(const std::string& Initializer,
- bool AddNull = false) const;
-
- // ConstantExpr accessors
- Constant* getConstantExpr(unsigned Opcode, Constant* C1, Constant* C2) const;
- Constant* getConstantExprTrunc(Constant* C, const Type* Ty) const;
- Constant* getConstantExprSExt(Constant* C, const Type* Ty) const;
- Constant* getConstantExprZExt(Constant* C, const Type* Ty) const;
- Constant* getConstantExprFPTrunc(Constant* C, const Type* Ty) const;
- Constant* getConstantExprFPExtend(Constant* C, const Type* Ty) const;
- Constant* getConstantExprUIToFP(Constant* C, const Type* Ty) const;
- Constant* getConstantExprSIToFP(Constant* C, const Type* Ty) const;
- Constant* getConstantExprFPToUI(Constant* C, const Type* Ty) const;
- Constant* getConstantExprFPToSI(Constant* C, const Type* Ty) const;
- Constant* getConstantExprPtrToInt(Constant* C, const Type* Ty) const;
- Constant* getConstantExprIntToPtr(Constant* C, const Type* Ty) const;
- Constant* getConstantExprBitCast(Constant* C, const Type* Ty) const;
- Constant* getConstantExprCast(unsigned ops, Constant* C,
- const Type* Ty) const;
- Constant* getConstantExprZExtOrBitCast(Constant* C, const Type* Ty) const;
- Constant* getConstantExprSExtOrBitCast(Constant* C, const Type* Ty) const;
- Constant* getConstantExprTruncOrBitCast(Constant* C, const Type* Ty) const;
- Constant* getConstantExprPointerCast(Constant* C, const Type* Ty) const;
- Constant* getConstantExprIntegerCast(Constant* C, const Type* Ty,
- bool isSigned) const;
- Constant* getConstantExprFPCast(Constant* C, const Type* Ty) const;
- Constant* getConstantExprSelect(Constant* C, Constant* V1,
- Constant* V2) const;
- Constant* getConstantExprAlignOf(const Type* Ty) const;
- Constant* getConstantExprCompare(unsigned short pred,
- Constant* C1, Constant* C2) const;
- Constant* getConstantExprNeg(Constant* C) const;
- Constant* getConstantExprFNeg(Constant* C) const;
- Constant* getConstantExprNot(Constant* C) const;
- Constant* getConstantExprAdd(Constant* C1, Constant* C2) const;
- Constant* getConstantExprFAdd(Constant* C1, Constant* C2) const;
- Constant* getConstantExprSub(Constant* C1, Constant* C2) const;
- Constant* getConstantExprFSub(Constant* C1, Constant* C2) const;
- Constant* getConstantExprMul(Constant* C1, Constant* C2) const;
- Constant* getConstantExprFMul(Constant* C1, Constant* C2) const;
- Constant* getConstantExprUDiv(Constant* C1, Constant* C2) const;
- Constant* getConstantExprSDiv(Constant* C1, Constant* C2) const;
- Constant* getConstantExprFDiv(Constant* C1, Constant* C2) const;
- Constant* getConstantExprURem(Constant* C1, Constant* C2) const;
- Constant* getConstantExprSRem(Constant* C1, Constant* C2) const;
- Constant* getConstantExprFRem(Constant* C1, Constant* C2) const;
- Constant* getConstantExprAnd(Constant* C1, Constant* C2) const;
- Constant* getConstantExprOr(Constant* C1, Constant* C2) const;
- Constant* getConstantExprXor(Constant* C1, Constant* C2) const;
- Constant* getConstantExprICmp(unsigned short pred, Constant* LHS,
- Constant* RHS) const;
- Constant* getConstantExprFCmp(unsigned short pred, Constant* LHS,
- Constant* RHS) const;
- Constant* getConstantExprVICmp(unsigned short pred, Constant* LHS,
- Constant* RHS) const;
- Constant* getConstantExprVFCmp(unsigned short pred, Constant* LHS,
- Constant* RHS) const;
- Constant* getConstantExprShl(Constant* C1, Constant* C2) const;
- Constant* getConstantExprLShr(Constant* C1, Constant* C2) const;
- Constant* getConstantExprAShr(Constant* C1, Constant* C2) const;
- Constant* getConstantExprGetElementPtr(Constant* C, Constant* const* IdxList,
- unsigned NumIdx) const;
- Constant* getConstantExprGetElementPtr(Constant* C, Value* const* IdxList,
- unsigned NumIdx) const;
- Constant* getConstantExprExtractElement(Constant* Vec, Constant* Idx) const;
- Constant* getConstantExprInsertElement(Constant* Vec, Constant* Elt,
- Constant* Idx) const;
- Constant* getConstantExprShuffleVector(Constant* V1, Constant* V2,
- Constant* Mask) const;
- Constant* getConstantExprExtractValue(Constant* Agg, const unsigned* IdxList,
- unsigned NumIdx) const;
- Constant* getConstantExprInsertValue(Constant* Agg, Constant* Val,
- const unsigned* IdxList,
- unsigned NumIdx) const;
- Constant* getZeroValueForNegation(const Type* Ty) const;