diff options
author | Chandler Carruth <chandlerc@gmail.com> | 2012-12-15 09:31:54 +0000 |
---|---|---|
committer | Chandler Carruth <chandlerc@gmail.com> | 2012-12-15 09:31:54 +0000 |
commit | d12de955856204db4cabdd9bcabc82c22d0e85f2 (patch) | |
tree | 68f711d868580accdc894989fdcfa926f1cb04c4 | |
parent | 19820053fe46dbc91c43edb80a693fa6aae09251 (diff) |
Add a corollary test for PR14572. We got this code path correct already.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170271 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | test/Transforms/SROA/basictest.ll | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/test/Transforms/SROA/basictest.ll b/test/Transforms/SROA/basictest.ll index ba93e04a51..7856a7e439 100644 --- a/test/Transforms/SROA/basictest.ll +++ b/test/Transforms/SROA/basictest.ll @@ -1177,10 +1177,10 @@ entry: ret void } -define <3 x i8> @PR14572(i32 %x) { +define <3 x i8> @PR14572.1(i32 %x) { ; Ensure that a split integer store which is wider than the type size of the ; alloca (relying on the alloc size padding) doesn't trigger an assert. -; CHECK: @PR14572 +; CHECK: @PR14572.1 entry: %a = alloca <3 x i8>, align 4 @@ -1192,3 +1192,19 @@ entry: ret <3 x i8> %y ; CHECK: ret <3 x i8> } + +define i32 @PR14572.2(<3 x i8> %x) { +; Ensure that a split integer load which is wider than the type size of the +; alloca (relying on the alloc size padding) doesn't trigger an assert. +; CHECK: @PR14572.2 + +entry: + %a = alloca <3 x i8>, align 4 +; CHECK-NOT: alloca + + store <3 x i8> %x, <3 x i8>* %a, align 1 + %cast = bitcast <3 x i8>* %a to i32* + %y = load i32* %cast, align 4 + ret i32 %y +; CHECK: ret i32 +} |