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]

Re: Deadly optimization bug (all gcc versions!)


At 16:14 24.08.99 , Bernd Schmidt wrote:
>+      /* We can't do anything if the value is set in between the insns we are
>+       processing.  */
>+      if (INSN_CUID (reg_last_set[regno]) <= INSN_CUID (subst_insn))
>+       return 0;
>+

Just for my understanding, reg_last_set[regno] will not point past 
subst_insn here? What I'm thinking about is, what happens if we have 3 SETs 
like:

SET1
start_of_subst_tree
...
SET2
...
subst_insn
...
SET3

Will reg_last_set[] point to SET2 or SET3? If it points to SET3, your patch 
doesn't cover all possibilities, or?

Franz.


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