[llvm-bugs] [Bug 46276] New: llc crashes with Instructions.cpp:2056: bool isSingleSourceMaskImpl(ArrayRef<int>, int): Assertion `(UsesLHS ^ UsesRHS) && "Should have selected from exactly 1 source"' failed.

via llvm-bugs llvm-bugs at lists.llvm.org
Thu Jun 11 00:34:08 PDT 2020


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

            Bug ID: 46276
           Summary: llc crashes with Instructions.cpp:2056: bool
                    isSingleSourceMaskImpl(ArrayRef<int>, int): Assertion
                    `(UsesLHS ^ UsesRHS) && "Should have selected from
                    exactly 1 source"' failed.
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: Common Code Generator Code
          Assignee: unassignedbugs at nondot.org
          Reporter: mikael.holmen at ericsson.com
                CC: llvm-bugs at lists.llvm.org

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

Reproduce with:
 llc -march=x86-64 -mcpu=corei7 -o /dev/null cgp_crash.ll

Result:
 llc: ../lib/IR/Instructions.cpp:2056: bool
isSingleSourceMaskImpl(ArrayRef<int>, int): Assertion `(UsesLHS ^ UsesRHS) &&
"Should have selected from exactly 1 source"' failed.

With -debug-pass=Executions the last thing we see is
 [2020-06-11 09:28:04.823322421] 0x5ed2ea0     Executing Pass 'CodeGen Prepare'
on Function 'autogen_SD20565'...


Starts happening with fa8bff0cd1a:

    [CostModel] Unify getArithmeticInstrCost

    Add the remaining arithmetic opcodes into the generic implementation
    of getUserCost and then call this from getInstructionThroughput. Most
    of the backends have been modified to return the base implementation
    for cost kinds other RecipThroughput. The outlier here is AMDGPU
    which already uses getArithmeticInstrCost for all the cost kinds.
    This change means that most of the opcodes can be removed from that
    backends implementation of getUserCost.

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

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20200611/be38efea/attachment.html>


More information about the llvm-bugs mailing list