<div dir="ltr">On 13 November 2013 11:51, Richard Sandiford <span dir="ltr"><<a href="mailto:rsandifo@linux.vnet.ibm.com" target="_blank">rsandifo@linux.vnet.ibm.com</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote">

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">  ...the point is that we never want vector operations to be left around<br>
  on SystemZ, regardless of the frontend.  In my use case, this is target-<br>
  specific rather than a frontend-specific property.</blockquote><div><br></div><div>That's a separate issue, and shouldn't be "fixed" with a scalarizer pass. Is there any pass, other than the vectorizers, that creates vector instructions? AFAIK, you can inhibit the vectorizers by setting the target information to disallow vector instructions, I'd think that other passes would do the same.</div>
<div><br></div><div> <br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  We're always going<br>
  to scalarise eventually, whether it's at the IR level or at the CodeGen<br>
  level, and doing it at the IR level is preferable because it exposes more<br>
  optimisation opportunities.<br></blockquote><div><br></div><div>This is a good point, but still strikes me as a front-end option. There are many front-end options that are enabled by default on certain targets.</div><div>
<br></div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">  Although the pass is added to the PassManagerBuilder by default, it doesn't<br>
  do anything unless the target wants it to.<br></blockquote><div></div></div><br></div><div class="gmail_extra">It should be a matter of features, not targets. Anyway, is there any other pass that has this kind of target-specific behaviour?</div>
<div class="gmail_extra"><br></div><div class="gmail_extra">I'd prefer if the code-owner of some area more relevant to the pass manager would give his/her input.</div><div class="gmail_extra"><br></div><div class="gmail_extra">
cheers,</div><div class="gmail_extra">--renato</div></div>