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

Problem with SSA inlining and default defs


Hi,

How SSA inlining and default defs for uninitialized variables are supposed to 
interact?  Suppose you have the following situation

    BB0 ...
     |   \
(ab) |    BB1 s_2 = f(s_1(D))
     |   /
    BB2 s_3 = PHI <s_1(D), s2>

in a function that gets inlined into a loop.  The liveness of s_1(D) in BB0 
will propagate to BB2 along the backwards edge and you get overlapping live 
ranges for s_1(D) and s_3.  If s_1(D) is SSA_NAME_OCCURS_IN_ABNORMAL_PHI, the 
compilation will abort during SSA coalescing because they must be coalesced.

This is on the mainline, Ada testcase attached, run 'gnatchop' on it and 
compile at -O -gnatp.

Thanks in advance.

-- 
Eric Botcazou

Attachment: p.ada
Description: Text document


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