df.c and cond_exec question

Steve Ellcey sje@cup.hp.com
Thu Sep 23 01:40:00 GMT 2004


While experimenting with the IA64 divide sequences (which generate a
series of cond_exec instructions) I found that df_analyze does not seem
to have any code in it to handle cond_exec instructions.  This causes
problems if I expand the divide instruction sequence earlier in the GCC
process then before because the web phase of the RTL optimizer uses
df_analyze and df_analyze's inability to understand cond_exec causes
some definitions/uses to be missed in the analysis and bad code to be
generated.

I want to look into adding code to df_analyze to handle cond_exec but I
thought I would send an email first and make sure that df.c isn't
something that is going to become obsolete soon due to the SSA work or
that there isn't some other reason why handling cond_exec instructions
in df_analyze is a bad idea or impractical.  I see uses of df_analyze in
loop-invariant.c, modulo-sched.c, ra.c, and web.c so I don't think it
is going away soon.

Any comments?

Steve Ellcey
sje@cup.hp.com



More information about the Gcc mailing list