llvm-project/llvm/lib
Evgeniy Stepanov 27d4c9b71b [cfi] Emit jump tables as a function-level inline asm.
Use a dummy private function with inline asm calls instead of module
level asm blocks for CFI jumptables.

The main advantage is that now jumptable codegen can be affected by
the function attributes (like target_cpu on ARM). Module level asm
gets the default subtarget based on the target triple, which is often
not good enough.

This change also uses asm constraints/arguments to reference
jumptable targets and aliases directly. We no longer do asm name
mangling in an IR pass.

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

llvm-svn: 290384
2016-12-22 22:22:35 +00:00
..
Analysis [PM] Remove now-dead extern template and explicit instantiation 2016-12-22 07:14:33 +00:00
AsmParser [LLParser] Make the line field of DIMacro(File) optional. 2016-12-22 00:29:00 +00:00
Bitcode Clear the PendingTypeTests vector after moving from it. 2016-12-22 02:52:23 +00:00
CodeGen [MachineVerifier] Check that even generic vregs comply to regclass constraints. 2016-12-22 21:56:39 +00:00
DebugInfo Add the ability for DWARFDie objects to get the parent DWARFDie. 2016-12-21 21:37:06 +00:00
Demangle Demangle: remove references to allocator for default allocator 2016-11-20 00:20:27 +00:00
ExecutionEngine Update mailing list post URL and add libunwind reference 2016-12-21 20:51:42 +00:00
Fuzzer [libfuzzer] dump_coverage command line flag 2016-12-19 22:18:08 +00:00
IR Refactor the DIExpression fragment query interface (NFC) 2016-12-22 05:27:12 +00:00
IRReader Timer: Track name and description. 2016-11-18 19:43:18 +00:00
LTO [ThinLTO] Import composite types as declarations 2016-12-16 21:25:01 +00:00
LibDriver LibDriver: Allow resource files to be archive members. 2016-12-15 19:37:46 +00:00
LineEditor
Linker [ThinLTO] Import only necessary DICompileUnit fields 2016-12-12 16:09:30 +00:00
MC Resubmit "[CodeView] Hook CodeViewRecordIO for reading/writing symbols." 2016-12-16 22:48:14 +00:00
Object Fix a bugs with using some Mach-O command line flags like "-arch armv7m". 2016-12-16 22:54:02 +00:00
ObjectYAML [ObjectYAML] MachO support for endianness 2016-12-22 21:58:03 +00:00
Option Generalize ArgList::AddAllArgs more 2016-09-29 19:47:58 +00:00
Passes [NewGVN] Add the pass to PassRegistry.def. 2016-12-22 16:35:02 +00:00
ProfileData Make the Error class constructor protected 2016-11-11 04:28:40 +00:00
Support Add missing includes on Windows. 2016-12-21 18:50:52 +00:00
TableGen [TableGen] Centralize/Unify error handling. 2016-12-05 22:58:01 +00:00
Target [AArch64][CallLowering] Constraint registers on target specific instruction 2016-12-22 21:56:31 +00:00
Transforms [cfi] Emit jump tables as a function-level inline asm. 2016-12-22 22:22:35 +00:00
CMakeLists.txt Try to fix a circular dependency in the modules build. 2016-09-06 20:16:19 +00:00
LLVMBuild.txt Add an c++ itanium demangler to llvm. 2016-09-06 19:16:48 +00:00