From f561ef0f49c397e6cf62f234752445a9168f1367 Mon Sep 17 00:00:00 2001 From: Bernd Schmidt Date: Fri, 21 Oct 2011 18:38:44 +0000 Subject: [PATCH] re PR bootstrap/50825 (bootstrap fails at stage1 libgcc from r180302) PR bootstrap/50825 * sched-deps.c (add_dependence): If not doing predication, promote REG_DEP_CONTROL to REG_DEP_ANTI. From-SVN: r180310 --- gcc/ChangeLog | 6 ++++++ gcc/sched-deps.c | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9d3269f6322..bc6fdd97829 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2011-10-21 Bernd Schmidt + + PR bootstrap/50825 + * sched-deps.c (add_dependence): If not doing predication, promote + REG_DEP_CONTROL to REG_DEP_ANTI. + 2011-10-21 Georg-Johann Lay * config/avr/avr.h (LEGITIMIZE_RELOAD_ADDRESS): Pass address of X diff --git a/gcc/sched-deps.c b/gcc/sched-deps.c index b669cd34957..a778721d20b 100644 --- a/gcc/sched-deps.c +++ b/gcc/sched-deps.c @@ -1505,6 +1505,10 @@ sd_debug_lists (rtx insn, sd_list_types_def types) void add_dependence (rtx con, rtx pro, enum reg_note dep_type) { + if (dep_type == REG_DEP_CONTROL + && !(current_sched_info->flags & DO_PREDICATION)) + dep_type = REG_DEP_ANTI; + /* A REG_DEP_CONTROL dependence may be eliminated through predication, so we must also make the insn dependent on the setter of the condition. */