diff options
author | Jan Hubicka <jh@suse.cz> | 2013-08-09 13:44:27 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2013-08-09 11:44:27 +0000 |
commit | aa1e10cca1049ef530f29d8be485dab7be3bb69e (patch) | |
tree | 1c25e859a3f97f323de1162ed071b83dc222a419 /gcc/lto-streamer-in.c | |
parent | 65a372f494f5db55b3f806fdf7853f931bf085d7 (diff) | |
download | gcc-aa1e10cca1049ef530f29d8be485dab7be3bb69e.zip gcc-aa1e10cca1049ef530f29d8be485dab7be3bb69e.tar.gz gcc-aa1e10cca1049ef530f29d8be485dab7be3bb69e.tar.bz2 |
lto-streamer-out.c (output_function): Renumber PHIs.
* lto-streamer-out.c (output_function): Renumber PHIs.
* lto-streamer-in.c (input_function): Likewise.
From-SVN: r201627
Diffstat (limited to 'gcc/lto-streamer-in.c')
-rw-r--r-- | gcc/lto-streamer-in.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/gcc/lto-streamer-in.c b/gcc/lto-streamer-in.c index 70a87d1..9dc8438 100644 --- a/gcc/lto-streamer-in.c +++ b/gcc/lto-streamer-in.c @@ -908,6 +908,11 @@ input_function (tree fn_decl, struct data_in *data_in, FOR_ALL_BB (bb) { gimple_stmt_iterator gsi; + for (gsi = gsi_start_phis (bb); !gsi_end_p (gsi); gsi_next (&gsi)) + { + gimple stmt = gsi_stmt (gsi); + gimple_set_uid (stmt, inc_gimple_stmt_max_uid (cfun)); + } for (gsi = gsi_start_bb (bb); !gsi_end_p (gsi); gsi_next (&gsi)) { gimple stmt = gsi_stmt (gsi); @@ -917,7 +922,14 @@ input_function (tree fn_decl, struct data_in *data_in, stmts = (gimple *) xcalloc (gimple_stmt_max_uid (fn), sizeof (gimple)); FOR_ALL_BB (bb) { - gimple_stmt_iterator bsi = gsi_start_bb (bb); + gimple_stmt_iterator bsi = gsi_start_phis (bb); + while (!gsi_end_p (bsi)) + { + gimple stmt = gsi_stmt (bsi); + gsi_next (&bsi); + stmts[gimple_uid (stmt)] = stmt; + } + bsi = gsi_start_bb (bb); while (!gsi_end_p (bsi)) { gimple stmt = gsi_stmt (bsi); |