[llvm-bugs] [Bug 33184] New: NewGVN should account for switch statements with multiple edges to themselves

via llvm-bugs llvm-bugs at lists.llvm.org
Fri May 26 12:49:34 PDT 2017


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

            Bug ID: 33184
           Summary: NewGVN should account for switch statements with
                    multiple edges to themselves
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: All
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: Scalar Optimizations
          Assignee: unassignedbugs at nondot.org
          Reporter: davide at freebsd.org
                CC: dberlin at dberlin.org, llvm-bugs at lists.llvm.org

If switch statements with multiple edges to itself are allowed, then the
current ordering might not work.

Quoting from https://reviews.llvm.org/D24805

"""
Do we allow switch statements with multiple edges to ourself?

ie

bb1:

switch <whatever> [
i32 0 : label bb1
i32 1: label bb1 ]


(which, after propagation,  could cause a phi with different operands and the
same incoming blocks)
If so, either we need stable sorts, or a better ordering of incoming blocks,
because the pointer equality we use will not definitely sort them into a
consistent order
"""

-- 
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/20170526/43af6921/attachment.html>


More information about the llvm-bugs mailing list