aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2004-03-25 22:59:06 +0000
committerChris Lattner <sabre@nondot.org>2004-03-25 22:59:06 +0000
commitf6e59410ee35e14647393473493ffaa53c4f76e0 (patch)
treebf282a7e68c8215aa64f727f7cacbc03e083f529
parent698c4a4bbbf7c311bf9598b26515524cd44b06d0 (diff)
downloadexternal_llvm-f6e59410ee35e14647393473493ffaa53c4f76e0.zip
external_llvm-f6e59410ee35e14647393473493ffaa53c4f76e0.tar.gz
external_llvm-f6e59410ee35e14647393473493ffaa53c4f76e0.tar.bz2
New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12518 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--test/Transforms/InstCombine/getelementptr_const.ll13
1 files changed, 13 insertions, 0 deletions
diff --git a/test/Transforms/InstCombine/getelementptr_const.ll b/test/Transforms/InstCombine/getelementptr_const.ll
new file mode 100644
index 0000000..a4150de
--- /dev/null
+++ b/test/Transforms/InstCombine/getelementptr_const.ll
@@ -0,0 +1,13 @@
+; Test folding of constantexpr geps into normal geps.
+; RUN: llvm-as < %s | opt -instcombine -gcse -instcombine | llvm-dis | not grep getelementptr
+
+%Array = external global [40 x int]
+
+int %test(long %X) {
+ %A = getelementptr int* getelementptr ([40 x int]* %Array, long 0, long 0), long %X
+ %B = getelementptr [40 x int]* %Array, long 0, long %X
+ %a = cast int* %A to int
+ %b = cast int* %B to int
+ %c = sub int %a, %b
+ ret int %c
+}