Fixes are available
APAR status
Closed as program error.
Error description
When trying to compile a small test case using -qhot and/or -qipa, compilation hangs. It appears that during compilation, the compiler becomes trapped within an infinite loop. Test case hangs in the same location when the following options are used: 1) -qhot=level=1 2) -qhot=level=0 -qipa=level=2 ========== Test Case: void rounds(unsigned short *a,unsigned short *b,unsigned int r) { unsigned short ai, bi, aandb, axorb, carry, z; int i; while (r > 0) { /* add x[0....] into x[1....]: */ carry = 0; for (i = 0;i < 32;++i) { ai = a[i]; bi = b[i]; aandb = ai & bi; axorb = ai ^ bi; b[i] = axorb ^ carry; carry &= axorb; carry |= aandb; } /*rotate x[0....] upwards by 11 bits, and swap 0.0.. with 0.1..:*/ i = 0; ai = a[i]; do { z = ((ai >> 4) & 0x0f0f) | ((ai & 0x0f0f) << 4); i = (i + 11) & 31; ai = a[i]; a[i] = z; } while (i != 0); /*xor x[1....] into x[0....], and swap 1...0 with 1...1:*/ for (i = 0;i < 32;++i) { bi = b[i]; a[i] ^= bi; b[i] = ((bi >> 1) & 0x5555) | ((bi & 0x5555) << 1); } --r; } } =====================
Local fix
Compile with: "-qhot=level=0" or "-qhot=level=0 -qipa=level=0" or "-qhot=level=0 -qipa=level=1" Another workaround is to either increase or decrease the limit on the second 'for' loop. Ensure that the limit is not 32.
Problem summary
PROBLEM DESCRIPTION: There is an infinite loop in the compiler when attempting to build the Acyclic DDG, used by loop fusion. USERS AFFECTED: Any users using -qhot.
Problem conclusion
Problem should be fixed.
Temporary fix
Comments
APAR Information
APAR number
LI75853
Reported component name
XL C/C++ SLES10
Reported component ID
5724U8300
Reported release
A10
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2011-01-27
Closed date
2011-01-27
Last modified date
2011-01-27
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fix information
Fixed component name
XL C/C++ SLES10
Fixed component ID
5724U8300
Applicable component levels
RA10 PSN IZ86837
UP06/09/13
[{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SSJT9L","label":"XL C\/C++"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"A.1","Line of Business":{"code":"LOB08","label":"Cognitive Systems"}}]
Document Information
Modified date:
15 October 2021