]> git.pld-linux.org Git - packages/crossarm-gcc.git/blame - crossarm-gcc-pr15068.patch
- R: gcc-dirs, rel++
[packages/crossarm-gcc.git] / crossarm-gcc-pr15068.patch
CommitLineData
b74c18a8
PS
1--- gcc-3.4.2/gcc/flow.c.orig 2004-02-28 04:39:19.000000000 +0100
2+++ gcc-3.4.2/gcc/flow.c 2004-09-16 19:39:39.512234032 +0200
3@@ -1878,19 +1878,23 @@
4 rtx set_src = SET_SRC (pc_set (BB_END (bb)));
5 rtx cond_true = XEXP (set_src, 0);
6 rtx reg = XEXP (cond_true, 0);
7+ enum rtx_code inv_cond;
8
9 if (GET_CODE (reg) == SUBREG)
10 reg = SUBREG_REG (reg);
11
12 /* We can only track conditional lifetimes if the condition is
13- in the form of a comparison of a register against zero.
14- If the condition is more complex than that, then it is safe
15- not to record any information. */
16- if (GET_CODE (reg) == REG
17+ in the form of a reversible comparison of a register against
18+ zero. If the condition is more complex than that, then it is
19+ safe not to record any information. */
20+
21+ inv_cond = reversed_comparison_code (cond_true, BB_END (bb));
22+ if (inv_cond != UNKNOWN
23+ && GET_CODE (reg) == REG
24 && XEXP (cond_true, 1) == const0_rtx)
25 {
26 rtx cond_false
27- = gen_rtx_fmt_ee (reverse_condition (GET_CODE (cond_true)),
28+ = gen_rtx_fmt_ee (inv_cond,
29 GET_MODE (cond_true), XEXP (cond_true, 0),
30 XEXP (cond_true, 1));
31 if (GET_CODE (XEXP (set_src, 1)) == PC)
This page took 0.081176 seconds and 4 git commands to generate.