diff options
author | Michael J. Spencer <bigcheesegs@gmail.com> | 2010-08-24 21:04:52 +0000 |
---|---|---|
committer | Michael J. Spencer <bigcheesegs@gmail.com> | 2010-08-24 21:04:52 +0000 |
commit | 82c84fdd23669d23c02a07498c83b83702979829 (patch) | |
tree | 245805e02b15f9a5b662ec25729dbf557698f373 /test/MC/COFF/switch-relocations.ll | |
parent | 3e242f86ebe6105ceb855d6640d2c49ca7c7ded2 (diff) | |
download | llvm-82c84fdd23669d23c02a07498c83b83702979829.tar.gz llvm-82c84fdd23669d23c02a07498c83b83702979829.tar.bz2 llvm-82c84fdd23669d23c02a07498c83b83702979829.tar.xz |
Fix COFF x86-64 relocations. PR7960.
Multiple symbol reloc handling part of the patch by Cameron Esfahani.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111963 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/MC/COFF/switch-relocations.ll')
-rw-r--r-- | test/MC/COFF/switch-relocations.ll | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/test/MC/COFF/switch-relocations.ll b/test/MC/COFF/switch-relocations.ll new file mode 100644 index 0000000000..300c10732e --- /dev/null +++ b/test/MC/COFF/switch-relocations.ll @@ -0,0 +1,34 @@ +; The purpose of this test is to see if the COFF object writer can properly +; relax the fixups that are created for jump tables on x86-64. See PR7960. + +; This test case was reduced from Lua/lapi.c. + +; RUN: llc -filetype=obj -mtriple i686-pc-win32 %s -o %t +; RUN: llc -filetype=obj -mtriple x86_64-pc-win32 %s -o %t + +define void @lua_gc(i32 %what) nounwind { +entry: + switch i32 %what, label %sw.epilog [ + i32 0, label %sw.bb + i32 1, label %sw.bb + i32 2, label %sw.bb + i32 3, label %sw.bb14 + i32 4, label %sw.bb18 + i32 6, label %sw.bb57 + ] + +sw.bb: ; preds = %entry, %entry, %entry + ret void + +sw.bb14: ; preds = %entry + ret void + +sw.bb18: ; preds = %entry + ret void + +sw.bb57: ; preds = %entry + ret void + +sw.epilog: ; preds = %entry + ret void +} |