This is the mail archive of the
mailing list for the GCC project.
Re: [lto] PATCH: new CALL_EXPR constructors
- From: Sandra Loosemore <sandra at codesourcery dot com>
- To: Paolo Bonzini <paolo dot bonzini at lu dot unisi dot ch>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Sat, 05 Aug 2006 15:46:31 -0400
- Subject: Re: [lto] PATCH: new CALL_EXPR constructors
- References: <44D4C934.firstname.lastname@example.org> <44D4D5B4.email@example.com>
Paolo Bonzini wrote:
* gcc/builtins.c (fold_builtin_call_list): Replacement for
fold_build_call_expr. Renamed for consistency with other new
CALL_EXPR constructors, and removed the static_chain argument since
it is never used. Fixed all callers.
Please leave in the static_chain argument, one step at a time.
I had to touch all the places where CALL_EXPRs were being constructed anyway to
get rid of the build3 and fold_build3 calls. I found exactly one place where a
CALL_EXPR was being constructed with a non-explicitly-NULL static chain (in
tree-ssa-pre.c, create_expression_by_pieces). And, actually, there was a
problem with this specific function before: it doesn't make any sense to try to
fold the call if the static chain is provided and is non-NULL. I'm not
proposing to remove the static chain operand from the data structure, just from
these higher-level constructors. I can provide some lower-level generic
tcc_vl_exp constructors in my next batch of changes when the new representation
is in place, so that there is still a fully general interface.