[LLVMbugs] [Bug 23417] New: Support conditional returns and conditional indirect calls

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Tue May 5 10:47:59 PDT 2015


            Bug ID: 23417
           Summary: Support conditional returns and conditional indirect
           Product: libraries
           Version: trunk
          Hardware: Other
                OS: Linux
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: Backend: SystemZ
          Assignee: unassignedbugs at nondot.org
          Reporter: uweigand at de.ibm.com
                CC: llvmbugs at cs.uiuc.edu
    Classification: Unclassified

System z uses an unconditional branch instruction to implement returns
and indirect calls.  However, the BRANCH ON CONDITION instruction could
also be used with a condition field, which would allow implementing
*conditional* returns and *conditional* indirect calls (if circumstances
otherwise allow), e.g. from source code like this:

  if (cond)

  if (cond)

This is not yet implemented.

By adding appropriate instructions to PredicateInstruction and related
routines, the IfConversion pass should be able to detect and optimize
those situations.

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/20150505/14658d2b/attachment.html>

More information about the llvm-bugs mailing list