[LLVMdev] Auto-vectorization in GCC 4.0
Devang Patel
dpatel at apple.com
Mon Jul 31 11:47:53 PDT 2006
On Jul 31, 2006, at 11:42 AM, Chris Lattner wrote:
> On Mon, 31 Jul 2006, Devang Patel wrote:
>> On Jul 31, 2006, at 11:14 AM, Vikram Adve wrote:
>>> Does llvmgcc4 convert the high-level AST to LLVM (like
>>> llvmgcc3x) or does it go from GIMPL to LLVM? If the latter,
>>> would it be possible to allow some TreeSSA optimizations before
>>> emitting LLVM?
>> llvmgcc4 intercepts high-level GCC trees to GIMPLE tree
>> transformation routines to get trees that are suitable for LLVM
>> byte code. And TreeSSA optimizer may not be able to handle LLVM
>> suitable GIMPLE trees. One such case is how Array references are
>> handled (&a[i] vs a+i*size). However, I do not know exact details
>> of LLVM byte code generation work inside llvmgcc4.
>
> Another issue is that gimple has various different forms (high
> gimple, low gimple, and several other minor forms). We work on
> "high gimple", so optimizations that require low gimple or later
> forms won't work. I don't know what the gcc vectorizor uses, but
> IIRC it runs late in the pipeline, so it probably is low-gimple.
Yes, it is low-gimple.
>
> I don't think the gimple->llvm translator can't handle low gimple,
> but it may be possible to extend it.
>
> -Chris
-
Devang
More information about the llvm-dev
mailing list