[PATCH] ARM: refactor redundant *_dyn pseudos
t.p.northover at gmail.com
Mon Nov 25 04:45:54 PST 2013
Darwin distinguishes between three relocation models unlike ELF: static, dynamic-no-pic and pic. However, dynamic-no-pic is almost identical to static. The only difference is that global variables which aren't guaranteed to be known at static link-time (i.e. GOT-based accesses) should refer to a local hidden symbol with "$non_lazy_ptr" appended.
As a result, the MOVW/MOVT materialization pseudo-instructions (t2)MOV_ga_dyn are largely redundant and identical to the code-path shared by ELF and other constants: (t2)MOVi32imm, provided appropriate target flags are sent along for the ride.
This patch removes them and performs the required rerouting. It removes a few lines in total, and *I* think it's neater. What do you think?
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 17577 bytes
Desc: not available
More information about the llvm-commits