From f278b67b460ba35116ef524ca79195381b966a8c Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Mon, 19 Aug 2002 19:08:52 +0000 Subject: New testcase llvm-svn: 3385 --- .../2002-08-19-ResolveGlobalVars.ll | 25 ++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 llvm/test/Regression/Transforms/FunctionResolve/2002-08-19-ResolveGlobalVars.ll (limited to 'llvm/test/Regression/Transforms') diff --git a/llvm/test/Regression/Transforms/FunctionResolve/2002-08-19-ResolveGlobalVars.ll b/llvm/test/Regression/Transforms/FunctionResolve/2002-08-19-ResolveGlobalVars.ll new file mode 100644 index 00000000000..7dfbf900604 --- /dev/null +++ b/llvm/test/Regression/Transforms/FunctionResolve/2002-08-19-ResolveGlobalVars.ll @@ -0,0 +1,25 @@ +; Test that: extern int X[] and int X[] = { 1, 2, 3, 4 } are resolved correctly. +; +; RUN: if as < %s | opt -gcse -instcombine -constprop -dce | dis | grep getelementptr +; RUN: then exit 1 +; RUN: else exit 0 +; RUN: fi +; + +%X = uninitialized global int ; [#uses=1] +%X = global [4 x int] [ int 1, int 2, int 3, int 4 ] ; <[4 x int]*> [#uses=1] + +implementation ; Functions: + +int %foo(int %x) { +bb1: ;[#uses=0] + %reg107-idxcast = cast int %x to uint ; [#uses=2] + %reg113 = getelementptr int* %X, uint %reg107-idxcast ; [#uses=1] + %reg120 = getelementptr [4 x int]* %X, uint 0, uint %reg107-idxcast ; [#uses=1] + %reg123 = sub int* %reg113, %reg120 ; [#uses=1] + %cast232 = cast int* %reg123 to long ; [#uses=1] + %reg234 = div long %cast232, 4 ; [#uses=1] + %cast108 = cast long %reg234 to int ; [#uses=1] + ret int %cast108 +} + -- cgit v1.2.3