Re: What is the meaning of the "prologue" pattern argument ?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 4/3/19 12:37 PM, William Tambe wrote:
> Some architecture define the "prologue" pattern using [(clobber
> (const_int 0))] others use [(const_int 1)] without clobber. ie:
> 
> (define_expand "prologue"
>   [(clobber (const_int 0))]
>   ""
>   "")
> 
> What is the meaning of the "prologue" pattern single argument ?
> What is the effect of using clobber ?
Prologue refers to the start of each function where you do things like
adjust the stack pointer, save call clobbered registers, set up a PIC
register and the like.  There's also an epilogue where you reverse those
effects.

It is strongly recommended you implement the prologue/epilogue as
define_expands rather than the old method of directly emitting text into
the assembly file.

The pattern for the expander really isn't important.  You just need
something in there as a placeholder..  The expander usually calls
something like <target>_expand_prologue.  visium.md is probably a good
one to review when doing a port.

jeff



[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux