llvm/lib/Transforms
Evgeniy Stepanov 9ee744ac24 [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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@290384 91177308-0d34-0410-b5e6-96231b3b80d8
2016-12-22 22:22:35 +00:00
..