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: PROPOSAL: targetm.expand_tree_builtin hook



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


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