[Bug tree-optimization/106019] Surprising SLP failure on trivial code

rguenth at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon Jun 20 11:18:32 GMT 2022


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

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |rsandifo at gcc dot gnu.org

--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
Confirmed.

Creating dr for *_3
analyze_innermost: success.
        base_address: p_12(D) + (sizetype) i_11(D) * 8
        offset from base address: 0
        constant offset from base address: 0
        step: 0
        base alignment: 8
        base misalignment: 0
        offset alignment: 128
        step alignment: 128
        base_object: *_3

vs.

Creating dr for *_8
analyze_innermost: success.
        base_address: p_12(D) + (sizetype) i_11(D) * 8
        offset from base address: 0
        constant offset from base address: 8
        step: 0
        base alignment: 8
        base misalignment: 0
        offset alignment: 128
        step alignment: 128
        base_object: *_8

the base_object are different which makes dependence analysis fail.  I
suppose we could look at the case of equal base_address here - the
loop based dependence analysis might be not the optimal thing to check.

Richard, any opinions how we should deal with this API wise?
This is vect_slp_analyze_node_dependences


More information about the Gcc-bugs mailing list