This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: REG_NO_CONFLICT vs lower-subreg
- From: Paolo Bonzini <paolo dot bonzini at lu dot unisi dot ch>
- To: Bernd Schmidt <bernds_cb1 at t-online dot de>
- Cc: GCC List <gcc at gcc dot gnu dot org>, Ian Lance Taylor <ian at airs dot com>
- Date: Tue, 17 Apr 2007 02:50:03 +0200
- Subject: Re: REG_NO_CONFLICT vs lower-subreg
- References: <462417C5.1060202@t-online.de>
- Reply-to: bonzini at gnu dot org
I suppose we could add a target macro to let individual ports turn off
REG_NO_CONFLICT generation? Any other ideas?
A pass to reorder insns so that live ranges are shortened and register
pressure is relieved.
Could be something like
for each bb
for each insn
for each active insn
if it has operands that are defined in the current insn
remove it from active insn list
emit it before current insn
if this insn has no operand that dies in this insn
remove it from insn stream
add it to active insn list
for each active insn
if it has operands that are die after the current insn
remove it from active insn list
emit it after current insn
emit all active insns
Paolo