[llvm-bugs] [Bug 31520] New: [guards] canonicalize guards in instcombine

via llvm-bugs llvm-bugs at lists.llvm.org
Tue Jan 3 13:55:05 PST 2017


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

            Bug ID: 31520
           Summary: [guards] canonicalize guards in instcombine
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: Scalar Optimizations
          Assignee: unassignedbugs at nondot.org
          Reporter: listmail at philipreames.com
                CC: llvm-bugs at lists.llvm.org
    Classification: Unclassified

At the moment, instcombine is missing any knowledge of the
llvm.experimental.guard intrinsics.  We should implement canonicalization rules
similar to those used for instcombine:
1) remove immediately adjacent identical guards
2) guard(a && b) -> guard(a); guard(b);
3) guard(!(a || b)) ->guard(!a) guard(!b);

Once those three are done, we could consider implementing a naive form of guard
widening as an extension of (1) above.

-- 
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/20170103/7863252e/attachment.html>


More information about the llvm-bugs mailing list