summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2004-01-11 23:56:03 +0000
committerChris Lattner <sabre@nondot.org>2004-01-11 23:56:03 +0000
commitc9f75b5700ad6fe542b8b2231d0523ec1c331daa (patch)
tree43a8728d3b8791ebcbd93f9b6829f2a1234fe057 /test
parent92fa44c1cf9a225787238a6ce707dde03525b1a8 (diff)
downloadllvm-c9f75b5700ad6fe542b8b2231d0523ec1c331daa.tar.gz
llvm-c9f75b5700ad6fe542b8b2231d0523ec1c331daa.tar.bz2
llvm-c9f75b5700ad6fe542b8b2231d0523ec1c331daa.tar.xz
This isn't really an assembler test. This tests to make sure the
ConstantExpr::getGetElementPtr method folds two getelementptr instructions when possible. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10758 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r--test/Assembler/2004-01-11-getelementptrfolding.llx11
1 files changed, 11 insertions, 0 deletions
diff --git a/test/Assembler/2004-01-11-getelementptrfolding.llx b/test/Assembler/2004-01-11-getelementptrfolding.llx
new file mode 100644
index 0000000000..6f7f06a9b2
--- /dev/null
+++ b/test/Assembler/2004-01-11-getelementptrfolding.llx
@@ -0,0 +1,11 @@
+; RUN: llvm-as < %s | llvm-dis | not grep 'getelementptr.*getelementptr'
+
+ %struct.TUVVertex = type { short, short, short, short }
+ %struct.TTriangleItem = type { sbyte*, sbyte*, [3 x %struct.TUVVertex] }
+
+%data_triangleItems = internal constant [2908 x %struct.TTriangleItem] zeroinitializer
+
+void %foo() {
+ store short 0, short* getelementptr ([3 x %struct.TUVVertex]* getelementptr ([2908 x %struct.TTriangleItem]* %data_triangleItems, long 0, long 0, ubyte 2), long 0, long 0, ubyte 0)
+ ret void
+}