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: unassignedb...@nondot.org
          Reporter: dav...@freebsd.org
                CC: dber...@dberlin.org, llvm-bugs@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.
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to