This is the mail archive of the
mailing list for the GCC project.
Re: Fix PR33576 ICE in lamdba
- From: "Daniel Berlin" <dberlin at dberlin dot org>
- To: "Sebastian Pop" <sebpop at gmail dot com>
- Cc: "GCC Patches" <gcc-patches at gcc dot gnu dot org>
- Date: Tue, 2 Oct 2007 19:44:12 -0700
- Subject: Re: Fix PR33576 ICE in lamdba
- References: <firstname.lastname@example.org>
On 10/2/07, Sebastian Pop <email@example.com> wrote:
> This patch fixes the ICE of PR33576. The ICE is due to the fact that
> we were removing dead induction variables that were still referenced
> in chrecs. I caused this PR with one of the code transforms to have
> the generated code from lambda being vectorized.
> This patch collects all the dead ivs, and removes them only after
> loop linear finishes. The patch bootstraps and passes check on
> amd64-linux. Okay for trunk?
> PR tree-optimization/33576
> * testsuite/gcc.dg/tree-ssa/pr33576.c: New.
> * tree-loop-linear.c (linear_transform_loops): Call remove_iv.
> * lambda.h (lambda_loopnest_to_gcc_loopnest): New parameter.
> (remove_iv): Declared.
> * lambda-code.c (remove_iv): Not static.
> (lambda_loopnest_to_gcc_loopnest): New parameter remove_ivs.
> Don't remove ivs there, save ivs in the buffer.