This is the mail archive of the
mailing list for the GCC project.
Re: Question about constraints and reload
- From: Steven Bosscher <stevenb at suse dot de>
- To: Ulrich Weigand <weigand at i1 dot informatik dot uni-erlangen dot de>
- Cc: weigand at i1 dot informatik dot uni-erlangen dot de (Ulrich Weigand),gcc at gcc dot gnu dot org
- Date: Sat, 25 Sep 2004 19:23:33 +0200
- Subject: Re: Question about constraints and reload
- Organization: SUSE Labs
- References: <200409251639.SAA07598@faui1m.informatik.uni-erlangen.de>
On Saturday 25 September 2004 18:39, Ulrich Weigand wrote:
> > So I thought perhaps we should be more strict about satisfying operand
> > constraints before reload. Hence my question.
> This is kind of contradictory -- the primary purpose of the reload pass
> is to satisfy operand constraints. If they were always satisfied before
> reload we wouldn't need it ...
That's not a contradiction, it's the whole point ;-)
You conveniently ignored my remark about reload redoing almost complete
register allocations after the register allocator. Apparently you do not
think that is odd.
We'll probably always need reload of some form. But one way or another
we will have to provide an instruction stream to the register allocator on
which it can do its job properly, without getting overruled by reload.
Of course, "force-const-to-mem" is only one problem. And if you're right
about it typically not needing a new reg, not even a serious one compared
to some others.
> The problem is that there isn't a single set of non-legitimate constants
> vs. legitimate constants.