This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: gcc/gcc ChangeLog tree-ssa-loop-im.c
- From: Andrew Pinski <pinskia at physics dot uc dot edu>
- To: rakdver at gcc dot gnu dot org
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Wed, 11 May 2005 10:38:34 -0400
- Subject: Re: gcc/gcc ChangeLog tree-ssa-loop-im.c
- References: <20050510200428.9168.qmail@sourceware.org>
On May 10, 2005, at 4:04 PM, rakdver@gcc.gnu.org wrote:
* tree-ssa-loop-im.c: Include hashtab.h.
(struct mem_ref_loc): New.
(struct mem_ref): Describe the set of references with the same
shape.
(max_stmt_uid, get_stmt_uid, record_mem_ref, free_mem_refs,
maybe_queue_var, fem_single_reachable_address,
for_each_memref, single_reachable_address,
is_call_clobbered_ref, determine_lsm_reg): Removed.
(record_mem_ref_loc, free_mem_ref_locs, determine_lsm_ref,
hoist_memory_reference, memref_hash, memref_eq, memref_del,
gather_mem_refs_stmt, gather_mem_refs, find_more_ref_vops):
New functions.
(rewrite_mem_refs, schedule_sm): Use mem_ref_loc list.
(determine_lsm_loop): Rewritten.
(determine_lsm): Do not set stmt uids.
This patch causes a bootstrap failure on powerpc-darwin.
The problem is that we get the following differences for emit-rtl.c
between stage1 and stage2, this usually means that the hastable is
traversed but the hastable is not stable across the compiling:
--- t1/emit-rtl.c.t55.lim Wed May 11 10:31:40 2005
+++ t2/emit-rtl.c.t55.lim Wed May 11 10:29:11 2005
@@ -13384,8 +13384,8 @@ init_emit_once (line_numbers)
<L141>:;
target_flags.461_299 = target_flags;
D.24483_300 = target_flags.461_299 & 262144;
- lsm_tmp.1382_2296 = word_mode;
- lsm_tmp.1383_2295 = byte_mode;
+ lsm_tmp.1382_2296 = byte_mode;
+ lsm_tmp.1383_2295 = word_mode;
# lsm_tmp.1383_2298 = PHI <lsm_tmp.1383_2297(11),
lsm_tmp.1383_2295(1)>;
# lsm_tmp.1382_2300 = PHI <lsm_tmp.1382_2299(11),
lsm_tmp.1382_2296(1)>;
@@ -13398,13 +13398,13 @@ init_emit_once (line_numbers)
if (D.24478_292 == 8) goto <L1>; else goto <L3>;
<L1>:;
- byte_mode.459_308 = lsm_tmp.1383_2298;
+ byte_mode.459_308 = lsm_tmp.1382_2300;
if (byte_mode.459_308 == 0) goto <L2>; else goto <L3>;
<L2>:;
- lsm_tmp.1383_2291 = mode_1901;
+ lsm_tmp.1382_2291 = mode_1901;
- # lsm_tmp.1383_2297 = PHI <lsm_tmp.1383_2298(2),
lsm_tmp.1383_2298(3), lsm_tmp.1383_2291(4)>;
+ # lsm_tmp.1382_2299 = PHI <lsm_tmp.1382_2300(2),
lsm_tmp.1382_2300(3), lsm_tmp.1382_2291(4)>;
<L3>:;
if (D.24483_300 == 0) goto <L7>; else goto <L145>;
@@ -13416,13 +13416,13 @@ init_emit_once (line_numbers)
if (iftmp.460_14 == D.24480_298) goto <L8>; else goto <L10>;
<L8>:;
- word_mode.462_304 = lsm_tmp.1382_2300;
+ word_mode.462_304 = lsm_tmp.1383_2298;
if (word_mode.462_304 == 0) goto <L9>; else goto <L10>;
<L9>:;
- lsm_tmp.1382_2292 = mode_1901;
+ lsm_tmp.1383_2292 = mode_1901;
- # lsm_tmp.1382_2299 = PHI <lsm_tmp.1382_2300(7),
lsm_tmp.1382_2300(8), lsm_tmp.1382_2292(9)>;
+ # lsm_tmp.1383_2297 = PHI <lsm_tmp.1383_2298(7),
lsm_tmp.1383_2298(8), lsm_tmp.1383_2292(9)>;
<L10>:;
D.24485_302 = mode_wider[mode_1901];
if (D.24485_302 != 0) goto <L148>; else goto <L199>;
@@ -13434,8 +13434,8 @@ init_emit_once (line_numbers)
# lsm_tmp.1382_2289 = PHI <lsm_tmp.1382_2299(10)>;
# lsm_tmp.1383_2290 = PHI <lsm_tmp.1383_2297(10)>;
<L199>:;
- word_mode = lsm_tmp.1382_2289;
- byte_mode = lsm_tmp.1383_2290;
+ byte_mode = lsm_tmp.1382_2289;
+ word_mode = lsm_tmp.1383_2290;
<L13>:;
D.24486_71 = class_narrowest_mode[4];
Thanks,
Andrew Pinski