summaryrefslogtreecommitdiff
path: root/gcc/sched-deps.c
diff options
context:
space:
mode:
authorbernds <bernds@138bc75d-0d04-0410-961f-82ee72b054a4>2011-10-21 18:38:44 +0000
committerbernds <bernds@138bc75d-0d04-0410-961f-82ee72b054a4>2011-10-21 18:38:44 +0000
commit754e815fad78b9f077a396b030da5a5447d067d5 (patch)
treee204e2088b4ff2ec53e8ecca8f7dd6f84f2fe793 /gcc/sched-deps.c
parent2e358325c8117bb973f3d3169a2f6675e9ca9188 (diff)
downloadgcc-754e815fad78b9f077a396b030da5a5447d067d5.tar.gz
PR bootstrap/50825
* sched-deps.c (add_dependence): If not doing predication, promote REG_DEP_CONTROL to REG_DEP_ANTI. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180310 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/sched-deps.c')
-rw-r--r--gcc/sched-deps.c4
1 files changed, 4 insertions, 0 deletions
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. */