llvm-6502/lib
Hans Wennborg b2fd944378 SimplifyCFG: don't remove unreachable default switch destinations
An unreachable default destination can be exploited by other optimizations, and
SDag lowering is now prepared to handle them efficiently.

For example, branches to the unreachable destination will be optimized away,
such as in the case of range checks for switch lookup tables.

On 64-bit Linux, this reduces the size of a clang bootstrap by 80 kB (and
Chromium by 30 kB).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@223050 91177308-0d34-0410-b5e6-96231b3b80d8
2014-12-01 17:08:35 +00:00
..
Analysis Relax an assert a bit to avoid a crash on unreachable code. 2014-12-01 02:55:24 +00:00
AsmParser
Bitcode Add and use Type::subtypes. NFC. 2014-11-24 20:44:36 +00:00
CodeGen SelectionDAG switch lowering: Replace unreachable default with most popular case. 2014-12-01 17:08:32 +00:00
DebugInfo Make DWARFAcceleratorTable::dump() const. 2014-11-20 16:21:11 +00:00
ExecutionEngine Add LLVMObject to LLVMExecutionEngine. 2014-11-27 06:36:22 +00:00
IR Revert "Masked Vector Load and Store Intrinsics." 2014-11-28 21:29:14 +00:00
IRReader
LineEditor
Linker Partial revert of r222986. 2014-12-01 16:32:20 +00:00
LTO
MC Commit back the correct bits of r222760 (was r222538). 2014-11-27 17:13:56 +00:00
Object Object/COFF: Fix off-by-one error for object having lots of relocations 2014-11-26 22:17:25 +00:00
Option
ProfileData
Support [msan] Annotate zlib functions for MemorySanitizer. 2014-11-25 15:24:07 +00:00
TableGen Revert r222957 "Replace std::map<K, V*> with std::map<K, V> to handle ownership and deletion of the values." 2014-11-30 01:20:17 +00:00
Target R600/SI: Various instruction format bit test cleanups 2014-12-01 15:52:46 +00:00
Transforms SimplifyCFG: don't remove unreachable default switch destinations 2014-12-01 17:08:35 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile