diff options
author | Chris Lattner <sabre@nondot.org> | 2003-05-21 19:48:33 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2003-05-21 19:48:33 +0000 |
commit | 5ce03513704c0404959ba9a8a35fbbd3f6546054 (patch) | |
tree | e9610c6273342db62a3c5c1df95474f13130ddfb | |
parent | 28b8ed90c75ce6c271500fa778fef252f267a5ff (diff) | |
download | external_llvm-5ce03513704c0404959ba9a8a35fbbd3f6546054.zip external_llvm-5ce03513704c0404959ba9a8a35fbbd3f6546054.tar.gz external_llvm-5ce03513704c0404959ba9a8a35fbbd3f6546054.tar.bz2 |
New testcase identified by joel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6268 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | test/Analysis/BasicAA/2003-05-21-GEP-Problem.ll | 26 | ||||
-rw-r--r-- | test/Transforms/BasicAA/2003-05-21-GEP-Problem.ll | 26 |
2 files changed, 52 insertions, 0 deletions
diff --git a/test/Analysis/BasicAA/2003-05-21-GEP-Problem.ll b/test/Analysis/BasicAA/2003-05-21-GEP-Problem.ll new file mode 100644 index 0000000..dfe8312 --- /dev/null +++ b/test/Analysis/BasicAA/2003-05-21-GEP-Problem.ll @@ -0,0 +1,26 @@ +; RUN: as < %s | opt -licm -disable-output +target endian = big +target pointersize = 64 + %struct..apr_array_header_t = type { %struct..apr_pool_t*, int, int, int, sbyte* } + %struct..apr_pool_t = type opaque + %struct..apr_table_t = type { %struct..apr_array_header_t, uint, [32 x int], [32 x int] } + +implementation ; Functions: + +void %table_reindex(%struct..apr_table_t* %t.1) { ; No predecessors! + br label %loopentry + +loopentry: ; preds = %0, %no_exit + %tmp.101 = getelementptr %struct..apr_table_t* %t.1, long 0, ubyte 0, ubyte 2 ; <int*> [#uses=1] + %tmp.11 = load int* %tmp.101 ; <int> [#uses=0] + br bool false, label %no_exit, label %UnifiedExitNode + +no_exit: ; preds = %loopentry + %tmp.25 = cast int 0 to long ; <long> [#uses=1] + %tmp.261 = getelementptr %struct..apr_table_t* %t.1, long 0, ubyte 3, long %tmp.25 ; <int*> [#uses=1] + store int 0, int* %tmp.261 + br label %loopentry + +UnifiedExitNode: ; preds = %loopentry + ret void +} diff --git a/test/Transforms/BasicAA/2003-05-21-GEP-Problem.ll b/test/Transforms/BasicAA/2003-05-21-GEP-Problem.ll new file mode 100644 index 0000000..dfe8312 --- /dev/null +++ b/test/Transforms/BasicAA/2003-05-21-GEP-Problem.ll @@ -0,0 +1,26 @@ +; RUN: as < %s | opt -licm -disable-output +target endian = big +target pointersize = 64 + %struct..apr_array_header_t = type { %struct..apr_pool_t*, int, int, int, sbyte* } + %struct..apr_pool_t = type opaque + %struct..apr_table_t = type { %struct..apr_array_header_t, uint, [32 x int], [32 x int] } + +implementation ; Functions: + +void %table_reindex(%struct..apr_table_t* %t.1) { ; No predecessors! + br label %loopentry + +loopentry: ; preds = %0, %no_exit + %tmp.101 = getelementptr %struct..apr_table_t* %t.1, long 0, ubyte 0, ubyte 2 ; <int*> [#uses=1] + %tmp.11 = load int* %tmp.101 ; <int> [#uses=0] + br bool false, label %no_exit, label %UnifiedExitNode + +no_exit: ; preds = %loopentry + %tmp.25 = cast int 0 to long ; <long> [#uses=1] + %tmp.261 = getelementptr %struct..apr_table_t* %t.1, long 0, ubyte 3, long %tmp.25 ; <int*> [#uses=1] + store int 0, int* %tmp.261 + br label %loopentry + +UnifiedExitNode: ; preds = %loopentry + ret void +} |