[llvm-dev] [RFC] Polly Status and Integration

Michael Kruse via llvm-dev llvm-dev at lists.llvm.org
Mon Oct 16 22:57:48 PDT 2017


2017-10-17 7:37 GMT+02:00 Chris Lattner via llvm-dev <llvm-dev at lists.llvm.org>:
> Disclaimer: I haven’t been following this discussion closely, nor do I know
> what is going on in the modern AA/MemorySSA/GVN infra, but:
>
> I’d prefer to avoid abusing the Value* class hierarchy if reasonable.
> Adding new subclasses that only occur in special cases makes it more
> difficult to reason about what can occur and when.  A historical example
> that always grated against my sensibilities was CodeGen/PseudoSourceValue,
> which originally inherited from Value in order to make it “fit better” into
> the AA infra.  Thankfully Nick Lewycky broke that tie back in a patch on Tue
> Apr 15 07:22:52 2014, and the codebase has been better off for that change.

The idea I was proposing is to move instructions to different places
because it helps some kinds of analyses, but could be more expensive
to executes there. This could also be undone again by passes such as
GVN and LICM. Would this also be an abuse of the IR? It does not
involve extending the llvm::Value hierarchy.

This is different for VPlan. VPRecipe has its own class hierarchy
(VPRecipeTy), but I am not sure whethere one could construct a 1:1
relationship between them and vectorized IR instructions.

Michael


More information about the llvm-dev mailing list