[LLVMbugs] [Bug 454] NEW: InstCombine Transform Broken for set[lg]t (cast X to X++), CI

bugzilla-daemon at cs.uiuc.edu bugzilla-daemon at cs.uiuc.edu
Tue Nov 2 07:04:51 PST 2004


http://llvm.cs.uiuc.edu/bugs/show_bug.cgi?id=454

           Summary: InstCombine Transform Broken for set[lg]t (cast X to
                    X++), CI
           Product: libraries
           Version: trunk
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: minor
          Priority: P2
         Component: Scalar Optimizations
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: rspencer at x10sys.com


Currently, the instruction combiner is broken when it tries to eliminate a setcc
with a cast and a constant as an argument under a number of constraints:

1. Only for setgt (>) and setlt (<)
2. Only when one of the operands is a case and the other is a constant
3. Only when the cast is to a larger integer type (e.g. sbyte -> int).

The code in question is the switch case starting at InstructionCombining.cpp:2021. 

Currently, the optimization has been disabled (leading to performance
degradation of generated code). The disablement was provided by this patch:

http://mail.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20041101/020140.html

This bug aims to fix the pessimization by correctly re-enabling the optimization.



------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.




More information about the llvm-bugs mailing list