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

            Bug ID: 42405
           Summary: [ARM] SCE optimization pass hoisting DIV operation
                    outside of is-else BB as a speculative execution
           Product: tools
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: llc
          Assignee: [email protected]
          Reporter: [email protected]
                CC: [email protected]

Created attachment 22144
  --> https://bugs.llvm.org/attachment.cgi?id=22144&action=edit
reproducer mir file

Attached is an MIR test (reproducer.mir) that shows a case where the original
sequence performs the DIV operation only if the divisor is not 0. But after
running MachineCSE pass we can see that the DIV was hoisted outside of the
if-else BBs, what would result in an integer division by zero.

The command line for running the pass is:
llc -mtriple=aarch64-none-linux-gnu -run-pass=machine-cse -asm-verbose=1
-verify-machineinstrs reproducer.mir -o after-pass

Most likely that this bug was introduced in: https://reviews.llvm.org/rL362901.
Owner of the change is already investigating the issue.

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

Reply via email to