llvm-project/llvm/lib
Ayonam Ray 6025fa8e30 [CodeGen] Omit range checks from jump tables when lowering switches with unreachable default
During the lowering of a switch that would result in the generation of a
jump table, a range check is performed before indexing into the jump
table, for the switch value being outside the jump table range and a
conditional branch is inserted to jump to the default block. In case the
default block is unreachable, this conditional jump can be omitted. This
patch implements omitting this conditional branch for unreachable
defaults.

Differential Revision: https://reviews.llvm.org/D52002
Reviewers: Hans Wennborg, Eli Freidman, Roman Lebedev

llvm-svn: 355483
2019-03-06 07:27:45 +00:00
..
Analysis [SCEV] Ensure that isHighCostExpansion takes into account what is being divided 2019-03-05 12:12:18 +00:00
AsmParser Implementation of asm-goto support in LLVM 2019-02-08 20:48:56 +00:00
BinaryFormat [WebAssembly] clang-tidy (NFC) 2019-02-04 19:13:39 +00:00
Bitcode Implementation of asm-goto support in LLVM 2019-02-08 20:48:56 +00:00
CodeGen [CodeGen] Omit range checks from jump tables when lowering switches with unreachable default 2019-03-06 07:27:45 +00:00
DebugInfo [DWARFFormValue] Don't consider DW_FORM_data4/8 to be section offsets. 2019-03-05 23:47:22 +00:00
Demangle Add missing include (cstdlib) to Demangle.h 2019-01-22 19:18:18 +00:00
ExecutionEngine Attempt to fix buildbot after r354972 [#1]. NFCI. 2019-02-27 18:36:46 +00:00
FuzzMutate [opaque pointer types] Pass value type to LoadInst creation. 2019-02-01 20:44:24 +00:00
Fuzzer
IR Remove large amount of empty lines mid-file. NFC 2019-03-03 13:21:38 +00:00
IRReader [IRReader] Expose getLazyIRModule 2019-02-11 22:01:13 +00:00
LTO [PGO] Context sensitive PGO (part 3) 2019-03-04 20:21:27 +00:00
LineEditor Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Linker Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
MC [Subtarget] Merge ProcSched and ProcDesc arrays in MCSubtargetInfo into a single array. 2019-03-05 18:54:38 +00:00
MCA [MCA] Highlight kernel bottlenecks in the summary view. 2019-03-04 11:52:34 +00:00
Object [llvm-objdump] Should print unknown d_tag in hex format 2019-03-02 04:20:28 +00:00
ObjectYAML [yaml2obj] - Allow setting custom sh_info for RawContentSection sections. 2019-03-01 10:18:16 +00:00
Option Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Passes [PGO] Context sensitive PGO (part 3) 2019-03-04 20:21:27 +00:00
ProfileData [ProfileData] Sort FuncData before iteration to remove non-determinism 2019-03-02 00:47:43 +00:00
Remarks [Remarks][NFC] Rename RemarkParser to YAMLRemarkParser 2019-03-05 20:50:35 +00:00
Support [llvm] [Support] Revert "Reimplement getMainExecutable() using sysctl on NetBSD" 2019-03-04 04:53:50 +00:00
TableGen TableGen: Allow lists to be concatenated through '#' 2019-03-05 17:16:07 +00:00
Target [X86] Remove periods from the end of SubtargetFeature descriptions since the help printer adds a period. 2019-03-06 02:36:48 +00:00
Testing Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
TextAPI Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
ToolDrivers [llvm-ar][libObject] Fix relative paths when nesting thin archives. 2019-02-13 23:39:41 +00:00
Transforms [msan] Instrument x86 BMI intrinsics. 2019-03-04 22:58:20 +00:00
WindowsManifest Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
XRay Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
CMakeLists.txt [OptRemarks] Make OptRemarks more generic: rename OptRemarks to Remarks 2019-03-05 20:45:17 +00:00
LLVMBuild.txt [OptRemarks] Make OptRemarks more generic: rename OptRemarks to Remarks 2019-03-05 20:45:17 +00:00