Skip to content

Fuse a split with PredicateStores leads to infinite simplication #7742

@TH3CHARLie

Description

@TH3CHARLie

A simple repro:

#include "Halide.h"

using namespace Halide;

int main(int argc, char **argv) {
    Var x, y, x_outer, x_inner, y_x_inner_fused;
    Func f;
    f(x, y) = x + y;
    f.split(x, x_outer, x_inner, 2, TailStrategy::PredicateStores).fuse(y, x_inner, y_x_inner_fused);
    Pipeline p(f);
    p.realize({100, 100});
    return 0;
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions