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

Re: Fix a tcb crash and a potential bug on mainline



On Oct 19, 2004, at 6:30 PM, Jeffrey A Law wrote:


On Tue, 2004-10-19 at 16:23, Daniel Berlin wrote:

Only if your pass performs *all* insertions and updates to statements
before performing *any* removals of statements.
True.  However, I believe that is the case for most of our optimizers
right now.

Except for things that just want t



I believe some passes don't do this right now.
PRE and jump threading being the obvious exceptions.
PRE actually does all insertions before it does any eliminations/replacements these days, instead of mixing them together like it used to.



Otherwise, in the intermediate step, we would think some statements are
dead when they are only dead because we haven't fixed them up yet :)
Right -- which is one of my big concerns with integrated dead
code elimination schemes.  This kind of problem bit us with
delete_insn as well.

I would seriously suggest we not go down the route of integrating DCE into immediate use replacement, of course.
Among other things, it is incredibly surprising that removing a use would magically make other statements disappear, unless you had explicitly called some DCE pass.



jeff




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