diff options
author | bernds <bernds@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-10-21 18:38:44 +0000 |
---|---|---|
committer | bernds <bernds@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-10-21 18:38:44 +0000 |
commit | 754e815fad78b9f077a396b030da5a5447d067d5 (patch) | |
tree | e204e2088b4ff2ec53e8ecca8f7dd6f84f2fe793 /gcc/sched-deps.c | |
parent | 2e358325c8117bb973f3d3169a2f6675e9ca9188 (diff) | |
download | gcc-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.c | 4 |
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. */ |