Hi,

when we compile a function with attributes:
...
int __attribute__((noinline, noclone))
foo (void)
{
  return 2;
}
...

like this:
...
gcc main.c -fdump-tree-all -fdump-rtl-all
...

we find the function attributes starting from foo.c.004t.gimple:
...
__attribute__((noclone, noinline))
foo ()
{
  int D.1961;

  D.1961 = 2;
  return D.1961;
}
...
to foo.c.232t.optimized.


But we don't find the attributes in the rtl dumps:
...
$ grep __attribute__ foo.c.*r.*
$
...

This patch adds printing of the function attributes in the rtl dump, f.i. foo.c.235r.vregs looks like this :
...
;; Function foo (foo, funcdef_no=0, decl_uid=1958, cgraph_uid=0, symbol_order=0)

function foo attributes: __attribute__((noclone, noinline))
(note 1 0 3 NOTE_INSN_DELETED)
(note 3 1 2 2 [bb 2] NOTE_INSN_BASIC_BLOCK)
(note 2 3 5 2 NOTE_INSN_FUNCTION_BEG)
(insn 5 2 8 2 (set (reg:SI 87 [ _1 ])
        (const_int 2 [0x2])) "foo.c":4 86 {*movsi_internal}
     (nil))
(insn 8 5 12 2 (set (reg:SI 88 [ <retval> ])
        (reg:SI 87 [ _1 ])) "foo.c":4 86 {*movsi_internal}
     (nil))
(insn 12 8 13 2 (set (reg/i:SI 0 ax)
        (reg:SI 88 [ <retval> ])) "foo.c":5 86 {*movsi_internal}
     (nil))
(insn 13 12 0 2 (use (reg/i:SI 0 ax)) "foo.c":5 -1
     (nil))
...

I've added the "function foo attributes" prefix because in other rtl dumps there may be quite a number of lines between the ";; Function foo" header and the first insn.

OK for stage1 if bootstrap and reg-test on x86 succeeds?

Thanks,
- Tom

Reply via email to