[Bug tree-optimization/66997] outer loop reduction fails to parallelize with graphite
vries at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Jul 24 15:48:00 GMT 2015
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66997
--- Comment #1 from vries at gcc dot gnu.org ---
loop nest at parloops:
...
parloop (int N)
{
_Bool Cross_BB_scalar_dependence.11_I_lsm.23;
unsigned int Cross_BB_scalar_dependence.11_I_lsm.22;
_Bool Cross_BB_scalar_dependence.13_I_lsm.21;
unsigned int Cross_BB_scalar_dependence.13_I_lsm.20;
_Bool Commutative_Associative_Reduction.19;
unsigned int Commutative_Associative_Reduction.18;
_Bool Close_Phi.10_I_lsm.17;
unsigned int Close_Phi.10_I_lsm.16;
signed long graphite_IV.15;
signed long graphite_IV.14;
unsigned int Cross_BB_scalar_dependence.13[1];
unsigned int D.1890;
unsigned int Cross_BB_scalar_dependence.12[1];
unsigned int D.1888;
unsigned int D.1887;
unsigned int D.1886;
unsigned int D.1885;
unsigned int D.1884;
unsigned int Cross_BB_scalar_dependence.11[1];
unsigned int D.1882;
unsigned int D.1881;
unsigned int Close_Phi.10[1];
unsigned int Commutative_Associative_Reduction.9[1];
_Bool y_I_lsm.8;
unsigned int y_I_lsm.7;
unsigned int sum;
int j;
int i;
_Bool _38;
signed long _39;
signed long _40;
_Bool _47;
signed long _48;
signed long _49;
unsigned int _52;
int _53;
int _54;
int _62;
unsigned int _67;
<bb 2>:
if (N_8(D) > 0)
goto <bb 3>;
else
goto <bb 13>;
<bb 3>:
Commutative_Associative_Reduction.9[0] = 0;
_38 = N_8(D) > 0;
if (_38 != 0)
goto <bb 4>;
else
goto <bb 12>;
<bb 4>:
_39 = (signed long) N_8(D);
_40 = _39 + -1;
Commutative_Associative_Reduction.18_34 =
Commutative_Associative_Reduction.9[0];
Close_Phi.10_I_lsm.16_10 = Close_Phi.10[0];
<bb 5>:
# graphite_IV.14_41 = PHI <0(4), graphite_IV.14_42(10)>
# Close_Phi.10_I_lsm.16_55 = PHI <Close_Phi.10_I_lsm.16_10(4),
Close_Phi.10_I_lsm.16_37(10)>
# Close_Phi.10_I_lsm.17_22 = PHI <0(4), Close_Phi.10_I_lsm.17_6(10)>
# Commutative_Associative_Reduction.18_24 = PHI
<Commutative_Associative_Reduction.18_34(4), sum_65(10)>
_47 = N_8(D) > 0;
if (_47 != 0)
goto <bb 6>;
else
goto <bb 9>;
<bb 6>:
_48 = (signed long) N_8(D);
_49 = _48 + -1;
<bb 7>:
# graphite_IV.15_50 = PHI <0(6), graphite_IV.15_51(8)>
_53 = (int) graphite_IV.14_41;
_54 = (int) graphite_IV.15_50;
_52 = x[_53][_54];
graphite_IV.15_51 = graphite_IV.15_50 + 1;
if (graphite_IV.15_50 < _49)
goto <bb 8>;
else
goto <bb 9>;
<bb 8>:
goto <bb 7>;
<bb 9>:
# Close_Phi.10_I_lsm.16_37 = PHI <_52(7), Close_Phi.10_I_lsm.16_55(5)>
# Close_Phi.10_I_lsm.17_6 = PHI <1(7), Close_Phi.10_I_lsm.17_22(5)>
_62 = (int) graphite_IV.14_41;
y[_62] = Close_Phi.10_I_lsm.16_37;
sum_65 = Commutative_Associative_Reduction.18_24 + Close_Phi.10_I_lsm.16_37;
graphite_IV.14_42 = graphite_IV.14_41 + 1;
if (graphite_IV.14_41 < _40)
goto <bb 10>;
else
goto <bb 11>;
<bb 10>:
goto <bb 5>;
<bb 11>:
# Close_Phi.10_I_lsm.17_74 = PHI <Close_Phi.10_I_lsm.17_6(9)>
# Commutative_Associative_Reduction.18_77 = PHI <sum_65(9)>
Commutative_Associative_Reduction.9[0] =
Commutative_Associative_Reduction.18_77;
<bb 12>:
_67 = Commutative_Associative_Reduction.9[0];
Cross_BB_scalar_dependence.12[0] = _67;
sum_31 = Cross_BB_scalar_dependence.12[0];
<bb 13>:
# sum_25 = PHI <sum_31(12), 0(2)>
g_sum = sum_25;
return;
}
...
More information about the Gcc-bugs
mailing list