From: bjorn3 Date: Sat, 28 Dec 2019 15:11:04 +0000 (+0100) Subject: Fix temporal_order argument order for store to load forwarding X-Git-Url: https://git.lizzy.rs/?a=commitdiff_plain;h=6320c65484b69b9141d9e47781a2e1b086be743a;p=rust.git Fix temporal_order argument order for store to load forwarding --- diff --git a/src/optimize/stack2reg.rs b/src/optimize/stack2reg.rs index 64f7ab04503..8f27ad7c557 100644 --- a/src/optimize/stack2reg.rs +++ b/src/optimize/stack2reg.rs @@ -116,9 +116,10 @@ pub(super) fn optimize_function( temporal_order(&*ctx, store, load), ); } + match *potential_stores { [] => println!("[{}] [BUG?] Reading uninitialized memory", name), - [store] if spatial_overlap(&ctx.func, load, store) == SpatialOverlap::Full && temporal_order(&ctx, load, store) == TemporalOrder::DefinitivelyBefore => { + [store] if spatial_overlap(&ctx.func, store, load) == SpatialOverlap::Full && temporal_order(&ctx, store, load) == TemporalOrder::DefinitivelyBefore => { let store_ebb = ctx.func.layout.inst_ebb(store).unwrap(); let stored_value = ctx.func.dfg.inst_args(store)[0]; let stored_type = ctx.func.dfg.value_type(stored_value);