On Mon, Aug 22, 2011 at 9:08 AM, Joern Rennecke <amyl...@spamcop.net> wrote:
> Quoting Richard Guenther <richard.guent...@gmail.com>:
>
>>> So are you saying that we should remove the recursive nature of the
>>> rtx_cost/targetm.rtx_costs interface, and have the backend handle any
>>> recursion itself?  I.e. targetm.rtx_costs only ever sees a complete
>>> (but perhaps invalid) instruction pattern?  Or would you still keep
>>> the current recursion?
>>
>> I would say yes to that - kill the recursion.
>
> But the recursion is already optional.  If you don't want to use recursion
> for your port, just make the rtx_costs hook return true.
> There is no need to break ports that are OK to use the recursion in
> rtlanal.c
> partially or in whole.

Exactly.  I don't understand the disagreement about recursion.  For
instance, the rs6000 port explicitly returns true or false for
rtx_costs as necessary for its computation.  If a port wants to
compute rtx_costs without recursion, it already has that control.

Thanks, David

Reply via email to