mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-25 12:12:47 +01:00
[IR] Make some pointer element type accesses explicit (NFC)
Explicitly fetch the pointer element type in various deprecated methods, so we can hopefully remove support from this from the base GEP constructor.
This commit is contained in:
parent
017a58dbae
commit
aec8b8bed1
@ -1786,7 +1786,8 @@ public:
|
|||||||
|
|
||||||
Value *CreateGEP(Value *Ptr, ArrayRef<Value *> IdxList,
|
Value *CreateGEP(Value *Ptr, ArrayRef<Value *> IdxList,
|
||||||
const Twine &Name = "") {
|
const Twine &Name = "") {
|
||||||
return CreateGEP(nullptr, Ptr, IdxList, Name);
|
return CreateGEP(
|
||||||
|
Ptr->getType()->getPointerElementType(), Ptr, IdxList, Name);
|
||||||
}
|
}
|
||||||
|
|
||||||
Value *CreateGEP(Type *Ty, Value *Ptr, ArrayRef<Value *> IdxList,
|
Value *CreateGEP(Type *Ty, Value *Ptr, ArrayRef<Value *> IdxList,
|
||||||
@ -1805,7 +1806,8 @@ public:
|
|||||||
|
|
||||||
Value *CreateInBoundsGEP(Value *Ptr, ArrayRef<Value *> IdxList,
|
Value *CreateInBoundsGEP(Value *Ptr, ArrayRef<Value *> IdxList,
|
||||||
const Twine &Name = "") {
|
const Twine &Name = "") {
|
||||||
return CreateInBoundsGEP(nullptr, Ptr, IdxList, Name);
|
return CreateInBoundsGEP(
|
||||||
|
Ptr->getType()->getPointerElementType(), Ptr, IdxList, Name);
|
||||||
}
|
}
|
||||||
|
|
||||||
Value *CreateInBoundsGEP(Type *Ty, Value *Ptr, ArrayRef<Value *> IdxList,
|
Value *CreateInBoundsGEP(Type *Ty, Value *Ptr, ArrayRef<Value *> IdxList,
|
||||||
@ -1824,7 +1826,7 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
Value *CreateGEP(Value *Ptr, Value *Idx, const Twine &Name = "") {
|
Value *CreateGEP(Value *Ptr, Value *Idx, const Twine &Name = "") {
|
||||||
return CreateGEP(nullptr, Ptr, Idx, Name);
|
return CreateGEP(Ptr->getType()->getPointerElementType(), Ptr, Idx, Name);
|
||||||
}
|
}
|
||||||
|
|
||||||
Value *CreateGEP(Type *Ty, Value *Ptr, Value *Idx, const Twine &Name = "") {
|
Value *CreateGEP(Type *Ty, Value *Ptr, Value *Idx, const Twine &Name = "") {
|
||||||
@ -1843,7 +1845,8 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
Value *CreateConstGEP1_32(Value *Ptr, unsigned Idx0, const Twine &Name = "") {
|
Value *CreateConstGEP1_32(Value *Ptr, unsigned Idx0, const Twine &Name = "") {
|
||||||
return CreateConstGEP1_32(nullptr, Ptr, Idx0, Name);
|
return CreateConstGEP1_32(
|
||||||
|
Ptr->getType()->getPointerElementType(), Ptr, Idx0, Name);
|
||||||
}
|
}
|
||||||
|
|
||||||
Value *CreateConstGEP1_32(Type *Ty, Value *Ptr, unsigned Idx0,
|
Value *CreateConstGEP1_32(Type *Ty, Value *Ptr, unsigned Idx0,
|
||||||
@ -1903,7 +1906,8 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
Value *CreateConstGEP1_64(Value *Ptr, uint64_t Idx0, const Twine &Name = "") {
|
Value *CreateConstGEP1_64(Value *Ptr, uint64_t Idx0, const Twine &Name = "") {
|
||||||
return CreateConstGEP1_64(nullptr, Ptr, Idx0, Name);
|
return CreateConstGEP1_64(
|
||||||
|
Ptr->getType()->getPointerElementType(), Ptr, Idx0, Name);
|
||||||
}
|
}
|
||||||
|
|
||||||
Value *CreateConstInBoundsGEP1_64(Type *Ty, Value *Ptr, uint64_t Idx0,
|
Value *CreateConstInBoundsGEP1_64(Type *Ty, Value *Ptr, uint64_t Idx0,
|
||||||
@ -1918,7 +1922,8 @@ public:
|
|||||||
|
|
||||||
Value *CreateConstInBoundsGEP1_64(Value *Ptr, uint64_t Idx0,
|
Value *CreateConstInBoundsGEP1_64(Value *Ptr, uint64_t Idx0,
|
||||||
const Twine &Name = "") {
|
const Twine &Name = "") {
|
||||||
return CreateConstInBoundsGEP1_64(nullptr, Ptr, Idx0, Name);
|
return CreateConstInBoundsGEP1_64(
|
||||||
|
Ptr->getType()->getPointerElementType(), Ptr, Idx0, Name);
|
||||||
}
|
}
|
||||||
|
|
||||||
Value *CreateConstGEP2_64(Type *Ty, Value *Ptr, uint64_t Idx0, uint64_t Idx1,
|
Value *CreateConstGEP2_64(Type *Ty, Value *Ptr, uint64_t Idx0, uint64_t Idx1,
|
||||||
@ -1936,7 +1941,8 @@ public:
|
|||||||
|
|
||||||
Value *CreateConstGEP2_64(Value *Ptr, uint64_t Idx0, uint64_t Idx1,
|
Value *CreateConstGEP2_64(Value *Ptr, uint64_t Idx0, uint64_t Idx1,
|
||||||
const Twine &Name = "") {
|
const Twine &Name = "") {
|
||||||
return CreateConstGEP2_64(nullptr, Ptr, Idx0, Idx1, Name);
|
return CreateConstGEP2_64(
|
||||||
|
Ptr->getType()->getPointerElementType(), Ptr, Idx0, Idx1, Name);
|
||||||
}
|
}
|
||||||
|
|
||||||
Value *CreateConstInBoundsGEP2_64(Type *Ty, Value *Ptr, uint64_t Idx0,
|
Value *CreateConstInBoundsGEP2_64(Type *Ty, Value *Ptr, uint64_t Idx0,
|
||||||
@ -1954,7 +1960,8 @@ public:
|
|||||||
|
|
||||||
Value *CreateConstInBoundsGEP2_64(Value *Ptr, uint64_t Idx0, uint64_t Idx1,
|
Value *CreateConstInBoundsGEP2_64(Value *Ptr, uint64_t Idx0, uint64_t Idx1,
|
||||||
const Twine &Name = "") {
|
const Twine &Name = "") {
|
||||||
return CreateConstInBoundsGEP2_64(nullptr, Ptr, Idx0, Idx1, Name);
|
return CreateConstInBoundsGEP2_64(
|
||||||
|
Ptr->getType()->getPointerElementType(), Ptr, Idx0, Idx1, Name);
|
||||||
}
|
}
|
||||||
|
|
||||||
Value *CreateStructGEP(Type *Ty, Value *Ptr, unsigned Idx,
|
Value *CreateStructGEP(Type *Ty, Value *Ptr, unsigned Idx,
|
||||||
@ -1963,7 +1970,8 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
Value *CreateStructGEP(Value *Ptr, unsigned Idx, const Twine &Name = "") {
|
Value *CreateStructGEP(Value *Ptr, unsigned Idx, const Twine &Name = "") {
|
||||||
return CreateConstInBoundsGEP2_32(nullptr, Ptr, 0, Idx, Name);
|
return CreateConstInBoundsGEP2_32(
|
||||||
|
Ptr->getType()->getPointerElementType(), Ptr, 0, Idx, Name);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Same as CreateGlobalString, but return a pointer with "i8*" type
|
/// Same as CreateGlobalString, but return a pointer with "i8*" type
|
||||||
|
@ -991,7 +991,8 @@ public:
|
|||||||
Value *Ptr, ArrayRef<Value *> IdxList, const Twine &NameStr = "",
|
Value *Ptr, ArrayRef<Value *> IdxList, const Twine &NameStr = "",
|
||||||
Instruction *InsertBefore = nullptr),
|
Instruction *InsertBefore = nullptr),
|
||||||
"Use the version with explicit element type instead") {
|
"Use the version with explicit element type instead") {
|
||||||
return CreateInBounds(nullptr, Ptr, IdxList, NameStr, InsertBefore);
|
return CreateInBounds(Ptr->getType()->getPointerElementType(), Ptr, IdxList,
|
||||||
|
NameStr, InsertBefore);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Create an "inbounds" getelementptr. See the documentation for the
|
/// Create an "inbounds" getelementptr. See the documentation for the
|
||||||
@ -1010,7 +1011,8 @@ public:
|
|||||||
Value *Ptr, ArrayRef<Value *> IdxList, const Twine &NameStr,
|
Value *Ptr, ArrayRef<Value *> IdxList, const Twine &NameStr,
|
||||||
BasicBlock *InsertAtEnd),
|
BasicBlock *InsertAtEnd),
|
||||||
"Use the version with explicit element type instead") {
|
"Use the version with explicit element type instead") {
|
||||||
return CreateInBounds(nullptr, Ptr, IdxList, NameStr, InsertAtEnd);
|
return CreateInBounds(Ptr->getType()->getPointerElementType(), Ptr, IdxList,
|
||||||
|
NameStr, InsertAtEnd);
|
||||||
}
|
}
|
||||||
|
|
||||||
static GetElementPtrInst *CreateInBounds(Type *PointeeType, Value *Ptr,
|
static GetElementPtrInst *CreateInBounds(Type *PointeeType, Value *Ptr,
|
||||||
|
Loading…
Reference in New Issue
Block a user