mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-25 16:24:23 +00:00
Revise APIs for creating constantexpr GEPs to not require the use of
vectors. This allows us to eliminate many temporary vectors, and their associated malloc/free pairs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33691 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -447,7 +447,7 @@ protected:
|
||||
static Constant *getSelectTy(const Type *Ty,
|
||||
Constant *C1, Constant *C2, Constant *C3);
|
||||
static Constant *getGetElementPtrTy(const Type *Ty, Constant *C,
|
||||
const std::vector<Value*> &IdxList);
|
||||
Value* const *Idxs, unsigned NumIdxs);
|
||||
static Constant *getExtractElementTy(const Type *Ty, Constant *Val,
|
||||
Constant *Idx);
|
||||
static Constant *getInsertElementTy(const Type *Ty, Constant *Val,
|
||||
@ -577,10 +577,18 @@ public:
|
||||
/// all elements must be Constant's.
|
||||
///
|
||||
static Constant *getGetElementPtr(Constant *C,
|
||||
const std::vector<Constant*> &IdxList);
|
||||
Constant* const *IdxList, unsigned NumIdx);
|
||||
static Constant *getGetElementPtr(Constant *C,
|
||||
const std::vector<Value*> &IdxList);
|
||||
|
||||
Value* const *IdxList, unsigned NumIdx);
|
||||
static Constant *getGetElementPtr(Constant *C,
|
||||
const std::vector<Constant*> &IdxList) {
|
||||
return getGetElementPtr(C, &IdxList[0], IdxList.size());
|
||||
}
|
||||
static Constant *getGetElementPtr(Constant *C,
|
||||
const std::vector<Value*> &IdxList) {
|
||||
return getGetElementPtr(C, &IdxList[0], IdxList.size());
|
||||
}
|
||||
|
||||
static Constant *getExtractElement(Constant *Vec, Constant *Idx);
|
||||
static Constant *getInsertElement(Constant *Vec, Constant *Elt,Constant *Idx);
|
||||
static Constant *getShuffleVector(Constant *V1, Constant *V2, Constant *Mask);
|
||||
|
Reference in New Issue
Block a user