Mercurial > hg > CbC > CbC_gcc
comparison gcc/jump.c @ 67:f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
author | nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 22 Mar 2011 17:18:12 +0900 |
parents | b7f97abdc517 |
children | 04ced10e8804 |
comparison
equal
deleted
inserted
replaced
65:65488c3d617d | 67:f6334be47118 |
---|---|
1 /* Optimize jump instructions, for GNU compiler. | 1 /* Optimize jump instructions, for GNU compiler. |
2 Copyright (C) 1987, 1988, 1989, 1991, 1992, 1993, 1994, 1995, 1996, 1997 | 2 Copyright (C) 1987, 1988, 1989, 1991, 1992, 1993, 1994, 1995, 1996, 1997 |
3 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009 | 3 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010 |
4 Free Software Foundation, Inc. | 4 Free Software Foundation, Inc. |
5 | 5 |
6 This file is part of GCC. | 6 This file is part of GCC. |
7 | 7 |
8 GCC is free software; you can redistribute it and/or modify it under | 8 GCC is free software; you can redistribute it and/or modify it under |
45 #include "regs.h" | 45 #include "regs.h" |
46 #include "insn-config.h" | 46 #include "insn-config.h" |
47 #include "insn-attr.h" | 47 #include "insn-attr.h" |
48 #include "recog.h" | 48 #include "recog.h" |
49 #include "function.h" | 49 #include "function.h" |
50 #include "basic-block.h" | |
50 #include "expr.h" | 51 #include "expr.h" |
51 #include "except.h" | 52 #include "except.h" |
52 #include "diagnostic.h" | 53 #include "diagnostic-core.h" |
53 #include "toplev.h" | |
54 #include "reload.h" | 54 #include "reload.h" |
55 #include "predict.h" | 55 #include "predict.h" |
56 #include "timevar.h" | 56 #include "timevar.h" |
57 #include "tree-pass.h" | 57 #include "tree-pass.h" |
58 #include "target.h" | 58 #include "target.h" |
191 { | 191 { |
192 rtx insn; | 192 rtx insn; |
193 rtx prev_nonjump_insn = NULL; | 193 rtx prev_nonjump_insn = NULL; |
194 | 194 |
195 for (insn = f; insn; insn = NEXT_INSN (insn)) | 195 for (insn = f; insn; insn = NEXT_INSN (insn)) |
196 if (INSN_P (insn)) | 196 if (NONDEBUG_INSN_P (insn)) |
197 { | 197 { |
198 mark_jump_label (PATTERN (insn), insn, 0); | 198 mark_jump_label (PATTERN (insn), insn, 0); |
199 | 199 |
200 /* If the previous non-jump insn sets something to a label, | 200 /* If the previous non-jump insn sets something to a label, |
201 something that this jump insn uses, make that label the primary | 201 something that this jump insn uses, make that label the primary |
1725 return 0; | 1725 return 0; |
1726 break; | 1726 break; |
1727 | 1727 |
1728 case 'i': | 1728 case 'i': |
1729 if (XINT (x, i) != XINT (y, i)) | 1729 if (XINT (x, i) != XINT (y, i)) |
1730 return 0; | 1730 { |
1731 if (((code == ASM_OPERANDS && i == 6) | |
1732 || (code == ASM_INPUT && i == 1)) | |
1733 && locator_eq (XINT (x, i), XINT (y, i))) | |
1734 break; | |
1735 return 0; | |
1736 } | |
1731 break; | 1737 break; |
1732 | 1738 |
1733 case 't': | 1739 case 't': |
1734 if (XTREE (x, i) != XTREE (y, i)) | 1740 if (XTREE (x, i) != XTREE (y, i)) |
1735 return 0; | 1741 return 0; |