This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: patch to reduce register pressure from strength reduction
- To: toon at moene dot indiv dot nluug dot nl
- Subject: Re: patch to reduce register pressure from strength reduction
- From: Joern Rennecke <amylaar at cygnus dot co dot uk>
- Date: Sun, 31 Jan 1999 17:41:39 +0000 (GMT)
- Cc: amylaar at cygnus dot co dot uk, egcs-patches at cygnus dot com, law at cygnus dot com, wilson at cygnus dot com
The previous patch was not quite general enough - there is an analogous
problem for completely unrolled loops - I have no testcase for that, but
that's what code inspection tells me.
Here is the additional hunk needed:
unroll.c
*************** find_splittable_givs (bl, unroll_type, l
*** 2998,3003 ****
--- 3016,3030 ----
INSN_UID (v->insn));
continue;
}
+ if (v->same && v->same->derived_from)
+ {
+ /* Handle V as if the giv from which V->SAME has
+ been derived has been combined with V. */
+
+ v->same = v->same->derived_from;
+ v->new_reg = express_from (v->same, v);
+ }
+
}
/* Store the value of dest_reg into the insn. This sharing