This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: GCC Optimisation, Part 0: Introduction
- From: Nathan Froyd <froydnj at codesourcery dot com>
- To: Paolo Bonzini <bonzini at gnu dot org>
- Cc: Yuan Pengfei <coolypf at qq dot com>, Dimitrios Apostolou <jimis at gmx dot net>, gcc <gcc at gcc dot gnu dot org>
- Date: Fri, 29 Apr 2011 07:15:30 -0700
- Subject: Re: GCC Optimisation, Part 0: Introduction
- References: <tencent_4BC1F38C7378A1F01605DADC@qq.com> <4DBA6660.50901@gnu.org>
On Fri, Apr 29, 2011 at 09:18:56AM +0200, Paolo Bonzini wrote:
> * Get rid of EXPR_LIST and INSN_LIST
This is reasonably difficult, though particular subprojects may be easy
enough. Notable uses of EXPR_LIST:
- loop-iv.c
- the interface to TARGET_FUNCTION_VALUE
- the scheduler
- REG_NOTES
- var-tracking.c
- reload
Notable uses of INSN_LIST:
- the scheduler
- reload
- gcse.c
The biggest uses of each in the scheduler ought to be easy to deal with,
but the scheduler manipulates the lists in peculiar ways.
> * cxx_binding should be 16 bytes, not 20.
Not your fault, but comments like this on SpeedupAreas are so opaque as
to be useless. *Why* should cxx_binding be 16 bytes? Should we take
the next member out and have a VEC someplace instead of chaining? Are
we duplicating information in the members themselves? Etc.
-Nathan