From: Richard Biener Date: Wed, 11 Aug 2021 12:10:52 +0000 (+0200) Subject: target/101788 - avoid decomposing hard-register "loads" X-Git-Tag: upstream/12.2.0~5843 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=2cb02e065ff015a69db918eb545a00cd6edf0194;p=platform%2Fupstream%2Fgcc.git target/101788 - avoid decomposing hard-register "loads" This avoids decomposing hard-register accesses that masquerade as loads. 2021-08-11 Richard Biener PR target/101877 * tree-ssa-forwprop.c (pass_forwprop::execute): Do not decompose hard-register accesses. --- diff --git a/gcc/tree-ssa-forwprop.c b/gcc/tree-ssa-forwprop.c index bd64b8e..5b30d4c 100644 --- a/gcc/tree-ssa-forwprop.c +++ b/gcc/tree-ssa-forwprop.c @@ -3190,7 +3190,8 @@ pass_forwprop::execute (function *fun) || (fun->curr_properties & PROP_gimple_lvec)) && gimple_assign_load_p (stmt) && !gimple_has_volatile_ops (stmt) - && !stmt_can_throw_internal (cfun, stmt)) + && !stmt_can_throw_internal (cfun, stmt) + && (!VAR_P (rhs) || !DECL_HARD_REGISTER (rhs))) optimize_vector_load (&gsi); else if (code == COMPLEX_EXPR)