llvm-project/lld/test
Nick Kledzik 4121bce3f6 [mach-o] Add Pass to create are shim Atoms for ARM interworking.
Arm code has two instruction encodings "thumb" and "arm".  When branching from
one code encoding to another, you need to use an instruction that switches
the instruction mode.  Usually the transition only happens at call sites, and
the linker can transform a BL instruction in BLX (or vice versa).  But if the
compiler did a tail call optimization and a function ends with a branch (not
branch and link), there is no pc-rel BX instruction.

The ShimPass looks for pc-rel B instructions that will need to switch mode.
For those cases it synthesizes a shim which does the transition, then modifies
the original atom with the B instruction to target to the shim atom.

llvm-svn: 219655
2014-10-14 01:51:42 +00:00
..
Driver Make -core/-flavor options have higher priority than linker name 2014-09-23 18:09:38 +00:00
LinkerScript [ELF] Implement parsing `-l` prefixed items in the `GROUP` linker script command. 2014-07-15 17:17:30 +00:00
Unit [lit] Python 3. 2014-03-26 00:53:48 +00:00
core Preserve custom section names when coalescing. 2014-10-02 17:22:05 +00:00
darwin [mach-o] refactor KindHandler into ArchHandler and simplify passes. 2014-07-16 19:49:02 +00:00
elf [ELF] Fix inclusion of weak symbols in the dynamic symbol table 2014-10-08 22:38:10 +00:00
mach-o [mach-o] Add Pass to create are shim Atoms for ARM interworking. 2014-10-14 01:51:42 +00:00
pecoff [PECOFF] Emit ModuleHandle field in delay-import table. 2014-10-09 17:43:01 +00:00
CMakeLists.txt Add missing dependency to macho-dump. 2014-07-02 18:16:31 +00:00
Makefile Initial set of Makefiles 2014-06-04 09:54:07 +00:00
lit.cfg Add FreeBSD to system-linker-elf case 2014-09-12 13:16:30 +00:00
lit.site.cfg.in [lit] Python 3. 2014-03-26 00:53:48 +00:00