> On Tue, Oct 21, 2014 at 7:20 PM, Yangfei (Felix) <felix.y...@huawei.com> 
> wrote:
> > If the tripcount spill issue is not handled in the pattern, ICE may happen 
> > then.
> > Here reload is trying to spill pseudo 173, but a memory operand is not 
> > allowed
> in zero_cost_loop_end pattern.
> > And this is what I am trying to solve.
> 
> We have full control of the zero_cost_loop_end pattern. Plus, it doesn't 
> actually
> generate any real code. Edit it so it can take a memory operand.

Here the key point is we need a general purpose register for the "loop" 
instruction. 
If the trip count register is spilled, we don't have a general purpose register 
then. And we cannot use zero-cost looping in this situation.
And that's why I spilt the zero_cost_loop_end into a normal test and branch. 

Reply via email to