This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH, alpha]: Fix PR 64113, Error: No lda !gpdisp!282 was found


Hello!

As mentioned in the PR, we need accurate gp live analysis to split
__tls_get_addr call. Move split from post-reload splitter to peephole2
pass, as is the case with other call insns.

2014-12-02  Uros Bizjak  <ubizjak@gmail.com>

    PR target/64113
    * config/alpha/alpha.md (call_value_osf_tlsgd): Do not split insn
    using post-reload splitter.  Use peephole2 pass instead.
    (call_value_osf_tlsldm): Ditto.
    (TLS_CALL): New int iterator.
    (tls): New int attribute.
    (call_value_osf_<tls>): Merge insn pattern from call_value_osf_tlsgd
    and call_value_tlsldm using TLS_CALL int iterator.

Bootstrapped and regression tested on alphaev68-linux-gnu, also tested
by building systemd-217 that failed to compile without the patch.

Committed to mainline SVN, will be committed to 4.9 branch.

Uros.

Attachment: a.diff.txt
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]