diff options
| author | Jay Foad <jay.foad@gmail.com> | 2011-07-21 14:31:17 +0000 |
|---|---|---|
| committer | Jay Foad <jay.foad@gmail.com> | 2011-07-21 14:31:17 +0000 |
| commit | ed8db7d9df395497d54ea9cecf1cecdad674cd7e (patch) | |
| tree | 4da14cc7a50cc83e03bd6353a059c10b5a719eee /llvm/include | |
| parent | 95f1ebd41b103eba1cb64305e9cc924527a8744f (diff) | |
| download | bcm5719-llvm-ed8db7d9df395497d54ea9cecf1cecdad674cd7e.tar.gz bcm5719-llvm-ed8db7d9df395497d54ea9cecf1cecdad674cd7e.zip | |
Convert ConstantExpr::getGetElementPtr and
ConstantExpr::getInBoundsGetElementPtr to use ArrayRef.
llvm-svn: 135673
Diffstat (limited to 'llvm/include')
| -rw-r--r-- | llvm/include/llvm/Constants.h | 33 | ||||
| -rw-r--r-- | llvm/include/llvm/Support/ConstantFolder.h | 14 | ||||
| -rw-r--r-- | llvm/include/llvm/Support/NoFolder.h | 5 | ||||
| -rw-r--r-- | llvm/include/llvm/Support/TargetFolder.h | 16 |
4 files changed, 38 insertions, 30 deletions
diff --git a/llvm/include/llvm/Constants.h b/llvm/include/llvm/Constants.h index 1302a015345..20ed1344dbf 100644 --- a/llvm/include/llvm/Constants.h +++ b/llvm/include/llvm/Constants.h @@ -788,25 +788,40 @@ public: /// all elements must be Constant's. /// static Constant *getGetElementPtr(Constant *C, - Constant *const *IdxList, unsigned NumIdx, + ArrayRef<Constant *> IdxList, bool InBounds = false) { - return getGetElementPtr(C, (Value**)IdxList, NumIdx, InBounds); + return getGetElementPtr(C, makeArrayRef((Value * const *)IdxList.data(), + IdxList.size()), + InBounds); } static Constant *getGetElementPtr(Constant *C, - Value *const *IdxList, unsigned NumIdx, + Constant *Idx, + bool InBounds = false) { + // This form of the function only exists to avoid ambiguous overload + // warnings about whether to convert Idx to ArrayRef<Constant *> or + // ArrayRef<Value *>. + return getGetElementPtr(C, cast<Value>(Idx), InBounds); + } + static Constant *getGetElementPtr(Constant *C, + ArrayRef<Value *> IdxList, bool InBounds = false); /// Create an "inbounds" getelementptr. See the documentation for the /// "inbounds" flag in LangRef.html for details. static Constant *getInBoundsGetElementPtr(Constant *C, - Constant *const *IdxList, - unsigned NumIdx) { - return getGetElementPtr(C, IdxList, NumIdx, true); + ArrayRef<Constant *> IdxList) { + return getGetElementPtr(C, IdxList, true); + } + static Constant *getInBoundsGetElementPtr(Constant *C, + Constant *Idx) { + // This form of the function only exists to avoid ambiguous overload + // warnings about whether to convert Idx to ArrayRef<Constant *> or + // ArrayRef<Value *>. + return getGetElementPtr(C, Idx, true); } static Constant *getInBoundsGetElementPtr(Constant *C, - Value* const *IdxList, - unsigned NumIdx) { - return getGetElementPtr(C, IdxList, NumIdx, true); + ArrayRef<Value *> IdxList) { + return getGetElementPtr(C, IdxList, true); } static Constant *getExtractElement(Constant *Vec, Constant *Idx); diff --git a/llvm/include/llvm/Support/ConstantFolder.h b/llvm/include/llvm/Support/ConstantFolder.h index 771784b4f9c..93aa3436d27 100644 --- a/llvm/include/llvm/Support/ConstantFolder.h +++ b/llvm/include/llvm/Support/ConstantFolder.h @@ -120,34 +120,32 @@ public: Constant *CreateGetElementPtr(Constant *C, ArrayRef<Constant *> IdxList) const { - return ConstantExpr::getGetElementPtr(C, IdxList.data(), IdxList.size()); + return ConstantExpr::getGetElementPtr(C, IdxList); } Constant *CreateGetElementPtr(Constant *C, Constant *Idx) const { // This form of the function only exists to avoid ambiguous overload // warnings about whether to convert Idx to ArrayRef<Constant *> or // ArrayRef<Value *>. - return ConstantExpr::getGetElementPtr(C, &Idx, 1); + return ConstantExpr::getGetElementPtr(C, Idx); } Constant *CreateGetElementPtr(Constant *C, ArrayRef<Value *> IdxList) const { - return ConstantExpr::getGetElementPtr(C, IdxList.data(), IdxList.size()); + return ConstantExpr::getGetElementPtr(C, IdxList); } Constant *CreateInBoundsGetElementPtr(Constant *C, ArrayRef<Constant *> IdxList) const { - return ConstantExpr::getInBoundsGetElementPtr(C, IdxList.data(), - IdxList.size()); + return ConstantExpr::getInBoundsGetElementPtr(C, IdxList); } Constant *CreateInBoundsGetElementPtr(Constant *C, Constant *Idx) const { // This form of the function only exists to avoid ambiguous overload // warnings about whether to convert Idx to ArrayRef<Constant *> or // ArrayRef<Value *>. - return ConstantExpr::getInBoundsGetElementPtr(C, &Idx, 1); + return ConstantExpr::getInBoundsGetElementPtr(C, Idx); } Constant *CreateInBoundsGetElementPtr(Constant *C, ArrayRef<Value *> IdxList) const { - return ConstantExpr::getInBoundsGetElementPtr(C, IdxList.data(), - IdxList.size()); + return ConstantExpr::getInBoundsGetElementPtr(C, IdxList); } //===--------------------------------------------------------------------===// diff --git a/llvm/include/llvm/Support/NoFolder.h b/llvm/include/llvm/Support/NoFolder.h index 7f14cd2bcd1..88e55a3d9bb 100644 --- a/llvm/include/llvm/Support/NoFolder.h +++ b/llvm/include/llvm/Support/NoFolder.h @@ -179,7 +179,7 @@ public: Constant *CreateGetElementPtr(Constant *C, ArrayRef<Constant *> IdxList) const { - return ConstantExpr::getGetElementPtr(C, IdxList.data(), IdxList.size()); + return ConstantExpr::getGetElementPtr(C, IdxList); } Instruction *CreateGetElementPtr(Constant *C, ArrayRef<Value *> IdxList) const { @@ -188,8 +188,7 @@ public: Constant *CreateInBoundsGetElementPtr(Constant *C, ArrayRef<Constant *> IdxList) const { - return ConstantExpr::getInBoundsGetElementPtr(C, IdxList.data(), - IdxList.size()); + return ConstantExpr::getInBoundsGetElementPtr(C, IdxList); } Instruction *CreateInBoundsGetElementPtr(Constant *C, ArrayRef<Value *> IdxList) const { diff --git a/llvm/include/llvm/Support/TargetFolder.h b/llvm/include/llvm/Support/TargetFolder.h index e6b501c88e6..c65faa66219 100644 --- a/llvm/include/llvm/Support/TargetFolder.h +++ b/llvm/include/llvm/Support/TargetFolder.h @@ -132,36 +132,32 @@ public: Constant *CreateGetElementPtr(Constant *C, ArrayRef<Constant *> IdxList) const { - return Fold(ConstantExpr::getGetElementPtr(C, IdxList.data(), - IdxList.size())); + return Fold(ConstantExpr::getGetElementPtr(C, IdxList)); } Constant *CreateGetElementPtr(Constant *C, Constant *Idx) const { // This form of the function only exists to avoid ambiguous overload // warnings about whether to convert Idx to ArrayRef<Constant *> or // ArrayRef<Value *>. - return Fold(ConstantExpr::getGetElementPtr(C, &Idx, 1)); + return Fold(ConstantExpr::getGetElementPtr(C, Idx)); } Constant *CreateGetElementPtr(Constant *C, ArrayRef<Value *> IdxList) const { - return Fold(ConstantExpr::getGetElementPtr(C, IdxList.data(), - IdxList.size())); + return Fold(ConstantExpr::getGetElementPtr(C, IdxList)); } Constant *CreateInBoundsGetElementPtr(Constant *C, ArrayRef<Constant *> IdxList) const { - return Fold(ConstantExpr::getInBoundsGetElementPtr(C, IdxList.data(), - IdxList.size())); + return Fold(ConstantExpr::getInBoundsGetElementPtr(C, IdxList)); } Constant *CreateInBoundsGetElementPtr(Constant *C, Constant *Idx) const { // This form of the function only exists to avoid ambiguous overload // warnings about whether to convert Idx to ArrayRef<Constant *> or // ArrayRef<Value *>. - return Fold(ConstantExpr::getInBoundsGetElementPtr(C, &Idx, 1)); + return Fold(ConstantExpr::getInBoundsGetElementPtr(C, Idx)); } Constant *CreateInBoundsGetElementPtr(Constant *C, ArrayRef<Value *> IdxList) const { - return Fold(ConstantExpr::getInBoundsGetElementPtr(C, IdxList.data(), - IdxList.size())); + return Fold(ConstantExpr::getInBoundsGetElementPtr(C, IdxList)); } //===--------------------------------------------------------------------===// |

