mirror of git://gcc.gnu.org/git/gcc.git
re PR libgomp/84466 (libgomp.graphite/force-parallel-8.c fails starting with r257723)
2018-02-27 Richard Biener <rguenther@suse.de> PR tree-optimization/84466 * graphite-scop-detection.c (scop_detection::stmt_simple_for_scop_p): Adjust last change to less strictly validate use operands. From-SVN: r258035
This commit is contained in:
parent
e59b5e24ea
commit
c16d3e3c87
|
|
@ -1,3 +1,9 @@
|
||||||
|
2018-02-27 Richard Biener <rguenther@suse.de>
|
||||||
|
|
||||||
|
PR tree-optimization/84466
|
||||||
|
* graphite-scop-detection.c (scop_detection::stmt_simple_for_scop_p):
|
||||||
|
Adjust last change to less strictly validate use operands.
|
||||||
|
|
||||||
2018-02-27 Martin Liska <mliska@suse.cz>
|
2018-02-27 Martin Liska <mliska@suse.cz>
|
||||||
|
|
||||||
PR gcov-profile/84548
|
PR gcov-profile/84548
|
||||||
|
|
|
||||||
|
|
@ -1028,16 +1028,23 @@ scop_detection::stmt_simple_for_scop_p (sese_l scop, gimple *stmt,
|
||||||
case GIMPLE_ASSIGN:
|
case GIMPLE_ASSIGN:
|
||||||
case GIMPLE_CALL:
|
case GIMPLE_CALL:
|
||||||
{
|
{
|
||||||
tree op;
|
tree op, lhs = gimple_get_lhs (stmt);
|
||||||
ssa_op_iter i;
|
ssa_op_iter i;
|
||||||
|
/* If we are not going to instantiate the stmt do not require
|
||||||
|
its operands to be instantiatable at this point. */
|
||||||
|
if (lhs
|
||||||
|
&& TREE_CODE (lhs) == SSA_NAME
|
||||||
|
&& scev_analyzable_p (lhs, scop))
|
||||||
|
return true;
|
||||||
/* Verify that if we can analyze operands at their def site we
|
/* Verify that if we can analyze operands at their def site we
|
||||||
also can represent them when analyzed at their uses. */
|
also can represent them when analyzed at their uses. */
|
||||||
FOR_EACH_SSA_TREE_OPERAND (op, stmt, i, SSA_OP_USE)
|
FOR_EACH_SSA_TREE_OPERAND (op, stmt, i, SSA_OP_USE)
|
||||||
if (scev_analyzable_p (op, scop)
|
if (scev_analyzable_p (op, scop)
|
||||||
&& !graphite_can_represent_expr (scop, bb->loop_father, op))
|
&& chrec_contains_undetermined
|
||||||
|
(scalar_evolution_in_region (scop, bb->loop_father, op)))
|
||||||
{
|
{
|
||||||
DEBUG_PRINT (dp << "[scop-detection-fail] "
|
DEBUG_PRINT (dp << "[scop-detection-fail] "
|
||||||
<< "Graphite cannot represent stmt:\n";
|
<< "Graphite cannot code-gen stmt:\n";
|
||||||
print_gimple_stmt (dump_file, stmt, 0,
|
print_gimple_stmt (dump_file, stmt, 0,
|
||||||
TDF_VOPS | TDF_MEMSYMS));
|
TDF_VOPS | TDF_MEMSYMS));
|
||||||
return false;
|
return false;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue