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: [PATCH] sched-deps.c deps->last_pending_memory_flush fix (PR rtl-optimization/46614)


On Tue, Nov 23, 2010 at 01:54:41PM -0500, Vladimir Makarov wrote:
>  On 11/23/2010 12:22 PM, Jakub Jelinek wrote:
> >Fixed by instead remembering if a JUMP_INSN stands only for itself
> >and nothing else in the deps->last_pending_memory_flush list
> >(such jumps have REG_NOTE_KIND set to REG_DEP_ANTI, could be
> >anything but REG_DEP_TRUE which is the default and used for
> >additions to the list from flush_pending_lists) and using REG_NOTE_KIND
> >instead of JUMP_P checks in the two places which care about it.
> >
> >Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk?
> >
> It looks ok for me, Jakub.  Although it would be nice to add a
> comment about meaning REG_DEP_ANTI for element of list
> last_pending_memory_flush when you set it up in function
> deps_analyze_insn.

Maybe also define macros?

/* In deps->last_pending_memory_flush marks JUMP_INSNs that weren't
   added to the list because of flush_pending_lists, stands just
   for itself and not for any other pending memory reads/writes.  */
#define NON_FLUSH_JUMP_KIND REG_DEP_ANTI
#define NON_FLUSH_JUMP_P(x) (REG_NOTE_KIND (x) == REG_DEP_ANTI)

	Jakub


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