Deleted Added
full compact
stmt.c (169690) stmt.c (260014)
1/* Expands front end tree to back end RTL for GCC
2 Copyright (C) 1987, 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997,
3 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
4 Free Software Foundation, Inc.
5
6This file is part of GCC.
7
8GCC is free software; you can redistribute it and/or modify it under

--- 122 unchanged lines hidden (view full) ---

131rtx
132label_rtx (tree label)
133{
134 gcc_assert (TREE_CODE (label) == LABEL_DECL);
135
136 if (!DECL_RTL_SET_P (label))
137 {
138 rtx r = gen_label_rtx ();
1/* Expands front end tree to back end RTL for GCC
2 Copyright (C) 1987, 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997,
3 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
4 Free Software Foundation, Inc.
5
6This file is part of GCC.
7
8GCC is free software; you can redistribute it and/or modify it under

--- 122 unchanged lines hidden (view full) ---

131rtx
132label_rtx (tree label)
133{
134 gcc_assert (TREE_CODE (label) == LABEL_DECL);
135
136 if (!DECL_RTL_SET_P (label))
137 {
138 rtx r = gen_label_rtx ();
139/* APPLE LOCAL begin for-fsf-4_4 3274130 5295549 */ \
140 unsigned align = DECL_ALIGN_UNIT (label);
141 int align_log2 = exact_log2 (align);
142
143/* APPLE LOCAL end for-fsf-4_4 3274130 5295549 */ \
139 SET_DECL_RTL (label, r);
140 if (FORCED_LABEL (label) || DECL_NONLOCAL (label))
141 LABEL_PRESERVE_P (r) = 1;
144 SET_DECL_RTL (label, r);
145 if (FORCED_LABEL (label) || DECL_NONLOCAL (label))
146 LABEL_PRESERVE_P (r) = 1;
147/* APPLE LOCAL begin for-fsf-4_4 3274130 5295549 */ \
148
149 if (align_log2 >= 0 && align_log2 <= 0xFF)
150 SET_LABEL_ALIGN (r, align_log2, align - 1);
151/* APPLE LOCAL end for-fsf-4_4 3274130 5295549 */ \
142 }
143
144 return DECL_RTL (label);
145}
146
147/* As above, but also put it on the forced-reference list of the
148 function that contains it. */
149rtx

--- 39 unchanged lines hidden (view full) ---

189 emit_indirect_jump (x);
190}
191
192/* Handle goto statements and the labels that they can go to. */
193
194/* Specify the location in the RTL code of a label LABEL,
195 which is a LABEL_DECL tree node.
196
152 }
153
154 return DECL_RTL (label);
155}
156
157/* As above, but also put it on the forced-reference list of the
158 function that contains it. */
159rtx

--- 39 unchanged lines hidden (view full) ---

199 emit_indirect_jump (x);
200}
201
202/* Handle goto statements and the labels that they can go to. */
203
204/* Specify the location in the RTL code of a label LABEL,
205 which is a LABEL_DECL tree node.
206
197 This is used for the kind of label that the user can jump to with a
198 goto statement, and for alternatives of a switch or case statement.
199 RTL labels generated for loops and conditionals don't go through here;
200 they are generated directly at the RTL level, by other functions below.
207 APPLE LOCAL begin for-fsf-4_4 3274130 5295549
208 This is used for those labels created by the front-end that survive
209 through CFG generation, including all user labels. (Some labels
210 are removed by cleanup_dead_labels in tree-cfg.c.)
201
211
212 APPLE LOCAL end for-fsf-4_4 3274130 5295549
202 Note that this has nothing to do with defining label *names*.
203 Languages vary in how they do that and what that even means. */
204
205void
206expand_label (tree label)
207{
208 rtx label_r = label_rtx (label);
209

--- 3094 unchanged lines hidden ---
213 Note that this has nothing to do with defining label *names*.
214 Languages vary in how they do that and what that even means. */
215
216void
217expand_label (tree label)
218{
219 rtx label_r = label_rtx (label);
220

--- 3094 unchanged lines hidden ---