mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-15 14:01:04 +08:00
Fix miscompile of 416.gamess.
2010-07-29 Sebastian Pop <sebastian.pop@amd.com> * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Add back the case removed in the previous patch, when the only phi argument is defined in the same loop as the phi node itself. Handle it separately from the invariant case by both propagating it outside the region and replacing the phi node with an assign. From-SVN: r163169
This commit is contained in:
parent
974335d63c
commit
9707eeb0cf
@ -1,3 +1,11 @@
|
||||
2010-08-02 Sebastian Pop <sebastian.pop@amd.com>
|
||||
|
||||
* graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Add back
|
||||
the case removed in the previous patch, when the only phi argument
|
||||
is defined in the same loop as the phi node itself. Handle it
|
||||
separately from the invariant case by both propagating it outside
|
||||
the region and replacing the phi node with an assign.
|
||||
|
||||
2010-08-02 Sebastian Pop <sebastian.pop@amd.com>
|
||||
|
||||
* graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): The only
|
||||
|
@ -1,3 +1,11 @@
|
||||
2010-07-29 Sebastian Pop <sebastian.pop@amd.com>
|
||||
|
||||
* graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Add back
|
||||
the case removed in the previous patch, when the only phi argument
|
||||
is defined in the same loop as the phi node itself. Handle it
|
||||
separately from the invariant case by both propagating it outside
|
||||
the region and replacing the phi node with an assign.
|
||||
|
||||
2010-07-28 Sebastian Pop <sebastian.pop@amd.com>
|
||||
|
||||
* graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): The only
|
||||
|
@ -2249,6 +2249,16 @@ rewrite_close_phi_out_of_ssa (gimple_stmt_iterator *psi, sese region)
|
||||
return;
|
||||
}
|
||||
|
||||
else if (gimple_bb (SSA_NAME_DEF_STMT (arg))->loop_father == bb->loop_father)
|
||||
{
|
||||
propagate_expr_outside_region (res, arg, region);
|
||||
stmt = gimple_build_assign (res, arg);
|
||||
remove_phi_node (psi, false);
|
||||
gsi_insert_before (&gsi, stmt, GSI_NEW_STMT);
|
||||
SSA_NAME_DEF_STMT (res) = stmt;
|
||||
return;
|
||||
}
|
||||
|
||||
/* If res is scev analyzable and is not a scalar value, it is safe
|
||||
to ignore the close phi node: it will be code generated in the
|
||||
out of Graphite pass. */
|
||||
|
Loading…
x
Reference in New Issue
Block a user