PROPOSAL: targetm.expand_tree_builtin hook

Ziemowit Laski zlaski@apple.com
Mon May 10 20:00:00 GMT 2004


On 10 May, 2004, at 12.26, Andrew Pinski wrote:

On May 10, 2004, at 15:18, Ziemowit Laski wrote:

It already lives in the apple-ppc-branch, but I thought it might be 
of more general interest.
The hook would be invoked from c-common.c:expand_tree_builtin, and 
would facilitate
target-specific, eager (i.e., the moment you see the function call) 
TREE-to-TREE transformations.
On Darwin, we use it construct so-called "constant CFStrings", and 
I'm about to hook up
__builtin_altivec_compiletime_error to it as well (since using the 
RTL targetm.expand_builtin
hook is too little, too late).

Would there be interest (on behalf of the powers that be) in me 
whipping up such a patch for the mainline?
I think this should be called not be called expand_tree_builtin as that
saya TREE to RTL expansion but rather fold_builtin as that is more
Well, c-common.c:expand_tree_builtin does exactly what the proposed 
hook would do :-), but
I'm certainly open to suggestions.

consistent with the rest of the functions in builtins.  Also this 
should
be called from fold_builtin in builtins.c rather than 
expand_tree_builtin.
That might indeed be a better place for it, provided it doesn't get 
called too
late (like expand_builtin), since one of the requirements here is eager 
evaluation.
I'll definitely take a look, provided I get a general go-ahead from one 
of the global
maintainers. :-)

--Zem
--------------------------------------------------------------
Ziemowit Laski                 1 Infinite Loop, MS 301-2K
Mac OS X Compiler Group        Cupertino, CA USA  95014-2083
Apple Computer, Inc.           +1.408.974.6229  Fax .5477



More information about the Gcc mailing list