This is the mail archive of the
mailing list for the GCC project.
Re: [PATCH] Speedup/remove uses of is_gimple_reg (PHI_RESULT)
- From: Diego Novillo <dnovillo at redhat dot com>
- To: Andrew Pinski <pinskia at physics dot uc dot edu>
- Cc: "gcc-patches at gcc dot gnu dot org Patches" <gcc-patches at gcc dot gnu dot org>
- Date: Mon, 15 Nov 2004 22:56:05 -0500
- Subject: Re: [PATCH] Speedup/remove uses of is_gimple_reg (PHI_RESULT)
- Organization: Red Hat Canada
- References: <6919D2CD-376F-11D9-89EF-000A95D692F4@physics.uc.edu>
On Mon, 2004-11-15 at 20:32, Andrew Pinski wrote:
> * tree.h (PHI_VIRTUAL): New macro, stealing static_flag for it.
> * tree-phinodes.c (make_phi_node): Set PHI_VIRTUAL.
> * tree-dfa.c (compute_immediate_uses): Use PHI_VIRTUAL.
> * tree-if-conv.c (if_convertable_phi_p): Likewise.
> * tree-into-ssa.c (rewrite_virtual_phi_arguments): Likewise.
> * tree-outof-ssa.c (eliminate_virtual_phis): Likewise.
> * tree-ssa-dce.c (find_obviously_necessary_stmts): Likewise.
> (mark_really_necessary_kill_operand_phis): Likewise.
> * tree-ssa-dse.c (dse_record_phis): Likewise.
> * tree-ssa-pre.c (compute_avail): Likewise.
> * tree-vectorizer.c (vect_update_ivs_after_vectorizer): Likewise.
> (vect_analyze_scalar_cycles): Likewise.
> (vect_analyze_loop_with_symbolic_num_of_iters): Likewise.
No. I'd think about this a bit longer. Caching changing attributes is
always a double-edged sword. In this case, it is entirely possible for
a non-register variable to become a register. However, a register
variable never is converted to a non-register.
If we are going to cache this attribute, I'd probably think about
caching the register bit. Also, this is a symbol attribute, not a PHI