Joern Rennecke <joern.renne...@embecosm.com> writes: > Quoting Richard Sandiford <rdsandif...@googlemail.com>: > >> I can't approve the whole thing of course, but I like the idea. >> However... >> >> Joern Rennecke <joern.renne...@embecosm.com> writes: >>> +@deftypevr {Target Hook} bool TARGET_HAVE_CC0 >>> +@deftypevrx {Target Hook} {bool} TARGET_AUTO_INC_DEC >>> +@deftypevrx {Target Hook} {bool} TARGET_STACK_REGS >>> +@deftypevrx {Target Hook} {bool} TARGET_HAVE_ATTR_ENABLED >>> +@deftypevrx {Target Hook} {bool} TARGET_HAVE_ATTR_LENGTH >>> +These flags are automatically generated; you should not override >>> them in @file{tm.c}. >>> +@end deftypevr >> >> Unless this goes against something already discussed, I think it'd be >> better to leave these out until there's a concerted attempt to use them >> somewhere. On its own this isn't even a partial transition. :-) > > Well, I was tempted to do a full transition, but then realized that that'd > never get reviewed, so I thought a good start to get out of the hole we > got ourselves into is to stop digging. Well, maybe we can't even do that > before 4.8 ... whatever. I have removed that bit from the patch.
Thanks. Sorry, a couple of minor nits that I should probably have picked up on before: > @@ -2853,12 +2837,13 @@ final_scan_insn (rtx insn, FILE *file, i > if (new_rtx == insn && PATTERN (new_rtx) == body) > fatal_insn ("could not split insn", insn); > > -#ifdef HAVE_ATTR_length > - /* This instruction should have been split in shorten_branches, > - to ensure that we would have valid length info for the > - splitees. */ > - gcc_unreachable (); > -#endif > + if (HAVE_ATTR_length) > + { > + /* This instruction should have been split in shorten_branches, > + to ensure that we would have valid length info for the > + splitees. */ > + gcc_unreachable (); > + } probably gcc_assert (!HAVE_ATTR_length); > @@ -3816,7 +3809,7 @@ struct rtl_opt_pass pass_split_after_rel > static bool > gate_handle_split_before_regstack (void) > { > -#if defined (HAVE_ATTR_length) && defined (STACK_REGS) > +#if (HAVE_ATTR_length) && defined (STACK_REGS) > /* If flow2 creates new instructions which need splitting > and scheduling after reload is not done, they might not be > split until final which doesn't allow splitting > @@ -3900,7 +3893,7 @@ struct rtl_opt_pass pass_split_before_sc > static bool > gate_do_final_split (void) > { > -#if defined (HAVE_ATTR_length) && !defined (STACK_REGS) > +#if (HAVE_ATTR_length) && !defined (STACK_REGS) > return 1; > #else > return 0; Redundant brackets around HAVE_ATTR_length. OK with those changes for the rtl bits. Can't approve the generator stuff though. Richard