From c2e9dc85ff119ec9f9a9af764bf76a74218717fb Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Wed, 10 Apr 2002 00:11:32 -0700 Subject: [PATCH] expr.c (expand_expr): Don't force into registers if EXPAND_INITIALIZER. * expr.c (expand_expr) [INTEGER_CST]: Don't force into registers if EXPAND_INITIALIZER. From-SVN: r52118 --- gcc/ChangeLog | 5 +++++ gcc/expr.c | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e5047f286d6..f6e47a8a8b8 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2002-04-10 Richard Henderson + + * expr.c (expand_expr) [INTEGER_CST]: Don't force into registers + if EXPAND_INITIALIZER. + 2002-04-09 Richard Henderson * config/alpha/alpha.md (movdi_er_maybe_g): New. diff --git a/gcc/expr.c b/gcc/expr.c index 4871c4b7bdf..3e0add257f7 100644 --- a/gcc/expr.c +++ b/gcc/expr.c @@ -6326,7 +6326,8 @@ expand_expr (exp, target, tmode, modifier) simplified by validate_replace_rtx during virtual register instantiation, which can result in unrecognizable insns. Avoid this by forcing all overflows into registers. */ - if (TREE_CONSTANT_OVERFLOW (exp)) + if (TREE_CONSTANT_OVERFLOW (exp) + && modifier != EXPAND_INITIALIZER) temp = force_reg (mode, temp); return temp; -- 2.30.2