llvm-project/llvm/lib
Derek Schuff ffa143ce81 [WebAssembly] Support 'unreachable' expression
Lower LLVM's 'unreachable' terminator to ISD::TRAP, and lower ISD::TRAP to
wasm's 'unreachable' expression.

WebAssembly type-checks expressions, but a noreturn function with a
return type that doesn't match the context will cause a check
failure. So we lower LLVM 'unreachable' to ISD::TRAP and then lower that
to WebAssembly's 'unreachable' expression, which typechecks in any
context and causes a trap if executed.

Differential Revision: http://reviews.llvm.org/D14515

llvm-svn: 252566
2015-11-10 00:30:57 +00:00
..
Analysis [TargetLibraryInfo] Add support for fls, flsl, flsll. 2015-11-09 23:23:20 +00:00
AsmParser Add 'notail' marker for call instructions. 2015-11-06 23:55:38 +00:00
Bitcode Add a method to the BitcodeReader to parse only the identification block 2015-11-09 02:46:41 +00:00
CodeGen Remove unnecessary call to getAllocatableRegClass 2015-11-10 00:30:14 +00:00
DebugInfo [LLVMSymbolize] Reduce indentation by using helper function. NFC. 2015-11-04 00:30:26 +00:00
ExecutionEngine [RuntimeDyld] Add support for R_X86_64_PC8 relocation. 2015-11-08 19:34:17 +00:00
Fuzzer [libFuzzer] make libFuzzer link if there is no sanitizer coverage instrumentation (it will fail at start-up time) 2015-11-09 23:17:45 +00:00
IR [OperandBundles] Rename accessor, NFC 2015-11-07 01:56:04 +00:00
IRReader Return a unique_ptr from getLazyBitcodeModule and parseBitcodeFile. NFC. 2015-06-16 22:27:55 +00:00
LTO Add a method to the BitcodeReader to parse only the identification block 2015-11-09 02:46:41 +00:00
LibDriver [Option] Use an ArrayRef to store the Option Infos in OptTable. NFC 2015-10-21 16:30:42 +00:00
LineEditor Use ADDITIONAL_HEADER_DIRS in all LLVM CMake projects. 2015-02-11 03:28:02 +00:00
Linker Restore "Move metadata linking after lazy global materialization/linking." 2015-11-06 17:50:53 +00:00
MC [AsmParser] Backends can parameterize ASM tokenization. 2015-11-09 00:31:07 +00:00
Object Reapply r250906 with many suggested updates from Rafael Espindola. 2015-11-05 19:24:56 +00:00
Option [Option] Use an ArrayRef to store the Option Infos in OptTable. NFC 2015-10-21 16:30:42 +00:00
Passes [PM] Port StripDeadPrototypes to the new pass manager 2015-10-30 23:28:12 +00:00
ProfileData [PGO] Make indexed value profile data more compact 2015-11-10 00:24:45 +00:00
Support Combine ifdefs around dl_iterate_phdr in Unix/Signals.inc 2015-11-09 23:10:29 +00:00
TableGen [TblGen] ArrayRefize TGParser. No functional change intended. 2015-10-24 12:46:45 +00:00
Target [WebAssembly] Support 'unreachable' expression 2015-11-10 00:30:57 +00:00
Transforms [sanitizer] Use same shadow offset for ASAN on aarch64 2015-11-09 18:03:48 +00:00
CMakeLists.txt LibDriver, llvm-lib: introduce. 2015-06-09 21:50:22 +00:00
LLVMBuild.txt Wrap some long lines in LLVMBuild files. NFC 2015-06-12 18:44:57 +00:00
Makefile LibDriver, llvm-lib: introduce. 2015-06-09 21:50:22 +00:00