llvm-project/llvm/lib
Craig Topper 784929d045 Implementation of asm-goto support in LLVM
This patch accompanies the RFC posted here:
http://lists.llvm.org/pipermail/llvm-dev/2018-October/127239.html

This patch adds a new CallBr IR instruction to support asm-goto
inline assembly like gcc as used by the linux kernel. This
instruction is both a call instruction and a terminator
instruction with multiple successors. Only inline assembly
usage is supported today.

This also adds a new INLINEASM_BR opcode to SelectionDAG and
MachineIR to represent an INLINEASM block that is also
considered a terminator instruction.

There will likely be more bug fixes and optimizations to follow
this, but we felt it had reached a point where we would like to
switch to an incremental development model.

Patch by Craig Topper, Alexander Ivchenko, Mikhail Dvoretckii

Differential Revision: https://reviews.llvm.org/D53765

llvm-svn: 353563
2019-02-08 20:48:56 +00:00
..
Analysis Implementation of asm-goto support in LLVM 2019-02-08 20:48:56 +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 Implementation of asm-goto support in LLVM 2019-02-08 20:48:56 +00:00
DebugInfo [CodeView] Fix cycles in debug info when merging Types with global hashes 2019-02-07 15:24:18 +00:00
Demangle Add missing include (cstdlib) to Demangle.h 2019-01-22 19:18:18 +00:00
ExecutionEngine [opaque pointer types] Pass value type to LoadInst creation. 2019-02-01 20:44:24 +00:00
FuzzMutate [opaque pointer types] Pass value type to LoadInst creation. 2019-02-01 20:44:24 +00:00
Fuzzer
IR Implementation of asm-goto support in LLVM 2019-02-08 20:48:56 +00:00
IRReader Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
LTO Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +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 [mips][micromips] Fix how values in .gcc_except_table are calculated 2019-02-07 22:57:33 +00:00
MCA [MCA] Speedup ResourceManager queries. NFCI 2019-02-06 14:57:28 +00:00
Object Revert r353424 "[llvm-ar][libObject] Fix relative paths when nesting thin archives." 2019-02-08 10:16:45 +00:00
ObjectYAML [WebAssembly] Add symbol flag to the binary format llvm.used 2019-02-07 01:24:44 +00:00
OptRemarks Update more file headers across all of the LLVM projects in the monorepo 2019-01-19 10:56:40 +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 [HotColdSplit] Move splitting after instrumented PGO use 2019-02-06 04:29:39 +00:00
ProfileData [PGO] Use a function for creating variable for profile file name. NFC. 2019-02-05 22:34:45 +00:00
Support Move SMTSolver dump() methods out-of-line. 2019-02-07 21:03:18 +00:00
TableGen [TblGen] Extend !if semantics through new feature !cond 2019-01-25 10:25:25 +00:00
Target Implementation of asm-goto support in LLVM 2019-02-08 20:48:56 +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 Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Transforms Implementation of asm-goto support in LLVM 2019-02-08 20:48:56 +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 [llvm-mca] Move llvm-mca library to llvm/lib/MCA. 2018-12-17 08:08:31 +00:00
LLVMBuild.txt Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00