Skip to content

Internal Error that may related to ShiftInWards or nested vectorization #8038

@TH3CHARLie

Description

@TH3CHARLie

A reproducing case simplified from the fuzzer:

        Func input("input");
        Func local_sum("local_sum");
        Func blurry("blurry");
        Var x("x"), y("y"), yi("yi"), yo("yo"), xi("xi"), xo("xo"), yofxi("yofxi"), yofxio("yofxio"), yofxii("yofxii"), yofxiifyi("yofxiifyi"), yofxioo("yofxioo"), yofxioi("yofxioi");
        input(x, y) = 2 * x + 5 * y;
        RDom r(-2, 5, -2, 5, "rdom_r");
        local_sum(x, y) = 0;
        local_sum(x, y) += input(x + r.x, y + r.y);
        blurry(x, y) = cast<int32_t>(local_sum(x, y) / 25);
        local_sum.split(y, yi, yo, 2, TailStrategy::GuardWithIf).split(x, xi, xo, 5, TailStrategy::Predicate).fuse(yo, xi, yofxi).split(yofxi, yofxio, yofxii, 8, TailStrategy::ShiftInwards).fuse(yofxii, yi, yofxiifyi).split(yofxio, yofxioo, yofxioi, 5, TailStrategy::ShiftInwards).vectorize(yofxiifyi).vectorize(yofxioi);
        local_sum.update(0).unscheduled();
        blurry.split(x, xo, xi, 5, TailStrategy::Auto);
        Pipeline p({blurry});
        buf = p.realize({128, 128});

compile this program triggers:

Internal Error at /home/xuanda/dev/Serializer/Halide/src/IR.cpp:102 triggered by user code at : Condition failed: a.type() == b.type(): Min of mismatched types

cc @abadams @derek-gerstmann

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