This is the mail archive of the gcc@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: Help with following RTL


"kernel coder" <lhrkernelcoder@gmail.com> writes:

This is all just boilerplate which is put at the end of every function
during RTL expansion.

> (insn 15 11 16 (nil) (clobber (reg/i:SI 2 v0)) -1 (nil)
>    (nil))

Clobber the hard return register.

> (insn 16 15 13 (nil) (clobber (reg:SI 181)) -1 (nil)
>    (nil))

Clobber the pseudo register which was created to hold the return
value.

> (code_label 13 16 14 1 "" [0 uses])

Label to branch to after the pseudo-register return value is set
earlier in the code (in your function this label is not used).

> (insn 14 13 17 (nil) (set (reg/i:SI 2 v0)
>        (reg:SI 181)) -1 (nil)
>           (nil))

Set the hard return register to the pseudo-register return value.

> (insn 17 14 0 (nil) (use (reg/i:SI 2 v0)) -1 (nil)
>    (nil))

Note that the hard return register is used at the end of the function.

Ian


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