User account creation filtered due to spam.

Bug 26831 - sibcall, sibcall_value, sibcall_pop, sibcall_value_pop: standard names not documented.
Summary: sibcall, sibcall_value, sibcall_pop, sibcall_value_pop: standard names not d...
Status: NEW
Alias: None
Product: gcc
Classification: Unclassified
Component: middle-end (show other bugs)
Version: 4.2.0
: P3 normal
Target Milestone: ---
Assignee: Not yet assigned to anyone
URL:
Keywords: documentation
Depends on:
Blocks:
 
Reported: 2006-03-23 20:43 UTC by Dave Korn
Modified: 2010-01-06 10:46 UTC (History)
3 users (show)

See Also:
Host:
Target:
Build:
Known to work:
Known to fail:
Last reconfirmed: 2006-03-23 20:49:05


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Dave Korn 2006-03-23 20:43:37 UTC
As the subject says, these four standard names are not documented.  By analogy to the way in which "sibcall_epilogue" has a separate entry from "epilogue", they should also have their own entries in the "standard pattern names for generation" chapter of the internals manual.  The entry for FUNCTION_OK_FOR_SIBCALL even refers to "the 'sibcall' md pattern", but there is no other mention of it.

  Note also that if you implement siball_epilogue by emitting a fully-schedulable RTL epilogue (rather than just using an unspec to represent the entire thing as a black box to the compiler and emitting it opencoded at assembler output generation time like the arm port does in 3.3.3 where I discovered this), you may also need to implement these sibcall patterns, or you can get ICEn when the register allocator gets confused in one of the later passes.  This dependency is not mentioned anywhere.  However I have not tested it against 4.x/HEAD to see if it remains the case.

    cheers, 
       DaveK
Comment 1 Andrew Pinski 2006-03-23 20:49:05 UTC
Interesting, sibcall_epilogue is documented though.
http://gcc.gnu.org/onlinedocs/gccint/Standard-Names.html#Standard-Names
Comment 2 Andrew Pinski 2006-03-26 17:20:43 UTC
Note I would like these standard names documented also since I would need them to implement them on the SPU (SPE on the Cell) target.
Comment 3 Dave Korn 2006-03-27 10:05:37 UTC
  Added by rth's sibcall optimisations back in March 2000:

http://gcc.gnu.org/viewcvs?rev=32612&view=rev

  Should we give him a ping?

   cheers, 
      DaveK
Comment 4 Paulo J. Matos 2010-01-06 10:46:15 UTC
Almost four years have gone and nobody was able to document these. It would be nice to see these in the docs! :-)

I am looking for them since I don't know what they are for at the moment, otherwise I could give it a go and contribute!