From 2544a1de666ad7197c755b4dab6419f42df01f65 Mon Sep 17 00:00:00 2001 From: Dan Gohman Date: Mon, 1 Feb 2010 16:37:38 +0000 Subject: Add a generalized form of ConstantExpr::getOffsetOf which works for array types as well as struct types, and which accepts arbitrary Constant indicies. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94981 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/Constants.h | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'include/llvm/Constants.h') diff --git a/include/llvm/Constants.h b/include/llvm/Constants.h index 58077f0..4111f36 100644 --- a/include/llvm/Constants.h +++ b/include/llvm/Constants.h @@ -652,10 +652,15 @@ public: /// static Constant *getSizeOf(const Type* Ty); - /// getOffsetOf constant expr - computes the offset of a field in a target - /// independent way (Note: the return type is an i64). + /// getOffsetOf constant expr - computes the offset of a struct field in a + /// target independent way (Note: the return type is an i64). + /// + static Constant *getOffsetOf(const StructType* STy, unsigned FieldNo); + + /// getOffsetOf constant expr - This is a generalized form of getOffsetOf, + /// which supports any aggregate type, and any Constant index. /// - static Constant *getOffsetOf(const StructType* Ty, unsigned FieldNo); + static Constant *getOffsetOf(const Type* Ty, Constant *FieldNo); static Constant *getNeg(Constant *C); static Constant *getFNeg(Constant *C); -- cgit v1.1