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]

May delete_trivially_dead_insns delete trapping insns?


Hi,

See $SUBJECT for the question.  The issue is, that if cleanup_cfg() is
called _without_ the CLEANUP_UPDATE_LIFE flag it calls
delete_trivially_dead_insns().  The latter might currently remove insns
even if they trap (e.g. memory accesses when flag_non_call_exceptions),
and by that could lead to exception edges which aren't correct anymore.

Is this the expected behaviour (i.e. if one wants to have the CFG correct,
one needs to use CLEANUP_UPDATE_LIVE and refrain from using d_t_d_i()
directly)?  Or would a patch to make delete_trivially_dead_insns() not
delete trapping insns make sense (needs also a change in
count_reg_usage())?


Ciao,
Michael.


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