diff options
author | Chris Lattner <sabre@nondot.org> | 2011-04-22 21:59:37 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2011-04-22 21:59:37 +0000 |
commit | b686af053e6544191420978f6a3adc7e74ab0192 (patch) | |
tree | 7c76d9e2e5856a04e8f4002e6ec0613eae766c05 /test/CodeGen/X86/fast-isel.ll | |
parent | 597fa65373b824c840212cf238a73ae13dc35494 (diff) | |
download | external_llvm-b686af053e6544191420978f6a3adc7e74ab0192.zip external_llvm-b686af053e6544191420978f6a3adc7e74ab0192.tar.gz external_llvm-b686af053e6544191420978f6a3adc7e74ab0192.tar.bz2 |
Recommit the fix for rdar://9289512 with a couple tweaks to
fix bugs exposed by the gcc dejagnu testsuite:
1. The load may actually be used by a dead instruction, which
would cause an assert.
2. The load may not be used by the current chain of instructions,
and we could move it past a side-effecting instruction. Change
how we process uses to define the problem away.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130018 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/X86/fast-isel.ll')
-rw-r--r-- | test/CodeGen/X86/fast-isel.ll | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/test/CodeGen/X86/fast-isel.ll b/test/CodeGen/X86/fast-isel.ll index 177c06b..a978aa7 100644 --- a/test/CodeGen/X86/fast-isel.ll +++ b/test/CodeGen/X86/fast-isel.ll @@ -92,3 +92,13 @@ define void @load_store_i1(i1* %p, i1* %q) nounwind { store i1 %t, i1* %q ret void } + + +@crash_test1x = external global <2 x i32>, align 8 + +define void @crash_test1() nounwind ssp { + %tmp = load <2 x i32>* @crash_test1x, align 8 + %neg = xor <2 x i32> %tmp, <i32 -1, i32 -1> + ret void +} + |