[PATCH] Add a Scalarize pass

Richard Sandiford rsandifo at linux.vnet.ibm.com
Wed Nov 13 03:50:29 PST 2013

Renato Golin <renato.golin at linaro.org> writes:
>   Hi Pekka,

Not sure if this was really directed at Pekka or me, but...

>   The number of tests seem good, but it is enabled by default on the
> PassManagerBuilder, and that's not a good thing.
>   I think what you need here is to enable that as a command-line option
> (opt, later clang, etc), use opt to test the pass, and let specific
> front-ends enable them by deafult if they so wish, in their private
> implementations.

...the point is that we never want vector operations to be left around
on SystemZ, regardless of the frontend.  In my use case, this is target-
specific rather than a frontend-specific property.  We're always going
to scalarise eventually, whether it's at the IR level or at the CodeGen
level, and doing it at the IR level is preferable because it exposes more
optimisation opportunities.

Although the pass is added to the PassManagerBuilder by default, it doesn't
do anything unless the target wants it to.


More information about the llvm-commits mailing list