Re: [PATCH, SMS] Prevent the creation of reg-moves for definitions with MODE_CC

2012-01-01 Thread Revital Eres
Hello, > Yes, thanks for catching this. Shouldn't we prevent creating such > regmoves for (the other case of) intra-loop anti-deps as well? Right! sorry for missing that. I added an additional check in create_ddg_dep_from_intra_loop_link. Also, thanks to Bernhard Rosenkraenzer for opening PR 879

Re: [PATCH, SMS] Prevent the creation of reg-moves for definitions with MODE_CC

2012-01-01 Thread Ayal Zaks
>The attached patch prevents the creation of reg-moves for definitions >with MODE_CC and thus solves this ICE. > >Currently testing and bootstrap on ppc64-redhat-linux, enabling SMS on >loops with SC 1. > >OK for 4.7 once testing completes? Yes, thanks for catching this. Shouldn't we prevent creat

Re: [PATCH, SMS] Prevent the creation of reg-moves for definitions with MODE_CC

2011-12-22 Thread Richard Sandiford
Richard Henderson writes: > On 12/20/2011 09:47 AM, Richard Sandiford wrote: >> Revital Eres writes: >>> +/* Return true if one of the definitions in INSN has MODE_CC. Otherwise >>> + return false. */ >>> +static bool >>> +def_has_ccmode_p (rtx insn) >>> +{ >>> + df_ref *def; >>> + >>> + fo

Re: [PATCH, SMS] Prevent the creation of reg-moves for definitions with MODE_CC

2011-12-21 Thread Richard Henderson
On 12/20/2011 09:47 AM, Richard Sandiford wrote: > Revital Eres writes: >> +/* Return true if one of the definitions in INSN has MODE_CC. Otherwise >> + return false. */ >> +static bool >> +def_has_ccmode_p (rtx insn) >> +{ >> + df_ref *def; >> + >> + for (def = DF_INSN_DEFS (insn); *def; de

Re: [PATCH, SMS] Prevent the creation of reg-moves for definitions with MODE_CC

2011-12-20 Thread Revital Eres
Hello, > FWIW, an alternative might be to test have_regs_of_mode[(int) mode]. > That says whether there are any allocatable (non-fixed) registers > of the given mode. Thanks, I'll prepare a new version of the patch using have_regs_of_mode. Revital > > Richard

Re: [PATCH, SMS] Prevent the creation of reg-moves for definitions with MODE_CC

2011-12-20 Thread Richard Sandiford
Revital Eres writes: > +/* Return true if one of the definitions in INSN has MODE_CC. Otherwise > + return false. */ > +static bool > +def_has_ccmode_p (rtx insn) > +{ > + df_ref *def; > + > + for (def = DF_INSN_DEFS (insn); *def; def++) > +{ > + enum machine_mode mode = GET_MODE (D

[PATCH, SMS] Prevent the creation of reg-moves for definitions with MODE_CC

2011-12-20 Thread Revital Eres
Hello, The testcase attached causes ICE when compiling with -fmodulo-sched-allow-regmoves on ARM due to reg-moves created for the definition of mode MODE_CC. The following is a snippet from the ddg of the definition and use of vfpcc which triggers the creation of the reg-move: Node num: 1 (insn