[PATCH] D18445: [VectorUtils] Don't try and truncate PHIs to a smaller bitwidth

James Molloy via llvm-commits llvm-commits at lists.llvm.org
Thu Mar 24 06:38:37 PDT 2016

Hi Silviu,

Primarily because the LV just doesn’t support PHIs and teaching it would be quite some work. We already have a comment above saying we don’t support PHIs; we just weren’t catching all of them at that point!

Indvars is one of the reasons we don’t support PHI truncation - it’s a minefield. Induction variables often hold pointer values, and calculating the exact situations where these can be truncated successfully was rather tricky when I originally wrote this code.

I could probably put effort into supporting PHIs, but it’s most important to fix this crasher at least in the meantime.


> On 24 Mar 2016, at 13:34, silviu.baranga at arm.com wrote:
> sbaranga added inline comments.
> ================
> Comment at: lib/Analysis/VectorUtils.cpp:557
> @@ +556,3 @@
> +    // indvars.
> +    // If we are required to shrink a PHI, abandon this entire equivalence class.
> +    bool Abort = false;
> ----------------
> Hi James,
> Why would this be a problem for the loop vectorizer (we should state this here)? Also, won't indvars generally extend the phi?
> Cheers,
> Silviu
> Repository:
>  rL LLVM
> http://reviews.llvm.org/D18445

IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.

More information about the llvm-commits mailing list