IBM Support

LI77973: COMPILER GENERATES INEFFICIENT CODE.

Subscribe

You can track all active APARs for this component.

APAR status

  • Closed as program error.

Error description

  • Compiler generates code with 2 branches instead of 1 branch
    only. To fix the problem compiler needs to recognize the
    following pattern in the code:
       ...
       C[4|8]  cr300=gr100,a
       BT      CL.2,cr300,0x1/lt
       ...
       C[4|8]  cr500=gr100,b
       BT      CL.2,cr400,0x2/gt
       ...
    and optimize it to more efficient pattern:
        ...
         S  gr200=gr100,a
         S  gr300=b,a
         CL[4|8]  cr500=gr300,gr200
         BT      CL.2,cr400,0x2/gt
    

Local fix

  • Not applicable.
    

Problem summary

  • Compiler generates code with 2 branches instead of 1 branch only
    

Problem conclusion

  • Compiler recognizes the pattern and rewrites the expression and
    branch
    

Temporary fix

Comments

APAR Information

  • APAR number

    LI77973

  • Reported component name

    XL C/C++ FOR LI

  • Reported component ID

    5725C7300

  • Reported release

    C10

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2014-04-30

  • Closed date

    2014-04-30

  • Last modified date

    2014-04-30

  • APAR is sysrouted FROM one or more of the following:

    IV55361

  • APAR is sysrouted TO one or more of the following:

Fix information

  • Fixed component name

    XL C/C++ FOR LI

  • Fixed component ID

    5725C7300

Applicable component levels



Document information

More support for: XL C/C++ for Linux
Compiler

Software version: 12.1

Reference #: LI77973

Modified date: 30 April 2014