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. :-) > + /* We make an exception here to provide stub definitions for > + insn_*_length* / get_attr_enabled functions. */ > + puts ("#if !HAVE_ATTR_length\n" > + "extern int hook_int_rtx_0 (rtx);\n" > + "#define insn_default_length hook_int_rtx_0\n" > + "#define insn_min_length hook_int_rtx_0\n" > + "#define insn_variable_length_p hook_int_rtx_0\n" > + "#define insn_current_length hook_int_rtx_0\n" > + "#include \"insn-addr.h\"\n" > + "#endif\n" I'd prefer defaults that call gcc_unreachable, rather than silently return an arbitrary value. That said, > + "#if !HAVE_ATTR_enabled\n" > + "extern int hook_int_rtx_1 (rtx);\n" > + "#define get_attr_enabled hook_int_rtx_1\n" > + "#endif\n"); I agree that 1 is a safe default here. Richard