Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[VPlan] Perform interleaving as VPlan-to-VPlan transform. #94339

Closed
wants to merge 1 commit into from

Commits on Jun 13, 2024

  1. [VPlan] Implement interleaving as VPlan-to-VPlan transform.

    This patch implements explicit interleaving as VPlan transform, thus
    simplifying VPTransform state (no need to store unrolled parts) as well
    as recipe execution (no need to generate code for multiple parts in a
    each recipe). It also allos for more general optimziations (e.g. avoid
    generating code for recipes that are uniform-across parts).
    
    In the initial implementation, a number of recipes still take the
    unrolled part as additional, optional argument, if their execution
    depends on the unrolled part.
    
    The computation for start/step values for scalable inductions changed
    slightly. Previously the step would be computed as scalar and then
    splatted, now vscale gets splatted and multiplied by the step in a
    vector mul.
    
    Depends on llvm#93396.
    fhahn committed Jun 13, 2024
    Configuration menu
    Copy the full SHA
    e536698 View commit details
    Browse the repository at this point in the history