diff options
author | wilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-10-02 05:00:19 +0000 |
---|---|---|
committer | wilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-10-02 05:00:19 +0000 |
commit | b7fefcbf1f74784d60db9f87ed0ebf75abb2967e (patch) | |
tree | 742d4d746e3b8b6b4d1c60bd7f08b7f9ce1014c1 /gcc/sched-deps.c | |
parent | 979b4d09676e02ea28466c7b1c27ad0fe6c7dc40 (diff) | |
download | gcc-b7fefcbf1f74784d60db9f87ed0ebf75abb2967e.tar.gz |
Fix ia64 scheduler/predicated insn bug report from SAP.
* sched-deps.c (add_dependence): When elide conditional dependence,
check that insn doesn't modify cond2.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45938 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/sched-deps.c')
-rw-r--r-- | gcc/sched-deps.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/gcc/sched-deps.c b/gcc/sched-deps.c index 0142221c5e6..abb02c439ab 100644 --- a/gcc/sched-deps.c +++ b/gcc/sched-deps.c @@ -222,7 +222,12 @@ add_dependence (insn, elem, dep_type) cond2 = get_condition (elem); if (cond1 && cond2 && conditions_mutex_p (cond1, cond2) - && !modified_in_p (cond1, elem)) + /* Make sure first instruction doesn't affect condition of second + instruction if switched. */ + && !modified_in_p (cond1, elem) + /* Make sure second instruction doesn't affect condition of first + instruction if switched. */ + && !modified_in_p (cond2, insn)) return; } |