This is the mail archive of the gcc-bugs@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]

[Bug rtl-optimization/64081] [5/6/7 Regression] r217827 prevents RTL loop unroll


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64081

--- Comment #37 from Aldy Hernandez <aldyh at gcc dot gnu.org> ---
The patch that causes the bootstrap problem to go away is:

commit 42b45e81de1263454d6df22ca745db858c19e5b5
Author: rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Date:   Wed Aug 12 14:27:40 2015 +0000

    2015-08-12  Richard Biener  <rguenther@suse.de>

            * tree-ssa-sccvn.c (vn_nary_op_compute_hash): Also canonicalize
            comparison operand order and commutative ternary op operand order.
            (sccvn_dom_walker::cond_stack): New state to track temporary
            expressions.
            (sccvn_dom_walker::after_dom_children): Remove tempoary expressions
            no longer valid.
            (sccvn_dom_walker::record_cond): Add a single temporary conditional
            expression.
            (sccvn_dom_walker::record_conds): Add a temporary conditional
            expressions and all related expressions also true/false.
            (sccvn_dom_walker::before_dom_children): Record temporary
            expressions based on the controlling condition of a single
            predecessor.  When trying to simplify a conditional statement
            lookup expressions we might have inserted earlier.

Unfortunately, this is not a simple bugfix, but an optimization.  So, it seems
to me we can't easily glean from the above what caused the original patch to
bootstrap on AIX.  Perhaps Richi has ideas as to the interaction between his
patch and the patch in comment 8.  In the meantime, I will try to narrow down
the bootstrap failure further.

p.s. I will be posting details next on what changes were needed to the sources
to get this to reproduce on AIX 7.2 (gcc119 on the compile farm), as AIX
required some hand-holding.

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