aboutsummaryrefslogtreecommitdiff
path: root/gcc/loop-iv.c
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2017-10-08 21:13:52 +0000
committerEric Botcazou <ebotcazou@gcc.gnu.org>2017-10-08 21:13:52 +0000
commit561593c104a3fcce354d644b12072b1da8690baa (patch)
tree149b1fac42bf695760c221ab62b82c4d671b93af /gcc/loop-iv.c
parentcaeaa0b3c63bc2634f7ae8f684224b2773c782c1 (diff)
downloadgcc-561593c104a3fcce354d644b12072b1da8690baa.zip
gcc-561593c104a3fcce354d644b12072b1da8690baa.tar.gz
gcc-561593c104a3fcce354d644b12072b1da8690baa.tar.bz2
tree-outof-ssa.h (ssaexpand): Add partitions_for_undefined_values.
* tree-outof-ssa.h (ssaexpand): Add partitions_for_undefined_values. (always_initialized_rtx_for_ssa_name_p): New predicate. * tree-outof-ssa.c (remove_ssa_form): Initialize new field of SA. (finish_out_of_ssa): Free new field of SA. * tree-ssa-coalesce.h (get_undefined_value_partitions): Declare. * tree-ssa-coalesce.c: Include tree-ssa.h. (get_parm_default_def_partitions): Remove extern keyword. (get_undefined_value_partitions): New function. * expr.c (expand_expr_real_1) <expand_decl_rtl>: For a SSA_NAME, do not set SUBREG_PROMOTED_VAR_P on the sub-register if it may contain uninitialized bits. * loop-iv.c (iv_get_reaching_def): Disqualify all subregs. From-SVN: r253530
Diffstat (limited to 'gcc/loop-iv.c')
-rw-r--r--gcc/loop-iv.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/loop-iv.c b/gcc/loop-iv.c
index 1d0c66f..45e8229 100644
--- a/gcc/loop-iv.c
+++ b/gcc/loop-iv.c
@@ -353,7 +353,7 @@ iv_get_reaching_def (rtx_insn *insn, rtx reg, df_ref *def)
adef = DF_REF_CHAIN (use)->ref;
/* We do not handle setting only part of the register. */
- if (DF_REF_FLAGS (adef) & DF_REF_READ_WRITE)
+ if (DF_REF_FLAGS (adef) & (DF_REF_READ_WRITE | DF_REF_SUBREG))
return GRD_INVALID;
def_insn = DF_REF_INSN (adef);