[LLVMdev] What does promote elements do ?

Duncan Sands baldrick at free.fr
Tue Jul 3 06:49:20 PDT 2012


Hi Sebastien,
> I was wondering what was promote element pass doing ?

maybe you mean the logic that tries to turn illegal vector types into legal
vector types by turning (for example) <4 x i16> into <4 x i32> when <4 x i16>
is an illegal type but <4 x i32> is legal?  The logic used to be to turn
<4 x i16> into <8 x i16> when <8 x i16> is legal, but on the whole making the
element type bigger (i16 -> i32) results in better code than making the vector
longer (4 x -> 8 x) which is why it is now the default.

Ciao, Duncan.

> It seems that it has been turned on by default in llc since LLVM 3.1 and it
> exposes a lot of BUG for ARM target.
>
> Not sure those are ARM backend bugs or promote elements bugs. However ARM BUGS
> are not release blockers, it is a significant regression versus LLVM 3.0.
>
> Can this be disabled by default for ARM target ?
>
> Best Regards
>
> Seb
>
>
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>





More information about the llvm-dev mailing list