https://bugs.llvm.org/show_bug.cgi?id=46652

            Bug ID: 46652
           Summary: opt -loop-vectorize fails with
                    llvm::LoopVectorizationCostModel::runtimeChecksRequire
                    d(): Assertion
                    `Legal->getLAI()->getSymbolicStrides().empty() &&
                    "Specializing for stride == 1 under -Os/-Oz"' failed.
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: Loop Optimizer
          Assignee: unassignedb...@nondot.org
          Reporter: mikael.hol...@ericsson.com
                CC: llvm-bugs@lists.llvm.org

Created attachment 23708
  --> https://bugs.llvm.org/attachment.cgi?id=23708&action=edit
bbi-45006.ll reproducer

Reproduce with:
 opt -o /dev/null -loop-vectorize bbi-45006.ll

Result:

opt: ../lib/Transforms/Vectorize/LoopVectorize.cpp:4941: bool
llvm::LoopVectorizationCostModel::runtimeChecksRequired(): Assertion
`Legal->getLAI()->getSymbolicStrides().empty() && "Specializing for stride == 1
under -Os/-Oz"' failed.

Starts failing with 7bf299c8d8d5:

    [LV] Vectorize without versioning-for-unit-stride under -Os/-Oz

    If a loop is in a function marked OptSize, Loop Access Analysis should
refrain
    from generating runtime checks for unit strides that will version the loop.

    If a loop is in a function marked OptSize and its vectorization is enabled,
it
    should be vectorized w/o any versioning.

    Fixes PR46228.

    Differential Revision: https://reviews.llvm.org/D81345

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to