This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [patch] Improve chrec_convert PR/21861 and PR/18403
- From: Daniel Berlin <dberlin at dberlin dot org>
- To: Sebastian Pop <sebastian dot pop at cri dot ensmp dot fr>
- Cc: gcc-patches at gcc dot gnu dot org, dnovillo at redhat dot com
- Date: Tue, 07 Jun 2005 14:28:37 -0400
- Subject: Re: [patch] Improve chrec_convert PR/21861 and PR/18403
- References: <20050607181412.GA12738@napoca.cri.ensmp.fr>
You know, as a chrec maintainer, you can approve this patch :)
On Tue, 2005-06-07 at 20:14 +0200, Sebastian Pop wrote:
> Hello,
>
> Here is a patch that solve some of the type conversion problems that
> lead to unhandled expressions in the vectorizer, in loop-linear as
> Daniel has pointed out, or more generally in all the users of the scev
> analyzer, i.e. VRP.
>
> Before this patch you'd get ugly expressions with lots of casts that
> didn't fold like that:
> ib_16 + (aint *) ((long unsigned int) {off_11, +, 1}_1 * 4)
>
> After the patch you get simpler expressions that can be handled by the
> optimizers like: {base, +, step}_loop
> {ib_16 + (aint *) ((long unsigned int) off_11 * 4), +, 4B}_1
>
> The patch fixes two TODOs left in the source: the first is in the
> chrec_convert function, where we provide now more precise information
> to convert_step, the second fixed todo is in VRP.
>
> Bootstrapped and tested on i686-pc-linux-gnu and
> x86_64-unknown-linux-gnu. Ok for mainline?
>
> Sebastian