diff options
| author | Chris Lattner <sabre@nondot.org> | 2009-04-29 03:45:07 +0000 |
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2009-04-29 03:45:07 +0000 |
| commit | 7d10386113407f7dc88fcfe9e5a01135ebb997ec (patch) | |
| tree | 5dcffba191c275750acffb8818647ecdeb2f66e2 /llvm/test/CodeGen/Generic | |
| parent | 892a5f78eb28abaf4c03cdefd406b69ca03a300f (diff) | |
| download | bcm5719-llvm-7d10386113407f7dc88fcfe9e5a01135ebb997ec.tar.gz bcm5719-llvm-7d10386113407f7dc88fcfe9e5a01135ebb997ec.zip | |
Disable the load-shrinking optimization from looking at
anything larger than 64-bits, avoiding a crash. This should
really be fixed to use APInts, though type legalization happens
to help us out and we get good code on the attached testcase at
least.
This fixes rdar://6836460
llvm-svn: 70360
Diffstat (limited to 'llvm/test/CodeGen/Generic')
| -rw-r--r-- | llvm/test/CodeGen/Generic/2009-04-28-i128-cmp-crash.ll | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/Generic/2009-04-28-i128-cmp-crash.ll b/llvm/test/CodeGen/Generic/2009-04-28-i128-cmp-crash.ll new file mode 100644 index 00000000000..405a6a8d6e9 --- /dev/null +++ b/llvm/test/CodeGen/Generic/2009-04-28-i128-cmp-crash.ll @@ -0,0 +1,16 @@ +; RUN: llvm-as < %s | llc +; rdar://6836460 + +define i32 @test(i128* %P) nounwind { +entry: + %tmp48 = load i128* %P + %and49 = and i128 %tmp48, 18446744073709551616 ; <i128> [#uses=1] + %tobool = icmp ne i128 %and49, 0 ; <i1> [#uses=1] + br i1 %tobool, label %if.then50, label %if.end61 + +if.then50: ; preds = %if.then20 + ret i32 1241 + +if.end61: ; preds = %if.then50, %if.then20, %entry + ret i32 123 +} |

