llvm-project/llvm/test
Manman Ren edc60376ed SimplifyCFG: fix a bug in switch to table conversion
We use gep to access the global array "switch.table", and the table index
should be treated as unsigned. When the highest bit is 1, this commit
zero-extends the index to an integer type with larger size.

For a switch on i2, we used to generate:
%switch.tableidx = sub i2 %0, -2
getelementptr inbounds [4 x i64]* @switch.table, i32 0, i2 %switch.tableidx

It is incorrect when %switch.tableidx is 2 or 3. The fix is to generate
%switch.tableidx = sub i2 %0, -2
%switch.tableidx.zext = zext i2 %switch.tableidx to i3
getelementptr inbounds [4 x i64]* @switch.table, i32 0, i3 %switch.tableidx.zext

rdar://17735071

llvm-svn: 213815
2014-07-23 23:13:23 +00:00
..
Analysis Improve BasicAA CS-CS queries (redux) 2014-07-17 01:28:25 +00:00
Assembler Rename metadata llvm.loop.vectorize.unroll to llvm.loop.vectorize.interleave. 2014-07-21 23:11:03 +00:00
Bindings [OCaml] Don't truncate constants over 32 bits in Llvm.const_int. 2014-07-22 13:55:20 +00:00
Bitcode AsmParser: remove deprecated LLIR support 2014-07-23 18:09:31 +00:00
BugPoint llvm/test/BugPoint/compile-custom.ll: Use explicit %python to invoke a test script, compile-custom.ll.py, for shebang-incapable hosts. 2014-07-11 14:44:10 +00:00
CodeGen Let llvm/test/CodeGen/X86/avx512*-mask-op.ll(s) aware of Win32 x64 calling convention. 2014-07-23 22:38:25 +00:00
DebugInfo Revert "Recommit r212203: Don't try to construct debug LexicalScopes hierarchy for functions that do not have top level debug information." 2014-07-21 20:45:59 +00:00
ExecutionEngine [RuntimeDyld][AArch64] Update relocation tests and also add a simple GOT test. 2014-07-23 22:23:17 +00:00
Feature IR: Allow comdats to be applied to globals with internal linkage 2014-07-13 04:56:11 +00:00
FileCheck Add FileCheck -implicit-check-not option to allow stricter tests without adding too many CHECK-NOTs manually. 2014-07-11 12:39:32 +00:00
Instrumentation [ASan] Don't instrument load/stores with !nosanitize metadata. 2014-07-17 18:48:12 +00:00
Integer
JitListener
LTO Change the default input for llvm-nm to be a.out instead of standard input 2014-06-23 20:27:53 +00:00
Linker IR: Add COMDATs to the IR 2014-06-27 18:19:56 +00:00
MC [SKX] Added missed test files for rev 213757 2014-07-23 18:17:49 +00:00
Object Add printing of Mach-O stabs in llvm-nm. 2014-07-17 22:47:16 +00:00
Other IR: Fold away compares between GV GEPs and GVs 2014-07-04 22:05:26 +00:00
TableGen Revert of r213521. This change introduced a non-hermetic test (depending on a 2014-07-22 02:32:12 +00:00
Transforms SimplifyCFG: fix a bug in switch to table conversion 2014-07-23 23:13:23 +00:00
Unit Let test/Unit/lit.cfg add config.shlibdir to $PATH on DLL platforms like cygming. 2014-07-04 05:11:55 +00:00
Verifier IR: Allow comdats to be applied to globals with internal linkage 2014-07-13 04:56:11 +00:00
YAMLParser
tools llvm-objdump: Handle BSS sections larger than the object file 2014-07-14 16:20:14 +00:00
.clang-format
CMakeLists.txt OK, NAKAMURA Takumi beat me to this change. So backing out my addition of 2014-05-19 23:26:51 +00:00
Makefile lld test for configure & make 2014-06-06 09:06:25 +00:00
Makefile.tests
TestRunner.sh
lit.cfg llvm/test/lit.cfg: Let %python available. 2014-07-11 14:36:39 +00:00
lit.site.cfg.in