]>
Commit | Line | Data |
---|---|---|
7a4515d7 SB |
1 | 2004-12-31 Richard Henderson <rth@redhat.com> |
2 | ||
3 | PR tree-opt/19042 | |
4 | * tree-sra.c (decide_block_copy): Force use_block_copy false | |
5 | for complex values. | |
6 | ||
7 | 2004-12-31 Richard Henderson <rth@redhat.com> | |
8 | ||
9 | PR middle-end/17799 | |
10 | * function.c (use_register_for_decl): Check DECL_IGNORED_P instead | |
11 | of DECL_ARTIFICIAL. | |
12 | (assign_parms_augmented_arg_list): Set DECL_IGNORED_P. | |
13 | * c-decl.c (build_compound_literal): Likewise. | |
14 | * dwarf2asm.c (dw2_force_const_mem): Likewise. | |
15 | * gimplify.c (create_artificial_label): Likewise. | |
16 | * tree-inline.c (expand_call_inline): Likewise. | |
17 | * var-tracking.c (vt_initialize): Likewise. | |
18 | * tree-outof-ssa.c (create_temp): Copy DECL_IGNORED_P. | |
19 | ||
20 | 2004-12-31 Andrew Pinski <pinskia@physics.uc.edu> | |
21 | ||
22 | PR target/19211 | |
23 | * config/darwin.c (machopic_legitimize_pic_address): If the orig | |
24 | is subregister return orig. | |
25 | ||
26 | 2004-12-31 Zdenek Dvorak <dvorakz@suse.cz> | |
27 | ||
28 | * tree-scalar-evolution.c (instantiate_parameters_1): Copy the | |
29 | expression only if needed. | |
30 | ||
31 | 2004-12-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
32 | ||
33 | * pa-hpux.h (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Define. | |
34 | ||
35 | 2004-12-31 Hans-Peter Nilsson <hp@bitrange.com> | |
36 | ||
37 | PR target/18701 | |
38 | * combine.c (combine_simplify_rtx): Do not allow paradoxical | |
39 | subregs of MEM. | |
40 | ||
41 | PR target/18701 | |
42 | * combine.c (gen_lowpart_for_combine): When stripping SUBREG of | |
43 | MEM, adjust imode and isize. | |
44 | ||
45 | 2004-12-30 Richard Henderson <rth@redhat.com> | |
46 | ||
e8366202 | 47 | * config/ia64/ia64.c (hfa_element_mode): Return false for |
7a4515d7 SB |
48 | zero-sized top-level aggregates. |
49 | ||
50 | 2004-12-30 Jan Hubicka <jh@suse.cz> | |
51 | ||
52 | PR target/18019 | |
53 | * i386.md (movqi_1): Fix -Os instruction choice. | |
54 | ||
55 | 2004-12-30 Steven Bosscher <stevenb@suse.de> | |
56 | ||
57 | * global.c (regclass_intersect): Remove. | |
58 | (mark_reg_use_for_earlyclobber): Use reg_classes_intersect_p instead. | |
59 | ||
60 | 2004-12-30 Richard Henderson <rth@redhat.com> | |
61 | ||
e8366202 | 62 | * config/ia64/ia64.c (ia64_function_value): Use PARALLEL for |
7a4515d7 SB |
63 | aggregates with XF/XCmode. |
64 | ||
65 | 2004-12-29 Richard Henderson <rth@redhat.com> | |
66 | ||
67 | * target.h (targetm.calls.arg_partial_bytes): New. | |
68 | * target-def.h (TARGET_ARG_PARTIAL_BYTES): New. | |
69 | * calls.c (store_unaligned_arguments_into_pseudos): Update for | |
70 | partial in bytes. | |
71 | (load_register_parameters): Likewise. | |
72 | (store_one_arg): Likewise. | |
73 | (initialize_argument_information): Use targetm.calls.arg_partial_bytes. | |
74 | (emit_library_call_value_1): Likewise. | |
75 | * expr.c (block_move_libcall_safe_for_call_parm): Likewise. | |
76 | (emit_push_insn): Update for partial in bytes. | |
77 | * expr.h (FUNCTION_ARG_PARTIAL_NREGS): Remove. | |
78 | * function.c (assign_parm_find_entry_rtl): Use | |
79 | targetm.calls.arg_partial_bytes. Update for result in bytes. | |
80 | (locate_and_pad_parm): Update for partial in bytes. | |
81 | * system.h (FUNCTION_ARG_PARTIAL_NREGS): Poison. | |
82 | * targhooks.c (hook_int_CUMULATIVE_ARGS_mode_tree_bool_0): New. | |
83 | * targhooks.h (hook_int_CUMULATIVE_ARGS_mode_tree_bool_0): Declare. | |
84 | * doc/tm.texi (TARGET_ARG_PARTIAL_BYTES): Rename and update from | |
85 | FUNCTION_ARG_PARTIAL_NREGS. | |
86 | ||
87 | * config/arc/arc.h, config/c4x/c4x.h, config/i386/i386.h, | |
88 | config/i860/i860.h, config/m68hc11/m68hc11.h, config/m68k/m68k.h, | |
e8366202 | 89 | config/pdp11/pdp11.h, config/s390/s390.h, config/stormy16/stormy16.h, |
7a4515d7 SB |
90 | config/xtensa/xtensa.h (FUNCTION_ARG_PARTIAL_NREGS): Remove. |
91 | ||
92 | * config/alpha/alpha.c (alpha_arg_partial_bytes): New. | |
93 | (TARGET_ARG_PARTIAL_BYTES): New. | |
94 | * config/alpha/alpha.h, config/alpha/unicosmk.h, | |
95 | config/alpha/vms.h (FUNCTION_ARG_PARTIAL_NREGS): Remove. | |
96 | ||
97 | * config/arm/arm.h (FUNCTION_ARG_PARTIAL_NREGS): Move ... | |
98 | * config/arm/arm.c (arm_arg_partial_bytes): ... here. | |
99 | (TARGET_ARG_PARTIAL_BYTES): New. | |
100 | ||
101 | * config/cris/cris.h (FUNCTION_ARG_PARTIAL_NREGS): Move ... | |
102 | * config/cris/cris.c (cris_arg_partial_bytes): ... here. | |
103 | (TARGET_ARG_PARTIAL_BYTES): New. | |
104 | ||
105 | * config/fr30/fr30.h (FUNCTION_ARG_PARTIAL_NREGS): Remove. | |
106 | * config/fr30/fr30.c (fr30_arg_partial_bytes): Rename from | |
107 | fr30_function_arg_partial_nregs. Adjust to return bytes. | |
108 | (TARGET_ARG_PARTIAL_BYTES): New. | |
109 | * config/fr30/fr30-protos.h: Update. | |
110 | ||
111 | * config/frv/frv.h (FUNCTION_ARG_PARTIAL_NREGS): Remove. | |
e8366202 | 112 | * config/frv/frv.c (frv_arg_partial_bytes): Rename from |
7a4515d7 SB |
113 | frv_function_arg_partial_nregs. Adjust to return bytes. |
114 | (TARGET_ARG_PARTIAL_BYTES): New. | |
115 | * config/frv/frv-protos.h: Update. | |
116 | ||
117 | * config/ia64/ia64.h (FUNCTION_ARG_PARTIAL_NREGS): Remove. | |
118 | * config/ia64/ia64.c (ia64_arg_partial_bytes): Rename from | |
119 | ia64_function_arg_partial_nregs. Adjust to return bytes. | |
120 | (TARGET_ARG_PARTIAL_BYTES): New. | |
121 | * config/ia64/ia64-protos.h: Update. | |
122 | ||
123 | * config/iq2000/iq2000.h (FUNCTION_ARG_PARTIAL_NREGS): Remove. | |
124 | * config/iq2000/iq2000.c (iq2000_arg_partial_bytes): Rename from | |
125 | function_arg_partial_nregs. Adjust to return bytes. | |
126 | (TARGET_ARG_PARTIAL_BYTES): New. | |
127 | * config/iq2000/iq2000-protos.h: Update. | |
128 | ||
129 | * config/m32r/m32r.h (FUNCTION_ARG_PARTIAL_NREGS): Remove. | |
130 | * config/m32r/m32r.c (m32r_arg_partial_bytes): Rename from | |
131 | function_arg_partial_nregs. Adjust to return bytes. | |
132 | (TARGET_ARG_PARTIAL_BYTES): New. | |
133 | * config/m32r/m32r-protos.h: Update. | |
134 | ||
135 | * config/mcore/mcore.h (FUNCTION_ARG_PARTIAL_NREGS): Remove. | |
136 | * config/mcore/mcore.c (mcore_arg_partial_bytes): Rename from | |
137 | mcore_function_arg_partial_nregs. Adjust to return bytes. | |
138 | (TARGET_ARG_PARTIAL_BYTES): New. | |
139 | * config/mcore/mcore-protos.h: Update. | |
140 | ||
141 | * config/mips/mips.h (FUNCTION_ARG_PARTIAL_NREGS): Remove. | |
142 | * config/mips/mips.c (mips_arg_partial_bytes): Rename from | |
143 | function_arg_partial_nregs. Adjust to return bytes. | |
144 | (TARGET_ARG_PARTIAL_BYTES): New. | |
145 | * config/mips/mips-protos.h: Update. | |
146 | ||
147 | * config/mn10300/mn10300.h (FUNCTION_ARG_PARTIAL_NREGS): Remove. | |
e8366202 | 148 | * config/mn10300/mn10300.c (mn10300_arg_partial_bytes): Rename from |
7a4515d7 SB |
149 | function_arg_partial_nregs. Adjust to return bytes. |
150 | (TARGET_ARG_PARTIAL_BYTES): New. | |
151 | * config/mn10300/mn10300-protos.h: Update. | |
152 | ||
153 | * config/ns32k/ns32k.h (FUNCTION_ARG_PARTIAL_NREGS): Move ... | |
154 | * config/ns32k/ns32k.c (ns32k_arg_partial_bytes): ... here. | |
155 | (TARGET_ARG_PARTIAL_BYTES): New. | |
156 | ||
157 | * config/pa/pa.h (FUNCTION_ARG_PARTIAL_NREGS): Remove. | |
e8366202 | 158 | * config/pa/pa.c (pa_arg_partial_bytes): Rename from |
7a4515d7 SB |
159 | function_arg_partial_nregs. Handle 32-bit. Adjust to return bytes. |
160 | (TARGET_ARG_PARTIAL_BYTES): New. | |
161 | * config/pa/pa-protos.h: Update. | |
162 | ||
163 | * config/rs6000/rs6000.h (FUNCTION_ARG_PARTIAL_NREGS): Remove. | |
e8366202 | 164 | * config/rs6000/rs6000.c (rs6000_arg_partial_bytes): Rename from |
7a4515d7 SB |
165 | function_arg_partial_nregs. Adjust to return bytes. |
166 | (TARGET_ARG_PARTIAL_BYTES): New. | |
167 | * config/rs6000/rs6000-protos.h: Update. | |
168 | ||
169 | * config/sh/sh.h (FUNCTION_ARG_PARTIAL_NREGS): Move ... | |
170 | * config/sh/sh.c (sh_arg_partial_bytes): ... here. | |
171 | (TARGET_ARG_PARTIAL_BYTES): New. | |
172 | ||
173 | * config/sparc/sparc.h (FUNCTION_ARG_PARTIAL_NREGS): Remove. | |
174 | * config/sparc/sparc.c (sparc_arg_partial_bytes): Rename from | |
175 | function_arg_partial_nregs. Adjust to return bytes. | |
176 | (TARGET_ARG_PARTIAL_BYTES): New. | |
177 | * config/sparc/sparc-protos.h: Update. | |
178 | ||
179 | * config/v850/v850.h (FUNCTION_ARG_PARTIAL_NREGS): Remove. | |
180 | * config/v850/v850.c (v850_arg_partial_bytes): Rename from | |
181 | function_arg_partial_nregs. Adjust to return bytes. | |
182 | (TARGET_ARG_PARTIAL_BYTES): New. | |
183 | * config/v850/v850-protos.h: Update. | |
184 | ||
185 | 2004-12-30 Hans-Peter Nilsson <hp@bitrange.com> | |
186 | ||
187 | * config/mmix/mmix.h (ASM_OUTPUT_INTERNAL_LABEL): Define. | |
188 | * config/mmix/mmix.c (mmix_asm_output_internal_label): New | |
189 | function. | |
190 | * config/mmix/mmix-protos.h (mmix_asm_output_internal_label): | |
191 | Prototype. | |
192 | ||
ad41bd84 | 193 | 2004-12-29 Richard Henderson <rth@redhat.com> |
7a4515d7 SB |
194 | |
195 | * config/sparc/sparc.c (TARGET_RELAXED_ORDERING): True. | |
196 | ||
197 | 2004-12-29 Jeff Law <law@redhat.com> | |
198 | ||
199 | * tree-outof-ssa.c (insert_backedge_copies): New function. | |
200 | (rewrite_out_of_ssa): Use it. | |
201 | ||
202 | 2004-12-29 Ira Rosen <irar@il.ibm.com> | |
203 | ||
204 | PR tree-optimization/18179 | |
205 | * tree-vectorizer.c (vect_get_base_and_offset): Call get_inner_reference | |
206 | and vect_analyze_offset_expr. | |
e8366202 | 207 | (vect_create_addr_base_for_vector_ref): Build address_base by combining |
7a4515d7 SB |
208 | base and initial_offset fields of vect_stmt_info. |
209 | (vect_update_inits_of_dr): Update offset of data-ref instead of its | |
210 | access-fn. Remove argument. | |
211 | (vect_update_inits_of_drs): Call vect_update_inits_of_dr with new | |
212 | arguments. | |
e8366202 | 213 | (vect_compute_data_ref_alignment): Check misalignment info in |
7a4515d7 SB |
214 | vect_stmt_info. Remove argument. |
215 | (vect_compute_data_refs_alignment): Call vect_compute_data_ref_alignment | |
216 | with correct argument. | |
217 | (vect_analyze_data_ref_access): Check access info in vect_stmt_info. | |
218 | (vect_analyze_pointer_ref_access): Update step and initial_offset fields | |
219 | of vect_stmt_info. | |
e8366202 | 220 | (vect_get_memtag_and_dr): Call vect_get_base_and_offset and set the |
7a4515d7 | 221 | fields of stmt_vec_info. |
e8366202 | 222 | (vect_analyze_data_refs): Find vectype and pass it to |
7a4515d7 SB |
223 | vect_get_memtag_and_dr. |
224 | (vect_get_first_index): Remove. | |
225 | (vect_compute_array_base_alignment): Remove. | |
226 | (vect_compute_array_ref_alignment): Remove | |
227 | (vect_create_data_ref_ptr): Use TYPE_SIZE_UNIT instead GET_MODE_SIZE. | |
e8366202 | 228 | (vect_gen_niters_for_prolog_loop): Use TREE_CONSTANT instead |
7a4515d7 SB |
229 | host_integerp. |
230 | (vectorizable_load): Use size arithmetics. | |
231 | ||
232 | 2004-12-29 Ira Rosen <irar@il.ibm.com> | |
233 | ||
234 | PR tree-optimization/18179 | |
235 | * tree-vectorizer.c (vect_get_base_and_offset): Rename (previous name | |
236 | vect_get_base_and_bit_offset). | |
237 | (vect_get_memtag_and_dr): Rename (previous name vect_get_symbl_and_dr). | |
238 | ||
239 | 2004-12-29 Ira Rosen <irar@il.ibm.com> | |
240 | ||
241 | PR tree-optimization/18179 | |
242 | * tree-vectorizer.h (struct _stmt_vec_info): Add new fields: | |
243 | initial_offset, step, misalignment and base_aligned_p and macros | |
244 | to access them. | |
245 | * tree-vectorizer.c (vect_analyze_offset_expr): New function. | |
246 | (new_stmt_vec_info): Initialize the new fields of stmt_vec_info. | |
247 | ||
248 | (vect_create_data_ref_ptr): Fix printings. | |
249 | ||
250 | 2004-12-29 Ira Rosen <irar@il.ibm.com> | |
251 | ||
252 | PR tree-optimization/18179 | |
e8366202 | 253 | * tree-vectorizer.c (vect_get_symbl_and_dr): Reorganize. Add memtag |
7a4515d7 SB |
254 | retrieval. |
255 | (vect_analyze_data_refs): Remove memtag retrieval. | |
256 | ||
257 | 2004-12-28 Richard Henderson <rth@redhat.com> | |
258 | ||
259 | PR inline-asm/15740 | |
260 | * gimplify.c (gimplify_asm_expr): Move resolve asm names ... | |
261 | * c-typeck.c (build_asm_expr): ... here. Validate input | |
262 | constraints. Mark memory inputs addressable. | |
263 | ||
264 | 2004-12-28 Hans-Peter Nilsson <hp@bitrange.com> | |
265 | ||
266 | PR target/18321 | |
267 | * config/mmix/mmix.c (mmix_expand_epilogue): Change type of | |
268 | variable offset to HOST_WIDE_INT. Remove obsolete comment. Fix | |
269 | spacing. | |
270 | ||
271 | 2004-12-28 Andrew Pinski <pinskia@physics.uc.edu> | |
272 | ||
273 | * fold-const.c (fold_build_cleanup_point_expr): For a RETURN_EXPR, | |
274 | we only need a cleanup point expression when the expression on the | |
275 | left hand side of the MODIFIY_EXPR inside the return has side | |
276 | effects. | |
277 | ||
278 | 2004-12-28 Dorit Naishlos <dorit@il.ibm.com> | |
279 | ||
280 | * tree-vectorizer.c (vect_mark_relevant) First argument changed from | |
281 | varray_type to varray_type*. | |
282 | (vect_mark_stmts_to_be_vectorized): Pass &worklist instead of worklist | |
283 | when calling vect_mark_relevant. | |
284 | ||
285 | 2004-12-28 Alan Modra <amodra@bigpond.net.au> | |
286 | ||
287 | * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Don't | |
288 | generate non-offsettable DImode lo_sum addresses. | |
289 | ||
290 | 2004-12-28 Zdenek Dvorak <dvorakz@suse.cz> | |
291 | ||
292 | PR rtl-optimization/19103 | |
293 | * loop-iv.c (iv_number_of_iterations): Fix typo. | |
294 | ||
295 | 2004-12-28 Andreas Jaeger <aj@suse.de> | |
296 | ||
297 | * genrecog.c (compute_predicate_codes): Avoid warning. | |
298 | ||
299 | 2004-12-27 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
300 | ||
301 | * vax.c (vax_address_cost, vax_rtx_cost): Correct casts. | |
302 | (vax_rtx_cost): Handle small offsets for both PLUS and MINUS. | |
303 | ||
304 | 2004-12-27 Jeff Law <law@redhat.com> | |
305 | ||
306 | * tree-ssa-dom.c (thread_across_edge): Remove broken code to | |
307 | avoid threading into a loop. | |
308 | ||
309 | 2004-12-27 Richard Henderson <rth@redhat.com> | |
310 | ||
311 | PR target/17406 | |
312 | * config/i386/i386.c (ix86_expand_prologue): Add REG_FRAME_RELATED_EXPR | |
313 | note for allocate_stack_worker insn. | |
314 | ||
315 | 2004-12-27 Jason Merrill <jason@redhat.com> | |
316 | ||
317 | * doc/tm.texi (TARGET_RELAXED_ORDERING): Document. | |
318 | * target.h (struct gcc_target): Add relaxed_ordering field. | |
319 | * target-def.h (TARGET_RELAXED_ORDERING): Define default. | |
320 | (TARGET_INITIALIZER): Add it. | |
321 | * config/alpha/alpha.c (TARGET_RELAXED_ORDERING): Define. | |
322 | * config/ia64/ia64.c (TARGET_RELAXED_ORDERING): Define. | |
323 | * config/rs6000/rs6000.c (TARGET_RELAXED_ORDERING): Define. | |
324 | * config/sparc/sparc.c (TARGET_RELAXED_ORDERING): Define. | |
325 | ||
326 | 2004-12-27 Roger Sayle <roger@eyesopen.com> | |
327 | ||
328 | PR driver/16118 | |
329 | * doc/invoke.texi: Document the interaction between -save-temps | |
330 | and -x. | |
331 | ||
332 | 2004-12-27 David Edelsohn <edelsohn@gnu.org> | |
333 | ||
334 | * config/rs6000/rs6000.c (rs6000_eliminate_indexed_memrefs): | |
335 | Do not break apart constant pool addresses. | |
336 | (rs6000_emit_move): Only force source into REG if target is MEM. | |
337 | ||
338 | 2004-12-27 Mark Mitchell <mark@codesourcery.com> | |
339 | ||
340 | PR c++/19148 | |
341 | * gimplify.c (gimplify_cond_expr): Add post_p parameter. | |
342 | (gimplify_modify_expr_rhs): Adjust call to gimplify_cond_expr. | |
343 | (gimplify_expr): Likewise. | |
344 | ||
345 | 2004-12-27 Richard Henderson <rth@redhat.com> | |
346 | ||
347 | * config/i386/i386.h (UNITS_PER_SIMD_WORD): Don't use MMX/3DNOW. | |
348 | ||
349 | 2004-12-26 Richard Henderson <rth@redhat.com> | |
350 | ||
351 | * config/i386/i386.c (ix86_gimplify_va_arg): Also pass the result | |
352 | of type_natural_mode to examine_argument. | |
353 | ||
354 | * config/i386/i386.md (mov<MMXMODEI>_internal_rex64): New. | |
355 | (movv2sf_internal_rex64): New. | |
356 | (mov<MMXMODEI>_internal): Use no register preferences at all. | |
357 | (movv2sf_internal): Likewise. | |
358 | ||
359 | 2004-12-26 Richard Henderson <rth@redhat.com> | |
360 | ||
361 | * simplify-rtx.c (simplify_relational_operation_1): Don't simplify | |
362 | plus/minus across EQ for floating-point. | |
363 | ||
364 | 2004-12-26 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
365 | ||
366 | PR target/17643 | |
367 | * pa.c (pa_function_ok_for_sibcall): Sibcalls are not ok when | |
368 | generating code for the portable runtime. | |
369 | ||
370 | 2004-12-25 Richard Henderson <rth@redhat.com> | |
371 | ||
372 | * expr.c (clear_storage): Validate CONST0_RTX extant. Special case | |
373 | complex modes. | |
374 | ||
375 | 2004-12-25 Zdenek Dvorak <dvorakz@suse.cz> | |
376 | ||
377 | PR rtl-optimization/19078 | |
378 | * tree-ssa-loop-ivopts.c (determine_use_iv_cost_generic, | |
379 | determine_use_iv_cost_outer): Fix computing of cost for the original | |
380 | bivs. | |
381 | (dump_use): Handle case related_cands == NULL. | |
382 | ||
383 | 2004-12-25 Marek Michalkiewicz <marekm@amelek.gda.pl> | |
384 | ||
385 | PR target/19059 | |
386 | * config/avr/avr.c (avr_mcu_types): Move attiny{13,2313} from avr4 | |
387 | to avr2. | |
388 | * config/avr/avr.h (LINK_SPEC): Ditto. | |
389 | * config/avr/t-avr (MULTILIB_MATCHES): Ditto. | |
390 | ||
391 | 2004-12-25 Alan Modra <amodra@bigpond.net.au> | |
392 | ||
393 | PR target/19137 | |
394 | * config/rs6000/rs6000.md (movti_power, movti_string): Relax | |
395 | operand[1] predicate to input_operand, and add r<-n alternative. | |
396 | Move TImode const_double_operand splitter to where it belongs. | |
397 | ||
398 | 2004-12-25 Alan Modra <amodra@bigpond.net.au> | |
399 | ||
400 | PR target/19147 | |
401 | * config/rs6000/rs6000.md (andsi3_internal7, andsi3_internal8): Delete. | |
402 | ||
403 | 2004-12-24 Uros Bizjak <uros@kss-loka.si> | |
404 | ||
405 | * config/i386/i386.md (*fix_trunc{d,s,h}i_1): | |
406 | Rename to *fix_trunc{d,s,h}i_i387. | |
407 | (fix_trunc{d,s}fdi2): Reorder tests. | |
408 | ||
409 | 2004-12-24 Daniel Berlin <dberlin@dberlin.org> | |
410 | ||
411 | Fix PR debug/14638 | |
412 | ||
413 | * tree.h (DECL_DEBUG_ALIAS_OF): New macro. | |
414 | * var-tracking.c (track_expr_p): Don't disqualify tracking of variables | |
415 | that are aliases of variables we want to track, unless the | |
416 | original variable is also ignored for debugging purposes. | |
417 | (VARIABLE_HASH_VAL): Use DECL_UID, so that this is deterministic. | |
418 | * tree-outof-ssa.c (create_temp): Note who we are a debug alias of. | |
419 | * dwarf2out.c (dwarf2out_var_location): Add us to the location of | |
420 | the decl we are an alias of. | |
421 | ||
422 | 2004-12-24 Alan Modra <amodra@bigpond.net.au> | |
423 | ||
424 | PR target/19142 | |
425 | * config/rs6000/rs6000.c (legitimate_lo_sum_address_p): Allow | |
426 | DFmode for 32-bit again. | |
427 | ||
428 | 2004-12-23 Roger Sayle <roger@eyesopen.com> | |
429 | ||
430 | * reload.c (regno_clobbered_p): Add a gcc_assert that regno | |
431 | refers to a hard register. | |
432 | ||
433 | 2004-12-23 Mark Mitchell <mark@codesourcery.com> | |
434 | ||
435 | * gimplify.c (gimplify_modify_expr_rhs): Use types_compatible_p. | |
436 | ||
437 | 2004-12-23 DJ Delorie <dj@redhat.com> | |
438 | ||
439 | * genrecog.c (did_you_mean_codes): New. | |
440 | (compute_predicate_codes): Fail unmatched codes. | |
441 | ||
442 | 2004-12-23 Eric Christopher <echristo@redhat.com> | |
443 | ||
444 | * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Add | |
445 | assert for machine=mips for !TARGET_IRIX. | |
446 | * config/mips/linux.h: Remove machine=mips assert. | |
447 | * config/mips/netbsd.h: Ditto. | |
448 | * config/mips/openbsd.h: Ditto. | |
449 | ||
450 | 2004-12-23 Dale Johannesen <dalej@apple.com> | |
451 | ||
e8366202 | 452 | * tree.c (iterative_hash_expr): Canonicalize builtins. |
7a4515d7 SB |
453 | |
454 | 2004-12-23 Alexandre Oliva <aoliva@redhat.com> | |
455 | ||
456 | PR target/16819 | |
457 | * calls.c (load_register_parameters): Don't call use_regs when | |
458 | nregs is zero. | |
459 | ||
460 | 2004-12-23 Eric Botcazou <ebotcazou@libertysurf.fr> | |
461 | ||
462 | PR middle-end/17746 | |
463 | * expr.c (get_inner_reference): Add 'keep_aligning' parameter. | |
464 | Break on aligning VIEW_CONVERT_EXPR nodes on STRICT_ALIGNMENT | |
465 | platforms only if keep_aligning is true. | |
466 | (expand_assignment): Adjust call to get_inner_reference. | |
467 | (expand_expr_addr_expr_1): Likewise. | |
468 | (expand_expr_real_1): Likewise. | |
469 | * dojump.c (do_jump): Likewise. | |
470 | * dwarf2out.c (loc_descriptor_from_tree_1): Likewise. | |
471 | * fold-const.c (optimize_bit_field_compare): Likewise. | |
472 | (decode_field_reference): Likewise. | |
473 | (split_address_to_core_and_offset): Likewise. | |
474 | * tree-ssa-loop-ivopts.c (split_address_cost): Likewise. | |
475 | * tree.h (get_inner_reference): Adjust prototype. | |
476 | ||
477 | 2004-12-23 Richard Henderson <rth@redhat.com> | |
478 | ||
479 | * config/i386/i386.c (override_options): Revert last change | |
480 | wrt fancy 387 math. | |
481 | ||
482 | 2004-12-23 Richard Henderson <rth@redhat.com> | |
483 | ||
484 | * config/alpha/alpha.md (one_cmpl<mode>2, and<mode>3, andnot<mode>3, | |
485 | ior<mode>3, iornot<mode>3, xor<mode>3, xornot<mode>3): New macroized | |
486 | vector operate patterns. | |
487 | ||
488 | 2004-12-23 Richard Henderson <rth@redhat.com> | |
489 | ||
490 | * config/i386/i386.c (ix86_expand_vector_move): Tidy. | |
491 | (ix86_expand_vector_move_misalign): New. | |
492 | (ix86_misaligned_mem_ok): Remove. | |
493 | (TARGET_VECTORIZE_MISALIGNED_MEM_OK): Remove. | |
494 | * config/i386/i386-protos.h: Update. | |
495 | * config/i386/i386.md (SSEMODEI): Rename from SSEINT16. | |
496 | (MMXMODEI): Rename from MMXINT8. | |
497 | (SSEMODE, MMXMODE, movmisalign<mode>): New. | |
498 | ||
499 | 2004-12-23 Mark Mitchell <mark@codesourcery.com> | |
500 | ||
501 | PR c++/16405 | |
502 | * gimplify.c (gimplify_modify_expr_rhs): Handle | |
503 | INDIRECT_REF/ADDR_EXPR combinations. | |
504 | ||
505 | 2004-12-22 Richard Henderson <rth@redhat.com> | |
506 | ||
507 | * config/alpha/alpha.c (alpha_expand_mov): Split out ... | |
508 | (alpha_expand_movmisalign): ... misaligned vector support. | |
509 | (TARGET_VECTORIZE_MISALIGNED_MEM_OK): Remove. | |
510 | * config/alpha/alpha-protos.h: Update. | |
511 | * config/alpha/alpha.md (VEC): New macro. | |
512 | (movv8qi, movv4hi, movv2si): Compress with VEC. | |
513 | (movv8qi_fix, movv4hi_fix, movv2si_fix): Likewise. | |
514 | (movv8qi_nofix, movv4hi_nofix, movv2si_nofix): Likewise. | |
515 | (movmisalign<mode>): New. | |
516 | ||
517 | 2004-12-22 Richard Henderson <rth@redhat.com> | |
518 | ||
519 | * optabs.h (OTI_movmisalign, movmisalign_optab): New. | |
520 | * optabs.c (init_optabs): Create it. | |
521 | * genopinit.c (optabs): Initialize it. | |
522 | * expr.c (expand_expr_real_1) <MISALIGNED_INDIRECT_REF>: Use it. | |
523 | * tree-vectorizer.c (vect_supportable_dr_alignment): Likewise. | |
524 | * target-def.h (TARGET_VECTORIZE_MISALIGNED_MEM_OK): Remove. | |
525 | * target.h (vectorize.misaligned_mem_ok): Remove. | |
526 | * targhooks.c (default_vect_misaligned_mem_ok): Remove. | |
527 | * doc/md.texi (movmisalign): New. | |
528 | * doc/tm.texi (TARGET_VECTORIZE_MISALIGNED_MEM_OK): Remove. | |
529 | ||
530 | 2004-12-22 Richard Henderson <rth@redhat.com> | |
531 | ||
532 | * config/i386/emmintrin.h (_mm_loadh_pd): Don't cast pointer arg | |
533 | to __v2si. | |
534 | (_mm_storeh_pd, _mm_loadl_pd, _mm_storel_pd): Likewise. | |
535 | * config/i386/i386.c (ix86_init_mmx_sse_builtins): Use double* or | |
536 | const double* for __builtin_ia32_loadhpd, __builtin_ia32_loadlpd, | |
537 | __builtin_ia32_storehpd, __builtin_ia32_storelpd. | |
538 | (ix86_expand_builtin): Update to match. | |
539 | (ix86_expand_vector_init): Use sse2_loadlpd. | |
540 | * config/i386/i386.md (vec_setv2df): Use sse2_loadlpd, sse2_loadhpd. | |
541 | (vec_extractv2df): Use sse2_storelpd, sse2_storehpd. | |
542 | (sse2_storehpd, sse2_loadhpd, sse2_storelpd, sse2_loadlpd): New. | |
543 | (sse2_movhpd): Remove. | |
544 | ||
545 | 2004-12-23 Alan Modra <amodra@bigpond.net.au> | |
546 | ||
547 | PR target/18751 | |
548 | * config/rs6000/rs6000.c (legitimate_lo_sum_address_p): Return | |
549 | false for anything larger than 32 bits in 32-bit code. | |
550 | ||
551 | 2004-12-22 Richard Henderson <rth@redhat.com> | |
552 | ||
553 | * config/i386/i386.md (btsq, btrq, btcq): Fix modes. | |
554 | (bt peepholes): Likewise. | |
555 | ||
556 | * varasm.c (force_const_mem): Call set_mem_align. | |
557 | ||
558 | 2004-12-22 Richard Henderson <rth@redhat.com> | |
559 | ||
560 | * config/i386/predicates.md (sse_comparison_operator): Fix | |
561 | typo in ieee test. | |
562 | (arith_or_logical_operator): Downcase codes. | |
563 | ||
564 | 2004-12-23 Kaz Kojima <kkojima@gcc.gnu.org> | |
565 | ||
566 | PR target/18511 | |
567 | * reload1.c (emit_output_reload_insns): Check if OLD is a hard | |
568 | register before calling regno_clobbered_p. | |
569 | * reload.c: Update comment for regno_clobbered_p. | |
570 | ||
571 | 2004-12-22 Richard Henderson <rth@redhat.com> | |
572 | ||
573 | * config/i386/i386.c (override_options): Respect user disable of | |
574 | fancy 387 math, sse, mmx. | |
575 | (construct_container): Generate error if we need an sse regster | |
576 | and sse has been disabled. | |
577 | * config/i386/i386.h (TARGET_SWITCHES): Disabling sse also disables | |
578 | later sse generations. Disabling mmx also disables 3dnow. | |
579 | ||
580 | 2004-12-22 Daniel Berlin <dberlin@dberlin.org> | |
581 | ||
582 | * tree-inline.c (struct inline_data): Remove inlined_fns. | |
583 | (expand_call_inline): Remove dead code setting | |
584 | inlined_fns. | |
585 | (optimize_inline_calls): Remove dead code setting DECL_INLINED_FNS. | |
586 | * tree.h (struct tree_decl): Remove inlined_fns. | |
587 | ||
588 | 2004-12-22 Roger Sayle <roger@eyesopen.com> | |
589 | ||
590 | * tree-browser.c: Remove obsolete #ifdef HOST_EBCDIC code. | |
591 | ||
592 | 2004-12-23 Alan Modra <amodra@bigpond.net.au> | |
593 | ||
594 | PR target/18896 | |
595 | * function.c (split_complex_args): Set DECL_ARTIFICIAL, DECL_IGNORED_P | |
596 | for real and imaginary parts if the parm is addressable. | |
597 | (assign_parms_unsplit_complex): If parm addressable, save real | |
598 | and imaginary parts to a stack temp. Pass assign_parm_data_all. | |
599 | (assign_parms): Adjust assign_parms_unsplit_complex call. | |
600 | ||
601 | 2004-12-22 Daniel Berlin <dberlin@dberlin.org> | |
602 | ||
603 | * tree.h (DECL_PTA_ALIASVAR): Dead. | |
604 | (struct tree_decl): Remove alias_var field. | |
605 | ||
606 | 2004-12-22 Nathan Sidwell <nathan@codesourcery.com> | |
607 | ||
608 | * system.h (IN_RANGE): Restore HOST_WIDE_INT cast. | |
609 | * tree.h (IS_EXPR_CODE_CLASS): Do not use IN_RANGE. | |
610 | ||
611 | 2004-12-22 Richard Henderson <rth@redhat.com> | |
612 | Uros Bizjak <uros@kss-loka.si> | |
613 | ||
614 | * config/i386/i386.md (truncdfsf2): Don't create stack temp when | |
615 | using sse math only. Use truncdfsf2_with_temp. | |
616 | (truncdfsf2_with_temp): New. | |
617 | (truncdfsf_fast_i387): Rename from truncdfsf2_noop. Add memory | |
618 | output alternative. | |
619 | (truncdfsf_mixed): Rename from truncdfsf2_1_sse. Compress duplicate | |
620 | alternatives. | |
621 | (truncdfsf_fast_sse): Rename from truncdfsf2_2. Remove f alternative. | |
622 | (truncdfsf2_3, truncdfsf2_sse_only): Remove. | |
623 | (truncdfsf_i387): Rename from truncdfsf2_1. Compress duplicates. | |
624 | (truncdfsf_fast_mixed): New. | |
625 | (truncdfsf splitters): Remove all except the 387 load/store split. | |
626 | (truncxfsf2_1, truncxfdf2_1): Unify enable constraint with | |
627 | respect to TARGET_SSE2, TARGET_80387, TARGET_SSE_MATH and | |
628 | TARGET_MIX_SSE_I387. | |
629 | (*truncxf{s,d}f2_1): Rename to *truncxf{s,d}f2_mixed. | |
630 | (truncxf{s,d}f2_noop) Rename to truncxf{d,s}f2_i387_noop. | |
631 | (*truncxf{s,d}f2_i387): New patterns. | |
632 | (*truncxf{s,d}f2_2): Rename to *truncxf{s,d}f2_i387_1. | |
633 | (truncxf{s,d}f2, fmod{s,d}f3, drem{s,d}f3, log1p{s,d}f2, | |
634 | rint{s,d}f2, floor{s,d}f2, ceil{s,d}f2, btrunc{s,d}f2, | |
635 | nearbyint{s,d}f2): Use renamed patterns. | |
636 | ||
637 | 2004-12-22 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
638 | ||
639 | * tree.h (TYPE_SIZES_GIMPLIFIED): New. | |
640 | * function.c (gimplify_parm_type): Don't gimplify type if already done. | |
641 | * gimplify.c (gimplify_decl_expr): Likewise. | |
642 | (gimplify_type_sizes): Set TYPE_SIZES_GIMPLIFIED. Examine nested | |
643 | array types. | |
644 | ||
645 | 2004-12-22 Richard Henderson <rth@redhat.com> | |
646 | ||
647 | * gimplify.c (eval_save_expr): Remove. | |
648 | (gimplify_one_sizepos): Unshare expr before gimplifying. | |
649 | * stor-layout.c (variable_size): Revert 2004-12-19 change. | |
650 | (layout_decl): Revert 2004-12-18 change. | |
651 | (layout_type): Revert 2004-12-21 change. | |
652 | ||
653 | 2004-12-22 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
654 | ||
655 | * tree-sra.c (type_can_be_decomposed_p): Reject variable sized types. | |
656 | ||
657 | 2004-12-22 Mark Mitchell <mark@codesourcery.com> | |
658 | ||
659 | * Makefile.in (install-common): Remove special-case code for when | |
660 | SPECS is defined. | |
661 | ||
662 | 2004-12-22 Jan Beulich <jbeulich@novell.com> | |
663 | ||
664 | * config.gcc: Add dbxelf.h to NetWare's tm_file. | |
665 | * config/i386/netware-crt0.c: Prototype __init_environment and | |
666 | __deinit_environment prior to their definition. | |
667 | (__init_environment): Correct invokation of constructor function. | |
668 | * config/i386/netware.h (TARGET_OS_CPP_BUILTINS): Use | |
669 | builtin_define_std rather than builtin_define on IAPX386. | |
670 | * config/i386/nwld.h: Disable stabs debugging info with the linker | |
671 | this file supports. | |
672 | * config/i386/t-nwld (SHLIB_LINK): Do not use a temporary file for | |
673 | the output. Add -posix to the options as that is the more compatible | |
674 | mode. | |
675 | * gthr-nks.h: Formatting. | |
676 | (__gthread_mutex_init_function): Kill the dubious use of | |
677 | NX_MUTEX_RECURSIVE as it is now clear that the traditional mutexes | |
678 | were not meant to be recursive. | |
679 | (__gthread_recursive_mutex_t, __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION, | |
680 | __gthread_recursive_mutex_init_function, | |
681 | __gthread_recursive_mutex_lock, __gthread_recursive_mutex_trylock, | |
682 | __gthread_recursive_mutex_unlock): New. | |
683 | ||
684 | 2004-12-22 Alexandre Oliva <aoliva@redhat.com> | |
685 | ||
686 | * config/mips/t-linux64: Remove code that messed with $(SPECS). | |
687 | (MULTILIB_OPTIONS, MULTILIB_DIRNAMES, MULTILIB_OSDIRNAMES): Move | |
688 | n32 to the front. | |
689 | (MULTILIB_EXTRA_OPTS, CRTSTUFF_T_CFLAGS, CRTSTUFF_T_CFLAGS_S): | |
690 | Removed. | |
691 | * config/mips/linux64.h (DRIVER_SELF_SPECS): Don't handle | |
692 | -mabi-fake-default. | |
693 | (SUBTARGET_TARGET_SWITCHES): Likewise. | |
694 | ||
695 | 2004-12-21 Andrew Pinski <pinskia@physics.uc.edu> | |
696 | ||
697 | PR c++/18984 | |
698 | * pointer-set.c (pointer_set_contains): Add back. | |
699 | * pointer-set.h (pointer_set_contains): Add back. | |
700 | ||
701 | 2004-12-21 Richard Henderson <rth@redhat.com> | |
702 | ||
703 | * gimplify.c (eval_save_expr): New. | |
704 | (gimplify_one_sizepos): Use it. | |
705 | * stor-layout.c (layout_type): Unshare TYPE_MIN/MAX_VALUE. | |
706 | ||
707 | 2004-12-21 Nathan Sidwell <nathan@codesourcery.com> | |
708 | ||
709 | * system.c (IN_RANGE): Use plain unsigned, not unsigned | |
710 | HOST_WIDE_INT. | |
711 | * tree.def (VOID_TYPE, INTEGER_TYPE, REAL_TYPE, COMPLEX_TYPE, | |
712 | VECTOR_TYPE, OFFSET_TYPE, ENUMERAL_TYPE, BOOLEAN_TYPE, CHAR_TYPE, | |
713 | POINTER_TYPE, REFERENCE_TYPE, METHOD_TYPE, FUNCTION_TYPE, | |
714 | FILE_TYPE, ARRAY_TYPE, RECORD_TYPE, UNION_TYPE, | |
715 | QUAL_UNION_TYPE): Reorder for better code efficiency. | |
716 | (CONST_DECL, TYPE_DECL, VAR_DECL, FIELD_DECL, PARM_DECL): Likewise. | |
717 | (INDIRECT_REF, ALIGN_INDIRECT_REF, MISALIGNED_INDIRECT_REF): Likewise. | |
718 | * tree.h (INDIRECT_REF_P): Reorder checks for better optimization. | |
719 | (IS_EXPR_CODE_CLASS): Use IN_RANGE. | |
720 | (INTEGRAL_TYPE_P, FLOAT_TYPE_P): Reorder checks for better | |
721 | optimization. | |
722 | ||
723 | 2004-12-21 David O'Brien <obrien@FreeBSD.org> | |
724 | ||
e8366202 | 725 | * config/freebsd-spec.h: Use KSE pthread lib for -pthread. |
7a4515d7 SB |
726 | |
727 | 2004-12-21 James A. Morrison <phython@gcc.gnu.org> | |
728 | ||
729 | PR c/18963 | |
730 | * c-decl.c (pushdecl): Remove block trying to merge static function | |
731 | declarations at block scope to file scope declarations. | |
732 | ||
733 | 2004-12-21 James A. Morrison <phython@gcc.gnu.org> | |
734 | ||
735 | PR c/18596 | |
736 | * c-parse.in (initdcl): Don't process a declaration if start_decl fails. | |
e8366202 | 737 | (notype_initdcl): Don't process a declaration if start_decl fails. |
7a4515d7 SB |
738 | * c-decl.c (start_decl): Fail if grokdeclarator fails. |
739 | (grokdeclarator): Fail if a function definition has an invalid storage | |
740 | class. | |
741 | * c-typeck.c (start_init): Treat error_mark_node the same as 0. | |
742 | ||
743 | 2004-12-21 Richard Henderson <rth@redhat.com> | |
744 | ||
745 | * config/i386/i386.c (x86_sse_split_regs): Rename from | |
746 | x86_sse_partial_regs. | |
747 | * config/i386/i386.h (x86_sse_split_regs): Likewise. | |
748 | (TARGET_SSE_SPLIT_REGS): Rename from TARGET_SSE_PARTIAL_REGS. | |
749 | * config/i386/i386.md (*): Update to match. Remove two | |
750 | floatsisf splitters that use it. | |
751 | ||
752 | * config/i386/i386.h (x86_sse_partial_regs_for_cvtsd2ss): Remove. | |
753 | ||
754 | * config/i386/i386.c (x86_sse_partial_regs_for_cvtsd2ss): Remove. | |
755 | * config/i386/i386.h (TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS): Remove. | |
756 | * config/i386/i386.md (truncdfsf2_1_sse): Don't test it. | |
757 | (truncdfsf2_2, truncdfsf2_sse_only): Likewise. | |
758 | (truncdfsf2_1_sse_nooverlap, truncdfsf2_2_nooverlap): Remove. | |
759 | (truncdfsf2_sse_only_nooverlap): Remove. | |
760 | ||
761 | * config/i386/i386.h (TARGET_SSE_TYPELESS_LOAD0): Remove. | |
762 | ||
763 | 2004-12-21 Eric Botcazou <ebotcazou@libertysurf.fr> | |
764 | ||
765 | * expr.c (emit_group_load_1): Return the source if the move | |
766 | is a regular move between complex values. | |
767 | ||
768 | 2004-12-20 Roger Sayle <roger@eyesopen.com> | |
769 | ||
770 | PR middle-end/18683 | |
771 | * config/rs6000/rs6000.c (current_file_function_operand): Only check | |
772 | current_function_decl's DECL_RTL if it has already been set. | |
773 | ||
774 | 2004-12-20 Roger Sayle <roger@eyesopen.com> | |
775 | ||
776 | PR middle-end/18683 | |
777 | * function.c (pop_function_context_from): Don't reset reg_renumber. | |
778 | ||
779 | 2004-12-20 Eric Botcazou <ebotcazou@libertysurf.fr> | |
780 | ||
781 | PR middle-end/18776 | |
782 | * expr.c (write_complex_part): Use a subreg if the original object | |
783 | is a hard reg that spans an even number of regs or a MEM. | |
784 | (read_complex_part): Likewise. | |
785 | ||
786 | 2004-12-20 Mark Mitchell <mark@codesourcery.com> | |
787 | ||
788 | * Makefile.in (install-common): Do not install the specs file | |
789 | unless SPECS is defined. | |
790 | ||
791 | 2004-12-20 Zdenek Dvorak <dvorakz@suse.cz> | |
792 | ||
793 | PR rtl-optimization/18942 | |
794 | * simplify-rtx.c (simplify_relational_operation_1): Simplify | |
795 | x + cst1 == cst2 to x == cst2 - cst1. Made static. | |
796 | ||
797 | 2004-12-20 Matt Austern <austern@apple.com> | |
798 | ||
799 | PR c++/19044 | |
800 | * c-common.c (set_builtin_user_assembler_name): New. | |
801 | * c-common.h (set_builtin_user_assembler_name): Declare. | |
802 | * c-decl.c (finish_decl): Use set_builtin_user_assembler_name | |
803 | ||
804 | 2004-12-20 Diego Novillo <dnovillo@redhat.com> | |
805 | ||
806 | PR tree-optimization/19080 | |
807 | ||
808 | Merge from tree-cleanup-branch | |
809 | ||
810 | * tree-flow-inline.h (clear_call_clobbered): New function. | |
811 | * tree-ssa-alias.c (init_alias_info): Call it. | |
812 | ||
813 | 2004-12-20 Richard Henderson <rth@redhat.com> | |
814 | ||
815 | * config/i386/i386.md (sse2_movsd): Remove ix86_binary_operator_ok | |
816 | check. | |
817 | ||
818 | 2004-12-20 Steven Bosscher <stevenb@suse.de> | |
819 | Andrew Pinski <pinskia@physics.uc.edu> | |
820 | ||
821 | PR middle-end/18191 | |
822 | PR middle-end/18965 | |
823 | PR middle-end/18999 | |
824 | * expr.c (categorize_ctor_elements_1): Count the total number | |
825 | of elements in the constructor. | |
826 | (categorize_ctor_elements): Return it in a new argument. | |
827 | * tree.h (categorize_ctor_elements): Adjust prototype. | |
828 | * gimplify.c (gimplify_init_ctor_eval_range): New. | |
829 | (gimplify_init_ctor_eval): Gimplify RANGE_EXPR. | |
830 | (gimplify_init_constructor): Block clear the object if the | |
831 | constructor has fewer elements than the object type. Only try | |
832 | to add assignments to individual elements when we have to. | |
833 | ||
834 | 2004-12-20 Richard Henderson <rth@redhat.com> | |
835 | ||
836 | * config/i386/i386.c (ix86_init_mmx_sse_builtins): Use | |
837 | long_long_integer_type_node in building V2DI_type_node. | |
838 | ||
839 | * config/i386/emmintrin.h: Use __vector_size__ instead of vector_size. | |
840 | * config/i386/mmintrin.h, config/i386/xmmintrin.h: Likewise. | |
841 | ||
842 | 2004-12-20 Ben Elliston <bje@au.ibm.com> | |
843 | ||
844 | * doc/md.texi (Expander Definitions): Use @emph instead of @strong | |
845 | around Note: text to workaround a limitation of the Info format. | |
846 | * doc/cpp.texi (Invocation): Likewise. | |
847 | * doc/cppopts.texi: Likewise. | |
848 | ||
849 | 2004-12-19 Dale Johannesen <dalej@apple.com> | |
850 | ||
e8366202 | 851 | * tree-ssa-loop-ivopts.c (contains_abnormal_ssa_name_p): Don't |
7a4515d7 SB |
852 | reference operand 1 of ADDR_EXPRs. |
853 | ||
854 | 2004-12-19 Mark Mitchell <mark@codesourcery.com> | |
855 | ||
856 | * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): New macro. | |
857 | * output.h (assemble_name_raw): Declare it. | |
858 | * system.h (ASM_OUTPUT_INTERNAL_LABEL): Do not poison it. | |
859 | * varasm.c (assemble_name_raw): New function. | |
860 | (assemble_name): Use it. | |
861 | (default_internal_label): Likewise. | |
862 | * config/darwin.c (darwin_asm_output_dwarf_delta): Likewise. | |
863 | * doc/tm.texi (ASM_OUTPUT_INTERNAL_LABEL): Document. | |
864 | ||
865 | 2004-12-19 Richard Henderson <rth@redhat.com> | |
866 | ||
867 | PR 18067 | |
868 | * stor-layout.c (variable_size): Force creation of a SAVE_EXPR. | |
869 | ||
ad41bd84 | 870 | 2004-12-19 Steven Bosscher <stevenb@suse.de> |
7a4515d7 SB |
871 | |
872 | * config/i386/i386.c (ix86_split_to_parts): Use an array with | |
873 | four elements for decoding a CONST_DOUBLE on 64 bits targets. | |
874 | ||
875 | 2004-12-19 Bernardo Innocenti <bernie@develer.com> | |
876 | ||
877 | * config/m68k/m68kemb.h (TARGET_OS_CPP_BUILTINS): Remove redundant | |
878 | definition of mc68000, already present in TARGET_CPU_CPP_BUILTINS. | |
879 | ||
880 | 2004-12-18 Daniel Berlin <dberlin@dberlin.org> | |
881 | ||
882 | * lambda-code.c (can_convert_to_perfect_nest): Make checking | |
883 | match up with what perfect_nestify can actually handle. | |
884 | (perfect_nestify): Don't return false in the phi node loop. | |
885 | ||
886 | 2004-12-18 Richard Henderson <rth@redhat.com> | |
887 | ||
888 | * config/i386/i386.md (SSEINT16): New. | |
889 | (movv16qi, movv8hi, movv4si, movv2di): Compress via macros. | |
890 | (movv16qi_internal, movv8hi_internal, movv4si_internal, | |
891 | movv2di_internal): Compress via macros. Add SSE zero alternative. | |
892 | Fix pure SSE alternatives to use 'x' instead of 'Y'. | |
893 | (MMXINT8): New. | |
894 | (movv8qi, movv4hi, movv2si, movv8qi_internal, movv4hi_internal, | |
895 | movv2si_internal): Compress via macros. | |
896 | (SSEPUSH, MMXPUSH): New. | |
897 | (pushv18qi, pushv8hi, pushv4si, pushv2di, pushti, pushv4sf, pushv2df, | |
898 | pushv8qi, pushv4hi, pushv2si, pushv2sf): Compress via macros. | |
899 | ||
900 | 2004-12-18 Richard Henderson <rth@redhat.com> | |
901 | ||
902 | PR middle-end/16417 | |
903 | * c-decl.c (store_parm_decls): Clarify get_pending_sizes insertion | |
904 | comment. | |
905 | * c-objc-common.c (c_cannot_inline_tree_fn): Remove pending sizes | |
906 | checks. | |
907 | * c-tree.h (struct lang_decl): Remove pending_sizes. | |
908 | * function.c: Include tree-gimple.h | |
909 | (assign_parm_setup_reg): Remove callee-copies code. | |
910 | (gimplify_parm_type, gimplify_parameters): New functions. | |
911 | (expand_pending_sizes): Remove. | |
912 | (expand_function_start): Don't call it. | |
913 | * gimplify.c (gimplify_expr): Examine DECL_VALUE_EXPR for PARM_DECL. | |
914 | (gimplify_body): Add do_parms argument. Use gimplify_parameters. | |
915 | (gimplify_function_tree): Setup cfun. Update gimplify_body call. | |
916 | * tree-gimple.h (gimplify_body): Update decl. | |
917 | * tree-inline.c (initialize_inlined_parameters): Update gimplify_body | |
918 | call. | |
919 | * tree.h (gimplify_parameters): Declare. | |
920 | * Makefile.in (function.o): Depend on TREE_GIMPLE_H. | |
921 | ||
922 | 2004-12-18 Richard Henderson <rth@redhat.com> | |
923 | ||
924 | * c-decl.c (finish_struct): Add DECL_EXPR for variable sized | |
925 | structures seen inside functions. | |
926 | ||
927 | 2004-12-18 Richard Henderson <rth@redhat.com> | |
928 | ||
929 | * c-decl.c (grokdeclarator): Save variable array size before | |
930 | subtracting 1, rather than after. | |
931 | ||
932 | 2004-12-18 Eric Botcazou <ebotcazou@libertysurf.fr> | |
933 | ||
934 | PR middle-end/15486 | |
935 | * varasm.c (asm_emit_uninitialised): Return early if | |
936 | a custom section is requested. | |
937 | (assemble_variable): Revert 2002-03-15 patch. | |
938 | ||
939 | 2004-12-18 Richard Henderson <rth@redhat.com> | |
940 | ||
941 | * stor-layout.c (layout_decl): Use unshare_expr, not unsave_expr. | |
942 | ||
943 | 2004-12-18 Zdenek Dvorak <dvorakz@suse.cz> | |
944 | ||
945 | PR tree-optimization/18800 | |
946 | * params.def (PARAM_IV_ALWAYS_PRUNE_CAND_SET_BOUND): New parameter. | |
947 | * tree-ssa-loop-ivopts.c (struct iv_ca): Add n_cands field. | |
948 | (ALWAYS_PRUNE_CAND_SET_BOUND): New macro. | |
949 | (iv_ca_set_no_cp, iv_ca_set_cp, iv_ca_new): Update n_cands field. | |
950 | (iv_ca_delta_join, iv_ca_delta_reverse, iv_ca_n_cands, iv_ca_prune): | |
951 | New functions. | |
952 | (iv_ca_extend): Return number of candidates in the set. | |
953 | (try_add_cand_for): Add argument to iv_ca_extend calls. | |
954 | (try_improve_iv_set): Use iv_ca_prune. | |
955 | * doc/invoke.texi (iv-always-prune-cand-set-bound): Document. | |
956 | ||
957 | 2004-12-18 Zdenek Dvorak <dvorakz@suse.cz> | |
958 | ||
959 | PR rtl-optimization/19001 | |
960 | * loop-iv.c (iv_number_of_iterations): Record assumptions for loops | |
961 | with power of two step to 'infinite' field. | |
962 | ||
963 | 2004-12-18 Roger Sayle <roger@eyesopen.com> | |
964 | ||
965 | * Makefile.in (stor-layout.o): Depend upon gt-stor-layout.h. | |
966 | (tree-ssa-propagate.o): Depend upon gt-tree-ssa-propagate.h. | |
967 | (tree-ssa-operands.o): Depend upon gt-tree-ssa-operands.h. | |
968 | (tree-mudflap.o): Depend upon gt-tree-mudflap.h. | |
969 | (expr.o): Depend upon gt-expr.h. | |
970 | (regclass.o): Depend upon gt-regclass.h. | |
971 | (bitmap.o): Depend upon gt-bitmap.h. | |
972 | (lists.o): Depend upon gt-lists.h. | |
973 | ||
974 | (cfgexpand.o): Don't depend upon gt-tree-cfg.h. | |
975 | ||
976 | (GTFILES): Remove fold-const.c. | |
977 | (gt-stmt.h, gt-fold-const.h, gt-input.h, gt-tree-ssa-ccp.h): | |
978 | Remove rules. | |
979 | ||
980 | 2004-12-18 Richard Henderson <rth@redhat.com> | |
981 | ||
982 | * stor-layout.c (layout_decl): Unshare size expressions copied | |
983 | from the type. | |
984 | ||
985 | * fold-const.c (multiple_of_p): Handle BIT_AND_EXPR when | |
986 | BOTTOM is a power of two. | |
987 | ||
988 | 2004-12-18 Richard Henderson <rth@redhat.com> | |
989 | ||
990 | * tree-nested.c (save_tmp_var): New. | |
991 | (struct walk_stmt_info): Add is_lhs. | |
992 | (walk_stmts) <MODIFY_EXPR>: Be more accurate with setting of | |
993 | val_only; set is_lhs. | |
994 | (convert_nonlocal_reference): Use save_tmp_var when is_lhs; | |
995 | clear is_lhs when appropriate. | |
996 | (convert_local_reference): Likewise. | |
997 | ||
998 | 2004-12-18 Richard Earnshaw <rearnsha@arm.com> | |
999 | ||
1000 | * arm/ieee754-sf.S (floatdisf): Fix label definition in FPA | |
1001 | compatibility code. | |
1002 | ||
1003 | 2004-12-18 Roger Sayle <roger@eyesopen.com> | |
1004 | ||
1005 | * ifcvt.c (total_bb_rtx_cost): Rename function to cheap_bb_rtx_cost_p. | |
1006 | Take a max_cost argument to avoid scanning large blocks, by returning | |
1007 | a Boolean instead of a total. Include the cost of a "fstp %st(0)" | |
1008 | instruction required to pop dead values off of a register stack. | |
1009 | ||
1010 | 2004-12-18 Roger Sayle <roger@eyesopen.com> | |
1011 | ||
1012 | PR middle-end/18548 | |
1013 | * expr.c (expand_expr_real_1) <MAX_EXPR>: Ensure that target, op0 | |
1014 | and op1 are all registers (or constants) before expanding the RTL | |
1015 | comparison sequence [to avoid reg_overlap_mentioned (target, op1)]. | |
1016 | ||
1017 | 2004-12-18 Eric Botcazou <ebotcazou@libertysurf.fr> | |
1018 | ||
1019 | PR rtl-optimization/16968 | |
1020 | * loop.c (scan_loop): Stop scanning the loop for movable | |
1021 | insns as soon as an optimization barrier is encountered. | |
1022 | ||
1023 | 2004-12-17 Zack Weinberg <zack@codesourcery.com> | |
1024 | ||
1025 | PR 18897 | |
1026 | * toplev.c (compile_file): Call process_pending_assemble_externals | |
1027 | just before targetm.asm_out.file_end. | |
1028 | ||
1029 | 2004-12-17 Diego Novillo <dnovillo@redhat.com> | |
1030 | ||
1031 | tree-optimization/18501 | |
1032 | * tree-optimize.c (init_tree_optimization_passes): Run | |
1033 | pass_late_warn_uninitialized before the last DCE run. | |
1034 | ||
1035 | 2004-12-17 Richard Henderson <rth@redhat.com> | |
1036 | ||
1037 | * config/i386/i386.c (x86_64_reg_class_name): Re-indent. | |
1038 | (classify_argument, examine_argument, construct_container, | |
1039 | merge_classes): Remove prototypes. | |
1040 | (type_natural_mode): Split out from ... | |
1041 | (function_arg): ... here. | |
1042 | (gen_reg_or_parallel): Remove alt_mode argument. Update callers. | |
1043 | Use orig_mode unless it's BLKmode. | |
1044 | (construct_container): Add orig_mode argument. Update callers. | |
1045 | Use gen_reg_or_parallel for SSE registers. | |
1046 | (ix86_function_value): Use type_natural_mode. | |
1047 | (ix86_gimplify_va_arg): Likewise. | |
1048 | (ix86_hard_regno_mode_ok): Always accept all SSE, MMX, 3DNOW modes in | |
1049 | SSE registers; always accept all MMX, 3DNOW modes in MMX registers. | |
1050 | * config/i386/i386.h (VALID_SSE2_REG_MODE): Don't include | |
1051 | VALID_MMX_REG_MODE. | |
1052 | * config/i386/i386.md (attribute mode): Add V1DF. | |
1053 | (movsi_1): Use 'x' instead of 'Y' constraints. | |
1054 | (movsi_1_nointernunit, movdi_2, movdi_1_rex64): Likewise. | |
1055 | (movdi_1_rex64_nointerunit): Likewise. | |
1056 | (movdf_nointeger, movdf_integer): Likewise. Handle SSE1. | |
1057 | (movsf_1, movsf_1_nointerunit): Line up constraint alternatives. | |
1058 | (swapsf): Use fp_register_operand, don't disable for TARGET_SSE. | |
1059 | (swapdf): Likewise. | |
1060 | (swapxf): Enable only for TARGET_80387. | |
1061 | (movv2sf, movv2sf_internal, pushv2sf): Enable for MMX. | |
1062 | (movtf): Remove double-check for TARGET_64BIT. | |
1063 | (movv2df_internal): Enable for SSE1. | |
1064 | (movv8hi_internal, movv16qi_internal): Likewise. | |
1065 | (movv2df, movv8hi, movv16qi): Likewise. | |
1066 | (pushv2di, pushv8hi, pushv16qi, pushv4si): Likewise. | |
1067 | (pushdi2_rex64, movv4sf_internal, movv4si_internal, movv2di_internal, | |
1068 | movv8qi_internal, movv4hi_internal, movv2sf_internal, | |
1069 | movv2df_internal, movv8hi_internal, movv16qi_internal, | |
1070 | movti_internal): Add leading '*' to name. | |
1071 | ||
1072 | 2004-12-17 Dale Johannesen <dalej@apple.com> | |
1073 | ||
e8366202 | 1074 | * c-decl.c (diagnose_mismatched_decls): Accept mismatched |
7a4515d7 SB |
1075 | function types: void with previous implicit int. |
1076 | ||
1077 | 2004-12-17 Andreas Krebbel <krebbel1@de.ibm.com> | |
1078 | ||
1079 | * config/s390/s390.c (s390_gimplify_va_arg): Set alias set to | |
1080 | s390_sr_alias_set. | |
1081 | ||
1082 | 2004-12-17 Jan Beulich <jbeulich@novell.com> | |
1083 | ||
1084 | PR target/17603 | |
1085 | * config/i386/i386.c (enum x86_64_reg_class): Define | |
1086 | X86_64_COMPLEX_X87_CLASS. | |
1087 | (x86_64_reg_class_names): Add name for X86_64_COMPLEX_X87_CLASS. | |
1088 | (merge_classes): Handle X86_64_COMPLEX_X87_CLASS. | |
1089 | (classify_argument): XCmode is X86_64_COMPLEX_X87_CLASS. | |
1090 | (examine_argument): X86_64_COMPLEX_X87_CLASS requires two | |
1091 | registers when dealing with a return value. | |
1092 | (construct_container): Handle X86_64_COMPLEX_X87_CLASS. | |
1093 | Eliminate impossible case of two X87/X87UP pairs (this now is | |
1094 | being expressed by a single COMPLEX_X87). | |
1095 | (x86_libcall_value): XCmode gets returned in st0/st1. | |
1096 | ||
1097 | 2004-12-17 Steven Bosscher <stevenb@suse.de> | |
1098 | ||
1099 | * tree.c (type_contains_placeholder_1): Always return false | |
1100 | for VECTOR_TYPE if its TREE_TYPE does not contain a placeholder. | |
1101 | ||
1102 | 2004-12-17 Uros Bizjak <uros@kss-loka.si> | |
1103 | ||
1104 | * config/i386/i386.md (extendsfdf2, *extendsfdf2_1, | |
1105 | *extendsfdf2_1_sse_only): Unify enable constraint with | |
1106 | respect to TARGET_SSE2, TARGET_80387, TARGET_SSE_MATH | |
1107 | and TARGET_MIX_SSE_I387. | |
1108 | (*extendsfdf2_i387): New insn pattern. | |
1109 | (*extendsfdf2_1): Rename to *extendsfdf2_mixed. Fix | |
1110 | register constraint for operand 0. | |
1111 | (*extendsfdf2_1_sse_only): Rename to *extendsfdf2_sse. | |
1112 | (*extend{s,d}fxf2_1): Rename to *extend{s,d}fxf2_i387. | |
1113 | ||
1114 | 2004-12-16 Andrew Pinski <pinskia@physics.uc.edu> | |
1115 | ||
1116 | PR target/19041 | |
1117 | * config/darwin.c (machopic_symbol_defined_p): Return false | |
1118 | if the binds local and is a common symbol. | |
1119 | ||
1120 | 2004-12-16 Richard Henderson <rth@redhat.com> | |
1121 | ||
1122 | * config/i386/i386.md (extv, extzv, insv): Revalidate the | |
1123 | operand with ext_register_operand. | |
1124 | ||
1125 | 2004-12-16 Kazu Hirata <kazu@cs.umass.edu> | |
1126 | ||
1127 | * global.c: Fix a comment typo. | |
1128 | ||
1129 | 2004-12-16 Eric Botcazou <ebotcazou@libertysurf.fr> | |
1130 | Roger Sayle <roger@eyesopen.com> | |
1131 | ||
1132 | PR tree-optimization/18707 | |
1133 | * cfgloopmanip.c (create_preheader): Move the preheader | |
1134 | only if the latch was falling through to the header. | |
1135 | ||
1136 | 2004-12-16 Danny Smith <dannysmith@users.sourceforge.net> | |
1137 | ||
1138 | PR target/18997 | |
1139 | * config/i386/cygwin.h (GTHREAD_USE_WEAK): Define to 0. | |
1140 | ||
1141 | 2004-12-16 Richard Henderson <rth@redhat.com> | |
1142 | Aldy Hernandez <aldyh@redhat.com> | |
1143 | ||
1144 | * simplify-rtx.c (simplify_replace_rtx): Do not blindly replace | |
1145 | hard registers. | |
1146 | ||
1147 | 2004-12-16 H.J. Lu <hongjiu.lu@intel.com> | |
1148 | ||
1149 | PR other/18508 | |
1150 | * config/alpha/t-osf4 (SHLIB_LINK): Use `.backup' as the suffix | |
1151 | to back up the existing shared library. | |
1152 | * config/arm/t-netbsd (SHLIB_LINK): Likewise. | |
1153 | * config/mips/t-slibgcc-irix (SHLIB_LINK): Likewise. | |
1154 | * config/pa/t-hpux-shlib (SHLIB_LINK): Likewise. | |
1155 | * config/sh/t-linux (SHLIB_LINK): Likewise. | |
1156 | * config/t-libunwind-elf (SHLIBUNWIND_LINK): Likewise. | |
1157 | * config/t-slibgcc-darwin (SHLIB_LINK): Likewise. | |
1158 | * config/t-slibgcc-elf-ver (SHLIB_LINK): Likewise. | |
1159 | * config/t-slibgcc-sld (SHLIB_LINK): Likewise. | |
1160 | ||
1161 | * config/i386/t-nwld (SHLIB_LINK): Don't use the temporary | |
1162 | file. | |
1163 | ||
1164 | 2004-12-16 Richard Henderson <rth@redhat.com> | |
1165 | ||
1166 | * Makefile.in (MD_DEPS, s-mddeps): New. | |
1167 | (s-config, s-conditions, s-flags, s-codes, s-constants, s-emit, | |
1168 | s-recog, s-opinit, s-extract, s-peep, s-attr, s-attrtab, s-output, | |
1169 | s-preds): Depend on MD_DEPS instead of md_file. | |
1170 | (genobjnames): Add genmddeps.o | |
1171 | (build/genmddeps, build/genmddeps.o): New. | |
1172 | (mostlyclean): Remove mddeps.mk. | |
1173 | * genmddeps.c: New file. | |
1174 | * gensupport.c (include_callback): New. | |
1175 | (process_include): Call it. | |
1176 | * gensupport.h (include_callback): Declare. | |
1177 | ||
1178 | 2004-12-16 Nathan Sidwell <nathan@codesourcery.com> | |
1179 | ||
1180 | * local-alloc.c (block_alloc): Replace IN_RANGE with simple | |
1181 | comparison. | |
1182 | ||
1183 | * doc/c-tree.texi (CONSTRUCTOR): Mention RANGE_EXPRs. | |
1184 | ||
1185 | 2004-12-16 Mark Dettinger <dettinge@de.ibm.com> | |
1186 | ||
1187 | * config/s390/s390.c (struct processor_costs): Two new fields: | |
1188 | madbr, maebr. | |
1189 | (s390_rtx_costs): Added handling of multipy and add in SFmode. | |
1190 | More precise values for cost of multiply and add. | |
1191 | ||
1192 | 2004-12-15 Richard Henderson <rth@redhat.com> | |
1193 | ||
1194 | PR target/19028 | |
1195 | * config/i386/i386.md (sse compare splitter): Test for SF and DFmode | |
1196 | explicitly instead of using VALID_SSE_REG_MODE. | |
1197 | ||
1198 | 2004-12-15 Richard Henderson <rth@redhat.com> | |
1199 | ||
1200 | PR target/19005 | |
1201 | * config/i386/i386.md (swaphi_1): Swap with swaphi_2, allow with | |
1202 | optimize_size. | |
1203 | (swapqi_1): Rename from swapqi. Enable only for no partial reg | |
1204 | stall and optimize_size. | |
1205 | (swapqi_2): New. | |
1206 | (swaphi_1, swaphi_2, swapqi_1): Add athlon_decode. | |
1207 | (swapsi, swaphi_1, swaphi_2, swapqi_1, swapdi): Remove modrm override. | |
1208 | ||
1209 | 2004-12-16 Uros Bizjak <uros@kss-loka.si> | |
1210 | ||
1211 | * config/i386/i386.md (*floathisf2_i387, *floathidf2_i387): | |
1212 | Also enable for TARGET_MIX_SSE_I387. | |
1213 | ||
1214 | 2004-12-16 Uros Bizjak <uros@kss-loka.si> | |
1215 | ||
1216 | * config/i386/i386.md (sqrt{s,d}f2_1, sqrt{s,d}f2_1_sse_only, | |
1217 | sqrt{s,d}f2_i387): Unify enable constraint with respect to | |
1218 | TARGET_SSE, TARGET_SSE2, TARGET_USE_FANCY_MATH_387, | |
1219 | TARGET_SSE_MATH and TARGET_MIX_SSE_I387. | |
1220 | (sqrt{s,d}f2_1): Rename to *sqrt{s,d}f2_mixed. | |
1221 | (sqrt{s,d}f2_1_sse_only): Rename to *sqrt{s,d}f2_sse. | |
1222 | (sqrt{s,d}f2_i387): Rename to *sqrt{s,d}f2_i387. | |
1223 | (*sqrtextendsfdf2): Also enable for TARGET_MIX_SSE_I387. | |
1224 | (*sqrtextend?f?f2): Rename to *sqrtextendsfdf2_i387. | |
1225 | ||
1226 | 2004-12-16 Uros Bizjak <uros@kss-loka.si> | |
1227 | ||
1228 | * config/i386/i386.md (*fop_?f_comm_{,sse,nosse}, | |
1229 | *fop_?f_1_{,sse,nosse}, *fop_{d,x}f_{2,3,4,5,6}): Unify enable | |
1230 | constraint with respect to TARGET_80387, TARGET_SSE, TARGET_SSE2, | |
1231 | TARGET_SSE_MATH and TARGET_MIX_SSE_I387. | |
1232 | (*fop_?f_{comm,1}): Rename to *fop_?f_{comm,1}_mixed. | |
1233 | (*fop_?f_{comm,1}_nosse): Rename to *fop_?f_{comm,1}_i387. | |
1234 | (*fop_{d,x}f_{2,3,4,5,6}): Rename to *fop_{d,x}f_{2,3,4,5,6}_i387. | |
1235 | ||
1236 | 2004-12-15 H.J. Lu <hongjiu.lu@intel.com> | |
1237 | ||
1238 | PR target/18153 | |
1239 | * configure.ac: Define HAVE_LD_STATIC_DYNAMIC if linker supports | |
1240 | -Bstatic/-Bdynamic option. | |
1241 | * config.in: Regenerated. | |
1242 | * configure: Likewise. | |
1243 | ||
1244 | * gcc.c (init_spec): Pass -Bstatic/-Bdynamic to ld for static | |
1245 | -lunwind if possible. | |
1246 | ||
1247 | 2004-12-15 Daniel Berlin <dberlin@dberlin.org> | |
1248 | ||
1249 | * cfgloop.c (flow_loops_dump): Don't print out levels. | |
1250 | (flow_loops_find): Don't set loop->levels. | |
1251 | (flow_loops_level_compute): Make void. | |
1252 | * cfgloop.h (struct loops): Remove levels member. | |
1253 | Add comment about loops in parray possibly being NULL. | |
1254 | ||
1255 | 2004-12-15 Alexandre Oliva <aoliva@redhat.com> | |
1256 | ||
1257 | * reload.c (SMALL_REGISTER_CLASS_P): New. | |
1258 | (push_secondary_reload, find_reusable_reload, find_reloads): Use | |
1259 | it instead of testing only the class size. | |
1260 | ||
1261 | 2004-12-15 Eric Botcazou <ebotcazou@libertysurf.fr> | |
1262 | ||
1263 | PR c++/17972 | |
1264 | * tree-inline.c (expand_call_inline): Set TREE_SIDE_EFFECTS | |
1265 | on the STMT_EXPR wrapping up the inlined body. | |
1266 | ||
1267 | 2004-12-15 Vladimir Makarov <vmakarov@redhat.com> | |
1268 | Steven Bosscher <stevenb@suse.de> | |
1269 | PR middle end/17340 | |
1270 | ||
1271 | * global.c: Update comments in a few places. | |
1272 | (check_earlyclobber): Return true if there are early clobber | |
1273 | classes. | |
1274 | (calculate_local_reg_bb_info): Do not try to mark earlyclobber | |
1275 | regs if there are none. | |
1276 | (bb_info, allocate_bb_info, free_bb_info, modify_reg_pav, | |
1277 | make_accurate_live_analysis): Rename pavin, pavout to live_pavin, | |
1278 | live_pavout. | |
1279 | (modify_bb_reg_pav): Remove. | |
1280 | (calculate_reg_pav): Use code from modify_bb_reg_pav. | |
1281 | (temp_bitmap): New variable. | |
1282 | (calculate_reg_pav): Allocate/deallocate temp_bitmap. | |
1283 | ||
1284 | 2004-12-15 Richard Henderson <rth@redhat.com> | |
1285 | ||
1286 | PR target/19010 | |
1287 | * config/i386/i386.c (ix86_must_pass_in_stack): Don't return true | |
1288 | for TImode vectors. | |
1289 | (gen_reg_or_parallel): New. | |
1290 | (function_arg): Use it. | |
1291 | (ix86_hard_regno_mode_ok): Test SSE1 and SSE2 separately, | |
1292 | MMX and 3DNOW separately. | |
1293 | (ix86_rtx_costs): Simplify FLOAT_EXTEND case. | |
1294 | (ix86_vector_mode_supported_p): Test SSE1 and SSE2 separately. | |
1295 | * config/i386/i386.h (VALID_SSE2_REG_MODE): Move SSE2 cases from ... | |
1296 | (VALID_SSE_REG_MODE): ... here. | |
1297 | ||
1298 | 2004-12-15 David Edelsohn <edelsohn@gnu.org> | |
1299 | ||
1300 | * xcoffout.c (xcoffout_declare_function): Change strncpy to memcpy. | |
1301 | ||
1302 | 2004-12-15 Ian Lance Taylor <ian@wasabisystems.com> | |
1303 | ||
1304 | * config/arm/arm.c (arm_xscale_rtx_costs): Increase cost of | |
1305 | COMPARE of MULT. | |
1306 | * config/arm/arm.md (mulsi3_compare0): Don't check | |
1307 | arm_arch_xscale. | |
1308 | (mulsi_compare0_scratch, mulsi3_addsi_compare0): Likewise. | |
1309 | (mulsi3addsi_compare0_scratch): Likewise. | |
1310 | ||
1311 | 2004-12-15 Eric Botcazou <ebotcazou@libertysurf.fr> | |
1312 | ||
1313 | PR other/18665 | |
1314 | * libgcc-std.ver (GCC_3.4.4): Inherit from GCC_3.4.2. | |
1315 | Export __absvti2, __addvti3, __mulvti3, __negvti2 and __subvti3. | |
1316 | * libgcc2.c (__addvsi3): Rename to __addvSI3. | |
1317 | New version if COMPAT_SIMODE_TRAPPING_ARITHMETIC. | |
1318 | (__addvdi3): Rename to __addvDI3. | |
1319 | (__subvsi3): Rename to __subvSI3. Use word type for the result. | |
1320 | New version if COMPAT_SIMODE_TRAPPING_ARITHMETIC. | |
1321 | (__subvdi3): Rename to __subvDI3. | |
1322 | (_mulvsi3): Rename to _mulvSI3. | |
1323 | New version if COMPAT_SIMODE_TRAPPING_ARITHMETIC. | |
1324 | (_mulvdi3): Rename to _mulvDI3. | |
1325 | (__negvsi2): Rename to __negvSI2. | |
1326 | New version if COMPAT_SIMODE_TRAPPING_ARITHMETIC. | |
1327 | (__negvdi2): Rename to __negvDI2. | |
1328 | (__absvsi2): Rename to __absvSI2. | |
1329 | New version if COMPAT_SIMODE_TRAPPING_ARITHMETIC. | |
1330 | (__absvdi2): Rename to __absvDI2. | |
1331 | * libgcc2.h (64-bit targets): Define COMPAT_SIMODE_TRAPPING_ARITHMETIC. | |
1332 | (__absvSI2, __addvSI3, __subvSI3, __mulvSI3, __negvSI2, __absvDI2, | |
1333 | __addvDI3, __subvDI3, __mulvDI3, __negvDI2): Define to the appropriate | |
1334 | symbol and declare. | |
1335 | (__absvsi2, __addvsi3, __subvsi3, __mulvsi3, __negvsi2): Declare if | |
1336 | COMPAT_SIMODE_TRAPPING_ARITHMETIC. | |
1337 | ||
1338 | 2004-12-15 Kazuhiro Inaoka <inaoka.kazuhiro@reneasas.com> | |
1339 | ||
1340 | * config/m32r/m32r.h (PREFERRED_DEBUGGING_TYPE): | |
1341 | Use DWARF2_DEBUG. | |
1342 | ||
1343 | * config/m32r.c (m32r_legitimize_pic_address): Changed | |
1344 | to support GOTOFF relocation. | |
1345 | * config/m32r.md (UNSPEC_GOTOFF): New. | |
1346 | (gotoff_load_addr): New. | |
1347 | ||
1348 | 2004-12-15 Richard Sandiford <rsandifo@redhat.com> | |
1349 | ||
1350 | * config/mips/mips.c (mips_arg_info): Use FUNCTION_ARG_BOUNDARY to | |
1351 | decide whether an argument is double-word aligned. | |
1352 | ||
1353 | 2004-12-15 Richard Henderson <rth@redhat.com> | |
1354 | ||
1355 | * config/i386/i386.md: Fix missing modes on cmove splitters. | |
1356 | ||
1357 | 2004-12-15 Jan Beulich <jbeulich@novell.com> | |
1358 | ||
1359 | * mklibgcc.in (libgcc2_c_dep): Add dependency on libgcc2.h. | |
1360 | ||
1361 | 2004-12-15 Uros Bizjak <uros@kss-loka.si> | |
1362 | ||
1363 | * config/i386/i386.md (floathisf2, *floathisf2_1, floatsisf2, | |
1364 | *floatsisf2_i387, *floatsisf2_sse, floatdisf2, | |
1365 | *floatdisf2_i387_only, *floatdisf2_i387, *floatdisf2_sse, | |
1366 | floathidf2, *floathidf2_1, *floatsidf2_i387, *floatsidf2_sse, | |
1367 | floatdidf2, *floatdidf2_i387_only, *floatdidf2_i387, | |
1368 | *floatdidf2_sse, floatunssisf2, floatunsdisf2, floatunsdidf2): | |
1369 | Unify enable constraint with respect to TARGET_80387, TARGET_SSE, | |
1370 | TARGET_SSE2, TARGET_64BIT, TARGET_SSE_MATH and TARGET_MIX_SSE_I387. | |
1371 | (*float?i?f_i387): Rename to *float?i?f2_mixed. | |
1372 | (*float?i?f2_1): Rename to *float?i?f2_i387. | |
1373 | (*float?i?f2_i387_only): Rename to *float?i?f2_i387. | |
1374 | (float?ixf2): Penalize integer register operand. | |
1375 | ||
1376 | 2004-12-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
1377 | ||
1378 | PR c++/17242 | |
1379 | * configure.ac: Add GAS check for HP-UX .nsubspa comdat. | |
1380 | * configure, config.in: Rebuilt. | |
1381 | * config/pa/pa-hpux10.h (SUPPORTS_ONE_ONLY, MAKE_DECL_ONE_ONLY): Delete | |
1382 | defines. | |
1383 | * config/pa/pa.c (pa_select_section): Allow uninitialized variables in | |
1384 | one-only (comdat) subspaces. | |
1385 | * config/pa/som.h (SUPPORTS_SOM_COMDAT): New define. | |
1386 | (SUPPORTS_ONE_ONLY): True if SUPPORTS_WEAK or SUPPORTS_SOM_COMDAT are | |
1387 | true. | |
1388 | (MAKE_DECL_ONE_ONLY): Place uninitialized variables in common. | |
1389 | ||
1390 | 2004-12-14 Ian Lance Taylor <ian@wasabisystems.com> | |
1391 | ||
1392 | * combine.c (combine_validate_cost): Consider cost of | |
1393 | undobuf.other_insn rather than always allowing the recombination | |
1394 | if it is set. | |
1395 | ||
1396 | 2004-12-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
1397 | ||
1398 | * pa-host.c (MAP_FAILED): Define if not defined. | |
1399 | (pa_gt_pch_use_address): Handle short reads. | |
1400 | ||
1401 | 2004-12-14 Richard Henderson <rth@redhat.com> | |
1402 | ||
1403 | PR target/17990 | |
1404 | * config/i386/i386.c (x86_use_bt): New. | |
1405 | (ix86_expand_unary_operator): Use MEM_P. | |
1406 | (ix86_expand_fp_absneg_operator): New. | |
1407 | * config/i386/i386.h (x86_use_bt): Declare. | |
1408 | (TARGET_USE_BT): New. | |
1409 | * config/i386/i386-protos.h: Update. | |
1410 | * config/i386/i386.md (negsf2): Use ix86_expand_fp_absneg_operator. | |
1411 | (negdf2, negxf2, abssf2, absdf2, absxf2): Likewise. | |
1412 | (negsf2_memory, negsf2_ifs, negsf2_if, negdf2_memory, negdf2_ifs, | |
1413 | negdf2_ifs_rex64, negdf2_if, negdf2_if_rex64, negxf2_if, | |
1414 | abssf2_memory, abssf2_ifs, abssf2_if, absdf2_memory, absdf2_ifs, | |
1415 | absdf2_ifs_rex64, absdf2_if, absxf2_if): Remove. | |
1416 | (absnegsf2_mixed, absnegsf2_sse, absnegsf2_i387, absnegdf2_mixed, | |
1417 | absnegdf2_sse, absnegdf2_i387, absnegxf2_i387): New. Merge all | |
1418 | neg and abs splitters. Handle DFmode in general regs in 64-bit mode. | |
1419 | (negextendsfdf2, absextendsfdf2): Disable for non-mixed sse math. | |
1420 | (btsq, btrq, btcq): New. Add peepholes as well. | |
1421 | (movv4sf_internal splitter): Postpone til after reload. | |
1422 | (movv2di_internal splitter): Likewise. | |
1423 | * config/i386/predicates.md (const_0_to_63_operand): New. | |
1424 | (absneg_operator): New. | |
1425 | ||
1426 | 2004-12-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
1427 | ||
1428 | * pa.h (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P, REGNO_OK_FOR_FP_P): | |
1429 | Check register number and that reg_renumber is nonzero before using it. | |
1430 | ||
1431 | 2004-12-14 Steve Ellcey <sje@cup.hp.com> | |
1432 | ||
1433 | * doc/invoke.texi (IA-64 options): Add existing options that | |
1434 | weren't already listed. | |
1435 | ||
1436 | 2004-12-14 Jeff Law <law@redhat.com> | |
1437 | ||
1438 | * tree-outof-ssa.c (coalesce_abnormal_edges): Pass the correct target | |
1439 | partition to conflict_graph_merge_regs. | |
1440 | ||
1441 | 2004-12-14 Uttam Pawar <uttamp@us.ibm.com> | |
1442 | Janis Johnson <janis187@us.ibm.com> | |
1443 | ||
1444 | * rs6000.c (rs6000_handle_altivec_attribute_tree): Report errors | |
1445 | for vector types with invalid component types. | |
1446 | ||
1447 | 2004-12-14 Jakub Jelinek <jakub@redhat.com> | |
1448 | ||
1449 | PR middle-end/18951 | |
1450 | * builtins.c (expand_builtin_mathfn, expand_builtin_mathfn_2, | |
1451 | expand_builtin_mathfn_3): Avoid using arguments passed to | |
1452 | save_expr after that call. | |
1453 | ||
1454 | * fold-const.c (fold_single_bit_test): If flag_syntax_only, pretend | |
1455 | LOAD_EXTEND_OP is not defined. | |
1456 | (fold): Likewise. If flag_syntax_only, don't depend on BITS_PER_WORD. | |
1457 | ||
1458 | 2004-12-14 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> | |
1459 | ||
1460 | * tree.def, doc/c-tree.texi: Correctly document restrictions on the | |
1461 | shift width. | |
1462 | ||
1463 | 2004-12-14 Kazu Hirata <kazu@cs.umass.edu> | |
1464 | ||
1465 | * expr.h (expand_modifier): Define EXPAND_STACK_PARM as 1. | |
1466 | ||
1467 | 2004-12-14 Richard Earnshaw <rearnsha@arm.com> | |
1468 | ||
1469 | PR target/18973 | |
1470 | arm-cores.def (arm926ej-s, arm1026ej-s, arm1136j-s, arm1136-jfs) | |
1471 | (arm1176jz-s, arm1176jzf-s, mpcorenovfp, mpcore): Add load-scheduling | |
1472 | property to flags. | |
1473 | ||
1474 | 2004-12-14 Diego Novillo <dnovillo@redhat.com> | |
1475 | ||
1476 | * tree-gimple.c (get_base_address): Update documentation. | |
1477 | ||
1478 | 2004-12-13 Richard Henderson <rth@redhat.com> | |
1479 | ||
1480 | PR middle-end/17930 | |
1481 | * passes.c (rest_of_clean_state): Fix computation of | |
1482 | preferred_incoming_stack_boundary. | |
1483 | ||
1484 | 2004-12-13 Wolfgang Bangerth <bangerth@dealii.org> | |
1485 | ||
1486 | * reload.h: Remove struct needs and its only use. | |
1487 | ||
1488 | 2004-12-13 Roger Sayle <roger@eyesopen.com> | |
1489 | ||
1490 | PR rtl-optimization/18928 | |
1491 | * simplify_rtx.c (plus_minus_operand_p): New function to encode | |
1492 | the test for suitable operands for calls to simplify_plus_minus. | |
1493 | Only allow (CONST (PLUS x y)) if both x and y are CONSTANT_P. | |
1494 | (simplify_binary_operation): Use plus_minus_operand_p. | |
1495 | ||
1496 | 2004-12-13 Alexandre Oliva <aoliva@redhat.com> | |
1497 | ||
1498 | PR tree-opt/16951 | |
1499 | * tree-inline.c (setup_one_parameter): Don't directly map a | |
1500 | parameter to the address of another variable of the same | |
1501 | function. | |
1502 | ||
1503 | 2004-13-12 Steven Bosscher <stevenb@suse.de> | |
1504 | ||
1505 | * basic-block.h (PROP_POSTRELOAD): Do not include PROP_AUTOINC, we | |
1506 | can never create autoinc insns after reload. | |
1507 | ||
1508 | 2004-12-13 Jeff Law <law@redhat.com> | |
1509 | Kazu Hirata <kazu@cs.umass.edu> | |
1510 | ||
1511 | PR tree-optimization/18694 | |
1512 | * tree-ssa-dom.c (thread_across_edge): Do not thread jumps if a | |
1513 | PHI argument is set from a PHI_RESULT in the same block and the | |
1514 | PHI argument is not the same as the PHI result. | |
1515 | ||
1516 | 2004-12-13 David Edelsohn <edelsohn@gnu.org> | |
1517 | ||
1518 | * xcoffout.c (xcoffout_declare_function): Always strip storage | |
1519 | class encoding. | |
1520 | ||
1521 | 2004-12-13 Andrew Pinski <pinskia@physics.uc.edu> | |
1522 | ||
1523 | PR target/18964 | |
1524 | * config/darwin.c (darwin_assemble_visibility): Fix minor diagnostic | |
1525 | problem, adding a space at the end of the string before concatenation. | |
1526 | ||
1527 | 2004-12-13 Kazu Hirata <kazu@cs.umass.edu> | |
1528 | ||
1529 | * c-common.c (fname_as_string): Free namep if we are returning | |
1530 | cstr.text. | |
1531 | ||
1532 | * tree-ssa-dom.c (record_edge_info): Fix memory leak. | |
1533 | ||
1534 | 2004-12-13 Andrew Pinski <pinskia@physics.uc.edu> | |
1535 | ||
1536 | * tree-cfg.c (remove_useless_stmts_cond): Call fold on COND_EXPR_COND. | |
1537 | ||
1538 | 2004-12-13 Kazu Hirata <kazu@cs.umass.edu> | |
1539 | ||
1540 | * tree-ssa-dom.c (record_equivalences_from_phis): Speed up by | |
1541 | doing a pointer comparison. | |
1542 | ||
1543 | * tree-ssa-dom.c (record_equivalences_from_phis): Add a | |
1544 | comment. | |
1545 | ||
1546 | * defaults.h, stmt.c, tree-cfg.c, tree-ssa-dce.c: Fix comment | |
1547 | typos. | |
1548 | ||
1549 | 2004-12-13 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com> | |
1550 | ||
1551 | * config/m32r/t-linux (SHLIB_MAPFILES): Add libgcc-glibc.ver to | |
1552 | the list rather than replacing the existing value. | |
1553 | ||
1554 | 2004-12-13 Richard Henderson <rth@redhat.com> | |
1555 | ||
1556 | * cfg.c (dump_flow_info): Don't dump pseudo info after reload. | |
1557 | ||
1558 | 2004-12-13 Richard Henderson <rth@redhat.com> | |
1559 | ||
1560 | * Makefile.in (insn-preds.o): Depend on REGS_H. | |
1561 | * genpreds.c (write_insn_preds_c): Include regs.h. | |
1562 | * config/i386/predicates.md (index_register_operand): Use | |
1563 | REG_OK_FOR_INDEX_STRICT_P and REG_OK_FOR_INDEX_NONSTRICT_P. | |
1564 | ||
1565 | * config/i386/i386.h (REG_CLASS_FROM_LETTER): Add 'l'. | |
1566 | * config/i386/i386.md (lea_general_1, lea_general_1_zext, | |
1567 | lea_general_2, lea_general_2_zext, lea_general_3, lea_general_3_zext, | |
1568 | adddi_1_rex64, addsi_1, addsi_1_zext, addhi_1_lea, addqi_1_lea, | |
1569 | ashldi3_1_rex64, ashlsi3_1, ashlsi3_1_zext, ashlhi3_1_lea, | |
1570 | ashlqi3_1_lea): Use 'l' for index register operand. | |
1571 | (ashldi3_1_rex64 splitter): Use index_register_operand. | |
1572 | (ashlsi3_1 splitter): Be more careful with modes. | |
1573 | ||
1574 | 2004-12-13 Danny Smith <dannysmith@users.sourceforge.net> | |
1575 | ||
1576 | PR target/18459 | |
1577 | * defaults.h (TARGET_USE_JCR_SECTION): New macro. | |
1578 | * doc/tm.texi (TARGET_USE_JCR_SECTION): Document it. | |
1579 | * config/i386/cygming.h (TARGET_USE_JCR_SECTION): Override | |
1580 | default. | |
1581 | ||
1582 | 2004-12-13 Uros Bizjak <uros@kss-loka.si> | |
1583 | ||
1584 | PR target/14941 | |
1585 | PR target/18503 | |
1586 | * config/i386/i386.md (sse_movss, sse2_movsd, sse2_movhpd): | |
1587 | Fix wrong vec_merge selector bitmask. | |
1588 | ||
1589 | 2004-12-12 Richard Henderson <rth@redhat.com> | |
1590 | ||
1591 | PR rtl-opt/17186 | |
1592 | * reg-stack.c (move_nan_for_stack_reg): New. | |
1593 | (subst_stack_regs_pat): Use it. | |
1594 | (move_for_stack_reg): Handle source register not live with a nan. | |
1595 | ||
1596 | 2004-12-12 Richard Henderson <rth@redhat.com> | |
1597 | ||
1598 | * config/i386/i386.c (ix86_gimplify_va_arg): Fix type mismatch | |
1599 | errors across operations. | |
1600 | ||
1601 | 2004-12-12 Di-an Jan <dianj@freeshell.org> | |
1602 | ||
1603 | * doc/passes.texi (Pass Manager): Correct list of source files. | |
1604 | ||
1605 | 2004-12-12 Richard Henderson <rth@redhat.com> | |
1606 | ||
1607 | * expr.c (emit_move_change_mode): New. | |
1608 | (emit_move_via_alt_mode): Use it. | |
1609 | ||
1610 | 2004-12-12 Nathanael Nerode <neroden@gcc.gnu.org> | |
1611 | John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
1612 | ||
1613 | PR middle-end/17564 | |
1614 | * dojump.c (do_compare_and_jump): Only canonicalize function pointers | |
1615 | in a comparison if both sides are function pointers. | |
1616 | ||
1617 | 2004-12-12 Richard Henderson <rth@redhat.com> | |
1618 | ||
1619 | PR target/18932 | |
1620 | * config/i386/i386.md (all splits and peepholes): Use flags_reg_operand | |
1621 | and compare_operator to propagate the input CC mode to the output. | |
1622 | * config/i386/predicates.md (compare_operator): New. | |
1623 | ||
1624 | 2004-12-12 Andrew Pinski <pinskia@physics.uc.edu> | |
1625 | ||
1626 | PR tree-opt/18040 | |
1627 | * expr.c (get_inner_reference): Remove NON_LVALUE_EXPR, NOP_EXPR, | |
1628 | CONVERT_EXPR cases. | |
1629 | (handled_component_p): Likewise. | |
1630 | ||
1631 | 2004-12-12 Kazu Hirata <kazu@cs.umass.edu> | |
1632 | ||
1633 | * reg-stack.c (convert_regs_2): Free stack. | |
1634 | ||
1635 | * tree-ssa-dom.c (thread_across_edge, dom_opt_finalize_block): Fix | |
1636 | comment typos. | |
1637 | ||
1638 | 2004-12-12 Daniel Berlin <dberlin@dberlin.org> | |
1639 | ||
1640 | * tree-ssa-loop-ch.c (copy_loop_headers): Loop can be null. | |
1641 | * tree-ssa-loop-im.c (determine_lsm): tree_root may not have a real | |
1642 | inner loop. | |
1643 | ||
1644 | 2004-12-12 Diego Novillo <dnovillo@redhat.com> | |
1645 | ||
1646 | * tree-gimple.c (get_base_address): Update documentation. | |
1647 | ||
1648 | 2004-12-12 Kazu Hirata <kazu@cs.umass.edu> | |
1649 | ||
1650 | * lcm.c (optimize_mode_switching): Free ptr even when mode_set | |
1651 | is NULL_RTX. | |
1652 | ||
1653 | 2004-12-12 Roger Sayle <roger@eyesopen.com> | |
1654 | ||
1655 | * reg-stack.c (change_stack): Avoid placing the new top-of-stack in | |
1656 | its correct location during popping if we need to permute the stack | |
1657 | afterwards. Attempt to preserve the original stack ordering. | |
1658 | ||
1659 | 2004-12-12 Kazu Hirata <kazu@cs.umass.edu> | |
1660 | ||
1661 | * lcm.c (optimize_mode_switching): Free insert and delete in | |
1662 | the "for" loop. | |
1663 | ||
1664 | 2004-12-11 David Edelsohn <edelsohn@gnu.org> | |
1665 | Ulrich Weigand <uweigand@de.ibm.com> | |
1666 | ||
1667 | PR target/18641 | |
1668 | * config/rs6000/darwin.h (PREFERRED_RELOAD_CLASS): Reload all | |
1669 | constants into all register classes intersecting with FLOAT_REGS | |
1670 | via memory. | |
1671 | * config/rs6000/rs6000.h (PREFERRED_RELOAD_CLASS): Same. | |
1672 | * config/rs6000/rs6000.md (movdi_internal32): Ignore FPRs when | |
1673 | choosing register preferences. | |
1674 | (movdi_internal64): Same. | |
1675 | ||
1676 | 2004-12-11 Kazu Hirata <kazu@cs.umass.edu> | |
1677 | ||
1678 | * tree-into-ssa.c (rewrite_ssa_into_ssa): Free SSA_NAME_AUX | |
1679 | before we release an SSA_NAME. | |
1680 | ||
1681 | 2004-12-11 Roger Sayle <roger@eyesopen.com> | |
1682 | ||
1683 | PR middle-end/18921 | |
1684 | * fold-const.c (fold_unwidened_comparison): Use omit_one_operand | |
1685 | instead of constant_boolean_node as arg0 may have side-effects. | |
1686 | ||
1687 | 2004-12-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
1688 | ||
1689 | * pa-host.c (pa_gt_pch_use_address): Use lseek and read to copy PCH | |
1690 | file to anonymous private map. | |
1691 | ||
1692 | 2004-12-10 Roger Sayle <roger@eyesopen.com> | |
1693 | ||
1694 | PR target/18002 | |
1695 | PR middle-end/18424 | |
1696 | * dojump.c (do_jump): When attempting to reverse the effects of | |
1697 | fold_single_bit_test, we need to STRIP_NOPS and narrowing type | |
1698 | conversions, and handle BIT_XOR_EXPR that's used to invert the | |
1699 | sense of the single bit test. | |
1700 | ||
1701 | 2004-12-10 Devang Patel <dpatel@apple.com> | |
1702 | ||
1703 | PR 18732 | |
1704 | * gcc.c (main): Do not break out of loop when error is reported while | |
1705 | processing one source file. | |
1706 | ||
1707 | 2004-12-10 Diego Novillo <dnovillo@redhat.com> | |
1708 | ||
1709 | * tree-into-ssa.c (REWRITE_THIS_STMT): Define. | |
1710 | (mark_def_sites): Clear REWRITE_THIS_STMT for statements that | |
1711 | don't need any operands rewritten. | |
1712 | (rewrite_stmt): Ignore statements that don't need to be | |
1713 | rewritten. | |
1714 | (rewrite_operand): Validate that an existing SSA_NAME is | |
1715 | identical to the current reaching definition of the operand. | |
1716 | ||
1717 | 2004-12-10 Diego Novillo <dnovillo@redhat.com> | |
1718 | ||
1719 | * tree-dfa.c (mark_call_clobbered_vars_to_rename): New function. | |
1720 | * tree-vectorizer.c (vectorizable_load): Call it. | |
1721 | * tree-flow.h (mark_call_clobbered_vars_to_rename): Declare. | |
1722 | * tree-sra.c (mark_all_v_defs): Also mark VUSEs for renaming. | |
1723 | ||
1724 | 2004-12-10 Kazu Hirata <kazu@cs.umass.edu> | |
1725 | ||
1726 | * regmove.c (combine_stack_adjustments_for_block): Free | |
1727 | memlist if it hasn't been freed. | |
1728 | ||
1729 | 2004-12-10 Ziemowit Laski <zlaski@apple.com> | |
1730 | ||
1731 | * c-typeck.c (lookup_field): Check if a TYPE_LANG_SPECIFIC | |
1732 | pointer field is set before dereferencing it. | |
1733 | ||
1734 | 2004-12-10 Andrew Pinski <pinskia@physics.uc.edu> | |
1735 | ||
1736 | PR middle-end/18903 | |
1737 | * tree-cfg.c (remove_bb): Put the moved label at the beginning | |
1738 | of the basic block. | |
1739 | ||
1740 | 2004-12-10 Kazu Hirata <kazu@cs.umass.edu> | |
1741 | ||
1742 | * tree-data-ref.c (free_data_refs): Free each data_reference | |
1743 | object. | |
1744 | ||
1745 | * tree-ssa-dom.c (thread_across_edge): Speed up by avoiding a | |
1746 | call to is_gimple_min_invariant if we know the result. | |
1747 | ||
1748 | 2004-12-10 Jeff Law <law@redhat.com> | |
1749 | ||
1750 | * tree-ssa-alias.c (setup_pointers_and_addressables): Remove | |
1751 | redundant test of v_ann->mem_tag_kind. | |
1752 | ||
1753 | * tree-ssa-operands.c (get_indirect_ref_operands): Remove | |
1754 | redundant conditional clearing opf_kill_def. | |
1755 | ||
1756 | 2004-12-10 Richard Sandiford <rsandifo@redhat.com> | |
1757 | ||
1758 | * config/frv/frv-modes.def: Fix comment typos. | |
1759 | (CC_NZ): Define new mode. | |
1760 | * config/frv/frv-protos.h (frv_select_cc_mode): Declare. | |
1761 | (condexec_intop_cmp_operator): Delete. | |
1762 | * config/frv/frv.c (comparison_string): New function. | |
1763 | (frv_print_operand): Use it to handle 'c' and 'C'. | |
1764 | (relational_operator): Redefine in terms of integer_relational_operator | |
1765 | and float_relational_operator. | |
1766 | (signed_relational_operator, unsigned_relational_operator): Delete. | |
1767 | (integer_relational_operator): New predicate, combining the above. | |
1768 | Check the mode of the first operand but leave frv.md to check the rest. | |
1769 | (float_relational_operator): Just check the mode of the first operand | |
1770 | and leave frv.md to check the rest. | |
1771 | (intop_compare_operator): Assume the result is compared with zero | |
1772 | in mode CC_NZmode. Allow PLUS and MINUS. Leave frv.md to check | |
1773 | the operand predicates. | |
1774 | (condexec_intop_cmp_operator): Delete. | |
1775 | (frv_ifcvt_modify_tests, frv_ifcvt_modify_multiple_tests) | |
1776 | (frv_hard_regno_mode_ok): Handle CC_NZmode. | |
1777 | (frv_select_cc_mode): New function. | |
1778 | * config/frv/frv.h (SELECT_CC_MODE): Use frv_select_cc_mode. | |
1779 | (REVERSIBLE_CC_MODE): Include CC_NZmode. | |
1780 | (PREDICATE_CODES): Replace entries for signed_relational_operand and | |
1781 | unsigned_relational_operator with one for integer_relational_operator. | |
1782 | Delete entry for condexec_intop_cmp_operator. | |
1783 | * config/frv/frv.md (movcc_nz, *internal_movcc_nz, reload_incc_nz) | |
1784 | (reload_outcc_nz, *cmpsi_cc_nz, *cond_exec_cmpsi_cc_nz): New patterns. | |
1785 | (*combo_intop_compare2, *combo_intop_compare4): Delete. | |
1786 | (*combo_intop_compare1): Change mode to CC_NZ. | |
1787 | (*combo_intop_compare2): Likewise. Renamed from *combo_intop_compare3. | |
1788 | (branch_{un,}signed_true, branch_{un,}signed_false) | |
1789 | (*scc_{un,}signed, *scc_neg1_{un,}signed, *ck_{un,}signed) | |
1790 | (*movqicc_internal1_{un,}signed, *movqicc_internal2_{un,}signed) | |
1791 | (*movhicc_internal1_{un,}signed, *movhicc_internal2_{un,}signed) | |
1792 | (*movsicc_internal1_{un,}signed, *movsicc_internal2_{un,}signed) | |
1793 | (*movsfcc_has_fprs_{un,}signed, *movsfcc_no_fprs_{un,}signed) | |
1794 | (*return_{unsigned_,}true, *return_{unsigned_,}false): Merge these | |
1795 | pattern pairs. Use integer_relational_operator. Remove mode from | |
1796 | icc_operand. | |
1797 | ||
1798 | 2004-12-10 Mark Dettinger <dettinge@de.ibm.com> | |
1799 | ||
1800 | * config/s390/s390.c (struct processor_costs): New fields ml, | |
1801 | sqdbr, sqebr. | |
1802 | (s390_rtx_costs): Added the missing handling of multiply & add, | |
1803 | square root, and umulsidi. | |
1804 | ||
1805 | 2004-12-10 Kazu Hirata <kazu@cs.umass.edu> | |
1806 | ||
1807 | * expmed.c (synth_mult): Initialize new_limit.latency before | |
1808 | making a recursive call. | |
1809 | ||
1810 | 2004-12-10 Nick Clifton <nickc@redhat.com> | |
1811 | ||
1812 | * config/mn10300/mn10300.c (legitimate_address_p): Reject address | |
1813 | whose index is itself the sum of two other parts. | |
1814 | ||
1815 | 2004-12-10 Alan Modra <amodra@bigpond.net.au> | |
1816 | ||
1817 | * config/t-slibgcc-sld (SHLIB_LINK): Correct symlink. | |
1818 | ||
1819 | 2004-12-10 Uros Bizjak <uros@kss-loka.si> | |
1820 | ||
1821 | * config/i386/i386.md (*cmpfp_sf): Change type attribute to "multi". | |
1822 | ||
1823 | 2004-12-09 Richard Henderson <rth@redhat.com> | |
1824 | ||
1825 | PR c/18282 | |
1826 | * attribs.c (decl_attributes): Use relayout_decl. | |
1827 | * c-common.c (handle_mode_attribute): Copy all relevant type | |
1828 | parameters from the new underlying integral type. | |
1829 | ||
1830 | 2004-12-09 Richard Henderson <rth@redhat.com> | |
1831 | ||
1832 | * c-common.c (shorten_compare): Don't special-case min/maxval | |
1833 | for C enumerations. | |
1834 | ||
1835 | 2004-12-09 Richard Sandiford <rsandifo@redhat.com> | |
1836 | ||
1837 | * simplify-rtx.c (simplify_subreg): In the CONCAT case, check whether | |
1838 | the request subreg is entirely contained in the requested component. | |
1839 | (simplify_gen_subreg): Return null for CONCATs that are rejected | |
1840 | by simplify_subreg. | |
1841 | * expmed.c (store_bit_field): Create a temporary when changing the | |
1842 | value to an integer mode. | |
1843 | ||
1844 | 2004-12-09 David Edelsohn <edelsohn@gnu.org> | |
1845 | ||
1846 | * real.c (ibm_extended): Correct comment. | |
1847 | ||
1848 | 2004-12-09 Stan Shebs <shebs@apple.com> | |
1849 | ||
1850 | * config/rs6000/darwin-asm.h: New file, 32/64-bit assembly macros | |
1851 | formerly in darwin-tramp.asm. | |
1852 | * config/rs6000/darwin-tramp.asm: Include darwin-asm.h. | |
1853 | * config/rs6000/darwin-fpsave.asm: Use 32/64-bit macros. | |
1854 | * config/rs6000/t-darwin: Add dependencies. | |
1855 | ||
1856 | 2004-12-09 Richard Henderson <rth@redhat.com> | |
1857 | ||
1858 | PR target/17025 | |
1859 | * config/i386/i386.md (testqi_1_maybe_si, andqi_2_maybe_si): New. | |
1860 | (test_qi_1, andqi_2): Do not promote to simode. | |
1861 | ||
1862 | 2004-12-09 Andrew Pinski <pinskia@physics.uc.edu> | |
1863 | ||
1864 | PR tree-opt/18904 | |
1865 | * tree-chrec.c (chrec_convert): Use fold_convert | |
1866 | instead of convert. | |
1867 | ||
1868 | 2004-12-09 Matt Rice <ratmice@yahoo.com> | |
1869 | ||
1870 | PR preprocessor/18102 | |
1871 | * c-incpath.c (remove_duplicates): Check for construct | |
1872 | equality. | |
1873 | ||
1874 | 2004-12-09 Dorit Naishlos <dorit@il.ibm.com> | |
1875 | ||
1876 | * genopinit.c (vec_realign_store_optab): Initialization removed. | |
1877 | * optabs.c (optab_for_tree_code): REALIGN_STORE_EXPR case removed. | |
1878 | * optabs.h (optab_index): OTI_vec_realign_store Removed. | |
1879 | (vec_realign_store_optab): Removed. | |
1880 | * target-def.h (TARGET_VECTORIZE_BUILTIN_MASK_FOR_STORE): Removed. | |
1881 | * target.h (builtin_mask_for_store): Removed. | |
1882 | * tree.def (REALIGN_STORE_EXPR): Removed. | |
1883 | * config/rs6000/rs6000.c (rs6000_builtin_mask_for_store): Removed. | |
1884 | (altivec_builtin_mask_for_store): Removed. | |
1885 | (altivec_init_builtins): Removed initialization of | |
1886 | altivec_builtin_mask_for_store. | |
1887 | ||
1888 | * doc/tm.texi (TARGET_VECTORIZE_MISALIGNED_MEM_OK): New. | |
1889 | (TARGET_VECTORIZE_BUILTIN_MASK_FOR_LOAD): New. | |
1890 | ||
1891 | 2004-12-09 Nathan Sidwell <nathan@codesourcery.com> | |
1892 | ||
1893 | * doc/c-tree.texi (CONSTRUCTOR): Mention RANGE_EXPRs. | |
1894 | ||
1895 | * tree.def (SET_TYPE): Remove. | |
1896 | (CONSTRUCTOR): Update description. | |
1897 | * builtins.c (type_to_class) Remove SET_TYPE case. | |
1898 | * dbxout.c (dbxout_type): Likewise. | |
1899 | * dwarf2out.c (is_base_type): Likewise. | |
1900 | (gen_set_type_die): Remove. | |
1901 | (gen_type_die): Remove SET_TYPE case. | |
1902 | * expr.c (count_type_elements): Likewise. | |
1903 | (mostly_zeroes_p): Likewise. | |
1904 | (store_constructor): Likewise. | |
1905 | * print_tree.c (print_node): Likewise. | |
1906 | * stor-layout.c (layout_type): Likewise. | |
1907 | * tree-browser.c (browse_tree): Likewise. | |
1908 | * tree-inline.c (remap_type): Likewise. | |
1909 | * tree-pretty-print.c (dump_generic_node): Likewise. | |
1910 | * tree.c (type_contains_plaeholder_1, type_hash_eq, | |
1911 | variably_modified_type_p, initializer_zerop): Likewise. | |
1912 | * tree.h (SET_OR_ARRAY_CHECK): Remove. | |
1913 | (AGGREGATE_TYPE_P): Remove SET_TYPE check. | |
1914 | (TYPE_DOMAIN): Use ARRAY_TYPE_CHECK. | |
1915 | * typeclass.h (enum type_class): Remove set_type_class. | |
1916 | * varasm.c (const_hash_1): Remove SET_TYPE case. | |
1917 | (compare_constant, copy_constant, output_constant): Likewise. | |
1918 | * config/i386/i386.c (classify_argument): Likewise. | |
1919 | * config/ia64/ia64.c (hfa_element_mode): Likewise. | |
1920 | * config/sparc/sparc.c (sparc_type_code): Likewise. | |
1921 | ||
1922 | PR c++/16681 | |
1923 | * tree-inline.c (estimate_num_insns_1): Add RANGE_EXPR case. | |
1924 | ||
1925 | 2004-12-08 Richard Henderson <rth@redhat.com> | |
1926 | ||
1927 | * config/i386/i386.md: Use FLAGS_REG everywhere. | |
1928 | ||
1929 | 2004-12-08 Eric Christopher <echristo@redhat.com> | |
1930 | ||
1931 | * config/mips/mips.c (mips_scalar_mode_supported_p): Rewrite | |
1932 | to avoid call to default function. | |
1933 | ||
1934 | 2004-12-08 Zack Weinberg <zack@codesourcery.com> | |
1935 | ||
1936 | PR 17982 | |
1937 | * varasm.c (pending_assemble_externals): New static. | |
1938 | (assemble_external_real): Meat of assemble_external split out | |
1939 | to this new function. | |
1940 | (process_pending_assemble_externals): New function. | |
1941 | (assemble_external): Use gcc_assert. If flag_unit_at_a_time | |
1942 | is true and the basic test passes, merely cons the decl onto | |
1943 | the pending list to be handled later. | |
1944 | * tree.h: Declare process_pending_assemble_externals. | |
1945 | * cgraphunit.c (cgraph_optimize): Call it. | |
1946 | ||
1947 | * config/h8300/h8300.h: Do not define ASM_OUTPUT_EXTERNAL. | |
1948 | ||
1949 | 2004-12-08 Kazu Hirata <kazu@cs.umass.edu> | |
1950 | ||
1951 | * cfgloopmanip.c (create_preheader): Speed up by "unrolling" | |
1952 | and simplifying FOR_EACH_EDGE. | |
1953 | ||
1954 | 2004-12-08 Richard Sandiford <rsandifo@redhat.com> | |
1955 | ||
1956 | * config/frv/frv.c (frv_sort_insn_group): Always initialize | |
1957 | packet_group->nop. | |
1958 | ||
1959 | 2004-12-08 Nathan Sidwell <nathan@codesourcery.com> | |
1960 | ||
1961 | PR c++/18672 | |
1962 | * gimplify.c (canonicalize_addr_expr): Cope with array of | |
1963 | incomplete type. | |
1964 | (gimplify_conversion): Remove redundant checks. | |
1965 | ||
1966 | * doc/trouble.texi (Non-bugs): Clarify empty loop removal. | |
1967 | ||
1968 | 2004-12-08 Uros Bizjak <uros@kss-loka.si> | |
1969 | ||
1970 | * config/i386/i386.c (output_387_binary_op, | |
1971 | ix86_prepare_fp_compare_args): Fix is_sse condition. | |
1972 | ||
1973 | 2004-12-07 Uros Bizjak <uros@kss-loka.si> | |
1974 | ||
1975 | * config/i386/i386-protos.h (ix86_split_fp_branch): New rtx | |
1976 | argument. | |
1977 | ||
1978 | * config/i386/i386.c (output_fp_compare): Fix is_sse condition. | |
1979 | Use EFLAGS_P only when fcomi insn should be used. Fix handling | |
1980 | of eflags_p variable. Change alt table accordingly. For non-fcomi | |
1981 | compare insn always use trailing fnstsw insn. Fix intmode | |
1982 | calculation for ficom insn. | |
1983 | (ix86_split_fp_branch): Add "rtx pushed" as new parameter. Call | |
1984 | ix86_free_from_memory when "pushed" is specified. | |
1985 | (ix86_expand_branch): Change call to ix86_split_fp_branch. | |
1986 | ||
1987 | * config/i386/i386.md (*cmpfp_0_sf, *cmpfp_0_df, *cmpfp_0_xf): | |
1988 | Change eflags_p parameter in call to output_fp_compare. | |
1989 | (*cmpfp_2_sf, *cmpfp_2_df, *cmpfp_2_xf): Remove. | |
1990 | (*cmpfp_2_sf_1, *cmpfp_2_df_1, *cmpfp_2_xf_1): Rename to | |
1991 | *cmpfp_2_sf, *cmpfp_2_df, *cmpfp_2_xf. Change eflags_p | |
1992 | parameter in call to output_fp_compare. | |
1993 | (*cmpfp_2_u): Remove. | |
1994 | (*cmpfp_2_u_1): Rename to *cmpfp_2_u. Change eflags_p parameter | |
1995 | in call to output_fp_compare. | |
1996 | (*ficom_1): Remove insn definition and corresponding define_split. | |
1997 | (*cmpfp_si): New insn definition. | |
1998 | (*fp_jcc_8): New insn definition. Add new splitters for | |
1999 | "memory_operand" and "register_operand". | |
2000 | (define_split): Add new parameter in call to ix86_split_fp_branch. | |
2001 | ||
2002 | config/i386/predicates.md (float_operator): New predicate. | |
2003 | ||
2004 | 2004-12-08 Kazu Hirata <kazu@cs.umass.edu> | |
2005 | ||
2006 | * c-common.c (verify_tree): Don't check code length if we know | |
2007 | we are handling tcc_unary. | |
2008 | * print_tree.c (print_node): Remove code to handle RTL | |
2009 | appearing as a part of a tree node. | |
2010 | * tree-gimple.c (recalculate_side_effects): Rename fro as len. | |
2011 | * tree.c (build1_stat): Don't check TREE_CODE_LENGTH. | |
2012 | (PROCESS_ARG): Don't refer to fro. | |
2013 | (build2_stat, build3_stat, build4_stat): Don't compute fro. | |
2014 | ||
2015 | 2004-12-07 Roger Sayle <roger@eyesopen.com> | |
2016 | ||
2017 | PR middle-end/18293 | |
2018 | * expmed.c (EXACT_POWER_OF_2_OR_ZERO_P): Move definition earlier. | |
2019 | (expand_mult): Special case powers of two to avoid synth_mult. | |
2020 | * loop.c (product_cheap_p): Handle case where expand_mult does | |
2021 | require/generate any instructions (i.e. multiplication by zero). | |
2022 | ||
2023 | 2004-12-07 Richard Henderson <rth@redhat.com> | |
2024 | ||
2025 | * tree-pretty-print.c (dump_array_domain): Split out from | |
2026 | dump_generic_node; fix off-by-one error on zero-based array bounds. | |
2027 | (dump_generic_node): Use it. | |
2028 | (print_declaration): Likewise. | |
2029 | ||
2030 | 2004-12-08 Richard Guenther <richard.guenther@uni-tuebingen.de> | |
2031 | ||
2032 | * doc/invoke.texi: Adjust default values for | |
2033 | large-function-growth and inline-unit-growth to match | |
2034 | params.def. Clarify used algorithm. | |
2035 | ||
2036 | 2004-12-07 David Mosberger <davidm@hpl.hp.com> | |
2037 | ||
2038 | PR target/18443 | |
2039 | * config/ia64/ia64.c (ia64_assemble_integer): Add support for | |
2040 | emitting unaligned pointer-sized integers. | |
2041 | ||
2042 | 2004-12-07 Steven Bosscher <stevenb@suse.de> | |
2043 | ||
2044 | PR c/18867 | |
2045 | * c-typeck.c (c_start_case): Set orig_type to error_mark_node | |
2046 | when the type of the controlling expression is not a valid type. | |
2047 | ||
2048 | 2004-12-07 Steven Bosscher <stevenb@suse.de> | |
2049 | ||
2050 | PR tree-optimization/17340 | |
2051 | * tree-ssa-pre.c (compute_antic): Fix comment. | |
2052 | (compute_avail): Do not recurse, instead do a DFS using a stack | |
2053 | and a loop. | |
2054 | (execute_pre): Adjust. | |
2055 | ||
2056 | 2004-12-07 Ziemowit Laski <zlaski@apple.com> | |
2057 | ||
2058 | * c-tree.h (struct lang_type): Rename 'objc_protocols' field | |
2059 | to 'objc_info'. | |
2060 | ||
2061 | 2004-12-07 Eric Christopher <echristo@redhat.com> | |
2062 | ||
2063 | PR target/16317 | |
2064 | * config/netbsd.h (NO_IMPLICIT_EXTERN_C): Define. | |
2065 | ||
2066 | 2004-12-07 Eric Christopher <echristo@redhat.com> | |
2067 | ||
2068 | * config/mips/mips-protos.h (mips_valid_pointer_mode): Move | |
2069 | prototype... | |
2070 | * config/mips/mips.c: ... here. Make static. | |
2071 | ||
2072 | 2004-12-07 Eric Christopher <echristo@redhat.com> | |
2073 | ||
2074 | PR target/18442 | |
2075 | * config/mips/mips.c (mips_vector_mode_supported_p): New function. | |
2076 | (TARGET_SCALAR_MODE_SUPPORTED_P): Define to above. | |
2077 | ||
2078 | 2004-12-07 Kazu Hirata <kazu@cs.umass.edu> | |
2079 | ||
2080 | * c-common.c, expr.c, fold-const.c, print-tree.c, | |
2081 | tree-gimple.c, tree-inline.c, tree-pretty-print.c, | |
2082 | tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c: Replace uses of | |
2083 | first_rtl_op with TREE_CODE_LENGTH. | |
2084 | * tree.c (first_rtl_op): Remove. | |
2085 | Replace uses of first_rtl_op with TREE_CODE_LENGTH. | |
2086 | * tree.h: Remove the prototype for first_rtl_op. | |
2087 | ||
2088 | 2004-12-07 David Edelsohn <edelsohn@gnu.org> | |
2089 | ||
2090 | * config/rs6000/t-aix43, config/rs6000/t-aix52 (SHLIB_LINK): | |
2091 | Revert 2004-12-01 change. | |
2092 | ||
2093 | 2004-12-06 Ziemowit Laski <zlaski@apple.com> | |
2094 | ||
2095 | * c-tree.h (struct lang_type): Add 'objc_protocols' field. | |
2096 | ||
2097 | 2004-12-06 DJ Delorie <dj@redhat.com> | |
2098 | ||
2099 | * reload.c (find_valid_class): Fix logic to test inner mode as well. | |
2100 | (push_reload): Pass inner mode. | |
2101 | ||
2102 | 2004-12-06 Eric Christopher <echristo@redhat.com> | |
2103 | ||
2104 | * doc/tm.texi (TARGET_VALID_POINTER_MODE): Document. | |
2105 | ||
2106 | 2004-12-06 Aldy Hernandez <aldyh@redhat.com> | |
2107 | ||
2108 | * config/rs6000/sysv4.h: Define RELOCATABLE_NEEDS_FIXUP to 1. | |
2109 | ||
2110 | 2004-12-06 Zdenek Dvorak <dvorakz@suse.cz> | |
2111 | Kazu Hirata <kazu@cs.umass.edu> | |
2112 | ||
2113 | PR tree-optimization/18601 | |
2114 | * tree-cfg.c (thread_jumps, thread_jumps_from_bb): Removed. | |
2115 | (tree_forwarder_block_p): Do not consider blocks that are its own | |
2116 | successors forwarders. | |
2117 | (cleanup_forwarder_blocks, remove_forwarder_block): New functions. | |
2118 | (cleanup_tree_cfg): Use cleanup_forwarder_blocks instead of | |
2119 | thread_jumps. | |
2120 | * tree-flow.h (bb_ann_d): Remove forwardable. | |
2121 | ||
2122 | 2004-12-06 Kazu Hirata <kazu@cs.umass.edu> | |
2123 | ||
2124 | * expr.c (expand_expr_real_1): Remove an "if" whose condition | |
2125 | is always false. | |
2126 | ||
2127 | 2004-12-06 Roger Sayle <roger@eyesopen.com> | |
2128 | ||
2129 | * c-gimplify.c (gimplify_c_loop): Improve initial implementations | |
2130 | for loops whose conditions are known at compile-time. | |
2131 | * gimplify.c (append_to_statement_list_1): Remove side_effects | |
2132 | parameter, this function should never be called if its false. | |
2133 | (append_to_statement_list): Only call append_to_statement_list_1 | |
2134 | if t is non-NULL tree with side-effects. | |
e8366202 | 2135 | (append_to_statement_list_force): Likewise, if t is not NULL. |
7a4515d7 SB |
2136 | |
2137 | 2004-12-06 J"orn Rennecke <joern.rennecke@st.com> | |
2138 | ||
2139 | * bt-load.c (btr_def_s): New member own_end; | |
2140 | (add_btr_to_live_range): Add second parameter. Changed caller. | |
2141 | (clear_btr_from_live_range): Clear btrs_live_at_end bit | |
2142 | for the register its definition basic block if own_end is set. | |
2143 | (augment_live_range): Also take btrs_live_at_end into account. | |
2144 | (combine_btr_defs): Don't bother with | |
2145 | other_def->other_btr_uses_after_use if it pertains to a different | |
2146 | register. | |
2147 | (move_btr_def): Set def->other_btr_uses_before_def after | |
2148 | calling combine_btr_defs." | |
2149 | ||
2150 | * bt-load.c (augment_live_range): New argument full_range. | |
2151 | Changed all callers. | |
2152 | ||
2153 | * bt-load.c (move_tr_def): Set other_tr_uses_before_def | |
2154 | taking new btr assignment into account. | |
2155 | ||
2156 | 2004-12-05 Daniel Berlin <dberlin@dberlin.org> | |
2157 | ||
2158 | * tree-ssa-alias.c (create_global_var): Use void_type_node, | |
2159 | not size_type_node. | |
2160 | ||
2161 | 2004-12-05 Kazu Hirata <kazu@cs.umass.edu> | |
2162 | ||
2163 | * expr.c (expand_expr_real_1): Abort on COND_EXPR of | |
2164 | VOID_TYPE. | |
2165 | ||
2166 | 2004-12-05 Richard Henderson <rth@redhat.com> | |
2167 | ||
2168 | PR target/18841 | |
2169 | * config/alpha/alpha.md (UNSPECV_SETJMPR_ER): New. | |
2170 | (builtin_setjmp_receiver_er_sl_1): Use it. | |
2171 | (builtin_setjmp_receiver_er_1): Likewise. | |
2172 | (builtin_setjmp_receiver_er, exception_receiver_er): Remove. | |
2173 | (builtin_setjmp_receiver): Don't split for explicit relocs until | |
2174 | after reload. | |
2175 | (exception_receiver): Likewise. | |
2176 | ||
2177 | 2004-12-05 Andrew Pinski <pinskia@physics.uc.edu> | |
2178 | ||
2179 | * mklibgcc.in (vis_hide): Add the prototype for the test. | |
2180 | ||
2181 | 2004-12-05 Roger Sayle <roger@eyesopen.com> | |
2182 | ||
2183 | * c-typeck.c (c_finish_loop): Improve initial implementations | |
2184 | for loops whose conditions are known at compile-time. | |
2185 | ||
2186 | 2004-12-05 Kazu Hirata <kazu@cs.umass.edu> | |
2187 | ||
2188 | * builtins.c: Fix comment typos. | |
2189 | ||
2190 | 2004-12-04 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
2191 | ||
2192 | PR middle-end/18730 | |
2193 | * emit-rtl.c (get_first_nonnote_insn, get_last_nonnote_insn): When | |
2194 | the first/last insn is a sequence, return the first/last insn of the | |
2195 | sequence. | |
2196 | ||
2197 | PR bootstrap/18804 | |
2198 | * mklibgcc.in (vis_hide): Use implementation instead of declaration | |
2199 | for test function. | |
2200 | ||
2201 | 2004-12-04 Richard Henderson <rth@redhat.com> | |
2202 | ||
2203 | * config/alpha/alpha.c (alpha_expand_unaligned_load): Don't forget to | |
2204 | use ofs in BWX two byte special case. | |
2205 | (alpha_expand_unaligned_store): Likewise. | |
2206 | ||
2207 | 2004-12-04 Kazu Hirata <kazu@cs.umass.edu> | |
2208 | ||
2209 | * gcse.c (gcse_main): Add a comment. | |
2210 | ||
2211 | 2004-12-04 Andrew Pinski <pinskia@physics.uc.edu> | |
2212 | ||
2213 | PR middle-end/17909 | |
2214 | * builtins.c (fold_builtin_next_arg): Export and return true | |
2215 | when there is a warning or an error. | |
2216 | (expand_builtin_va_start): When fold_builtin_next_arg returns true, | |
2217 | return const0_rtx. | |
2218 | (expand_builtin): Likewise. | |
2219 | * gimplify.c (gimplify_call_expr): Error out if there is not | |
2220 | enough arguments to va_start. Call fold_builtin_next_arg also | |
2221 | on the second argument. | |
2222 | * tree.h (fold_builtin_next_arg): Prototype. | |
2223 | ||
2224 | 2004-12-04 Alan Modra <amodra@bigpond.net.au> | |
2225 | ||
2226 | * mklibgcc.in: Build shared libgcc and shared libunwind in gcc/. | |
2227 | Don't subst shlib_dir for SHLIB_LINK, SHLIBUNWIND_LINK, | |
2228 | SHLIB_INSTALL, and SHLIBUNWIND_INSTALL. | |
2229 | * config/i386/t-nwld (SHLIB_NAME): Use shlib_base_name in place of | |
2230 | shlib_dir and shlib_so_name. | |
2231 | * config/mips/t-slibgcc-irix (SHLIB_NAME): Likewise. | |
2232 | * config/t-libunwind-elf (SHLIB_NAME): Likewise. | |
2233 | * config/t-slibgcc-darwin (SHLIB_NAME): Likewise. | |
2234 | * config/t-slibgcc-elf-ver (SHLIB_NAME): Likewise. | |
2235 | * config/t-slibgcc-sld (SHLIB_NAME): Likewise. | |
2236 | (SHLIB_LINK): Don't use shlib_dir when creating symlink. | |
2237 | ||
2238 | 2004-12-03 Roger Sayle <roger@eyesopen.com> | |
2239 | ||
2240 | * doc/tm.texi (TARGET_DELEGITIMIZE_ADDRESS): Document target hook. | |
2241 | ||
2242 | 2004-12-03 Richard Henderson <rth@redhat.com> | |
2243 | ||
2244 | * alias.c (component_uses_parent_alias_set): Rename from | |
2245 | can_address_p. Return bool. Reverse the sense of the result. | |
2246 | Reinstate the check for alias set zero. | |
2247 | (get_alias_set): Update to match. | |
2248 | * alias.h (component_uses_parent_alias_set): Likewise. | |
2249 | * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise. | |
2250 | * expr.c (expand_assignment): Likewise. | |
2251 | * expr.h: Remove commented out prototypes that were moved to alias.h. | |
2252 | ||
2253 | 2004-12-03 Richard Henderson <rth@redhat.com> | |
2254 | ||
2255 | * doc/tm.texi (TARGET_BUILD_BUILTIN_VA_LIST): New. | |
2256 | (TARGET_CANNOT_FORCE_CONST_MEM): New. | |
2257 | ||
2258 | 2004-12-04 Alan Modra <amodra@bigpond.net.au> | |
2259 | ||
2260 | PR middle end/18718 | |
2261 | * sched-rgn.c (schedule_region): Don't assume REG_SAVE_NOTEs are | |
2262 | in pairs. | |
2263 | * sched-ebb.c (schedule_ebb): Likewise. | |
2264 | ||
2265 | 2004-12-03 Andreas Schwab <schwab@suse.de> | |
2266 | ||
2267 | * Makefile.in (HOSTHOOKS_DEF_H): Define. | |
2268 | (ggc-common.o): Depend on $(HOSTHOOKS_DEF_H). | |
2269 | (host-default.o): Likewise. | |
2270 | ||
2271 | 2004-12-03 Eric Christopher <echristo@redhat.com> | |
2272 | ||
2273 | * config/stormy16/stormy16.md (pushqi, popqi, pushhi, | |
2274 | pophi): Add number of arguments to name so that the | |
2275 | pattern is recognized as a named pattern. | |
2276 | ||
2277 | 2004-12-03 Janis Johnson <janis187@us.ibm.com> | |
2278 | ||
2279 | * doc/extend.texi (AltiVec Builtins): Fix info about signedness. | |
2280 | ||
2281 | 2004-12-03 Andreas Tobler <a.tobler@schweiz.ch> | |
2282 | ||
2283 | * config/rs6000/rs6000.c (rs6000_override_options): Protect | |
2284 | darwin_one_byte_bool with #if. | |
2285 | ||
2286 | 2004-12-03 Paolo Bonzini <bonzini@gnu.org> | |
2287 | ||
2288 | * doc/tm.texi (Misc): Document TARGET_FOLD_BUILTIN. | |
2289 | ||
2290 | 2004-12-03 H.J. Lu <hongjiu.lu@intel.com> | |
2291 | ||
2292 | * mklibgcc.in: Put back the default set of EXTRA_MULTILIB_PART. | |
2293 | ||
2294 | 2004-12-03 Richard Sandiford <rsandifo@redhat.com> | |
2295 | ||
2296 | * configure.ac: Move TL_AC_GCC_VERSION into initialization section. | |
2297 | Set libstdcxx_incdir directly. | |
2298 | * configure: Regenerate. | |
2299 | ||
2300 | 2004-12-03 Kazu Hirata <kazu@cs.umass.edu> | |
2301 | ||
2302 | * tree-ssa-dom.c (record_equivalences_from_phis): Remove an | |
2303 | "if" whose condition is always true. | |
2304 | ||
2305 | * cfgrtl.c (rtl_verify_flow_info_1): Use JUMP_P instead of | |
2306 | INSN_P. | |
2307 | ||
2308 | 2004-12-02 Stan Shebs <shebs@apple.com> | |
2309 | ||
2310 | * config/rs6000/rs6000.c (rs6000_override_options): Make 64-bit | |
2311 | Darwin default to one-byte bools. | |
2312 | ||
2313 | 2004-12-02 Richard Henderson <rth@redhat.com> | |
2314 | ||
2315 | PR 18774 | |
2316 | * simplify-rtx.c (simplify_immed_subreg): Fail complex modes. | |
2317 | ||
2318 | 2004-12-03 Ben Elliston <bje@au.ibm.com> | |
2319 | ||
2320 | * doc/cfg.texi (Edges): Update. Document the edge_iterator data | |
2321 | type and its methods. | |
2322 | ||
2323 | 2004-12-02 Richard Henderson <rth@redhat.com> | |
2324 | ||
2325 | * expr.c (write_complex_part): Use simplify_gen_subreg when the | |
2326 | submode is at least as large as a word. | |
2327 | (read_complex_part): Likewise. | |
2328 | ||
2329 | 2004-12-02 H.J. Lu <hongjiu.lu@intel.com> | |
2330 | ||
2331 | PR bootstrap/18532 | |
2332 | * mklibgcc.in: Build one set of EXTRA_MULTILIB_PARTS for | |
2333 | multilib at a time. Don't build the default set. Don't add | |
2334 | EXTRA_MULTILIB_PARTS to shared libunwind nor libgcc. Remove | |
2335 | filter for shared libunwind and libgcc. | |
2336 | ||
2337 | 2004-12-02 Roger Sayle <roger@eyesopen.com> | |
2338 | ||
2339 | PR target/18759 | |
2340 | * config/i386/i386.c (override_options): If -fomit-frame-pointer has | |
2341 | already been specified, ignore the -momit-leaf-frame-pointer option. | |
2342 | ||
2343 | 2004-12-02 H.J. Lu <hongjiu.lu@intel.com> | |
2344 | ||
2345 | * varasm.c (make_decl_rtl): Add the missing `;'. | |
2346 | ||
2347 | 2004-12-02 Andrew Pinski <pinskia@physics.uc.edu> | |
2348 | ||
2349 | * tree.c (is_attribute_p): Split out to .. | |
2350 | (is_attribute_with_length_p): Here. Use IDENTIFIER_LENGTH instead | |
2351 | of strlen and compare the string lengths before calling strcmp. | |
2352 | (lookup_attribute): Call is_attribute_with_length_p instead of | |
2353 | is_attribute_p. | |
2354 | ||
2355 | 2004-12-02 Devang Patel <dpatel@apple.com> | |
2356 | ||
2357 | * config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Add -gfull and -gused. | |
2358 | * config/rs6000/darwin.h (CC1_SPEC): Do not handle -gfull and -gused. | |
2359 | * config/i386/darwin.h (CC1_SPEC): Same. | |
2360 | ||
2361 | 2004-12-02 Richard Henderson <rth@redhat.com> | |
2362 | ||
2363 | * optabs.c (lowpart_subreg_maybe_copy): New. | |
2364 | (expand_unop, expand_abs_nojump): Use it. | |
2365 | ||
2366 | 2004-12-02 J"orn Rennecke <joern.rennecke@st.com> | |
2367 | ||
2368 | * sh.md (extv, extzv): Add pattern predicate. | |
2369 | ||
2370 | 2004-12-02 Kazu Hirata <kazu@cs.umass.edu> | |
2371 | ||
2372 | * tree-cfg.c (phi_alternatives_equal): Check that PHI_ARG_DEF | |
2373 | is not null. | |
2374 | ||
2375 | * tree-cfg.c (phi_alternatives_equal): Check that PHI_ARG_DEF | |
2376 | is not null. | |
2377 | ||
2378 | * tree-cfg.c (thread_jumps): Reduce the size of WORKLIST. | |
2379 | ||
2380 | 2004-12-02 Jeff Law <law@redhat.com> | |
2381 | ||
2382 | * tree-eh.c: Revert yesterday's change. | |
2383 | ||
2384 | 2004-12-02 Andrew Pinski <pinskia@physics.uc.edu> | |
2385 | ||
2386 | * varasm.c (decode_reg_name): Revert change to check for zero | |
2387 | length strings. | |
2388 | (make_decl_rtl): Make sure that we call decode_reg_name only | |
2389 | when needed. | |
2390 | ||
2391 | 2004-12-02 Dorit Naishlos <dorit@il.ibm.com> | |
2392 | ||
2393 | PR tree-opt/18716 | |
2394 | * tree-vectorizer.c (slpeel_make_loop_iterate_ntimes): Properly set | |
2395 | then and else labels. | |
2396 | ||
2397 | 2004-12-02 Andreas Schwab <schwab@suse.de> | |
2398 | ||
2399 | * Makefile.in (WERROR_FLAGS): Renamed from WERROR. | |
2400 | (STRICT2_WARN): Use $(WERROR_FLAGS) instead of $(WERROR). | |
2401 | (STAGE2_FLAGS_TO_PASS): Likewise. | |
2402 | ||
2403 | * config/i386/x-mingw32: Set WERROR_FLAGS instead of WERROR. | |
2404 | ||
2405 | 2004-12-02 Richard Sandiford <rsandifo@redhat.com> | |
2406 | ||
2407 | * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version. Remove | |
2408 | now-redundant AC_SUBSTs. | |
2409 | * aclocal.m4: Include ../config/gcc-version.m4. | |
2410 | * configure: Regenerate. | |
2411 | ||
2412 | 2004-12-02 Alan Modra <amodra@bigpond.net.au> | |
2413 | ||
2414 | * config/rs6000/rs6000.c (rs6000_assemble_integer): Put back the | |
2415 | #ifdef RELOCATABLE_NEEDS_FIXUP. | |
2416 | ||
2417 | 2004-12-01 Roger Sayle <roger@eyesopen.com> | |
2418 | ||
2419 | PR target/9908 | |
2420 | * config/i386/i386.md (*call_value_1, *sibcall_value_1): Correct | |
2421 | Intel assembler syntax by using %A1 instead of %*%1. | |
2422 | ||
2423 | 2004-12-01 Richard Henderson <rth@redhat.com> | |
2424 | ||
2425 | * expr.c (expand_assignment): Handle CONCAT both as a final | |
2426 | destination and as a middle point. | |
2427 | ||
2428 | 2004-12-01 Jeff Law <law@redhat.com> | |
2429 | ||
2430 | * tree-eh.c (save_eptr, save_filt): Now file scoped statics. | |
2431 | (honor_protect_cleanup_actions): Only create save_eptr and | |
2432 | save_filt if they do not already exist. | |
2433 | (lower_eh_constructs): Wipe all knowledge of save_eptr and | |
2434 | save_filt before returning. | |
2435 | ||
2436 | 2004-12-02 Kazu Hirata <kazu@cs.umass.edu> | |
2437 | ||
2438 | * tree-phinodes.c (remove_phi_arg_num): Fix a comment. | |
2439 | ||
2440 | 2004-12-02 Alan Modra <amodra@bigpond.net.au> | |
2441 | ||
2442 | PR target/16952 | |
2443 | * config/rs6000/rs6000.c (rs6000_assemble_integer): Replace | |
2444 | #ifdef RELOCATABLE_NEEDS_FIXUP with if. | |
2445 | * config/rs6000/linux.h (RELOCATABLE_NEEDS_FIXUP): Define in terms | |
2446 | of target_flags_explicit. | |
2447 | * config/rs6000/linux64.h (RELOCATABLE_NEEDS_FIXUP): Ditto for biarch | |
2448 | case. Define as 0 for non-biarch. | |
2449 | ||
2450 | 2004-12-01 Zack Weinberg <zack@codesourcery.com> | |
2451 | ||
2452 | * config/rs6000/t-aix43, config/rs6000/t-aix52 (SHLIB_LINK): | |
2453 | Change temporary file tag from a prefix to an infix. | |
2454 | ||
2455 | 2004-12-02 Andreas Schwab <schwab@suse.de> | |
2456 | ||
2457 | * gcc.c (struct option_map): Add entry for "--pass-exit-codes". | |
2458 | ||
2459 | 2004-12-01 Andrew Pinski <pinskia@physics.uc.edu> | |
2460 | ||
2461 | PR tree-opt/18763 | |
2462 | PR tree-opt/18746 | |
2463 | * tree-ssa-alias.c (init_alias_info): Get statement operands for all | |
2464 | the statements if aliases_computed_p is true. | |
2465 | ||
2466 | 2004-12-01 Mark Mitchell <mark@codesourcery.com> | |
2467 | ||
2468 | * Makefile.in (WERROR): New variable. | |
2469 | (STRICT2_WARN): Use it. | |
2470 | (STAGE2_FLAGS_TO_PASS): Likewise. | |
2471 | * config/i386/x-mingw32 (WERROR): Add -Wno-format. | |
2472 | ||
2473 | 2004-12-01 Richard Henderson <rth@redhat.com> | |
2474 | ||
2475 | * expr.c (get_inner_reference): Fix thinko in REAL/IMAGPART_EXPR | |
2476 | offsetting. | |
2477 | ||
2478 | 2004-12-01 Diego Novillo <dnovillo@redhat.com> | |
2479 | ||
2480 | PR tree-optimization/18291 | |
2481 | * tree-ssa-copy.c (merge_alias_info): Fix merging of | |
2482 | flow-sensitive alias information. If the new pointer has no | |
2483 | name tag, copy it from the original pointer. Otherwise, make | |
2484 | sure that the pointed-to sets have a common intersection. | |
2485 | ||
2486 | 2004-12-01 Richard Henderson <rth@redhat.com> | |
2487 | ||
2488 | PR rtl-opt/15289 | |
2489 | * emit-rtl.c (gen_complex_constant_part): Remove. | |
2490 | (gen_realpart, gen_imagpart): Remove. | |
2491 | * rtl.h (gen_realpart, gen_imagpart): Remove. | |
2492 | * expmed.c (extract_bit_field): Remove CONCAT hack catering to | |
2493 | gen_realpart/gen_imagpart. | |
2494 | * expr.c (write_complex_part, read_complex_part): New. | |
2495 | (emit_move_via_alt_mode, emit_move_via_integer, emit_move_resolve_push, | |
2496 | emit_move_complex_push, emit_move_complex, emit_move_ccmode, | |
2497 | emit_move_multi_word): Split out from ... | |
2498 | (emit_move_insn_1): ... here. | |
2499 | (expand_expr_real_1) <COMPLEX_EXPR>: Use write_complex_part. | |
2500 | <REALPART_EXPR, IMAGPART_EXPR>: Use read_complex_part. | |
2501 | * function.c (assign_parm_setup_reg): Hard-code transformations | |
2502 | instead of using gen_realpart/gen_imagpart. | |
2503 | ||
2504 | * expr.c (optimize_bitfield_assignment_op): Split out from ... | |
2505 | (expand_assignment): ... here. Use handled_component_p to gate | |
2506 | get_inner_reference code. Simplify MEM handling. Special case | |
2507 | CONCAT destinations. | |
2508 | ||
2509 | * expmed.c (store_bit_field): Use simplify_gen_subreg instead | |
2510 | of gen_rtx_SUBREG directly. | |
2511 | ||
2512 | 2004-12-01 David Edelsohn <edelsohn@gnu.org> | |
2513 | Nathan Sidwell <nathan@codesourcery.com> | |
2514 | ||
2515 | PR target/17107 | |
2516 | * config/rs6000/rs6000.md (sge): Enable for non-TARGET_POWER. | |
2517 | (sgt): Same. | |
2518 | (sle): Same. | |
2519 | (slt): Same. | |
2520 | ||
2521 | 2004-12-01 Nathan Sidwell <nathan@codesourcery.com> | |
2522 | ||
2523 | PR middle-end/18667 | |
2524 | * params.c (set_param_value): Add range check. | |
2525 | * params.def: Add min and max values. Reformat long strings. | |
2526 | * params.h (struct param_info): Add min and max fields. | |
2527 | (enum compiler_param): Adjust DEFPARAM. | |
2528 | * toplev.c (lang_independent_params): Likewise. | |
2529 | ||
2530 | 2004-12-01 Alan Modra <amodra@bigpond.net.au> | |
2531 | ||
2532 | PR target/12817 | |
2533 | * config/rs6000/rs6000.c (rs6000_emit_prologue): Use r0 for vrsave. | |
2534 | ||
2535 | 2004-12-01 Joseph S. Myers <joseph@codesourcery.com> | |
2536 | ||
2537 | * doc/standards.texi: Update for C99 TC2. | |
2538 | ||
2539 | 2004-11-30 Jeff Law <law@redhat.com> | |
2540 | ||
2541 | * sbitmap.c (sbitmap_any_common_bits): New function. | |
2542 | * sbitmap.h (sbitmap_any_common_bits): Prototype. | |
2543 | * modulo-sched.c (sms_schedule_by_order): Use sbitmap_any_common_bits | |
2544 | No longer allocate/free "psp", "pss" sbitmaps. | |
2545 | * tree-ssa-alias.c (compute_flow_insensitive_aliasing): Similarly for | |
2546 | the "res" sbitmap. | |
2547 | (group_aliases): Similarly. | |
2548 | ||
2549 | 2004-11-30 Nathan Sidwell <nathan@codesourcery.com> | |
2550 | ||
2551 | * tree-vectorizer.c (vect_analyze_data_refs): Reformat and avoid | |
2552 | uninitialized variable. | |
2553 | ||
2554 | 2004-11-30 Eric Christopher <echristo@redhat.com> | |
2555 | ||
2556 | * fold-const.c (fold_widened_comparison): Make sure that we're | |
2557 | passing an INTEGER_TYPE to int_fits_type_p. | |
2558 | (fold): Clean up comment. | |
2559 | ||
2560 | 2004-11-30 Zack Weinberg <zack@codesourcery.com> | |
2561 | ||
2562 | * mklibgcc.in: Correct calculation of libgcc_s_soname and | |
2563 | libunwind_soname. Use $out, not $outS, in commands for | |
2564 | no-shared-library case. Move EXTRA_MULTILIB_PARTS rules above | |
2565 | library build rules, make $libunwind_so and $libgcc_s_so | |
2566 | depend on them in the normal fashion, and filter those objects | |
2567 | out of @shlib_objs@. | |
2568 | ||
2569 | 2004-11-30 Janis Johnson <janis187@us.ibm.com> | |
2570 | ||
2571 | * config/rs6000/altivec.h (vec_step_help): Support const vector types. | |
2572 | ||
2573 | 2004-11-30 Andrew Pinski <pinskia@physics.uc.edu> | |
2574 | ||
2575 | PR tree-opt/18298 | |
2576 | * tree-optimize.c (init_tree_optimization_passes): Add a may_alias | |
2577 | pass right after fold builtins. | |
2578 | ||
2579 | 2004-11-30 Andreas Krebbel <krebbel1@de.ibm.com> | |
2580 | ||
2581 | * config/s390/s390-modes.def: Added cc modes documentation. | |
2582 | * config/s390/s390.c: (s390_tm_ccmode, s390_select_ccmode, | |
2583 | s390_expand_addcc): Added cc mode comments. | |
2584 | * config/s390/s390.md: Removed old cc mode documentation. | |
2585 | ||
2586 | 2004-11-30 Mark Dettinger <dettinge@de.ibm.com> | |
2587 | ||
2588 | * config/s390/s390.c (struct processor_costs): New data type. | |
2589 | (s390_cost, z900_cost, z990_cost): New global variables. | |
2590 | (override_options): Initialize s390_cost. | |
2591 | (s390_rtx_costs): Reimplement. | |
2592 | ||
2593 | 2004-11-29 Daniel Berlin <dberlin@dberlin.org> | |
2594 | ||
2595 | Fix PR tree-optimization/18673 | |
2596 | ||
2597 | * tree-ssa-pre.c: Remove splay-tree.h include. | |
2598 | (bitmap_value_replace_in_set): Fix to add if it does not exist. | |
2599 | (find_or_generate_expression): Remove now-wrong condition. | |
2600 | (create_expression_by_pieces): Fix condition and comment reason | |
2601 | for it. | |
2602 | (insert_aux): Fix condition and comment reasons for it. | |
2603 | Factor insertion code from here. | |
2604 | (insert_into_preds_of_block): To here. Fix conditions in factored | |
2605 | function and comment reasons for them. | |
2606 | ||
2607 | 2004-11-30 Ira Rosen <irar@il.ibm.com> | |
2608 | ||
2609 | PR tree-opt/18607 | |
2610 | * tree-vectorizer.c (vect_analyze_data_refs): Use temporary | |
2611 | variable for data_reference when looking for memtag. | |
2612 | ||
2613 | 2004-11-30 Jakub Jelinek <jakub@redhat.com> | |
2614 | ||
2615 | * c-opts.c (check_deps_environment_vars): If spec != NULL, set | |
2616 | deps_seen. | |
2617 | ||
2618 | 2004-11-30 Dorit Naishlos <dorit@il.ibm.com> | |
2619 | ||
2620 | * tree-vectorizer.c (vect_gen_niters_for_prolog_loop): Use | |
2621 | tree_low_cst instead of TREE_INT_CST_LOW. | |
2622 | ||
2623 | 2004-11-30 Dorit Naishlos <dorit@il.ibm.com> | |
2624 | ||
2625 | PR target/18173 | |
2626 | * tree-vectorizer.c (vect_can_force_dr_alignment_p): Return false for | |
2627 | decls that are assembled before vectorization takes place. | |
2628 | (vect_compute_data_ref_alignment): Set DECL_USER_ALIGN to 1. | |
2629 | ||
2630 | 2004-11-30 Ulrich Weigand <uweigand@de.ibm.com> | |
2631 | ||
2632 | * passes.c (rest_of_handle_old_regalloc): Delete unreachable blocks | |
2633 | if local_alloc modified jumps. | |
2634 | ||
2635 | 2004-11-30 Alan Modra <amodra@bigpond.net.au> | |
2636 | ||
2637 | * varasm.c (default_encode_section_info): Don't set SYMBOL_FLAG_SMALL | |
2638 | on TLS symbols. | |
2639 | * config/rs6000/rs6000.c (rs6000_elf_in_small_data_p): Remove TLS | |
2640 | check. | |
2641 | ||
2642 | 2004-11-30 Zack Weinberg <zack@codesourcery.com> | |
2643 | ||
2644 | * gthr-gnat.c, gthr-gnat.h, gthr.h, libgcc2.h, unwind-dw2-fde.h | |
2645 | * unwind.h: Surround all visibility pragmas with #ifndef HIDE_EXPORTS. | |
2646 | ||
2647 | * mklibgcc.in: Drastic restructure for comprehensibility. | |
2648 | Remove the old hidden-directive hack. | |
2649 | Eliminate support for .txt files in LIB2ADD etc (never used). | |
2650 | Eliminate support for assembly source files in LIB2ADDEH* and | |
2651 | LIBUNWIND (also never used). | |
2652 | Build up dependency lists for libraries incrementally. | |
2653 | If we have SHLIB_LINK, compile each file twice, once for the | |
2654 | static and once for the shared library; also probe for | |
2655 | -fvisibility=hidden in the generated libgcc.mk. If found, | |
2656 | pass that and -DHIDE_EXPORTS to the compilation of every C | |
2657 | source file going into the static library. If found, generate | |
2658 | hidden-directive lists for every assembly source file going | |
2659 | into the static library, but incorporate them with -include | |
2660 | instead of ld -r. | |
2661 | Write comments into generated libgcc.mk to facilitate debugging. | |
2662 | * Makefile.in: Pass ASM_HIDDEN_OP to mklibgcc. | |
2663 | * config/t-slibgcc-darwin: Define ASM_HIDDEN_OP. | |
2664 | ||
2665 | * config/darwin.h (REAL_LIBGCC_SPEC): Put -lgcc back in | |
2666 | -Zdynamiclib case. | |
2667 | ||
2668 | 2004-11-29 Richard Henderson <rth@redhat.com> | |
2669 | ||
2670 | * expr.c (get_inner_reference): Handle REAL/IMAGPART_EXPR. | |
2671 | (handled_component_p): Likewise. | |
2672 | * alias.c (can_address_p): Reformat and simplify. Handle | |
2673 | REAL/IMAGPART_EXPR. Do not disable addressability based on | |
2674 | alias set zero. | |
2675 | * fold-const.c (build_fold_addr_expr_with_type): Remove duplicate | |
2676 | check for REAL/IMAGPART_EXPR. | |
2677 | * gimplify.c (gimplify_compound_lval): Likewise. | |
2678 | * tree-cfg.c (verify_expr): Likewise. | |
2679 | * tree-gimple.c (is_gimple_addressable, get_base_address): Likewise. | |
2680 | * tree-nested.c (build_addr, convert_nonlocal_reference): Likewise. | |
2681 | (convert_local_reference): Likewise. | |
2682 | * tree-ssa-loop-ivopts.c (prepare_decl_rtl): Likewise. | |
2683 | ||
2684 | 2004-11-30 Alan Modra <amodra@bigpond.net.au> | |
2685 | ||
2686 | * expr.c (emit_group_load_1): Don't die on const_int orig_src. | |
2687 | ||
2688 | 2004-11-29 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
2689 | ||
2690 | PR pch/14940 | |
2691 | * config/pa/pa-host.c, config/pa/x-hpux, config/pa/x-linux: New files. | |
2692 | * config.host (hppa*-*-hpux*, hppa*-*-linux): Define out_host_hook_obj | |
2693 | and host_xmake_file using new host configuration files. | |
2694 | ||
2695 | 2004-11-29 Roger Sayle <roger@eyesopen.com> | |
2696 | ||
2697 | * reg-stack.c (change_stack): Improve algorithm used to pop regs | |
2698 | off the stack to maximize ffreep usage and reduce fxch count. | |
2699 | ||
2700 | 2004-11-30 James A. Morrison <phython@gcc.gnu.org> | |
2701 | ||
2702 | PR middle-end/18596 | |
2703 | * c-decl.c (grokdeclarator): Reset DECL_INTIAL to error_mark_node | |
2704 | on errors. | |
2705 | ||
2706 | 2004-11-30 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
2707 | ||
2708 | * expr.c (expand_expr_real_1, case NOP_EXPR): Properly handle | |
2709 | REDUCE_BIT_FIELD by applying it to result, not input, of conversion. | |
2710 | ||
2711 | 2004-11-30 Ben Elliston <bje@au.ibm.com> | |
2712 | ||
2713 | * Makefile.in (REGS_H): Depend on $(BASIC_BLOCK_H). | |
2714 | ||
2715 | 2004-11-29 Andrew Pinski <pinskia@physics.uc.edu> | |
2716 | ||
2717 | PR c/18479 | |
2718 | * c-common.c (handle_visibility_attribute): When the type decl | |
2719 | is really a identifier node, warn about being ignored and return. | |
2720 | ||
2721 | 2004-11-29 Richard Henderson <rth@redhat.com> | |
2722 | ||
2723 | * tree-cfg.c (tree_node_can_be_shared): Fix typo'd error_mark_node. | |
2724 | ||
2725 | 2004-11-29 Steven Bosscher <stevenb@suse.de> | |
2726 | ||
2727 | * cfgcleanup.c (outgoing_edges_match, try_crossjump_to_edge): | |
2728 | Remove CASE_DROPS_THROUGH checks, it is never defined. | |
2729 | * cfglyout.c (fixup_reorder_chain): Likewise. | |
2730 | * cfgrtl.c (rtl_verify_flow_info): Likewise. | |
2731 | * stmt.c (expand_case): Likewise. | |
2732 | * cfgbuild.c (make_edges): Likewise. Also remove force_fallthru, | |
2733 | it is now always 0. | |
2734 | * system.h (CASE_DROPS_THROUGH): Poison. | |
2735 | * doc/md.texi (casesi): Remove documentation of CASE_DROPS_THROUGH. | |
2736 | * doc/tm.texi (casesi): Remove documentation of CASE_DROPS_THROUGH. | |
2737 | ||
2738 | * config/v850/v850.h: Remove commented out CASE_DROPS_THROUGH. | |
2739 | ||
2740 | 2004-11-29 Andrew Pinski <pinskia@physics.uc.edu> | |
2741 | ||
2742 | PR middle-end/18725 | |
2743 | * tree-cfg.c (tree_node_can_be_shared): Error_mark_node can be | |
2744 | shared always. | |
2745 | ||
2746 | 2004-11-29 Diego Novillo <dnovillo@redhat.com> | |
2747 | ||
2748 | PR tree-optimization/18712 | |
2749 | * tree-into-ssa.c (insert_phi_nodes_for): Pass argument | |
2750 | WORK_STACK by reference. | |
2751 | Call VEC_safe_push instead of VEC_quick_push. | |
2752 | Update all users. | |
2753 | ||
2754 | 2004-11-29 Daniel Jacobowitz <dan@codesourcery.com> | |
2755 | ||
2756 | PR c/7544 | |
2757 | * Makefile.in (c-lang.o): Update dependencies. | |
2758 | * c-lang.c: Include "c-pragma.h". | |
2759 | (finish_file): Call maybe_apply_pending_pragma_weaks. | |
2760 | * c-pragma.c (maybe_apply_pending_pragma_weaks): New function. | |
2761 | * c-pragma.h (maybe_apply_pending_pragma_weaks): New prototype. | |
2762 | ||
2763 | 2004-11-29 Richard Henderson <rth@redhat.com> | |
2764 | ||
2765 | PR target/17224 | |
2766 | * config/ia64/predicates.md (sdata_symbolic_operand): Deny offsets | |
2767 | outside the referenced object. | |
2768 | ||
2769 | 2004-11-29 Kazu Hirata <kazu@cs.umass.edu> | |
2770 | ||
2771 | * tree-if-conv.c (replace_phi_with_cond_modify_expr): Use | |
2772 | EDGE_PRED instead of PHI_ARG_EDGE. | |
2773 | * tree-ssa-live.c: Likewise. | |
2774 | * tree-ssa-loop-manip.c: Likewise. | |
2775 | * tree-ssa.c: Likewise. | |
2776 | ||
2777 | * cfgrtl.c (cfg_layout_redirect_edge_and_branch): Speed up by | |
2778 | simplifying edge manipulation. | |
2779 | ||
2780 | * cfgrtl.c (rtl_tidy_fallthru_edge): Speed up by using | |
2781 | EDGE_COUNT. | |
2782 | ||
2783 | * tree-cfg.c (tree_redirect_edge_and_branch): Call find_edge | |
2784 | only when needed. | |
2785 | ||
2786 | * cfg.c (flow_obstack): Remove. | |
2787 | (flow_firstobj): Likewise. | |
2788 | (init_flow): Remove all uses of flow_obstack. | |
2789 | ||
2790 | 2004-11-29 Alan Modra <amodra@bigpond.net.au> | |
2791 | ||
2792 | * varasm.c (default_elf_select_section_1): Only pass DECL_P decl | |
2793 | to named_section. | |
2794 | ||
2795 | 2004-11-29 Nathan Sidwell <nathan@codesourcery.com> | |
2796 | ||
2797 | * opts.c (decode_options): Do not set max-inline-insns-rtl. | |
2798 | (common_handle_option): Likewise. | |
2799 | * params.def (PARAM_MAX_INLINE_INSNS_RTL): Remove. | |
2800 | * params.h (MAX_INLINE_INSNS_RTL): Remove. | |
2801 | * doc/invoke.texi (max-inline-insns-rtl): Remove. | |
2802 | ||
2803 | 2004-11-29 Alan Modra <amodra@bigpond.net.au> | |
2804 | ||
2805 | PR target/9571 | |
2806 | * varasm.c (default_elf_select_section_1): Pass decl to named_section. | |
2807 | ||
2808 | 2004-11-28 Andrew Pinski <pinskia@physics.uc.edu> | |
2809 | ||
2810 | PR middle-end/18164 | |
2811 | * gimplify.c (gimplify_asm_expr): If the length of an output operand | |
2812 | is zero, do not process it, just let it go through. | |
2813 | ||
2814 | 2004-11-28 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
2815 | Diego Novillo <dnovillo@redhat.com> | |
2816 | ||
2817 | PR/18662, also backported from tree-cleanup-branch. | |
2818 | * tree-ssa-ccp.c (substitute_and_fold): If replaced anything, | |
2819 | always call maybe_clean_eh_stmt and modify_stmt. | |
2820 | ||
2821 | 2004-11-28 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
2822 | ||
2823 | PR/18664 | |
2824 | * tree-ssa-operands.c (build_ssa_operands, case MODIFY_EXPR): | |
2825 | Ignore a VIEW_CONVERT_EXPR on LHS when deciding if must or may def. | |
2826 | * tree-ssa-ccp.c (visit_assignment): If LHS is a VIEW_CONVERT_EXPR, | |
2827 | add an inverse VIEW_CONVERT_EXPR to const_val. | |
2828 | ||
2829 | PR/18657 | |
2830 | * tree-nested.c (check_for_nested_with_variably_modified): New. | |
2831 | (create_nesting_tree): Call it. | |
2832 | ||
2833 | * tree-ssa-alias.c (compute_points_to_and_addr_escapes): Remove | |
2834 | special code for assigning to non-pointer. | |
2835 | (is_escape_site): If RHS is a conversion between pointer and integer | |
2836 | types, this is an escape site. | |
2837 | ||
2838 | * gcse.c (insert_store): Error if try to insert store on abnormal edge. | |
2839 | (store_motion): Don't move store if any edge we'd want to move it | |
2840 | to is abnormal. | |
2841 | ||
2842 | * expr.c (expand_expr_real_1, case ARRAY_REF): Properly fold with | |
2843 | non-zero lower bound. | |
2844 | ||
2845 | * expr.c (categorize_ctor_elements_1, case STRING_CST): New case. | |
2846 | ||
2847 | 2004-11-28 Matt Kraai <kraai@alumni.cmu.edu> | |
2848 | ||
2849 | PR diagnostic/17594 | |
2850 | * opts.c (find_opt): Require that the input match a switch exactly | |
2851 | or that the switch take a joined option to be interpreted as a | |
2852 | match for another language. | |
2853 | ||
2854 | 2004-11-28 Andrew Pinski <pinskia@physics.uc.edu> | |
2855 | ||
2856 | * timevar.def (TV_TREE_REDPHI): New timevar. | |
2857 | * tree-ssa.c (pass_redundant_phi): Use TV_TREE_REDPHI for the tv id. | |
2858 | ||
2859 | 2004-11-28 Nathanael Nerode <neroden@gcc.gnu.org> | |
2860 | ||
2861 | PR preprocessor/17651 | |
2862 | * c-opts.c (sanitize_cpp_opts): Make flag_no_output imply | |
2863 | flag_no_line_commands. | |
2864 | * c-ppoutput.c (pp_file_change): Remove now-redundant check of | |
2865 | flag_no_output. | |
2866 | ||
2867 | 2004-11-28 Theodore A. Roth <troth@openavr.org> | |
2868 | ||
2869 | * config/avr/avr.c (avr_handle_fndecl_attribute): Generate a | |
2870 | warning if the function name does not begin with "__vector" and the | |
2871 | function has either the 'signal' or 'interrupt' attribute. | |
2872 | ||
2873 | 2004-11-28 Theodore A. Roth <troth@openavr.org> | |
2874 | ||
2875 | * config/avr/avr.c (avr_mcu_types): Add entries for atmega48, | |
2876 | atmega88, atmega168, attiny13, attiny2313, at90can128, atmega165, | |
2877 | atmega325, atmega3250, atmega645 and atmega6450. | |
2878 | * config/avr/avr.h (LINK_SPEC): Ditto. | |
2879 | (LIB_SPEC): Ditto. | |
2880 | (LIBGCC_SPEC): Ditto. | |
2881 | (CRT_BINUTILS_SPECS): Ditto. | |
2882 | * config/avr/t-avr (MULTILIB_MATCHES): Ditto. | |
2883 | ||
2884 | 2004-11-28 Nathanael Nerode <neroden@gcc.gnu.org> | |
2885 | ||
2886 | PR preprocessor/17610 | |
2887 | * testsuite/gcc.dg/cpp/empty-include.c: New testcase. | |
2888 | ||
2889 | 2004-11-28 Jeff Law <law@redhat.com> | |
2890 | ||
2891 | * tree-ssa-alias.c (count_calls_and_maybe_create_global_var): New. | |
2892 | (pass_maybe_create_global_var): New. | |
2893 | * tree-pass.h (pass_maybe_create_global_var): Declare. | |
2894 | * tree-optimize.c (init_tree_optimization_passes): Link in | |
2895 | pass_maybe_create_global_var. | |
2896 | ||
2897 | 2004-11-28 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
2898 | ||
2899 | * tree-inline.c (inline_forbidden_p_1, case RECORD_TYPE): Add comment. | |
2900 | ||
2901 | 2004-11-28 Ulrich Weigand <uweigand@de.ibm.com> | |
2902 | ||
2903 | PR rtl-optimization/18420 | |
2904 | * simplify-rtx.c (simplify_gen_subreg): Revert 2004-10-28 change. | |
2905 | ||
2906 | 2004-11-28 Steven Bosscher <stevenb@suse.de> | |
2907 | John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
2908 | ||
2909 | * config/vax/vax.h (CASE_DROPS_THROUGH): Don't define. | |
2910 | * config/vax/vax.md (casesi): Emit a test-and-branch to make sure | |
2911 | that the case is in range, to make sure the casesi insn is always | |
2912 | in range and never falls through. | |
2913 | (casesi1): Add comment to explain why casesi never falls through. | |
2914 | Remove the unnamed special case casesi pattern. | |
2915 | ||
2916 | 2004-11-28 Hans-Peter Nilsson <hp@bitrange.com> | |
2917 | ||
2918 | PR target/18331 | |
2919 | * config/mmix/mmix.md ("*movdicc_real_reversible"): Rename from | |
2920 | "*movdicc_real". Only match reversible comparisons. | |
2921 | ("*movdicc_real_nonreversible"): New pattern, split from | |
2922 | "*movdicc_real". Match only nonreversible comparisons. Exclude | |
2923 | reversed alternatives. | |
2924 | ("*movdfcc_real_reversible", "*movdfcc_real_nonreversible"): | |
2925 | Similar. | |
2926 | ||
2927 | 2004-11-27 Richard Henderson <rth@redhat.com> | |
2928 | ||
2929 | * config/ia64/ia64.md: Move all define_predicate's ... | |
2930 | * config/ia64/predicates.md: ... here. New file. | |
2931 | ||
2932 | 2004-11-27 Per Bothner <per@bothner.com> | |
2933 | ||
2934 | PR bootstrap/18142 | |
2935 | Re-applied following, with two modifications: add a URL for the | |
2936 | fixed cctools; only exit if $build = $target. | |
2937 | ||
2938 | 2004-10-18 Kelley Cook <kcook@gcc.gnu.org> | |
2939 | * configure.ac (powerpc-*-darwin*): Require assembler to support | |
2940 | .machine directive. | |
2941 | * configure: Regenerate. | |
2942 | ||
2943 | 2004-11-28 David Edelsohn <edelsohn@gnu.org> | |
2944 | ||
2945 | PR target/16800 | |
2946 | * config/rs6000/rs6000.c (rs6000_rtx_costs): Improve accuracy of | |
2947 | EQ, GTU, and LTU costs. Add costs for GT, LT, and UNORDERED. | |
2948 | Distinguish between SImode and DImode CONST_INT. | |
2949 | ||
2950 | 2004-11-28 Andreas Fischer <a_fisch@gmx.de> | |
2951 | Alan Modra <amodra@bigpond.net.au> | |
2952 | ||
2953 | PR target/16343 | |
2954 | * config/rs6000/rs6000.c (rs6000_elf_in_small_data_p): Disallow | |
2955 | functions, strings and thread-local vars. | |
2956 | ||
2957 | 2004-11-28 Alan Modra <amodra@bigpond.net.au> | |
2958 | ||
2959 | * config/rs6000/rs6000.h (WORLD_SAVE_P): Define. | |
2960 | * config/rs6000/darwin.h (WORLD_SAVE_P): Define. | |
2961 | * config/rs6000/rs6000.c (compute_save_world_info): Use WORLD_SAVE_P | |
2962 | to allow non-darwin ABIs to optimize away code. | |
2963 | (rs6000_emit_prologue, rs6000_emit_epilogue): Likewise. | |
2964 | ||
2965 | 2004-11-27 Kazu Hirata <kazu@cs.umass.edu> | |
2966 | ||
2967 | * tree.c (operand_equal_for_phi_arg_p): New. | |
2968 | * tree.h: Add a prototype for operand_equal_for_phi_arg_p. | |
2969 | * tree-cfg.c, tree-ssa-dom.c, tree-ssa-phiopt.c, tree-ssa.c: | |
2970 | Replace operand_equal_p with operand_for_phi_arg_p | |
2971 | appropriately. | |
2972 | ||
2973 | * bb-reorder.c (find_traces_1_round): Speed up by using | |
2974 | EDGE_COUNT instead of FOR_EACH_EDGE. | |
2975 | ||
2976 | * fold-const.c, config/i386/linux64.h: Fix comment typos. | |
2977 | ||
2978 | 2004-11-27 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
2979 | ||
2980 | PR pch/14940 | |
2981 | * config/host-linux.c (TRY_EMPTY_VM_SPACE): Revert 2004-11-22 change. | |
2982 | ||
2983 | 2004-11-27 Kazu Hirata <kazu@cs.umass.edu> | |
2984 | ||
2985 | * config/i386/linux.h: Fix a comment typo. | |
2986 | * doc/extend.texi: Fix a typo. | |
2987 | ||
2988 | 2004-11-27 Jeff Law <law@redhat.com> | |
2989 | ||
2990 | * tree-cfg.c (cleanup_tree_cfg): Also return true if blocks | |
2991 | are merged. | |
2992 | ||
2993 | 2004-11-27 Jakub Jelinek <jakub@redhat.com> | |
2994 | ||
2995 | * config/i386/linux64.h (REG_NAME): Define. | |
2996 | ||
2997 | 2004-11-27 Jakub Jelinek <jakub@redhat.com> | |
2998 | ||
2999 | * fold-const.c (extract_muldiv_1) <case ABS_EXPR>: If ctype is | |
3000 | unsigned and type signed, build ABS_EXPR with signed_type (ctype) | |
3001 | and only afterwards convert to ctype. | |
3002 | ||
3003 | 2004-11-27 Richard Sandiford <rsandifo@redhat.com> | |
3004 | ||
3005 | * config/mips/mips-protos.h (function_arg_boundary): Declare. | |
3006 | * config/mips/mips.h (PARM_BOUNDARY): Simplify definition. | |
3007 | (STACK_BOUNDARY, MIPS_STACK_ALIGN): Likewise. | |
3008 | (FUNCTION_ARG_BOUNDARY): Use new function_arg_boundary function. | |
3009 | * config/mips/mips.c (function_arg_boundary): New function. | |
3010 | Impose a maximum alignment of STACK_BOUNDARY. | |
3011 | ||
3012 | 2004-11-27 Jakub Jelinek <jakub@redhat.com> | |
3013 | ||
3014 | PR rtl-optimization/17825 | |
3015 | * combine.c (subst): Ignore STRICT_LOW_PART no matter if REG_P (new) | |
3016 | or not. | |
3017 | ||
3018 | 2004-11-27 Alan Modra <amodra@bigpond.net.au> | |
3019 | ||
3020 | PR target/12769 | |
3021 | * config/rs6000/rs6000.c (init_cumulative_args): Set call_cookie | |
3022 | from rs6000_default_long_calls for libcalls. | |
3023 | ||
3024 | 2004-11-26 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
3025 | ||
3026 | * expmed.c (extract_bit_field): When extracting from non-integer mode, | |
3027 | force a SUBREG into a register because we may be taking a further | |
3028 | SUBREG of it. | |
3029 | ||
3030 | 2004-11-27 Di-an Jan <dianj@freeshell.org> | |
3031 | ||
3032 | * doc/contrib.texi (Tim Josling): Remove nesting quotation marks. | |
3033 | ||
3034 | 2004-11-26 Robert Millan <robertmh@gnu.org> | |
3035 | ||
3036 | Changes for k*bsd-gnu support. | |
3037 | * config/i386/linux.h: Define REG_NAME to allow overriding of | |
3038 | register names in sc structure. | |
3039 | * config/i386/linux-unwind.h: Refer to sc->REG_NAME(reg) instead | |
3040 | of sc->reg. | |
3041 | * config.gcc: Detect x86_64-k*bsd-gnu systems. | |
3042 | ||
3043 | 2004-11-26 Jeff Law <law@redhat.com> | |
3044 | ||
3045 | * tree-ssa.c (verify_flow_sensitive_alias_info): Don't | |
3046 | retrieve annotations or pointer info before it's necessary. | |
3047 | Reorder tests for early continue of the loop. Manually CSE | |
3048 | SSA_NAME_VAR. | |
3049 | ||
3050 | 2004-11-26 Eric Botcazou <ebotcazou@libertysurf.fr> | |
3051 | ||
3052 | * target.h (struct gcc_target): New field 'dwarf_handle_frame_unspec'. | |
3053 | * target_def.h (TARGET_DWARF_HANDLE_FRAME_UNSPEC): Define to 0. | |
3054 | (TARGET_INITIALIZER): Add TARGET_DWARF_HANDLE_FRAME_UNSPEC. | |
3055 | * dwarf2out.c (dwarf2out_frame_debug_expr): Allow REG->REG move | |
3056 | to a fixed reg if the source is the Return Address register. | |
3057 | Implement new Rule 15. | |
3058 | * doc/tm.texi (Frame Layout): Document TARGET_DWARF_HANDLE_FRAME_UNSPEC. | |
3059 | * config/sparc/sparc.c (TARGET_DWARF_HANDLE_FRAME_UNSPEC): Define to | |
3060 | sparc_dwarf_handle_frame_unspec. | |
3061 | (gen_save_register_window): New function. | |
3062 | (emit_stack_pointer_increment): Rename into gen_stack_pointer_inc. | |
3063 | (emit_stack_pointer_decrement): Rename into gen_stack_pointer_dec. | |
3064 | (expand_prologue): Adjust calls to emit_stack_pointer_{in,de}crement. | |
3065 | Set RTX_FRAME_RELATED_P on the appropriate insns and members of insns. | |
3066 | (sparc_asm_function_prologue): Do not emit call frame debugging info. | |
3067 | (emit_and_preserve): Adjust calls to emit_stack_pointer_{in,de}crement. | |
3068 | (sparc_expand_epilogue): Likewise. | |
3069 | (sparc_dwarf_handle_frame_unspec): New function. | |
3070 | * config/sparc/sparc.md (save_register_window): Remove. | |
3071 | (save_register_windowdi): Rewrite modelled on the callframe debug info. | |
3072 | (save_register_windowsi): Likewise. | |
3073 | ||
3074 | 2004-11-26 Alexandre Oliva <aoliva@redhat.com> | |
3075 | ||
3076 | * config/frv/frv-protos.h: Guard ifcvt functions declarations with | |
3077 | BB_HEAD, not BLOCK_HEAD. | |
3078 | ||
3079 | 2004-11-26 Alexandre Oliva <aoliva@redhat.com> | |
3080 | ||
3081 | * config/frv/frv.c (frv_ifcvt_modify_insn): Don't leave alone | |
3082 | scratch insns that set a register live at the join point. | |
3083 | ||
3084 | 2004-11-26 Kazu Hirata <kazu@cs.umass.edu> | |
3085 | ||
3086 | * cse.c, tree-ssa-operands.c: Fix comment typos. | |
3087 | ||
3088 | * tree-cfg.c (tree_split_edge): Speed up by using find_edge. | |
3089 | ||
3090 | 2004-11-26 James A. Morrison <phython@gcc.gnu.org> | |
3091 | ||
3092 | PR target/18510 | |
3093 | * doc/extend.texi (SPARC VIS Built-in Functions): New section. | |
3094 | ||
3095 | 2004-11-26 Kazu Hirata <kazu@cs.umass.edu> | |
3096 | ||
3097 | * cfgrtl.c (try_redirect_by_replacing_jump): Speed up the | |
3098 | check that tests if all edges go to the same destination. | |
3099 | ||
3100 | * bitmap.c (bitmap_find_bit): Speed up by traversing from | |
3101 | head->first if that seems profitable. | |
3102 | ||
3103 | 2004-11-25 Jeff Law <law@redhat.com> | |
3104 | ||
3105 | * timevar.def (TV_TREE_LOOP_INIT, TV_TREE_LOOP_FINI): New timevars. | |
3106 | * tree-ssa-loop.c (pass_loop_init): Use TV_TREE_LOOP_INIT. | |
3107 | (pass_loop_done): Use TV_TREE_LOOP_FINI. | |
3108 | ||
3109 | 2004-11-26 Alan Modra <amodra@bigpond.net.au> | |
3110 | ||
3111 | PR rtl-optimization/16356 | |
3112 | * config/rs6000/rs6000.md (floatdisf2_internal2): Rewrite with | |
3113 | separate output register and one less jump. Enable for powerpc64. | |
3114 | (floatdisf2): Adjust for above. | |
3115 | ||
3116 | 2004-11-25 Bob Wilson <bob.wilson@acm.org> | |
3117 | ||
3118 | * config/xtensa/xtensa.h (STARTFILE_SPEC): Add crt0. | |
3119 | (GCC_DRIVER_HOST_INITIALIZATION): Define. | |
3120 | ||
3121 | 2004-11-25 Andrew Pinski <pinskia@physics.uc.edu> | |
3122 | ||
3123 | PR middle-end/17957 | |
3124 | * tree-complex.c (vector_inner_type): New variable moved from | |
3125 | build_word_mode_vector_type. | |
3126 | (vector_last_type): Likewise. | |
3127 | (vector_last_nunits): Likewise. | |
3128 | (build_word_mode_vector_type): Use the new variables. | |
3129 | * Makefile.in (tree-complex.o): Add gt-tree-complex.h $(GGC_H). | |
3130 | (GTFILES): Add tree-complex.c. | |
3131 | (gt-tree-complex.h): New rule, add it to the rest of the gt-* rules. | |
3132 | ||
3133 | 2004-11-25 Bob Wilson <bob.wilson@acm.org> | |
3134 | ||
3135 | * config/xtensa/xtensa.h (TARGET_CPU_CPP_BUILTINS): Define | |
3136 | __XTENSA_WINDOWED_ABI__. | |
3137 | ||
3138 | 2004-11-25 Richard Henderson <rth@redhat.com> | |
3139 | ||
3140 | * dwarf2out.c (dwarf2out_stack_adjust): Add after_p argument. Save | |
3141 | args_size adjustments for calls even with cfa as stack pointer. | |
3142 | Search calls for stack adjustments after the insn is issued. | |
3143 | (dwarf2out_frame_debug): Add after_p argument; pass it on. | |
3144 | * dwarf2out.h (dwarf2out_frame_debug): Update to match. | |
3145 | * final.c (final_start_function, final_scan_insn): Likewise. | |
3146 | ||
3147 | 2004-11-25 Richard Henderson <rth@redhat.com> | |
3148 | ||
3149 | PR c++/6764 | |
3150 | * reload1.c (set_initial_eh_label_offset): New. | |
3151 | (set_initial_label_offsets): Use it. | |
3152 | ||
3153 | 2004-11-25 Kaz Kojima <kkojima@gcc.gnu.org> | |
3154 | ||
3155 | * config/sh/sh.c (sh_output_mi_thunk): Initialize bitmap obstacks | |
3156 | before calling life_analysis and release them after. | |
3157 | ||
3158 | 2004-11-25 Kazu Hirata <kazu@cs.umass.edu> | |
3159 | ||
3160 | * tree-ssa-forwprop.c (substitute_single_use_vars): Remove | |
3161 | duplicate code. | |
3162 | ||
3163 | 2004-11-25 Andrew Pinski <pinskia@physics.uc.edu> | |
3164 | ||
3165 | * bitmap.h (BITMAP_XMALLOC): Use BITMAP_ALLOC and not | |
3166 | BITMAP_OBSTACK_ALLOC. | |
3167 | (BITMAP_XFREE): Use BITMAP_FREE and not BITMAP_OBSTACK_FREE. | |
3168 | ||
3169 | 2004-11-25 Andrew Pinski <pinskia@physics.uc.edu> | |
3170 | ||
3171 | parts of PR rtl-opt/18463, rtl-opt/17647 | |
3172 | * cse.c (canon_for_address): New function. | |
3173 | (find_best_addr): Call canon_for_address before getting the | |
3174 | address's cost when checking if we should take that address. | |
3175 | ||
3176 | 2004-11-25 Kazu Hirata <kazu@cs.umass.edu> | |
3177 | ||
3178 | * tree-phinodes.c (add_phi_arg): Take "tree" instead of | |
3179 | "tree *" as the first argument. | |
3180 | * tree-flow.h: Update the prototype of add_phi_arg. | |
3181 | * lambda-code.c, tree-cfg.c, tree-into-ssa.c, | |
3182 | tree-ssa-loop-ivopts.c, tree-ssa-loop-manip.c, tree-ssa-pre.c, | |
3183 | tree-ssa-threadupdate.c, tree-ssa.c, tree-tailcall.c, | |
3184 | tree-vectorizer.c: Update all call sites of add_phi_arg. | |
3185 | ||
3186 | 2004-11-25 Nathan Sidwell <nathan@codesourcery.com> | |
3187 | ||
3188 | * bitmap.c (bitmap_malloc_alloc, bitmap_malloc_free): Remove. | |
3189 | * bitmap.h (bitmap_malloc_alloc, bitmap_malloc_free): Remove. | |
3190 | (BITMAP_XMALLOC): Forward to BITMAP_OBSTACK_ALLOC. | |
3191 | (BITMAP_XFREE): Forward to BITMAP_OBSTACK_FREE. | |
3192 | ||
3193 | 2004-11-25 Andrew MacLeod <amacleod@redhat.com> | |
3194 | ||
3195 | PR tree-optimization/18587 | |
3196 | * tree-flow-inline.h (mark_call_clobbered, mark_non_addressable): Flag | |
3197 | call clobbered caches as invalid. | |
3198 | * tree-ssa-operands.c (ssa_call_clobbered_cache_valid): New. Flag | |
3199 | indicating whether the call clobbered operand cache is valid. | |
3200 | (ssa_ro_call_cache_valid): New. Flag indicating whether the | |
3201 | pure/const call operand cache is valid. | |
3202 | (clobbered_v_may_defs, clobbered_vuses, ro_call_vuses): New. Cached | |
3203 | list of operands for cached call virtual operands. | |
3204 | (clobbered_aliased_loads, clobbered_aliased_stores, | |
3205 | ro_call_aliased_load): New. flags caching whether alias bits are | |
3206 | to be set in call stmt's. | |
3207 | (fini_ssa_operands): Remove call operand caches if present. | |
3208 | (get_expr_operands, get_asm_expr_operands, | |
3209 | get_indirect_ref_operands): Pass stmt annotation to add_stmt_operand. | |
3210 | (get_call_expr_operands): Add call clobbered variables first. | |
3211 | (add_stmt_operand): Take stmt annotation rather than stmt as a param. | |
3212 | (add_call_clobber_ops, add_call_read_ops): Use the call operand cache | |
3213 | if it is valid, otherise fill the cache. | |
3214 | * tree-ssa-operands.h (ssa_clobbered_cache_valid): Declare extern. | |
3215 | * tree-flow.h (struct var_ann_d): Add in_vuse_list and | |
3216 | in_v_may_def_list bits. | |
3217 | * tree-ssa-operands.c (cleanup_v_may_defs): New. Clear the | |
3218 | in_list bits for the v_may_def elements and empty the operand | |
3219 | build array | |
3220 | (finalize_ssa_vuses): Use cleanup_v_may_defs and remove redundant | |
3221 | VUSES by checking the in_v_may_def_list bit. | |
3222 | (append_v_may_def, append_vuse): Use the in_list bit rather than | |
3223 | scanning the array for duplicates. | |
3224 | ||
3225 | 2004-11-25 Ulrich Weigand <uweigand@de.ibm.com> | |
3226 | ||
3227 | * config/s390/s390.c (s390_short_displacement): UNSPEC_GOTNTPOFF | |
3228 | displacements are not short. | |
3229 | ||
3230 | 2004-11-25 Ulrich Weigand <uweigand@de.ibm.com> | |
3231 | ||
3232 | * config/s390/s390.c (legitimize_pic_address): Use s390_load_address | |
3233 | to load addresses. | |
3234 | ||
3235 | 2004-11-25 Mark Mitchell <mark@codesourcery.com> | |
3236 | ||
3237 | PR c++/18001 | |
3238 | * c-common.h (lvalue_use): Move here from c-ctypeck.c. | |
3239 | (lvalue_or_else): Declare. | |
3240 | * c-common.c (lvalue_or_else): Move here from c-typeck.c. | |
3241 | * c-typeck.c (lvalue_use): Remove. | |
3242 | (lvalue_or_else): Remove. | |
3243 | ||
3244 | PR c++/18556 | |
3245 | * toplev.c (check_global_declarations): Set DECL_IGNORED_P on | |
3246 | unemitted variables with static storage duration. | |
3247 | ||
3248 | 2004-11-25 Gerald Pfeifer <gerald@pfeifer.com> | |
3249 | ||
3250 | * tree-cfg.c (tree_verify_flow_info): Do not terminate error() | |
3251 | message with \n. | |
3252 | ||
3253 | 2004-11-25 Nathan Sidwell <nathan@codesourcery.com> | |
3254 | ||
3255 | * config/rs6000/altivec.md (VIshort): New mode macro. | |
3256 | (altivec_vaddubs, altivec_vadduhs, altivec_vadduws): Replace | |
3257 | with ... | |
3258 | (altivec_vaddu<VI_char>s): ... this. | |
3259 | (altivec_vaddsbs, altivec_vaddshs, altivec_vaddsws): Replace | |
3260 | with ... | |
3261 | (altivec_vadds<VI_char>s): ... this. | |
3262 | (altivec_vsububs, altivec_vsubuhs, altivec_vsubuws): Replace | |
3263 | with ... | |
3264 | (altivec_vsubu<VI_char>s): ... this. | |
3265 | (altivec_vsubsbs, altivec_vsubshs, altivec_vsubsws): Replace | |
3266 | with ... | |
3267 | (altivec_vsubs<VI_char>s): ... this. | |
3268 | (altivec_vavgub, altivec_vavguh, altivec_vavguw): Replace | |
3269 | with ... | |
3270 | (altivec_vavgu<VI_char>): ... this. | |
3271 | (altivec_vavgsb, altivec_vavgsh, altivec_vavgsw): Replace | |
3272 | with ... | |
3273 | (altivec_vavgs<VI_char>): ... this. | |
3274 | (altivec_vmsumubm, altivec_vmsumuhm): Replace with ... | |
3275 | (altivec_vmsumu<VI_char>m): ... this. | |
3276 | (altivec_vmsummbm, altivec_vmsummhm): Replace | |
3277 | with ... | |
3278 | (altivec_vmsumm<VI_char>m): ... this. | |
3279 | (altivec_vandc): Remove. | |
3280 | (*andc<mode>3): Renamed to ... | |
3281 | (andc<mode>3): ... here. Swap operand 1 and 2 numbering. | |
3282 | (altivec_vrlb, altivec_vrlh, altivec_vrlw): Replace | |
3283 | with ... | |
3284 | (altivec_vrl<VI_char>): ... this. | |
3285 | (altivec_vslb, altivec_vslh, altivec_vslw): Replace | |
3286 | with ... | |
3287 | (altivec_vsl<VI_char>): ... this. | |
3288 | (altivec_vsrb, altivec_vsrh, altivec_vsrw): Replace | |
3289 | with ... | |
3290 | (altivec_vsr<VI_char>): ... this. | |
3291 | (altivec_vsrab, altivec_vsrah, altivec_vsraw): Replace | |
3292 | with ... | |
3293 | (altivec_vsra<VI_char>): ... this. | |
3294 | (altivec_vsum4sbs, altivec_vsum4shs): Replace with ... | |
3295 | (altivec_vsum4s<VI_char>s): ... this. | |
3296 | (altivec_vperm_4si, altivec_vperm_8hi, altivec_vperm_16qi): Replace | |
3297 | with ... | |
3298 | (altivec_vperm_<mode>): ... this. | |
3299 | (altivec_vsel_4sf): Rename to ... | |
3300 | (altivec_vsel_v4sf): ... here. | |
3301 | (altivec_vsel_4si, altivec_vsel_8hi, altivec_vsel_16qi): Replace | |
3302 | with ... | |
3303 | (altivec_vsel_<mode>): ... this. | |
3304 | (altivec_vsldoi_4si, altivec_vsldoi_8hi, | |
3305 | altivec_vsldoi_16qi): Rename to ... | |
3306 | (altivec_vsldoi_v4si, altivec_vsldoi_v8hi, | |
3307 | altivec_vsldoi_v16qi): ... here. | |
3308 | (altivec_vsldoi_4sf): Rename to ... | |
3309 | (altivec_vsldoi_v4sf): ... here. | |
3310 | (altivec_predicate_v4si, altivec_predicate_v8hi, | |
3311 | altivec_predicate_v16qi): Replace with ... | |
3312 | (altivec_predicate_<mode>): ... this. | |
3313 | (altivec_lvebx, altivec_lvehx, altivec_lvewx): Replace | |
3314 | with ... | |
3315 | (altivec_lve<VI_char>x): ... this. | |
3316 | (altivec_stvebx, altivec_stvehx, altivec_stvewx): Replace | |
3317 | with ... | |
3318 | (altivec_stve<VI_char>x): ... this. | |
3319 | (absv16qi2, absv8hi2, absv4si2): Replace | |
3320 | with ... | |
3321 | (abs<mode>2): ... this. | |
3322 | (altivec_abss_v16qi, altivec_abss_v8hi, altivec_abss_v4si): Replace | |
3323 | with ... | |
3324 | (altivec_abss_<mode>): ... this. | |
3325 | (vec_realign_load_v16qi, vec_realign_load_v8hi, | |
3326 | vec_realign_load_v4si): Replace with ... | |
3327 | (vec_realign_load_<mode>): ... this. | |
3328 | * config/rs6000/rs6000.c (bdesc_3arg, bdesc_2arg): Update tweaked | |
3329 | insn names. | |
3330 | (rs6000_expand_ternop_builtin): Likewise. | |
3331 | ||
3332 | 2004-11-25 Andrew Haley <aph@redhat.com> | |
3333 | ||
3334 | * gcc.c (process_command): Don't supply -v to linker. | |
3335 | ||
3336 | 2004-11-25 Joseph S. Myers <joseph@codesourcery.com> | |
3337 | ||
3338 | * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Use %qs | |
3339 | instead of `%s' in diagnostic. | |
3340 | ||
3341 | 2004-11-25 Nathan Sidwell <nathan@codesourcery.com> | |
3342 | ||
3343 | * basic-block.h (OBSTACK_ALLOC_REG_SET): Adjust. | |
3344 | (FREE_REG_SET): Adjust. | |
3345 | * bitmap.c (bitmap_obstack_free): Cope with NULL bitmap. | |
3346 | * bitmap.h (BITMAP_OBSTACK_ALLOC): Rename to ... | |
3347 | (BITMAP_ALLOC): ... here. | |
3348 | (BITMAP_OBSTACK_FREE): Rename to ... | |
3349 | (BITMAP_FREE): Don't check for NULL bitmap here. | |
3350 | * tree-ssa-pre.c (value_insert_into_set_bitmap, | |
3351 | bitmap_set_new): Use new names. | |
3352 | ||
3353 | * bt-load.c (migrate_btr_defs): Remove unneeded NULL check. | |
3354 | * df.c (df_free): Likewise. | |
3355 | * ra-build.c (ra_build_free, ra_build_free_all): Likewise. | |
3356 | * tree-ssa-loop-ivopts.c (set_use_iv_cost): Likewise. | |
3357 | ||
3358 | * basic-block.h (OBSTACK_ALLOC_REG_SET): Rename to ... | |
3359 | (ALLOC_REG_SET): ... here. | |
3360 | (FREE_REG_SET): Adjust. | |
3361 | (XMALLOC_REG_SET, XFREE_REG_SET): Remove. | |
3362 | * bb-reorder.c (fix_crossing_conditional_branches): Adjust. | |
3363 | * cfglayout.c (cfg_layout_duplicate_bb): Adjust. | |
3364 | * cfgrtl.c (rtl_split_block, rtl_split_edge, | |
3365 | safe_insert_insn_on_edge, cfg_layout_split_edge): Adjust. | |
3366 | * flow.c (update_life_info, calculate_global_regs_live, | |
3367 | allocate_bb_life_data, init_propagate_block_info): Adjust. | |
3368 | * global.c (build_insn_chain): Adjust. | |
3369 | * ifcvt.c (dead_or_predicable): Adjust. | |
3370 | * loop-iv.c (simplify_using_initial_values): Adjust. | |
3371 | * recog.c (peephole2_optimize): Adjust. | |
3372 | * sched-deps.c (init_deps_global): Adjust. | |
3373 | ||
3374 | 2004-11-25 Ralf Corsepius <ralf.corsepius@rtems.org> | |
3375 | ||
3376 | * config.gcc (avr-*-rtems*): Fix typo. | |
3377 | ||
3378 | 2004-11-25 J"orn Rennecke <joern.rennecke@st.com> | |
3379 | ||
3380 | * sh.c (sh_output_mi_thunk): Do not call regset_release_memory. | |
3381 | ||
3382 | 2004-11-24 Jeff Law <law@redhat.com> | |
3383 | ||
3384 | * tree-ssa-alias.c (compute_flow_insensitive_aliasing): Reduce | |
3385 | the number of queries to random elements in the ai->written_vars | |
3386 | bitmap. | |
3387 | ||
3388 | 2004-11-24 Roger Sayle <roger@eyesopen.com> | |
3389 | ||
3390 | * config/i386/i386.c (override_options): Disable x87 fancy math | |
3391 | intrinsics if -mfpmath= doesn't include 387 (default on x86_64). | |
3392 | ||
3393 | 2004-11-24 Roger Sayle <roger@eyesopen.com> | |
3394 | ||
3395 | * configure.ac: Tweak test for HAVE_DECL_LDGETNAME to avoid a | |
3396 | system header conflict on AIX 5.2. | |
3397 | * configure: Regenerate. | |
3398 | ||
3399 | 2004-11-24 Kazu Hirata <kazu@cs.umass.edu> | |
3400 | ||
3401 | * tree-outof-ssa.c (coalesce_abnormal_edges): Use e->dest_idx | |
3402 | instead of calling phi_arg_from_edge. | |
3403 | ||
3404 | * tree-phinodes.c (remove_phi_args): Replace phi_arg_from_edge | |
3405 | with e->dest_idx. | |
3406 | ||
3407 | 2004-11-24 Ben Elliston <bje@au.ibm.com> | |
3408 | ||
3409 | * config/i386/i386.h (ASM_OUTPUT_DWARF_ADDR_CONST): Remove. | |
3410 | * config/i386/i386.c (i386_dwarf_output_addr_const): Likewise. | |
3411 | * config/i386/i386-protos.h (i386_dwarf_output_addr_const): | |
3412 | Likewise. | |
3413 | ||
3414 | 2004-11-24 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
3415 | ||
3416 | * tree-sra.c (sra_walk_modify_expr): Handle RHS first, then LHS. | |
3417 | ||
3418 | * tree-inline.c (copy_body_r): Explicitly copy a constant if the | |
3419 | type will be remapped. | |
3420 | ||
3421 | 2004-11-24 Steven Bosscher <stevenb@suse.de> | |
3422 | ||
3423 | * c-opts.c (c_common_post_options): Don't clear | |
3424 | flag_inline_functions. | |
3425 | * dojump.c (clear_pending_stack_adjust): Remove check on | |
3426 | flag_inline_functions, it's always true. | |
3427 | * config/alpha/alpha.md (movdi_er_maybe_g): Remove splitter | |
3428 | that can never trigger. | |
3429 | * config/c4x/c4x.h (TARGET_CPU_CPP_BUILTINS): Don't look at | |
3430 | flag_inline_trees, now that flag_inline_functions is never | |
3431 | cleared. | |
3432 | * config/pdp11/pdp11.h (OPTIMIZATION_OPTIONS): Don't set | |
3433 | flag_inline_functions at optimization levels greater than | |
3434 | or equal to 3. This is already done by default. | |
3435 | ||
3436 | 2004-11-24 Kazu Hirata <kazu@cs.umass.edu> | |
3437 | ||
3438 | * tree-outof-ssa.c (eliminate_build): Use g->e->dest_idx | |
3439 | instead to find the PHI argument. Do not take I as an | |
3440 | argument. | |
3441 | (eliminate_phi): Adjust the call to eliminate_build. Do not | |
3442 | take I as an argument. | |
3443 | (rewrite_trees): Adjust the call to eliminate_phi. | |
3444 | ||
3445 | 2004-11-24 Richard Sandiford <rsandifo@redhat.com> | |
3446 | ||
3447 | * optabs.h (force_expand_binop): Declare. | |
3448 | * optabs.c (force_expand_binop): Export. | |
3449 | * stmt.c (shift_return_value): Delete. | |
3450 | (expand_return): Don't call it. | |
3451 | * expr.h (shift_return_value): Declare. | |
3452 | * calls.c (shift_returned_value): Delete in favor of... | |
3453 | (shift_return_value): ...this new function. Leave the caller to check | |
3454 | for non-BLKmode values passed in the msb of a register. Take said mode | |
3455 | and a shift direction as argument. Operate on the hard function value, | |
3456 | not a pseudo. | |
3457 | (expand_call): Adjust accordingly. | |
3458 | * function.c (expand_function_start): If a non-BLKmode return value | |
3459 | is padded at the last significant end of the return register, use the | |
3460 | return value's natural mode for the DECL_RESULT, not the mode of the | |
3461 | padded register. | |
3462 | (expand_function_end): Shift the same sort of return values left by | |
3463 | the appropriate amount. | |
3464 | ||
3465 | 2004-11-24 Matt Austern <austern@apple.com> | |
3466 | ||
3467 | * recog.c (recog_memoized_1): Remove. | |
3468 | * recog.h (recog_memoized_1): Remove declaration. | |
3469 | (recog_memoized): Change from macro to inline function. | |
3470 | ||
3471 | 2004-11-24 Devang Patel <dpatel@apple.com> | |
3472 | ||
3473 | PR/18555 | |
3474 | * gcc.h (DEFAULT_WORD_SWITCH_TAKES_ARG): Add isysroot. | |
3475 | * config/darwin-c.c (darwin_register_frameworks): Use sysroot. | |
3476 | ||
3477 | 2004-11-24 Devang Patel <dpatel@apple.com> | |
3478 | ||
3479 | * gcc.c (process_command): Supply -v to linker. | |
3480 | ||
3481 | 2004-11-24 David Edelsohn <edelsohn@gnu.org> | |
3482 | Paolo Bonzini <bonzini@gnu.org> | |
3483 | ||
3484 | * config/rs6000/rs6000.c (rs6000_return_in_memory): Allow Altivec | |
3485 | vector modes without ALTIVEC_ABI. Use GCC vector instead of | |
3486 | synthetic vector. | |
3487 | (rs6000_pass_by_reference): Split conditional into pieces. Use | |
3488 | GCC vector instead of synthetic vector. | |
3489 | ||
3490 | 2004-11-24 Aldy Hernandez <aldyh@redhat.com> | |
3491 | ||
3492 | * tree.c (recompute_tree_invarant_for_addr_expr): The address of a | |
3493 | thread-local variable is invariant. | |
3494 | ||
3495 | 2004-11-24 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
3496 | ||
3497 | * tree-pretty-print.c (dump_generic_node, case POINTER_TYPE): | |
3498 | Handle TYPE_REF_CAN_ALIAS_ALL. | |
3499 | (print_declaration): Print array dimensions like dump_generic_node. | |
3500 | ||
3501 | * fold-const.c (operand_equal_p): Remove kludge allowing ARG0 and | |
3502 | ARG1 to be null; instead define OP_SAME and OP_SAME_NULL and use them. | |
3503 | ||
3504 | 2004-11-24 Nathan Sidwell <nathan@codesourcery.com> | |
3505 | ||
3506 | * bitmap.c (INLINE): Do not define. | |
3507 | (bitmap_elem_to_freelist, bitmap_element_free, | |
3508 | bitmap_element_allocate, bitmap_clear, bitmap_element_zerop, | |
3509 | bitmap_element_link, bitmap_find_bit): Use inline keyword/macro. | |
3510 | ||
3511 | 2004-11-24 Kazu Hirata <kazu@cs.umass.edu> | |
3512 | ||
3513 | * tree-ssa-dom.c (cprop_into_successor_phis): Remove code to | |
3514 | find the index of a PHI argument. Use e->dest_idx instead. | |
3515 | Replace hint with index. | |
3516 | ||
3517 | * tree-ssa-dom.c (cprop_into_successor_phis): Replace index | |
3518 | with indx. | |
3519 | ||
3520 | 2004-11-24 Diego Novillo <dnovillo@redhat.com> | |
3521 | ||
3522 | * tree-ssa-alias.c (merge_pointed_to_info): Fix comment | |
3523 | regarding PT_MALLOC. | |
3524 | ||
3525 | 2004-11-24 Joseph Myers <joseph@codesourcery.com> | |
3526 | ||
3527 | * config/i386/i386.c (optimization_options): Use | |
3528 | SUBTARGET_OPTIMIZATION_OPTIONS. | |
3529 | * config/i386/sol2-10.h (SUBTARGET_OPTIMIZATION_OPTIONS): Define. | |
3530 | (TARGET_SUBTARGET_DEFAULT): Don't include | |
3531 | MASK_OMIT_LEAF_FRAME_POINTER. | |
3532 | ||
3533 | 2004-11-24 Mark Mitchell <mark@codesourcery.com> | |
3534 | ||
3535 | * config/i386/sol2.h (X86_FILE_START_VERSION_DIRECTIVE): | |
3536 | Define to false. | |
3537 | ||
3538 | 2004-11-24 Joseph Myers <joseph@codesourcery.com> | |
3539 | ||
3540 | * config/i386/t-sol2-10 (MULTILIB_DIRNAMES, MULTILIB_OSDIRNAMES): | |
3541 | Use amd64 instead of 64. | |
3542 | ||
3543 | 2004-11-24 Mark Mitchell <mark@codesourcery.com> | |
3544 | Joseph Myers <joseph@codesourcery.com> | |
3545 | ||
3546 | * crtstuff.c (IN_LIBGCC2): Define it. | |
3547 | (EH_FRAME_SECTION_CONST): Check EH_TABLES_CAN_BE_READ_ONLY | |
3548 | instead of HAVE_LD_RO_RW_SECTION_MIXING. | |
3549 | * defaults.h (EH_TABLES_CAN_BE_READ_ONLY): New macro. | |
3550 | * dwarf2out.c (named_section_eh_frame_section): Check | |
3551 | EH_TABLES_CAN_BE_READ_ONLY. | |
3552 | * except.c (default_exception_section): Likewise. | |
3553 | * config/i386/sol2.h (EH_TABLES_CAN_BE_READ_ONLY): Define. | |
3554 | * doc/tm.texi (EH_TABLES_CAN_BE_READ_ONLY): Document. | |
3555 | ||
3556 | 2004-11-24 Kazu Hirata <kazu@cs.umass.edu> | |
3557 | ||
3558 | * tree-ssa-pre.c (phi_translate): Use find_edge to find the | |
3559 | index of a PHI argument. | |
3560 | ||
3561 | * tree-ssa-loop-manip.c (lv_adjust_loop_header_phi): Use | |
3562 | find_edge to find the index of a PHI argument. | |
3563 | ||
3564 | 2004-11-24 Steven Bosscher <stevenb@suse.de> | |
3565 | ||
3566 | * expr.c (expand_expr_real_1): Remove cases for EXIT_BLOCK_EXPR | |
3567 | and LABELED_BLOCK_EXPR. | |
3568 | * gimplify.c (gimplify_labeled_block_expr): Remove. | |
3569 | (gimplify_exit_block_expr): Remove. | |
3570 | (gimplify_expr): Don't call them. | |
3571 | * tree-inline.c (copy_body_r): Don't handle EXIT_BLOCK_EXPR | |
3572 | and LABELED_BLOCK_EXPR. | |
3573 | (estimate_num_insns_1): Likewise. | |
3574 | (walk_tree): Likewise. | |
3575 | * tree-pretty-print.c (dump_generic_node): Don't handle | |
3576 | EXIT_BLOCK_EXPR and LABELED_BLOCK_EXPR. | |
3577 | * tree.def (EXIT_BLOCK_EXPR): Moved to java-tree.def. | |
3578 | (LABELED_BLOCK_EXPR): Likewise. | |
3579 | * tree.h (LABELED_BLOCK_LABEL): Moved to java-tree.h. | |
3580 | (LABELED_BLOCK_BODY): Likewise. | |
3581 | (EXIT_BLOCK_LABELED_BLOCK): Likewise. | |
3582 | (EXIT_BLOCK_RETURN): Removed. | |
3583 | ||
3584 | 2004-11-24 Steven Bosscher <stevenb@suse.de> | |
3585 | ||
3586 | * cfgrtl.c (rtl_delete_block): Fix comment. | |
3587 | * emit-rtl.c (remove_unnecessary_notes): Die if we see BLOCK_BEG | |
3588 | or BLOCK_END insn notes. | |
3589 | * jump.c (squeeze_notes): Likewise. | |
3590 | * haifa-sched.c (reemit_notes): Don't "re-emit" EH_REGION_BEG and | |
3591 | EH_REGION_END notes, we never have them to begin with. | |
3592 | * sched-deps.c (sched_analyze_insn): When updating loop notes, | |
3593 | verify that we have indeed only recorded loop notes. | |
3594 | (sched_analyze): Die if we see EH_REGION_BEG or EH_REGION_END notes. | |
3595 | Only record loop notes. | |
3596 | ||
3597 | * cfgexpand.c (tree_expand_cfg): Fix comment. | |
3598 | ||
3599 | * passes.c (rest_of_compilation): Don't do a second call to | |
3600 | convert_from_eh_region_ranges from here, it's already called | |
3601 | from cfgexpand.c. | |
3602 | * except.c (resolve_fixup_regions): Remove. | |
3603 | (remove_fixup_regions): Remove. | |
3604 | (convert_from_eh_region_ranges_1): Remove. | |
3605 | (convert_from_eh_region_ranges): Remove the case where EH is | |
3606 | not already lowered at the tree level. We always lower there. | |
3607 | ||
3608 | 2004-11-24 Paolo Bonzini <bonzini@gnu.org> | |
3609 | ||
3610 | PR c++/16882 | |
3611 | * tree.c (make_vector_type): Move qualifiers to the vector type, | |
3612 | use the inner type's main variant and build a main variant for | |
3613 | the vector type if necessary. | |
3614 | (type_hash_eq): Check a vector type's TYPE_VECTOR_SUBPARTS. | |
3615 | ||
3616 | 2004-11-24 Eric Botcazou <ebotcazou@libertysurf.fr> | |
3617 | ||
3618 | * target.h (late_rtl_prologue_epilogue): Remove. | |
3619 | * target-def.h (TARGET_LATE_RTL_PROLOGUE_EPILOGUE): Remove. | |
3620 | * system.h: Poison TARGET_LATE_RTL_PROLOGUE_EPILOGUE. | |
3621 | * passes.c (rest_of_handle_prologue_epilogue): Remove and move | |
3622 | remaining bits to... | |
3623 | (rest_of_handle_flow2): ...here. | |
3624 | (rest_of_compilation): Remove call to rest_of_handle_prologue_epilogue. | |
3625 | * doc/tm.texi (TARGET_LATE_RTL_PROLOGUE_EPILOGUE): Remove. | |
3626 | ||
3627 | 2004-11-23 Mark Mitchell <mark@codesourcery.com> | |
3628 | ||
3629 | * hwint.h (HOST_LONG_LONG_FORMAT): New macro. Use it throughout. | |
3630 | * config/i386/xm-mingw32.h (HOST_LONG_LONG_FORMAT): Define. | |
3631 | * doc/hostconfig.texi (HOST_LONG_LONG_FORMAT): Document. | |
3632 | ||
3633 | 2004-11-24 Daniel Jacobowitz <dan@codesourcery.com> | |
3634 | ||
3635 | * config/i386/i386.c (override_options): Move | |
3636 | SUBTARGET_OVERRIDE_OPTIONS before defaulting | |
3637 | flag_omit_frame_pointer. | |
3638 | ||
3639 | 2004-11-23 Richard Henderson <rth@redhat.com> | |
3640 | ||
3641 | * rtl.h (validate_subreg): Declare. | |
3642 | * emit-rtl.c (validate_subreg): New. | |
3643 | (gen_rtx_SUBREG): Use it. | |
3644 | * simplify-rtx.c (simplify_subreg): Likewise. | |
3645 | (simplify_gen_subreg): Likewise. Remove duplicate asserts. | |
3646 | * expr.c (emit_move_insn_1): Tidy complex move code. Use memory | |
3647 | fallback whenever gen_realpart/gen_imagpart would not be able to | |
3648 | create SUBREGs. | |
3649 | ||
3650 | 2004-11-23 Richard Henderson <rth@redhat.com> | |
3651 | ||
3652 | * expmed.c (extract_bit_field): Use simplify_gen_subreg instead of | |
3653 | hard-coding avoiding calls to gen_rtx_SUBREG. Split complex return | |
3654 | modes to CONCAT. | |
3655 | ||
3656 | 2004-11-23 Diego Novillo <dnovillo@redhat.com> | |
3657 | ||
3658 | PR tree-optimization/18618 | |
3659 | * tree-into-ssa.c (DEF_VEC_MALLOC_P(basic_block)): Declare. | |
3660 | (insert_phi_nodes_for): Change third argument to VEC(basic_block). | |
3661 | * tree-ssa-dom.c (avail_exprs_stack): Change type to VEC(tree_on_heap). | |
3662 | Update all users. | |
3663 | (stmts_to_rescan): Likewise. | |
3664 | (const_and_copies_stack): Likewise. | |
3665 | (nonzero_vars_stack): Likewise. | |
3666 | (vrp_variables_stack): Likewise. | |
3667 | ||
3668 | 2004-11-23 Richard Henderson <rth@redhat.com> | |
3669 | ||
3670 | * cse.c (record_jump_cond_subreg): New. | |
3671 | (record_jump_cond): Use it instead of gen_lowpart. | |
3672 | ||
3673 | 2004-11-23 Daniel Jacobowitz <dan@codesourcery.com> | |
3674 | Joseph Myers <joseph@codesourcery.com> | |
3675 | ||
3676 | * config/sol2-c.c (solaris_register_pragmas): Use | |
3677 | c_register_pragma_with_expansion. | |
3678 | * config/sol2.h (HANDLE_PRAGMA_PACK_WITH_EXPANSION): Define. | |
3679 | * c-pragma.c (c_register_pragma): Update call to | |
3680 | cpp_register_pragma. | |
3681 | (c_register_pragma_with_expansion): New function. | |
3682 | (init_pragma): Honor HANDLE_PRAGMA_PACK_WITH_EXPANSION. | |
3683 | * c-pragma.h (c_register_pragma_with_expansion): New prototype. | |
3684 | * doc/extend.texi (Solaris Pragmas): Mention macro expansion for | |
3685 | #pragma align. | |
3686 | * doc/tm.texi (c_register_pragma_with_expansion, | |
3687 | HANDLE_PRAGMA_PACK_WITH_EXPANSION): Document. | |
3688 | ||
3689 | 2004-11-23 Richard Henderson <rth@redhat.com> | |
3690 | ||
3691 | * combine.c (gen_lowpart_for_combine): Factor out mode of x as well | |
3692 | as mode sizes into local temporaries. Unify failure path. | |
3693 | ||
3694 | 2004-11-23 Richard Henderson <rth@redhat.com> | |
3695 | ||
3696 | * emit-rtl.c, rtl.h (subreg_hard_regno): Remove. | |
3697 | * caller-save.c (mark_set_regs): Use subreg_regno instead. | |
3698 | * final.c (alter_subreg): Likewise. | |
3699 | * local-alloc.c (reg_is_born): Likewise. | |
3700 | ||
3701 | 2004-11-23 Richard Henderson <rth@redhat.com> | |
3702 | ||
3703 | * simplify-rtx.c (simplify_subreg): Use subreg_regno_offset directly | |
3704 | instead of using a SUBREG temporary. | |
3705 | ||
3706 | 2004-11-23 Kazu Hirata <kazu@cs.umass.edu> | |
3707 | ||
3708 | * tree-cfg.c (tree_forwarder_block_p): Speed up by reordering | |
3709 | two checks. | |
3710 | ||
3711 | 2004-11-23 Zack Weinberg <zack@codesourcery.com> | |
3712 | ||
3713 | * function.h (struct function): Remove calls_longjmp. | |
3714 | (current_function_calls_longjmp): Delete. | |
3715 | * tree.h (ECF_LONGJMP): Delete. | |
3716 | (ECF_SIBCALL, ECF_PURE, ECF_SP_DEPRESSED, ECF_ALWAYS_RETURN) | |
3717 | (ECF_LIBCALL_BLOCK): Everybody slide down one. | |
3718 | (ECF_CONST, ECF_NORETURN, ECF_SIBCALL): Clarify comments. | |
3719 | * builtins.c (expand_builtin_longjmp): Don't set | |
3720 | current_function_calls_longjmp. | |
3721 | * calls.c (special_function_p): Mark longjmp and siglongjmp | |
3722 | with ECF_NORETURN, not ECF_LONGJMP. | |
3723 | (emit_call_1, expand_call, emit_library_call_value_1): | |
3724 | Don't check for ECF_LONGJMP. | |
3725 | * tree-cfg.c (make_exit_edges, is_ctrl_altering_stmt) | |
3726 | (need_fake_edge_p): Likewise. | |
3727 | ||
3728 | * config/avr/avr.h, config/ip2k/ip2k.h: Don't define NON_SAVING_SETJMP. | |
3729 | * system.h: Poison NON_SAVING_SETJMP. | |
3730 | * function.c (use_register_for_decl) | |
3731 | * gcse.c (compute_hash_table_work, compute_store_table) | |
3732 | * postreload-gcse.c (record_opr_changes) | |
3733 | * reload.c (find_equiv_reg) | |
3734 | * reload1.c (reload) | |
3735 | * config/i386/i386.c (ix86_can_use_return_insn_p): | |
3736 | Remove code conditional on NON_SAVING_SETJMP. | |
3737 | * doc/tm.texi: Delete documentation of NON_SAVING_SETJMP. | |
3738 | ||
3739 | * config/i386/sysv3.h: Delete file. | |
3740 | * config/i386/i386.c (ix86_svr3_asm_out_constructor): Delete. | |
3741 | ||
3742 | 2004-11-23 Dorit Naishlos <dorit@il.ibm.com> | |
3743 | ||
3744 | * tree-vectorizer.c (vect_analyze_operations): Don't vectorize if | |
3745 | the vectorization factor is greater than the iteration count. | |
3746 | (vect_gen_niters_for_prolog_loop): No need to calculate min if the | |
3747 | iteration count is known. | |
3748 | ||
3749 | (vect_build_symbol_bound): Removed. Its functionality moved to | |
3750 | vect_generate_tmps_on_preheader. | |
3751 | (vect_generate_tmps_on_preheader): Moved content of | |
3752 | vect_build_symbol_bound here instead of calling it. Changed some | |
3753 | variables names. | |
3754 | ||
3755 | (vect_build_loop_niters): We don't expect a new_bb to be generated - | |
3756 | use gcc_assert. | |
3757 | (vect_gen_niters_for_prolog_loop): Likewise. | |
3758 | (vect_gen_niters_for_prolog_loo): Likewise. | |
3759 | ||
3760 | (slpeel_make_loop_iterate_ntimes): Use buildN instead of build. | |
3761 | (slpeel_add_loop_guard): Likewise. | |
3762 | (slpeel_tree_peel_loop_to_edge): Likewise. | |
3763 | (vect_do_peeling_for_alignment): Likewise. | |
3764 | ||
3765 | (vect_get_first_index): Missing space. | |
3766 | ||
3767 | 2004-11-23 Ulrich Weigand <uweigand@de.ibm.com> | |
3768 | ||
3769 | * config/s390/s390.md ("*iordi3"): Mark commutative. | |
3770 | ("*iorsi3_zarch", "*iorsi3_esa"): Likewise. | |
3771 | ||
3772 | 2004-11-23 Kazu Hirata <kazu@cs.umass.edu> | |
3773 | ||
3774 | * tree-phinode.c (resize_phi_node): Abort when LEN is strictly | |
3775 | greater than PHI_ARG_CAPACITY. | |
3776 | (reserve_phi_args_for_new_edge): Initialize the new PHI | |
3777 | argument to NULL_TREE. Increment PHI_NUM_ARGS. | |
3778 | (add_phi_arg): Add a PHI argument to the slot given by | |
3779 | E->dest_idx. | |
3780 | (remove_phi_arg_num): Do not write to PHI_ARG_EDGE. | |
3781 | * tree-flow-inline (phi_arg_from_edge): Return E->dest_idx. | |
3782 | * tree-ssa.c (ssa_redirect_edge): Check for a missing PHI | |
3783 | argument by looking at PHI_ARG_DEF. | |
3784 | (verify_phi_args): Check for a missing PHI argument. Remove | |
3785 | the check for duplicate PHI arguments. | |
3786 | * tree.h (PHI_ARG_EDGE): Redefine in terms of EDGE_PRED. | |
3787 | (phi_arg_d): Remove e. | |
3788 | ||
3789 | * tree-cfg.c (tree_try_redirect_by_replacing_jump): Speed up | |
3790 | by restricting to the case with two outgoing edges. | |
3791 | ||
3792 | 2004-11-23 Andreas Krebbel <krebbel1@de.ibm.com> | |
3793 | ||
3794 | * config/s390/s390.c (s390_backchain_string): Removed. | |
3795 | (s390_return_addr_rtx, s390_back_chain_rtx, s390_frame_info) | |
3796 | (s390_emit_prologue, s390_va_start, s390_gimplify_va_arg): | |
3797 | Changed users of TARGET_BACKCHAIN, TARGET_NO_BACKCHAIN and | |
3798 | TARGET_KERNEL_BACKCHAIN to reflect the new options. | |
3799 | * config/s390/s390.h (MASK_BACKCHAIN, MASK_PACKED_STACK): New macros. | |
3800 | (TARGET_KERNEL_BACKCHAIN): Removed. | |
3801 | (TARGET_BACKCHAIN): Former triple state option change to a target flag. | |
3802 | (TARGET_PACKED_STACK): New macro. | |
3803 | (TARGET_SWITCHES): New switches added. | |
3804 | (TARGET_OPTIONS): "backchain", "no-backchain" and "kernel-backchain" | |
3805 | removed. | |
3806 | (DYNAMIC_CHAIN_ADDRESS): Use TARGET_PACKED_STACK. | |
3807 | * config/s390/s390.md ("allocate_stack", "restore_stack_block") | |
3808 | ("save_stack_nonlocal", "restore_stack_nonlocal"): Modified to reflect | |
3809 | the change in target switch semantics. | |
3810 | * config/s390/tpf.h (TARGET_DEFAULT_BACKCHAIN): Removed. | |
3811 | (TARGET_DEFAULT): MASK_BACKCHAIN added. | |
3812 | * doc/invoke.texi: Added documentation for the new/changed options. | |
3813 | ||
3814 | 2004-11-23 Uros Bizjak <uros@kss-loka.si> | |
3815 | ||
3816 | PR rtl-optimization/18614 | |
3817 | * simplify-rtx.c (simplify_binary_operation): Do not | |
3818 | simplify inner elements of constant arguments of | |
3819 | VEC_CONCAT insn. | |
3820 | ||
3821 | 2004-11-23 Eric Botcazou <ebotcazou@libertysurf.fr> | |
3822 | ||
3823 | * gthr-solaris.h (__gthread_recursive_mutex_init_function): Use | |
3824 | 0 instead of NULL. | |
3825 | ||
3826 | 2004-11-23 Kazu Hirata <kazu@cs.umass.edu> | |
3827 | ||
3828 | * tree-phinode.c (make_phi_node): Use a new variable, | |
3829 | capacity, to receive the return value of ideal_phi_node_len. | |
3830 | ||
3831 | 2004-11-23 Eric Botcazou <ebotcazou@libertysurf.fr> | |
3832 | ||
3833 | * gthr-solaris.h (__gthread_recursive_mutex_t): New type. | |
3834 | (__GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION): Define to | |
3835 | __gthread_recursive_mutex_init_function. | |
3836 | (__gthread_key_create): Properly cast -1. | |
3837 | (__gthread_recursive_mutex_init_function): New function. | |
3838 | (__gthread_recursive_mutex_lock): Rewrite. | |
3839 | (__gthread_recursive_mutex_trylock): Likewise. | |
3840 | (__gthread_recursive_mutex_unlock): Likewise. | |
3841 | ||
3842 | 2004-11-23 Ralf Corsepius <ralf.corsepius@rtems.org> | |
3843 | ||
3844 | * config/c4x/t-rtems: New. | |
3845 | * config.gcc: Reflect having added c4x/t-rtems. | |
3846 | ||
3847 | 2004-11-23 Dorit Naishlos <dorit@il.ibm.com> | |
3848 | ||
3849 | PR tree-opt/18403 | |
3850 | PR tree-opt/18505 | |
3851 | * tree-vectorizer.c (vect_create_data_ref_ptr): Use | |
3852 | lang_hooks.types.type_for_size instead of integer_type_node for the | |
3853 | type of ptr_update. | |
3854 | ||
3855 | 2004-11-23 Ralf Corsepius <ralf.corsepius@rtems.org> | |
3856 | ||
3857 | * config.gcc (h8300-*-rtems*): Use h8300/t-rtems. | |
3858 | ||
3859 | 2004-11-23 Ralf Corsepius <ralf.corsepius@rtems.org> | |
3860 | ||
3861 | * config/arm/t-rtems: New. | |
3862 | * config.gcc: Reflect having added arm/t-rtems. | |
3863 | ||
3864 | 2004-11-23 Kazu Hirata <kazu@cs.umass.edu> | |
3865 | ||
3866 | * tree-cfg.c (tree_execute_on_growing_pred): New. | |
3867 | (tree_cfg_hooks): Add tree_execute_on_growing_pred. | |
3868 | * tree-flow.h: Add a prototype for | |
3869 | reserve_phi_args_for_new_edge. | |
3870 | * tree-phinodes.c (reserve_phi_args_for_new_edge): New. | |
3871 | (add_phi_arg): Don't resize a PHI array. | |
3872 | ||
3873 | 2004-11-23 Ralf Corsepius <ralf.corsepius@rtems.org> | |
3874 | ||
3875 | * config.gcc: Add avr-*-rtems*. | |
3876 | * config/avr/t-rtems: New. | |
3877 | * config/avr/rtems.h: New. | |
3878 | ||
3879 | 2004-11-22 Daniel Berlin <dberlin@dberlin.org> | |
3880 | ||
3881 | * df.c (dataflow_set_a_op_b): Remove reslt parameter, since it's | |
3882 | always the same as op1. Use bitmap_ior_into and bitmap_and_into. | |
3883 | Add comment to function. | |
3884 | ||
3885 | 2004-11-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
3886 | ||
3887 | PR pch/14940 | |
3888 | * config/host-linux.c (TRY_EMPTY_VM_SPACE): Define for __hppa__. | |
3889 | ||
3890 | PR rtl-optimization/14838 | |
3891 | * emit-rtl.c (get_first_nonnote_insn): Don't assume first insn is a | |
3892 | note. | |
3893 | (get_last_nonnote_insn): Don't assume last insn is a note. | |
3894 | ||
3895 | 2004-11-22 Roger Sayle <roger@eyesopen.com> | |
3896 | ||
3897 | * fold-const.c (nondestructive_fold_binary_to_constant): Rename | |
3898 | to fold_binary_to_constant. | |
3899 | (nondestructive_fold_unary_to_constant): Likewise, rename to | |
3900 | fold_unary_to_constant. | |
3901 | (fold_relational_hi_lo): Update call to fold_binary_to_constant. | |
3902 | * tree.h (nondestructive_fold_binary_to_constant): Update prototype. | |
3903 | (nondestructive_fold_unary_to_constant): Likewise. | |
3904 | * tree-ssa-ccp.c (ccp_fold): Update calls to fold_unary_to_constant | |
3905 | and fold_binary_to_constant. | |
3906 | * tree-ssa-loop-niter.c (EXEC_BINARY, EXEC_UNARY): Delete macros. | |
3907 | (inverse, number_of_iterations_cond): Replace uses of EXEC_BINARY | |
3908 | and EXEC_UNARY with calls to fold_*nary_to_constant. | |
3909 | * tree-ssa-loop-ivopts.c (EXEC_BINARY, EXEC_UNARY): Delete macros. | |
3910 | (idx_find_step): Replace uses of EXEC_BINARY with calls to | |
3911 | fold_binary_to_constant. | |
3912 | ||
3913 | 2004-11-22 Nick Clifton <nickc@redhat.com> | |
3914 | ||
3915 | * sbitmap.c (sbitmap_union_of_preds): Remove redundant | |
3916 | initialisation of 'e'. | |
3917 | ||
3918 | 2004-11-22 Roger Sayle <roger@eyesopen.com> | |
3919 | ||
3920 | * config/i386/i386.h (TARGET_USE_FANCY_MATH_387): New macro. | |
e8366202 | 3921 | * config/i386/i386.c (override_options): Set MASK_NO_FANCY_MATH_387 |
7a4515d7 SB |
3922 | automatically for targets without TARGET_80387. |
3923 | * config/i386/i386.md (sqrtsf2, sqrtsf2_1, sqrtsf2_i387, sqrtdf2, | |
3924 | sqrtdf2_1, sqrtdf2_i387, *sqrtextendsfdf2, sqrtxf2, | |
3925 | *sqrtextenddfxf2, *sqrtextendsfxf2, fpremxf4, fmodsf3, fmoddf3, | |
3926 | fmodxf3, fprem1xf4, dremsf3, dremdf3, dremxf3, *sindf2, *sinsf2, | |
3927 | *sinextendsfdf2, *sinxf2, *cosdf2, *cossf2, *cosextendsfdf2, | |
3928 | *cosxf2, sincosdf3, sincossf3, *sincosextendsfdf3, sincosxf3, | |
3929 | *tandf3_1, tandf2, *tansf3_1, tansf2, *tanxf3_1, tanxf2, | |
3930 | atan2df3_1, atan2df3, atandf2, atan2sf3_1, atan2sf3, atansf2, | |
3931 | atan2xf3_1, atan2xf3, atanxf2, asindf2, asinsf2, asinxf2, | |
3932 | acosdf2, acossf2, acosxf2, fyl2x_xf3, logsf2, logdf2, logxf2, | |
3933 | log10sf2, log10df2, log10xf2, log2sf2, log2df2, log2xf2, | |
3934 | fyl2xp1_xf3, log1psf2, log1pdf2, log1pxf2, *fxtractxf3, logbsf2, | |
3935 | logbdf2, logbxf2, ilogbsi2, *f2xm1xf2, *fscalexf4, expsf2, | |
3936 | expdf2, expxf2, exp10sf2, exp10df2, exp10xf2, exp2sf2, exp2df2, | |
3937 | exp2xf2, expm1df2, expm1sf2, expm1xf2, frndintxf2, rintdf2, | |
3938 | rintsf2, rintxf2, frndintxf2_floor, floordf2, floorsf2, | |
3939 | floorxf2, frndintxf2_ceil, ceildf2, ceilsf2, ceilxf2, | |
3940 | frndintxf2_trunc, btruncdf2, btruncsf2, btruncxf2, | |
3941 | frndintxf2_mask_pm, nearbyintdf2, nearbyintsf2, nearbyintxf2): | |
3942 | Simplify conditionals using TARGET_USE_FANCY_MATH_387. | |
3943 | ||
3944 | 2004-11-22 Dale Johannesen <dalej@apple.com> | |
3945 | ||
e8366202 | 3946 | * config/darwin.h (JUMP_TABLES_IN_TEXT_SECTION): Conditionalize |
7a4515d7 SB |
3947 | properly and comment. |
3948 | ||
3949 | 2004-11-22 James A. Morrison <phython@gcc.gnu.org | |
3950 | ||
3951 | * config/sparc/sparc.c: Include insn-codes.h and langhooks.h. | |
3952 | (sparc_init_builtins): New function. | |
3953 | (sparc_init_vis_builtins): Create builtin functions for VIS | |
3954 | instructions. | |
3955 | (sparc_expand_builtin): Expand builtin functions for VIS instructions. | |
3956 | (TARGET_INIT_BUILTINS): Define to sparc_init_builtins. | |
3957 | (TARGET_EXPAND_BUILTIN): Define to sparc_expand_builtin. | |
3958 | (def_builtin): New macro for creating builtin functions. | |
39a9609c | 3959 | * config/sparc/sparc.md (P): New mode macro for pointer types. |
7a4515d7 SB |
3960 | (UNSPEC_FPACK16, UNSPEC_FPACK32, UNSPEC_FPACKFIX, UNSPEC_FEXPAND, |
3961 | UNSPEC_FPMERGE, UNSPEC_MUL16AL, UNSPEC_MUL8UL, UNSPEC_MULDUL, | |
3962 | UNSPEC_ALIGNDATA, UNSPEC_ALIGNADDR, UNSPEC_PDIST): New constants. | |
3963 | (fpack16_vis, fpackfix_vis, fpack32_vis, fexpand_vis, fpmerge_vis, | |
3964 | fmul8x16_vis, fmul8x16au_vis, fmul8x16al_vis, fmul8sux16_vis, | |
3965 | fmul8ulx16_vis, fmuld8sux16_vis, fmuld8ulx16_vis, pdist_vis, | |
3966 | faligndata<V64:mode>_vis, alignaddr<P:mode>_vis): New patterns. | |
3967 | ||
3968 | 2004-11-22 Devang Patel <dpatel@apple.com> | |
3969 | ||
3970 | * tree-if-conv.c (clean_predicate_lists): Clean all basic blocks. | |
3971 | ||
3972 | 2004-11-22 Devang Patel <dpatel@apple.com> | |
3973 | ||
3974 | * tree-if-conv.c (if_convertable_phi_p): Rename to ... | |
3975 | (if_convertible_phi_p): ... new name. | |
3976 | (if_convertable_modify_expr_p): Rename to ... | |
3977 | (if_convertible_modify_expr_p): ... new name. | |
3978 | (if_convertable_stmt_p): Rename to ... | |
3979 | (if_convertible_stmt_p): ... new name. | |
3980 | (if_convertable_bb_p): Rename to ... | |
3981 | (if_convertible_bb_p): ... new name. | |
3982 | (if_convertable_loop_p): Rename to ... | |
3983 | (if_convertible_loop_p): ... new name. | |
3984 | ||
3985 | 2004-11-22 Eric Botcazou <ebotcazou@libertysurf.fr> | |
3986 | ||
3987 | PR target/18444 | |
3988 | * configure.ac (threading): Accept 'posix95'. | |
3989 | * configure: Regenerate. | |
3990 | * config.gcc (i[34567]86-*-solaris2*): On Solaris up to 2.6, | |
3991 | include sol26.h and default to posix95 threads if have_pthread_h. | |
3992 | (sparc-*-solaris2*): Likewise. | |
3993 | * gthr.h: Include gthr-posix95.h if _PTHREADS95 is defined. | |
3994 | * gthr-posix95.h: New file. | |
3995 | * config/sol26.h: New file. | |
3996 | * doc/install.texi (--enable-threads): Document 'posix95'. | |
3997 | ||
3998 | 2004-11-23 Ben Elliston <bje@au.ibm.com> | |
3999 | ||
4000 | * pointer-set.h (pointer_set_contains): Remove. | |
4001 | * pointer-set.c (pointer_set_contains): Likewise. | |
4002 | ||
4003 | 2004-11-22 Dale Johannesen <dalej@apple.com> | |
4004 | ||
4005 | * calls.c (expand_call): Do not call preserve_temp_slots. | |
4006 | ||
4007 | 2004-11-22 Kazu Hirata <kazu@cs.umass.edu> | |
4008 | ||
4009 | * tree-flow.h: Remove the prototype for remove_phi_arg. | |
4010 | Add a prototype for remove_phi_args. | |
4011 | * tree-phinodes.c (remove_phi_arg): Remove. | |
4012 | (remove_phi_args): New. | |
4013 | * tree-ssa.c (ssa_remove_edge): Call remove_phi_args instead | |
4014 | of remove_phi_arg. | |
4015 | ||
4016 | * cfg.c (unchecked_make_edge): Call execute_on_growing_pred | |
4017 | after making an edge. | |
4018 | (remove_edge): Call execute_on_shrinking_pred before removing | |
4019 | an edge. | |
4020 | (redirect_edge_succ): Call execute_on_growing_pred and | |
4021 | execute_on_shrinking_pred. | |
4022 | * cfghooks.c (execute_on_growing_pred): New. | |
4023 | (execute_on_shrinking_pred): Likewise. | |
4024 | * cfghooks.h (cfg_hooks): Add execute_on_growing_pred and | |
4025 | execute_on_shrinking_pred. | |
4026 | Add prototypes for execute_on_growing_pred and | |
4027 | execute_on_shrinking_pred. | |
4028 | * cfgrtl.c (rtl_cfg_hooks): Add NULL hooks to | |
4029 | execute_on_growing_pred and execute_on_shrinking_pred. | |
4030 | (cfg_layout_rtl_cfg_hook): Likewise. | |
4031 | * tree-cfg.c (tree_cfg_hooks): Likewise. | |
4032 | ||
4033 | * tree-cfg.c (tree_execute_on_shrinking_pred): New. | |
4034 | (tree_cfg_hooks): Use it. | |
4035 | * tree-ssa.c (ssa_remove_edge): Don't call remove_phi_args. | |
4036 | (ssa_redirect_edge): Don't call remove_phi_arg_num. | |
4037 | ||
4038 | * tree-phinodes.c (remove_phi_arg_num): Make it static. | |
4039 | * tree-flow.h: Remove the corresponding prototype. | |
4040 | ||
4041 | * tree-ssa.c (ssa_remove_edge): Remove. | |
4042 | * tree-flow.h: Remove the corresponding prototype. | |
4043 | * tree-cfg.c: Replace ssa_remove_edge with remove_edge. | |
4044 | * basic-block.h: Likewise. | |
4045 | * tree-if-conv.c: Likewise. | |
4046 | * tree-ssa-threadupdate.c: Likewise. | |
4047 | ||
4048 | 2004-11-23 Ben Elliston <bje@au.ibm.com> | |
4049 | ||
4050 | * doc/cfg.texi (Maintaining the CFG): Use @ftable instead of | |
4051 | @table to list the BSI methods. Use individual @findex directives | |
4052 | instead of one with a comma-separated list of index entries. | |
4053 | ||
4054 | 2004-11-22 Zdenek Dvorak <dvorakz@suse.cz> | |
4055 | ||
4056 | PR tree-optimization/18529 | |
4057 | * fold-const.c (fold_to_nonsharp_ineq_using_bound): New function. | |
4058 | (simple_operand_p): Use STRIP_NOPS. Consider SSA names simple. | |
4059 | (fold): Call fold_to_nonsharp_ineq_using_bound. | |
4060 | * tree-ssa-loop-niter.c (simplify_replace_tree): New function. | |
4061 | (number_of_iterations_cond): Fold the expressions before futher | |
4062 | processing. | |
4063 | (tree_simplify_using_condition): Handle case when cond or expr is | |
4064 | an EQ_EXPR specially. | |
4065 | ||
4066 | 2004-11-22 Daniel Berlin <dberlin@dberlin.org> | |
4067 | ||
4068 | * tree-ssa.c (verify_ssa): SSA_OP_ALL_USES should be | |
4069 | SSA_OP_ALL_USES | SSA_OP_ALL_KILLS for verification purposes. | |
4070 | ||
4071 | 2004-11-22 David Edelsohn <edelsohn@gnu.org> | |
4072 | Fariborz Jahanian <fjahanian@apple.com> | |
4073 | ||
4074 | * config/rs6000/rs6000.c (rs6000_return_in_memory): Test | |
4075 | TARGET_ALTIVEC_ABI. | |
4076 | (function_arg_boundary): Align 8 to 16 byte vectors like SPE. | |
4077 | Align 16 byte and larger vectors like Altivec. | |
4078 | (function_arg_advance): Pass any 16 byte vector like Altivec vector. | |
4079 | (function_arg): Same. | |
4080 | (rs6000_pass_by_references): Test TARGET_ALTIVEC_ABI. | |
4081 | ||
4082 | 2004-11-22 Andrew Pinski <pinskia@physics.uc.edu> | |
4083 | ||
4084 | PR tree-opt/18572 | |
4085 | * tree-sra.c (scalarize_init): Unshare the rhs before gimplifying | |
4086 | it. | |
4087 | ||
4088 | 2004-11-22 Richard Henderson <rth@redhat.com> | |
4089 | ||
4090 | * function.c (assign_parm_setup_block): Revert 11-13 change to | |
4091 | forcably re-mode a (possibly BLKmode) hard register. | |
4092 | ||
4093 | 2004-11-22 Eric Botcazou <ebotcazou@libertysurf.fr> | |
4094 | ||
4095 | * config/sparc/sparc.c (mem_min_alignment): Check MEM_ALIGN. | |
4096 | ||
4097 | 2004-11-22 David Edelsohn <edelsohn@gnu.org> | |
4098 | ||
4099 | * config/rs6000/power4.md: Remove delay between dispatch and issue | |
4100 | associated with dispatch group slots 3 and 4. | |
4101 | * config/rs6000/power5.md: Same. | |
4102 | ||
4103 | 2004-11-21 Jeff Law <law@redhat.com> | |
4104 | ||
4105 | * cfg.c (cached_make_edge): Use find_edge rather than an inlined | |
4106 | variant. | |
4107 | * cfgbuild.c (make_edges): Likewise. | |
4108 | * cfghooks.c (can_duplicate_block_p): Likewise. | |
4109 | * cfgloop.c (loop_latch_edge): Likewise. | |
4110 | * cfgloopmanip.c (force_single_succ_latches): Likewise. | |
4111 | * cfgrtl.c (rtl_flow_call_edges_add): Likewise. | |
4112 | * predict.c (predict_loops, propagate_freq): Likewise. | |
4113 | * tracer.c (tail_duplicate): Likewise. | |
4114 | * tree-cfg.c (disband_implicit_edges): Likewise. | |
4115 | (tree_forwarder_block_p, tree_flow_call_edges_add): Likewise. | |
4116 | ||
4117 | 2004-11-22 Nick Clifton <nickc@redhat.com> | |
4118 | ||
4119 | * sbitmap.c (sbitmap_union_of_preds): Remove redundant | |
4120 | initialisation of 'e'. | |
4121 | ||
4122 | 2004-11-22 Kazu Hirata <kazu@cs.umass.edu> | |
4123 | ||
4124 | PR rtl-optimization/18599 | |
4125 | * regrename.c (copyprop_hardreg_forward): Speed up by putting | |
4126 | BB_VISITED flags on basic blocks as we process them. | |
4127 | ||
4128 | 2004-11-22 Nathan Sidwell <nathan@codesourcery.com> | |
4129 | ||
4130 | PR target/18531 | |
4131 | * config/rs6000/altivec.md (VI_char): New mode attribute. | |
4132 | (addv16qi3, addv8hi3, addv4ai3): Replace with ... | |
4133 | (add<mode>3): ... this. | |
4134 | (subv16qi3, subv8hi3, subv4ai3): Replace with ... | |
4135 | (sub<mode>3): ... this. | |
4136 | (smaxv16qi3, smaxv8hi3, smaxv4ai3): Replace with ... | |
4137 | (smax<mode>3): ... this. | |
4138 | (sminv16qi3, sminv8hi3, sminv4ai3): Replace with ... | |
4139 | (smin<mode>3): ... this. | |
4140 | (umaxv16qi3, umaxv8hi3, umaxv4ai3): Replace with ... | |
4141 | (umax<mode>3): ... this. | |
4142 | (uminv16qi3, uminv8hi3, uminv4ai3): Replace with ... | |
4143 | (umin<mode>3): ... this. | |
4144 | (andv16qi3, andv8hi3, andv4ai3): Replace with ... | |
4145 | (and<mode>3): ... this. | |
4146 | (iorv16qi3, iorv8hi3, iorv4ai3): Replace with ... | |
4147 | (ior<mode>3): ... this. | |
4148 | (xorv16qi3, xorv8hi3, xorv4ai3): Replace with ... | |
4149 | (xor<mode>3): ... this. | |
4150 | (andv16qi3, andv8hi3, andv4ai3): Replace with ... | |
4151 | (and<mode>3): ... this. | |
4152 | (iorv16qi3, iorv8hi3, iorv4ai3): Replace with ... | |
4153 | (ior<mode>3): ... this. | |
4154 | (altivec_vnor): Replace with ... | |
4155 | (altivec_nor<mode>): ... this. | |
4156 | (one_cmplv16qi2, one_cmplv8hi2, one_complv4ai2): Replace with ... | |
4157 | (one_cmpl<mode>2): ... this. | |
4158 | (altivec_vandc): New expander. | |
4159 | (*andc<mode>3): New insn. | |
4160 | * config/rs6000/rs6000.c (bdesc_2arg): Adjust for new insn names. | |
4161 | ||
4162 | 2004-11-22 Dorit Naishlos <dorit@il.ibm.com> | |
4163 | ||
4164 | PR tree-opt/18536 | |
4165 | * tree-vectorizer.c (make_loop_iterate_ntimes): Use type of niters when | |
4166 | creating iv instead of integer_type. | |
4167 | (vect_build_loop_niters): Remove redundant code. | |
4168 | (vect_transform_loop_bound): Removed (duplicates functionality of | |
4169 | make_loop_iterate_ntimes. | |
4170 | (vect_gen_niters_for_prolog_loop): Add documentation. Call | |
4171 | lang_hooks.types.type_for_size to create a type of the required size. | |
4172 | Use that type instead of integer_type. Remove redundant code. | |
4173 | (vect_update_niters_after_peeling): Use type of niters instead of | |
4174 | integer_type. | |
4175 | (vect_transform_loop): Unify handling of known and unknown loop bound | |
4176 | cases. Call make_loop_iterate_ntimes instead of | |
4177 | vect_transform_loop_bound. | |
4178 | ||
4179 | 2004-11-22 Andrew Pinski <pinskia@physics.uc.edu> | |
4180 | ||
4181 | PR target/18217 | |
4182 | * config/rs6000/t-darwin (LIB2FUNCS_EXTRA): Move darwin-fallback.c to | |
4183 | (LIB2ADDEH): Here. | |
4184 | ||
4185 | 2004-11-22 Dorit Naishlos <dorit@il.ibm.com> | |
4186 | ||
4187 | PR tree-opt/18544 | |
4188 | * tree-vectorizer.c (vect_analyze_data_refs): Fail if memtag not found. | |
4189 | ||
4190 | 2004-11-22 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com> | |
4191 | ||
4192 | * config.gcc: Use t-slibgcc-elf to build libgcc_s.so on | |
4193 | m32r*linux. | |
4194 | * config/m32r/t-linux (SHLIB_MAPFILES): Override to use | |
4195 | m32r/libgcc-glibc.ver. | |
4196 | * config/m32r/libgcc-glibc.ver: Add New file. | |
4197 | ||
4198 | 2004-11-22 Nathan Sidwell <nathan@codesourcery.com> | |
4199 | ||
4200 | * bitmap.h (struct bitmap_obstack): New obstack type. | |
4201 | (struct bitmap_head_def): Replace using_obstack with obstack | |
4202 | pointer. | |
4203 | (bitmap_default_obstack): New. | |
4204 | (bitmap_initialize): Make inline, does not do allocation. | |
4205 | (bitmap_release_memory): Remove. | |
4206 | (bitmap_obstack_initialize, bitmap_obstack_release): Declare. | |
4207 | (bitmap_obstack_alloc, bitmap_malloc_alloc, bitmap_gc_alloc, | |
4208 | bitmap_obstack_free, bitmap_malloc_free): Declare. | |
4209 | (BITMAP_OBSTACK_ALLOC, BITMAP_GGC_ALLOC, BITMAP_XMALLOC): Adjust. | |
4210 | (BITMAP_FREE): Replace with ... | |
4211 | (BITMAP_OBSTACK_FREE): ... this. | |
4212 | (BITMAP_XFREE): Adjust. | |
4213 | (BITMAP_INIT_ONCE): Remove. | |
4214 | * bitmap.c (bitmap_obstack, bitmap_obstack_init, bitmap_free: Remove. | |
4215 | (bitmap_default_obstack): New. | |
4216 | (bitmap_elem_to_freelist): Adjust. | |
4217 | (bitmap_element_allocate): Adjust. Break initialization into ... | |
4218 | (bitmap_obstack_initialize): ... here. | |
4219 | (bitmap_release_memory): Replace with ... | |
4220 | (bitmap_obstack_release): ... this. | |
4221 | (bitmap_obstack_alloc, bitmap_malloc_alloc, bitmap_gc_alloc, | |
4222 | bitmap_obstack_free, bitmap_malloc_free): New. | |
4223 | (bitmap_ior_and_compl, bitmap_ior_and_compl_into): Use | |
4224 | bitmap_initialize. | |
4225 | (bitmap_initialize): Move to bitmap.h. | |
4226 | * gengtype.c (open_base_files): Add obstack.h to ifiles. | |
4227 | * Makefile.in (BASIC_BLOCK_H, REGS_H): Add obstack.h. | |
4228 | * basic-block.h (INIT_REG_SET): Allocate from reg_obstack. | |
4229 | (INITIALIZE_REG_SET): Remove. | |
4230 | (FREE_REG_SET): Use BITMAP_OBSTACK_FREE. | |
4231 | (INIT_ONCE_REG_SET, MAX_REGNO_REG_SET): Remove. | |
4232 | (flow_obstack): Do not declare. | |
4233 | (reg_obstack): Declare. | |
4234 | * regs.h: Include obstack.h. | |
4235 | * tree-optimize.c (tree_rest_of_compilation): Initialize and | |
4236 | release bitmap obstack here. | |
4237 | * bb-reorder.c: #include regs, not basic-block. | |
4238 | (fix_crossing_conditional_branches): Allocate regsets from | |
4239 | reg_obstack. | |
4240 | * bt-load.c: Do not inlude bitmap.h, sbitmap.h, basic-block.h or | |
4241 | obstack.h. | |
4242 | * caller-save.c: Include regs.h earlier. | |
4243 | * cfg.c: Do not include basic-block.h or obstack.h. | |
4244 | (reg_obstack): Define. | |
4245 | * cfganal.c: Include obstack.h | |
4246 | * cfgcleanyp.c: Do not include basic-block.h. Include regs.h | |
4247 | earlier. | |
4248 | * cfglayout.c: Do not include obstack.h. | |
4249 | (flow_obstack): Remove declaration. | |
4250 | (cfg_layout_duplicate_bb): Use reg_obstack. | |
4251 | * cfgloop.c, cfgloopanal.c, cfgloopmanip.c: Include obstack.h. | |
4252 | * cfgrtl.c (rtl_split_block): Use reg_obstack. | |
4253 | (force_nonfallthru_and_redirect, rtl_split_edge): Likewise. | |
4254 | (safe_insert_insn_on_edge): Use OBSTACK_ALLOC_REG_SET, adjust. | |
4255 | (cfg_layout_split_edge): Use reg_obstack. | |
4256 | * cse.c: Include regs.h earlier. | |
4257 | * ddg.c: Do not include basic-block.h. | |
4258 | * dominance.c: Inlude obstack.h. | |
4259 | * flow.c (update_life_info): Use OBSTACK_ALLOC_REG_SET, adjust. | |
4260 | (calculate_global_regs_live): Likewise. | |
4261 | (allocate_bb_life_data): Use reg_obstack. | |
4262 | (init_propagate_block_info): Use OBSTACK_ALLOC_REGSET. | |
4263 | * global.c: Do not include basic-block.h. | |
4264 | (build_insn_chain): Use OBSTACK_ALLOC_REG_SET, adjust. | |
4265 | * graph.c: Include obstack.h. | |
4266 | * haifa-sched.c: Do not include basic-block.h. | |
4267 | * ifcvt.c: Use OBSTACK_ALLOC_REG_SET, adjust. | |
4268 | * local-alloc.c: Do not include basic-block.h. | |
4269 | * loop-init.c, loop-invariant.c: Include obstack.h. | |
4270 | * loop-iv.c: Likewise. | |
4271 | (simplify_using_initial_values): Use OBSTACK_ALLOC_REG_SET, | |
4272 | adjust. | |
4273 | * loop-unroll.c, loop-unswitch.c: Inlude obstack.h. | |
4274 | * modulo-sched.c: Do not include basic-block.h. | |
4275 | * passes.c (rest_of_handle_final): Do not call | |
4276 | regset_release_memory. | |
4277 | * ra-debug.c: Include regs.h earlier. Do not include | |
4278 | basic-block.h. | |
4279 | * recog.c (peephole2_optimize): Use OBSTACK_ALLOC_REG_SET, adjust. | |
4280 | * regclass.c (init_reg_sets): Do not call INIT_ONCE_REG_SET. | |
4281 | (allocate_reg_info): Do not call MAX_REGNO_REG_SET. | |
4282 | (regset_release_memory): Remove. | |
4283 | * resource.c: Do not include basic-block.h. | |
4284 | * rtlanal.c: Do not include basic-block.h. | |
4285 | * sbitmap.c: Include obstack.h. | |
4286 | * sched-deps.c: Do not include basic-block.h. | |
4287 | (reg_pending_sets_head, reg_pending_clobbers_head, | |
4288 | reg_pending_uses_head): Remove. | |
4289 | (init_deps_global): Use OBSTACK_ALLOC_REG_SET. | |
4290 | * sched-ebb.c: Do not include basic-block.h. | |
4291 | * sched-rgn.c: Likewise. | |
4292 | * tree-if-conv.c (get_loop_body_in_if_conv_order): Use | |
4293 | BITMAP_XFREE. | |
4294 | * tree-outof-ssa.c (perform_edge_inserts): Use BITMAP_XFREE. | |
4295 | * tree-sra.c (decide_instantiations): Adjust bitmap | |
4296 | initialization. | |
4297 | * tree-ssa-dce.c: Include obstack.h. | |
4298 | * tree-ssa-pre.c (grand_bitmap_obstack): Make a bitmap_obstack. | |
4299 | (value_insert_into_set_bitmap): Remove useless bitmap_clear. | |
4300 | (bitmap_set_new): Likewise. | |
4301 | (init_pre): Initialize bitmap obstack. | |
4302 | (fini_pre): Release bitmap obstack. | |
4303 | * tree-ssanames.c (ssa_names_to_rewrite): Make static. | |
4304 | (marked_for_rewrite_p): ssa_names_to_rewrite is never NULL. | |
4305 | (mark_for_rewrite, unmark_for_rewrite): Likewise. | |
4306 | (marked_ssa_names): Likewise. | |
4307 | (init_ssanames): Use BITMAP_XMALLOC. | |
4308 | (fini_ssanames): Use BITMAP_XFREE. | |
4309 | * web.c: Include obstack.h | |
4310 | ||
4311 | 2004-11-22 Nick Clifton <nickc@redhat.com> | |
4312 | ||
4313 | * sbitmap.c (sbitmap_union_of_preds): Set 'e' to the next edge | |
4314 | predecessor in the first for-loop. | |
4315 | ||
4316 | 2004-11-21 Stan Shebs <shebs@apple.com> | |
4317 | ||
4318 | * config/rs6000/rs6000.c: (rs6000_darwin64_function_arg): Add | |
4319 | UNION_TYPE case. | |
4320 | (function_arg): Move darwin test up, sniff mode first for | |
4321 | efficiency, test for union type. | |
4322 | ||
4323 | 2004-11-21 Dale Johannesen <dalej@apple.com> | |
4324 | ||
e8366202 | 4325 | * config/darwin.h (JUMP_TABLES_IN_TEXT_SECTION): Define. |
7a4515d7 SB |
4326 | |
4327 | 2004-11-21 Jeff Law <law@redhat.com> | |
4328 | ||
4329 | * tree-ssa.c (verify_use): Fix comment. | |
4330 | (verify_phi_args): Check that the number of incoming edges matches | |
4331 | the number of PHI arguments. Check that each PHI argument is | |
4332 | either an SSA_NAME or an invariant. Coalesce tests for PHIs for | |
4333 | dead or duplicated edges. Clear e->aux earlier and avoid separate | |
4334 | loop to clear e->aux and test for missed edges. | |
4335 | (verify_ssa): Remove first walk over statements. Move checking | |
4336 | of PHI args into verify_phi_args. Move checking of statements | |
4337 | with aliased stores and V_MAY_DEFS into the remaining loop over | |
4338 | the statements. Register defs by walking through the formal | |
4339 | SSA_NAME table. | |
4340 | ||
4341 | 2004-11-21 Roger Sayle <roger@eyesopen.com> | |
4342 | ||
4343 | PR middle-end/18520 | |
4344 | * dojump.c (compare_from_rtx): Clarify mode argument in function | |
4345 | description. Correct order of mode/cmp_mode arguments in call to | |
4346 | simplify_relational_operation. Check "tem" for COMPARISON_P. | |
4347 | ||
4348 | 2004-11-21 Paolo Bonzini <bonzini@gnu.org> | |
4349 | David Edelsohn <edelsohn@gnu.org> | |
4350 | ||
4351 | PR target/17836 | |
4352 | * config/rs6000/rs6000.c (rs6000_return_in_memory): Return | |
4353 | synthetic vectors in memory. | |
4354 | (function_arg_boundary): Align large synthetic vectors. | |
4355 | (rs6000_pass_by_reference): Pass synthetic vectors in memory. | |
4356 | ||
4357 | 2004-11-21 Jeff Law <law@redhat.com> | |
4358 | ||
4359 | * cfg.c (update_bb_profile_for_threading): Do not rescale the | |
4360 | successor probabilities if they are not going to change. Pull | |
4361 | division out of loop if we do need to rescale successor probabilities. | |
4362 | ||
4363 | * tree-ssa-threadupdate.c (redirection_data_hash): Use the | |
4364 | index of the destination block for the hash value rather than | |
4365 | hashing a pointer. | |
4366 | ||
4367 | 2004-11-20 Joseph S. Myers <joseph@codesourcery.com> | |
4368 | ||
4369 | * c-typeck.c (build_array_ref): Don't check for index == 0. Make | |
4370 | checks for neither argument being an array or pointer (swapping | |
4371 | the arguments if necessary), the array argument being a pointer to | |
4372 | or array of functions and for -Wchar-subscripts warnings upfront. | |
4373 | ||
4374 | 2004-11-20 Jeff Law <law@redhat.com> | |
4375 | ||
4376 | * regrename.c (copyprop_hardreg_forward): Only search for a | |
4377 | previously processed block if the current block only has one | |
4378 | predecessor. | |
4379 | ||
4380 | 2004-11-20 Kazu Hirata <kazu@cs.umass.edu> | |
4381 | ||
4382 | * tree-ssa-threadupdate.c, tree-vectorizer.c: Fix comment | |
4383 | typos. | |
4384 | * config/arm/arm.c: Follow spelling conventions. | |
4385 | ||
4386 | 2004-11-20 Richard Earnshaw <rearnsha@arm.com> | |
4387 | ||
4388 | * arm.c (arm_override_options): Use arm_ld_sched rather than testing | |
4389 | a bit in tune_flags. | |
4390 | (const_double_needs_minipool): Likewise. Split most of the code out | |
4391 | into ... | |
4392 | (arm_const_double_inline_cost): ... new function here. | |
4393 | * arm-protos.h (arm_const_double_inline_cost): Add prototype. | |
4394 | * arm.h (EXTRA_CONSTRAINT_STR_ARM): Add D[abc] constraints for double- | |
4395 | word constants of length 2, 3 and 4 insns respectively. | |
4396 | (CONSTRAINT_LEN): The 'D' prefix is a 2-letter constraint. | |
4397 | * arm.md (arm_movdi, movdf_soft_insn): Add alternatives for D[abc] | |
4398 | constraints. Set insn lenghts accordingly. | |
4399 | ||
4400 | 2004-11-19 Jeff Law <law@redhat.com> | |
4401 | ||
4402 | * tree-ssa-threadupdate.c: Replace REDIRECTION_DATA varray with | |
4403 | a hash table. Extensive modifications throughout to support | |
4404 | that change. | |
4405 | (struct el): New. | |
4406 | (struct local_info): New. | |
4407 | (struct redirection_data): Add new INCOMING_EDGES and DO_NOT_DUPLICATE | |
4408 | fields. | |
4409 | (redirection_data): Now a hashtable. | |
4410 | (redirection_data_hash, redirection_data_eq): New. | |
4411 | (lookup_redirection_data, create_duplicates): New. | |
4412 | (create_edge_and_update_destionation_phis): New. | |
4413 | (fixup_template_block, redirect_edges): New. | |
4414 | (thread_block): Use hash table traversals instead of loops over | |
4415 | varray entries or incoming edge vectors. | |
4416 | ||
4417 | 2004-11-19 Kazu Hirata <kazu@cs.umass.edu> | |
4418 | ||
4419 | * basic-block.h (edge_def): Add dest_idx. | |
4420 | * cfg.c (unchecked_make_edge): Initialize dest_idx. | |
4421 | (remove_edge): Simplify the disconnection of an edge from its | |
4422 | destination. | |
4423 | (redirect_edge_succ): Likewise. | |
4424 | * cfghooks.c (verify_flow_info): Check the consistency of | |
4425 | dest_idx for each edge. | |
4426 | ||
4427 | 2004-11-19 Aldy Hernandez <aldyh@redhat.com> | |
4428 | ||
4429 | * simplify-rtx.c (simplify_ternary_operation): Use | |
4430 | gen_int_mode. | |
4431 | ||
4432 | 2004-11-19 Kazu Hirata <kazu@cs.umass.edu> | |
4433 | ||
4434 | * tree-cfg.c (reinstall_phi_args): New. | |
4435 | (tree_split_edge): Use it after redirecting an edge. Don't | |
4436 | modify PHI_ARG_EDGE. | |
4437 | ||
4438 | 2004-11-19 Andreas Tobler <a.tobler@schweiz.ch> | |
4439 | ||
4440 | * tree-vectorizer.c (slpeel_verify_cfg_after_peeling): Define only | |
4441 | if checking is enabled. | |
4442 | ||
4443 | 2004-11-19 Joseph S. Myers <joseph@codesourcery.com> | |
4444 | ||
4445 | * c-decl.c (push_scope): Remove "\n" from end of diagnostic for | |
4446 | too many nested scopes. | |
4447 | ||
4448 | 2004-11-19 Dorit Naishlos <dorit@il.ibm.com> | |
4449 | ||
4450 | PR tree-opt/18181 | |
4451 | * tree-vectorizer.c (slpeel_tree_peel_loop_to_edge): Peeling scheme | |
4452 | changed to suppoer uses-after-loop and to void creating flow paths | |
4453 | that shouldn't exist. | |
4454 | (slpeel_update_phi_nodes_for_guard): Takes additional two arguments. | |
4455 | Modified to fit the new peeling scheme. Avoid quadratic behavior. | |
4456 | (slpeel_add_loop_guard): Takes additional argument. | |
4457 | (slpeel_verify_cfg_after_peeling): New function. | |
4458 | (vect_update_ivs_after_vectorizer): Takes additional argument. Updated | |
4459 | documentation. Use 'exit-bb' instead of creating 'new-bb'. | |
4460 | (rename_variables_in_bb): Don't update phis for BBs out of loop, to fit | |
4461 | the new peeling scheme. | |
4462 | (copy_phi_nodes): Function removed. Its functionality moved to | |
4463 | update_phis_for_duplicate_loop. | |
4464 | (slpeel_update_phis_for_duplicate_loop): Functionality of copy_phi_nodes | |
4465 | moved here. Added documentation. Modified to fit the new peeling scheme. | |
4466 | (slpeel_make_loop_iterate_ntimes): Setting loop->single_exit not not | |
4467 | needed - done in slpeel_tree_peel_loop_to_edge. | |
4468 | (slpeel_tree_duplicate_loop_to_edge_cfg): Debug printouts compacted. | |
4469 | (vect_do_peeling_for_loop_bound): Add documentation. Call | |
4470 | slpeel_verify_cfg_after_peeling. Call vect_update_ivs_after_vectorizer | |
4471 | with additional argument. | |
4472 | (vect_do_peeling_for_alignment): Call slpeel_verify_cfg_after_peeling. | |
4473 | ||
4474 | (vect_finish_stmt_generation): Avoid 80 column oveflow. | |
4475 | ||
4476 | 2004-11-19 Dorit Naishlos <dorit@il.ibm.com> | |
4477 | ||
4478 | * tree-vectorizer.c (slpeel_make_loop_iterate_ntimes): Last two | |
4479 | arguments removed. | |
4480 | (slpeel_tree_peel_loop_to_edge): Call slpeel_make_loop_iterate_ntimes | |
4481 | without last two arguments. Update single_exit of loops. | |
4482 | (vect_update_niters_after_peeling): Removed. Its functionality was | |
4483 | moved to vect_do_peeling_for_alignment. | |
4484 | (vect_do_peeling_for_loop_bound): New name for function previously | |
4485 | called vect_transform_for_unknown_loop_bound. | |
4486 | (vect_transform_loop_bound): Call slpeel_make_loop_iterate_ntimes | |
4487 | instead of code that duplicates the same functionality. | |
4488 | (vect_do_peeling_for_alignment): Functionality of | |
4489 | vect_update_niters_after_peeling moved here. | |
4490 | (vect_transform_loop): Unify call to vect_do_peeling_for_loop_bound - | |
4491 | previously named vect_transform_for_unknown_loop_bound - for both known | |
4492 | and unknown loop bound cases. | |
4493 | ||
4494 | 2004-11-19 Dorit Naishlos <dorit@il.ibm.com> | |
4495 | ||
4496 | * tree-vectorizer.c (slpeel_can_duplicate_loop_p): New name for function | |
4497 | previously called verify_loop_for_duplication. All conditions compacted | |
4498 | into one compound condition. Removed debug dumps. | |
4499 | (vect_analyze_loop_with_symbolic_num_of_iters): Removed. Some of the | |
4500 | functionality moved to vect_can_advance_ivs_p, and some to | |
4501 | vect_analyze_loop_form. | |
4502 | (vect_can_advance_ivs_p): New function. Contains functionality that was | |
4503 | taken out of vect_analyze_loop_with_symbolic_num_of_iters. | |
4504 | (slpeel_tree_peel_loop_to_edge): Call slpeel_can_duplicate_loop_p. | |
4505 | (vect_analyze_operations): Call vect_can_advance_ivs_p and | |
4506 | slpeel_can_duplicate_loop_p. | |
4507 | (vect_get_loop_niters): Added documentation. | |
4508 | (vect_analyze_loop_form): Check the loop entry always - not only in case | |
4509 | of unknown loop bound. Create preheader and exit bb if necessary. Apply | |
4510 | a check that used to take place in | |
4511 | vect_analyze_loop_with_symbolic_num_of_iters. | |
4512 | (vectorize_loops): Call verify_loop_closed_ssa under ENABLE_CHECKING. | |
4513 | Remove redundant call to rewrite_into_loop_closed_ssa. | |
4514 | (vect_compute_data_refs_alignment): Removed obsolete comment. | |
4515 | ||
4516 | 2004-11-19 Dorit Naishlos <dorit@il.ibm.com> | |
4517 | ||
4518 | * tree-vectorizer.c (slpeel_tree_peel_loop_to_edge): New name for | |
4519 | function previously called tree_duplicate_loop_to_edge. | |
4520 | (slpeel_tree_duplicate_loop_to_edge_cfg): New name for function | |
4521 | previously called tree_duplicate_loop_to_edge_cfg. | |
4522 | (slpeel_update_phis_for_duplicate_loop): Prefix 'slpeel' added to | |
4523 | function name. | |
4524 | (slpeel_update_phi_nodes_for_guard): Likewise. | |
4525 | (slpeel_make_loop_iterate_ntimes): Likewise. | |
4526 | (slpeel_add_loop_guard): Likewise. | |
4527 | (allocate_new_names, free_new_names): Function declaration moved to top | |
4528 | of file. | |
4529 | (rename_use_op, rename_def_op): Likewise. | |
4530 | (rename_variables_in_bb, rename_variables_in_loop): Likewise. | |
4531 | (vect_generate_tmps_on_preheader): Function declaration moved. | |
4532 | (vect_transform_for_unknown_loop_bound): Added missing function | |
4533 | declaration. | |
4534 | ||
4535 | 2004-11-19 Andrew Pinski <pinskia@physics.uc.edu> | |
4536 | ||
4537 | PR tree-opt/18507 | |
4538 | * tree-flow.h (tree_on_heap): Typedef because there is already a VEC(tree). | |
4539 | Define a VEC(tree_on_heap) for head. | |
4540 | (register_new_def): Change second argument to be a VEC(tree_on_heap). | |
4541 | * tree-ssa-dom.c (block_defs_stack): Change to be a VEC(tree_on_heap). | |
4542 | (tree_ssa_dominator_optimize): Initialize block_defs_stack with | |
4543 | the VEC(tree_on_heap) function. Also free it before returning. | |
4544 | (dom_opt_initialize_block): Use VEC_safe_push instead of VARRAY_PUSH_TREE | |
4545 | for block_defs_stack. | |
4546 | (restore_currdefs_to_original_value): Use VEC_length instead of | |
4547 | VARRAY_ACTIVE_SIZE. VEC_pop instead of VARRAY_TOP_TREE/VARRAY_POP. | |
4548 | (dom_opt_finalize_block): Use VEC_safe_push instead of VARRAY_PUSH_TREE | |
4549 | for block_defs_stack. | |
4550 | * tree-into-ssa.c (block_defs_stack): Change to be a VEC(tree_on_heap). | |
4551 | (rewrite_initialize_block): Use VEC_safe_push instead of VARRAY_PUSH_TREE | |
4552 | for block_defs_stack. | |
4553 | (ssa_register_new_def): Likewise. | |
4554 | (ssa_rewrite_initialize_block): Likewise. | |
4555 | (rewrite_finalize_block): Use VEC_length instead of | |
4556 | VARRAY_ACTIVE_SIZE. VEC_pop instead of VARRAY_TOP_TREE/VARRAY_POP. | |
4557 | (ssa_rewrite_finalize_block): Likewise. | |
4558 | (register_new_def): Change second argument to be a VEC(tree_on_heap). | |
4559 | Use VEC_safe_push instead of VARRAY_PUSH_TREE. | |
4560 | (rewrite_blocks): Initialize block_defs_stack with | |
4561 | the VEC(tree_on_heap) function. Also free it before returning. | |
4562 | (rewrite_ssa_into_ssa): Likewise. | |
4563 | ||
4564 | 2004-11-19 Fariborz Jahanian <fjahanian@apple.com> | |
4565 | ||
4566 | * config/darwin.c (machopic_data_defined_p): return 1 for | |
4567 | MACHOPIC_DEFINED_FUNCTION. | |
4568 | ||
4569 | 2004-11-19 Jeff Law <law@redhat.com> | |
4570 | ||
4571 | * tree-ssa.c (verify_ssa): Remove redundant checking of PHI | |
4572 | arguments. | |
4573 | ||
4574 | 2004-11-19 Paul Brook <paul@codesourcery.com> | |
4575 | ||
4576 | PR target/17735 | |
4577 | * varasm.c (default_assemble_integer): Allow pointer-sized values. | |
4578 | Expand comment. | |
4579 | ||
4580 | 2004-11-19 Nick Clifton <nickc@redhat.com> | |
4581 | ||
4582 | * config/stormy16/stormy16.c (combine_bnp): Add code to handle | |
4583 | zero_extension and lshiftrt insns. | |
4584 | Replace uses of XEXP(...) with either SET_DEST() or SET_SRC() | |
4585 | where appropriate. | |
4586 | * config/stormy16.stormy16.md (bclrx3, bsetx3): New patterns | |
4587 | to handle bp and bn insn patterns with a zero_extend rtx | |
4588 | inside them. | |
4589 | ||
4590 | 2004-11-19 Ian Lance Taylor <ian@wasabisystems.com> | |
4591 | ||
4592 | * config/arm/arm.md (generic_sched): Make const. | |
4593 | ||
4594 | 2004-11-19 Kazu Hirata <kazu@cs.umass.edu> | |
4595 | ||
4596 | * emit-rtl.c (classify_insn): Make it static. | |
4597 | * rtl.h: Remove the corresponding prototype. | |
4598 | ||
4599 | * integrate.c (has_func_hard_reg_initial_val, | |
4600 | get_func_hard_reg_initial_val): Make them static. | |
4601 | * integrate.h: Remove the corresponding prototypes. | |
4602 | ||
4603 | 2004-11-19 Ben Elliston <bje@au.ibm.com> | |
4604 | ||
4605 | * dwarf2asm.h (dw2_asm_output_pcel): Stub out with #if 0. | |
4606 | (dw2_asm_output_delta_sleb128): Likewise. | |
4607 | * dwarf2asm.c (dw2_asm_output_pcrel): Likewise. | |
4608 | (dw2_asm_output_delta_sleb128): Likewise. | |
4609 | ||
4610 | 2004-11-19 Adam Nemet <anemet@lnxw.com> | |
4611 | ||
4612 | * tree-ssa-alias.c: Fix comment. | |
4613 | ||
4614 | 2004-11-19 Kazu Hirata <kazu@cs.umass.edu> | |
4615 | ||
4616 | * tree-outof-ssa.c: Fix a comment typo. | |
4617 | ||
4618 | 2004-11-19 Ben Elliston <bje@au.ibm.com> | |
4619 | ||
4620 | * predict.h (predict_insn): Remove extern declaration. | |
4621 | * predict.c (predict_insn): Make static. | |
4622 | ||
4623 | 2004-11-19 Alan Modra <amodra@bigpond.net.au> | |
4624 | ||
4625 | * config/rs6000/rs6000.c (function_arg): Don't return BLKmode regs. | |
4626 | ||
4627 | 2004-11-18 Nicolas Pitre <nico@cam.org> | |
4628 | ||
4629 | * config/arm/arm.c (const_double_needs_minipool): New function to | |
4630 | determine if a CONST_DOUBLE should be pushed to the minipool. | |
4631 | (note_invalid_constants): Use it. | |
4632 | ||
4633 | 2004-11-18 Paul Brook <paul@codesourcery.com> | |
4634 | ||
4635 | * config/arm/arm.c (target_float_switch): New variable.. | |
4636 | (arm_override_options): Use TARGET_DEFAULT_FLOAT_ABI and | |
4637 | target_float_switch. | |
4638 | * config/arm/arm.h (target_float_switch): Declare. | |
4639 | (ARM_FLAG_SOFT_FLOAT): Remove. | |
4640 | (TARGET_SWITCHES): Remove hard-float and soft-float. | |
4641 | (TARGET_OPTIONS): Add hard-float and soft-float. | |
4642 | (TARGET_DEFAULT_FLOAT_ABI): Define. | |
4643 | * config/arm/coff.h (TARGET_DEFAULT_FLOAT_ABI): Define | |
4644 | (TARGET_DEFAULT): Don't use ARM_FLAG_SOFT_FLOAT. | |
4645 | * config/arm/elf.h: Don't use ARM_FLAG_SOFT_FLOAT. | |
4646 | * config/arm/netbsd-elf.h: Ditto. | |
4647 | * config/arm/netbsd.h: Ditto. | |
4648 | * config/arm/pe.h: Ditto. | |
4649 | * config/arm/unknown-elf.h: Ditto. | |
4650 | * config/arm/wince-pe.h: Ditto. | |
4651 | * config/arm/linux-elf.h (TARGET_DEFAULT_FLOAT_ABI): Define. | |
4652 | * config/arm/semi.h (TARGET_DEFAULT_FLOAT_ABI): Define. | |
4653 | * config/arm/semiaof.h (TARGET_DEFAULT_FLOAT_ABI): Define. | |
4654 | ||
4655 | 2004-11-18 Nathan Sidwell <nathan@codesourcery.com> | |
4656 | ||
4657 | * config/rs6000/altivec.md (VI, VF, V): New mode macros. | |
4658 | (altivec_lvx_4si, altivec_lvx_8hi, altivec_lvx_16qi, | |
4659 | altivec_lvx_4sf): Rename and replace with ... | |
4660 | (altivec_lvx_<mode>): ... mode macro version. | |
4661 | (altivec_stvx_4si, altivec_stvx_8hi, altivec_stvx_16qi, | |
4662 | altivec_stvx_4sf): Rename and replace with ... | |
4663 | (altivec_stvx_<mode>): ... mode macro version. | |
4664 | (movv4si, movv8hi, movv16qi, movv4sf}): Replace with ... | |
4665 | (mov<mode>): ... mode macro version. | |
4666 | (*movv4si_internal, *movv8hi_internal1, *movv16qi_internal1, | |
4667 | *movv4sf_internal1): Replace with ... | |
4668 | (*mov<mode>_internal): ... mode macro version. | |
4669 | (get_vrsave_internal, *set_vrsave_internal, *save_world, | |
4670 | *restore_world): Unquote output statements. | |
4671 | * config/rs6000/rs6000.c (altivec_expand_ld_builtin, | |
4672 | altivec_expand_st_builtin): Adjust insn names. | |
4673 | ||
4674 | 2004-11-18 Aldy Hernandez <aldyh@redhat.com> | |
4675 | ||
4676 | * config/rs6000/rs6000.c (rs6000_complex_function_value): Revert | |
4677 | previous change. | |
4678 | (rs6000_override_options): Likewise. | |
4679 | (spe_build_register_parallel): Handle complex doubles on e500v2. | |
4680 | (rs6000_spe_function_arg): Likewise. | |
4681 | (function_arg): Likewise. | |
4682 | (rs6000_function_value): Likewise. | |
4683 | (rs6000_libcall_value): Likewise. | |
4684 | ||
4685 | 2004-11-18 Andrew Pinski <pinskia@physics.uc.edu> | |
4686 | ||
4687 | * ifcvt.c (find_if_block): Move the check for the number of edges | |
4688 | above the loops checking for complex edges. | |
4689 | Remove the counting of edges as we use EDGE_COUNT now. | |
4690 | ||
4691 | 2004-11-18 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.comn> | |
4692 | ||
4693 | * config/m32r/linux.h (TARGET_ASM_FILE_END): Set | |
d9b82651 | 4694 | TARGET_ASM_FILE_END to file_end_indicate_exec_stack. |
7a4515d7 SB |
4695 | |
4696 | 2004-11-18 Andreas Schwab <schwab@suse.de> | |
4697 | ||
4698 | * config/i386/i386.md (define_peephole2): Revert last change. | |
4699 | ||
4700 | 2004-11-18 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.comn> | |
4701 | ||
4702 | * config/m32r/linux.h (TARGET_ASM_FILE_END): Set | |
4703 | TARGET_ASM_FILE_END to file_end_indicate_exec_stack. | |
4704 | ||
4705 | 2004-11-18 Diego Novillo <dnovillo@redhat.com> | |
4706 | ||
4707 | * tree-ssa-propagate.c (ssa_prop_init): Use FOR_ALL_BB instead | |
4708 | of FOR_EACH_BB. | |
4709 | ||
4710 | 2004-11-18 Jon Grimm <jgrimm2@us.ibm.com> | |
4711 | ||
4712 | * Makefile.in (macro_list): Depend on s-macro_list. | |
4713 | (s-macro_list): New target. | |
4714 | ||
4715 | 2004-11-18 Nathan Sidwell <nathan@codesourcery.com> | |
4716 | ||
4717 | PR target/17107 | |
4718 | * fold-const.c (RANGE_TEST_NON_SHORT_CIRCUIT): Rename to ... | |
4719 | (LOGICAL_OP_NON_SHORT_CIRCUIT): ... here. | |
4720 | (fold_range_test): Adjust. | |
4721 | (fold_truthop): Use it. | |
4722 | * config/rs6000/rs6000.h (RANGE_TEST_NON_SHORT_CIRCUIT): Rename to ... | |
4723 | (LOGICAL_OP_NON_SHORT_CIRCUIT): ... here. | |
4724 | ||
4725 | 2004-11-18 Uros Bizjak <uros@kss-loka.si> | |
4726 | ||
4727 | * configure/i386/i386.md (*fix_trunch_1): Add "&& 1" to | |
4728 | insn split constraint. | |
4729 | (define_peephole2): Remove unneeded "&& 1" from peephole2 | |
4730 | constraints. | |
4731 | ||
4732 | 2004-11-18 Ben Elliston <bje@au.ibm.com> | |
4733 | ||
4734 | * doc/cfg.texi (Maintaining the CFG): Remove duplicated @item | |
4735 | element for bsi_prev; use @findex instead. | |
4736 | ||
4737 | 2004-11-18 Ben Elliston <bje@au.ibm.com> | |
4738 | ||
4739 | * opts.h (add_input_filename): Remove extern declaration. | |
4740 | * opts.c (add_input_filename): Make static. | |
4741 | ||
4742 | 2004-11-17 Mark Mitchell <mark@codesourcery.com> | |
4743 | ||
4744 | * config/i386/i386.c (i386_solaris_elf_named_section): Mark with | |
4745 | ATTRIBUTE_UNUSED. | |
4746 | ||
4747 | 2004-11-17 Zack Weinberg <zack@codesourcery.com> | |
4748 | ||
4749 | * defaults.h, config/darwin.h: Don't define TARGET_SUPPORTS_HIDDEN. | |
4750 | * system.h: Poison it. | |
4751 | * doc/tm.texi: Delete its documentation. | |
4752 | ||
4753 | 2004-11-18 Daniel Jacobowitz <dan@codesourcery.com> | |
4754 | Mark Mitchell <mark@codesourcery.com> | |
4755 | ||
4756 | * config/i386/sol2-10.h, config/i386/t-sol2-10: New files. | |
4757 | * config/i386/i386.c (i386_solaris_elf_named_section): New | |
4758 | function. | |
4759 | * config.gcc (i[34567]86-*-solaris2*): Handle Solaris 2.10. | |
4760 | * config/i386/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Handle | |
4761 | 64-bit. | |
4762 | (ASM_QUAD): Don't undefine for biarch targets. | |
4763 | * config/i386/t-sol2: Introduce multilib support. | |
4764 | ||
4765 | 2004-11-18 Ben Elliston <bje@au.ibm.com> | |
4766 | ||
4767 | * cgraphunit.c: Replace "it's" with "its" and fix a typo. | |
4768 | ||
4769 | 2004-11-18 Ben Elliston <bje@au.ibm.com> | |
4770 | ||
4771 | * cgraph.h: Replace "it's" with "its" throughout. | |
4772 | ||
4773 | 2004-11-18 Ben Elliston <bje@au.ibm.com> | |
4774 | ||
4775 | * doc/rtl.texi (Flags): Grammar fix. | |
4776 | ||
4777 | 2004-11-17 Kazu Hirata <kazu@cs.umass.edu> | |
4778 | ||
4779 | * expmed.c (alg_code): Add alg_unknown. | |
4780 | (alg_hash_entry): New. | |
4781 | (NUM_ALG_HASH_ENTRIES): Likewise. | |
4782 | (alg_hash): Likewise. | |
4783 | (synth_mult): Cache the result into alg_hash. | |
4784 | ||
4785 | 2004-11-17 Zack Weinberg <zack@codesourcery.com> | |
4786 | ||
4787 | * config/rs6000/t-darwin: Augment SHLIB_MAPFILES with | |
4788 | config/rs6000/libgcc-ppc64.ver. | |
4789 | ||
4790 | 2004-11-17 Kazu Hirata <kazu@cs.umass.edu> | |
4791 | ||
4792 | * cfgrtl.c (rtl_verify_flow_info): Don't use INSN_P when | |
4793 | checking if an unconditional return is followed by a barrier. | |
4794 | ||
4795 | * jump.c (condjump_p): Remove unreachable code. | |
4796 | ||
4797 | * basic-block.h, c-common.h, df.h, expr.h, output.h, rtl.h, | |
4798 | tree-chrec.h, tree-flow.h, tree-scalar-evolution.h, | |
4799 | tree-ssa-live.h, tree.h: Remove unused prototypes. | |
4800 | ||
4801 | 2004-11-17 Jeff Law <law@redhat.com> | |
4802 | ||
4803 | * tree-cfg.c (edge_to_cases): Renamed from edge_to_case_leader. | |
4804 | (edge_to_cases_elt): Renamed from edge_to_case_leader. | |
4805 | (edge_to_cases_hash): Renamed from edge_to_case_leader_hash. | |
4806 | (edge_to_cases_eq): Renamed from edge_to_case_leader_eq. | |
4807 | (edge_to_cases_cleanup, recording_case_labels_p): New functions. | |
4808 | (get_cases_for_edge): New function. | |
4809 | (start_recording_case_labels, end_recording_case_labels): Similarly. | |
4810 | (record_switch_edge): Don't muck with the CASE_LABEL. Instead | |
4811 | chain equivalent CASE_LABEL_EXPRs together. | |
4812 | (get_case_leader_for_edge, get_case_leader_for_edge_hash): Kill. | |
4813 | (make_switch_expr_edges): Do not record edge/cases here. | |
4814 | (cleanup_tree_cfg): Record cases around the call to thread_jumps. | |
4815 | (split_critical_edges): Record cases around the edge splitting code. | |
4816 | (cleanup_dead_labels): Use CASE_LABEL again. | |
4817 | (tree_redirect_edge_and_branch): If we have a mapping from edge | |
4818 | to cases, use it to handle redirections. Else do it the slow way. | |
4819 | * tree.h (CASE_LEADER_OR_LABEL): Kill. | |
4820 | (CASE_LABEL): Revert to just looking at the tree's second operand. | |
4821 | * tree.c (get_case_label): Kill. | |
4822 | ||
4823 | 2004-11-17 Diego Novillo <dnovillo@redhat.com> | |
4824 | ||
4825 | PR tree-optimization/18307 | |
4826 | * tree-ssa-alias.c (merge_pointed_to_info): ICE if 'dest' and | |
4827 | 'orig' are the same node. | |
4828 | (collect_points_to_info_r): Do not call merge_pointed_to_info | |
4829 | when the PHI argument is identical to the LHS. | |
4830 | ||
4831 | 2004-11-17 Steven Bosscher <stevenb@suse.de> | |
4832 | ||
4833 | * tree-ssa-propagate.c (cfg_blocks_add): Assert we're not trying | |
4834 | to insert the exit or entry block. | |
4835 | (ssa_prop_init): Use add_control_edge to seed the algorithm. | |
4836 | ||
4837 | 2004-11-16 Zack Weinberg <zack@codesourcery.com> | |
4838 | ||
4839 | * mkmap-flat.awk, mkmap-symver.awk: If the last version | |
4840 | assigned to a symbol was '%exclude', do not emit it anywhere. | |
4841 | If leading_underscore is true, prefix all symbols from the | |
4842 | version scripts with a leading underscore before comparing | |
4843 | them with nm output or emitting them. Remove support for dot | |
4844 | symbols. | |
4845 | * config/t-slibgcc-darwin (SHLIB_LINK): Use mkmap-flat.awk. | |
4846 | (SHLIB_MAPFILES): Use libgcc-std.ver. | |
4847 | (SHLIB_MKMAP_OPTS): Enable leading-underscore mode. | |
4848 | (SHLIB_LINK): Add -Wl,-exported_symbols_list,$(SHLIB_MAP). | |
4849 | * config/sh/t-linux: Use the normal libgcc-std.ver, plus | |
4850 | libgcc-excl.ver and libgcc-glibc.ver. | |
4851 | ||
4852 | * config/sh/libgcc-excl.ver: New file. | |
4853 | * config/sh/libgcc-std.ver, libgcc-darwin.ver: Delete. | |
4854 | ||
4855 | 2004-11-16 Daniel Berlin <dberlin@dberlin.org> | |
4856 | ||
4857 | * lambda-code.c (lambda_loopnest_to_gcc_loopnest): Swap | |
4858 | the test when the edge has the opposite meaning, not when | |
4859 | the first argument is invariant. | |
4860 | ||
4861 | 2004-11-16 Aldy Hernandez <aldyh@redhat.com> | |
4862 | ||
4863 | * config/rs6000/rs6000.c (rs6000_override_options): Split e500v2 | |
4864 | doubles. | |
4865 | (rs6000_complex_function_value): Handle e500 v2 variant. | |
4866 | ||
4867 | 2004-11-16 Daniel Berlin <dberlin@dberlin.org> | |
4868 | ||
4869 | Fix PR tree-optimization/18519 | |
4870 | ||
4871 | * tree-optimize (execute_todo): Add case for TODO_cleanup_cfg. | |
4872 | * tree-pass.h: Add TODO_cleanup_cfg. | |
4873 | * tree-ssa-ccp.c (pass_ccp): Use TODO_cleanup_cfg. | |
4874 | (ccp_finalize): Remove call to cleanup_cfg. | |
4875 | * tree-ssa-dce.c (pass_dce): Use TODO_cleanup_cfg and TODO_dump_func. | |
4876 | (pass_cd_dce): Ditto. | |
4877 | (perform_tree_ssa_dce): Remove call to cleanup_cfg, | |
4878 | dump_function_to_file. | |
4879 | * tree-ssa-loop-ch.c (copy_loop_headers): Remove call | |
4880 | to cleanup_cfg. | |
4881 | (pass_ch): Add TODO_cleanup_cfg. | |
4882 | * tree-ssa-loop.c (tree_ssa_loop_done): Remove call to | |
4883 | cleanup_cfg. | |
4884 | (pass_loop_done): Add TODO_cleanup_cfg. | |
4885 | * tree-ssa-phiopt.c (pass_phiopt): Ditto. | |
4886 | (tree_ssa_phiopt): Remove call to cleanup_cfg. | |
4887 | ||
4888 | 2004-11-16 Devang Patel <dpatel@apple.com> | |
4889 | ||
4890 | * optabs.c (vector_compare_rtx): Fix COMPARISON_CLASS_P use. | |
4891 | ||
4892 | 2004-11-16 Kazu Hirata <kazu@cs.umass.edu> | |
4893 | ||
4894 | * expmed.c, ra-colorize.c: Fix comment typos. | |
4895 | ||
4896 | * doc/tm.texi: Fix typos. | |
4897 | ||
4898 | 2004-11-16 Daniel Jacobowitz <dan@codesourcery.com> | |
4899 | Mark Mitchell <mark@codesourcery.com> | |
4900 | ||
4901 | PR target/6123 | |
4902 | * config/sol2.h (TARGET_OS_CPP_BUILTINS): Define __PIC__ and | |
4903 | __pic__ if PIC. | |
4904 | ||
4905 | 2004-11-16 Ulrich Weigand <uweigand@de.ibm.com> | |
4906 | ||
4907 | * regmove.c (regmove_optimize): Use lowpart_subreg instead of | |
4908 | gen_rtx_SUBREG with incorrect offset to compute SRC_SUBREG. | |
4909 | ||
4910 | 2004-11-16 Devang Patel <dpatel@apple.com> | |
4911 | ||
4912 | * tree-if-conv.c (clean_predicate_lists): Update gcc_assert check. | |
4913 | ||
4914 | 2004-11-16 Eric Christopher <echristo@redhat.com> | |
4915 | ||
4916 | * config/mips/mips.c: Use rtl _P predicates. | |
4917 | * config/mips/mips.h: Ditto. | |
4918 | * config/mips/mips.md: Ditto. | |
4919 | ||
4920 | 2004-11-16 Fariborz Jahanian <fjahanian@apple.com> | |
4921 | ||
4922 | * config/rs6000/altivec.md (altivec_vandc): Canonicalize | |
4923 | the pattern. | |
4924 | ||
4925 | 2004-11-16 Andreas Krebbel <krebbel1@de.ibm.com> | |
4926 | ||
4927 | * config/s390/s390.c (s390_cc_modes_compatible): New function. | |
4928 | (TARGET_CC_MODES_COMPATIBLE): Target macro defined. | |
4929 | ||
4930 | 2004-11-16 Kaz Kojima <kkojima@gcc.gnu.org> | |
4931 | ||
4932 | PR target/18447 | |
4933 | * config/sh/sh.c (prepare_move_operands): Emit blockage insns | |
4934 | before and after the insns for getting GOT address in non-PIC | |
4935 | TLS_MODEL_INITIAL_EXEC tls sequence when the first scheduling | |
4936 | is enabled. | |
4937 | ||
4938 | 2004-11-16 Andreas Krebbel <krebbel1@de.ibm.com> | |
4939 | ||
a1d1988f | 4940 | * cse.c (struct change_cc_mode_args): New structure. |
7a4515d7 SB |
4941 | (cse_change_cc_mode_insn): New function. |
4942 | (cse_change_cc_mode): Use validate_change to perfom changes. | |
4943 | (cse_change_cc_mode_insns, cse_condition_code_reg): | |
4944 | Call cse_change_cc_mode_insn. | |
4945 | ||
4946 | 2004-11-16 Steven Bosscher <stevenb@suse.de> | |
4947 | ||
4948 | * stack.h: Remove. | |
4949 | ||
4950 | 2004-11-16 Steven Bosscher <stevenb@suse.de> | |
4951 | ||
4952 | * config/i386/i386.c (x86_schedule): Fix typo, m_K6 intead of m_K8. | |
4953 | ||
4954 | 2004-11-15 Dale Johannesen <dalej@apple.com> | |
4955 | ||
e8366202 | 4956 | * tree-flow.h (add_referenced_temp_var): Remove name from prototype. |
7a4515d7 SB |
4957 | |
4958 | 2004-11-15 Dale Johannesen <dalej@apple.com> | |
4959 | ||
e8366202 | 4960 | * profile.c (compute_branch_probabilities): Prevent |
7a4515d7 SB |
4961 | crash with EH in RTL-based profiling. |
4962 | ||
4963 | 2004-11-16 Kazu Hirata <kazu@cs.umass.edu> | |
4964 | ||
4965 | * tree-cfg.c (verify_expr): Replace TREE_OPERAND with | |
4966 | COND_EXPR_COND. | |
4967 | * tree-if-conv.c (tree_if_convert_cond_expr): Likewise. | |
4968 | * tree-ssa-dom.c (thread_across_edge): Likewise. | |
4969 | * tree-vectorizer.c (vect_transform_loop_bound): Replace | |
4970 | TREE_OPERAND with COND_EXPR_COND, COND_EXPR_THEN, or | |
4971 | COND_EXPR_ELSE. | |
4972 | ||
4973 | * tree-cfg.c (bsi_commit_edge_inserts): Remove an argument. | |
4974 | (tree_flow_call_edges_add): Update the call to | |
4975 | bsi_commit_edge_inserts. | |
4976 | * lambda-code.c (lambda_loopnest_to_gcc_loopnest): Likewise. | |
4977 | * profile.c (branch_prob): Likewise. | |
4978 | * tree-mudflap.c (mf_decl_cache_locals): Likewise. | |
4979 | * tree-sra.c (scalarize_function): Likewise. | |
4980 | * tree-ssa-loop-im.c (loop_commit_inserts): Likewise. | |
4981 | * tree-ssa-pre.c (fini_pre): Likewise. | |
4982 | * tree-flow.h: Update the prototype for | |
4983 | bsi_commit_edge_inserts. | |
4984 | ||
4985 | 2004-11-15 Eric Christopher <echristo@redhat.com> | |
4986 | ||
4987 | * sched-deps.c (set_sched_group_p): Delete. | |
4988 | (delete_all_dependencies): New function. | |
4989 | (fixup_sched_groups): Use. New function. | |
4990 | (sched_analyze_insn): Use. | |
4991 | ||
4992 | 2004-11-15 Joseph S. Myers <joseph@codesourcery.com> | |
4993 | ||
4994 | * c-common.c (binary_op_error): Don't allow LROTATE_EXPR, | |
4995 | RROTATE_EXPR or unknown code. | |
4996 | * c-typeck.c (build_binary_op): Don't allow RROTATE_EXPR, | |
4997 | LROTATE_EXPR, MAX_EXPR, MIN_EXPR, UNORDERED_EXPR, ORDERED_EXPR, | |
4998 | UNLT_EXPR, UNLE_EXPR, UNGT_EXPR, UNGE_EXPR, UNEQ_EXPR, LTGT_EXPR | |
4999 | or unknown code. | |
5000 | ||
5001 | 2004-11-15 Joseph S. Myers <joseph@codesourcery.com> | |
5002 | ||
5003 | PR c/18498 | |
5004 | * c-decl.c (grokdeclarator): Call check_bitfield_type_and_width | |
5005 | after processing the declarator. | |
5006 | ||
5007 | 2004-11-15 Aldy Hernandez <aldyh@redhat.com> | |
5008 | ||
5009 | * config/rs6000/altivec.md ("altivec_vsplth"): Rewrite with | |
5010 | vec_duplicate. | |
5011 | (altivec_vspltb): Same. | |
5012 | (altivec_vspltw): Same. | |
5013 | (altivec_vspltisb): Same. | |
5014 | (altivec_vspltish): Same. | |
5015 | (altivec_vspltisw): Same. | |
5016 | (altivec_vspltisw_v4sf): Same. | |
5017 | (define_constants): Remove UNSPEC_VSPLTISB, UNSPEC_VSPLTISW, | |
5018 | UNSPEC_VSPLTISH. | |
5019 | Move "End of vector xor's" comment to the right place. | |
5020 | ||
5021 | 2004-11-15 Steve Ellcey <sje@cup.hp.com> | |
5022 | ||
e8366202 | 5023 | * config/ia64/ia64.md (*movtf_internal): Use destination_operand |
7a4515d7 SB |
5024 | instead of nonimmediate_operand. |
5025 | ||
5026 | 2004-11-15 Mark Mitchell <mark@codesourcery.com> | |
5027 | ||
5028 | * config/i386/sol2.h (ASM_OUTPUT_CALL): Use print_operand. | |
5029 | * config/sparc/sol2.h (ASM_OUTPUT_CALL): Likewise. | |
5030 | * config/sol2.c (solaris_output_init_fini): Update calls to | |
5031 | ASM_OUTPUT_CALL. Include "rtl.h". | |
5032 | ||
5033 | 2004-11-15 Mark Mitchell <mark@codesourcery.com> | |
5034 | ||
5035 | * config/sol2-c.c (cmn_err_char_table): Add "p". | |
5036 | ||
5037 | 2004-11-15 Mark Mitchell <mark@codesourcery.com> | |
5038 | ||
5039 | * config/sparc/sol2.h (SUPPORTS_INIT_PRIORITY): Remove. | |
5040 | * config/sol2.h (SUPPORTS_INIT_PRIORITY): Define here. | |
5041 | ||
5042 | 2004-11-15 Mark Mitchell <mark@codesourcery.com> | |
5043 | ||
5044 | * config/t-slibgcc-sld (SHLIB_LINK): Make symlinks entirely | |
5045 | within the multilib directory. | |
5046 | ||
5047 | 2004-11-15 Nick Clifton <nickc@redhat.com> | |
5048 | ||
5049 | * config/stormy16/stormy16.h (TARGET_CPU_CPP_BUILTINS): Add | |
5050 | builtin assert of cpu=xstormy16. | |
5051 | ||
5052 | 2004-11-15 Nathan Sidwell <nathan@codesourcery.com> | |
5053 | ||
5054 | * tree-ssa-pre.c (bitmap_print_value_set): Fix uninitialized | |
5055 | variable. | |
5056 | ||
5057 | 2004-11-14 Richard Henderson <rth@redhat.com> | |
5058 | ||
5059 | PR 18480 | |
5060 | * calls.c (struct arg_data): Add parallel_value. | |
5061 | (precompute_register_parameters): Set it. | |
5062 | (load_register_parameters): Use it. | |
5063 | (store_one_arg): Also set it here. | |
5064 | ||
5065 | 2004-11-14 Zdenek Dvorak <dvorakz@suse.cz> | |
5066 | ||
5067 | PR tree-optimization/18431 | |
5068 | * fold-const.c (associate_trees): Do not produce x + 0. | |
5069 | (fold_widened_comparison, fold_sign_changed_comparison): New functions. | |
5070 | (fold): Use them. | |
5071 | * tree-ssa-loop-niter.c (upper_bound_in_type, lower_bound_in_type): | |
5072 | Moved ... | |
5073 | * tree.c (upper_bound_in_type, lower_bound_in_type): Here. | |
5074 | * tree.h (upper_bound_in_type, lower_bound_in_type): Declare. | |
5075 | ||
5076 | 2004-11-14 Eric Botcazou <ebotcazou@libertysurf.fr> | |
5077 | ||
5078 | * doc/rtl.texi (SUBREG): Adjust BYTENUM value in example. | |
5079 | ||
5080 | 2004-11-14 Kazu Hirata <kazu@cs.umass.edu> | |
5081 | ||
5082 | * cfgrtl.c, global.c, tree-ssa-copy.c, tree-ssa-loop-ivopts.c, | |
5083 | value-prof.c: Fix comment typos. | |
5084 | ||
5085 | 2004-11-14 Stan Shebs <shebs@apple.com> | |
5086 | ||
5087 | Basic ABI changes for passing structs by value in 64-bit Darwin. | |
5088 | * config/rs6000/rs6000.c (rs6000_darwin64_abi): New flag. | |
5089 | (rs6000_override_options): Set it for 64-bit Darwin. | |
5090 | (rs6000_parse_abi_options): Add testing options to change it. | |
5091 | (rs6000_return_in_memory): Test whether the type is one | |
5092 | that can be passed in registers. | |
5093 | (darwin64_function_arg_advance): New. | |
5094 | (function_arg_advance): Call it, plus add recursion depth | |
5095 | argument and test when counting off arguments. | |
5096 | (rs6000_darwin64_function_arg): New. | |
5097 | (function_arg): Call it. | |
5098 | (setup_incoming_varargs): Add argument to function_arg_advance. | |
5099 | (rs6000_darwin64_function_value): New. | |
5100 | (rs6000_function_value): Call it. | |
5101 | * config/rs6000/rs6000.h (FUNCTION_ARG_ADVANCE): Pass depth arg. | |
5102 | * config/rs6000/rs6000-protos.h: Update decl of | |
5103 | function_arg_advance. | |
5104 | ||
5105 | 2004-11-14 Andrew Pinski <pinskia@physics.uc.edu> | |
5106 | ||
5107 | PR c/17279 | |
5108 | * c-common.c (c_common_nodes_and_builtins): Ask the back-end if we | |
5109 | support TImode before adding __int128_t and __uint128_t types. | |
5110 | ||
5111 | 2004-11-14 Dorit Naishlos <dorit@il.ibm.com> | |
5112 | ||
5113 | PR tree-opt/18400 | |
5114 | * tree-vectorizer.c (make_loop_iterate_ntimes): Set loop->nb_iterations. | |
5115 | (vect_transform_loop_bound): Set loop->nb_iterations. | |
5116 | ||
5117 | 2004-11-14 Dorit Naishlos <dorit@il.ibm.com> | |
5118 | Andrew Pinski <pinskia@physics.uc.edu> | |
5119 | ||
5120 | PR tree-opt/18425 | |
5121 | * tree-vectorize.c (vect_build_loop_niters): Do not insert | |
5122 | NULL into the instruction stream. Initialize new_bb to NULL. | |
5123 | (vect_update_ivs_after_vectorizer): Likewise. | |
5124 | (vect_gen_niters_for_prolog_loop): Likewise. | |
5125 | ||
5126 | 2004-11-14 Zdenek Dvorak <dvorakz@suse.cz> | |
5127 | ||
5128 | PR tree-optimization/18431 | |
5129 | * tree-flow.h (stmt_references_memory_p): Declare. | |
5130 | * tree-ssa-loop-im.c (stmt_cost): Use stmt_references_memory_p. | |
5131 | * tree-ssa.c (stmt_references_memory_p): New function. | |
5132 | ||
5133 | 2004-11-14 Andreas Schwab <schwab@suse.de> | |
5134 | ||
5135 | * Makefile.in (lambda-code.o, tree-loop-linear.o): Depend on | |
5136 | $(EXPR_H). | |
5137 | ||
5138 | 2004-11-14 Kazu Hirata <kazu@cs.umass.edu> | |
5139 | ||
5140 | * c-common.c (walk_stmt_tree): Remove. | |
5141 | * c-common.h: Remove the corresponding prototype. | |
5142 | ||
5143 | * emit-rtl.c (push_to_full_sequence): Remove. | |
5144 | * rtl.h: Remove the corresponding prototype. | |
5145 | ||
5146 | * cselib.c, expr.c: Fix comment typos. | |
5147 | ||
5148 | 2004-11-13 Richard Henderson <rth@redhat.com> | |
5149 | ||
5150 | * calls.c (precompute_register_parameters): Force all PARALLELs | |
5151 | into pseudo registers. | |
5152 | (load_register_parameters): Copy PARALLELs into hard registers. | |
5153 | * function.c (assign_parm_setup_block): Copy PARALLELS into | |
5154 | pseudo registers. Do emit_group_store in conversion_insns. | |
5155 | * expr.c (emit_group_load_1): Rename from emit_group_load, take | |
5156 | tmps as an argument. Move final copy loop ... | |
5157 | (emit_group_load): ... here. New function. | |
5158 | (emit_group_load_into_temps, emit_group_move_into_temps): New. | |
5159 | * expr.h: Declare them. | |
5160 | ||
5161 | 2004-11-14 Kazu Hirata <kazu@cs.umass.edu> | |
5162 | ||
5163 | * tree-cfg.c, tree-if-conv.c, tree-ssa-loop-ivopts.c, | |
5164 | tree-ssa-loop-manip.c, tree-vectorizer.c: Replace TREE_CHAIN | |
5165 | with PHI_CHAIN where appropriate. | |
5166 | ||
5167 | 2004-11-13 Dale Johannesen <dalej@apple.com> | |
5168 | ||
5169 | * tree-flow.h (bsi_commit_one_edge_insert): Remove name from prototype. | |
5170 | (tree_block_label): Ditto. | |
5171 | (flush_pending_stmts): Ditto. | |
5172 | (insert_edge_copies): Ditto. | |
5173 | (expr_invariant_in_loop_p): Ditto. | |
5174 | (TDF_USE_OPS): Parenthesize definition. | |
5175 | (TDF_USE_VOPS): Ditto. | |
5176 | ||
5177 | 2004-11-13 David Edelsohn <edelsohn@gnu.org> | |
5178 | ||
5179 | * config/rs6000/aix51.h (ASM_CPU_SPEC): Add 970 and G5. | |
5180 | * config/rs6000/aix52.h (ASM_CPU_SPEC): Same. | |
5181 | (atoll): Declare. | |
5182 | * config/rs6000/t-aix52 (BOOT_LDFLAGS): Define. | |
5183 | ||
5184 | 2004-11-14 Joseph Myers <joseph@codesourcery.com> | |
5185 | ||
5186 | * config/i386/i386.c (override_options): Move loop to set default | |
5187 | tuning to correct place. | |
5188 | ||
5189 | 2004-11-13 Zak Kipling <zak@transversal.com> | |
5190 | ||
5191 | PR target/18300 | |
5192 | * config/i386/i386.c (classify_argument): Fix infinite loop when | |
5193 | passing object with 3 or more base classes by value. | |
5194 | ||
5195 | 2004-11-13 Eric Botcazou <ebotcazou@libertysurf.fr> | |
5196 | ||
5197 | * doc/md.texi (constraints) <% modifier>: Mention that it is | |
5198 | useless when the two alternatives are strictly identical. | |
5199 | ||
5200 | 2004-11-13 Richard Henderson <rth@redhat.com> | |
5201 | ||
5202 | * expmed.c (extract_split_bit_field): Temporarily disable call to | |
5203 | extract_force_align_mem_bit_field. | |
5204 | ||
5205 | 2004-11-13 Kazu Hirata <kazu@cs.umass.edu> | |
5206 | ||
5207 | * bitmap.c, bitmap.h, expmed.c, tree-cfg.c: Fix comment | |
5208 | formatting. | |
5209 | ||
5210 | * c-cppbuiltin.c, cgraph.c, domwalk.h, except.c, gimplify.c, | |
5211 | lambda-code.c, postreload.c, predict.c, tree-sra.c, | |
5212 | tree-ssa-loop-manip.c, tree.c: Fix comment typos. | |
5213 | ||
5214 | 2004-11-13 Kelley Cook <kcook@gcc.gnu.org> | |
5215 | ||
5216 | * doc/install.texi (automake): Correctly document that everything now | |
5217 | will use automake 1.9.3. | |
5218 | ||
5219 | 2004-11-13 Hans-Peter Nilsson <hp@bitrange.com> | |
5220 | ||
5221 | PR target/18347 | |
5222 | * config/mmix/mmix.c (mmix_function_outgoing_value): Handle | |
5223 | TImode. Sorry for other non-complex larger-than-64-bit modes. | |
5224 | * config/mmix/mmix.h (MIN_UNITS_PER_WORD): Do not define. | |
5225 | ||
5226 | 2004-11-13 Kelley Cook <kcook@gcc.gnu.org> | |
5227 | ||
5228 | * doc/install.texi (automake): Document that everything now uses 1.9. | |
5229 | ||
5230 | 2004-11-13 Bernd Schmidt <bernd.schmidt@analog.com> | |
5231 | ||
5232 | * cse.c (cse_insn): Stores in a libcall sequence can invalidate | |
5233 | previous loads. | |
5234 | ||
5235 | 2004-11-13 Kazu Hirata <kazu@cs.umass.edu> | |
5236 | ||
5237 | * tree.h: Fix comment typos. | |
5238 | ||
5239 | 2004-11-13 Steven Bosscher <stevenb@suse.de> | |
5240 | ||
5241 | * cse.c (CHEAP_REGNO): Redefine using REGNO_PTR_FRAME_P and | |
5242 | HARD_REGISTER_NUM_P. | |
5243 | ||
5244 | * cselib.c (new_cselib_val): Make comment correct and more detailed. | |
5245 | * flow.c (mark_set_1): Likewise. | |
5246 | ||
5247 | * except.c (duplicate_eh_region_1, duplicate_eh_region_2, | |
5248 | duplicate_eh_regions): Remove. | |
5249 | * except.h (duplicate_eh_regions): Remove prototype. | |
5250 | * integrate.c (get_label_from_map, copy_rtx_and_substitute, | |
5251 | global_const_equiv_varray): Remove. | |
5252 | * integrate.h (get_label_from_map, copy_rtx_and_substitute, | |
5253 | global_const_equiv_varray, set_label_in_map): Remove prototypes, | |
5254 | extern declaration, and #define. | |
5255 | (MAYBE_EXTEND_CONST_EQUIV_VARRAY, SET_CONST_EQUIV_DATA): Remove. | |
5256 | (struct inline_remap): Remove. | |
5257 | * varray.c (struct element): Remove entry for const_equiv_data. | |
5258 | * varray.h (struct const_equiv_data): Remove. | |
5259 | (enum varray_data_enum) <VARRAY_DATA_CONST_EQUIV>: Remove. | |
5260 | (union varray_data_tag) <const_equiv>: Remove. | |
5261 | (VARRAY_CONST_EQUIV_INIT, VARRAY_CONST_EQUIV, | |
5262 | VARRAY_PUSH_CONST_EQUIV, VARRAY_TOP_CONST_EQUIV): Remove. | |
5263 | ||
5264 | * regstack.c (record_label_references): Remove unused function. | |
5265 | ||
5266 | * rtl.def (VALUE): Update comment. | |
5267 | (LABEL_REF): Remove unused operand 2. | |
5268 | * rtl.h (struct rtx_def): Update for removed accessor macros. | |
5269 | (XCADVFLAGS, INSN_DEAD_CODE_P, LINE_NUMBER, CONTAINING_INSN, | |
5270 | REG_LOOP_TEST_P): Remove. | |
5271 | (ADDR_DIFF_VEC_FLAGS, CSELIB_VAL_PTR, LABEL_NEXTREF): Add comments. | |
5272 | * web.c (entry_register): Don't copy REG_LOOP_TEST_P. | |
5273 | * doc/rtl.texi (INSN_DEAD_CODE_P, REG_LOOP_TEST_P): Remove. | |
5274 | ||
5275 | 2004-11-13 James A. Morrison <phython@gcc.gnu.org> | |
5276 | Eric Botcazou <ebotcazou@libertysurf.fr> | |
5277 | ||
5278 | PR target/18230 | |
5279 | * config/sparc/sparc.c (sparc_rtx_costs): Handle the NAND vector | |
5280 | patterns. | |
5281 | * config/sparc/sparc.md (V64I): New macro for 64-bit modes. | |
5282 | (V32I): New macro for 32-bit modes. | |
5283 | (anddi3, anddi_sp32, anddi_sp64, and_not_di_sp32, and_not_di_sp64, | |
5284 | iordi3, iordi3_sp32, iordi_sp64, or_not_di_sp32, or_not_di_sp64, | |
5285 | xordi3, xordi3_sp32, xordi3_sp64, {AND, IOR, XOR} DI splitter, | |
5286 | xor_not_di_sp32, xordi_not_di_sp64, one_cmpldi2, one_cmpldi_sp32, | |
5287 | one_cmpldi_sp64): Use V64I instead of DI. | |
5288 | (andsi3, andsi_sp32, andsi_sp64, and_not_si, iorsi3, or_not_si, | |
5289 | xorsi3, xor_not_si, one_cmplsi2): Use V32I instead of SI. | |
5290 | (addv2si3, addv4hi3, addv2hi3): Remove % modifier. | |
5291 | (nandv64i_vis, nandv32i_vis): New patterns. | |
5292 | ||
5293 | 2004-11-12 Mike Stump <mrs@apple.com> | |
5294 | ||
5295 | * Makefile.in: Add html support. | |
5296 | * java/Make-lang.in: Likewise. | |
5297 | * fortran/Make-lang.in: Likewise. | |
5298 | * treelang/Make-lang.in: Likewise. | |
5299 | * doc/install.texi: Likewise. | |
5300 | * doc/makefile.texi: Likewise. | |
5301 | * doc/sourcebuild.texi: Likewise. | |
5302 | ||
5303 | 2004-11-13 Kazu Hirata <kazu@cs.umass.edu> | |
5304 | ||
5305 | * tree-ssa-loop-manip.c: Fix a comment typo. | |
5306 | ||
5307 | 2004-11-12 Mike Stump <mrs@apple.com> | |
5308 | ||
5309 | * doc/cppinternals.texi (Index): Fix html generation with makeinfo by | |
5310 | renaming this node to Concept Index. | |
5311 | * doc/gccint.texi (Index): Likewise. Also minor formatting tweaks | |
5312 | to more closely match gcc.texi. | |
5313 | ||
5314 | 2004-11-12 Jeff Law <law@redhat.com> | |
5315 | ||
5316 | * tree-cfg.c (hashtab.h): Include. | |
5317 | (struct edge_to_case_leader_elt): New structure. | |
5318 | (edge_to_case_leader): New. | |
5319 | (edge_to_case_leader_hash): New hashtable hasing function. | |
5320 | (edge_to_case_leader_eq): New hashtable equality function. | |
5321 | (record_switch_edge): New function. | |
5322 | (get_case_leader_for_edge, get_case_leader_for_edge): New functions. | |
5323 | (make_switch_expr_edges): Build the edge-to-case-leader | |
5324 | hash table. Tear down the hash table when we're done. | |
5325 | (cleanup_dead_labels): Use CASE_LEADER_OR_LABEL instead of | |
5326 | CASE_LABEL. | |
5327 | (tree_node_can_be_shared): Allow sharing of CASE_LABEL_EXPR nodes. | |
5328 | (tree_redirect_edge_and_branch, case SWITCH_EXPR): Update | |
5329 | to use new concept of case leaders to reduce overhead of | |
5330 | redirecting outgoing edges from switch statements. | |
5331 | * tree.c (get_case_label): New function. | |
5332 | * tree.h (CASE_LABEL): Define in terms of get_case_label. | |
5333 | (CASE_LEADER_OR_LABEL): Define. | |
5334 | ||
5335 | 2004-11-12 Ziemowit Laski <zlaski@apple.com> | |
5336 | ||
5337 | * varasm.c (output_addressed_constants): For CONST_DECLs, | |
5338 | output the initializer if present. | |
5339 | ||
5340 | 2004-11-12 Ziemowit Laski <zlaski@apple.com> | |
5341 | ||
5342 | * config/rs6000/darwin.h: Fix confusing typo in comment. | |
5343 | ||
5344 | 2004-11-12 Devang Patel <dpatel@apple.com> | |
5345 | ||
5346 | * optabs.c (vector_compare_rtx): Use COMPARISON_CLASS_P. | |
5347 | ||
5348 | 2004-11-12 Devang Patel <dpatel@apple.com> | |
5349 | ||
5350 | * tree-if-conv.c (clean_predicate_lists): Use loop header | |
5351 | and latch directly. | |
5352 | ||
5353 | 2004-11-12 Richard Henderson <rth@redhat.com> | |
5354 | ||
5355 | PR 17778 | |
5356 | * config/i386/i386.h (TARGET_96_ROUND_53_LONG_DOUBLE): New. | |
5357 | * config/i386/freebsd.h (SUBTARGET_OVERRIDE_OPTIONS): Remove. | |
5358 | (TARGET_96_ROUND_53_LONG_DOUBLE): New. | |
5359 | * config/i386/i386-modes.def (XF): Use it. | |
5360 | ||
5361 | 2004-11-11 Geoffrey Keating <geoffk@apple.com> | |
5362 | ||
5363 | * Makefile.in (macro_list): Use move-if-change to avoid spurious | |
5364 | rebuilds. | |
5365 | ||
5366 | 2004-11-12 Mark Mitchell <mark@codesourcery.com> | |
5367 | ||
5368 | PR c++/18416 | |
5369 | * passes.c (rest_of_decl_compilation): Do not look at DECL_RTL | |
5370 | when deciding whether to pass a variable to | |
5371 | cgraph_varpool_finalize_decl or assemble_variable. | |
5372 | * toplev.c (check_global_declarations): Do not clear DECL_RTL. | |
5373 | ||
5374 | 2004-11-12 Kazu Hirata <kazu@cs.umass.edu> | |
5375 | ||
5376 | * tree-vectorizer.c: Fix a comment typo. | |
5377 | ||
5378 | 2004-11-12 Bernd Schmidt <bernd.schmidt@analog.com> | |
5379 | ||
5380 | * genconfig.c (walk_insn_part): Look at match_dups inside a label_ref. | |
5381 | ||
5382 | 2004-11-12 Diego Novillo <dnovillo@redhat.com> | |
5383 | ||
5384 | * tree-scalar-evolution.c (analyzable_condition): Remove | |
5385 | superfluous TREE_THIS_VOLATILE checks on SSA_NAMEs. | |
5386 | ||
5387 | 2004-11-12 Ralf Corsepius <ralf.corsepius@rtems.org> | |
5388 | ||
5389 | * config/rs6000/t-rtems (MULTILIB_NEW_EXCEPTIONS_ONLY): | |
5390 | Remove m505/roe multilib variant. | |
5391 | ||
5392 | 2004-11-12 Eric Botcazou <ebotcazou@libertysurf.fr> | |
5393 | ||
5394 | * expr.c (emit_group_load) <CONCAT>: Use extract_bit_field | |
5395 | to load from the stack. | |
5396 | ||
5397 | 2004-11-12 Richard Henderson <rth@redhat.com> | |
5398 | ||
5399 | * toplev.c (floor_log2): Rename from floor_log2_wide, use CLZ_HWI. | |
5400 | (exact_log2): Rename from exact_log2_wide, use CTZ_HWI. | |
5401 | * toplev.h (FL2T__): Remove. | |
5402 | (CLZ_HWI): Rename from FL2T_CLZ__. | |
5403 | (CTZ_HWI): New. | |
5404 | (floor_log2): Simplify. | |
5405 | (exact_log2): New. | |
5406 | ||
5407 | 2004-11-12 Sebastian Pop <pop@cri.ensmp.fr> | |
5408 | ||
5409 | * tree-data-ref.c (analyze_subscript_affine_affine): Correctly | |
5410 | compute the first overlapping iterations. | |
5411 | ||
5412 | 2004-11-12 Sebastian Pop <pop@cri.ensmp.fr> | |
5413 | ||
5414 | PR middle-end/18005 | |
5415 | * tree-data-ref.c (estimate_niter_from_size_of_data): Ensure | |
5416 | that arguments of EXACT_DIV_EXPR are INTEGER_CST. | |
5417 | ||
5418 | 2004-11-12 Steven Bosscher <stevenb@suse.de> | |
5419 | ||
5420 | PR tree-optimization/18419 | |
5421 | * tree-ssa.c (walk_use_def_chains_1): Make the visited map a | |
5422 | pointer set instead of a bitmap. | |
5423 | (walk_use_def_chains): Create, pass and clean up that pointer_set. | |
5424 | ||
5425 | * tree-ssa-alias.c (struct alias_info): Make the ssa_names_visited | |
5426 | field an sbitmap. | |
5427 | (init_alias_info): Allocate and zero it here. | |
5428 | (delete_alias_info): Delete it here. | |
5429 | (collect_points_to_info_for): Use it. | |
5430 | ||
5431 | 2004-11-11 Kazu Hirata <kazu@cs.umass.edu> | |
5432 | ||
5433 | * alias.c (record_alias_subset, addr_side_effect_eval): | |
5434 | Make them static. | |
5435 | * alias.h: Remove the prototype for record_alias_subset. | |
5436 | * expr.h: Remove the commented-out prototype for | |
5437 | record_alias_subset. | |
5438 | * rtl.h: Remove the prototype for addr_side_effect_eval. | |
5439 | ||
5440 | * cfglayout.c (choose_inner_scope): Make it static. | |
5441 | * rtl.h: Remove the corresponding prototype. | |
5442 | ||
5443 | * cfgloopmanip.c (update_single_exits_after_duplication, | |
5444 | unloop): Make them static. | |
5445 | * cfgloop.h: Remove the corresponding prototypes. | |
5446 | ||
5447 | * c-typeck.c (c_size_in_bytes, record_maybe_used_decl): | |
5448 | Make them static. | |
5449 | * c-tree.h: Remove the corresponding prototypes. | |
5450 | ||
5451 | * explow.c (round_push): Make it static. | |
5452 | * expr.h: Remove the corresponding prototype. | |
5453 | ||
5454 | * varasm.c (get_named_section_flags, decl_tls_model): Make | |
5455 | them static. | |
5456 | * output.h: Remove the prototype for get_named_section_flags. | |
5457 | * tree.h: Remove the prototype for decl_tls_model. | |
5458 | ||
5459 | 2004-11-11 Kazu Hirata <kazu@cs.umass.edu> | |
5460 | ||
5461 | * function.c (expand_function_end): Remove an "if" statement | |
5462 | that always triggers. | |
5463 | * stmt.c (expand_null_return_1): Likewise. | |
5464 | ||
5465 | 2004-11-11 James E. Wilson <wilson@specifixinc.com> | |
5466 | ||
5467 | * config/ia64/ia64.h (HARD_REGNO_NREGS): Handle XCmode. | |
5468 | (HARD_REGNO_MODE_OK, MODES_TIEABLE_P, SECONDARY_MEMORY_NEEDED, | |
5469 | CLASS_MAX_NREGS): Likewise. | |
5470 | ||
5471 | 2004-11-11 Zdenek Dvorak <dvorakz@suse.cz> | |
5472 | ||
5473 | PR tree-optimization/17742 | |
5474 | * tree-scalar-evolution.c (follow_ssa_edge_in_rhs): Handle | |
5475 | MINUS_EXPR correctly. | |
5476 | ||
5477 | 2004-11-11 Sebastian Pop <pop@cri.ensmp.fr> | |
5478 | ||
5479 | * tree-scalar-evolution.c (follow_ssa_edge_in_condition_phi): | |
5480 | Give up as soon as the evolution is known not computable. | |
5481 | ||
5482 | 2004-11-11 Nathan Sidwell <nathan@codesourcery.com> | |
5483 | ||
5484 | PR target/16457 | |
5485 | * config/rs6000/rs6000.c (mask64_2_operand): Stub to call | |
5486 | mask64_1or2_operand. | |
5487 | (mask64_1or2_operand): Broken out of mask64_2_operand, add flag | |
5488 | to spot rlwinm opportunities. | |
5489 | (and64_2_operand): Use mask_1or2_operand. | |
5490 | * config/rs6000/rs6000.md (anddi3): Use rlwinm when possible. | |
5491 | ||
5492 | 2004-11-11 Dorit Naishlos <dorit@il.ibm.com> | |
5493 | ||
5494 | * tree-vectorizer.c (update_phi_nodes_for_guard): Call reverse_phis. | |
5495 | (vect_update_ivs_after_vectorizer): Update function documentation. | |
5496 | Avoid quadratic behavior and direct write to PHI_ARG_DEF. | |
5497 | ||
5498 | 2004-11-11 Kazu Hirata <kazu@cs.umass.edu> | |
5499 | ||
5500 | * config/arm/arm.c: Fix a comment typo. | |
5501 | ||
5502 | 2004-11-11 Nathan Sidwell <nathan@codesourcery.com> | |
5503 | ||
5504 | * bitmap.h (nBITMAP_WORD_BITS): Remove. | |
5505 | (BITMAP_WORD_BITS): Force unsigned by use of 1u. | |
5506 | (BITMAP_ELEMENT_WORDS, BITMAP_ELEMENT_ALL_BITS): Remove | |
5507 | unnecessary casts. | |
5508 | (bitmap_first_set_bit): Return unsigned, use ctzl. | |
5509 | (bitmap_last_set_bit): Remove. | |
5510 | * bitmap.c (bitmap_element_zerop, bitmap_copy): Make iterator | |
5511 | unsigned. | |
5512 | (bitmap_first_set_bit): Return unsigned, require non-empty bitmap, | |
5513 | remove special case code for two word elements. | |
5514 | (bitmap_last_set_bit): Remove. | |
5515 | * ra-build.c (livethrough_conflicts_bb): Replace unnecessary use of | |
5516 | bitmap_first_set_bit with bitmap_empty_p. | |
5517 | * tree-outof-ssa.c (analyze_edges_for_bb): Likewise. | |
5518 | * tree-ssa-pre.c (bitmap_print_value): Use simple flag rather than | |
5519 | bitmap_last_bit_set. | |
5520 | ||
5521 | 2004-11-11 Nathan Sidwell <nathan@codesourcery.com> | |
5522 | ||
5523 | PR target/16796 | |
5524 | * config/rs6000/rs6000.md: Add DF & SF reg move peepholes. | |
5525 | ||
5526 | PR target/16458 | |
5527 | * config/rs6000/rs6000.c (rs6000_generate_compare): Generate an | |
5528 | unsigned equality compare when we know the operands are unsigned. | |
5529 | ||
5530 | 2004-11-10 Peter S. Mazinger <ps.m@gmx.net> | |
5531 | ||
5532 | * config/mips/linux.h (LINUX_TARGET_OS_CPP_BUILTINS): Define | |
5533 | __PIC__ and __pic__ only if TARGET_ABICALLS. | |
5534 | (SUBTARGET_CPP_SPECS): Don't define or undefine __PIC__ and __pic__. | |
5535 | (SUBTARGET_ASM_SPECS): Don't pass -non_shared to assembler; pass | |
5536 | -KPIC only if not -mno-abicalls. | |
5537 | ||
5538 | * config/alpha/linux.h, config/arm/linux-elf.h, config/pa/pa-linux.h | |
5539 | * config/sparc/linux.h, config/sparc/linux64.h | |
5540 | (TARGET_OS_CPP_BUILTINS): Define __PIC__ and __pic__ if flag_pic. | |
5541 | ||
5542 | * config/arm/linux-gas.h (CPP_SPEC): Don't define __PIC__ or __pic__. | |
5543 | * config/pa/pa/linux.h (CPP_SPEC): Likewise. | |
5544 | * config/sparc/linux.h (CPP_SUBTARGET_SPEC): Likewise. | |
5545 | * config/sparc/linux64.h (CPP_SUBTARGET_SPEC): Likewise. | |
5546 | ||
5547 | 2004-11-11 Paul Brook <paul@codesourcery.com> | |
5548 | ||
5549 | * config/arm/arm.c (arm_compute_save_reg0_reg12_mask): Save PIC | |
5550 | register if current_function_uses_pic_offset_table is set. | |
5551 | ||
5552 | 2004-11-10 David Edelsohn <edelsohn@gnu.org> | |
5553 | ||
5554 | * config/rs6000/rs6000.md (define_attr "type"): Add two and three. | |
5555 | Change multi-instruction sequences to new attribute. | |
5556 | * config/rs6000/{40x.md,440.md,603.md,6xx.md, | |
5557 | 7450.md,7xx.md,8540.md,mpc.md,power4.md,power5.md, | |
5558 | rios1.md,rios2.md,rs64.md}: Add descriptions for two and three. | |
5559 | ||
5560 | 2004-11-10 Daniel Berlin <dberlin@dberlin.org> | |
5561 | ||
5562 | * tree-data-ref.c (build_classic_dist_vector): If either loop | |
5563 | is outside of the nest we asked about, the dependence can't | |
5564 | matter. | |
5565 | (build_classic_dir_vector): Ditto. | |
5566 | ||
5567 | 2004-11-10 Zdenek Dvorak <dvorakz@suse.cz> | |
5568 | ||
5569 | * tree-ssa-loop-ivopts.c (get_address_cost): Add address elements in | |
5570 | right order. | |
5571 | (force_var_cost): Determine cost of addition and multiplication more | |
5572 | precisely. | |
5573 | (get_computation_cost_at): Add cost for computing address elements to | |
5574 | the final cost. | |
5575 | ||
5576 | * fold-const.c (fold): Attempt to use ptr_difference_const whenever | |
5577 | one of the arguments of MINUS_EXPR is an address. | |
5578 | (split_address_to_core_and_offset): New function. | |
5579 | (ptr_difference_const): Handle case when one of the operands is a | |
5580 | pointer. | |
5581 | * tree-ssa-loop-ivopts.c (determine_base_object): Fold &*addr. | |
5582 | (ptr_difference_cost): Pass addresses instead of objects to | |
5583 | ptr_difference_const. | |
5584 | ||
5585 | 2004-11-10 Nathan Sidwell <nathan@codesourcery.com> | |
5586 | ||
5587 | * tree.c (tree_check_failed): Emit general error if the list of | |
5588 | node types is empty. | |
5589 | ||
5590 | 2004-11-10 Eric Botcazou <ebotcazou@libertysurf.fr> | |
5591 | ||
5592 | * config/sparc/sparc.c (function_arg_union_value): New 'slotno' | |
5593 | argument. When the union is passed in the 6th slot, build a | |
5594 | PARALLEL with only one element. | |
5595 | (function_arg): Adjust call to function_arg_union_value. | |
5596 | (function_value): Likewise. | |
5597 | ||
5598 | 2004-11-10 Fariborz Jahanian <fjahanian@apple.com> | |
5599 | ||
5600 | PR tree-optimization/17892 | |
5601 | * tree-ssa-dom.c (unsafe_associative_fp_binop): Add test for | |
5602 | MINUS_EXPR operator. | |
5603 | ||
5604 | 2004-11-10 James A. Morrison <phython@gcc.gnu.org> | |
5605 | ||
5606 | PR target/18230 | |
5607 | config/sparc/sparc.md (addsi3, subsi3): Set "fptype" attribute. | |
5608 | (addv2si, addv4hi, addv2hi, subv2si, subv4hi, subv2hi): New patterns. | |
5609 | ||
5610 | 2004-11-10 Steven Bosscher <stevenb@suse.de> | |
5611 | ||
5612 | * basic-block.h (XMALLOC_REG_SET, XFREE_REG_SET): New. | |
5613 | (struct basic_block_def): Remove local_set and cond_local_set | |
5614 | fields. Update comment for global_live_at_start. | |
5615 | * flow.c (calculate_global_regs_live): Allocate local_sets and | |
5616 | cond_local_sets here as arrays of bitmaps previously stored in | |
5617 | bb->local_set and bb->cond_local_set. Use xmalloc instead of | |
5618 | obstack allocated bitmaps. | |
5619 | ||
5620 | 2004-11-09 H.J. Lu <hongjiu.lu@intel.com> | |
5621 | ||
5622 | PR target/18380 | |
5623 | * config/ia64/unwind-ia64.h (_Unwind_FindTableEntry): Mark it | |
5624 | hidden. | |
5625 | ||
5626 | * unwind-dw2.c (_Unwind_FindTableEntry): Removed. | |
5627 | ||
5628 | 2004-11-09 Jeff Law <law@redhat.com> | |
5629 | ||
5630 | * cfganal.c (flow_dfs_compute_reverse_execute): Accept new | |
5631 | argument holding last unvisited block. Start search for | |
5632 | unvisited blocks at LAST_UNVISITED rather than EXIT_BLOCK. | |
5633 | (connect_infinite_loops_to_exit): Supply last unvisited block | |
5634 | to flow_dfs_compute_reverse_execute. | |
5635 | ||
5636 | 2004-10-22 Aldy Hernandez <aldyh@redhat.com> | |
5637 | ||
5638 | * config/rs6000/rs6000.md (fix_truncdfsi2): Handle e500 | |
5639 | doubles. | |
5640 | (floatunssidf2): Same. | |
5641 | (floatsidf2): Same. | |
5642 | ("extendsfdf2"): New expander. | |
5643 | (*extendsfdf2_fpr): Rename. | |
5644 | (*truncdfsf2_fpr): Same. | |
5645 | (*negdf2_fpr): Same. | |
5646 | (*absdf2_fpr): Same. | |
5647 | (*nabsdf2_fpr): Same. | |
5648 | (*adddf3_fpr): Same. | |
5649 | (*subdf3_fpr): Same. | |
5650 | (*muldf3_fpr): Same. | |
5651 | (*divdf3_fpr): Same. | |
5652 | ||
5653 | * config/rs6000/spe.md ("spe_extendsfdf2"): Remove FIXME comment. | |
5654 | ("spe_fix_truncdfsi2"): Same. | |
5655 | (spe_floatunssidf2): Same. | |
5656 | (spe_floatsidf2): Same. | |
5657 | ||
5658 | 2004-11-09 Joseph S. Myers <joseph@codesourcery.com> | |
5659 | ||
5660 | PR c/18322 | |
5661 | * c-common.c (fname_decl): Don't use line number of decl in | |
5662 | diagnostic. | |
5663 | ||
5664 | 2004-11-09 Ulrich Weigand <uweigand@de.ibm.com> | |
5665 | ||
5666 | * config/s390/s390-protos.h (s390_pool_operand): Remove. | |
5667 | * config/s390/s390.c (s390_pool_operand): Likewise. | |
5668 | (s390_extra_constraint_str): Handle 'B' constraints. | |
5669 | * config/s390/s390.h (CONSTRAINT_LEN): Handle 'B' constraints. | |
5670 | * config/s390/s390.md: Document 'B' constraints. | |
5671 | ("*cmpdi_cct", "*cmpsi_cct"): Use 'B' constraint instead of | |
5672 | s390_pool_operand to prevent insns with two literal pool | |
5673 | references. Make pattern commutative. | |
5674 | ("*cmpdi_ccu", "*cmpsi_ccu", "*cmphi_ccu", "*cmpqi_ccu"): Use | |
5675 | 'B' constraint instead of s390_pool_operand. | |
5676 | ||
5677 | 2004-11-09 Kazu Hirata <kazu@cs.umass.edu> | |
5678 | ||
5679 | * tree-cfg.c (create_bb): Remove unnecessary memset. | |
5680 | ||
5681 | 2004-11-09 Kazu Hirata <kazu@cs.umass.edu> | |
5682 | ||
5683 | * tree-ssa-threadupdate.c (copy_phis_to_block): Remove. | |
5684 | (thread_block): Call flush_pending_stmt instead of | |
5685 | copy_phis_to_block. | |
5686 | ||
5687 | 2004-11-09 Kazu Hirata <kazu@cs.umass.edu> | |
5688 | ||
5689 | * loop-iv.c (iv_number_of_iterations): Make it static. | |
5690 | * cfgloop.h: Remove the corresponding prototype. | |
5691 | ||
5692 | 2004-11-09 Kazu Hirata <kazu@cs.umass.edu> | |
5693 | ||
5694 | * function.c (combine_temp_slots, assign_parms, | |
5695 | expand_pending_sizes): Make them static. | |
5696 | * tree.h: Remove the corresponding prototypes. | |
5697 | ||
5698 | 2004-11-09 Kazu Hirata <kazu@cs.umass.edu> | |
5699 | ||
5700 | * emit-rtl.c (copy_most_rtx): Remove. | |
5701 | * rtl.h: Remove the corresponding prototype. | |
5702 | ||
5703 | 2004-11-09 Kazu Hirata <kazu@cs.umass.edu> | |
5704 | ||
5705 | * cfgloop.c (flow_loops_update): Remove. | |
5706 | * cfgloop.h: Remove the corresponding prototype. | |
5707 | ||
5708 | 2004-11-09 Kazu Hirata <kazu@cs.umass.edu> | |
5709 | ||
5710 | * conflict.c (mark_reg, conflict_graph_compute): Remove. | |
5711 | * basic-block.h: Remove the prototype for | |
5712 | conflict_graph_compute. | |
5713 | ||
5714 | 2004-11-09 Kazu Hirata <kazu@cs.umass.edu> | |
5715 | ||
5716 | * tree-if-conv.c (add_to_dst_predicate_list): Change the | |
5717 | second argument to basic_block. | |
5718 | (tree_if_convert_cond_expr): Update call sites. | |
5719 | ||
5720 | 2004-11-09 Kazu Hirata <kazu@cs.umass.edu> | |
5721 | ||
5722 | * fold-const.c (pedantic_non_lvalue): Make it static. | |
5723 | * tree.h: Remove the corresponding prototype. | |
5724 | ||
5725 | 2004-11-09 Kazu Hirata <kazu@cs.umass.edu> | |
5726 | ||
5727 | * optabs.c (prepare_operand): Make it static. | |
5728 | * optabs.h: Remove the corresponding prototype. | |
5729 | ||
5730 | 2004-11-09 Kazu Hirata <kazu@cs.umass.edu> | |
5731 | ||
5732 | * reload1.c (reloads_conflict, gen_reload): Make them static. | |
5733 | * reload.h: Remove the corresponding prototypes. | |
5734 | ||
5735 | 2004-11-09 Kazu Hirata <kazu@cs.umass.edu> | |
5736 | ||
5737 | * reload.c (refers_to_mem_for_reload_p, | |
5738 | refers_to_regno_for_reload_p): Make them static. | |
5739 | * reload.h: Remove the corresponding prototypes. | |
5740 | ||
5741 | 2004-11-09 James A. Morrison <phython@gcc.gnu.org> | |
5742 | Eric Botcazou <ebotcazou@libertysurf.fr> | |
5743 | ||
5744 | PR target/18230 | |
5745 | * doc/md.texi (SPARC constraints): Document 'Y' constraint. | |
5746 | * config/sparc/sparc-modes.def: Add vector modes of 4 and 8 bytes. | |
5747 | * config/sparc/sparc.c (sparc_vector_mode_supported_p): New function. | |
5748 | (TARGET_VECTOR_MODE_SUPPORTED_P): Set to sparc_vector_mode_supported_p. | |
5749 | (fp_zero_operand): Accept MODE_VECTOR_INT modes. | |
5750 | (input_operand): Accept CONST_VECTOR with MODE_VECTOR_INT modes. | |
5751 | (sparc_cannot_force_const_mem): Return false for CONST_VECTOR. | |
5752 | (sparc_init_modes): Set sparc_mode_class to SF_MODE or DF_MODE for | |
5753 | MODE_VECTOR_INT modes. | |
5754 | (sparc_extra_constraint_check): Add new constraint 'Y'. | |
5755 | * config/sparc/sparc.h: Define UNITS_PER_SIMD_WORD to 8 for TARGET_VIS. | |
5756 | * config/sparc/sparc.md (V32): New mode macro for 32-bit modes. | |
5757 | (V64): New mode macro for 64-bit modes. | |
5758 | (movsf): Use V32 for mode instead of SF. | |
5759 | (movsf_insn_vis): Use V32 for mode instead of SF. Add 'Y' constraint | |
5760 | alongside 'G' constraint. | |
5761 | (movdf): Use V64 for mode instead of DF. | |
5762 | (movdf_insn_v9only_vis, modf_insn_sp64_vis): Use V64 for mode instead | |
5763 | of DF. Add 'Y' constraint alongside 'G' constraint. | |
5764 | (multi-isn and misaligned mems DFmode splitters): Use V64 for mode | |
5765 | instead of DF. | |
5766 | ||
5767 | 2004-11-09 Ulrich Weigand <uweigand@de.ibm.com> | |
5768 | ||
5769 | * config/s390/s390.c (s390_select_ccmode): Return CCAPmode for | |
5770 | integer NEG and ABS. | |
5771 | * config/s390/s390.md ("*negdi2_64"): Fix op_type attribute. | |
5772 | ("*negdi2_31"): Reimplement using a splitter. | |
5773 | ("*negdi2_cc", "*negdi2_cconly"): New insns. | |
5774 | ("*negdi2_sign", "*negdi2_sign_cc"): Likewise. | |
5775 | ("*negsi2_cc", "*negsi2_cconly"): Likewise. | |
5776 | ("*negdf2_cc", "*negdf2_cconly"): Likewise. | |
5777 | ("*negsf2_cc", "*negsf2_cconly"): Likewise. | |
5778 | ("*absdi2_cc", "*absdi2_cconly"): New insns. | |
5779 | ("*absdi2_sign", "*absdi2_sign_cc"): Likewise. | |
5780 | ("*abssi2_cc", "*abssi2_cconly"): Likewise. | |
5781 | ("*absdf2_cc", "*absdf2_cconly"): Likewise. | |
5782 | ("*abssf2_cc", "*abssf2_cconly"): Likewise. | |
5783 | ("*negabsdi2_cc", "*negabsdi2_cconly"): New insns. | |
5784 | ("*negabsdi2_sign", "*negabsdi2_sign_cc"): Likewise. | |
5785 | ("*negabssi2_cc", "*negabssi2_cconly"): Likewise. | |
5786 | ("*negabsdf2_cc", "*negabsdf2_cconly"): Likewise. | |
5787 | ("*negabssf2_cc", "*negabssf2_cconly"): Likewise. | |
5788 | ||
5789 | 2004-11-09 Ulrich Weigand <uweigand@de.ibm.com> | |
5790 | ||
5791 | * config/s390/s390.c (s390_canonicalize_comparison): Reverse condition | |
5792 | when eliminating an UNSPEC_CMPINT. | |
5793 | (s390_secondary_input_reload_class): Fix test for CC register reload. | |
5794 | (s390_secondary_output_reload_class): Likewise. | |
5795 | (s390_expand_cmpmem): Swap operands. Use gen_cmpint. | |
5796 | * config/s390/s390.md ("*cmpint_si", "*cmpint_di"): Remove. | |
5797 | ("cmpint", "*cmpint_cc", "*cmpint_sign", "*cmpint_sign_cc"): New | |
5798 | insn patterns with splitters. | |
5799 | ||
5800 | 2004-11-09 David Edelsohn <edelsohn@gnu.org> | |
5801 | ||
5802 | * config/rs6000/rs6000.c (rs6000_rtx_costs): Add EQ, GTU, and LTU. | |
5803 | * config/rs6000/rs6000.md (sCC): Split GTU and LTU patterns. | |
5804 | ||
5805 | 2004-11-09 Kazu Hirata <kazu@cs.umass.edu> | |
5806 | ||
5807 | * tree-phinodes.c (phi_reverse): New. | |
5808 | * tree-cfg.c (tree_make_forwarder_block, tree_duplicate_bb): | |
5809 | Use it. | |
5810 | * tree-flow.h: Add a prototype for phi_reverse. | |
5811 | ||
5812 | 2004-11-09 Kazu Hirata <kazu@cs.umass.edu> | |
5813 | ||
5814 | * tree-ssa-loop-ivopts.c: Fix a comment typo. | |
5815 | ||
5816 | 2004-11-09 James A. Morrison <phython@gcc.gnu.org> | |
5817 | ||
5818 | PR pch/14940 | |
5819 | * config/host-linux.c (TRY_EMPTY_VM_SPACE): Add __sparc__ | |
5820 | definitions. | |
5821 | ||
5822 | 2004-11-09 Joseph S. Myers <joseph@codesourcery.com> | |
5823 | ||
5824 | * builtins.c, c-common.c, c-decl.c, c-format.c: Say "argument" | |
5825 | instead of "arg" in diagnostics. | |
5826 | ||
5827 | 2004-11-09 Joseph S. Myers <joseph@codesourcery.com> | |
5828 | ||
5829 | * builtins.c, c-common.c, c-decl.c, c-format.c, c-format.h, | |
5830 | c-parse.in, c-pch.c, c-pragma.c, collect2.c, final.c, gcc.c, | |
5831 | gcov.c, opts.c, pretty-print.h, protoize.c, reg-stack.c, rtl.c, | |
5832 | tlink.c, config/alpha/alpha.c, config/arc/arc.c, config/arm/arm.c, | |
5833 | config/avr/avr.c, config/c4x/c4x.c, config/darwin.c, | |
5834 | config/frv/frv.c, config/h8300/h8300.c, config/i386/i386.c, | |
5835 | config/i386/winnt.c, config/ia64/ia64.c, config/ip2k/ip2k.c, | |
5836 | config/iq2000/iq2000.c, config/m32r/m32r.c, | |
5837 | config/m68hc11/m68hc11.c, config/m68k/m68k.c, config/m68k/m68k.h, | |
5838 | config/mcore/mcore.c, config/mips/mips.c, config/mmix/mmix.c, | |
5839 | config/ns32k/ns32k.c, config/rs6000/host-darwin.c, | |
5840 | config/rs6000/rs6000.c, config/s390/s390.c, config/sh/sh.c, | |
5841 | config/sh/symbian.c, config/stormy16/stormy16.c, | |
5842 | config/v850/v850.c: Avoid "`" as left quote, using "'" or %q, %< | |
5843 | and %> as appropriate. Use %' as apostrophe in diagnostics where | |
5844 | applicable. Use %< and %> in place of '' quotes where applicable. | |
5845 | Use %qs in place of %<%s%>. Consistently quote __builtin function | |
5846 | names. | |
5847 | ||
5848 | 2004-11-09 Hans-Peter Nilsson <hp@bitrange.com> | |
5849 | ||
5850 | * gdbinit.in (pbb, pbm): New macros. | |
5851 | ||
5852 | 2004-11-08 Jeff Law <law@redhat.com> | |
5853 | ||
5854 | * cfg.c (redirect_edge_succ_nodup): Use find_edge rather than | |
5855 | implementing it inline. | |
5856 | ||
5857 | * cfganal.c (find_edge): Search pred->succs or succ->preds, | |
5858 | whichever is shorter. | |
5859 | ||
5860 | 2004-11-08 Kazu Hirata <kazu@cs.umass.edu> | |
5861 | ||
5862 | * passes.c (rest_of_handle_jump): Remove dead code. | |
5863 | ||
5864 | 2004-11-08 Kazu Hirata <kazu@cs.umass.edu> | |
5865 | ||
5866 | * tree-cfg.c (thread_jumps): Speed up by keeping a pointer to | |
5867 | the last used element in the worklist. | |
5868 | ||
5869 | 2004-11-08 Kazu Hirata <kazu@cs.umass.edu> | |
5870 | ||
5871 | * tree-inline.c (remap_save_expr): Make it static. | |
5872 | * tree-inline.h: Remove the corresponding prototype. | |
5873 | ||
5874 | 2004-11-08 Kazu Hirata <kazu@cs.umass.edu> | |
5875 | ||
5876 | * tree-ssa-loop-niter.c (upper_bound_in_type, | |
5877 | lower_bound_in_type): Make them static. | |
5878 | * tree.h: Remove the corresponding prototypes. | |
5879 | ||
5880 | 2004-11-08 Kazu Hirata <kazu@cs.umass.edu> | |
5881 | ||
5882 | * tree-ssa-live.c (tpa_init, pop_best_coalesce): Make them | |
5883 | static. | |
5884 | * tree-ssa-live.h: Remove the corresponding prototypes. | |
5885 | ||
5886 | 2004-11-08 Kazu Hirata <kazu@cs.umass.edu> | |
5887 | ||
5888 | * tree-if-conv.c (tree_if_conversion): Make it static. | |
5889 | * tree-flow.h: Remove the corresponding prototype. | |
5890 | ||
5891 | 2004-11-08 Kazu Hirata <kazu@cs.umass.edu> | |
5892 | ||
5893 | * tree-ssa-operands.c (build_ssa_operands): Make it static. | |
5894 | * tree-flow.h: Remove the corresponding prototype. | |
5895 | ||
5896 | 2004-11-08 Andrew Pinski <pinskia@physics.uc.edu> | |
5897 | ||
5898 | PR tree-opt/18299 | |
5899 | * tree-inline.c (copy_body_r): Change "t = t" to empty | |
5900 | statement instead of "t". | |
5901 | ||
5902 | 2004-11-08 Kazu Hirata <kazu@cs.umass.edu> | |
5903 | ||
5904 | * modulo-sched.c (create_partial_schedule, | |
5905 | free_partial_schedule, reset_partial_schedule, | |
5906 | ps_add_node_check_conflicts, rotate_partial_schedule): Make | |
5907 | them static. | |
5908 | ||
5909 | 2004-11-08 Richard Henderson <rth@redhat.com> | |
5910 | ||
5911 | * expmed.c (extract_force_align_mem_bit_field): Correct handling at | |
5912 | the end of a page. | |
5913 | ||
5914 | 2004-11-08 Kazu Hirata <kazu@cs.umass.edu> | |
5915 | ||
5916 | * sched-deps.c (add_insn_mem_dependence): Make it static. | |
5917 | * sched-int.h: Remove the corresponding prototypes. | |
5918 | ||
5919 | 2004-11-08 Kazu Hirata <kazu@cs.umass.edu> | |
5920 | ||
5921 | * flow.c (allocate_bb_life_data): Make it static. | |
5922 | * basic-block.h: Remove the corresponding prototype. | |
5923 | ||
5924 | 2004-11-08 Kazu Hirata <kazu@cs.umass.edu> | |
5925 | ||
5926 | * calls.c (split_complex_values, split_complex_types): Make | |
5927 | them static. | |
5928 | * expr.h: Remove the corresponding prototypes. | |
5929 | ||
5930 | 2004-11-08 Richard Earnshaw <rearnsha@arm.com> | |
5931 | ||
5932 | * arm.c (arm_handle_notshared_attribute): Wrap declaration and use | |
5933 | with #if TARGET_DLLIMPORT_DECL_ATTRIBUTES. | |
5934 | ||
5935 | 2004-11-08 Kazu Hirata <kazu@cs.umass.edu> | |
5936 | ||
5937 | * tree-if-conv.c (tree_if_convert_cond_expr): Remove two "if" | |
5938 | statements that always trigger. | |
5939 | ||
5940 | 2004-11-08 Kazu Hirata <kazu@cs.umass.edu> | |
5941 | ||
5942 | * tree-cfg.c, tree-if-conv.c, tree-into-ssa.c, | |
5943 | tree-scalar-evolution.c, tree-ssa-loop-im.c, | |
5944 | tree-ssa-loop-ivopts.c, tree-ssa-loop-manip.c, tree-ssa.c, | |
5945 | tree-vectorizer.c: Replace TREE_CHAIN with PHI_CHAIN where | |
5946 | appropriate. | |
5947 | ||
5948 | 2004-11-08 Ben Elliston <bje@au.ibm.com> | |
5949 | ||
5950 | * cgraph.h (cgraph_calls_p): Remove. | |
5951 | * cgraph.c (cgraph_calls_p): Likewise. | |
5952 | ||
5953 | * varray.h (varray_copy): Remove. | |
5954 | * varray.c (varray_copy): Likewise. | |
5955 | ||
5956 | 2004-11-07 Andrew Pinski <pinskia@physics.uc.edu> | |
5957 | ||
5958 | PR target/18269 | |
5959 | * config/darwin.c (machopic_indirect_data_reference): | |
5960 | Call gen_macho_high and gen_macho_low instead of | |
5961 | checking the mode and calling gen_macho_high_di directly. | |
5962 | * config/rs6000/rs6000.c (rs6000_emit_move): Likewise. | |
5963 | * config/rs6000/rs6000.md: Move most of TARGET_MACHO expand/insns | |
5964 | to darwin.md. | |
5965 | (movdf_low, movsf_low, movsf_low_st, movsi_low, macho_correct_pic, | |
5966 | load_macho_picbase, macho_low, macho_high): Removed. | |
5967 | (builtin_setjmp_receiver): Call gen_macho_high and | |
5968 | gen_macho_low instead of checking the mode and calling | |
5969 | gen_macho_high_di directly. | |
5970 | * config/rs6000/darwin.md (load_macho_picbase_di): Use the MD constant. | |
5971 | (movdf_low_si, movsf_low_si, movsf_low_st_si, movsi_low_st): | |
5972 | Moved from rs6000.md. | |
5973 | (macho_high): New expander. | |
5974 | (macho_high_si): Renamed version of macho_high from rs6000.md. | |
5975 | (macho_low): New expander. | |
5976 | (macho_low_si): Renamed version of macho_low from rs6000.md. | |
5977 | (load_macho_picbase): New expander. | |
5978 | (load_macho_picbase_si): Renamed version of load_macho_picbase | |
5979 | from rs6000.md. | |
5980 | (macho_correct_pic): New expander. | |
5981 | (macho_correct_pic_si): Renamed version of macho_correct_pic | |
5982 | from rs6000.md. | |
5983 | ||
5984 | 2004-11-07 Joseph S. Myers <joseph@codesourcery.com> | |
5985 | ||
5986 | * c-decl.c (finish_struct): Use complete sentences for diagnostic | |
5987 | for structures or unions with no members or named members. | |
5988 | ||
5989 | 2004-11-07 Joseph S. Myers <joseph@codesourcery.com> | |
5990 | ||
5991 | * c-typeck.c (build_unary_op): Replace unreachable diagnostic for | |
5992 | taking address of bit-field by assertion. | |
5993 | ||
5994 | 2004-11-06 Ulrich Weigand <uweigand@de.ibm.com> | |
5995 | ||
5996 | * config/s390/s390.md (attribute "op_type"): Default to "NN". | |
5997 | (attribute "atype"): Default to "agen". | |
5998 | (attribute "length"): Default to 6. | |
5999 | (define_asm_attibutes): Remove. | |
6000 | ("movti", "*movdi_64", "*movdi_31", "*movsi_zarch", "*movsi_esa", | |
6001 | "*movhi", "*movqi", "*movdf_64", "*movdf_31", "movsf", | |
6002 | "*clc", "*mvc", "*nc", "*oc", "*xc", "*xc_zero"): | |
6003 | Do not set type attribute to "cs" where already default. | |
6004 | ("*cmpint_si", "*cmpint_di", "fix_truncdfsi2_ibm", "floatsidf2_ibm", | |
6005 | "*negdi2_31"): | |
6006 | Do not set type attribute to "other" where already default. | |
6007 | ("movti", "*movdi_64", "*movdi_31", "*movdf_31", | |
6008 | "*strlendi", "*strlensi", | |
6009 | "*movmem_long_64", "*movmem_long_31", | |
6010 | "*clrmem_long_64", "*clrmem_long_31", | |
6011 | "*cmpmem_long_64", "*cmpmem_long_31", | |
6012 | "*cmpint_si", "*cmpint_di", | |
6013 | "addti3", "*adddi3_31z", "*adddi3_31", | |
6014 | "subti3", "*subdi3_31z", "*subdi3_31", "*negdi2_31", | |
6015 | "*sconddi", "*scondsi", "*sconddi_neg", "*scondsi_neg", | |
6016 | "fix_truncdfsi2_ibm", "floatsidf2_ibm", "extendsfdf2_ibm", | |
6017 | "*pool_entry", "pool_align", "pool_section_start", | |
6018 | "pool_section_end", "main_pool", "reload_base_31", "pool"): | |
6019 | Do not set op_type attribute to "NN" where already default. | |
6020 | ("*extractqi", "*extracthi", "*zero_extendhisi2_31", | |
6021 | "*zero_extendqisi2_31", "*zero_extendqihi2_31", | |
6022 | "fix_truncdfsi2_ibm", "floatsidf2_ibm"): | |
6023 | Do not set atype attribute to "agen" where already default. | |
6024 | ("*movmem_short", "*clrmem_short", "*cmpmem_short"): Don't set op_type. | |
6025 | ||
6026 | 2004-11-06 Richard Sandiford <rsandifo@redhat.com> | |
6027 | ||
6028 | * config/mips/t-iris6 (tp-bit.c): Fix target filename. | |
6029 | ||
6030 | 2004-11-06 Richard Sandiford <rsandifo@redhat.com> | |
6031 | ||
6032 | PR target/16830 | |
6033 | * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Don't define the | |
6034 | R3000 and R4000 macros on IRIX. | |
6035 | ||
6036 | 2004-11-06 Andreas Schwab <schwab@suse.de> | |
6037 | ||
6038 | PR target/16286 | |
6039 | * config/rs6000/altivec.h: Replace bool by __bool and pixel by | |
6040 | __pixel. | |
6041 | ||
6042 | 2004-11-06 Kazu Hirata <kazu@cs.umass.edu> | |
6043 | ||
6044 | * tree-ssa-copyrename.c (rename_ssa_copies): Make it static. | |
6045 | ||
6046 | 2004-11-06 Ulrich Weigand <uweigand@de.ibm.com> | |
6047 | ||
6048 | * config/s390/2064.md ("z_int", "z_agen"): Ensure the condition | |
6049 | matches no insns already matched by other reservations. | |
6050 | * config/s390/2084.md ("x_int", "x_agen"): Ensure the condition | |
6051 | matches no insns already matched by other reservations. | |
6052 | ("x_ss"): Remove, replace by ... | |
6053 | ("x_cs"): ... this new reservation. Check type instead of op_type. | |
6054 | Update bypasses to use x_cs instead of x_ss. | |
6055 | ("x_nn"): Remove, replace by ... | |
6056 | ("x_other"): ... this new reservation. Check type instead of op_type. | |
6057 | Add x_other and x_branch to bypasses. | |
6058 | ("x_vs"): New reservation. | |
6059 | * config/s390/s390.md (attribute "type"): Default according to op_type. | |
6060 | ("*execute"): Set type to "cs". | |
6061 | ||
6062 | 2004-11-06 Kazu Hirata <kazu@cs.umass.edu> | |
6063 | ||
6064 | * fold-const.c (non_lvalue): Don't construct NON_LVALUE_EXPR | |
6065 | if we are in GIMPLE. | |
6066 | ||
6067 | 2004-11-06 Hans-Peter Nilsson <hp@bitrange.com> | |
6068 | ||
6069 | PR rtl-optimization/17933 | |
6070 | * rtlanal.c (dead_or_set_regno_p): Break out common code to... | |
6071 | (covers_regno_p): New function. Handle SETs of PARALLEL, | |
6072 | and defer the rest to... | |
6073 | (covers_regno_no_parallel_p): New function. | |
6074 | ||
6075 | 2004-11-06 Eric Botcazou <ebotcazou@libertysurf.fr> | |
6076 | ||
6077 | * config/sparc/sparc.c (function_arg_record_value_1): Skip | |
6078 | fields with zero length. | |
6079 | (function_arg_record_value_2): Likewise. | |
6080 | (function_arg_record_value_3): Use smallest_mode_for_size | |
6081 | instead of mode_for_size. | |
6082 | (function_arg_union_value): Return naked register for unions | |
6083 | with zero length. | |
6084 | ||
6085 | 2004-11-06 Eric Botcazou <ebotcazou@libertysurf.fr> | |
6086 | ||
6087 | * config/sparc/sparc.c (scan_record_type): Handle vector types. | |
6088 | (function_arg_slotno): Handle vector types specially. | |
6089 | (function_arg_record_value_1): Split fields with vector type and | |
6090 | BLKmode into their subparts. | |
6091 | (function_arg_record_value_2): Likewise. Be prepared to handle | |
6092 | more than 2 registers per field. | |
6093 | (function_arg_union_value): Increment regno inside the loop. | |
6094 | (function_arg_vector_value): New function. | |
6095 | (function_arg): Use it to split fields with vector type and | |
6096 | BLKmode into their subparts and build a PARALLEL. Treat | |
6097 | other vector types like floats. | |
6098 | (function_value): Likewise. | |
6099 | (sparc_pass_by_reference): Handle vector types. | |
6100 | (sparc_return_in_memory): Likewise. | |
6101 | ||
6102 | 2004-11-06 Kazu Hirata <kazu@cs.umass.edu> | |
6103 | ||
6104 | * tree-cfg.c (find_taken_edge_cond_expr): Remove an "if" | |
6105 | statement that never triggers. | |
6106 | ||
6107 | 2004-11-06 Ulrich Weigand <uweigand@de.ibm.com> | |
6108 | ||
6109 | * config/s390/2064.md ("z_o2", "z_o3"): Remove. | |
6110 | * config/s390/2084.md ("x_o2", "x_o3"): Remove. | |
6111 | ("x_fdivd"): Use also for fsqrtd type. | |
6112 | ("x_fdivs"): Use also for fsqrts type. | |
6113 | * config/s390/s390.md (attribute "type"): Remove "o2" and "o3" types. | |
6114 | ("fix_truncdfsi2_ieee"): Set type to "ftoi". | |
6115 | ("fix_truncdfsi2_ibm"): Set type to "other". | |
6116 | ("floatdidf2", "floatdisf2"): Do not clobber CC. | |
6117 | ("floatsidf2", "floatsidf2_ieee"): Likewise. | |
6118 | ("floatsisf2", "floatsisf2_ieee"): Likewise. | |
6119 | ("truncdfsf2", "truncdfsf2_ieee"): Only allow "register_operand". | |
6120 | ("truncdfsf2_ibm"): Only allow "nonimmediate_operand". Use LER | |
6121 | instead of LRER. | |
6122 | ("extendsfdf2_ibm"): Do not set atype. Set type to "floads". | |
6123 | ("sqrtdf2"): Set type to "fsqrtd". | |
6124 | ("sqrtsf2"): Set type to "fsqrts". | |
6125 | ||
6126 | 2004-11-06 Kazu Hirata <kazu@cs.umass.edu> | |
6127 | ||
6128 | * tree-phinodes.c (remove_all_phi_nodes_for): Speed up using a | |
6129 | pointer to the last PHI node in the new PHI chain. | |
6130 | ||
6131 | 2004-11-06 Kaz Kojima <kkojima@gcc.gnu.org> | |
6132 | ||
6133 | * config/sh/sh.c (prepare_move_operands): Emit a use of r12 | |
6134 | for non-PIC TLS_MODEL_INITIAL_EXEC case. | |
6135 | ||
6136 | 2004-11-06 Kazu Hirata <kazu@cs.umass.edu> | |
6137 | ||
6138 | * expmed.c: Fix a comment typo. | |
6139 | ||
6140 | 2004-11-06 Aaron W. LaFramboise <aaronavay62@aaronwl.com> | |
6141 | ||
6142 | PR target/18106 | |
6143 | * config/i386/cygming.h | |
6144 | [HAVE_GAS_WEAK] (ASM_WEAKEN_LABEL): Macro defined. | |
6145 | ||
6146 | 2004-11-06 Kazu Hirata <kazu@cs.umass.edu> | |
6147 | ||
6148 | * config/sh/sh4a.md: Fix copyright. | |
6149 | ||
6150 | 2004-11-06 Kazu Hirata <kazu@cs.umass.edu> | |
6151 | ||
6152 | * config/rs6000/darwin.md, config/sh/sh4a.md: Replace GNU CC | |
6153 | with GCC. | |
6154 | ||
6155 | 2004-11-05 David Edelsohn <edelsohn@gnu.org> | |
6156 | ||
6157 | * config/rs6000/rs6000.md (scc patterns): Replace subfc with subf | |
6158 | when carry not used. Suggested by Torbjorn Granlund. | |
6159 | ||
6160 | * config/rs6000/rs6000.c (rs6000_emit_move): Don't force_reg | |
6161 | operand[1] unnecessarily. Suggested by Eric Christopher. | |
6162 | (rs6000_adjust_cost): Increase latency of store to wider load. | |
6163 | (rs6000_rtx_costs): mulli only allows 16-bit constants. | |
6164 | ||
6165 | 2004-11-05 Stan Shebs <shebs@apple.com> | |
6166 | ||
6167 | * config/rs6000/rs6000.c (machopic_output_stub): Output | |
6168 | ldu instead of lwzu for 64-bit stubs. | |
6169 | ||
6170 | 2004-11-05 Richard Henderson <rth@redhat.com> | |
6171 | ||
6172 | * config/alpha/alpha.c (alpha_expand_unaligned_load): Special case | |
6173 | size 2 with BWX. | |
6174 | (alpha_expand_unaligned_store): Likewise. | |
6175 | ||
6176 | 2004-11-05 Richard Henderson <rth@redhat.com> | |
6177 | ||
6178 | * expmed.c (extract_force_align_mem_bit_field): New. | |
6179 | (extract_split_bit_field): Call it. | |
6180 | ||
6181 | 2004-11-05 Richard Henderson <rth@redhat.com> | |
6182 | ||
6183 | * ia64.md (UNSPEC_SHRP): New. | |
6184 | (dshift_count_operand): New. | |
6185 | (ashrti3, ashrti3_internal, lshrti3, lshrti3_internal, shrp): New. | |
6186 | * ia64.c (rtx_needs_barrier): Handle UNSPEC_SHRP. | |
6187 | ||
6188 | 2004-11-05 Joseph S. Myers <joseph@codesourcery.com> | |
6189 | ||
6190 | * c-typeck.c (output_init_element): Return early if value is | |
6191 | error_mark_node. | |
6192 | ||
6193 | 2004-11-05 James E Wilson <wilson@specifixinc.com> | |
6194 | ||
6195 | * invoke.texi (-fno-guess-branch-probability): Rewrite. | |
6196 | ||
6197 | * config/ia64/ia64.c (rtx_needs_barrier, case UNSPEC_GR_SPILL): Change | |
6198 | 1 to UNSPEC_GR_SPILL. | |
6199 | ||
6200 | 2004-11-05 Andreas Krebbel <krebbel1@de.ibm.com> | |
6201 | ||
6202 | * config/s390/s390.c (s390_fixed_condition_code_regs): New function. | |
6203 | (TARGET_FIXED_CONDITION_CODE_REGS): Macro defined. | |
6204 | ||
6205 | 2004-11-05 Nathan Sidwell <nathan@codesourcery.com> | |
6206 | ||
6207 | * bitmap.h (enum bitmap_bits): Remove. | |
6208 | (bitmap_operation): Remove. | |
6209 | (bitmap_and, bitmap_and_into, bitmap_and_compl, | |
6210 | bitmap_and_compl_into, bitmap_ior, bitmap_ior_into, bitmap_xor, | |
6211 | bitmap_xor_into): Prototype. | |
6212 | * bitmap.c (bitmap_elt_insert_after, bitmap_elt_clear_from): New. | |
6213 | (bitmap_operation): Remove. | |
6214 | (bitmap_and, bitmap_and_into, bitmap_and_compl, | |
6215 | bitmap_and_compl_into, bitmap_ior, bitmap_ior_into, bitmap_xor, | |
6216 | bitmap_xor_into): New. | |
6217 | (bitmap_ior_and_compl, bitmap_ior_and_compl_into): Adjust. | |
6218 | ||
6219 | PR tree-optimization/18307 | |
6220 | * tree-ssa-alias.c (merge_pointed_to_info): Protected against DEST | |
6221 | and ORIG being the same node. | |
6222 | ||
6223 | 2004-11-04 Geoffrey Keating <geoffk@apple.com> | |
6224 | ||
6225 | * Makefile.in (distclean): Don't delete nonexistent fixinc/ directory. | |
6226 | (install-mkheaders): Install the version built for the | |
6227 | host, not for the build machine. | |
6228 | * configure.ac: Always run fixincludes. | |
6229 | (all_outputs): Remove mkheaders. | |
6230 | * configure: Regenerate. | |
6231 | * fixinc.in: Move to fixincludes/. | |
6232 | * mkfixinc.sh: Likewise. | |
6233 | * mkheaders.in: Likewise. | |
6234 | * README-fixinc: Likewise. | |
6235 | ||
6236 | 2004-11-05 Ramana Radhakrishnan <ramana.radhakrishnan@codito.com> | |
6237 | ||
6238 | PR target/18263 | |
6239 | * config/arc/lib1funcs.asm (___umulsidi3): Change use of cmp to the | |
6240 | equivalent on the A4. | |
6241 | ||
6242 | 2004-11-05 Joseph S. Myers <joseph@codesourcery.com> | |
6243 | ||
6244 | * doc/c-tree.texi, doc/cfg.texi, doc/contrib.texi, doc/cpp.texi, | |
6245 | doc/cppopts.texi, doc/extend.texi, doc/fragments.texi, | |
6246 | doc/frontends.texi, doc/gcov.texi, doc/hostconfig.texi, | |
6247 | doc/implement-c.texi, doc/install.texi, doc/invoke.texi, | |
6248 | doc/libgcc.texi, doc/md.texi, doc/passes.texi, | |
6249 | doc/portability.texi, doc/rtl.texi, doc/sourcebuild.texi, | |
6250 | doc/standards.texi, doc/tm.texi, doc/tree-ssa.texi, | |
6251 | doc/trouble.texi: Correct end-of-sentence markup and markup of | |
6252 | "etc.", "e.g." and "i.e.". Use @code in various places where | |
6253 | appropriate. | |
6254 | ||
6255 | 2004-11-05 Joseph S. Myers <joseph@codesourcery.com> | |
6256 | ||
6257 | * doc/c-tree.texi, doc/cfg.texi, doc/extend.texi, doc/gty.texi, | |
6258 | doc/install.texi, doc/invoke.texi, doc/md.texi, doc/passes.texi, | |
6259 | doc/rtl.texi, doc/tm.texi, doc/tree-ssa.texi: Remove trailing | |
6260 | whitespace. | |
6261 | ||
6262 | 2004-11-04 Mark Mitchell <mark@codesourcery.com> | |
6263 | ||
6264 | * config/arm/arm.c (arm_handle_notshared_attribute): New function. | |
6265 | * doc/extend.texi: Document "notshared" attribute. | |
6266 | ||
6267 | 2004-11-04 Kazu Hirata <kazu@cs.umass.edu> | |
6268 | ||
6269 | * tree-phinodes.c (make_phi_node): Make it static. | |
6270 | * tree.h: Remove the prototypes for make_phi_node. | |
6271 | ||
6272 | 2004-11-04 Kazu Hirata <kazu@cs.umass.edu> | |
6273 | ||
6274 | * stmt.c (expand_asm, expand_asm_operands): Make them static. | |
6275 | * tree.h: Remove the prototypes for expand_asm and | |
6276 | expand_asm_operands. | |
6277 | ||
6278 | 2004-11-04 Kazu Hirata <kazu@cs.umass.edu> | |
6279 | ||
6280 | * passes.c (rest_of_compilation): Make it static. | |
6281 | * toplev.h: Remove the prototype for rest_of_compilation. | |
6282 | ||
6283 | 2004-11-04 Kazu Hirata <kazu@cs.umass.edu> | |
6284 | ||
6285 | * jump.c (cleanup_barriers): Use delete_insn instead of | |
6286 | delete_barrier. | |
6287 | (delete_barrier): Remove. | |
6288 | * rtl.h: Remove the corresponding prototype. | |
6289 | ||
6290 | 2004-11-04 Kazu Hirata <kazu@cs.umass.edu> | |
6291 | ||
6292 | * expr.c (mostly_zero_p): Make it static. | |
6293 | * tree.h: Remove the prototype for mostly_zeros_p. | |
6294 | ||
6295 | 2004-11-04 Kazu Hirata <kazu@cs.umass.edu> | |
6296 | ||
6297 | * cfgrtl.c (force_nonfallthru_and_redirect): Make it static. | |
6298 | ||
6299 | 2004-11-04 Kazu Hirata <kazu@cs.umass.edu> | |
6300 | ||
6301 | * builtins.c (expand_builtin_return_addr, | |
6302 | expand_builtin_longjmp, expand_builtin_trap): Make them static. | |
6303 | * expr.h: Remove the prototypes for expand_builtin_longjmp and | |
6304 | expand_builtin_trap. | |
6305 | * tree.h: Remove the prototype for expand_builtin_return_addr. | |
6306 | ||
6307 | 2004-11-04 Kazu Hirata <kazu@cs.umass.edu> | |
6308 | ||
6309 | * tree-cfg.c (find_taken_edge): Reject VAL begin NULL. | |
6310 | * tree-ssa-ccp.c (visit_cond_stmt): Don't call find_taken_edge | |
6311 | with VAL being NULL. | |
6312 | ||
6313 | 2004-11-04 Kazu Hirata <kazu@cs.umass.edu> | |
6314 | ||
6315 | * cfghooks.c (delete_basic_block): Remove code to truncate | |
6316 | edge vectors. | |
6317 | ||
6318 | 2004-11-04 Andrew Pinski <pinskia@physics.uc.edu> | |
6319 | ||
6320 | * flow.c (init_propagate_block_info): Change the type of i to | |
6321 | unsigned. | |
6322 | ||
6323 | 2004-11-04 Ulrich Weigand <uweigand@de.ibm.com> | |
6324 | ||
6325 | PR tree-optimization/18184 | |
6326 | * c-typeck.c (comptypes): Do not treat pointers of different | |
6327 | modes or alias-all flags as equivalent. | |
6328 | * tree-ssa.c (tree_ssa_useless_type_conversion_1): Likewise. | |
6329 | ||
6330 | 2004-11-04 Joseph S. Myers <joseph@codesourcery.com> | |
6331 | ||
6332 | * doc/gty.texi, doc/makefile.texi, doc/sourcebuild.texi: Don't | |
6333 | reference specific C parser files in examples. | |
6334 | ||
6335 | 2004-11-04 Richard Sandiford <rsandifo@redhat.com> | |
6336 | ||
6337 | PR target/15342 | |
6338 | * regrename.c (scan_rtx): Treat the destinations of SETs and CLOBBERs | |
6339 | as OP_INOUT if the instruction is predicated. | |
6340 | ||
6341 | 2004-11-04 Kazu Hirata <kazu@cs.umass.edu> | |
6342 | ||
6343 | * bitmap.h: Fix a comment typo. Follow spelling conventions. | |
6344 | * tree-vectorizer.c: Fix a comment typo. | |
6345 | ||
6346 | 2004-11-04 Kazu Hirata <kazu@cs.umass.edu> | |
6347 | ||
6348 | * sdbout.c (SDB_GENERATE_FAKE): Remove. | |
6349 | (gen_fake_label): Don't use SDB_GENERATE_FAKE. | |
6350 | * system.h: Poison SDB_GENERATE_FAKE. | |
6351 | * doc/tm.texi (SDB_GENERATE_FAKE): Remove. | |
6352 | ||
6353 | 2004-11-04 Ulrich Weigand <uweigand@de.ibm.com> | |
6354 | ||
6355 | * config/s390/s390.md ("*addsi3_sign"): Use canonical RTL. | |
6356 | ||
6357 | 2004-11-04 Eric Botcazou <ebotcazou@libertysurf.fr> | |
6358 | ||
6359 | PR other/18277 | |
6360 | * gthr-posix.h (__gthread_recursive_mutex_init_function): Revert | |
6361 | 2004-10-29 patch | |
6362 | ||
6363 | 2004-11-04 Nathan Sidwell <nathan@codesourcery.com> | |
6364 | ||
6365 | * predict.c (propagate_freq): Make bitno unsigned. Move | |
6366 | npredecessors update out of loop. | |
6367 | ||
6368 | * bitmap.h (bitmap_iterator): Remove word_bit and bit | |
6369 | fields. Rename others. | |
6370 | (bmp_iter_common_next_1, bmp_iter_single_next_1, | |
6371 | bmp_iter_single_init, bmp_iter_end_p, bmp_iter_single_next, | |
6372 | bmp_iter_and_not_next_1, bmp_iter_and_not_init, | |
6373 | bmp_iter_and_not_next, bmp_iter_and_next_1, bmp_iter_and_init, | |
6374 | bmp_iter_and_next): Remove. | |
6375 | (bmp_iter_set_init, bmp_iter_and_init, bmp_iter_and_compl_init, | |
6376 | bmp_iter_next, bmp_iter_set, bmp_iter_and, bmp_iter_and_compl): | |
6377 | New. | |
6378 | (EXECUTE_IF_SET_IN_BITMAP, EXECUTE_IF_AND_IN_BITMAP, | |
6379 | EXECUTE_IF_AND_COMPL_IN_BITMAP): Adjust. | |
6380 | ||
6381 | * bitmap.h (bitmap_a_or_b, bitmap_a_and_b): Remove. | |
6382 | * df.c (dataflow_set_a_op_b): Use bitmap_and, bitmap_ior, | |
6383 | bitmap_and_into, bitmap_ior_into as appropriate. | |
6384 | * except.c (remove_eh_handler): Likewise. | |
6385 | * global.c (modify_bb_reg_pav, make_accurate_live_analysis): Likewise. | |
6386 | * tree-dfa.c (mark_new_vars_to_rename): Likewise. | |
6387 | * tree-ssa-alias.c (merge_pointed_to_info): Likewise. | |
6388 | * tree-ssa-live.h (live_merge_and_clear): Likewise. | |
6389 | * tree-ssa-loop-ivopts.c (find_best_candidate, try_add_cand_for): | |
6390 | Likewise. | |
6391 | ||
6392 | * bitmap.c (bitmap_print): Make bitno unsigned. | |
6393 | * bt-load.c (clear_btr_from_live_range, | |
6394 | btr_def_live_range): Likewise. | |
6395 | * caller-save.c (save_call_clobbered_regs): Likewise. | |
6396 | * cfganal.c (compute_dominance_frontiers_1): Likewise. | |
6397 | * cfgcleanup.c (thread_jump): Likewise. | |
6398 | * cfgrtl.c (safe_insert_insn_on_edge): Likewise. | |
6399 | * conflict.c (conflict_graph_compute): Likewise. | |
6400 | * ddg.c (add_deps_for_use): Likewise. | |
6401 | * df.c (df_refs_update): Likewise. | |
6402 | * except.c (remove_eh_handler): Likewise. | |
6403 | * flow.c (verify_local_live_at_start, update_life_info, | |
6404 | initialize_uninitialized_subregs, propagate_one_insn, | |
6405 | free_propagate_block_info, propagate_block, find_use_as_address, | |
6406 | reg_set_to_hard_reg_set): Likewise. | |
6407 | * gcse.c (clear_modify_mem_tables): Likewise. | |
6408 | * global.c (global_conflicts, build_insn_chain): Likewise. | |
6409 | * ifcvt.c (dead_or_predicable): Likewise. | |
6410 | * local-alloc.c (update_equiv_regs): Likewise. | |
6411 | * loop.c (load_mems): Likewise. | |
6412 | * ra-build.c (livethrough_conflicts_bb, conflicts_between_webs): | |
6413 | Likewise. | |
6414 | * ra-rewrite.c (reloads_to_loads, rewrite_program2, actual_spill): | |
6415 | Likewise. | |
6416 | * reload1.c (order_regs_for_reload, finish_spills): Likewise. | |
6417 | * sched-deps.c (sched_analyze_insn, free_deps): Likewise. | |
6418 | * sched-rgn.c (propagate_deps | |
6419 | * tree-cfg.c (tree_purge_all_dead_eh_edges): Likewise. | |
6420 | * tree-dfa.c (dump_dfa_stats | |
6421 | tree-into-ssa.c (compute_global_livein, insert_phi_nodes, | |
6422 | insert_phi_nodes_for, debug_def_blocks_r, invalidate_name_tags): | |
6423 | Likewise. | |
6424 | * tree-outof-ssa.c (coalesce_ssa_name, coalesce_vars, | |
6425 | free_temp_expr_table, find_replaceable_exprs): Likewise. | |
6426 | * tree-sra.c (scan_function, scalarize_parms): Likewise. | |
6427 | * tree-ssa-alias.c (init_alias_info, | |
6428 | compute_points_to_and_addr_escape, | |
6429 | compute_flow_sensitive_aliasing, maybe_create_global_var): Likewise. | |
6430 | * tree-ssa-dce.c (mark_control_dependent_edges_necessary): Likewise. | |
6431 | * tree-ssa-live.c (new_tree_live_info, live_worklist, | |
6432 | calculate_live_on_entry, calculate_live_on_exit, compare_pairs, | |
6433 | sort_coalesce_list, build_tree_conflict_graph, dump_live_info | |
6434 | tree-ssa-loop-manip.c (add_exit_phis_var): Likewise. | |
6435 | tree-ssa-operands.c (get_asm_expr_operands, add_call_clobber_ops, | |
6436 | add_call_read_ops): Likewise. | |
6437 | * tree-ssa-pre.c (bitmap_print_value_set, insert_aux): Likewise. | |
6438 | * tree-ssa-live.h (num_var_partitions): Return unsigned. | |
6439 | ||
6440 | 2004-11-03 Dorit Naishlos <dorit@il.ibm.com> | |
6441 | ||
6442 | PR tree-optimization/18009 | |
6443 | * tree-vectorizer.h (enum dr_alignment_support): New type. | |
6444 | (MAX_NUMBER_OF_UNALIGNED_DATA_REFS): Removed. | |
6445 | (LOOP_UNALIGNED_DR): replaced with LOOP_VINFO_UNALIGNED_DR and holds a | |
6446 | single data_reference (instead of a varray of references). | |
6447 | * tree-vectorizer.c (new_loop_vec_info): Likewise. | |
6448 | (vect_gen_niters_for_prolog_loop): Likewise. | |
6449 | (vect_update_inits_of_drs): Likewise. | |
6450 | ||
6451 | (vect_update_inits_of_drs): Setting of DR_MISALIGNMENT moved to | |
6452 | vect_enhance_data_refs_alignment. | |
6453 | (vect_do_peeling_for_alignment): Likewise. | |
6454 | (vect_enhance_data_refs_alignment): Decide if and by how much to peel; | |
6455 | this functionality used to be in vect_analyze_data_refs_alignment. | |
6456 | Also update DR_MISALIGNMENT due to peeling; this functionality used to | |
6457 | be in vect_update_inits_of_drs and vect_do_peeling_for_alignment). | |
6458 | (vect_analyze_data_refs_alignment): Decision on whether and by how much | |
6459 | to peel moved to vect_enhance_data_refs_alignment. Call | |
6460 | vect_supportable_dr_alignment. | |
6461 | ||
6462 | (vect_compute_data_ref_alignment): Set STMT_VINFO_VECTYPE. | |
6463 | (vect_compute_data_refs_alignment): Return bool. Consider return value | |
6464 | of vect_compute_data_ref_alignment and return true/false accordingly. | |
6465 | (vect_enhance_data_refs_alignment): Consider return value of | |
6466 | vect_compute_data_refs_alignment and return true/false accordingly. | |
6467 | ||
6468 | (vect_supportable_dr_alignment): New function. | |
6469 | (vectorizable_store): Call vect_supportable_dr_alignment. | |
6470 | (vectorizable_load): Call vect_supportable_dr_alignment. Alignment | |
6471 | support checks moved from here to vect_supportable_dr_alignment. | |
6472 | ||
6473 | (vect_transform_loop): Avoid 80 columns overflow. | |
6474 | ||
6475 | 2004-11-03 Andrew Pinski <pinskia@physics.uc.edu> | |
6476 | ||
6477 | * timevar.c (timevar_enable): Change from | |
6478 | static. | |
6479 | (timevar_push): Rename to ... | |
6480 | (timevar_push_1): this and remove the | |
6481 | enabled check. | |
6482 | (timevar_pop): Rename to ... | |
6483 | (timevar_pop_1): this and remove the | |
6484 | enabled check. | |
6485 | * timevar.h (POP_TIMEVAR_AND_RETURN): Use do/while loops. | |
6486 | (timevar_pop): New macro. | |
6487 | (timevar_push): New macro. | |
6488 | (timevar_enable): Declare. | |
6489 | ||
6490 | 2004-11-03 Andrew Pinski <pinskia@physics.uc.edu> | |
6491 | ||
6492 | * config/darwin.h (REAL_LIBGCC_SPEC): Define to use shared | |
6493 | libgcc for shared libraries. | |
6494 | ||
6495 | 2004-11-03 Ulrich Weigand <uweigand@de.ibm.com> | |
6496 | ||
6497 | * config/s390/s390-protos.h (s390_split_access_reg): Add prototype. | |
6498 | * config/s390/s390.c (s390_split_access_reg): New function. | |
6499 | (regclass_map): Add access registers. | |
6500 | (get_thread_pointer): Use access register instead of UNSPEC_TP. | |
6501 | * config/s390/s390.h (FIRST_PSEUDO_REGISTER): Set to 38. | |
6502 | (ACCESS_REGNO_P, ACCESS_REG_P): New macros. | |
6503 | (TP_REGNUM): New define. | |
6504 | (FIXED_REGISTERS, CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS, | |
6505 | REG_ALLOC_ORDER): Add access registers. | |
6506 | (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK, CLASS_MAX_NREGS, | |
6507 | CANNOT_CHANGE_MODE_CLASS): Support access registers. | |
6508 | (enum reg_class): Add ACCESS_REGS. | |
6509 | (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Likewise. | |
6510 | (REG_CLASS_FROM_LETTER): Add 't' constraint. | |
6511 | (REGISTER_NAMES): Add access registers. | |
6512 | * config/s390/s390.md (UNSPEC_TP): Remove. | |
6513 | ("*movdi_64"): Add access register alternatives. Provide splitters | |
6514 | to split DImode access register <-> GPR moves into SImode moves. | |
6515 | ("*movsi_zarch", "*movsi_esa"): Add access register alternatives. | |
6516 | ("movstrictsi"): Likewise. | |
6517 | ("get_tp_64", "get_tp_31"): Reimplement using access registers. | |
6518 | ("set_tp_64", "set_tp_31"): Likewise. | |
6519 | ("*set_tp"): New insn. | |
6520 | ||
6521 | 2004-11-03 Kazu Hirata <kazu@cs.umass.edu> | |
6522 | ||
6523 | * tree-phinodes.c (resize_phi_node): Copy only a portion of | |
6524 | the PHI node currently in use. | |
6525 | ||
6526 | 2004-11-03 Andrew Pinski <pinskia@physics.uc.edu> | |
6527 | ||
6528 | PR tree-opt/18231 | |
6529 | * tree.c (staticp) <case FUNCTION_DECL>: Nested functions are static | |
6530 | also. | |
6531 | ||
6532 | 2004-11-03 Andrew MacLeod <amacleod@redhat.com> | |
6533 | ||
6534 | PR tree-optimization/18270 | |
6535 | * tree-outof-ssa.c (analyze_edges_for_bb): If a block has incoming | |
6536 | abnormal edges, commit all pending stmts on incoming edges. | |
6537 | ||
6538 | 2004-11-03 Ulrich Weigand <uweigand@de.ibm.com> | |
6539 | ||
6540 | * tree-ssa-loop-ivopts.c (get_address_cost): Offset zero does not | |
6541 | cause extra costs. Generate canonical RTL. | |
6542 | ||
6543 | 2004-11-02 Daniel Berlin <dberlin@dberlin.org> | |
6544 | ||
6545 | * lambda-code.c (lambda_compute_auxillary_space): Update comments. | |
6546 | (lambda_compute_target_space). Ditto. | |
6547 | * lambda.h (lambda_trans_matrix): Ditto. | |
6548 | (lambda_linear_expression): Ditto. | |
6549 | (lambda_body_vector): Ditto. | |
6550 | (lambda_loopnest): Ditto. | |
6551 | * tree-loop-linear.c (gather_interchange_stats): Combine tests, | |
6552 | update comments, and remove pointless addition of 0. | |
6553 | (linear_transform_loops): Update comments. | |
6554 | ||
6555 | 2004-11-03 Sebastian Pop <pop@cri.ensmp.fr> | |
6556 | ||
6557 | * tree.c (tree_fold_gcd): Use FLOOR_MOD_EXPR instead of | |
6558 | CEIL_MOD_EXPR. | |
6559 | ||
6560 | 2004-11-03 Jeff Law <law@redhat.com> | |
6561 | ||
6562 | * predict.c (struct block_info_def): Kill "tovisit" field. | |
6563 | (propagate_freq): Accept new "tovisit" parameter. Change | |
6564 | read/write access methods for "tovisit" to check the "tovisit" | |
6565 | bitmap instead of a bit in block_info_def. | |
6566 | (estimate_loops_at_level): Allocate "tovisit" bitmap. Pass | |
6567 | it to propagate_freq. | |
6568 | ||
6569 | * stmt.c (expand_case): Speed up code to detect duplicate case | |
6570 | label targets and count unique case label targets. | |
6571 | ||
6572 | 2004-11-03 Kazu Hirata <kazu@cs.umass.edu> | |
6573 | ||
6574 | * cppdefault.c, cppdefault.h, timevar.h: Update copyright. | |
6575 | ||
6576 | 2004-11-03 Kazu Hirata <kazu@cs.umass.edu> | |
6577 | ||
6578 | * bitmap.h, dbxout.c, tree-mudflap.c: Fix comment formatting. | |
6579 | ||
6580 | 2004-11-03 Kazu Hirata <kazu@cs.umass.edu> | |
6581 | ||
6582 | * tree-cfg.c (find_taken_edge): Abort if we are given a | |
6583 | statement that is neither COND_EXPR nor SWITCH_EXPR. | |
6584 | ||
6585 | 2004-11-02 Zdenek Dvorak <dvorakz@suse.cz> | |
6586 | ||
6587 | * fold-const.c (fold): Reassociate also (x - mult) + mult and | |
6588 | (mult - x) + mult. Cast operands of expression after applying | |
6589 | distributive law to the correct types. Apply distributive law | |
6590 | to a * c - b * c for all non-float types. | |
6591 | ||
6592 | 2004-11-02 Geoffrey Keating <geoffk@apple.com> | |
6593 | ||
6594 | * configure.ac: Don't clear STMP_FIXINC or STMP_FIXPROTO just | |
6595 | because we don't want to run them now; instead, set them to | |
6596 | stmp-install-fixproto or stmp-install-fixinc. | |
6597 | * Makefile.in (stmp-install-fixproto): New. | |
6598 | (stmp-install-fixinc): New. | |
6599 | * configure: Regenerate. | |
6600 | ||
6601 | 2004-11-02 Nathan Sidwell <nathan@codesourcery.com> | |
6602 | ||
6603 | * flow.c (init_propagate_block_info): Use bitmap_empty_p on result | |
6604 | of bitmap_xor. | |
6605 | ||
6606 | 2004-11-02 Ziemowit Laski <zlaski@apple.com> | |
6607 | ||
6608 | * c-lang.c (LANG_HOOKS_TYPES_COMPATIBLE_P): Remove. | |
6609 | (c_types_compatible_p): Move function definition... | |
6610 | * c-objc-common.c (c_types_compatible_p): ...here. | |
6611 | * c-objc-common.h (LANG_HOOKS_TYPES_COMPATIBLE_P): Moved here from | |
6612 | c-lang.c. | |
6613 | ||
6614 | 2004-11-02 Steven Bosscher <stevenb@suse.de> | |
6615 | ||
6616 | * cfgloop.h (struct loop): Update comment. | |
6617 | * cse.c (cse_main): Remove obsolete comment. | |
6618 | ||
6619 | * expr.h (gen_cond_trap): Move prototype under functions provided | |
6620 | by optabs.c. | |
6621 | (canonicalize_condition, get_condition): Move to... | |
6622 | * rtl.h (canonicalize_condition, get_condition): ...here. | |
6623 | (branch_target_load_optimize): Add comment that this function is | |
6624 | in bt-load.c. | |
6625 | * loop.c (canonicalize_condition, get_condition): Move to... | |
6626 | * rtlanal.c (canonicalize_condition, get_condition): ...here. | |
6627 | * sched-deps.c (get_condition): Rename to sched_get_condition. | |
6628 | (add_dependence): Update this caller. | |
6629 | ||
6630 | 2004-11-02 Andrew Pinski <pinskia@physics.uc.edu> | |
6631 | ||
6632 | PR tree-opt/16808 | |
6633 | * tree-ssa.c (replace_immediate_uses): If we call fold_stmt, make sure | |
6634 | that the vops get marked for renaming. | |
6635 | ||
6636 | 2004-11-02 Andreas Krebbel <krebbel1@de.ibm.com> | |
6637 | ||
6638 | * config/s390/s390.md ("movcc"): Set type attribute. | |
6639 | ||
6640 | 2004-11-02 Kazu Hirata <kazu@cs.umass.edu> | |
6641 | ||
6642 | * tree-phinodes.c (add_phi_arg): Add an assertion that the | |
6643 | edge already exists. | |
6644 | ||
6645 | 2004-11-02 Kazu Hirata <kazu@cs.umass.edu> | |
6646 | ||
6647 | * tree-phinodes.c (remove_phi_arg_num): Do not zero the | |
6648 | element that's being removed. | |
6649 | ||
6650 | 2004-11-02 Kazu Hirata <kazu@cs.umass.edu> | |
6651 | ||
6652 | * tree-ssa-threadupdate.c (copy_phis_to_block): Install PHI | |
6653 | arguments using PENDING_STMT. | |
6654 | (thread_block): Call copy_phis_to_block after redirecting an | |
6655 | edge. | |
6656 | ||
6657 | 2004-11-02 Nathan Sidwell <nathan@codesourcery.com> | |
6658 | ||
6659 | * bitmap.h (bitmap_and, bitmap_and_into, bitmap_and_compl, | |
6660 | bitmap_and_compl_into, bitmap_ior, bitmap_iot_into, | |
6661 | bitmap_ior_compl, bitmap_xor, bitmap_xor_into): Produce void. | |
6662 | (bitmap_ior_and_compl_into): Produce bool. | |
6663 | (bitmap_union_of_diff): Rename to ... | |
6664 | (bitmap_ior_and_compl): ... here. Produce bool. | |
6665 | * bitmap.c (bitmap_ior_and_compl_into): Return bool. Use | |
6666 | bitmap_operation directly. | |
6667 | (bitmap_union_of_diff): Rename to ... | |
6668 | (bitmap_ior_and_compl): ... here. Return bool, use | |
6669 | bitmap_operation directly. | |
6670 | * df.c (df_rd_transfer_function): Use bitmap_ior_and_compl. | |
6671 | (df_ru_transfer_function, df_lr_transfer_function): Likewise. | |
6672 | * global.c (modify_bb_reg_pav): Likewise. | |
6673 | ||
6674 | * bitmap.h (bitmap_equal_p): Return bool. | |
6675 | (bitmap_intersect_p, bitmap_intersect_compl_p): Declare. | |
6676 | * bitmap.c (bitmap_equal_p): Return bool. Compare directly. | |
6677 | (bitmap_intersect_p, bitmap_intersect_compl_p): New. | |
6678 | * flow.c (calculate_global_regs_live): Use bitmap_intersect_p and | |
6679 | bitmap_intersect_compl_p. | |
6680 | * ifcvt (dead_or_predicable): Likewise. | |
6681 | ||
6682 | 2004-11-02 Nathan Sidwell <nathan@codesourcery.com> | |
6683 | ||
6684 | PR rtl-optimization/17104 | |
6685 | * config/rs6000/rs6000.c (rs6000_emit_move): Don't wrap small | |
6686 | loads in zero_extend. | |
6687 | ||
6688 | 2004-11-02 Danny Smith <dannysmith@users.sourceforge.net> | |
6689 | ||
6690 | PR debug/18242 | |
6691 | * toplev.c (debug_type_names): Remove "dwarf-1". | |
6692 | ||
6693 | 2004-11-02 Ben Elliston <bje@au.ibm.com> | |
6694 | ||
6695 | * timevar.h (timevar_get): Remove. | |
6696 | * timevar.c (timevar_get): Remove unused function. | |
6697 | ||
6698 | 2004-11-02 Joseph S. Myers <joseph@codesourcery.com> | |
6699 | ||
6700 | * doc/include/texinfo.tex: Update from Texinfo CVS. | |
6701 | ||
6702 | 2004-11-02 Ben Elliston <bje@au.ibm.com> | |
6703 | ||
6704 | * cppdefault.h (cpp_SYSROOT): Remove. | |
6705 | * cppdefault.c (cpp_SYSROOT): Likewise. | |
6706 | ||
6707 | 2004-11-01 Andrew MacLeod <amacleod@redhat.com> | |
6708 | ||
6709 | PR tree-optimization/16447 | |
6710 | * tree-cfg.c (bsi_commit_one_edge_insert): Rename from | |
6711 | bsi_commit_edge_inserts_1, and make funtion external. Return new block. | |
6712 | (bsi_commit_edge_inserts): Use renamed bsi_commit_one_edge_insert. | |
6713 | * tree-optimize.c (pass_cleanup_cfg_post_optimizing): Enable listing. | |
6714 | * tree-flow.h (bsi_commit_one_edge_insert): Extern decl. | |
6715 | * tree-outof-ssa.c (rewrite_trees): Don't commit edges here. | |
6716 | (same_stmt_list_p): New. Return TRUE if edge is to be forwarded. | |
6717 | (identical_copies_p): New. Return true is two copies are the same. | |
6718 | (identical_stmt_lists_p): New. Return true if stmt lists are the same. | |
6719 | (analyze_edges_for_bb): New. Determine how best to insert edge stmts | |
6720 | for a basic block. | |
6721 | (perform_edge_inserts): New. Determine what to do with all stmts that | |
6722 | have been inserted on edges. | |
e8366202 | 6723 | (remove_ssa_form): Analyze and commit edges from here. |
7a4515d7 SB |
6724 | |
6725 | 2004-11-01 Andrew Pinski <pinskia@physics.uc.edu> | |
6726 | ||
6727 | PR bootstrap/18232 | |
6728 | * bitmap.h (bmp_iter_end_p): Take a const pointer instead of a struct. | |
6729 | (EXECUTE_IF_SET_IN_BITMAP): Update call to bmp_iter_end_p. | |
6730 | (EXECUTE_IF_AND_COMPL_IN_BITMAP): Likewise. | |
6731 | (EXECUTE_IF_AND_IN_BITMAP): Likewise. | |
6732 | ||
6733 | 2004-11-01 Joseph S. Myers <joseph@codesourcery.com> | |
6734 | ||
6735 | PR c/18239 | |
6736 | * c-decl.c (get_parm_info): Allow FUNCTION_DECLs to appear amongst | |
6737 | parameter declarations. | |
6738 | ||
6739 | 2004-11-01 Andreas Krebbel <krebbel1@de.ibm.com> | |
6740 | ||
6741 | * config/s390/s390.c (regclass_map): Put reg 33 (cc) to CC_REGS group. | |
6742 | (s390_secondary_input_reload_class) | |
6743 | (s390_secondary_output_reload_class): Use GENERAL_REGS to reload a cc | |
6744 | register. | |
6745 | (s390_expand_cmpmem): Enable cmpmem implementation. | |
6746 | * config/s390/s390.h (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): | |
6747 | Added three new classes: CC_REGS, ADDR_CC_REGS, GENERAL_CC_REGS. | |
6748 | (REG_CLASS_FROM_LETTER): New constraint 'c' added. | |
6749 | * config/s390/s390.md ("movcc"): New insn pattern. | |
6750 | * doc/md.texi: Document 'c' constraint for s390. | |
6751 | ||
6752 | 2004-11-01 Nathan Sidwell <nathan@codesourcery.com> | |
6753 | ||
6754 | PR c++/18064 | |
6755 | * doc/extend.texi (Deprecated Features): Deprecate G++ covariant | |
6756 | extension. | |
6757 | ||
6758 | 2004-10-16 Daniel Berlin <dberlin@dberlin.org> | |
6759 | ||
6760 | Fix PR tree-optimization/17672 | |
6761 | Fix PR tree-optimization/18168 | |
6762 | ||
6763 | * lambda-code.c (lambda_lattice_compute_base): Fix reversed | |
6764 | assert test. | |
6765 | (gcc_tree_to_linear_expression): Add extra to existing constant. | |
6766 | (depth_of_nest): Factor out function used in various places. | |
6767 | (gcc_loop_to_lambda_loop): Clean up code a little bit. No | |
6768 | functional changes. | |
6769 | (find_induction_var_from_exit_cond): Stop guessing, and just | |
6770 | get the right answer :). | |
6771 | (gcc_loopnest_to_lambda_loopnest): Remove useless pre-allocation. | |
6772 | Print out message about result of attempt to create perfect nest. | |
6773 | (lbv_to_gcc_expression): Add type argument, use it to do math | |
6774 | and induction variable creation. | |
6775 | (lle_to_gcc_expression): Ditto. | |
6776 | (lambda_loopnest_to_gcc_loopnest): Create new iv with same type as | |
6777 | oldiv. Pass type argument to lle_to_gcc_expression and | |
6778 | lbv_to_gcc_expression. | |
6779 | Reset number of iterations after transformation. | |
6780 | (perfect_nestify): Remove useless pre-allocation, and cleanup | |
6781 | a small amount. | |
6782 | ||
6783 | * tree-data-ref.c (build_classic_dist_vector): Return false for | |
6784 | dependences completely outside of the loop nest we asked about. | |
6785 | (build_classic_dir_vector): Ditto. | |
6786 | (compute_data_dependences_for_loop): Only add dependence relations | |
6787 | inside the loop we asked about. | |
6788 | ||
6789 | * tree-loop-linear.c (linear_transform_loops): Use DDR_SIZE_VECT. | |
6790 | Compute immediate uses. | |
6791 | ||
6792 | * tree-optimize.c: Move linear_transform_loops to before ivcanon. | |
6793 | ||
6794 | 2004-11-01 Kazu Hirata <kazu@cs.umass.edu> | |
6795 | ||
6796 | * tree-cfg.c (thread_jumps): Fix a comment typo. | |
6797 | ||
6798 | 2004-11-01 Kazu Hirata <kazu@cs.umass.edu> | |
6799 | ||
6800 | * tree-cfg.c (thread_jumps): Fix a comment typo. | |
6801 | ||
6802 | 2004-10-31 Nicolas Pitre <nico@cam.org> | |
6803 | ||
6804 | * config/arm/ieee754-sf.S (floatdisf): Fix regression with | |
6805 | values smaller than 2^32. | |
6806 | ||
6807 | 2004-10-31 Jeff Law <law@redhat.com> | |
6808 | ||
6809 | * cfgloop.h (struct loop): Remove unused "nodes" field. | |
6810 | * timevar.def (TV_TREE_LOOP_BOUNDS): New. | |
6811 | * tree-data-ref.c (find_data_references_in_loop): Use get_loop_body | |
6812 | instead of calling flow_bb_inside_loop_p for every basic block | |
6813 | in the function. | |
6814 | * tree-ssa-loop.c (pass_record_bounds): Use TV_TREE_LOOP_BOUNDS. | |
6815 | ||
6816 | 2004-10-31 Graham Stott <graham.stott@btinternet.com> | |
6817 | ||
6818 | * config/pa/pa.md: (prefetch_64, prefetch_32): Fix typo. Use | |
6819 | INT_5_BITS instead of VAL_5_BITS_P. | |
6820 | ||
6821 | 2004-10-31 Roger Sayle <roger@eyesopen.com> | |
6822 | ||
6823 | PR middle-end/14521 | |
6824 | * tree-inline.c (inline_forbidden_p_1): Use %qF instead of '%F' | |
6825 | for consistent quoting in diagnostic messages. | |
6826 | (expand_call_inline): Likewise. | |
6827 | * tree-optimize.c (tree_rest_of_compilation): Likewise. | |
6828 | * tree-ssa.c (warn_uninitialized_var): Likewise. | |
6829 | (warn_uninitialized_phi): Likewise. | |
6830 | ||
6831 | 2004-10-31 Richard Sandiford <rsandifo@redhat.com> | |
6832 | ||
6833 | * config/mips/mips.c (mips_cannot_change_mode_class): Use a stricter | |
6834 | mode check. | |
6835 | ||
6836 | 2004-10-31 Kazu Hirata <kazu@cs.umass.edu> | |
6837 | ||
6838 | * c-common.c: Fix a comment typo. | |
6839 | ||
6840 | 2004-10-31 Jason Merrill <jason@redhat.com> | |
6841 | ||
6842 | PR middle-end/17526 | |
6843 | * tree-gimple.c (is_gimple_mem_rhs): Also require a val for | |
6844 | aggregate types that are not BLKmode. | |
6845 | ||
6846 | 2004-10-30 Ziemowit Laski <zlaski@apple.com> | |
6847 | ||
6848 | * c-common.h (objc_lookup_ivar): Add second parameter to | |
6849 | prototype. | |
6850 | * c-typeck.c (build_external_ref): After looking up symbol, | |
6851 | pass it to objc_lookup_ivar() to decide whether it or the | |
6852 | ivar should be used, rather than deciding the issue locally. | |
6853 | * stub-objc.c (objc_lookup_ivar): Add an OTHER parameter, | |
6854 | which is simply returned in the non-ObjC case. | |
6855 | ||
6856 | 2004-10-30 Danny Smith <dannysmith@users.sourceforge.net> | |
6857 | ||
6858 | * sdbout.c (sdbout_symbol): Do not output type .def statements | |
6859 | for builtin types. | |
6860 | ||
6861 | 2004-10-30 Gabriel Dos Reis <gdr@integrable-solutions.net> | |
6862 | ||
6863 | * c-common.c (catenate_strings): New. | |
6864 | (c_parse_error): Use it. Don't over-escape. | |
6865 | ||
6866 | 2004-10-30 Kaz Kojima <kkojima@gcc.gnu.org> | |
6867 | ||
6868 | * config/sh/sh.c (calc_live_regs): Declare reg as unsigned and | |
6869 | modify the for loop expressions for it. Remove unnecessary casts. | |
6870 | (sh_expand_prologue): Declare reg as unsigned. | |
6871 | (sh_gimplify_va_arg_expr): Initinalize lab_over. | |
6872 | (sh_handle_sp_switch_attribute): Add const qualifier appropriately. | |
6873 | ||
6874 | 2004-10-30 Geoffrey Keating <geoffk@apple.com> | |
6875 | ||
6876 | * doc/invoke.texi (Darwin Options): Improve description of | |
6877 | how the subtype is chosen. | |
6878 | ||
6879 | 2004-10-30 Roger Sayle <roger@eyesopen.com> | |
6880 | ||
6881 | PR middle-end/18096 | |
6882 | * config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Check that | |
6883 | the stack adjustment, "size", is valid for Pmode. If the stack | |
6884 | frame is too large, generate a trap insn and issue a warning. | |
6885 | ||
6886 | 2004-10-30 Kazu Hirata <kazu@cs.umass.edu> | |
6887 | ||
6888 | * tree-ssa-dom.c: Fix comment typos. | |
6889 | ||
6890 | 2004-10-30 Kaz Kojima <kkojima@gcc.gnu.org> | |
6891 | ||
6892 | * config/sh/sh.c (prepare_move_operands): Use operands[0] | |
6893 | for the output rtl if no_new_pseudos is set. Remove redundant | |
6894 | line. | |
6895 | ||
6896 | 2004-10-30 Joseph S. Myers <joseph@codesourcery.com> | |
6897 | ||
6898 | PR c/16666 | |
6899 | * c-decl.c (start_function): Don't check for DECL_BUILT_IN when | |
6900 | determining whether to copy parameter types from a previous | |
6901 | prototype declaration. | |
6902 | ||
6903 | 2004-10-29 Roger Sayle <roger@eyesopen.com> | |
6904 | ||
6905 | PR rtl-optimization/17581 | |
6906 | * cselib.c (cselib_process_insn): The last instruction of a libcall | |
6907 | block, with the REG_RETVAL note, should be considered in the libcall. | |
6908 | * gcse.c (do_local_cprop): Allow constants to be propagated outside | |
6909 | of libcall blocks. | |
6910 | (adjust_libcall_notes): Use simplify_replace_rtx instead of | |
6911 | replace_rtx to avoid creating invalid RTL in REG_RETVAL notes. | |
6912 | ||
6913 | 2004-10-30 Kazu Hirata <kazu@cs.umass.edu> | |
6914 | ||
6915 | * tree-phinodes.c (create_phi_node): Don't zero PHI_REWRITTEN. | |
6916 | ||
6917 | 2004-10-29 Jeff Law <law@redhat.com> | |
6918 | ||
6919 | * tree-ssa-dom.c (struct edge_info): New structure holding | |
6920 | edge equivalences and edge redirection information. | |
6921 | (get_eq_expr_value, record_dominating_conditions): Kill. | |
6922 | (propagate_to_outgoing_edges): Renamed from cprop_into_phis. | |
6923 | Call record_edge_info. | |
6924 | (allocate_edge_info, free_edge_info): New. | |
6925 | (tree_ssa_dominator_optimize): Use propagate_to_outgoing_edges | |
6926 | rather than cprop_into_phis. Free all edge infos before threading | |
6927 | jumps. | |
6928 | (thread_across_edge): Allocate new edge info structures as needed | |
6929 | and store the redirection target into the edge info structure | |
6930 | instead of the edge's AUX field. | |
6931 | (dom_opt_initialize_block): Mark unused argument with ATTRIBUTE_UNUSED. | |
6932 | (record_equivalence_from_incoming_edge): Lose unnecessary argument. | |
6933 | Revamp code which finds and records equivalences associated with | |
6934 | edges to use saved data in the edge_info structure. | |
6935 | (record_equivalencs_from_phis): Similarly. | |
6936 | (dom_opt_finalize_block): Revamp code which finds and records | |
6937 | equivalences associated with edges to use saved data in the | |
6938 | edge_info structure. | |
6939 | (build_and_record_new_cond): New function. | |
6940 | (record_conditions): Use build_and_record_new_cond to record | |
6941 | dominating conditions. | |
6942 | (record_edge_info): New function. | |
6943 | (record_range): Tighten test for conditions which create | |
6944 | useful range records. | |
6945 | ||
6946 | 2004-10-29 Geoffrey Keating <geoffk@apple.com> | |
6947 | ||
6948 | * config/i386/darwin.h (ASM_SPEC): Simplify. | |
6949 | (SUBTARGET_EXTRA_SPECS): Add darwin_subarch spec. | |
6950 | * config/rs6000/darwin.h (DARWIN_SUBARCH_SPEC): New. | |
6951 | (SUBTARGET_EXTRA_SPECS): Add darwin_subarch spec. | |
6952 | * config/darwin.h (LINK_COMMAND_SPEC): Don't pass -arch here. | |
6953 | (LINK_SPEC): Do pass -arch here. Handle -force_cpusubtype_ALL | |
6954 | in all cases. Pass the right -arch or -arch_only based on -mcpu. | |
6955 | (ASM_SPEC): Handle -force_cpusubtype_ALL. | |
6956 | * doc/invoke.texi (Darwin Options): Improve documentation for | |
6957 | Darwin linker (and libtool) switches. | |
6958 | ||
6959 | * config/rs6000/darwin-fallback.c: Include <mach/thread_status.h>. | |
6960 | ||
6961 | 2004-10-29 Stan Shebs <shebs@apple.com> | |
6962 | ||
6963 | * config/rs6000/darwin-tramp.asm: Make more 64-bit-friendly. | |
6964 | ||
6965 | 2004-10-29 Kazu Hirata <kazu@cs.umass.edu> | |
6966 | ||
6967 | * tree-phinodes.c (allocate_phi_node): New. | |
6968 | (make_phi_node, resize_phi_node): Use it. | |
6969 | ||
6970 | 2004-10-29 David Edelsohn <edelsohn@gnu.org> | |
6971 | ||
6972 | * config/rs6000/sysv4.h (TARGET_POWER): Define as 0. | |
6973 | * config/rs6000/darwin.h (TARGET_POWER): Define as 0. | |
6974 | ||
6975 | 2004-10-29 Kazu Hirata <kazu@cs.umass.edu> | |
6976 | ||
6977 | * tree-phinodes.c (make_phi_node, resize_phi_node): Don't zero | |
6978 | the whole PHI node. | |
6979 | * tree.h (tree_phi_node): Tell the garbage collector to chase | |
6980 | num_args arguments. | |
6981 | ||
6982 | 2004-10-29 Richard Earnshaw <rearnsha@arm.com> | |
6983 | ||
6984 | * opts.c (decode_options): Lower the crossjump threshold for -Os. | |
6985 | ||
6986 | 2004-10-29 Diego Novillo <dnovillo@redhat.com> | |
6987 | ||
6988 | * tree.h (struct tree_ssa_name): Remove field 'equiv'. | |
6989 | ||
6990 | 2004-10-28 Nathan Sidwell <nathan@codesourcery.com> | |
6991 | ||
6992 | * bitmap.h (bitmap_empty_p): New. | |
6993 | (bitmap_and, bitmap_and_into, bitmap_and_compl, | |
6994 | bitmap_and_compl_into, bitmap_ior, bitmap_ior_into, | |
6995 | bitmap_ior_compl, bitmap_xor, bitmap_xor_into): New bitmap | |
6996 | operation macros. | |
6997 | (bitmap_ior_and_compl): Rename to ... | |
6998 | (bitmap_ior_and_compl_into): ... here. | |
6999 | * bitmap.c (bitmap_equal_p): Use bitmap_xor. | |
7000 | (bitmap_ior_and_compl): Rename to ... | |
7001 | (bitmap_ior_and_compl_into): ... here. Adjust. Return changed | |
7002 | flag. | |
7003 | (bitmap_union_of_diff): Use renamed bitmap functions. | |
7004 | * basic-block.h (AND_REG_SET, AND_COMPL_REG_SET, IOR_REG_SET, | |
7005 | XOR_REG_SET, IOR_AND_COMPL_REG_SET): Likewise. | |
7006 | * cfgrtl.c (safe_insert_insn_on_edge): Likewise. | |
7007 | * df.c (df_bb_rd_local_compute) | |
7008 | * flow.c (calculate_global_regs_live, | |
7009 | init_propagate_block_info): Likewise. | |
7010 | * ifcvt.c (find_if_case_1, find_if_case_2, | |
7011 | dead_or_predicable): Likewise. | |
7012 | * ra-build.c (union_web_part_roots, livethrough_conflicts_bb, | |
7013 | reset_conflicts, conflicts_between_webs): Likewise. | |
7014 | * ra-rewrite.c (reloads_to_loads, rewrite_program2, | |
7015 | detect_web_parts_to_rebuild): Likewise. | |
7016 | * sched-ebb.c (compute_jump_reg_dependencies): Likewise. | |
7017 | * tree-int-ssa.c (insert_phi_nodes_for, rewrite_into_ssa): Likewise. | |
7018 | * tree-sra.c (decide_instantiations): Likewise. | |
7019 | * tree-ssa-alias.c (create_name_tags, | |
7020 | merge_pointed_to_info): Likewise. | |
7021 | * tree-ssa-dom.c (tree_ssa_dominator_optimize): Likewise. | |
7022 | * tree-ssa-loop-im.c (move_computations): Likewise. | |
7023 | * tree-ssa-operands.c (get_call_expr_operands): Likewise. | |
7024 | * tree-ssa-pre.c (fini_pre): Likewise. | |
7025 | * tree-ssa.c (verify_flow_sensitive_alias_info): Likewise. | |
7026 | * tree-ssanames.c (any_marked_for_rewrite_p): Likewise. | |
7027 | * tree-vectorizer.c (vectorize_loops): Likewise. | |
7028 | ||
7029 | 2004-10-29 Nick Clifton <nickc@redhat.com> | |
7030 | ||
7031 | config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): When | |
7032 | adding the PIC register to the fixed_regs array, also add it | |
7033 | to the call_used_regs array. | |
7034 | ||
7035 | 2004-10-29 Eric Botcazou <ebotcazou@libertysurf.fr> | |
7036 | ||
7037 | * gthr-posix.h (__gthread_recursive_mutex_init_function): Guard | |
7038 | with #ifdef PTHREAD_MUTEX_RECURSIVE/#endif pairs. | |
7039 | ||
7040 | 2004-10-28 Daniel Berlin <dberlin@dberlin.org> | |
7041 | ||
7042 | * tree-into-ssa.c (rewrite_virtual_phi_arguments): New function. | |
7043 | (rewrite_blocks): Modify argument, and use it to decide which | |
7044 | function to call. | |
7045 | (rewrite_def_def_chains): Call rewrite_blocks with true here. | |
7046 | (rewrite_into_ssa): and call it with false here. | |
7047 | ||
7048 | 2004-10-29 Kazu Hirata <kazu@cs.umass.edu> | |
7049 | ||
7050 | * tree-phinodes.c (add_phi_arg): Turn an "if" that always | |
7051 | triggers into gcc_assert. | |
7052 | ||
7053 | 2004-10-28 Diego Novillo <dnovillo@redhat.com> | |
7054 | ||
7055 | PR tree-optimization/16728 | |
7056 | * tree-flow.h (get_ptr_info): Declare. | |
7057 | * tree-ssa-alias.c (get_ptr_info): Make extern. | |
7058 | * tree-ssa-copy.c (merge_alias_info): Merge flow-sensitive | |
7059 | alias information. | |
7060 | ||
7061 | 2004-10-28 Stan Shebs <shebs@apple.com> | |
7062 | ||
7063 | * config/rs6000/darwin.h (SUBTARGET_EXTRA_SPECS): Handle -m64. | |
7064 | * config/rs6000/rs6000.c (rs6000_darwin_file_start): Add ppc64 | |
7065 | case. | |
7066 | ||
7067 | 2004-10-28 Frank Ch. Eigler <fche@redhat.com> | |
7068 | ||
7069 | * tree-mudflap.c (mudflap_init): Mark cache-lookup decls to | |
7070 | prevent their later unnecessary registration. | |
7071 | (mf_build_check_statement_for): Remove "addr" argument, and | |
7072 | related "__mf_value" generated code. Update callers. | |
7073 | (mf_decl_eligible_p): New function, factored from mx_register_decls. | |
7074 | (mx_register_decls): Call it. | |
7075 | (mf_xform_derefs_1): Rewrite COMPONENT_REF and ARRAY_REF cases | |
7076 | to restore support for complex nested expressions. | |
7077 | (mudflap_enqueue_decl): Simplify. Move registration call emission | |
7078 | out ... | |
7079 | (mudflap_finish_file): ... to here. | |
7080 | (mudflap_enqueue_constant): Remove dump code. | |
7081 | ||
7082 | 2004-10-28 Zack Weinberg <zack@codesourcery.com> | |
7083 | ||
7084 | PR 18199 | |
7085 | * dbxout.c (dbxout_begin_complex_stabs_noforcetext): New function. | |
7086 | (DBX_FINISH_STABS): Add (unused by default) SYM parameter. | |
7087 | (dbxout_finish_complex_stabs): Update to match. | |
7088 | (dbxout_symbol_location): Call emit_pending_bincls_if_required | |
7089 | and FORCE_TEXT before DBX_STATIC_BLOCK_START. Use | |
7090 | dbxout_begin_complex_stabs_noforcetext. | |
7091 | * xcoffout.h (DBX_FINISH_STABS): Restore special case for | |
7092 | N_GSYM, using new SYM parameter. Correct logic for special | |
7093 | cases for N_FUN. | |
7094 | ||
7095 | * varasm.c (function_section): If DECL is NULL_TREE, don't try | |
7096 | to do anything else. Do not call get_insns if cfun or | |
7097 | cfun->emit are NULL. | |
7098 | ||
7099 | 2004-10-28 Adam Nemet <anemet@lnxw.com> | |
7100 | ||
7101 | PR middle-end/18160 | |
7102 | * c-typeck.c (c_mark_addressable): Issue error if address of a | |
7103 | register variable is taken. Use "%qD" to print DECL_NAME. | |
7104 | ||
7105 | 2004-10-28 Diego Novillo <dnovillo@redhat.com> | |
7106 | ||
7107 | * opts.c (decode_options): Don't run PRE at -Os. | |
7108 | ||
7109 | 2004-10-28 Richard Henderson <rth@redhat.com> | |
7110 | ||
7111 | * config/alpha/alpha.md (movqicc_internal): Allow exactly one | |
7112 | zero in the conditional. | |
7113 | (movhicc_internal, movsicc_internal, movdicc_internal): Likewise. | |
7114 | ||
7115 | 2004-10-28 Richard Henderson <rth@redhat.com> | |
7116 | ||
7117 | * cse.c (memory_extend_rtx): Remove. | |
7118 | (cse_main): Don't set it. | |
7119 | (cse_insn): Use a local buffer instead. | |
7120 | ||
7121 | 2004-10-28 Andreas Krebbel <krebbel1@de.ibm.com> | |
7122 | ||
7123 | * profile.c (branch_prob): Call to init_edge_profiler added. | |
7124 | * rtl-profile.c (rtl_init_edge_profiler): New function. | |
7125 | (rtl_gen_edge_profiler): Replaced call to insert_insn_on_edge with | |
7126 | call to safe_insert_insn_on_edge. | |
7127 | (rtl_profile_hooks): rtl_init_edge_profiler added. | |
7128 | * tree-profile.c (tree_init_edge_profiler): New function. | |
7129 | (tree_profile_hooks): tree_init_edge_profiler added. | |
7130 | * value-prof.h (profile_hooks) init_edge_profiler prototype added. | |
7131 | ||
7132 | 2004-10-28 Nick Clifton <nickc@redhat.com> | |
7133 | ||
7134 | * config/iq2000/iq2000.c (iq2000_expand_epilogue): Use | |
7135 | emit_jump_insn() to generate the return instruction. | |
7136 | ||
7137 | 2004-10-28 Kazu Hirata <kazu@cs.umass.edu> | |
7138 | ||
7139 | * tree-phinodes.c: Remove trailing whitespace. | |
7140 | ||
7141 | 2004-10-28 Kazu Hirata <kazu@cs.umass.edu> | |
7142 | ||
7143 | * tree-ssa-loop-ivopts.c: Fix a comment typo. | |
7144 | * doc/invoke.texi: Fix a typo. | |
7145 | ||
7146 | 2004-10-28 Kazu Hirata <kazu@cs.umass.edu> | |
7147 | ||
7148 | * Makefile.in (OBJS-common): Remove duplicates. | |
7149 | ||
7150 | 2004-10-28 Kazu Hirata <kazu@cs.umass.edu> | |
7151 | ||
7152 | * lambda-code.c (nestify_update_pending_stmts): Remove. | |
7153 | (perfect_nestify): Use flush_pending_stmts instead of | |
7154 | nestify_update_pending_stmts. | |
7155 | * tree-cfg.c (tree_make_forwarder_block): Use | |
7156 | flush_pending_stmts. | |
7157 | * tree-flow.h: Add a prototype for flush_pending_stmts. | |
7158 | * tree-ssa-loop-manip.c (tree_duplicate_loop_to_header_edge): | |
7159 | Use flush_pending_stmts. | |
7160 | (lv_update_pending_stmts): Remove. | |
7161 | (tree_ssa_loop_version): Use flush_pending_stmts instead of | |
7162 | lv_update_pending_stmts. | |
7163 | * tree-ssa.c (flush_pending_stmts): New. | |
7164 | ||
7165 | 2004-10-28 Ulrich Weigand <uweigand@de.ibm.com> | |
7166 | ||
7167 | PR target/15286 | |
7168 | * final.c (alter_subreg): Compute correct offset to use with | |
7169 | paradoxical SUBREGs of memory operands. | |
7170 | * recog.c (general_operand): Allow paradoxical SUBREGs of | |
7171 | memory operands after reload. | |
7172 | * simplify-rtx.c (simplify_gen_subreg): Fail if simplify_subreg | |
7173 | has failed when passed a hard register. | |
7174 | ||
7175 | 2004-10-28 Aldy Hernandez <aldyh@redhat.com> | |
7176 | ||
7177 | * function.c (assign_parm_setup_block): Handle parallels correctly. | |
7178 | ||
7179 | 2004-10-28 Kaz Kojima <kkojima@gcc.gnu.org> | |
7180 | ||
7181 | * final.c (shorten_branches): Initialize flags structure. | |
7182 | ||
7183 | 2004-10-28 Nathan Sidwell <nathan@codesourcery.com> | |
7184 | ||
7185 | * tree.c (int_cst_node, int_cst_hash_table): New variables. | |
7186 | (init_ttree): Initialize them. | |
7187 | (int_cst_hash_hash, int_cst_hash_eq): New hashing functions. | |
7188 | (build_int_cst_wide): Use hash table for oversized integers. | |
7189 | ||
7190 | 2004-10-28 Nick Clifton <nickc@redhat.com> | |
7191 | ||
7192 | * config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Define | |
7193 | begin_label. | |
7194 | ||
7195 | 2004-10-27 Richard Henderson <rth@redhat.com> | |
7196 | ||
7197 | PR middle-end/18163 | |
7198 | * expr.c (emit_group_load): Don't go force temporary for memory | |
7199 | or concat source. | |
7200 | (emit_group_store): Similarly. | |
7201 | ||
7202 | 2004-10-27 Andrew Pinski <pinskia@physics.uc.edu> | |
7203 | ||
7204 | PR other/18186 | |
7205 | * common.opt (--param): Fix spelling of parameter. | |
7206 | ||
7207 | 2004-10-27 Andrew Pinski <pinskia@physics.uc.edu> | |
7208 | ||
7209 | PR tree-opt/17529 | |
7210 | * tree-cfg.c (remove_useless_stmts_1) <case SWITCH_EXPR>: | |
7211 | Don't fold statement. | |
7212 | <case ASM_EXPR>: Fold the statement. | |
7213 | ||
7214 | 2004-10-28 Kazu Hirata <kazu@cs.umass.edu> | |
7215 | ||
7216 | * tree-ssa-dce.c (mark_stmt_if_obviously_necessary) | |
7217 | <COND_EXPR>: Use EDGE_COUNT instead of GOTO_DESTINATION. | |
7218 | ||
7219 | 2004-10-28 Joseph S. Myers <jsm@polyomino.org.uk> | |
7220 | ||
7221 | * doc/contrib.texi, doc/cpp.texi, doc/cppopts.texi, | |
7222 | doc/extend.texi, doc/gcov.texi, doc/install.texi, doc/invoke.texi, | |
7223 | doc/libgcc.texi, doc/md.texi, doc/passes.texi, | |
7224 | doc/sourcebuild.texi, doc/tm.texi: Improve Texinfo formatting. | |
7225 | ||
7226 | 2004-10-28 Joseph S. Myers <jsm@polyomino.org.uk> | |
7227 | ||
7228 | * doc/c-tree.texi, doc/cpp.texi, doc/implement-c.texi, | |
7229 | doc/invoke.texi, doc/md.texi, doc/passes.texi, doc/tm.texi: Put | |
7230 | punctuation outside quotes. | |
7231 | ||
7232 | 2004-10-27 David Mosberger <davidm@hpl.hp.com> | |
7233 | James E Wilson <wilson@specifixinc.com> | |
7234 | ||
7235 | PR target/13158 | |
7236 | * config/ia64/ia64.c (ia64_expand_epilogue): Set RTX_FRAME_RELATED_P on | |
7237 | sibcall alloc instruction. | |
7238 | (process_set): Handle sibcall alloc instruction. | |
7239 | ||
7240 | 2004-10-27 Geoffrey Keating <geoffk@apple.com> | |
7241 | ||
7242 | * config/rs6000/rs6000.c (rs6000_attribute_table): Add | |
7243 | SUBTARGET_ATTRIBUTE_TABLE. | |
7244 | * config/darwin.h (ASM_WEAKEN_DECL): Handle weak_import. | |
7245 | (SUBTARGET_ATTRIBUTE_TABLE): Define. | |
7246 | * config/darwin.c (darwin_handle_weak_import_attribute): New. | |
7247 | (HAVE_DEAD_STRIP): Delete. | |
7248 | (no_dead_strip): Don't test HAVE_DEAD_STRIP. | |
7249 | * config/darwin-protos.h (darwin_handle_weak_import_attribute): | |
7250 | Prototype. | |
7251 | ||
7252 | * doc/tm.texi (USE_SELECT_SECTION_FOR_FUNCTIONS): Document. | |
7253 | ||
7254 | * config/darwin.h (GTHREAD_USE_WEAK): Define. | |
7255 | ||
7256 | 2004-10-28 Ben Elliston <bje@au.ibm.com> | |
7257 | ||
7258 | * params.def (PARAM_SRA_MAX_STRUCTURE_SIZE): New. | |
7259 | (PARAM_SRA_FIELD_STRUCTURE_RATIO): Likewise. | |
7260 | * params.h (SRA_MAX_STRUCTURE_SIZE): New. | |
7261 | (SRA_FIELD_STRUCTURE_RATIO): Likewise. | |
7262 | * tree-sra.c: Include "params.h". | |
7263 | (decide_block_copy): Use new parameters. | |
7264 | * doc/invoke.texi (Optimize Options): Document new SRA pass | |
7265 | parameters sra-max-structure-size and sra-field-structure-ratio. | |
7266 | ||
7267 | 2004-10-27 Nicolas Pitre <nico@cam.org> | |
7268 | ||
7269 | * config/arm/ieee754-df.S (floatdidf): Fix regression with big values. | |
7270 | ||
7271 | 2004-10-27 Zdenek Dvorak <dvorakz@suse.cz> | |
7272 | ||
7273 | PR tree-optimization/18048 | |
7274 | * fold-const.c (try_move_mult_to_index): New function. | |
7275 | (fold): Use try_move_mult_to_index. | |
7276 | * tree-ssa-loop-ivopts.c (try_add_cand_for): Prefer common candidates. | |
7277 | * tree-ssa-loop-niter.c (number_of_iterations_cond): Produce | |
7278 | an all-ones unsigned constant without extra bits. | |
7279 | * tree.c (build_low_bits_mask): New function. | |
7280 | * tree.h (build_low_bits_mask): Declare. | |
7281 | ||
7282 | 2004-10-27 David Edelsohn <edelsohn@gnu.org> | |
7283 | ||
7284 | PR target/17956 | |
7285 | * config/rs6000/rs6000.md (maxsf3): Add !flag_trapping_math to | |
7286 | final condition. | |
7287 | (minsf3): Same. | |
7288 | (maxdf3): Same. | |
7289 | (mindf3): Same. | |
7290 | ||
7291 | 2004-10-27 Kazu Hirata <kazu@cs.umass.edu> | |
7292 | ||
7293 | * tree-cfg.c (thread_jumps): Speed up by reordering the two | |
7294 | conditions for entering basic blocks into worklist. | |
7295 | ||
7296 | 2004-10-27 Kazu Hirata <kazu@cs.umass.edu> | |
7297 | ||
7298 | * tree-cfg.c (thread_jumps): Speed up by pretending to have | |
7299 | ENTRY_BLOCK_PTR in worklist. | |
7300 | ||
7301 | 2004-10-27 Kazu Hirata <kazu@cs.umass.edu> | |
7302 | ||
7303 | * tree-ssa-dce.c (mark_stmt_if_obviously_necessary) | |
7304 | <GOTO_EXPR>: Don't let an explicit GOTO_EXPR slip through. | |
7305 | ||
7306 | 2004-10-27 Daniel Berlin <dberlin@dberlin.org> | |
7307 | ||
7308 | Fix PR tree-optimization/17133 | |
7309 | ||
7310 | * tree-cfg.c (rewrite_to_new_ssa_names_bb): Also rewrite must | |
7311 | def kill operand. | |
7312 | ||
7313 | * tree-flow-inline.h: V_MUST_DEF_OP became V_MUST_DEF_RESULT. | |
7314 | (get_v_must_def_result_ptr): Modify for new structure of | |
7315 | v_must_defs array. | |
7316 | (get_v_must_def_kill_ptr): New. | |
7317 | (op_iter_next_use): Add support for the kill that occurs in V_MUST_DEFs. | |
7318 | (op_iter_next_tree): Ditto. Also V_MAY_DEF_OP became V_MAY_DEF_RESULT. | |
7319 | (op_iter_next_def): V_MAY_DEF_OP became V_MAY_DEF_RESULT. | |
7320 | (op_iter_init): Initialize new mustu members. | |
7321 | (op_iter_next_mustdef): New function. | |
7322 | (op_iter_init_mustdef): Ditto. | |
7323 | ||
7324 | * tree-flow.h (rewrite_def_def_chains): New function. | |
7325 | ||
7326 | * tree-into-ssa.c (mark_def_sites): Handle mustdefkill operands. | |
7327 | (ssa_mark_def_sites): Ditto. | |
7328 | (rewrite_stmt): Ditto. | |
7329 | (ssa_rewrite_stmt): Ditto. | |
7330 | (rewrite_blocks): Factor out from rewrite_into_ssa. | |
7331 | (mark_def_block_sites): Ditto. | |
7332 | (rewrite_def_def_chains): New function, just rewrites def-def | |
7333 | chains without phi node insertion. | |
7334 | ||
7335 | * tree-pass.h (TODO_fix_def_def_chains): New todo flag. | |
7336 | ||
7337 | * tree-optimize.c (execute_todo): Handle TODO_fix_def_def_chains. | |
7338 | ||
7339 | * tree-pretty-print.c (dump_vops): Print out MUST_DEF's so that | |
7340 | they include the rhs now. | |
7341 | ||
7342 | * tree-ssa-ccp.c (visit_assignment): V_MUST_DEF_OP became | |
7343 | V_MUST_DEF_RESULT. | |
7344 | ||
7345 | * tree-ssa-dce.c (mark_operand_necessary): Add phionly argument. | |
7346 | Update callers. | |
7347 | (mark_really_necessary_kill_operand_phis): New function. | |
7348 | (perform_tree_ssa_dce): Call it. | |
7349 | (pass_dce): Add TODO_fix_def_def_chains. | |
7350 | (pass_cd_dce): Ditto. | |
7351 | ||
7352 | * tree-ssa-loop-im.c (determine_max_movement): Look at kills as | |
7353 | well. | |
7354 | (rewrite_mem_refs): Ditto. | |
7355 | ||
7356 | * tree-ssa-loop-manip.c (find_uses_to_rename_stmt): Look at kills | |
7357 | as well. | |
7358 | ||
7359 | * tree-ssa-operands.c (allocate_v_may_def_optype): | |
7360 | v_may_def_operand_type_t became v_def_use_operand_type_t. | |
7361 | (allocate_v_must_def_optype) Ditto. | |
7362 | (finalize_ssa_v_must_defs): Update for new operand type, as well | |
7363 | as setting the use portion as well. | |
7364 | (copy_virtual_operands): Copy the kill operand as well. | |
7365 | (create_ssa_artficial_load_stmt): V_MUST_DEF_OP became | |
7366 | V_MUST_DEF_RESULT. | |
7367 | ||
7368 | * tree-ssa-operands.h (v_may_def_operand_type): Renamed to | |
7369 | v_def_use_operand_type. | |
7370 | (v_must_def_optype_d): Use v_def_use_operand_type. | |
7371 | (V_MUST_DEF_OP_*): Renamed to V_MUST_DEF_RESULT_* | |
7372 | (V_MUST_DEF_KILL_*): New macros. | |
7373 | (struct ssa_operand_iterator_d): Add num_v_mustu and v_mustu_i | |
7374 | members. | |
7375 | Rename existing must_i and num_v_must members to mustd_i and | |
7376 | num_v_mustd. | |
7377 | (SSA_OP_VMUSTDEFKILL): New flag. | |
7378 | (SSA_OP_VIRTUAL_KILLS): New flag. | |
7379 | (SSA_OP_ALL_OPERANDS): Add in SSA_OP_ALL_KILLS. | |
7380 | (SSA_OP_ALL_KILLS): New flag. | |
7381 | (FOR_EACH_SSA_MUSTDEF_OPERAND): New macro. | |
7382 | ||
7383 | * tree-ssa.c (verify_ssa): Verify virtual kills as well. | |
7384 | ||
7385 | * tree-vectorizer.c (vect_create_data_ref_ptr): V_MUST_DEF_OP | |
7386 | became V_MUST_DEF_RESULT. | |
7387 | (rename_variables_in_bb): Rename kill pointer as well. | |
7388 | ||
7389 | * tree-dfa.c (compute_immediate_uses_for_stmt): Add kills into the | |
7390 | immediate uses. | |
7391 | ||
7392 | 2004-10-27 Richard Sandiford <rsandifo@redhat.com> | |
7393 | ||
7394 | * dbxout.c (dbxout_source_line): Move declaration of begin_label to | |
7395 | the block that needs it. | |
7396 | ||
7397 | 2004-10-27 Zack Weinberg <zack@codesourcery.com> | |
7398 | ||
7399 | * dbxout.c (dbxout_finish_complex_stabs): Mark 'line' variable | |
7400 | ATTRIBUTE_UNUSED. | |
7401 | ||
7402 | 2004-10-27 Zack Weinberg <zack@codesourcery.com> | |
7403 | ||
7404 | * c-lex.c (cb_def_pragma): Clean up code for making location | |
7405 | palatable to diagnostic.c. | |
7406 | ||
7407 | 2004-10-27 Steven Bosscher <stevenb@suse.de> | |
7408 | ||
7409 | PR tree-optimization/17757 | |
7410 | * tree-phinodes.c (remove_phi_arg_num): Don't remove PHIs | |
7411 | without any PHI arguments left. Make sure the argument that | |
7412 | we're supposed to remove exists at all. | |
7413 | ||
7414 | 2004-10-27 Paul Brook <paul@codesourcery.com> | |
7415 | ||
7416 | * configure.ac: Don't test for [build] __cxa_atexit when building a | |
7417 | cross compiler. | |
7418 | * configure: Regenerate. | |
7419 | ||
7420 | 2004-10-27 Paul Brook <paul@codeosurcery.com> | |
7421 | ||
7422 | * configure.ac: Use build_exeext not host_exeext when lookin for | |
7423 | target tools. | |
7424 | * configure: Regenerate. | |
7425 | ||
7426 | 2004-10-27 Andreas Krebbel <krebbel1@de.ibm.com> | |
7427 | ||
7428 | * config/s390/s390.md ("*subdf3_cc"): Replaced plus by minus. | |
7429 | ||
7430 | 2004-10-27 Andreas Krebbel <krebbel1@de.ibm.com> | |
7431 | patch originally created by Kelley Cook <kcook@gcc.gnu.org> | |
7432 | ||
7433 | PR middle-end/14684 | |
7434 | * opts.c (OPT_fprofile_generate): Default to -funroll-loops | |
7435 | to match -fprofile-use. | |
7436 | ||
7437 | 2004-10-27 Kazu Hirata <kazu@cs.umass.edu> | |
7438 | ||
7439 | * config/rs6000/rs6000.c: Fix a comment typo. | |
7440 | ||
7441 | 2004-10-27 Zack Weinberg <zack@codesourcery.com> | |
7442 | ||
7443 | * config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Increment line | |
7444 | counter. | |
7445 | ||
7446 | 2004-10-27 Andreas Schwab <schwab@suse.de> | |
7447 | ||
7448 | * varasm.c (default_stabs_asm_out_destructor): Mark symbol as | |
7449 | unused. | |
7450 | (default_stabs_asm_out_constructor): Likewise. | |
7451 | ||
7452 | 2004-10-26 Geoffrey Keating <geoffk@apple.com> | |
7453 | ||
7454 | * builtins.c (fold_builtin_unordered_cmp): Always bring both | |
7455 | operands to the same type. | |
7456 | ||
7457 | 2004-10-26 James E Wilson <wilson@specifixinc.com> | |
7458 | ||
7459 | PR target/18010 | |
7460 | * emit-rtl.c (emit_copy_of_insn_after): Copy RTX_FRAME_RELATED_P. | |
7461 | ||
7462 | 2004-10-26 Zack Weinberg <zack@codesourcery.com> | |
7463 | ||
7464 | * dbxout.c: Include obstack.h. | |
7465 | (ASM_STABS_OP): Take XCOFF_DEBUGGING_INFO into account in | |
7466 | default definition. | |
7467 | (ASM_STABD_OP, NO_DBX_MAIN_SOURCE_DIRECTORY, DBX_CONTIN_CHAR): | |
7468 | Default-define here. | |
7469 | (DBX_CONTIN_LENGTH): Move definition with others. | |
7470 | (DBX_FINISH_STABS): New target macro. | |
7471 | (current_sym_code, current_sym_value, current_sym_addr) | |
7472 | (current_sym_nchars, CHARS, dbxout_continue) | |
7473 | (print_int_cst_octal, print_octal, print_wide_int) | |
7474 | (dbxout_prepare_symbol, dbxout_finish_symbol): Delete. | |
7475 | (stabstr_ob, stabstr_last_contin_point): New variables. | |
7476 | (NUMBER_FMT_LOOP): New improper macro. | |
7477 | (dbxout_int, dbxout_stab_value_zero, dbxout_stab_value_label) | |
7478 | (dbxout_stab_value_label_diff, dbxout_stab_value_internal_label) | |
7479 | (dbxout_stab_value_internal_label_diff, dbxout_stabd) | |
7480 | (dbxout_begin_stabn, dbxout_begin_stabn_sline) | |
7481 | (dbxout_begin_simple_stabs, dbxout_begin_simple_stabs_desc) | |
7482 | (dbxout_begin_complex_stabs, dbxout_finish_complex_stabs) | |
7483 | (stabstr_C, stabstr_S, stabstr_I, stabstr_D, stabstr_U, stabstr_O) | |
7484 | (stabstr_continue, DECL_ACCESSIBILITY_CHAR) | |
7485 | New functions and/or proper function-like macros. | |
7486 | (CONTIN): Use stabstr_continue, unconditionally. | |
7487 | (get_lang_number): Define unconditionally, with ATTRIBUTE_UNUSED. | |
7488 | (dbxout_init): Initialize stabstr_ob. Check | |
7489 | NO_DBX_MAIN_SOURCE_DIRECTORY. Only write out the Ltext label | |
7490 | if it was used. Use the new interfaces. | |
7491 | (dbxout_source_file): Remove file argument; always write to | |
7492 | asm_out_file. Use the new interfaces. | |
7493 | (dbxout_type_method_1): Remove second argument which is always | |
7494 | DECL_ASSEMBLER_NAME of the first argument. Use the new interfaces. | |
7495 | (dbxout_type_methods): Remove write-only variables. Use the | |
7496 | new interfaces. | |
7497 | (dbxout_parms): Refactor to remove code duplicated in each of | |
7498 | several successive if-else-if blocks. Use the new interfaces. | |
7499 | (dbxout_function_end, emit_bincl_stab, dbxout_end_source_file) | |
7500 | (dbxout_source_line, dbxout_finish, dbxout_type_index) | |
7501 | (dbxout_type_fields, dbxout_range_type, dbxout_type, dbxout_type_name) | |
7502 | (dbxout_class_name_qualifiers, dbxout_symbol, dbxout_symbol_location) | |
7503 | (dbxout_symbol_name, dbxout_reg_parms, dbxout_args) | |
7504 | (dbx_output_lbrac, dbx_output_rbrac, dbxout_block): | |
7505 | Use the new interfaces. | |
7506 | * Makefile.in (dbxout.o): Update dependencies. | |
7507 | ||
7508 | * defaults.h: Don't define ASM_STABD_OP. | |
7509 | * output.h: Prototype new dbxout_* interfaces. | |
7510 | * system.h: Poison DBX_OUTPUT_GCC_MARKER and DBX_FINISH_SYMBOL. | |
7511 | * varasm.c: Don't define ASM_STABS_OP. | |
7512 | (default_stabs_asm_out_constructor, default_stabs_asm_out_destructor): | |
7513 | Use the new dbxout.c interfaces. Call sorry if neither | |
7514 | DBX_DEBUGGING_INFO nor XCOFF_DEBUGGING_INFO is defined. | |
7515 | ||
7516 | * xcoffout.h: Don't define ASM_STABS_OP. | |
7517 | (DBX_FINISH_SYMBOL): Rewrite and rename DBX_FINISH_STABS. | |
7518 | (DBX_OUTPUT_MAIN_SOURCE_DIRECTORY, DBX_OUTPUT_GCC_MARKER): Delete. | |
7519 | (NO_DBX_MAIN_SOURCE_DIRECTORY, NO_DBX_GCC_MARKER): Define. | |
7520 | (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Change bare block to | |
7521 | do { ... } while (0) idiom. | |
7522 | ||
7523 | * config/alpha/alpha.c (num_source_filenames): Export. | |
7524 | * config/alpha/alpha.h (num_source_filenames): Declare. | |
7525 | (DBX_OUTPUT_SOURCE_LINE): Use new interfaces. | |
7526 | (SDB_OUTPUT_SOURCE_LINE): Add missing newline. | |
7527 | * config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Use new interfaces. | |
7528 | Always use .debugsym. Update commentary. | |
7529 | * config/mips/mips.h (DBX_OUTPUT_SOURCE_LINE): Use new interfaces. | |
7530 | (SDB_OUTPUT_SOURCE_LINE): Add missing newline. | |
7531 | * config/rs6000/linux64.h (DBX_OUTPUT_SOURCE_LINE, DBX_OUTPUT_BRAC): | |
7532 | Use new interfaces. | |
7533 | * config/rs6000/rs6000.c: If TARGET_MACHO, include gstab.h. | |
7534 | (macho_branch_islands): Use new interfaces. | |
7535 | ||
7536 | * doc/tm.texi: Update. | |
7537 | ||
7538 | 2004-10-26 Aldy Hernandez <aldyh@redhat.com> | |
7539 | ||
7540 | * expr.c (emit_group_store): Do not treat floats as BLKmode. | |
7541 | (emit_group_load): Same. | |
7542 | ||
7543 | 2004-10-26 Joseph S. Myers <jsm@polyomino.org.uk> | |
7544 | ||
7545 | * c-parse.in (datadef): Use pedwarn rather than error and warning | |
7546 | for diagnostic in case of no declaration specifiers. | |
7547 | ||
7548 | 2004-10-26 Richard Sandiford <rsandifo@redhat.com> | |
7549 | ||
7550 | PR bootstrap/15747 | |
7551 | * doc/install.texi (mips-sgi-irix5): Document that /bin/sh has been | |
7552 | reported to hang during bootstrap and that CONFIG_SHELL=/bin/ksh | |
7553 | can be used to work around this. | |
7554 | ||
7555 | 2004-10-26 Aldy Hernandez <aldyh@redhat.com> | |
7556 | ||
7557 | * config/rs6000/rs6000.h (MEMBER_TYPE_FORCES_BLK): Adjust for e500 | |
7558 | doubles. | |
7559 | ||
7560 | 2004-10-26 Kazu Hirata <kazu@cs.umass.edu> | |
7561 | ||
7562 | * stmt.c (expand_case): Update a comment. | |
7563 | ||
7564 | 2004-10-26 Kazu Hirata <kazu@cs.umass.edu> | |
7565 | ||
7566 | * stmt.c (expand_case): Put an assertion that index_expr is | |
7567 | never INTEGER_CST. Don't special case for constant | |
7568 | index_expr. | |
7569 | ||
7570 | 2004-10-26 Andrew Pinski <pinskia@physics.uc.edu> | |
7571 | ||
7572 | PR 18162 | |
7573 | * c-parse.in (designator): Finish with a semi-colon. | |
7574 | ||
7575 | 2004-10-26 Fariborz Jahanian <fjahanian@apple.com> | |
7576 | ||
7577 | * config/rs6000/rs6000.md (andsi3_internal8): Set CR when splitting | |
7578 | into rotlsi3. | |
7579 | ||
7580 | 2004-10-26 Kazu Hirata <kazu@cs.umass.edu> | |
7581 | ||
7582 | * stmt.c (expand_case): Remove code to handle SWITCH_EXPR with | |
7583 | a default case only. | |
7584 | ||
7585 | 2004-10-26 Aldy Hernandez <aldyh@redhat.com> | |
7586 | ||
7587 | * config/rs6000/rs6000.c (rs6000_hard_regno_nregs): Adjust for | |
7588 | e500 doubles. | |
7589 | (spe_build_register_parallel): New. | |
7590 | (rs6000_spe_function_arg): Handle e500 doubles. | |
7591 | (function_arg): Same. | |
7592 | (spe_func_has_64bit_regs_p): Same. | |
7593 | (rs6000_function_value): Same. | |
7594 | (rs6000_libcall_value): Same. | |
7595 | (legitimate_lo_sum_address_p): Return false for e500 doubles. | |
7596 | ||
7597 | * config/rs6000/rs6000.h (LOCAL_ALIGNMENT): Adjust for e500 | |
7598 | doubles. | |
7599 | (DATA_ALIGNMENT): Same. | |
7600 | (CANNOT_CHANGE_MODE_CLASS): Same. | |
7601 | ||
7602 | 2004-10-26 Aldy Hernandez <aldyh@redhat.com> | |
7603 | ||
7604 | * expr.c (emit_group_load): Handle floats. | |
7605 | (emit_group_store): Same. | |
7606 | ||
7607 | 2004-10-26 Nathan Sidwell <nathan@codesourcery.com> | |
7608 | ||
7609 | * c-lex.c (get_nonpadding_token): Remove. | |
7610 | (c_lex_with_flags): Push timevar and eat padding here. Improve | |
7611 | stray token diagnostic. | |
7612 | (lex_string): Replace logic with switch statement, eat padding | |
7613 | token here. | |
7614 | ||
7615 | 2004-10-26 Geoffrey Keating <geoffk@apple.com> | |
7616 | ||
7617 | PR 18149 | |
7618 | * config/i386/darwin.h (ASM_SPEC): Undef it before defining. | |
7619 | ||
7620 | 2004-10-25 Geoffrey Keating <geoffk@apple.com> | |
7621 | ||
7622 | * config/darwin.h (LINK_SPEC): Default weak_reference_mismatches | |
7623 | to 'non-weak'. | |
7624 | (MAKE_DECL_ONE_ONLY): Set DECL_WEAK. | |
7625 | (ASM_MAKE_LABEL_LINKONCE): Delete. | |
7626 | (ASM_WEAKEN_DECL): New. | |
7627 | (ASM_DECLARE_OBJECT_NAME): Look at DECL_WEAK not DECL_ONE_ONLY. | |
7628 | (ASM_DECLARE_FUNCTION_NAME): Likewise. | |
7629 | (TEXT_SECTION_ASM_OP): Add a tab. | |
7630 | (DATA_SECTION_ASM_OP): Likewise. | |
7631 | (SECTION_FUNCTION): Add a tab. Use fputs. Don't call | |
7632 | data_section on every section change. | |
7633 | (EXTRA_SECTIONS): Add a bunch of new extra sections. | |
7634 | (EXTRA_SECTION_FUNCTIONS): Likewise. | |
7635 | (USE_SELECT_SECTION_FOR_FUNCTIONS): Define. | |
7636 | (JCR_SECTION_NAME): Define. | |
7637 | (TARGET_SECTION_TYPE_FLAGS): Don't define. | |
7638 | * config/darwin.c (darwin_encode_section_info): A symbol is defined | |
7639 | in this file if it is not weak. | |
7640 | (textcoal_section): Delete. | |
7641 | (datacoal_section): Delete. | |
7642 | (darwin_make_decl_one_only): Delete. | |
7643 | (machopic_select_section): Handle functions. | |
7644 | (darwin_asm_named_section): Add a tab. | |
7645 | (darwin_section_type_flags): Delete. | |
7646 | (darwin_unique_section): Delete contents. | |
7647 | (darwin_emit_unwind_label): Add a tab. Make decls weak if | |
7648 | DECL_WEAK is set. | |
7649 | * config/darwin-protos.h (darwin_section_type_flags): Delete. | |
7650 | (darwin_make_decl_one_only): Delete. | |
7651 | (text_coal_section): New. | |
7652 | (text_unlikely_section): New. | |
7653 | (text_unlikely_coal_section): New. | |
7654 | (const_coal_section): New. | |
7655 | (data_coal_section): New. | |
7656 | (const_data_coal_section): New. | |
7657 | * varasm.c (function_section): Honour | |
7658 | USE_SELECT_SECTION_FOR_FUNCTIONS. | |
7659 | * dwarf2out.c (output_call_frame_info): Look at DECL_WEAK when | |
7660 | TARGET_USES_WEAK_UNWIND_INFO is in effect. | |
7661 | * dbxout.c (dbxout_source_file): Don't change sections while | |
7662 | a function is being output. | |
7663 | ||
7664 | 2004-10-25 David Ayers <d.ayers@inode.at> | |
7665 | ||
7666 | * c-common.h: Remove RID_ID. | |
7667 | * c-parse.in: Remove OBJECTNAME and references to RID_ID. | |
7668 | (typespec_reserved_attr): Add rule for TYPENAME | |
7669 | non_empty_protocolrefs. | |
7670 | (yylexname): Remove special handling of RID_ID. | |
7671 | ||
7672 | 2004-10-25 James E Wilson <wilson@specifixinc.com> | |
7673 | ||
7674 | * doc/invoke.texi (-fcrossjumping): Not enabled at -O. | |
7675 | ||
7676 | 2004-10-25 Joseph S. Myers <jsm@polyomino.org.uk> | |
7677 | ||
7678 | PR c/16667 | |
7679 | * c-parse.in (array_designator): New. | |
7680 | (designator): Use it. | |
7681 | (initelt): Only permit array_designator without '=', not ".foo". | |
7682 | ||
7683 | 2004-10-25 Kenneth Zadeck <zadeck@naturalbridge.com> | |
a1d1988f MS |
7684 | * Makefile.in: removed ggc for cgraphunit. |
7685 | * cgraph.c.dump_cgraph_node: removed static var analysis. | |
7686 | * cgraph.h: removed static var analysis data structures and calls. | |
7687 | * cgraphunit.c: | |
7a4515d7 SB |
7688 | cgraph_mark_local_and_external_functions:changed name to |
7689 | cgraph_mark_local_functions | |
7690 | (print_order,convert_UIDs_in_bitmap,new_static_vars_info, | |
7691 | cgraph_reset_static_var_maps,get_global_static_vars_info, | |
7692 | get_global_statics_not_read,get_global_statics_not_written,searchc, | |
7693 | cgraph_reduced_inorder,has_proper_scope_for_analysis,check_rhs_var, | |
7694 | check_lhs_var,get_asm_expr_operands,process_call_for_static_vars, | |
7695 | scan_for_static_refs,cgraph_characterize_statics_local, | |
7696 | clear_static_vars_maps,cgraph_propagate_bits,cgraph_characterize_statics): | |
7697 | removed. | |
7698 | (cgraph_optimize,init_cgraph): removed calls to static vars analysis | |
a1d1988f | 7699 | * tree-dfa.c find_referenced_vars: removed call to static vars |
7a4515d7 | 7700 | analysis |
a1d1988f MS |
7701 | * tree-flow.h static_vars_info: removed |
7702 | * tree-ssa-operands.c (add_call_clobber_ops,add_call_read_ops): | |
7a4515d7 SB |
7703 | removed calls to static vars analysis. |
7704 | get_call_expr_operands: removed callee variable. | |
7705 | ||
7706 | 2004-10-25 Kazu Hirata <kazu@cs.umass.edu> | |
7707 | ||
7708 | * cfg.c (unchecked_make_edge, redirect_edge_succ, | |
7709 | redirect_edge_pred): Use VEC_safe_push instead of | |
7710 | VEC_safe_insert. | |
7711 | * cfgrtl.c (force_nonfallthru_and_redirect): Likewise. | |
7712 | ||
7713 | 2004-10-25 Kazu Hirata <kazu@cs.umass.edu> | |
7714 | ||
7715 | * cfgloopmanip.c (loopify): Take two more arguments true_edge | |
7716 | and false_edge. | |
7717 | * cfgloop.h: Adjust the corresponding prototype. | |
7718 | * loop-unswitch.c (unswitch_loop): Adjust a call to loopify. | |
7719 | * tree-ssa-loop-manip.c (tree_ssa_loop_version): Likewise. | |
7720 | ||
7721 | 2004-10-25 Jakub Jelinek <jakub@redhat.com> | |
7722 | ||
7723 | * dwarf2out.c (rtl_for_decl_location): Avoid segfault if | |
7724 | DECL_INCOMING_RTL is NULL. | |
7725 | ||
7726 | 2004-10-25 Steven Bosscher <stevenb@suse.de> | |
7727 | ||
7728 | * timevar.def (TV_FIND_REFERENCED_VARS): New. | |
7729 | * tree-dfa.c (pass_referenced_var): Use it. | |
7730 | ||
7731 | 2004-10-25 Roger Sayle <roger@eyesopen.com> | |
7732 | John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
7733 | ||
7734 | * cse.c: Change encoding of quantity numbers to avoid undefined | |
7735 | pointer arithmetic on qty_table. | |
7736 | (REGNO_QTY_VALID_P): A quantity is now valid if it isn't negative. | |
7737 | (get_cse_reg_info): Initialize reg_qty to a unique negative value. | |
7738 | (new_basic_block): Assign "real" quantity numbers from zero. | |
7739 | (delete_reg_equiv): Do nothing if quantity is invalid. Reset the | |
7740 | REG_QTY to its unique negative value. | |
7741 | (merge_equiv_classes): Calculate need_rehash if quantity is valid. | |
7742 | (cse_main): Don't include max_reg when determining max_qty. | |
7743 | (cse_basic_block): Avoid subtracting a large offset from qty_table, | |
7744 | which causes undefined C99 behaviour. Only allocate needed memory. | |
7745 | ||
7746 | 2004-10-25 Kazu Hirata <kazu@cs.umass.edu> | |
7747 | ||
7748 | * stmt.c (expand_case): Remove an obsolete comment. | |
7749 | ||
7750 | 2004-10-25 Andrew Pinski <pinskia@physics.uc.edu> | |
7751 | ||
7752 | PR middle-end/17407 | |
7753 | * c-decl.c (grokdeclarator) <case cdk_array>: Remove the call | |
7754 | layout_type as it is already done by build_array_type. | |
7755 | * tree.c (build_array_type): Layout the type even | |
7756 | ||
7757 | 2004-10-25 Alexandre Oliva <aoliva@redhat.com> | |
7758 | ||
7759 | * config/frv/linux.h (TARGET_C99_FUNCTIONS): Define to 0. | |
7760 | ||
7761 | 2004-10-25 Alexandre Oliva <aoliva@redhat.com> | |
7762 | ||
7763 | * config/frv/frv.md (movdi, movdf): Handle wide-constant splits | |
7764 | with wider-than-32-bit HOST_WIDE_INTs. | |
7765 | ||
7766 | 2004-10-25 David Billinghurst <David.Billinghurst@riotinto.com> | |
7767 | ||
7768 | * config/mips/mips.c(mips_output_filename): Remove unused | |
7769 | array ltext_label_name | |
7770 | ||
7771 | 2004-10-24 Geoffrey Keating <geoffk@geoffk.org> | |
7772 | ||
7773 | * config/rs6000/darwin.h (BLOCK_REG_PADDING): Define. | |
7774 | ||
7775 | 2004-10-25 Ben Elliston <bje@au.ibm.com> | |
7776 | ||
7777 | * cfgcleanup.c (outgoing_edges_match): Fix typo in dump output. | |
7778 | ||
7779 | 2004-10-23 Andrew Pinski <pinskia@physics.uc.edu> | |
7780 | ||
7781 | * predict.c (predict_loops): Call scev_finalize instead of | |
7782 | scev_reset. | |
7783 | ||
7784 | 2004-10-24 Kazu Hirata <kazu@cs.umass.edu> | |
7785 | ||
7786 | * config/dbxcoff.h, config/dbxelf.h, config/libgloss.h, | |
7787 | config/openbsd.h, config/mips/r3900.h, config/pdp11/pdp11.md, | |
7788 | config/sh/ushmedia.h, config/sparc/elf.h, | |
7789 | config/sparc/sp64-elf.h: Update copyright. | |
7790 | ||
7791 | 2004-10-24 Kazu Hirata <kazu@cs.umass.edu> | |
7792 | ||
7793 | * stmt.c (expand_case): Handle the default label outside of | |
7794 | the for loop. Remove code to handle a missing default label. | |
7795 | ||
7796 | 2004-10-23 Kazu Hirata <kazu@cs.umass.edu> | |
7797 | ||
7798 | * dbxout.c (dbxout_function_decl): Don't use | |
7799 | DBX_OUTPUT_FUNCTION_END. | |
7800 | * system.h: Poison DBX_OUTPUT_FUNCTION_END. | |
7801 | * doc/tm.texi (DBX_OUTPUT_FUNCTION_END): Remove. | |
7802 | ||
7803 | 2004-10-23 Andrew Pinski <pinskia@physics.uc.edu> | |
7804 | ||
7805 | PR middle-end/17967 | |
e8366202 | 7806 | * tree-cfg.c (remove_usless_stmts_cond): Don't Fold statement. |
7a4515d7 SB |
7807 | |
7808 | 2004-10-23 Daniel Berlin <dberlin@dberlin.org> | |
7809 | ||
7810 | * tree-ssa-dom.c (record_equality): Use loop depth to determine | |
7811 | which way to record the equality as well. | |
7812 | (loop_depth_of_name): New function. | |
7813 | ||
7814 | 2004-10-23 Eric Botcazou <ebotcazou@libertysurf.fr> | |
7815 | ||
7816 | PR middle-end/17793 | |
7817 | * gimplify.c (gimplify_addr_expr) <VIEW_CONVERT_EXPR>: Look | |
7818 | through the operand if it is a useless type conversion. | |
7819 | ||
7820 | 2004-10-23 Ben Elliston <bje@au.ibm.com> | |
7821 | ||
7822 | * cfg.c (remove_edge): Use VEC_unordered_remove. | |
7823 | (redirect_edge_succ): Likewise. | |
7824 | (redirect_edge_pred): Likewise. | |
7825 | * cfgrtl.c (force_nonfallthru_and_redirect): Likewise. | |
7826 | ||
7827 | 2004-10-22 Kazu Hirata <kazu@cs.umass.edu> | |
7828 | ||
7829 | * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP): Don't access PTR | |
7830 | beyond its end. | |
7831 | ||
7832 | 2004-10-22 Eric Christopher <echristo@redhat.com> | |
7833 | ||
7834 | * config/rs6000/rs6000.c (setup_incoming_varargs): Align DFmode | |
7835 | saves. | |
7836 | ||
7837 | 2004-10-22 Aldy Hernandez <aldyh@redhat.com> | |
7838 | ||
7839 | * config/rs6000/spe.md (spe_extendsfdf2): New. | |
7840 | (movdf_e500_double): New. | |
7841 | (spe_truncdfsf2): New. | |
7842 | (spe_absdf2): New. | |
7843 | (spe_nabsdf2): New. | |
7844 | (spe_negdf2): New. | |
7845 | (sub_adddf3): New. | |
7846 | (spe_subdf3): New. | |
7847 | (spe_muldf3): New. | |
7848 | (spe_floatsidf2): New. | |
7849 | (spe_floatunssidf2): New. | |
7850 | (fix_truncdfsi2): New. | |
7851 | (spe_fixuns_truncdfsi2): New. | |
7852 | ||
7853 | * config/rs6000/rs6000.md (truncdfsf2): Change to expander. | |
7854 | (fpr_truncdfsf2): New. | |
7855 | (negdf2): Change to expander. | |
7856 | (fpr_negdf2): New. | |
7857 | (fpr_nabsdf2): Name pattern. | |
7858 | (adddf3): Change to expander. | |
7859 | (fpr_adddf3): Nem. | |
7860 | (subdf3): Change to expander. | |
7861 | (fpr_subdf3): New. | |
7862 | (muldf3): Change to expander. | |
7863 | (fpr_muldf3): New. | |
7864 | (divdf3): Change to expander. | |
7865 | (fpr_divdf3): New. | |
7866 | (movdf_softfloat32): Change !TARGET_FPRS to TARGET_E500_SINGLE. | |
7867 | (cmpdf): Allow for TARGET_E500_DOUBLE. | |
7868 | ||
7869 | 2004-10-22 Kazu Hirata <kazu@cs.umass.edu> | |
7870 | ||
7871 | * c-semantics.c (re_push_stmt_list): Remove. | |
7872 | * c-common.h: Remove the corresponding prototype. | |
7873 | ||
7874 | 2004-10-22 Kazu Hirata <kazu@cs.umass.edu> | |
7875 | ||
7876 | * stmt.c (asm_op_is_mem_input): Remove. | |
7877 | * tree.h: Remove the corresponding prototype. | |
7878 | ||
7879 | 2004-10-22 Kazu Hirata <kazu@cs.umass.edu> | |
7880 | ||
7881 | * tree-gimple.c (is_gimple_constructor_elt): Remove. | |
7882 | * tree-gimple.h: Remove the corresponding prototype. | |
7883 | ||
7884 | 2004-10-22 Kazu Hirata <kazu@cs.umass.edu> | |
7885 | ||
7886 | * varasm.c (get_pool_mode_for_function, get_pool_offset): | |
7887 | Remove. | |
7888 | * rtl.h: Remove the corresponding prototypes. | |
7889 | ||
7890 | 2004-10-22 Kazu Hirata <kazu@cs.umass.edu> | |
7891 | ||
7892 | * tree-cfg.c (thread_jumps_from_bb): Speed up by extracting | |
7893 | edge information when we commit ourselves to threading a | |
7894 | particular jump. | |
7895 | ||
7896 | 2004-10-22 Kazu Hirata <kazu@cs.umass.edu> | |
7897 | ||
7898 | * tree-cfg.c (thread_jumps): Speed up by putting basic blocks | |
7899 | into worklist instead of their indexes. | |
7900 | ||
7901 | 2004-10-22 Kazu Hirata <kazu@cs.umass.edu> | |
7902 | ||
7903 | * alias.c, basic-block.h, cgraphunit.c, combine.c, domwalk.h, | |
7904 | final.c, gengtype.c, genpreds.c, ggc-page.c, insn-notes.def, | |
7905 | lambda-code.c, loop-unroll.c, modulo-sched.c, pointer-set.c, | |
7906 | pretty-print.c, ra-colorize.c, sbitmap.c, tree-complex.c, | |
7907 | tree-data-ref.c, tree-dfa.c, tree-inline.c, tree-into-ssa.c, | |
7908 | tree-scalar-evolution.c, tree-ssa-dom.c, | |
7909 | tree-ssa-loop-manip.c, tree-ssa-loop-niter.c, | |
7910 | tree-ssa-phiopt.c, tree-ssa-pre.c, tree-ssa-threadupdate.c, | |
7911 | tree-vectorizer.c, vec.h: Fix comment formatting. | |
7912 | ||
7913 | 2004-10-22 Kazu Hirata <kazu@cs.umass.edu> | |
7914 | ||
7915 | * dwarf.h, gthr-dce.h, gthr-single.h, gthr-solaris.h, gthr.h, | |
7916 | libfuncs.h, libgcc2.h, stab.def, tsystem.h: Update copyright. | |
7917 | ||
7918 | 2004-10-22 Kazu Hirata <kazu@cs.umass.edu> | |
7919 | ||
7920 | * config/ptx4.h, config/mcore/mcore-pe.h, | |
7921 | config/rs6000/eabi.h, config/vax/elf.h: Update copyright. | |
7922 | ||
7923 | 2004-10-22 Peter Barada <peter@the-baradas.com> | |
7924 | ||
7925 | * config/m68k/m68k.h (HARD_REGNO_RENAME_OK): New macro. | |
7926 | * config/m68k/m68k.c (m68k_hard regno_rename_ok): Disallow | |
7927 | renaming of non-live registers in interrupt functions. | |
7928 | * config/m68k/m68k-protos.h (m68k_hard_regno_rename_ok): Add prototype. | |
7929 | ||
7930 | 2004-10-22 Zdenek Dvorak <dvorakz@suse.cz> | |
7931 | ||
7932 | * tree-ssa-loop-niter.c (inverse): Count in HOST_WIDE_INT if possible. | |
7933 | Use integer for loop counter. | |
7934 | (num_ending_zeros): New function. | |
7935 | (number_of_iterations_cond): Use num_ending_zeros. | |
7936 | ||
7937 | 2004-10-21 Aldy Hernandez <aldyh@redhat.com> | |
7938 | ||
7939 | * config.gcc: Add support for --enable-e500_double. | |
7940 | ||
7941 | * config/rs6000/e500-double.h: New file. | |
7942 | ||
7943 | * config/rs6000/rs6000.h: Define TARGET_E500_SINGLE and | |
7944 | TARGET_E500_DOUBLE. | |
7945 | ||
7946 | * config/rs6000/eabi.h: Define TARGET_E500_SINGLE and | |
7947 | TARGET_E500_DOUBLE. | |
7948 | ||
7949 | * config/rs6000/linuxspe.h: Same. | |
7950 | ||
7951 | * doc/invoke.texi (Option Summary): Document new options for | |
7952 | mfloat-gprs. | |
7953 | (RS/6000 and PowerPC Options): Same. | |
7954 | ||
7955 | * config/rs6000/rs6000.c (rs6000_parse_float_gprs_option): New | |
7956 | function. | |
7957 | (rs6000_override_options): Use it. Use | |
7958 | SUB3TARGET_OVERRIDE_OPTIONS. | |
7959 | Add 8548 to processor_target_table. | |
7960 | (rs6000_legitimate_address): Handle e500 doubles. | |
7961 | (rs6000_legitimize_address): Same. | |
7962 | (rs6000_legitimize_reload_address): Same. | |
7963 | (rs6000_hard_regno_nregs): Same. | |
7964 | (spe_func_has_64bit_regs_p): Same. | |
7965 | (emit_frame_save): Same. | |
7966 | (gen_frame_mem_offset): Same. | |
7967 | (rs6000_dwarf_register_span): Same. | |
7968 | (rs6000_generate_compare): Same. | |
7969 | (easy_fp_constant): Same. | |
7970 | (legitimate_offset_address_p): Same. | |
7971 | ||
7972 | * config/rs6000/spe.md: (cmdfeq_gpr): New. | |
7973 | (tstdfeq_gpr): New. | |
7974 | (cmpdfgt_gpr): New. | |
7975 | (tstdfgt_gpr): New. | |
7976 | (tstdfgt_gpr): New. | |
7977 | (cmpdflt_gpr): New. | |
7978 | (tstdflt_gpr): New. | |
7979 | Add new constants. | |
7980 | ||
7981 | 2004-10-21 Giovanni Bajo <giovannibajo@gcc.gnu.org> | |
7982 | ||
7983 | * config/arc/lib1funcs.asm (___umulsidi3): Fix typo. | |
7984 | ||
7985 | 2004-10-21 Zack Weinberg <zack@codesourcery.com> | |
7986 | ||
7987 | * dbxout.c: Remove unnecessary #undefs. | |
7988 | (GDB_INV_REF_REGPARM_STABS_LETTER, DBX_MEMPARM_STABS_LETTER) | |
7989 | (FILE_NAME_JOINER, STABS_GCC_MARKER): Remove; fold sole | |
7990 | definition into use sites. | |
7991 | (cwd): Make local to dbxout_init. | |
7992 | (dbxout_init): Restructure cwd-using logic for clarity. Use | |
7993 | IS_DIR_SEPARATOR. | |
7994 | * xcoffout.h (DBX_OUTPUT_GCC_MARKER): Definition of | |
7995 | STABS_GCC_MARKER folded in here. | |
7996 | * system.h: Poison now-unused macros. | |
7997 | * doc/tm.texi: Remove documentation of now-unused macros. | |
7998 | ||
7999 | 2004-10-21 Andrew Pinski <pinskia@physics.uc.edu> | |
8000 | ||
8001 | PR c/17538 | |
8002 | * c-opts.c (push_command_line_include): Use the current file | |
8003 | name instead of the main one. | |
8004 | ||
8005 | 2004-10-21 Andrew Pinski <pinskia@physics.uc.edu> | |
8006 | ||
8007 | PR objc/17923 | |
8008 | * tree.c (staticp): A CONST_DECL has static storage if either | |
8009 | TREE_STATIC or DECL_EXTERNAL is set. | |
8010 | * c-decl.c (pushdecl_top_level): Accept CONST_DECLs which can | |
8011 | have null names. | |
8012 | ||
8013 | 2004-10-21 Kazu Hirata <kazu@cs.umass.edu> | |
8014 | ||
8015 | * expr.c (store_expr): Remove dont_store_target. | |
8016 | ||
8017 | 2004-10-21 Kazu Hirata <kazu@cs.umass.edu> | |
8018 | ||
8019 | * tree-cfg.c (thread_jumps): Speed up by using a worklist. | |
8020 | ||
8021 | 2004-10-21 Kazu Hirata <kazu@cs.umass.edu> | |
8022 | ||
8023 | * tree-cfg.c (thread_jumps): Move a part of it to ... | |
8024 | (thread_jumps_from_bb): ... here. | |
8025 | ||
8026 | 2004-10-21 David Edelsohn <edelsohn@gnu.org> | |
8027 | ||
8028 | * dbxout.c (DBX_FINISH_SYMBOL): Add asm_out_file argument. | |
8029 | * xcoffout.h (DBX_FINISH_SYMBOL): Change asmfile to (ASMFILE). | |
8030 | ||
8031 | 2004-10-21 Kazu Hirata <kazu@cs.umass.edu> | |
8032 | ||
8033 | * expr.c (store_expr): Clean up by renaming want_value to | |
8034 | call_param_p. | |
8035 | ||
8036 | 2004-10-21 Kaz Kojima <kkojima@gcc.gnu.org> | |
8037 | ||
8038 | * config/sh/linux-unwind.h (sh_fallback_frame_state): Don't | |
8039 | fixup pc here. | |
8040 | ||
8041 | 2004-10-21 Aldy Hernandez <aldyh@redhat.com> | |
8042 | ||
8043 | PR 18004. | |
8044 | * expmed.c (store_bit_field): Pass original 'value' before | |
8045 | recursing. | |
8046 | ||
8047 | 2004-10-21 Nicolas Pitre <nico@cam.org> | |
8048 | ||
8049 | * config/arm/ieee754-sf.S: Large speed improvements. Fix NAN handling. | |
8050 | * config/arm/ieee754-df.S: Ditto. | |
8051 | ||
8052 | 2004-10-20 Zack Weinberg <zack@codesourcery.com> | |
8053 | ||
8054 | * dbxout.c (asmfile): Delete. All uses changed to asm_out_file. | |
8055 | (DBX_BLOCKS_FUNCTION_RELATIVE, DBX_LINES_FUNCTION_RELATIVE): | |
8056 | Default to 0. | |
8057 | (dbxout_source_line): Use DBX_OUTPUT_SOURCE_LINE when defined. | |
8058 | When it is not, but DBX_LINES_FUNCTION_RELATIVE is true, emit | |
8059 | an internal label and an N_SLINE .stabn whose value is the | |
8060 | difference between that label and the function entry label. | |
8061 | (dbxout_finish): If DBX_OUTPUT_MAIN_SOURCE_FILE_END is not defined, | |
8062 | but DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END is, emit a | |
8063 | label and an N_SO stab with an empty string referring to it. | |
8064 | (dbx_output_lbrac, dbx_output_rbrac): Use if statement instead | |
8065 | of #ifdef directive to test DBX_BLOCKS_FUNCTION_RELATIVE. | |
8066 | (dbxout_type_methods, dbxout_symbol): Remove #if 0 block. | |
8067 | (dbxout_prepare_symbol): Remove #ifdef WINNING_GDB block, this | |
8068 | macro is never defined. | |
8069 | * sdbout.c (sdbout_source_line_counter): Delete. | |
8070 | (PUT_SDB_SRC_FILE): Delete. Uses replaced with sole definition. | |
8071 | (sdbout_source_line): Use SDB_OUTPUT_SOURCE_LINE, which takes | |
8072 | only two arguments. | |
8073 | * xcoffout.c (ASM_OUTPUT_SOURCE_LINE): Rename ASM_OUTPUT_LINE. | |
8074 | ||
8075 | * config/dbxcoff.h, config/dbxelf.h: Remove unncessary #undefs. | |
8076 | * config/c4x/c4x.h, config/pa/pa.h: Remove unnecessary macro | |
8077 | definitions (identical to default). | |
8078 | * config/darwin.h, config/dbxcoff.h, config/dbxelf.h, config/ptx4.h | |
8079 | * config/h8300/coff.h, config/pa/som.h, config/sh/elf.h: | |
8080 | Define DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END, not | |
8081 | DBX_OUTPUT_MAIN_SOURCE_FILE_END. | |
8082 | * config/dbxcoff.h, config/dbxelf.h, config/ptx4.h | |
8083 | * config/mcore/mcore-pe.h, config/pa/som.h, config/sh/elf.h: | |
8084 | Define DBX_LINES_FUNCTION_RELATIVE, not ASM_OUTPUT_SOURCE_LINE. | |
8085 | * config/alpha/alpha-protos.h: Don't prototype alpha_output_lineno. | |
8086 | * config/alpha/alpha.c: Move declaration of num_source_filenames up. | |
8087 | (alpha_start_function): Use SDB_OUTPUT_SOURCE_LINE. | |
8088 | (sym_lineno): Delete. | |
8089 | (alpha_output_filename): Do not emit N_SOL stabs here. Remove | |
8090 | now-unused variable. | |
8091 | (alpha_output_lineno): Delete. | |
8092 | * config/mips/mips-protos.h: Don't prototype mips_output_lineno. | |
8093 | * config/mips/mips.c (mips_output_filename): Don't use | |
8094 | ASM_OUTPUT_FILENAME. Don't emit N_SOL stabs here. | |
8095 | (mips_output_lineno): Delete. | |
8096 | (mips_output_function_prologue: Use SDB_OUTPUT_SOURCE_LINE. | |
8097 | * config/alpha/alpha.h: Define DBX_OUTPUT_SOURCE_LINE and | |
8098 | SDB_OUTPUT_SOURCE_LINE, not ASM_OUTPUT_SOURCE_LINE. | |
8099 | * config/mips/mips.h: Likewise. Don't define ASM_OUTPUT_FILENAME. | |
8100 | * config/mips/sdb.h: Use SDB_OUTPUT_SOURCE_LINE. | |
8101 | * config/avr/avr.h: Don't define ASM_OUTPUT_SOURCE_LINE. | |
8102 | * config/mmix/mmix.h: Likewise. | |
8103 | * config/mmix/mmix.c (mmix_asm_output_source_line): Delete. | |
8104 | * config/mmix/mmix-protos.h: Don't prototype it. | |
8105 | * config/alpha/unicosmk.h: Also #undef PREFERRED_DEBUGGING_TYPE; | |
8106 | no need to #undef ASM_OUTPUT_SOURCE_LINE. | |
8107 | * config/arm/aout.h: Remove RISCiX-specific definition of | |
8108 | DBX_OUTPUT_MAIN_SOURCE_FILENAME. | |
8109 | * config/m32r/m32r.h: Define DBX_OUTPUT_SOURCE_LINE, not | |
8110 | ASM_OUTPUT_SOURCE_LINE. | |
8111 | * config/rs6000/linux64.h (ASM_OUTPUT_SOURCE_LINE): Rename to | |
8112 | DBX_OUTPUT_SOURCE_LINE. Don't use current_function_func_begin_label. | |
8113 | * config/vax/elf.h: No need to define DBX_OUTPUT_FUNCTION_END. | |
8114 | ||
8115 | * doc/tm.texi: Update. | |
8116 | ||
8117 | 2004-10-20 Richard Henderson <rth@redhat.com> | |
8118 | ||
8119 | * tree-sra.c (instantiate_element): Copy DECL_IGNORED_P also. | |
8120 | ||
8121 | 2004-10-20 Kelley Cook <kcook@gcc.gnu.org> | |
8122 | ||
8123 | * configure.ac: Revert my previous patch. | |
8124 | * configure: Regenerate. | |
8125 | ||
8126 | 2004-10-20 Ben Elliston <bje@au.ibm.com> | |
8127 | ||
8128 | * config/rs6000/rs6000.c | |
8129 | (rs6000_va_start): Use build_va_arg_indirect_ref. | |
8130 | (rs6000_gimplify_va_arg): Likewise. | |
8131 | ||
8132 | 2004-10-20 Bryce McKinlay <mckinlay@redhat.com> | |
8133 | ||
8134 | PR java/15575 | |
8135 | * configure.ac: Declare AM_LANGINFO_CODESET. | |
8136 | * aclocal.m4: Define AM_LANGINFO_CODESET. | |
8137 | * configure, config.in: Rebuilt. | |
8138 | ||
8139 | 2004-10-20 Kazu Hirata <kazu@cs.umass.edu> | |
8140 | ||
8141 | * expr.c (store_expr): Remove code that is run when | |
8142 | want_value & 1 is nonzero. | |
8143 | ||
8144 | 2004-10-20 Mark Mitchell <mark@codesourcery.com> | |
8145 | ||
8146 | * gthr-posix.h (__gthread_active_p): Use __extension__ around cast | |
8147 | from function pointer to void *. | |
8148 | ||
8149 | 2004-10-20 Kaz Kojima <kkojima@gcc.gnu.org> | |
8150 | ||
8151 | PR target/18032 | |
8152 | * config/sh/sh.c (sh_expand_epilogue): Emit a blockage insn before | |
8153 | the frame pointer adjustment when exception handling is enabled. | |
8154 | ||
8155 | 2004-10-20 Kazu Hirata <kazu@cs.umass.edu> | |
8156 | ||
8157 | * stor-layout.c: Fix a comment typo. | |
8158 | ||
8159 | 2004-10-20 Kazu Hirata <kazu@cs.umass.edu> | |
8160 | ||
8161 | * expr.c (store_field): Remove two arguments value_mode and | |
8162 | unsignedp. | |
8163 | (expand_assignment, store_constructor_field, | |
8164 | expand_expr_real_1): Adjust calls to store_field. | |
8165 | ||
8166 | 2004-10-18 Ramana Radhakrishnan <ramana.radhakrishnan@codito.com> | |
8167 | ||
8168 | * config/arc/lib1funcs.asm (___umulsidi3): Correct usage of flags. | |
8169 | ||
8170 | PR target/17317 | |
8171 | * config/arc/arc.h (REGNO_OK_FOR_BASE_P,REGNO_OK_FOR_INDEX_P, | |
8172 | REG_OK_FOR_BASE, REG_OK_FOR_INDEX): Consider blink(r31) as a valid | |
8173 | base and index register for loads. | |
8174 | ||
8175 | * config/arc/t-arc: Fix multilib handling. | |
8176 | ||
8177 | 2004-10-20 Hans-Peter Nilsson <hp@bitrange.com> | |
8178 | ||
8179 | * cfgrtl.c (rtl_verify_flow_info_1): When checking insns in a bb, | |
8180 | don't inspect BLOCK_FOR_INSN for barriers. | |
8181 | * emit-rtl.c (emit_barrier_before): Revert last change. | |
8182 | (emit_barrier_after, emit_barrier): Ditto. | |
8183 | ||
8184 | * doc/extend.texi (Extended Asm): Warn and provide example | |
8185 | solution for using a call-clobbered asm register. | |
8186 | (Local Reg Vars): Similar. Cross-reference example. | |
8187 | ||
8188 | 2004-10-19 Andrew Pinski <pinskia@physics.uc.edu> | |
8189 | ||
8190 | * tree-cfg.c (group_case_labels): Look at the second to last | |
8191 | case statement for combing with the default case. | |
8192 | ||
8193 | 2004-10-19 Richard Hendeson <rth@redhat.com> | |
8194 | ||
8195 | PR 17962 | |
8196 | * stor-layout.c (layout_type): Set TYPE_ALIGN for vectors. | |
8197 | ||
8198 | 2004-10-19 Richard Hendeson <rth@redhat.com> | |
8199 | ||
8200 | * builtins.c (expand_builtin_memmove): If fold_builtin_memmove | |
8201 | succeeds, only expand the result. | |
8202 | ||
8203 | 2004-10-19 Richard Hendeson <rth@redhat.com> | |
8204 | ||
8205 | PR middle-end/17885 | |
8206 | * tree.c (recompute_tree_invarant_for_addr_expr): Always poll address | |
8207 | of INDIRECT_REF. | |
8208 | ||
8209 | 2004-10-19 Kazu Hirata <kazu@cs.umass.edu> | |
8210 | ||
8211 | * tree-cfg.c (thread_jumps): Use a do-while loop instead of a | |
8212 | loop with goto. | |
8213 | ||
8214 | 2004-10-19 Kazu Hirata <kazu@cs.umass.edu> | |
8215 | ||
8216 | * expr.c (expand_assignment): Remove the last argument. | |
8217 | Change the return type to void. | |
8218 | * expr.h: Update the prototype of expand_assignment. | |
8219 | * function.c (assign_parm_setup_reg): Update a call to | |
8220 | expand_assignment. | |
8221 | * stmt.c (expand_asm_expr): Likewise. | |
8222 | ||
8223 | 2004-10-19 Kazu Hirata <kazu@cs.umass.edu> | |
8224 | ||
8225 | * expr.c (expand_expr_real_1) <MODIFY_EXPR>: Remove | |
8226 | unnecessary assignments to temp. Return const0_rtx. | |
8227 | ||
8228 | 2004-10-19 Kaz Kojima <kkojima@gcc.gnu.org> | |
8229 | ||
8230 | * config/sh/sh.c (sh5_schedule_saves): Fix typo. | |
8231 | ||
8232 | 2004-10-18 Kelley Cook <kcook@gcc.gnu.org> | |
8233 | ||
8234 | * configure.ac (powerpc-*-darwin*): Require assembler to support | |
8235 | .machine directive. | |
8236 | * configure: Regenerate. | |
8237 | ||
8238 | 2004-10-18 Kazu Hirata <kazu@cs.umass.edu> | |
8239 | ||
8240 | * reload1.c (ior_hard_reg_set): Remove. | |
8241 | (finish_spills): Use IOR_HARD_REG_SET instead of | |
8242 | ior_hard_reg_set. | |
8243 | ||
8244 | 2004-10-18 Kazu Hirata <kazu@cs.umass.edu> | |
8245 | ||
8246 | * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP): Speed up by shifting | |
8247 | the currently visited word to right. | |
8248 | ||
8249 | 2004-10-18 Eric Botcazou <ebotcazou@libertysurf.fr> | |
8250 | ||
8251 | PR middle-end/18045 | |
8252 | * expmed.c (expand_smod_pow2): Handle modes whose size | |
8253 | is greater than that of HOST_WIDE_INT. | |
8254 | ||
8255 | 2004-10-18 Ziemowit Laski <zlaski@apple.com> | |
8256 | ||
8257 | * c-parse.in (reservedwords): Add OBJC_TYPE_QUAL as alternative. | |
8258 | ||
8259 | 2004-10-18 Eric Botcazou <ebotcazou@libertysurf.fr> | |
8260 | Roger Sayle <roger@eyesopen.com> | |
8261 | ||
8262 | PR middle-end/17813 | |
8263 | * dojump.c (discard_pending_stack_adjust): New function. | |
8264 | (clear_pending_stack_adjust): Call it. | |
8265 | * expr.h (discard_pending_stack_adjust): Declare it. | |
8266 | * explow.c (emit_stack_save): Emit pending stack adjustments | |
8267 | before saving the stack pointer. | |
8268 | (emit_stack_restore): Discard pending stack adjustments before | |
8269 | restoring the stack pointer. | |
8270 | ||
8271 | 2004-10-18 Richard Henderson <rth@redhat.com> | |
8272 | ||
8273 | * c-common.c (handle_mode_attribute): Allow scalar->vector | |
8274 | type changes yet. | |
8275 | ||
8276 | 2004-10-18 Kazu Hirata <kazu@cs.umass.edu> | |
8277 | ||
8278 | * expr.c (expand_expr_real_1) [MODIFY_EXPR]: Don't request a | |
8279 | value to expand_assignment. | |
8280 | ||
8281 | 2004-10-18 Kazu Hirata <kazu@cs.umass.edu> | |
8282 | ||
8283 | * tree-cfg.c (cleanup_tree_cfg): Don't iterate on | |
8284 | thread_jumps. | |
8285 | (thread_jumps): Iterate until no new forwarder block arises. | |
8286 | ||
8287 | 2004-10-18 Kazu Hirata <kazu@cs.umass.edu> | |
8288 | ||
8289 | * tree-cfg.c (tree_forwarder_block_p): Don't set forwardable. | |
8290 | (thread_jumps): Use forwardable as cache of | |
8291 | tree_forwarder_block_p throughout the function. | |
8292 | ||
8293 | 2004-10-18 Andreas Krebbel <krebbel1@de.ibm.com> | |
8294 | ||
8295 | * cfg.c (dump_flow_info): Remove redundant dump of reg life info. | |
8296 | ||
8297 | 2004-10-18 Andrew Pinski <pinskia@physics.uc.edu> | |
8298 | ||
8299 | PR middle-end/15014 | |
8300 | PR middle-end/16973 | |
8301 | * tree-cfg.c (remove_bb): If we have a label expression in the | |
8302 | basic block and the label we have taken the address, move the | |
8303 | label expression to the basic block which is previous in the | |
8304 | linked list. | |
8305 | (tree_verify_flow_info): Fix printing out the label name of the | |
8306 | problematic label expression. | |
8307 | ||
8308 | 2004-10-18 Pat Haugen <pthaugen@us.ibm.com> | |
8309 | ||
8310 | PR rtl-optimization/18002 | |
8311 | * simplify-rtx.c (mode_signbit_p): Externalize function... | |
8312 | * rtl.h (mode_signbit_p): ... to here. | |
8313 | * combine.c (simplify_shift_const): Recognize PLUS signbit as | |
8314 | canonical form of XOR signbit and move to outer op. | |
8315 | ||
8316 | 2004-10-18 Diego Novillo <dnovillo@redhat.com> | |
8317 | ||
8318 | * tree-cfg.c (bsi_for_stmt): Rename from stmt_for_bsi. | |
8319 | Update all callers. | |
8320 | * tree-ssa.c (replace_immediate_uses): Call bsi_for_stmt. | |
8321 | Don't call fold_stmt more than once, use bsi_replace. | |
8322 | ||
8323 | 2004-10-18 Diego Novillo <dnovillo@redhat.com> | |
8324 | ||
8325 | PR tree-optimization/17656 | |
8326 | * tree-ssa.c (replace_immediate_uses): When replacing a | |
8327 | constant, if the call to fold_stmt produced a different | |
8328 | statement, get an appropriate statement pointer by scanning | |
8329 | STMT's basic block. | |
8330 | ||
8331 | 2004-10-18 Richard Henderson <rth@redhat.com> | |
8332 | ||
8333 | * pointer-set.c (hash1): Don't use libm functions in fallback case. | |
8334 | ||
8335 | 2004-10-18 H.J. Lu <hongjiu.lu@intel.com> | |
8336 | ||
8337 | PR bootstrap/17684 | |
8338 | * Makefile.in (clean): Remove libgcc_s$(SHLIB_EXT).1.stage?. | |
8339 | (stage1-start): Remove and copy libunwind.a and | |
8340 | libunwind*$(SHLIB_EXT) instead of libunwind*. | |
8341 | (stage2-start): Likewise. | |
8342 | (stage3-start): Likewise. | |
8343 | (stage4-start): Likewise. | |
8344 | (stageprofile-start): Likewise. | |
8345 | (stagefeedback-start): Likewise. | |
8346 | ||
8347 | * config/alpha/t-osf4 (SHLIB_LINK): Use a temporary file for | |
8348 | the shared library to be created and don't remove the existing | |
8349 | shared library. | |
8350 | * config/arm/t-netbsd (SHLIB_LINK): Likewise. | |
8351 | * config/i386/t-nwld (SHLIB_LINK): Likewise. | |
8352 | * config/mips/t-slibgcc-irix (SHLIB_LINK): Likewise. | |
8353 | * config/pa/t-hpux-shlib (SHLIB_LINK): Likewise. | |
8354 | * config/sh/t-linux (SHLIB_LINK): Likewise. | |
8355 | * config/t-libunwind-elf (SHLIBUNWIND_LINK): Likewise. | |
8356 | * config/t-slibgcc-darwin (SHLIB_LINK): Likewise. | |
8357 | * config/t-slibgcc-elf-ver (SHLIB_LINK): Likewise. | |
8358 | * config/t-slibgcc-sld (SHLIB_LINK): Likewise. | |
8359 | ||
8360 | * mklibgcc.in (libgcc-stage-start): Also move "*${objext}s" | |
8361 | files. | |
8362 | ||
8363 | 2004-10-18 Kazu Hirata <kazu@cs.umass.edu> | |
8364 | ||
8365 | * basic-block.h (reg_set_iterator): New. | |
8366 | (EXECUTE_IF_SET_IN_REG_SET): Make it iterator style. | |
8367 | (EXECUTE_IF_AND_COMPL_IN_REG_SET): Likewise. | |
8368 | (EXECUTE_IF_AND_IN_REG_SET): Likewise. | |
8369 | * caller-save.c (save_call_clobbered_regs): Adjust to the new | |
8370 | style. | |
8371 | * cfgcleanup.c (thread_jump): Likewise. | |
8372 | * cfgrtl.c (safe_insert_insn_on_edge): Likewise. | |
8373 | * conflict.c (conflict_graph_compute): Likewise. | |
8374 | * flow.c (verify_local_live_at_start, update_life_info, | |
8375 | initialize_uninitialized_subregs, propagate_one_insn, | |
8376 | init_propagate_block_info, free_propagate_block_info, | |
8377 | propagate_block, dump_regset): Likewise. | |
8378 | * global.c (global_conflicts): Likewise. | |
8379 | * graph.c (start_bb): Likewise. | |
8380 | * local-alloc.c (update_equiv_regs): Likewise. | |
8381 | * loop.c (load_mems): Likewise. | |
8382 | * reload1.c (compute_use_by_pseudos, order_regs_for_reload, | |
8383 | find_reg, finish_spills): Likewise. | |
8384 | * resource.c (mark_target_live_regs): Likewise. | |
8385 | * sched-deps.c (sched_analyze_insn): Likewise. | |
8386 | * sched-rgn.c (sched-rgn.c): Likewise. | |
8387 | * config/frv/frv.c (frv_ifcvt_modify_tests): Likewise. | |
8388 | ||
8389 | 2004-10-18 Jakub Jelinek <jakub@redhat.com> | |
8390 | ||
8391 | * config/i386/i386.md (addqi_1_slp): Test for incdec_operand | |
8392 | operand 1 instead of 2 | |
8393 | ||
8394 | 2004-10-18 Kazu Hirata <kazu@cs.umass.edu> | |
8395 | ||
8396 | * loop-unroll.c: Fix comment typos. | |
8397 | ||
8398 | 2004-10-18 Revital Eres <eres@il.ibm.com> | |
8399 | ||
8400 | * Makefile.in (loop-unroll.o): Add VARRAY_H dependency. | |
8401 | * loop-unroll.c: Include varray.h. | |
8402 | (struct var_to_expand, struct opt_info): Rename split_ivs_info to | |
8403 | opt_info and expand it to support variable expansion. | |
8404 | (analyze_insns_in_loop): Rename analyze_ivs_to_split and | |
8405 | expand it to support variable expansion. | |
8406 | (pt_info_start_duplication): Rename si_info_start_duplication. | |
8407 | (apply_opt_in_copies): Rename split_ivs_in_copies and add support | |
8408 | to the variable expansion optimization. | |
8409 | (free_opt_info): Rename free_si_info. | |
8410 | (analyze_insn_to_expand_var, referenced_in_one_insn_in_loop_p, | |
8411 | expand_var_during_unrolling, insert_var_expansion_initialization, | |
8412 | combine_var_copies_in_loop_exit, release_var_copies, | |
8413 | get_expansion): New functions. | |
8414 | (peel_loop_completely, unroll_loop_constant_iterations, | |
8415 | unroll_loop_runtime_iterations, peel_loop_simple, | |
8416 | unroll_loop_stupid): Change uses of struct si_info | |
8417 | to struct opt_info | |
8418 | and add uses of fvariable-expansion-in-unroller flag. | |
8419 | * params.def: Add parameter to restrict the number of expansions. | |
8420 | * params.h: (MAX_VARIABLE_EXPANSIONS): New define to restrict | |
8421 | the number of expansions. | |
8422 | * common.opt: (fvariable-expansion-in-unroller): New flag. | |
8423 | * doc/invoke.texi: (fvariable-expansion-in-unroller): Document. | |
8424 | ||
8425 | 2004-10-18 Danny Smith <dannysmith@users.sourceforge.net> | |
8426 | ||
8427 | * config/i386/cygming.h (TARGET_OS_CPP_BUILTINS): Define | |
8428 | __GXX_MERGED_TYPEINFO_NAMES to 0. | |
8429 | ||
8430 | 2004-10-17 Hans-Peter Nilsson <hp@bitrange.com> | |
8431 | ||
8432 | * cfgrtl.c (rtl_verify_flow_info_1): When checking insns in a bb, | |
8433 | handle barriers in a bb by checking that it points to a NULL bb. | |
8434 | * emit-rtl.c (emit_barrier_before): Set BLOCK_FOR_INSN to NULL. | |
8435 | (emit_barrier_after, emit_barrier): Ditto. | |
8436 | ||
8437 | 2004-10-18 Joseph S. Myers <jsm@polyomino.org.uk> | |
8438 | ||
8439 | * doc/extend.texi (Attribute Syntax): Clarify details of | |
8440 | attributes on parameters. | |
8441 | ||
8442 | 2004-10-17 Zdenek Dvorak <dvorakz@suse.cz> | |
8443 | ||
8444 | * tree-ssa-loop-ivopts.c (tree_ssa_iv_optimize): Move checking out of | |
8445 | loop. | |
8446 | ||
8447 | 2004-10-17 Andrew Pinski <pinskia@physics.uc.edu> | |
8448 | ||
8449 | Revert: | |
8450 | 2004-10-17 Andrew Pinski <pinskia@physics.uc.edu> | |
8451 | ||
8452 | * c-typeck.c (default_function_array_conversion): Always create | |
8453 | &a[0] for array types. | |
8454 | (build_unary_op): Do not fold &a[x] into a + x. | |
8455 | ||
8456 | 2004-10-17 Andrew Pinski <pinskia@physics.uc.edu> | |
8457 | ||
8458 | PR middle-end/17925 | |
8459 | * cfgexpand.c (expand_gimple_cond_expr): Emit line notes for next basic | |
8460 | block if there is a goto with a locus. | |
8461 | ||
8462 | 2004-10-17 Kazu Hirata <kazu@cs.umass.edu> | |
8463 | ||
8464 | * config/elfos.h, config/gofast.h, config/interix.h, | |
8465 | config/netbsd.h, config/svr3.h, config/vxworks.h, | |
8466 | config/alpha/alpha-modes.def, config/alpha/alpha-protos.h, | |
8467 | config/alpha/ev4.md, config/alpha/ev5.md, config/alpha/ev6.md, | |
8468 | config/alpha/netbsd.h, config/arm/arm-modes.def, | |
8469 | config/arm/unknown-elf.h, config/c4x/c4x-modes.def, | |
8470 | config/cris/aout.h, config/frv/frv-modes.def, | |
8471 | config/i386/beos-elf.h, config/i386/gas.h, | |
8472 | config/i386/i386-coff.h, config/i386/i386-modes.def, | |
8473 | config/i386/linux.h, config/i386/linux64.h, | |
8474 | config/i386/mingw32.h, config/i386/netbsd-elf.h, | |
8475 | config/i386/netbsd64.h, config/i386/sco5.h, | |
8476 | config/i386/sol2.h, config/i386/uwin.h, config/i860/i860.md, | |
8477 | config/ia64/ia64-modes.def, config/ia64/itanium1.md, | |
8478 | config/ia64/itanium2.md, config/m68k/m68k-modes.def, | |
8479 | config/mips/mips-modes.def, config/mips/sdb.h, | |
8480 | config/mips/vr.h, config/mips/vxworks.h, | |
8481 | config/pa/pa-hpux10.h, config/pa/pa-hpux11.h, | |
8482 | config/pa/pa32-linux.h, config/rs6000/40x.md, | |
8483 | config/rs6000/7450.md, config/rs6000/8540.md, | |
8484 | config/rs6000/linuxspe.h, config/rs6000/power4.md, | |
8485 | config/rs6000/rs6000-modes.def, config/rs6000/rtems.h, | |
8486 | config/rs6000/spe.h, config/s390/2064.md, config/s390/linux.h, | |
8487 | config/s390/s390-modes.def, config/sh/elf.h, | |
8488 | config/sh/sh-modes.def, config/sh/sh64.h, | |
8489 | config/sparc/ultra1_2.md, config/sparc/ultra3.md, | |
8490 | config/stormy16/stormy16.md, config/v850/v850-protos.h, | |
8491 | config/vax/vax.md: Update copyright. | |
8492 | ||
8493 | 2004-10-17 Kazu Hirata <kazu@cs.umass.edu> | |
8494 | ||
8495 | * expr.c (expand_expr_real_1): Remove an obsolete comment. | |
8496 | ||
8497 | 2004-10-17 Andrew Pinski <pinskia@physics.uc.edu> | |
8498 | ||
8499 | * c-typeck.c (default_function_array_conversion): Always create | |
8500 | &a[0] for array types. | |
8501 | (build_unary_op): Do not fold &a[x] into a + x. | |
8502 | ||
8503 | 2004-10-17 Jakub Jelinek <jakub@redhat.com> | |
8504 | ||
8505 | * pointer-set.c (hash1): Use integer part of 2^64 / phi | |
8506 | instead 2^32 / phi if long is 64-bit. | |
8507 | ||
8508 | 2004-10-17 Joseph S. Myers <jsm@polyomino.org.uk> | |
8509 | ||
8510 | * c-common.h (enum rid): Remove RID_PTRBASE, RID_PTREXTENT and | |
8511 | RID_PTRVALUE. | |
8512 | * c-parse.in (PTR_VALUE, PTR_BASE, PTR_EXTENT): Remove %token | |
8513 | declarations. | |
8514 | (reswords): Remove __ptrbase, __ptrbase__, __ptrextent, | |
8515 | __ptrextent__, __ptrvalue and __ptrvalue__. | |
8516 | (rid_to_yy): Remove RID_PTRBASE, RID_PTREXTENT and RID_PTRVALUE | |
8517 | entries. | |
8518 | ||
8519 | 2004-10-16 Dale Johannesen <dalej@apple.com> | |
8520 | ||
e8366202 | 8521 | * c-common.c (c_common_get_alias_set): Use GGC for type_hash_table. |
7a4515d7 SB |
8522 | |
8523 | 2004-10-16 Zdenek Dvorak <dvorakz@suse.cz> | |
8524 | ||
8525 | PR tree-optimization/17766 | |
8526 | * basic-block.h (enum dom_state): DOM_CONS_OK removed. | |
8527 | (dom_info_available_p): Declare. | |
8528 | * cfghooks.c (split_block, make_forwarder_block): Use | |
8529 | dom_info_available_p. | |
8530 | * dominance.c (compute_dom_fast_query, calculate_dominance_info, | |
8531 | free_dominance_info, verify_dominators): Ditto. | |
8532 | (dom_info_available_p): New function. | |
8533 | * tree-cfg.c (cleanup_control_expr_graph): Free dominance information. | |
8534 | (thread_jumps): Use dom_info_available_p. | |
8535 | * tree-complex.c (expand_complex_div_wide): Ditto. | |
8536 | * tree-mudflap.c (mf_build_check_statement_for): Ditto. | |
8537 | ||
8538 | 2004-10-16 Zdenek Dvorak <dvorakz@suse.cz> | |
8539 | ||
8540 | * tree-ssa-loop-ivopts.c (struct ivopts_data): New field important_candidates. | |
8541 | (find_best_candidate): Take also important candidates into account. | |
8542 | (find_optimal_iv_set): Initialize important_candidates bitmap. | |
8543 | ||
8544 | 2004-10-16 Zdenek Dvorak <dvorakz@suse.cz> | |
8545 | ||
8546 | PR tree-optimization/17560 | |
8547 | * predict.c (tree_estimate_probability): Mark irreducible | |
8548 | loops. | |
8549 | ||
8550 | 2004-10-16 Zdenek Dvorak <dvorakz@suse.cz> | |
8551 | ||
8552 | PR rtl-optimization/17723 | |
8553 | * cfgcleanup.c (merge_memattrs): Handle case when | |
8554 | MEM_SIZE == NULL_RTX. | |
8555 | ||
8556 | 2004-10-15 Andrew Pinski <pinskia@physics.uc.edu> | |
8557 | ||
8558 | * toplev.c (dump_file_name): Change type to be const. | |
8559 | ||
8560 | 2004-10-15 Joseph S. Myers <jsm@polyomino.org.uk> | |
8561 | ||
8562 | * c-typeck.c (build_compound_expr, build_c_cast): Don't try to use | |
8563 | non_lvalue to stop something being a null pointer constant. | |
8564 | ||
8565 | 2004-10-15 Aldy Hernandez <aldyh@redhat.com> | |
8566 | ||
8567 | * config/rs6000/rs6000.h (FUNCTION_ARG_REGNO_P): FPRs are only | |
8568 | available for TARGET_FPRS. | |
8569 | (FUNCTION_VALUE_REGNO_P): Same. | |
8570 | ||
8571 | 2004-10-15 Geoffrey Keating <geoffk@apple.com> | |
8572 | ||
8573 | * doc/invoke.texi (RS/6000 and PowerPC Options): Document | |
8574 | -maltivec in same style as other ISA options. | |
8575 | ||
8576 | 2004-10-15 Jon Grimm <jgrimm2@us.ibm.com> | |
8577 | ||
8578 | * config/host-linux.c (TRY_EMPTY_VM_SPACE): Add __powerpc__ | |
8579 | definition. | |
8580 | ||
8581 | 2004-10-15 Kazu Hirata <kazu@cs.umass.edu> | |
8582 | ||
8583 | * bitmap.c, bitmap.h, builtin-attrs.def, cfglayout.h, | |
8584 | collect2.h, conflict.c, coretypes.h, coverage.h, errors.h, | |
8585 | gcc.h, gcov-dump.c, gen-protos.c, gencheck.c, gencodes.c, | |
8586 | genconstants.c, gengenrtl.c, genmodes.c, genpeep.c, | |
8587 | gensupport.h, graph.h, gthr-gnat.c, gthr-gnat.h, gthr-posix.c, | |
8588 | gthr-posix.h, hard-reg-set.h, hwint.h, integrate.h, libgcc2.c, | |
8589 | lists.c, machmode.def, mips-tdump.c, opts.h, params.c, | |
8590 | predict.def, predict.h, protoize.c, reload.h, resource.h, | |
8591 | rtl-error.c, sbitmap.c, sbitmap.h, sreal.c, tlink.c, | |
8592 | tree-dump.h, tree-inline.h, unwind-dw2-fde.c, unwind-dw2.c, | |
8593 | unwind-sjlj.c, value-prof.h: Update copyright. | |
8594 | ||
8595 | 2004-10-15 Kazu Hirata <kazu@cs.umass.edu> | |
8596 | ||
8597 | * pointer-set.c, tree-vectorizer.c: Fix comment typos. | |
8598 | ||
8599 | 2004-10-15 Diego Novillo <dnovillo@redhat.com> | |
8600 | ||
8601 | * tree-optimize.c (execute_one_pass): Stop timer right after | |
8602 | executing the pass. | |
8603 | ||
8604 | 2004-10-14 Andrew Pinski <pinskia@physics.uc.edu> | |
8605 | ||
8606 | Revert: | |
8607 | 2004-10-14 Andrew Pinski <pinskia@physics.uc.edu> | |
8608 | PR middle-end/17967 | |
8609 | Revert: | |
e8366202 MS |
8610 | * tree-cfg.c (remove_usless_stmts_cond): Fold statement. |
8611 | (remove_useless_stmts_1): Fold trees we know how to fold. | |
7a4515d7 SB |
8612 | |
8613 | 2004-10-14 David Edelsohn <edelsohn@gnu.org> | |
8614 | ||
8615 | * configure.ac: Add .machine power4 directive when testing for | |
8616 | mfcr field. | |
8617 | * configure: Regenerate. | |
8618 | ||
8619 | 2004-10-14 Geoffrey Keating <geoffk@apple.com> | |
8620 | ||
8621 | * config/darwin.h (JUMP_TABLES_IN_TEXT_SECTION): Don't define. | |
8622 | ||
8623 | 2004-10-14 Andrew Pinski <pinskia@physics.uc.edu> | |
8624 | ||
8625 | * tree-vectorizer.c (vect_transform_loop): Declare vectorization_factor | |
8626 | always. | |
8627 | ||
8628 | 2004-10-14 Daniel Jacobowitz <dan@codesourcery.com> | |
8629 | ||
8630 | * config/rs6000/rs6000.h (REG_CLASS_FROM_LETTER): Return NO_REGS | |
8631 | for 'f' if !TARGET_FPRS. | |
8632 | ||
8633 | 2004-10-14 Richard Henderson <rth@redhat.com> | |
8634 | ||
8635 | PR debug/14492 | |
8636 | * dwarf2out.c (loc_descriptor_from_tree_1): Handle FIX_*_EXPR. | |
8637 | ||
8638 | 2004-10-14 Richard Henderson <rth@redhat.com> | |
8639 | ||
8640 | PR c/17023 | |
8641 | * c-decl.c (store_parm_decls_oldstyle): Care for parameter type | |
8642 | as error_mark_node. | |
8643 | * c-parse.in (compstmt_primary_start): Check cur_stmt_list non-null | |
8644 | instaed of current_function_decl non-null. | |
8645 | ||
8646 | 2004-10-14 Matt Austern <austern@apple.com> | |
8647 | ||
8648 | * pointer-set.c: New file, special-purpose hash table. | |
8649 | * pointer-set.h: New file. | |
8650 | * tree.h (struct pointer_set_t): Declare as opaque type. | |
8651 | (tree_walk): Last argument is pointer_set_t* now. | |
8652 | * tree-inline.c (WALK_SUBTREE): Convert from htab to pset. | |
8653 | (walk_type_fields): | |
8654 | (walk_tree): Convert from htab_t to pointer_set_t for keeping | |
8655 | track of which nodes have already been visited. | |
8656 | (walk_tree_without_duplicates): Convert from htab_t to pointer_set_t. | |
8657 | * cgraphunit.c (cgraph_create_edges): Likewise. | |
8658 | (cgraph_characterize_statics_local): Likewise. | |
8659 | * tree-dfa.c (collect_dfa_stats): Likewise. | |
8660 | * langhooks-def.h (lhd_tree_inlining_walk_subtrees): Last arg is | |
8661 | pointer_set_t* now. | |
8662 | * langhooks.c (lhd_tree_inlining_walk_subtrees): Likewise. | |
8663 | * langhooks.h (struct lang_hooks_for_tree_inlining): Last arg type | |
8664 | of walk_subtrees is pointer_set_t* now. | |
8665 | * Makefile.in (OBJS-common): add pointer-set.o | |
8666 | (tree-inline.o): Depends on pointer-set.h | |
8667 | (tree-dfa.o): Likewise | |
8668 | (cgraphunit.o): Likewise | |
8669 | ||
8670 | 2004-10-14 Geoffrey Keating <geoffk@apple.com> | |
8671 | ||
8672 | * config/rs6000/darwin.h (ASM_SPEC): Delete. | |
8673 | (TARGET_ASM_FILE_START): Define. | |
8674 | * config/darwin.h (ASM_SPEC): Define. | |
8675 | * config/rs6000/t-darwin (TARGET_LIBGCC2_CFLAGS): Don't supply | |
8676 | -mlong-double-128, it's the default. Update comment about reason | |
8677 | for force_cpusubtype_ALL. | |
8678 | * config/rs6000/darwin-vecsave.asm: Supply .machine. | |
8679 | * config/rs6000/darwin-world.asm: Likewise. | |
8680 | * config/rs6000/rs6000.c (rs6000_darwin_file_start): New. | |
8681 | (symbolic_operand): Delete #if 0ed code. | |
8682 | ||
8683 | 2004-10-14 Andrew Pinski <pinskia@physics.uc.edu> | |
8684 | ||
8685 | * stmt.c (add_case_node): Make sure that we have integer | |
8686 | constant before calling tree_int_cst_compare. | |
8687 | ||
8688 | 2004-10-14 Andrew Pinski <pinskia@physics.uc.edu> | |
8689 | ||
8690 | PR middle-end/17967 | |
8691 | Revert: | |
e8366202 MS |
8692 | * tree-cfg.c (remove_usless_stmts_cond): Fold statement. |
8693 | (remove_useless_stmts_1): Fold trees we know how to fold. | |
7a4515d7 SB |
8694 | |
8695 | 2004-10-14 Joseph S. Myers <joseph@codesourcery.com> | |
8696 | ||
8697 | * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS), | |
8698 | config/rs6000/linuxspe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Disallow | |
8699 | -m64. | |
8700 | ||
8701 | 2004-10-14 Ulrich Weigand <uweigand@de.ibm.com> | |
8702 | ||
8703 | * reload.c (find_reloads): When reloading a PLUS with constant | |
8704 | operand, make sure the constant is pushed to the constant pool | |
8705 | if required. | |
8706 | * config/s390/s390.c (s390_secondary_input_reload_class): Remove | |
8707 | reload bug workaround. | |
8708 | (s390_expand_plus_operand): Likewise. | |
8709 | ||
8710 | 2004-10-14 David Edelsohn <edelsohn@gnu.org> | |
8711 | ||
8712 | * opts.c (common_handle_option): Do not enable | |
8713 | flag_speculative_prefetching for -fprofile-generate/use. | |
8714 | ||
8715 | 2004-10-14 Devang Patel <dpatel@apple.com> | |
8716 | ||
8717 | PR 17635 | |
8718 | * tree-if-conv.c (process_phi_nodes): Process latch block. | |
8719 | (combine_blocks): Process latch block and update loop structure. | |
8720 | ||
8721 | 2004-10-14 Olga Golovanevsky <olga@il.ibm.com> | |
8722 | ||
8723 | * tree-vectorizer.c (vect_generate_tmps_on_preheader): | |
8724 | (vect_update_ivs_after_vectorizer): | |
8725 | (vect_transform_for_unknown_loop_bound): | |
8726 | (tree_duplicate_loop_to_edge): | |
8727 | (allocate_new_names): | |
8728 | (rename_use_op): | |
8729 | (rename_def_op): | |
8730 | (rename_variables_in_bb): | |
8731 | (free_new_names): | |
8732 | (rename_variables_in_loop): | |
8733 | (copy_phi_nodes): | |
8734 | (update_phis_for_duplicate_loop): | |
8735 | (update_phi_nodes_for_guard): | |
8736 | (make_loop_iterate_ntimes): | |
8737 | (tree_duplicate_loop_to_edge_cfg): | |
8738 | (add_loop_guard): | |
8739 | (vect_analyze_loop_with_symbolic_num_of_iters): | |
8740 | (verify_loop_for_duplication): | |
8741 | (vect_gen_niters_for_prolog_loop): | |
8742 | (vect_update_niters_after_peeling): | |
8743 | (vect_update_inits_of_dr): | |
8744 | (vect_update_inits_of_drs): | |
8745 | (vect_build_loop_niters): | |
8746 | (vect_do_peeling_for_alignment): New functions. | |
8747 | (vect_transform_loop): Add unknown and known but indivisible loop | |
8748 | bound support; add peeling for unalignment support. | |
8749 | (vect_analyze_loop_form): Support symbolic number of iterations. | |
8750 | (vect_transform_loop_bound): New input parameter. | |
8751 | (vect_get_loop_niters): Change input parameter type. | |
8752 | (new_loop_vec_info): LOOP_VINFO_NITERS is tree now. | |
8753 | (vectorizable_store): Allow unaligned access. | |
8754 | (vectorize_loops): Add rewrite_into_loop_closed_ssa. | |
8755 | (vect_analyze_data_refs_alignment): Allowed one unaligned | |
8756 | store. | |
8757 | * tree-vectorizer.h (LOOP_VINFO_NITERS_KNOWN_P): Redefined | |
8758 | to use tree. | |
8759 | (LOOP_VINFO_INT_NITERS): New macro. | |
8760 | (MAX_NUMBER_OF_UNALIGNED_DATA_REFS): New define. | |
8761 | (do_peeling_for_alignment): | |
8762 | (unaligned_drs): New members of _loop_vec_info. | |
8763 | (LOOP_DO_PEELING_FOR_ALIGNMENT): New macro. | |
8764 | ||
8765 | 2004-10-14 Ranjit Mathew <rmathew@hotmail.com> | |
8766 | ||
8767 | * tree.h (TREE_STRING_POINTER): Wrap in "const char *". | |
8768 | (struct tree_string): Remove "const" qualifier for "str". | |
8769 | ||
8770 | 2004-10-14 Ira Rosen <irar@il.ibm.com> | |
8771 | ||
8772 | * tree-vectorizer.c (vect_analyze_data_refs): Call | |
8773 | vect_get_base_and_bit_offset to get memory tag for array ref. | |
8774 | (vect_create_addr_base_for_vector_ref): Remove redundant checks. | |
8775 | ||
8776 | 2004-10-14 Richard Earnshaw <rearnsha@arm.com> | |
8777 | ||
8778 | * configure.ac: Use $LN_S for creating symlinks (not $LN). | |
8779 | * configure: Regenerate. | |
8780 | ||
8781 | 2004-10-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
8782 | ||
8783 | * doc/install.texi (*-*-solaris2*): Update with info about kernel | |
8784 | patches to solve spurious testsuite failures. | |
8785 | ||
8786 | 2004-10-14 Dorit Naishlos <dorit@il.bim.com> | |
8787 | ||
8788 | * tree-vectorizer.c (get_vectype_for_scalar_type): Added debug prinouts. | |
8789 | Added check that vectype is VECTOR_MODE_P, instead of check for BLKmode. | |
8790 | (vect_analyze_operations): Make sure the vectorization factor > 1. Add | |
8791 | gcc_assert under ENABLE_CHECKING. | |
8792 | (vectorizable_operation): Remove check for VECTOR_MODE_P (moved to | |
8793 | get_vectype_for_scalar_type). | |
8794 | ||
8795 | (vect_get_vec_def_for_operand): Remove redundant variables. | |
8796 | (vect_transform_loop): Likewise. | |
8797 | ||
8798 | 2004-10-14 Richard Sandiford <rsandifo@redhat.com> | |
8799 | ||
8800 | * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Make r11 fixed and | |
8801 | global for -mcaller-super-interworking. | |
8802 | (CALLER_INTERWORKING_SLOT_SIZE): New macro. | |
8803 | * config/arm/arm.c (thumb_compute_save_reg_mask): Save r11 if | |
8804 | CALLER_INTERWORKING_SLOT_SIZE is nonzero and the function does | |
8805 | not need a frame pointer. | |
8806 | (arm_get_frame_offsets): Add CALLER_INTERWORKING_SLOT_SIZE bytes to | |
8807 | the soft frame pointer offset. | |
8808 | (thumb_expand_prologue): Set up r11 for -mcaller-super-interworking. | |
8809 | * config/arm/arm.md (*call_reg_thumb, *call_value_reg_thumb): Use | |
8810 | _interwork_{r7,r11}_call_via_rN if some arguments are passed on | |
8811 | the stack. Use frame_pointer_needed to choose between them. | |
8812 | * config/arm/lib1funcs.asm (_arm_return_{r7,r11}): New functions. | |
8813 | (interwork_with_frame): New macro. | |
8814 | (interwork): Add _interwork_{r7,r11}_call_via_rN(). | |
8815 | ||
8816 | 2004-10-14 Ben Elliston <bje@au.ibm.com> | |
8817 | ||
8818 | PR other/17900 | |
8819 | * diagnostic.c (trim_filename): Fix logic bug in walking backwards | |
8820 | up the filename looking for a previous directory separator. | |
8821 | ||
8822 | 2004-10-14 Joseph S. Myers <jsm@polyomino.org.uk> | |
8823 | ||
8824 | * c-tree.h (enum c_typespec_kind, struct c_typespec, | |
8825 | parser_xref_tag): New. | |
8826 | (struct c_declspecs): Add tag_defined_p. Adjust definition of | |
8827 | typedef_p. | |
8828 | (declspecs_add_type): Adjust prototypes. | |
8829 | * c-parse.in (%union): Add tstype. | |
8830 | (typespec_nonattr, typespec_attr, typespec_reserved_nonattr, | |
8831 | typespec_reserved_attr, typespec_nonreserved_nonattr, | |
8832 | structsp_attr, structsp_nonattr): Change to tstype. Update | |
8833 | actions. | |
8834 | * c-decl.c (build_null_declspecs): Initialize tag_defined_p. | |
8835 | (declspecs_add_type): Update to take struct c_typespec argument. | |
8836 | Set tag_defined_p and typedef_p as appropriate. | |
8837 | (xref_tag): Rename to parser_xref_tag and replace by wrapper. | |
8838 | Update to return struct c_typespec. | |
8839 | (shadow_tag_warned): Don't let empty declarations with qualifiers | |
8840 | or storage class specifiers redeclare a tag if a previous | |
8841 | declaration is visible. | |
8842 | ||
8843 | 2004-10-13 Richard Henderson <rth@redhat.com> | |
8844 | ||
8845 | PR debug/15860 | |
8846 | * dwarf2out.c (rtl_for_decl_location): Apply big-endian correction | |
8847 | for DECL_INCOMING_RTL. | |
8848 | ||
8849 | 2004-10-14 Hans-Peter Nilsson <hp@axis.com> | |
8850 | ||
8851 | PR target/17984 | |
8852 | * config/cris/cris.md (asrandb, asrandw, lsrandb, lsrandw): Apply | |
8853 | trunc_int_for_mode for constants used in shortened mode. | |
8854 | ||
8855 | 2004-10-13 Richard Henderson <rth@redhat.com> | |
8856 | ||
8857 | PR c/17384 | |
8858 | * c-common.c (handle_mode_attribute): Disallow mode changes that | |
8859 | alter the CODE of the top-level type. | |
8860 | ||
8861 | * crtstuff.c (__FRAME_END__): Remove mode attribute. Find 32-bit | |
8862 | integer from internal limits macros. | |
8863 | * config/i386/mm3dnow.h (__v2sf): Fix base type. | |
8864 | ||
8865 | 2004-10-13 Richard Henderson <rth@redhat.com> | |
8866 | ||
8867 | PR debug/13841 | |
8868 | * function.c (instantiate_decl): Recurse for CONCAT. | |
8869 | ||
8870 | 2004-10-13 David Edelsohn <edelsohn@gnu.org> | |
8871 | ||
8872 | * config/rs6000/rs6000.md (andsi3): Add attribute "compare" for | |
8873 | andi./andis. | |
8874 | (anddi3): Same. | |
8875 | (extzvdi_internal1): Add attribute "compare". | |
8876 | (extzvdi_internal2): Same. | |
8877 | ||
8878 | 2004-10-12 Tom Tromey <tromey@redhat.com> | |
8879 | ||
8880 | * doc/md.texi (Insn Canonicalizations): Removed extraneous quote. | |
8881 | ||
8882 | 2004-10-13 Dale Johannesen <dalej@apple.com> | |
8883 | ||
e8366202 | 8884 | * doc/extend.texi (Extended Asm): Rewrite asm volatile description. |
7a4515d7 SB |
8885 | |
8886 | 2004-10-13 Frank Ch. Eigler <fche@redhat.com> | |
8887 | ||
8888 | * toplev.c (compile_file): Call mudflap_finish_file from here ... | |
8889 | * c-decl.c (c_write_global_declarations): ... instead of here ... | |
8890 | * cp/decl.c (cp_finish_file): ... and here. | |
8891 | * tree-mudflap.c (mudflap_enqueue_decl): Reword a warning message. | |
8892 | ||
8893 | 2004-10-13 Andrew Pinski <pinskia@physics.uc.edu> | |
8894 | ||
8895 | * tree-ssa-dom.c (record_range): Free the element if we are not | |
8896 | going to use it. | |
8897 | ||
8898 | 2004-10-13 Tom Tromey <tromey@redhat.com> | |
8899 | ||
8900 | PR java/15578: | |
8901 | * gcc.c (option_map): Added --extdirs and --encoding. | |
8902 | ||
8903 | 2004-10-13 Eric Botcazou <ebotcazou@libertysurf.fr> | |
8904 | ||
8905 | PR target/14454 | |
8906 | * config/sparc/sparc.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Set to | |
8907 | sparc_can_output_mi_thunk. | |
8908 | (sparc_output_mi_thunk): Simplify handling of delta offset. Add | |
8909 | handling of vcall offset. | |
8910 | (sparc_can_output_mi_thunk): New predicate. | |
8911 | * doc/tm.texi (TARGET_ASM_OUTPUT_MI_THUNK): Document VCALL_OFFSET. | |
8912 | (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Delete. | |
8913 | (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New target hook. | |
8914 | ||
8915 | * config/sparc/sparc.c (emit_and_preserve): Preserve stack alignment. | |
8916 | ||
8917 | * config/sparc/sparc.md (movdi): Remove redundant test. | |
8918 | ||
8919 | 2004-10-13 Paolo Bonzini <bonzini@gnu.org> | |
8920 | ||
8921 | * tree-dump.c (dump_options): Remove TDF_TREE, TDF_RTL, | |
8922 | TDF_IPA from -fdump-tree-*-all. | |
8923 | ||
8924 | 2004-10-13 Paul Brook <paul@codesourcery.com> | |
8925 | ||
8926 | * config/arm/arm-protos.h (arm_load_pic_register): Update prototype. | |
8927 | * config/arm/arm.c (thumb_find_work_register): Update comments. | |
8928 | (arm_load_pic_register): Add argument for scratch register. | |
8929 | (arm_expand_prologue, thumb_expand_prologue): Pass extra argument. | |
8930 | * config/arm/arm.md (builtin_setjmp_receiver): Ditto. | |
8931 | ||
8932 | 2004-10-13 Kazu Hirata <kazu@cs.umass.edu> | |
8933 | ||
8934 | * tree-data-ref.c: Fix comment typos. | |
8935 | ||
8936 | 2004-10-13 Jakub Jelinek <jakub@redhat.com> | |
8937 | Zdenek Dvorak <dvorakz@suse.cz> | |
8938 | ||
8939 | PR tree-optimization/17724 | |
8940 | * tree-cfg.c (tree_purge_dead_eh_edges): Free dominance info. | |
8941 | ||
8942 | 2004-10-13 Dorit Naishlos <dorit@il.ibm.com> | |
8943 | ||
8944 | * rs6000.c (altivec_builtin_mask_for_load): Made static GTY(()). | |
8945 | (altivec_builtin_mask_for_store): Likewise. | |
8946 | (altivec_init_builtins): Use lang_hooks.builtin_function to | |
8947 | create the decls for builtin_altivec_mask_for_load/store. | |
8948 | ||
8949 | 2004-10-13 Nick Clifton <nickc@redhat.com> | |
8950 | ||
8951 | * config/c4x/c4x.c: Remove inclusion of loop.h. | |
8952 | ||
8953 | 2004-10-12 Ben Elliston <bje@au.ibm.com> | |
8954 | ||
8955 | * basic-block.h (edge_iterator): Keep the address of VEC(edge) *. | |
8956 | (ei_container): New; renamed. | |
8957 | (ei_start, ei_last): New macros. | |
8958 | (ei_start_1, ei_last_1): Renamed from ei_start. | |
8959 | (ei_last_1, ei_end_p): Use ei_container() where applicable. | |
8960 | (ei_one_before_end_p, ei_next, ei_edge): Likewise. | |
8961 | * gcse.c (remove_reachable_equiv_notes): Use ei_container(). | |
8962 | ||
8963 | 2004-10-11 Sebastian Pop <pop@cri.ensmp.fr> | |
8964 | ||
8965 | * Makefile.in (tree-ssa-loop-niter.o): Depends on tree-data-ref.h. | |
8966 | * cfgloop.c (initialize_loops_parallel_p): New. | |
8967 | (flow_loops_find): Initialize the parallel_p field to true for all | |
8968 | the loops. | |
8969 | * tree-ssa-loop-niter.c: Include "tree-data-ref.h". | |
8970 | (estimate_numbers_of_iterations_loop): Infers the loop bounds from | |
8971 | the size of the data accessed in the loop. | |
8972 | (struct nb_iter_bound): Moved... | |
8973 | * cfgloop.h (struct nb_iter_bound): ... here. | |
8974 | (estimated_nb_iterations, parallel_p): New fields in struct loop. | |
8975 | (record_estimate): Declare extern here. | |
8976 | * tree-chrec.c: Fix comments. | |
8977 | (nb_vars_in_chrec): New function. | |
8978 | * tree-chrec.h (nb_vars_in_chrec): Declared here. | |
8979 | * tree-data-ref.c: Don't include lambda.h, that is already included | |
8980 | in tree-data-ref.h. | |
8981 | (tree_fold_divides_p): Don't check for integer_onep. | |
8982 | (tree_fold_bezout): Removed. | |
8983 | (gcd): New static duplicated function. | |
8984 | (int_divides_p, dump_subscript): New. | |
8985 | (dump_data_dependence_relation): Use dump_subscript. | |
8986 | (dump_dist_dir_vectors, dump_ddrs, compute_estimated_nb_iterations, | |
8987 | estimate_niter_from_size_of_data): New. | |
8988 | (analyze_array_indexes, analyze_array): Call | |
8989 | estimate_niter_from_size_of_data during the detection of array | |
8990 | references. Pass in a pointer to the statement that contains the | |
8991 | array reference. | |
8992 | (all_chrecs_equal_p): New. | |
8993 | (compute_distance_vector): Renamed compute_subscript_distance. | |
8994 | Deal with multivariate conflict functions. | |
8995 | (initialize_data_dependence_relation): Initialize DDR_AFFINE_P, | |
8996 | DDR_SIZE_VECT, DDR_DIST_VECT, and DDR_DIR_VECT. | |
8997 | (non_affine_dependence_relation): New. | |
8998 | (analyze_ziv_subscript, analyze_siv_subscript_cst_affine, | |
8999 | analyze_siv_subscript, analyze_miv_subscript, | |
9000 | analyze_overlapping_iterations, subscript_dependence_tester): | |
9001 | Initialize and return last_conflicts function. | |
9002 | (initialize_matrix_A, FLOOR, compute_overlap_steps_for_affine_univar, | |
9003 | compute_overlap_steps_for_affine_1_2): New. | |
9004 | (analyze_siv_subscript_affine_cst): Removed. | |
9005 | (analyze_subscript_affine_affine): Disprove dependences based on the | |
9006 | iteration domains. Solve the univariate dependence case as before, | |
9007 | but use lambda_matrix_right_hermite instead of tree_fold_bezout. | |
9008 | Implement the multivariate case of 2 versus 1 variables. | |
9009 | (build_classic_dist_vector, build_classic_dir_vector): Implement some | |
9010 | unhandled cases. | |
9011 | (find_data_references_in_loop): Compute and initialize | |
9012 | loop->estimated_nb_iterations and loop->parallel_p. | |
9013 | (analyze_all_data_dependences): Modify the debug dump order. | |
9014 | * tree-data-ref.h (SUB_LAST_CONFLICT_IN_A, SUB_LAST_CONFLICT_IN_B, | |
9015 | subscript->last_conflict_in_a, subscript->last_conflict_in_b): Removed. | |
9016 | (SUB_LAST_CONFLICT, subscript->last_conflict, | |
9017 | data_dependence_relation->affine_p, data_dependence_relation->size_vect, | |
9018 | DDR_AFFINE_P, DDR_SIZE_VECT): New. | |
9019 | (find_data_references_in_loop, initialize_data_dependence_relation, | |
9020 | dump_subscript, dump_ddrs, dump_dist_dir_vectors): Declared here. | |
9021 | ||
9022 | 2004-10-12 Kelley Cook <kcook@gcc.gnu.org> | |
9023 | ||
9024 | * configure: Regenerate. | |
9025 | ||
9026 | 2004-10-12 Fariborz Jahanian <fjahanian@apple.com> | |
9027 | ||
9028 | PR 17892 | |
9029 | * tree-ssa-dom.c (unsafe_associative_fp_binop): New function. | |
9030 | (simplify_rhs_and_lookup_avail_expr): Disallow associativity | |
9031 | and constant folding of floating point MULT_EXPR/PLUS_EXPR | |
9032 | expressions. | |
9033 | ||
9034 | 2004-10-12 Ulrich Weigand <uweigand@de.ibm.com> | |
9035 | ||
9036 | * config/s390/s390.c (s390_va_start): Use build_va_arg_indirect_ref. | |
9037 | (s390_gimplify_va_arg): Likewise. | |
9038 | ||
9039 | 2004-10-12 Daniel Jacobowitz <dan@debian.org> | |
9040 | ||
9041 | * defaults.h (REGNO_MODE_OK_FOR_BASE_P, REG_MODE_OK_FOR_BASE_P) | |
9042 | (MODE_BASE_REG_REG_CLASS, REGNO_MODE_OK_FOR_REG_BASE_P) | |
9043 | (REG_MODE_OK_FOR_REG_BASE_P): Provide default definitions. | |
9044 | * regclass.c (record_address_regs): Remove ifdef. Use | |
9045 | REG_MODE_OK_FOR_REG_BASE_P and MODE_BASE_REG_REG_CLASS. | |
9046 | * regrename.c (REG_MODE_OK_FOR_BASE_P): Remove unnecessary | |
9047 | definition. | |
9048 | (scan_rtx_address, replace_oldest_value_addr): Use | |
9049 | REG_MODE_OK_FOR_REG_BASE_P and MODE_BASE_REG_REG_CLASS. | |
9050 | * reload.c (REGNO_MODE_OK_FOR_BASE_P, REG_MODE_OK_FOR_BASE_P): Remove | |
9051 | unnecessary definitions. | |
9052 | (find_reloads_address_1): Support REG_MODE_OK_FOR_REG_BASE_P | |
9053 | and MODE_BASE_REG_REG_CLASS. | |
9054 | * config/arm/arm.h (MODE_BASE_REG_CLASS): Don't check reload_completed. | |
9055 | (MODE_BASE_REG_REG_CLASS): Define. | |
9056 | (REGNO_MODE_OK_FOR_REG_BASE_P): Define. | |
9057 | (REG_MODE_OK_FOR_REG_BASE_P): Define. | |
9058 | * doc/tm.texi (Register Classes): Document MODE_BASE_REG_REG_CLASS, | |
9059 | REG_MODE_OK_FOR_REG_BASE_P, and REGNO_MODE_OK_FOR_REG_BASE_P. | |
9060 | ||
9061 | 2004-10-12 Daniel Berlin <dberlin@dberlin.org> | |
9062 | ||
9063 | * tree-ssa-alias.c (verify_name_tags): New function. | |
9064 | (verify_flow_sensitive_alias_info): Remove code that used to check name tags. | |
9065 | (verify_alias_info): Call verify_name_tags. | |
9066 | ||
9067 | 2004-10-12 Kazu Hirata <kazu@cs.umass.edu> | |
9068 | ||
9069 | PR rtl-optimization/17931 | |
9070 | * config/i386/i386.c (ix86_rtx_costs): Handle COMPARE with | |
9071 | ZERO_EXTRACT in it. | |
9072 | ||
9073 | 2004-10-12 Richard Earnshaw <rearnsha@arm.com> | |
9074 | ||
9075 | * arm.c (arm_print_operand): Use output_operand_lossage where possible | |
9076 | rather than aborting. | |
9077 | ||
9078 | 2004-10-12 Paul Brook <paul@coudesourcery.com> | |
9079 | ||
9080 | * config.gcc: Add armv6{k,z,zk} | |
9081 | * config/arm/arm-cores.def: Add arm1176 and mpcore. | |
9082 | * config/arm/tune.md: Regenerate. | |
9083 | * config/arm/arm.c (FL_FOR_ARCH6K, FL_FOR_ARCH6Z, FL_FOR_ARCH6ZK): | |
9084 | Define. | |
9085 | (all_architectures): Add armv6k, armv6z, armv6zk. | |
9086 | * config/arm/lib1funcs.asm: Recognise new arm arcitectures. | |
9087 | * doc/invoke.texi: Document new arch and cpu values. | |
9088 | ||
9089 | 2004-10-12 Paul Brook <paul@coodesourcery.com> | |
9090 | ||
9091 | * config/arm/bpabi.h (SUBTARGET_EXTRA_ASM_SPEC): Change meabi=3 to | |
9092 | meabi=4. | |
9093 | ||
9094 | 2004-10-12 Paul Brook <paul@codesourcery.com> | |
9095 | ||
9096 | * config/arm/arm.md (addsi3_cbranch_scratch): Correct constraints. | |
9097 | Handle negative constants. | |
9098 | ||
9099 | 2004-10-12 Joseph S. Myers <jsm@polyomino.org.uk> | |
9100 | ||
9101 | PR c/17301 | |
9102 | * c-typeck.c (convert_arguments): Return error_mark_node if there | |
9103 | are too few arguments. | |
9104 | (build_function_call): Handle error_mark_node return from | |
9105 | convert_arguments. | |
9106 | ||
9107 | 2004-10-06 Paolo Bonzini <bonzini@gnu.org> | |
9108 | ||
9109 | * configure.ac (symbolic_link): Replace with $LN_S. | |
9110 | (Assembler/Linker): Hard link from gas and binutils trees. | |
9111 | * aclocal.m4 (gcc_AC_PROG_LN_S): Try "cp -p" before cp. | |
9112 | * configure: Regenerate. | |
9113 | ||
9114 | 2004-10-12 Paul Brook <paul@codesourcery.com> | |
9115 | ||
9116 | * configure.ac: Don't look for host assembler when building a canadian | |
9117 | cross. | |
9118 | * configure: Regenerate. | |
9119 | ||
9120 | 2004-10-11 Roger Sayle <roger@eyesopen.com> | |
9121 | ||
9122 | PR other/17361 | |
9123 | * c-opts.c (permit_fortran_options): Delete/obsolete global variable. | |
9124 | (c_common_init_options): Remove #ifdef CL_F77 code. Scan command | |
9125 | line options for "-lang-asm" and if found allow any of the C-family | |
9126 | front-end options. | |
9127 | (c_common_handle_option): Remove last use of permit_fortran_options. | |
9128 | ||
9129 | 2004-10-11 Ulrich Weigand <uweigand@de.ibm.com> | |
9130 | ||
9131 | * config/s390/s390.c (print_operand): Support 'S' format flag. | |
9132 | * config/s390/s390.md ("*tmqi_mem"): Use 'S' format flag. | |
9133 | ("*tstsi", "*tstsi_cconly", "*tstsi_cconly2"): Likewise. | |
9134 | ("*tsthiCCT", "*tsthiCCT_cconly", "*tsthi", "*tsthi_cconly"): Likewise. | |
9135 | ("*tstqiCCT", "*tstqiCCT_cconly", "*tstqi", "*tstqi_cconly"): Likewise. | |
9136 | ("*cmphi_ccu", "*cmpqi_ccu", "*clc"): Likewise | |
9137 | ("movti", "*movdi_31", "*movqi", "*movdf_31", "*mvc"): Likewise. | |
9138 | ("*movstricthi"): Likewise. | |
9139 | ("*load_multiple_di", "*load_multiple_si"): Likewise. | |
9140 | ("*store_multiple_di", "*store_multiple_si"): Likewise. | |
9141 | ("*sethiqisi", "*sethihisi"): Likewise. | |
9142 | ("*sethiqidi_64", "*sethiqidi_31"): Likewise. | |
9143 | ("*andqi3_zarch", "*andqi3_esa", "*nc"): Likewise. | |
9144 | ("*iorqi3_zarch", "*iorqi3_esa", "*oc"): Likewise. | |
9145 | ("*xorqi3", "*xc", "*xc_zero"): Likewise. | |
9146 | ("get_tp_64", "get_tp_31", "set_tp_64", "set_tp_31"): Likewise. | |
9147 | ||
9148 | ("*tmhi_full"): Fix incorrect op_type attribute. | |
9149 | ||
9150 | ("*adddi3_alc_cc", "*adddi3_alc"): Remove double backslash. | |
9151 | ("*subdi3_slb_cc", "*subdi3_slb"): Likewise. | |
9152 | ("*addsi3_alc_cc", "*addsi3_alc"): Likewise. | |
9153 | ("*subsi3_slb_cc", "*subsi3_slb"): Likewise. | |
9154 | ||
9155 | 2004-10-11 Andrew Pinski <pinskia@physics.uc.edu | |
9156 | ||
9157 | PR middle-end/16266 | |
9158 | * function.c (temp_slots_at_level): Fix typo which creates too | |
9159 | many temp stack slots levels. | |
9160 | ||
9161 | 2004-10-11 Ulrich Weigand <uweigand@de.ibm.com> | |
9162 | ||
9163 | * config/s390/s390.c (s390_trampoline_template): Generate shorter | |
9164 | trampoline code. | |
9165 | (s390_trampoline_instantiate): Adapt. | |
9166 | * config/s390/s390.h (TRAMPOLINE_SIZE): Adapt to new code. | |
9167 | ||
9168 | 2004-10-11 Roger Sayle <roger@eyesopen.com> | |
9169 | ||
9170 | PR middle-end/17657 | |
9171 | * stmt.c (add_case_node): Add additional type argument. Declare | |
9172 | as static to match prototype. Convert the upper and lower bounds | |
9173 | to the specified index type. Optimize away case ranges/values | |
9174 | that are outside the index type's bounds. Truncate case ranges | |
9175 | that span the index type's bounds. | |
9176 | (expand_case): Avoid unnessary computation and memory allocation | |
9177 | when index type is error_mark_node. Pass index_type as required | |
9178 | by change to add_case_node API. No need to convert case range | |
9179 | bounds to index_type, this is now done by add_case_node. | |
9180 | ||
9181 | 2004-10-11 Ulrich Weigand <uweigand@de.ibm.com> | |
9182 | ||
9183 | * config/s390/s390-protos.h (s390_offset_p): Add prototype. | |
9184 | * config/s390/s390.c (s390_offset_p): New function. | |
9185 | * config/s390/s390.md ("*cmpdi_cct", "*cmpsi_cct", "*cmpdi_ccu", | |
9186 | "*cmpsi_ccu", "*cmphi_ccu", "*cmpqi_ccu"): Use splitter to | |
9187 | transform Q->Q alternatives to *clc pattern. | |
9188 | ("*clc"): Move. | |
9189 | ("movti", "*movdi_64", "*movdi_31", "*movsi_zarch", "*movsi_esa", | |
9190 | "*movhi", "*movqi", "*movdf_64", "*movdf_31", "movsf"): Use splitter | |
9191 | to transform Q->Q alternatives to *mvc pattern. | |
9192 | ("*mvc"): Move. Add peephole to merge adjacent MVCs. | |
9193 | ("*anddi3", "*andsi3_zarch", "*andsi3_esa", "*andhi3_zarch", | |
9194 | "*andhi3_esa", "*andqi3_zarch", "*andqi3_esa"): Use splitter to | |
9195 | transform Q->Q alternatives to *nc pattern. | |
9196 | ("*nc"): New insn. New peephole to merge adjacent NCs. | |
9197 | ("*iordi3", "*iorsi3_zarch", "*iorsi3_esa", "*iorhi3_zarch", | |
9198 | "*iorhi3_esa", "*iorqi3_zarch", "*iorqi3_esa"): Use splitter to | |
9199 | transform Q->Q alternatives to *oc pattern. | |
9200 | ("*oc"): New insn. New peephole to merge adjacent OCs. | |
9201 | ("*xordi3", "*xorsi3", "*xorhi3", "*xorqi3"): Use splitter to | |
9202 | transform Q->Q alternatives to *xc pattern. | |
9203 | ("*xc"): New insn. New peephole to merge adjacent XCs. | |
9204 | ("*xc_zero"): Move. Add peephole to merge adjacent XCs. | |
9205 | ||
9206 | 2004-10-11 Andrew Pinski <pinskia@physics.uc.edu> | |
9207 | ||
9208 | * gimplify.c (gimple_push_condition): Make sure that we don't | |
9209 | have any saved condition cleanup if we were at the top level. | |
9210 | ||
9211 | 2004-10-11 Richard Sandiford <rsandifo@redhat.com> | |
9212 | ||
9213 | * config/frv/frv.md (*adddi3_internal): Change name to... | |
9214 | (adddi3): ...replacing the exisiting define_expand. Combine | |
9215 | alternatives. Fix the range of the constant constraints ('J' instead | |
9216 | of 'NOP'). Remove bogus operands[2] check. Use simplify_gen_subreg | |
9217 | to extract the lower and upper halves of the DImode operands. | |
9218 | Always use addi3_lower and adddi3_upper, not the subdi3 forms. | |
9219 | (adddi3_lower): Fix the range of the constant constraints and | |
9220 | remove the bogus operands[2] check. | |
9221 | (adddi3_upper): Use gpr_or_int10_operand as the predicate for | |
9222 | operand 2. Use addxi to handle constant operands. | |
9223 | (subdi3_lower, subdi3_upper): Don't handle constant operands. | |
9224 | ||
9225 | 2004-10-11 Nathan Sidwell <nathan@codesourcery.com> | |
9226 | ||
9227 | * gengtype-lex.l: Add commented } & ) characters to unconfuse | |
9228 | editor's paren matching. Allow #define inside a struct. | |
9229 | ||
9230 | 2004-10-10 Andrew Pinski <pinskia@physics.uc.edu> | |
9231 | ||
9232 | PR middle-end/17703 | |
9233 | part of PR c++/17657 | |
9234 | * fold-const.c (fold_build_cleanup_point_expr): New function. | |
9235 | * tree.h (fold_build_cleanup_point_expr): Prototype. | |
9236 | ||
9237 | 2004-10-10 Eric Christopher <echristo@redhat.com> | |
9238 | ||
9239 | * dwarf2out.c: Move attribute to subprogram declaration | |
9240 | instead of subroutine type. | |
9241 | ||
9242 | 2004-10-10 Kazu Hirata <kazu@cs.umass.edu> | |
9243 | ||
9244 | * basic-block.h: Remove the prototypes for can_hoist_insn_p, | |
9245 | hoist_insn_after, and hoist_insn_to_edge. | |
9246 | * rtl.h: Remove the prototypes for reg_referenced_between_p, | |
9247 | no_jumps_between_p, and insn_dependent_p. | |
9248 | * rtlanal.c (no_jumps_between_p, reg_referenced_between_p, | |
9249 | insn_dependent_p, insn_dependent_p_1, hoist_test_store, | |
9250 | can_hoist_insn_p, hoist_update_store, hoist_insn_after, | |
9251 | hoist_insn_to_edge): Remove. | |
9252 | ||
9253 | 2004-10-10 Joseph S. Myers <jsm@polyomino.org.uk> | |
9254 | ||
9255 | PR c/17881 | |
9256 | * c-decl.c (grokparms): Don't warn for parameters of incomplete | |
9257 | type in declarations that are not definitions except for the case | |
9258 | of parameters of void type. | |
9259 | ||
9260 | 2004-10-10 Kazu Hirata <kazu@cs.umass.edu> | |
9261 | ||
9262 | * tree-cfg.c: Fix comment typos. | |
9263 | ||
9264 | 2004-10-10 Joseph S. Myers <jsm@polyomino.org.uk> | |
9265 | ||
9266 | PR c/17301 | |
9267 | * builtins.c (expand_builtin_va_start): Check for too few | |
9268 | arguments to va_start. | |
9269 | ||
9270 | 2004-10-10 Joseph S. Myers <jsm@polyomino.org.uk> | |
9271 | ||
9272 | PR c/17189 | |
9273 | * c-decl.c (grokfield): Make diagnostic for bad cases of unnamed | |
9274 | fields a pedwarn. Pedwarn here for unnamed structs/unions if | |
9275 | pedantic. | |
9276 | * c-parse.in (component_decl): Don't pedwarn here for unnamed | |
9277 | fields. | |
9278 | ||
9279 | 2004-10-09 Zdenek Dvorak <dvorakz@suse.cz> | |
9280 | ||
9281 | PR tree-optimization/17906 | |
9282 | * tree-tailcall.c (tree_optimize_tail_calls_1): Do not attempt to | |
9283 | copy non-gimple reg arguments. | |
9284 | ||
9285 | 2004-10-09 Roger Sayle <roger@eyesopen.com> | |
9286 | ||
9287 | PR rtl-optimization/17853 | |
9288 | * simplify-rtx.c (simplify_relational_operation): Correct comment. | |
9289 | Reorganize handling of comparison operations with floating point | |
9290 | results (always return 0.0 even without FLOAT_STORE_FLAG_VALUE). | |
9291 | Likewise, introduce support for comparison operations with vector | |
9292 | result types, introducing a new VECTOR_STORE_FLAG_VALUE target macro. | |
9293 | ||
9294 | * doc/rtl.texi: Document new VECTOR_STORE_FLAG_VALUE target macro. | |
9295 | * doc/tm.texi: Likewise. | |
9296 | ||
9297 | 2004-10-09 Steven Bosscher <stevenb@suse.de> | |
9298 | ||
9299 | * regs.h (struct reg_info_def): Remove the last_node_uid and | |
9300 | changes_mode fields. | |
9301 | (REGNO_LAST_NOTE_UID): Don't define. | |
9302 | * regclass.c (reg_scan_mark_refs): Don't set REGNO_LAST_NOTE_UID. | |
9303 | * regmove.c (copy_src_to_dest): Likewise. | |
9304 | ||
9305 | 2004-10-09 Roger Sayle <roger@eyesopen.com> | |
9306 | ||
9307 | PR middle-end/17894 | |
9308 | * fold-const.c (fold_div_compare): When optimizing X/C1 op C2, the | |
9309 | relational comparison operator op needs to be swapped/reversed when | |
9310 | C1 is negative. i.e. X/-10 < 1 becomes X >= -9, not X < -9. | |
9311 | ||
9312 | 2004-10-08 Andrew Pinski <pinskia@physics.uc.edu> | |
9313 | ||
9314 | PR tree-opt/17902 | |
9315 | * tree-ssa-phiopt.c (conditional_replacement): Use bsi_after_labels | |
9316 | instead of bsi_start. | |
9317 | (value_replacement): Likewise. | |
9318 | (abs_replacement): Likewise | |
9319 | ||
9320 | 2004-10-09 Steven Bosscher <stevenb@suse.de> | |
9321 | ||
9322 | * cfgexpand.c (maybe_dump_rtl_for_tree_stmt): New function. | |
9323 | (expand_gimple_cond_expr, expand_gimple_tailcall, | |
9324 | expand_gimple_basic_block): Use it to dump RTL for each stmt. | |
9325 | (tree_expand_cfg): Announce full RTL function dump. | |
9326 | * tree-optimize.c (execute_one_pass): Use normal RTL printing, | |
9327 | not the graph version. | |
9328 | * tree-pretty-print.c (dump_generic_node): Allow empty statements | |
9329 | in the arms of a COND_EXPR for lowered nodes. | |
9330 | ||
9331 | 2004-10-08 Joseph S. Myers <joseph@codesourcery.com> | |
9332 | ||
9333 | * config/rs6000/spe.h (atosfix16, atosfix32, atosfix64, atoufix16, | |
9334 | atoufix32, atoufix64, strtosfix16, strtosfix32, strtosfix64, | |
9335 | strtoufix16, strtoufix32, strtoufix64): Declare. | |
9336 | ||
9337 | 2004-10-08 Joseph S. Myers <jsm@polyomino.org.uk> | |
9338 | ||
9339 | * c-lex.c (interpret_float): Give a pedwarn rather than a warning | |
9340 | for an out-of-range floating point constant. | |
9341 | * builtins.c (fold_builtin_inf): Give a pedwarn rather than a | |
9342 | warning if the target format does not support infinities. | |
9343 | ||
9344 | 2004-10-08 Kazu Hirata <kazu@cs.umass.edu> | |
9345 | ||
9346 | * emit-rtl.c (last_label_num, base_label_num): Remove. | |
9347 | (max_label_num): Always return label_num. | |
9348 | (set_new_last_label_num, restore_emit_status): Remove. | |
9349 | (init_emit): Don't initialize last_label_num. | |
9350 | * function.c (pop_function_context_from): Don't call | |
9351 | restore_emit_status. | |
9352 | * function.h: Remove the prototype for restore_emit_status. | |
9353 | * rtl.h: Remove the prototype for set_new_last_label_num. | |
9354 | ||
9355 | 2004-10-08 Kazu Hirata <kazu@cs.umass.edu> | |
9356 | ||
9357 | * stmt.c (expand_decl_init): Remove. | |
9358 | * tree.h: Remove the corresponding prototype. | |
9359 | ||
9360 | 2004-10-08 Kazu Hirata <kazu@cs.umass.edu> | |
9361 | ||
9362 | * integrate.c (try_constants, subst_constants, mark_stores): | |
9363 | Remove. | |
9364 | * integrate.h: Remove the prototype for try_constants. | |
9365 | ||
9366 | 2004-10-08 Joseph S. Myers <jsm@polyomino.org.uk> | |
9367 | ||
9368 | * c-typeck.c (enum impl_conv): Add ic_argpass_nonproto. | |
9369 | (convert_for_assignment): Handle ic_argpass_nonproto. Add | |
9370 | comments about its relevance to errors. | |
9371 | (c_convert_parm_for_inlining): Use ic_argpass_nonproto. | |
9372 | ||
9373 | 2004-10-08 Andrew Pinski <pinskia@physics.uc.edu> | |
9374 | ||
9375 | PR c/16999 | |
9376 | * c-ppoutput.c (cb_ident): Don't quote string as it is already | |
9377 | quoted. | |
9378 | ||
9379 | 2004-10-08 Diego Novillo <dnovillo@redhat.com> | |
9380 | ||
9381 | * tree-ssa-pre.c (init_pre): Use size of ARRAY_REF to allocate | |
9382 | reference_node_pool. | |
9383 | ||
9384 | 2004-10-08 Kazu Hirata <kazu@cs.umass.edu> | |
9385 | ||
9386 | * tree-cfg.c: Fix a comment typo. | |
9387 | ||
9388 | 2004-10-08 Andreas Krebbel <krebbel1@de.ibm.com> | |
9389 | ||
9390 | * config/s390/s390.c (s390_register_info): Don't save fprs for | |
9391 | -msoft-float. | |
9392 | (s390_conditional_register_usage): Make fprs 'fixed' for -msoft-float. | |
9393 | ||
9394 | 2004-10-08 Ulrich Weigand <uweigand@de.ibm.com> | |
9395 | ||
9396 | * config/s390/s390.h (TARGET_DEFAULT_BACKCHAIN): New define. | |
9397 | (TARGET_DEFAULT): Use symbolic values. | |
9398 | * config/s390/tpf.h (TARGET_DEFAULT_BACKCHAIN): Redefine. | |
9399 | (TARGET_DEFAULT): Use symbolic values. | |
9400 | * config/s390/s390.c (s390_backchain_string): Initialize to | |
9401 | TARGET_DEFAULT_BACKCHAIN. | |
9402 | ||
9403 | 2004-10-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
9404 | ||
9405 | * builtins.c (expand_builtin_mempcpy): Move tree handling code to | |
9406 | fold_builtin_mempcpy. Accept a type parameter. Delete duplicate | |
9407 | code. | |
9408 | (expand_builtin_strcat): Accept a type parameter. | |
9409 | (fold_builtin_mempcpy): Accept a type and endp parameter. | |
9410 | ||
9411 | * builtins.c (expand_builtin_strncpy): Delete duplicate code. | |
9412 | Accept an `exp' instead of an `arglist'. | |
9413 | ||
9414 | 2004-10-08 Nathan Sidwell <nathan@codesourcery.com> | |
9415 | ||
9416 | * tree-tailcall.c (tree_optimize_tail_calls_1): Use fold_convert, | |
9417 | reverting my 2004-09-07 patch to use build_int_cst. | |
9418 | ||
9419 | 2004-10-08 Eric Botcazou <ebotcazou@libertysurf.fr> | |
9420 | ||
9421 | PR target/17245 | |
9422 | * config/sparc/sparc.c (input_operand): Remove redundant code | |
9423 | for handling LO_SUM. | |
9424 | (legitimate_address_p) <REG+REG>: Do not recheck TARGET_V9. | |
9425 | <LO_SUM>: If LO_SUM is offsettable, accept it for TFmode on V9. | |
9426 | Otherwise only accept it for TFmode if quad move insns are available. | |
9427 | ||
9428 | 2004-10-08 Kazu Hirata <kazu@cs.umass.edu> | |
9429 | ||
9430 | * tree-cfg.c (tree_forwarder_block_p): Reorder checks so that | |
9431 | common cases will be caught earlier than others. | |
9432 | ||
9433 | 2004-10-08 Michael Matz <matz@suse.de> | |
9434 | ||
9435 | * loop-doloop.c (doloop_optimize): Extend count. | |
9436 | ||
9437 | 2004-10-08 Kaz Kojima <kkojima@gcc.gnu.org> | |
9438 | ||
9439 | * config/sh/sh.md (prefetch_media, prefetch_i4): New insns. | |
9440 | (prefetch): Convert to expander. | |
9441 | ||
9442 | 2004-10-08 Kaz Kojima <kkojima@gcc.gnu.org> | |
9443 | ||
9444 | * config/sh/sh.md (tls_global_dynamic): Use MEM pattern for the | |
9445 | first argument of CALL. | |
9446 | (tls_local_dynamic): Likewise. | |
9447 | ||
9448 | 2004-10-08 Joseph S. Myers <jsm@polyomino.org.uk> | |
9449 | ||
9450 | * c-typeck.c (enum impl_conv): New. | |
9451 | (convert_for_assignment): Use it. Take tree for function called | |
9452 | instead of its name. Handle ObjC selectors for diagnostics at | |
9453 | start of function. Select diagnostic text within the function | |
9454 | using full sentences for diagnsotics. Use %qE to name functions | |
9455 | in diagnostics. | |
9456 | (convert_arguments, build_modify_expr, | |
9457 | c_convert_parm_for_inlining, digest_init, c_finish_return): Update | |
9458 | callers to convert_for_assignment. | |
9459 | (warn_for_assignment): Remove. | |
9460 | ||
9461 | 2004-10-08 Nick Clifton <nickc@redhat.com> | |
9462 | ||
9463 | * config/sh/symbian.c (symbian_possibly_export_base_class): | |
9464 | Replace use of deleted TYPE_USES_VIRTUAL_BASECLASSES macro with | |
9465 | TYPE_CONTAINS_VPTR_P. | |
9466 | ||
9467 | 2004-10-08 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com> | |
9468 | ||
9469 | * config/m32r/m32r.h (CONDITIONAL_REGISTER_USAGE): Don't exclude | |
9470 | fixed registers form all_used_regs. Update call_really_used_regs. | |
9471 | (CALL_REALLY_USED_REGISTERS): Define. | |
9472 | * config/m32r/m32r.c (MUST_SAVE_REGISTER): Replace call_used_regs | |
9473 | with call_really_used_regs. | |
9474 | ||
9475 | 2004-10-08 Alan Modra <amodra@bigpond.net.au> | |
9476 | ||
9477 | * config/rs6000/sysv4.h (STARTFILE_LINUX_SPEC): Choose gcrt1.o | |
9478 | for -profile as well as -p and -pg. | |
9479 | ||
9480 | 2004-10-07 Andrew Pinski <pinskia@physics.uc.edu> | |
9481 | ||
9482 | * libgcc2.c (__moddi3): Cast &w to UDWtype*. | |
9483 | ||
9484 | 2004-10-07 Kazu Hirata <kazu@cs.umass.edu> | |
9485 | ||
9486 | * tree-cfg.c (tree_block_forwards_to): Remove. | |
9487 | * tree-flow.h: Remove the corresponding prototype. | |
9488 | ||
9489 | 2004-10-07 Kazu Hirata <kazu@cs.umass.edu> | |
9490 | ||
9491 | * tree-flow-inline.h (phi_nodes): Remove an unnecessary check | |
9492 | for ENTRY_BLOCK_PTR and EXIT_BLOCK_PTR. | |
9493 | ||
9494 | 2004-10-07 Geoffrey Keating <geoffk@apple.com> | |
9495 | ||
9496 | Radar 3813796 | |
9497 | * config/rs6000/rs6000.c (rs6000_generate_compare): When | |
9498 | flag_trapping_math is in effect, don't generate subtract | |
9499 | instructions. | |
9500 | ||
9501 | 2004-10-07 Ulrich Weigand <uweigand@de.ibm.com> | |
9502 | ||
9503 | * config/s390/s390-protos.h (s390_narrow_logical_operator): Add. | |
9504 | * config/s390/s390.c (s390_narrow_logical_operator): New function. | |
9505 | (s390_extra_constraint_str): Add 'A' constraints. | |
9506 | (s390_const_ok_for_constraint_p): Add 'Nx' constraints. | |
9507 | * config/s390/s390.h (EXTRA_MEMORY_CONSTRAINT): Add 'A' constraint. | |
9508 | (CONSTRAINT_LEN): Likewise. | |
9509 | * config/s390/s390.md ("*anddi3"): Add NI alternative and splitter. | |
9510 | ("*andsi3_zarch", "*andsi3_esa"): Likewise. | |
9511 | ("*andhi3_zarch", "*andhi3_esa"): Likewise. | |
9512 | ("*iordi3"): Add OI alternative and splitter. | |
9513 | ("*iorsi3_zarch", "*iorsi3_esa"): Likewise. | |
9514 | ("*iorhi3_zarch", "*iorhi3_esa"): Likewise. | |
9515 | ("*xordi3"): Add XI alternative and splitter. | |
9516 | ("*xorsi3", "*xorhi3"): Likewise. | |
9517 | ||
9518 | 2004-10-07 Richard Sandiford <rsandifo@redhat.com> | |
9519 | ||
9520 | * config/mips/mips.c (mips_function_rodata_section): New function. | |
9521 | (TARGET_ASM_FUNCTION_RODATA_SECTION): Use it. | |
9522 | ||
9523 | 2004-10-07 Devang Patel <dpatel@apple.com> | |
9524 | ||
9525 | * rs6000/altivec.md (UNSPEC_VCMPBFP, UNSPEC_VCMPEQUB, UNSPEC_VCMPEQUH, | |
9526 | UNSPEC_VCMPEQUW, UNSPEC_VCMPGEFP, UNSPEC_VCMPGTUB, UNSPEC_VCMPGTSB, | |
9527 | UNSPEC_VCMPGTUH, UNSPEC_VCMPGTSH, UNSPEC_VCMPGTUW, UNSPEC_VCMPGTSW, | |
9528 | UNSPEC_VCMPGTFP, UNSPEC_VSEL4SI, UNSPEC_VSEL4SF, UNSPEC_VSEL8HI, | |
9529 | UNSPEC_VSEL16QI, UNSPEC_VCOND_V4SI, UNSPEC_VCOND_V4SF, UNSPEC_VCOND_V8HI, | |
9530 | UNSPEC_VCOND_V16QI, UNSPEC_VCONDU_V4SI, UNSPEC_VCONDU_V8HI, | |
9531 | UNSPEC_VCONDU_V16QI): New constant defines. | |
9532 | (vcondv4si, vcondv4sf, vcondv8hi, vcondv16qi, vconduv4si, vconduv8hi, | |
9533 | vconduv16qi): New patterns. | |
9534 | * rs6000/rs6000-protos.h (rs6000_emit_vector_cond_expr): New function. | |
9535 | * rs6000/rs6000.c (rs6000_emit_vector_cond_expr): New function. | |
9536 | (get_vec_cmp_insn): Same. | |
9537 | (get_vsel_insn): Same. | |
9538 | (rs6000_emit_vector_compare): Same. | |
9539 | (rs6000_emit_vector_select): Same. | |
9540 | (INSN_NOT_AVAILABLE): New. | |
9541 | ||
9542 | 2004-10-07 Zdenek Dvorak <dvorakz@suse.cz> | |
9543 | ||
9544 | PR tree-optimization/17749 | |
9545 | * tree-tailcall.c (find_tail_calls): Check that parameter is | |
9546 | a gimple_reg. | |
9547 | ||
9548 | 2004-10-07 Kazu Hirata <kazu@cs.umass.edu> | |
9549 | ||
9550 | * config/ia64/ia64.c: Fix a comment typo. | |
9551 | ||
9552 | 2004-10-07 Eric Botcazou <ebotcazou@libertysurf.fr> | |
9553 | ||
9554 | * doc/install.texi (*-*-solaris2*): Fix marker for URL. | |
9555 | ||
9556 | 2004-10-07 Giovanni Bajo <giovannibajo@gcc.gnu.org> | |
9557 | ||
9558 | PR c++/17115 | |
9559 | * tree-inline.c (expand_call_inline): Do not warn for functions | |
9560 | marked with attribute noinline. | |
9561 | ||
9562 | 2004-10-07 Eric Botcazou <ebotcazou@libertysurf.fr> | |
9563 | ||
9564 | PR target/17862 | |
9565 | * config/sparc/sparc.c (sparc_output_mi_thunk): Set | |
9566 | current_function_uses_only_leaf_regs as well as sparc_leaf_function_p. | |
9567 | ||
9568 | * config/sparc/sparc.c (sparc_gimplify_va_arg): Pass 'false' instead | |
9569 | of 0 as 4th argument to pass_by_reference. | |
9570 | Call build_va_arg_indirect_ref instead of build_fold_indirect_ref. | |
9571 | ||
9572 | 2004-10-06 Eric Christopher <echristo@redhat.com> | |
9573 | ||
9574 | * config/sh/sh.c (sh_dwarf_calling_convention): Fix renesas dwarf | |
9575 | attribute. | |
9576 | ||
9577 | 2004-10-07 Richard Sandiford <rsandifo@redhat.com> | |
9578 | ||
9579 | PR target/17770 | |
9580 | * config/mips/mips.md (mov_<load>l): Remove hazard=none attribute. | |
9581 | ||
9582 | 2004-10-07 Zdenek Dvorak <dvorakz@suse.cz> | |
9583 | ||
9584 | PR rtl-optimization/17791 | |
9585 | * loop-doloop.c (doloop_modify): Take number of iterations as | |
9586 | argument. | |
9587 | (doloop_optimize): Extend or shorten the number of iterations | |
9588 | when changing mode of counter register. | |
9589 | * loop-iv.c (lowpart_subreg): Export. | |
9590 | * rtl.h (lowpart_subreg): Declare. | |
9591 | ||
9592 | 2004-10-07 Zdenek Dvorak <dvorakz@suse.cz> | |
9593 | ||
9594 | PR tree-optimization/17806 | |
9595 | * cfghooks.c (split_edge): Update IRREDUCIBLE_LOOP flags. | |
9596 | * cfgloopmanip.c (loop_split_edge_with): Updating of IRREDUCIBLE_LOOP | |
9597 | flags moved to split_edge. | |
9598 | ||
9599 | 2004-10-07 Eric Botcazou <ebotcazou@libertysurf.fr> | |
9600 | ||
9601 | PR middle-end/17835 | |
9602 | * expmed.c (expand_sdiv_pow2): Force a stack adjustment | |
9603 | before tentatively building the conditional move sequence. | |
9604 | ||
9605 | 2004-10-07 Richard Sandiford <rsandifo@redhat.com> | |
9606 | ||
9607 | PR target/16815 | |
9608 | * function.c (assign_parm_setup_block_p): Tighten BLOCK_REG_PADDING | |
9609 | check. | |
9610 | * config/pa/pa.h (BLOCK_REG_PADDING): Define in terms of | |
9611 | function_arg_padding. | |
9612 | ||
9613 | 2004-10-07 Richard Sandiford <rsandifo@redhat.com> | |
9614 | ||
9615 | PR bootstrap/17857 | |
9616 | * Makefile.in (stmp-fixproto): Pass FIX_HEADER=build/... to fixproto. | |
9617 | ||
9618 | 2004-10-07 Kazu Hirata <kazu@cs.umass.edu> | |
9619 | ||
9620 | * hooks.c (hook_int_void_1, hook_void_int): Remove. | |
9621 | * hooks.h: Remove the corresponding prototypes. | |
9622 | ||
9623 | 2004-10-06 Andrew Pinski <pinskia@physics.uc.edu> | |
9624 | ||
9625 | PR middle-end/17849 | |
9626 | * tree-nested.c (walk_stmt_info): Add changed field. | |
9627 | (convert_nonlocal_reference): Set changed to when we | |
9628 | change a decl to unnested decl. | |
9629 | <case ADDR_EXPR>: Instead of checking if the immediate part | |
9630 | of the ADDR_EXPR changed, check the field changed. | |
9631 | Use recompute_tree_invarant_for_addr_expr instead of unsetting | |
9632 | TREE_INVARIANT. | |
e8366202 | 9633 | (convert_local_reference): Set changed to when we |
7a4515d7 SB |
9634 | change a decl to unnested decl. |
9635 | <case ADDR_EXPR>: Instead of checking if the immediate part | |
9636 | of the ADDR_EXPR changed, check the field changed. | |
9637 | Also call recompute_tree_invarant_for_addr_expr on the ADDR_EXPR. | |
9638 | ||
9639 | 2004-10-06 Kazu Hirata <kazu@cs.umass.edu> | |
9640 | ||
9641 | * defaults.h (DWARF2_GENERATE_TEXT_SECTION_LABEL): Remove. | |
9642 | * dwarf2out.c (dwarf2out_init): Remove references to | |
9643 | DWARF2_GENERATE_TEXT_SECTION_LABEL. | |
9644 | * system.h: Poison DWARF2_GENERATE_TEXT_SECTION_LABEL. | |
9645 | * doc/tm.texi (DWARF2_GENERATE_TEXT_SECTION_LABEL): Remove. | |
9646 | ||
9647 | 2004-10-06 Joseph S. Myers <jsm@polyomino.org.uk> | |
9648 | ||
9649 | * c-typeck.c (convert_arguments): Take expression for called | |
9650 | function rather than its name. Handle ObjC selectors directly | |
9651 | rather than relying on warn_for_assignment to do so. Call warning | |
9652 | directly rather than warn_for_assignment. Use %qE in diagnostics. | |
9653 | Say "argument" rather than "arg" in diagnostics. | |
9654 | (build_function_call): Update call to convert_arguments. | |
9655 | ||
9656 | 2004-10-06 Andrew Pinski <pinskia@physics.uc.edu> | |
9657 | ||
9658 | PR debug/17787 | |
9659 | * dbxout.c (dbxout_symbol): Really handle RECORD, UNION, and | |
9660 | ENUMs specially instead of just saying we do. | |
9661 | ||
9662 | 2004-10-06 Eric Christopher <echristo@redhat.com> | |
9663 | ||
9664 | * dwarf2.h: Sync with include/elf/dwarf2.h | |
9665 | ||
9666 | 2004-10-06 Daniel Berlin <dberlin@dberlin.org> | |
9667 | ||
9668 | * tree-pretty-print.c (dump_generic_node): Fix printing of BINFO | |
9669 | and TREE_VEC nodes. | |
9670 | ||
9671 | 2004-10-06 Daniel Berlin <dberlin@dberlin.org> | |
9672 | ||
9673 | * lambda-code.c (lambda_loopnest_to_gcc_loopnest): Convert | |
9674 | to use FOR_EACH_SSA_USE_OPERAND iterator, and propagate_value. | |
9675 | ||
9676 | 2004-10-06 Daniel Berlin <dberlin@dberlin.org> | |
9677 | ||
9678 | * lambda-code.c (compute_nest_using_fourier_motzkin): New | |
9679 | function. | |
9680 | (lambda_compute_auxillary_space): Split from here. | |
9681 | ||
9682 | 2004-10-06 Daniel Berlin <dberlin@dberlin.org> | |
9683 | ||
9684 | * tree-ssa-loop-ivopts.c (expr_invariant_in_loop): Make non-static. | |
9685 | * tree-flow.h: Add prototype. | |
9686 | * lambda-code.c (invariant_in_loop_and_outer_loops): Use | |
9687 | expr_invariant_in_loop. | |
9688 | ||
9689 | 2004-10-06 Kazu Hirata <kazu@cs.umass.edu> | |
9690 | ||
9691 | * tree-cfg.c (thread_jumps): Remove a duplicate check for | |
9692 | EXIT_BLOCK_PTR. | |
9693 | ||
9694 | 2004-10-06 Ulrich Weigand <uweigand@de.ibm.com> | |
9695 | ||
9696 | * config/s390/s390-protos.h (s_imm_operand): Remove. | |
9697 | (s390_pool_operand): Add prototype. | |
9698 | * config/s390/s390.c (general_s_operand): Remove. | |
9699 | (s_imm_operand): Remove. | |
9700 | (s_operand): Merge contents of general_s_operand. | |
9701 | (s390_pool_operand): New function. | |
9702 | * config/s390/s390.h (PREDICATE_CODES): Remove s_imm_operand. | |
9703 | * config/s390/s390.md ("*cmpdi_cct", "*cmpsi_cct"): New insns. | |
9704 | ("*cmpdi_ccu"): Merge Q->Q alternative. | |
9705 | ("*cmpsi_ccu", "*cmphi_ccu"): Likewise. | |
9706 | ("*cmpqi_ccu"): Merge Q->Q, n->Q, n->S alternatives. | |
9707 | ("*cli"): Remove. | |
9708 | ("*cmpdi_ccu_mem", "*cmpsi_ccu_mem"): Likewise. | |
9709 | ("*cmphi_ccu_mem", "*cmpqi_ccu_mem"): Likewise. | |
9710 | ("*movstricthi"): Use memory_operand instead of s_imm_operand. | |
9711 | ||
9712 | 2004-10-06 Steve Ellcey <sje@cup.hp.com> | |
9713 | ||
9714 | * config/ia64/ia64.h (FUNCTION_ARG_BOUNDARY): Change macro to | |
9715 | call ia64_function_arg_boundary. | |
9716 | * config/ia64/ia64-protos.h (ia64_function_arg_boundary): New. | |
9717 | * config/ia64/ia64.c (ia64_function_arg_boundary): New. | |
9718 | (ia64_function_arg_advance): Do not put 128 bit floats into | |
9719 | FP registers. | |
9720 | ||
9721 | 2004-10-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
9722 | ||
9723 | * builtins.c (expand_builtin_strcpy): Delete duplicate code. | |
9724 | Accept an expression instead of an arglist. | |
9725 | (expand_builtin_stpcpy): Accept an expression instead of an | |
9726 | arglist. | |
9727 | ||
9728 | 2004-10-06 Eric Botcazou <ebotcazou@libertysurf.fr> | |
9729 | ||
9730 | PR target/16007 | |
9731 | * doc/install.texi (*-*-solaris2*): Mention potential problem | |
9732 | with Sun assembler + GNU linker and C++ programs. | |
9733 | Document status of binutils 2.15 release. | |
9734 | ||
9735 | 2004-10-06 Jan Hubicka <jh@suse.cz> | |
9736 | ||
9737 | * cse.c (cse_main): Kill push/pop context. | |
9738 | ||
9739 | 2004-10-05 Zack Weinberg <zack@codesourcery.com> | |
9740 | ||
9741 | * pretty-print.c: Include tree.h. | |
9742 | (pp_base_prepare_to_format): New function, logic from | |
9743 | text_specifies_location. | |
9744 | (pp_base_format_text): Use gcc_assert. | |
9745 | * pretty-print.h (pp_prepare_to_format): New macro. | |
9746 | (pp_base_prepare_to_format): Prototype. | |
9747 | * diagnostic.c (text_specifies_location): Delete. | |
9748 | (bug_report_request): Delete. | |
9749 | (diagnostic_set_info): Don't call text_specifies_location. | |
9750 | (diagnostic_action_after_output): Put text from | |
9751 | bug_report_request inline here. Use gcc_unreachable. | |
9752 | (diagnostic_report_current_function): Fix comment. | |
9753 | (diagnostic_report_diagnostic): Clarify logic for error recursion. | |
9754 | Call pp_prepare_to_format before diagnostic_starter. | |
9755 | (trim_filename): Use IS_DIR_SEPARATOR. | |
9756 | (fatal_error, internal_error): Use gcc_unreachable. | |
9757 | (error_recursion): Call diagnostic_action_after_output to | |
9758 | issue the bug_report_request message and exit. | |
9759 | * Makefile.in (diagnostic.o, pretty-print.o): Update dependencies. | |
9760 | ||
9761 | * c-parse.in: Add list of diagnostic messages to insulate | |
9762 | translation template from version of yacc/bison used to | |
9763 | compile the grammar. | |
9764 | ||
9765 | 2004-10-06 Alan Modra <amodra@bigpond.net.au> | |
9766 | ||
9767 | PR 16406 | |
9768 | * doc/tm.texi (USE_LD_AS_NEEDED, LINK_EH_SPEC): Document. | |
9769 | ||
9770 | 2004-10-05 Kazu Hirata <kazu@cs.umass.edu> | |
9771 | ||
9772 | * basic-block.h: Remove the prototype for | |
9773 | flow_preorder_transversal_compute. | |
9774 | * cfganal.c (dfst_node): Remove. | |
9775 | (flow_preorder_transversal_compute): Likewise. | |
9776 | * rtl.h: Remove the prototype for get_jump_table_offset. | |
9777 | * rtlanal.c (get_jump_table_offset): Remove. | |
9778 | ||
9779 | 2004-10-05 Richard Henderson <rth@redhat.com> | |
9780 | ||
9781 | PR 17756 | |
9782 | * tree-ssa-operands.c (get_expr_operands): Handle CONST_DECL. | |
9783 | ||
9784 | 2004-10-05 Kelley Cook <kcook@gcc.gnu.org> | |
9785 | ||
9786 | PR bootstrap/17817 | |
9787 | * Makefile.in: Stage the build directory too. | |
9788 | ||
9789 | 2004-10-05 Aldy Hernandez <aldyh@redhat.com> | |
9790 | ||
9791 | * config/frv/frv.h (LEGITIMIZE_ADDRESS): New. | |
9792 | ||
9793 | * config/frv/frv-protos.h (frv_legitimize_address): Protoize. | |
9794 | (frv_emit_move): Same. | |
9795 | ||
9796 | * config/frv/frv.c (frv_emit_move): New. | |
9797 | (frv_legitimize_address): New. | |
9798 | ||
9799 | * config/frv/frv.md ("movsi"): Call frv_emit_move. | |
9800 | ("movqi"): Same. | |
9801 | ("movhi"): Same. | |
9802 | ("movdi"): Same. | |
9803 | ("movsf"): Same. | |
9804 | ("movdf"): Same. | |
9805 | ||
9806 | 2004-10-05 Joseph S. Myers <jsm@polyomino.org.uk> | |
9807 | ||
9808 | * c-decl.c (declspecs_add_type): Don't pedwarn for _Complex in | |
9809 | system headers. | |
9810 | ||
9811 | 2004-10-05 Joseph S. Myers <jsm@polyomino.org.uk> | |
9812 | ||
9813 | * c-decl.c (pushdecl): When an extern declaration at block scope | |
9814 | refers to a visible entity with internal linkage, use the old DECL | |
9815 | rather than the new one. | |
9816 | ||
9817 | 2004-10-05 Kazu Hirata <kazu@cs.umass.edu> | |
9818 | ||
9819 | * tree-cfg.c (cleanup_tree_cfg): Remove extra parentheses in | |
9820 | comments. | |
9821 | ||
9822 | 2004-10-05 Kazu Hirata <kazu@cs.umass.edu> | |
9823 | ||
9824 | * tree-cfg.c (thread_jumps): Remove a duplicate check for | |
9825 | an infinite loop. | |
9826 | ||
9827 | 2004-10-05 Kazu Hirata <kazu@cs.umass.edu> | |
9828 | ||
9829 | * tree-cfg.c (thread_jumps): Iterate with FOR_EACH_BB instead | |
9830 | of FOR_BB_BETWEEN. Remove a useless check for unreachable | |
9831 | blocks. | |
9832 | ||
9833 | 2004-10-05 Kazu Hirata <kazu@cs.umass.edu> | |
9834 | ||
9835 | * tree-cfg.c (cleanup_tree_cfg): Don't call | |
9836 | delete_unreachable_blosk() after thread_jumps(). | |
9837 | (thread_jumps): Always remove basic blocks as they become | |
9838 | unreachable. | |
9839 | ||
9840 | 2004-10-05 Kazu Hirata <kazu@cs.umass.edu> | |
9841 | ||
9842 | * tree-cfg.c (cleanup_tree_cfg): Remove variable | |
9843 | something_changed. Simplify the while loop. | |
9844 | ||
9845 | 2004-10-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
9846 | ||
9847 | * builtins.c (expand_builtin_memmove): Delete duplicate code | |
9848 | and accept a tree type for the result. | |
9849 | (expand_builtin_bcopy): Accept a tree type for the result. | |
9850 | (fold_builtin_memmove): Accept an arglist and tree type for | |
9851 | the result. | |
9852 | ||
9853 | 2004-10-05 Ulrich Weigand <uweigand@de.ibm.com> | |
9854 | ||
9855 | * config/s390/s390.c (s390_dump_pool): Remove return value. | |
9856 | Use gen_pool_align, gen_pool_section_start/end instead of | |
9857 | gen_pool_start/end_31/64. | |
9858 | * config/s390/s390.md (UNSPECV_POOL_START, UNSPECV_POOL_END): Remove. | |
9859 | (UNSPECV_POOL_SECTION, UNSPECV_POOL_ALIGN): New constants. | |
9860 | ("pool_start_31", "pool_end_31"): Remove. | |
9861 | ("pool_start_64", "pool_end_64"): Likewise. | |
9862 | ("pool_align", "pool_section_start", "pool_section_end": New insns. | |
9863 | ||
9864 | * config/s390/s390.c (s390_cannot_copy_insn_p): New function. | |
9865 | (TARGET_CANNOT_COPY_INSN_P): Define. | |
9866 | (s390_cannot_force_const_mem): Handle UNSPEC_INSN. | |
9867 | (struct constant_pool): New member 'execute'. | |
9868 | (s390_add_execute, s390_find_execute): New functions. | |
9869 | (s390_execute_label, s390_execute_target): Likewise. | |
9870 | (s390_dump_pool): Output in-pool execute target templates. | |
9871 | (s390_dump_execute): New function. | |
9872 | (s390_alloc_pool, s390_free_pool): Handle execute templates. | |
9873 | (s390_mainpool_start, s390_mainpool_finish): Likewise. | |
9874 | (s390_chunkify_start, s390_chunkify_finish): Likewise. | |
9875 | * config/s390/s390.md (UNSPEC_INSN, UNSPEC_EXECUTE): New constants. | |
9876 | ("*execute"): New insn pattern. | |
9877 | ("movmem_short", "*movmem_short"): Use splitters to generate | |
9878 | explicit execute pattern, remove embedded execute. | |
9879 | ("clrmem_short", "*clrmem_short"): Likewise. | |
9880 | ("cmpmem_short", "*cmpmem_short"): Likewise. | |
9881 | ||
9882 | 2004-10-05 Daniel Berlin <dberlin@dberlin.org> | |
9883 | ||
9884 | * tree-ssa.c (verify_ssa): Verify phi arguments only | |
9885 | contain renamed names. | |
9886 | ||
9887 | 2004-10-05 Alan Modra <amodra@bigpond.net.au> | |
9888 | ||
9889 | * config/rs6000/linux.h: Formatting, whitespace. | |
9890 | * config/rs6000/linux64.h: Likewise. | |
9891 | * config/rs6000/rs6000-protos.h: Likewise. | |
9892 | * config/rs6000/rs6000.c: Likewise. | |
9893 | (easy_vector_splat_const): Add fall thru comments. | |
9894 | (output_vec_const_move): Likewise. | |
9895 | ||
9896 | 2004-10-05 Kelley Cook <kcook@gcc.gnu.org> | |
9897 | ||
9898 | * Makefile.in: Update -Wno-error exceptions for move to build dir. | |
9899 | ||
9900 | 2004-10-05 Chao-Ying Fu <fu@mips.com> | |
9901 | Richard Sandiford <rsandifo@redhat.com> | |
9902 | ||
9903 | * doc/invoke.texi (-mpaired-single): Link to the new description of the | |
9904 | built-in functions. Document dependencies. | |
9905 | (-mips3d): Add link here too. | |
9906 | * doc/extend.texi (MIPS Paired-Single Support): New section. | |
9907 | ||
9908 | 2004-10-04 Chao-ying Fu <fu@mips.com> | |
9909 | ||
9910 | * config/mips/mips.h (UNITS_PER_SIMD_WORD): Define. | |
9911 | ||
9912 | 2004-10-04 Diego Novillo <dnovillo@redhat.com> | |
9913 | ||
9914 | * tree-ssa-dom.c (tree_ssa_dominator_optimize): | |
9915 | Initialize OPT_STATS to 0. | |
9916 | ||
9917 | 2004-10-04 Kazu Hirata <kazu@cs.umass.edu> | |
9918 | ||
9919 | * tree-data-ref.c: Fix comment typos. | |
9920 | ||
9921 | 2004-10-04 Sebastian Pop <pop@cri.ensmp.fr> | |
9922 | ||
9923 | * tree-data-ref.c (array_base_name_differ_p): Fix comments. When | |
9924 | the predicate cannot be computed, don't initialize the result to | |
9925 | false. | |
9926 | ||
9927 | 2004-10-01 Eric Christopher <echristo@redhat.com> | |
9928 | ||
9929 | * dwarf2.h (dwarf_calling_convention): Add GNU prefix to | |
9930 | locally defined enum. | |
9931 | * dwarf2out.c (add_calling_convention_attribute): Don't | |
9932 | emit DW_CC_normal. | |
9933 | ||
9934 | 2004-10-03 Andrew Pinski <pinskia@physics.uc.edu> | |
9935 | ||
9936 | PR c/17178, PR c/17820 | |
9937 | * c-decl.c (pop_scope): Do not warn about unused static | |
9938 | variables as they warned in the middle-end. | |
9939 | ||
9940 | 2004-10-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
9941 | ||
9942 | * builtins.c (expand_builtin_memcpy): Delete duplicate code | |
9943 | and make the first parameter the expression not the arglist. | |
9944 | ||
9945 | 2004-10-03 Ulrich Weigand <uweigand@de.ibm.com> | |
9946 | ||
9947 | * expr.c (expand_expr_addr_expr): Only accept Pmode or ptr_mode | |
9948 | as valid modes to expand address expressions. | |
9949 | ||
9950 | 2004-10-03 Joseph S. Myers <jsm@polyomino.org.uk> | |
9951 | ||
9952 | * c-aux-info.c, c-common.c, c-common.h, c-cppbuiltin.c, c-decl.c, | |
9953 | c-format.c, c-incpath.c, c-lex.c, c-objc-common.c, c-opts.c, | |
9954 | c-parse.in, c-pch.c, c-ppoutput.c, c-pragma.c, c-typeck.c: Follow | |
9955 | code formatting conventions. | |
9956 | ||
9957 | 2004-10-03 Richard Sandiford <rsandifo@redhat.com> | |
9958 | ||
9959 | * config/mips/mips.md (<u>mulsidi3_32bit_r4000): Fix unsigned case. | |
9960 | ||
9961 | 2004-10-03 Kazu Hirata <kazu@cs.umass.edu> | |
9962 | ||
9963 | PR tree-optimization/16632 | |
9964 | * fold-const.c (fold) [EQ_EXPR]: When seeing if D & ~C != 0 to | |
9965 | fold (A & C) == D into 0, fold ~C. Similarly, for the case | |
9966 | where | is used instead of &. | |
9967 | ||
9968 | 2004-10-03 Kazu Hirata <kazu@cs.umass.edu> | |
9969 | ||
9970 | * ginclude/stddef.h: Fix a comment typo. | |
9971 | ||
9972 | 2004-10-03 Eric Botcazou <ebotcazou@libertysurf.fr> | |
9973 | ||
9974 | PR target/17443 | |
9975 | * config.gcc (i?86-*-solaris2*): Restore correct logic | |
9976 | for --enable-threads option. | |
9977 | (sparc64-*-solaris2*): Likewise. | |
9978 | (sparc-*-solaris2*): Likewise. | |
9979 | ||
9980 | 2004-10-03 Alan Modra <amodra@bigpond.net.au> | |
9981 | ||
9982 | * config/rs6000/linux.h (TARGET_C99_FUNCTIONS): Define. | |
9983 | (OS_MISSING_POWERPC64): Move, and comment. | |
9984 | * config/rs6000/linux64.h (TARGET_C99_FUNCTIONS): Define. | |
9985 | (OS_MISSING_POWERPC64): Move, and comment. | |
9986 | ||
9987 | 2004-10-02 Ian Lance Taylor <ian@wasabisystems.com> | |
9988 | ||
9989 | * arm.c (output_call_mem): Add missing \t. | |
9990 | ||
9991 | 2004-10-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
9992 | ||
9993 | * builtins.c (expand_builtin_memcmp, expand_builtin_strcmp, | |
9994 | expand_builtin_strncmp): Delete duplicate code. | |
9995 | ||
9996 | 2004-10-02 Frank Ch. Eigler <fche@redhat.com> | |
9997 | ||
9998 | * tree-mudflap.c (mf_build_check_statement_for): Reorganize to | |
9999 | take check-base and -limit arguments. | |
10000 | (mf_xform_derefs_1): Reorganize slightly to pass proper base/limit | |
10001 | check ranges for ARRAY_REF and COMPONENT_REF. | |
10002 | (execute_mudflap_fnction_ops, ..._decls): Limit unnecessary | |
10003 | instrumentation. | |
10004 | ||
10005 | 2004-10-02 Joseph S. Myers <jsm@polyomino.org.uk> | |
10006 | ||
10007 | * c-objc-common.c (c_tree_printer): Correct description of %E. | |
10008 | Don't fall through after printing an expression. | |
10009 | ||
10010 | 2004-10-02 Kazu Hirata <kazu@cs.umass.edu> | |
10011 | ||
10012 | * tree-cfg.c, config/s390/tpf-unwind.h: Fix comment typos. | |
10013 | ||
10014 | 2004-10-02 Kazu Hirata <kazu@cs.umass.edu> | |
10015 | ||
10016 | * tree-cfg.c (cleanup_tree_cfg): Speed up by calling | |
10017 | delete_unrechable_blocks() only when necessary. | |
10018 | ||
10019 | 2004-10-02 P.J. Darcy <darcypj@us.ibm.com> | |
10020 | ||
10021 | * gthr-tpf.h (__gthread_recursive_mutex_t): New type. | |
10022 | (__GTHREAD_RECURSIVE_MUTEX_INIT): Define. | |
10023 | (__gthread_recursive_mutex_lock, __gthread_recursive_mutex_trylock, | |
10024 | __gthread_recursive_mutex_unlock): New functions. | |
10025 | ||
10026 | 2004-10-02 P.J. Darcy <darcypj@us.ibm.com> | |
10027 | ||
10028 | * config/s390/t-tpf (LIB2ADDEH): Remove tpf-eh.c. | |
10029 | * config/s390/tpf-eh.c: Remove file. | |
10030 | * config/s390/tpf-unwind.h: New file. | |
10031 | * config/s390/tpf.h (MD_FALLBACK_FRAME_STATE_FOR): Remove. | |
10032 | (MD_UNWIND_SUPPORT): Define. | |
10033 | ||
10034 | 2004-10-02 Joseph S. Myers <jsm@polyomino.org.uk> | |
10035 | ||
10036 | * c-typeck.c (warn_for_assignment): Don't permit argnum == 0. | |
10037 | ||
10038 | 2004-10-01 Ulrich Weigand <uweigand@de.ibm.com> | |
10039 | ||
10040 | * config/s390/s390-protos.h (s390_comparison): Add prototype. | |
10041 | * config/s390/s390.c (s390_comparison): New function. | |
10042 | (s390_branch_condition_mask): Return -1 for invalid comparisons. | |
10043 | (s390_branch_condition_mnemonic): Assert valid comparison. | |
10044 | * config/s390/s390.h (PREDICATE_CODES): Add s390_comparison. | |
10045 | * config/s390/s390.md ("*cjump_64", "*cjump_31", "*cjump_long", | |
10046 | "*icjump_64", "*icjump_31", "*icjump_long", "*trap"): Use | |
10047 | s390_comparison instead of comparison_operator. | |
10048 | ||
10049 | * config/s390/s390.md (UNSPEC_CMPINT): New constant. | |
10050 | ("cmpmemdi"): Remove. | |
10051 | ("cmpmem_short", "*cmpmem_short"): Use CCUmode instead of CCSmode. | |
10052 | ("cmpmem_long", "*cmpmem_long_64", "*cmpmem_long_31"): Likewise. | |
10053 | ("cmpint_si"): Rename to ... | |
10054 | ("*cmpint_si"): ... this. Use UNSPEC_CMPINT. | |
10055 | ("cmpint_di", "*cmpint_di"): Likewise. | |
10056 | * config/s390/s390.c (s390_canonicalize_comparison): Remove | |
10057 | redundant UNSPEC_CMPINT conversions. | |
10058 | (s390_expand_cmpmem): Adapt to cmpint pattern changes. | |
10059 | ||
10060 | 2004-10-01 Kazu Hirata <kazu@cs.umass.edu> | |
10061 | ||
10062 | * collect2.c (COLLECT_PARSE_FLAG): Remove. | |
10063 | (main): Remove a reference to COLLECT_PARSE_FLAG | |
10064 | * system.h: Poison COLLECT_PARSE_FLAG. | |
10065 | * doc/tm.texi (COLLECT_PARSE_FLAG): Remove. | |
10066 | ||
10067 | 2004-10-01 Paul Brook <paul@codesourcery.com> | |
10068 | ||
10069 | * config/arm/crti.asm: Give _init and _fini function type. | |
10070 | ||
10071 | 2004-10-01 Zdenek Dvorak <dvorakz@suse.cz> | |
10072 | ||
10073 | * common.opt (ftree-loop-ivcanon): Enable by default. | |
10074 | * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): | |
10075 | Enable complete loop unrolling. | |
10076 | (canonicalize_induction_variables, tree_unroll_loops_completely): | |
10077 | Reset scev info. | |
10078 | ||
10079 | 2004-10-01 Paul Brook <paul@codesourcery.com> | |
10080 | ||
10081 | * config/arm/arm.c (thumb_compute_saved_rag_mask): Or with bitmask, | |
10082 | not register number. | |
10083 | (thumb_find_work_register): Search full register range. | |
10084 | ||
10085 | 2004-10-01 Andrew Pinski <pinskia@physics.uc.edu> | |
10086 | ||
10087 | PR tree-opt/17343 | |
10088 | * tree-cfg.c (group_case_labels): Get the label and not | |
10089 | the case expr for the default case. | |
10090 | When the label we looking at is the default, decrement the | |
10091 | new_size. | |
10092 | ||
10093 | 2004-10-01 Jan Hubicka <jh@suse.cz> | |
10094 | ||
10095 | * c-decl.c (c_expand_body): Update call tree_rest_of_compilation. | |
10096 | * cgraphunit.c (cgraph_build_static_cdtor): Likewise. | |
10097 | * toplev.h (tree_rest_of_compilation): Update prototype. | |
e8366202 | 10098 | * tree-optimize.c (tree_rest_of_compilation): Kill nested_p argument. |
7a4515d7 SB |
10099 | |
10100 | 2004-10-01 Kazu Hirata <kazu@cs.umass.edu> | |
10101 | ||
10102 | * tree-cfg.c (cleanup_tree_cfg): Pull a call to | |
10103 | cleanup_control_flow() out of the while loop. | |
10104 | ||
10105 | 2004-10-01 Paolo Bonzini <bonzini@gnu.org> | |
10106 | ||
10107 | * tree-vectorizer.c (vectorizable_operation): Fail unless | |
10108 | the mode for the vector type is indeed a vector mode. | |
10109 | ||
10110 | 2004-10-01 Zdenek Dvorak <dvorakz@suse.cz> | |
10111 | ||
10112 | * tree-chrec.c (chrec_fold_plus_poly_poly, chrec_fold_plus_1, | |
10113 | chrec_fold_multiply): Use fold_convert or build_int_cst_type instead | |
10114 | of convert. | |
10115 | * tree-scalar-evolution.c (compute_overall_effect_of_inner_loop, | |
10116 | add_to_evolution, set_nb_iterations_in_loop, follow_ssa_edge_in_rhs, | |
10117 | follow_ssa_edge_in_rhs): Ditto. | |
10118 | * tree-ssa-loop-ivopts.c (struct iv): Add base_object field. | |
10119 | (dump_iv): Dump base_object. | |
10120 | (dump_use, dump_cand): Use dump_iv. | |
10121 | (determine_base_object): New function. | |
10122 | (alloc_iv): Initialize base_object field. | |
10123 | (record_use): Clear the ssa_name field of iv. | |
10124 | (get_computation_cost_at): Do not use difference of addresses of | |
10125 | two different objects. | |
10126 | (may_eliminate_iv): Do not require the loop to have just single exit. | |
10127 | * tree-ssa-loop-niter.c (zero_p): Do not check for overflows. | |
10128 | (nonzero_p): New function. | |
10129 | (inverse, number_of_iterations_cond, simplify_using_outer_evolutions, | |
10130 | tree_simplify_using_condition, simplify_using_initial_conditions, | |
10131 | loop_niter_by_eval, find_loop_niter_by_eval, | |
10132 | estimate_numbers_of_iterations_loop, compare_trees, | |
10133 | upper_bound_in_type, lower_bound_in_type, | |
10134 | can_count_iv_in_wider_type_bound): Use buildN instead of build. Use | |
10135 | fold_convert or build_int_cst_type instead of convert. Use (non)zero_p | |
10136 | instead of integer_(non)zerop. | |
10137 | ||
10138 | 2004-10-01 Jakub Jelinek <jakub@redhat.com> | |
10139 | ||
10140 | Revert | |
10141 | 2004-09-29 Jakub Jelinek <jakub@redhat.com> | |
10142 | ||
10143 | * tree.h (enum tree_index): Add TI_VA_LIST_GPR_COUNTER_FIELD | |
10144 | and TI_VA_LIST_FPR_COUNTER_FIELD. | |
10145 | (va_list_gpr_counter_field, va_list_fpr_counter_field): Define. | |
10146 | * tree-pass.h (pass_stdarg): Add. | |
10147 | * tree-optimize.c (init_tree_optimization_passes): Add pass_stdarg. | |
10148 | * tree-stdarg.c: New file. | |
10149 | * Makefile.in (OBJS-common): Add tree-stdarg.o. | |
10150 | (tree-stdarg.o): Add dependencies. | |
10151 | * function.h (struct function): Add va_list_gpr_size and | |
10152 | va_list_fpr_size fields. | |
10153 | * function.c (allocate_struct_function): Initialize them. | |
10154 | ||
10155 | * config/i386/i386.c (ix86_build_builtin_va_list): Initialize | |
10156 | va_list_{g,f}pr_counter_field. | |
10157 | (ix86_setup_incoming_varargs): Don't do anything if reg_save | |
10158 | area will not be used. Only save registers that tree-stdarg.c | |
10159 | detected they need saving. | |
10160 | (ix86_va_start): Don't set up fields that won't be used. | |
10161 | ||
10162 | * config/rs6000/rs6000.c (rs6000_build_builtin_va_list): Initialize | |
10163 | va_list_{g,f}pr_counter_field. | |
10164 | (setup_incoming_varargs): Don't do anything if reg_save | |
10165 | area will not be used. Only save registers that tree-stdarg.c | |
10166 | detected they need saving. | |
10167 | (rs6000_va_start): Don't set up fields that won't be used. | |
10168 | ||
10169 | 2004-09-30 Eric Christopher <echristo@redhat.com> | |
10170 | ||
10171 | * dwarf2.h (dwarf_calling_convention): Add enum for renesas | |
10172 | sh abi. | |
10173 | * dwarf2out.c (add_calling_convention_attribute): New function. | |
10174 | (gen_subroutine_type_die): Use. | |
10175 | * target-def.h (TARGET_DWARF_CALLING_CONVENTION): New hook. | |
10176 | * target.h (gcc_target): Add dwarf_calling_convention. | |
10177 | * hooks.c (hook_int_tree_0): New function. | |
10178 | * hooks.h: Prototype. | |
10179 | * config/sh/sh.c: Include dwarf2.h. | |
10180 | (sh_dwarf_calling_convention): New function. | |
10181 | (TARGET_DWARF_CALLING_CONVENTION): Use. | |
10182 | * doc/tm.texi (TARGET_DWARF_CALLING_CONVENTION): Document. | |
10183 | ||
10184 | 2004-09-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
10185 | ||
10186 | * builtins.c (expand_builtin_strstr, expand_builtin_strchr, | |
10187 | expand_builtin_strrchr, expand_builtin_strpbrk, | |
10188 | expand_builtin_strncat, expand_builtin_strspn, | |
10189 | expand_builtin_strcspn, expand_builtin_fputs): Eliminate duplicate | |
10190 | code. | |
10191 | ||
10192 | 2004-09-30 Ulrich Weigand <uweigand@de.ibm.com> | |
10193 | ||
10194 | * config/s390/s390-protos.h (s390_expand_logical_operator): Add | |
10195 | prototype. | |
10196 | (s390_logical_operator_ok_p): Likewise. | |
10197 | * config/s390/s390.c (s390_expand_logical_operator): New function. | |
10198 | (s390_logical_operator_ok_p): Likewise. | |
10199 | * config/s390/s390.md ("anddi3"): New expander. | |
10200 | ("*anddi3"): Rename from old anddi3 pattern, add Q->Q alternative. | |
10201 | ("*anddi3_ss", "*anddi3_ss_inv"): Remove. | |
10202 | ("andsi3"): Use s390_expand_logical_operator. | |
10203 | ("*andsi3_esa", "*andsi3_zarch"): Add Q->Q alternative. | |
10204 | ("*andsi3_ss", "*andsi3_ss_inv"): Remove. | |
10205 | ("andhi3"): New expander. | |
10206 | ("*andhi3_zarch", "*andhi3_esa"): New patterns. | |
10207 | ("andhi3", "*andhi3_ni", "*andhi3_ss", "*andhi3_ss_inv"): Remove. | |
10208 | ("andqi3"): New expander. | |
10209 | ("*andqi3_zarch", "*andqi3_esa"): New patterns. | |
10210 | ("andqi3", "*andqi3_ni", "*andqi3_ss", "*andqi3_ss_inv"): Remove. | |
10211 | ("iordi3"): New expander. | |
10212 | ("*iordi3"): Rename from old iordi3 pattern, add Q->Q alternative. | |
10213 | ("*iordi3_ss", "*iordi3_ss_inv"): Remove. | |
10214 | ("iorsi3"): Use s390_expand_logical_operator. | |
10215 | ("*iorsi3_esa", "*iorsi3_zarch"): Add Q->Q alternative. | |
10216 | ("*iorsi3_ss", "*iorsi3_ss_inv"): Remove. | |
10217 | ("iorhi3"): New expiorer. | |
10218 | ("*iorhi3_zarch", "*iorhi3_esa"): New patterns. | |
10219 | ("iorhi3", "*iorhi3_ni", "*iorhi3_ss", "*iorhi3_ss_inv"): Remove. | |
10220 | ("iorqi3"): New expiorer. | |
10221 | ("*iorqi3_zarch", "*iorqi3_esa"): New patterns. | |
10222 | ("iorqi3", "*iorqi3_ni", "*iorqi3_ss", "*iorqi3_ss_inv"): Remove. | |
10223 | ("xordi3"): New expander. | |
10224 | ("*xordi3"): Rename from old xordi3 pattern, add Q->Q alternative. | |
10225 | ("*xordi3_ss", "*xordi3_ss_inv"): Remove. | |
10226 | ("xorsi3"): New expander. | |
10227 | ("*xorsi3"): Rename from old xorsi3 pattern, add Q->Q alternative. | |
10228 | ("*xorsi3_ss", "*xorsi3_ss_inv"): Remove. | |
10229 | ("xorhi3"): New expander. | |
10230 | ("*xorqi3"): Rename from old xorhi3 pattern, add Q->Q alternative. | |
10231 | ("*xorhi3_ss", "*xorhi3_ss_inv"): Remove. | |
10232 | ("xorqi3"): New expander. | |
10233 | ("*xorqi3"): Rename from old xorqi3 pattern, add Q->Q alternative. | |
10234 | ("*xorqi3_ss", "*xorqi3_ss_inv"): Remove. | |
10235 | ||
10236 | 2004-09-30 Roger Sayle <roger@eyesopen.com> | |
10237 | ||
10238 | * combine.c (force_to_mode) <NE_EXPR>: Only convert the expression | |
10239 | (AND (NE FOO 0) CONST) into (AND FOO CONST) if FOO has the same | |
10240 | machine mode as the result. | |
10241 | ||
10242 | 2004-09-30 Ben Elliston <bje@au.ibm.com> | |
10243 | ||
10244 | PR bootstrap/17761 | |
10245 | * lcm.c (optimize_mode_switching): Update to use EDGE_SUCC and | |
10246 | FOR_EACH_EDGE macros. | |
10247 | ||
10248 | 2004-09-30 Joseph S. Myers <jsm@polyomino.org.uk> | |
10249 | ||
10250 | * c-tree.h (readonly_error): Remove. | |
10251 | * c-typeck (enum lvalue_use): New. | |
10252 | (lvalue_or_else, readonly_error): Use it. All callers changed. | |
10253 | (readonly_error): Make static. | |
10254 | ||
10255 | 2004-09-30 Jan Hubicka <jh@suse.cz> | |
10256 | ||
10257 | PR debug/13974 | |
10258 | * cfgrtl.c (try_redirect_by_replacing_jump, | |
10259 | force_nonfallthru_and_redirect, commit_one_edge_insertion, | |
e8366202 | 10260 | cfg_layout_merge_blocks): Do not attach any line number information |
7a4515d7 SB |
10261 | to newly inserted instructions. |
10262 | * emit-rtl.c (emit_insn*_before, emit_insn*_after): Rename to | |
10263 | emit_insn_*_noloc. | |
10264 | (emit_*insn_before, emit_insn*_after): New. | |
10265 | (emit_*insn_before_setloc, emit_*insn_after_setloc): Do not overwrite | |
10266 | existing locators. | |
10267 | * rtl.h (emit_*insn_before_noloc, emit_*insn_after_noloc): Declare. | |
10268 | (emit_*insn_before_sameloc, emit_*insn_after_sameloc): Kill. | |
10269 | ||
10270 | 2004-09-30 Ulrich Weigand <uweigand@de.ibm.com> | |
10271 | ||
10272 | * config/s390/s390-protos.h (s390_arg_frame_offset): Remove. | |
10273 | (s390_return_address_offset): Remove. | |
10274 | (s390_can_eliminate): Add prototype. | |
10275 | (s390_initial_elimination_offset): Add prototype. | |
10276 | * config/s390/s390.h (CAN_ELIMINATE): Call s390_can_eliminate. | |
10277 | (INITIAL_ELIMINATION_OFFSET): Call s390_initial_elimination_offset. | |
10278 | * config/s390/s390.c (s390_arg_frame_offset): Remove. | |
10279 | (s390_return_address_offset): Remove. | |
10280 | (s390_can_eliminate, s390_initial_elimination_offset): New functions. | |
10281 | (struct machine_function): New member split_branches_pending_p. | |
10282 | (s390_mainpool_start): Allow nonexistant pool insn for empty pool. | |
10283 | (s390_mainpool_finish): Likewise. Clear base_reg if pool empty. | |
10284 | (s390_optimize_prologue): Remove base_used argument. Call | |
10285 | s390_update_frame_layout instead of s390_register_info. Handle | |
10286 | prologue/epilogue insns that touch only RETURN_REGNUM. | |
10287 | (s390_reorg): Remove base_used. Clear split_branches_pending_p. | |
10288 | (s390_register_info): Remove base_used and return_addr_used | |
10289 | arguments, compute special register usage inline. Return live | |
10290 | register data to caller. | |
10291 | (s390_frame_info): Remove arguments, do not call s390_register_info. | |
10292 | (s390_init_frame_layout): New function. | |
10293 | (s390_update_frame_layout): Likewise. | |
10294 | (s390_emit_prologue): Call s390_update_frame_layout; some code | |
10295 | move to there. Do not emit pool placeholder insn if unnecessary. | |
10296 | ||
10297 | 2004-09-30 Ulrich Weigand <uweigand@de.ibm.com> | |
10298 | ||
10299 | * config/s390/s390.c (legitimate_reload_constant_p): Remove | |
10300 | floating point constant workaround. | |
10301 | (s390_secondary_input_reload_class): Handle PLUS reloads | |
10302 | with too-large constant. | |
10303 | (s390_expand_plus_operand): Likewise. | |
10304 | * config/s390/s390.md ("movdi"): Do not call force_const_mem. | |
10305 | ("movsi"): Likewise. Also, remove workaround for non-general | |
10306 | operands. | |
10307 | ("movdf"): Do not call force_const_mem. | |
10308 | ("movsf"): Likewise. Merge expander with *movsf insn. | |
10309 | ("*movsf"): Remove, merge with movsf expander. | |
10310 | ||
10311 | 2004-09-30 Paul Brook <paul@codesourcery.com> | |
10312 | ||
10313 | * config/arm/symbian.h (STARTFILE_SPEC): Remove crt*.o. | |
10314 | (ENDFILE_SPEC): Define. | |
10315 | * config/arm/t-symbian.h (EXTRA_MULTILIB_PARTS): Set. | |
10316 | ||
10317 | 2004-09-30 Richard Henderson <rth@redhat.com> | |
10318 | ||
10319 | * config/alpha/qrnnd.asm: Mark for noexecstack. | |
10320 | ||
10321 | 2004-09-30 Kazu Hirata <kazu@cs.umass.edu> | |
10322 | ||
10323 | * protoize.c, tree-cfg.c: Fix comment typos. | |
10324 | ||
10325 | 2004-09-30 Joseph S. Myers <jsm@polyomino.org.uk> | |
10326 | ||
10327 | PR c/17730 | |
10328 | * c-typeck.c (lvalue_or_else): Pass msgid directly to error. | |
10329 | ||
10330 | 2004-09-30 Diego Novillo <dnovillo@redhat.com> | |
10331 | ||
10332 | * tree-ssa-alias.c (collect_points_to_info_r): Move analysis of | |
10333 | expressions... | |
10334 | (add_pointed_to_expr): ... here. | |
10335 | Call add_pointed_to_expr for variables with DECL_INITIAL set. | |
10336 | * tree-dfa.c (add_referenced_var): Scan DECL_INITIAL of any | |
10337 | pointer variable, if set. | |
10338 | ||
10339 | 2004-09-30 Kazu Hirata <kazu@cs.umass.edu> | |
10340 | ||
10341 | * config/sh/sh.c: Follow spelling conventions. | |
10342 | ||
10343 | 2004-09-29 Richard Henderson <rth@redhat.com> | |
10344 | ||
10345 | * unwind-dw2.c (_Unwind_GetGR): Honor DWARF_ZERO_REG. | |
10346 | * doc/tm.texi (DWARF_ZERO_REG): New. | |
10347 | ||
10348 | * config/alpha/alpha.c (alpha_sa_mask, alpha_expand_prologue, | |
10349 | alpha_expand_epilogue): Revert 2003-09-30 change to store zero. | |
10350 | * config/alpha/alpha.h (DWARF_ZERO_REG): New. | |
10351 | ||
10352 | 2004-09-29 Ulrich Weigand <uweigand@de.ibm.com> | |
10353 | ||
10354 | * builtins.c (expand_builtin_strlen): Do not call emit_move_insn | |
10355 | with a PLUS as source operand. | |
10356 | (expand_movstr): Likewise. | |
10357 | (expand_builtin_stpcpy): Likewise. | |
10358 | ||
10359 | 2004-09-29 Richard Henderson <rth@redhat.com> | |
10360 | ||
10361 | PR 17739 | |
10362 | * tree-gimple.c (is_gimple_reg): Reject hard registers. | |
10363 | (is_gimple_asm_val): New. | |
10364 | * tree-gimple.h (is_gimple_asm_val): Declare. | |
10365 | * gimplify.c (gimplify_asm_expr): Use it. | |
10366 | * tree-pretty-print.c (print_declaration): Dump hard regs. | |
10367 | * tree-outof-ssa.c (check_replaceable): Don't check for hard regs. | |
10368 | * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Likewise. | |
10369 | * tree-ssa-pre.c (is_undefined_value): Likewise. | |
10370 | * tree-ssa-copy.c (may_propagate_copy): Likewise. | |
10371 | (may_propagate_copy_into_asm): Protect DECL_HARD_REGISTER. | |
10372 | * tree-ssa.c (warn_uninit): Likewise. | |
10373 | * tree.h (DECL_HARD_REGISTER): Check for VAR_DECL. | |
10374 | ||
10375 | 2004-09-29 Fariborz Jahanian <fjahanian@apple.com> | |
10376 | ||
10377 | * c-decl.c (merge_decls): Use comptype when comparing | |
10378 | types to decide on DECL_SIZE save of olddecl. | |
10379 | ||
10380 | 2004-09-29 Daniel Berlin <dberlin@dberlin.org> | |
10381 | ||
10382 | * tree.h (INDIRECT_REF_P): New macro. | |
10383 | * alias.c (get_alias_set): Use it | |
10384 | (nonoverlapping_memrefs_p): Ditto. | |
10385 | * emit-rtl.c (mem_expr_equal_p): Ditto. | |
10386 | (set_mem_attributes_minus_bitpos): Ditto. | |
10387 | (is_gimple_addressable): Ditto. | |
10388 | (get_base_address): Ditto. | |
10389 | * tree-ssa-alias.c (find_ptr_derefernece): Ditto. | |
10390 | * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Ditto. | |
10391 | * tree-ssa-dom.c (record_equivalences_from_stmt): Ditto. | |
10392 | * tree-ssa-loop-im.c (is_call_clobbered_ref): Ditto. | |
10393 | * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Ditto. | |
10394 | (add_address_candidates): Ditto. | |
10395 | (rewrite_address_base): Ditto. | |
10396 | ||
10397 | 2004-09-30 Ben Elliston <bje@au.ibm.com> | |
10398 | ||
10399 | * tree-flow.h (struct bb_ann_d): Remove num_preds member. | |
10400 | * tree-into-ssa.c (rewrite_into_ssa): Don't set it. | |
10401 | (rewrite_ssa_into_ssa): Likewise. | |
10402 | * tree-phinodes.c (create_phi_node): Access the number of | |
10403 | predecessor edges using EDGE_COUNT() and not num_preds. | |
10404 | ||
10405 | 2004-09-29 Joseph S. Myers <jsm@polyomino.org.uk> | |
10406 | ||
10407 | PR c/7425 | |
10408 | * c-decl.c (merge_decls): Merge TREE_DEPRECATED. | |
10409 | ||
10410 | 2004-09-29 Eric Christopher <echristo@redhat.com> | |
10411 | ||
10412 | * fold-const.c (tree_swap_operands_p): Remove duplicated code. | |
10413 | ||
10414 | 2004-09-29 Hans-Peter Nilsson <hp@axis.com> | |
10415 | ||
10416 | * config/cris/cris.md (moverside, movemside): With MEM, make sure | |
10417 | the address is (plus reg mem). | |
10418 | ||
10419 | 2004-09-29 David Edelsohn <edelsohn@gnu.org> | |
10420 | ||
10421 | * config/rs6000/linux64.h (PROCESSOR_DEFAULT): Define. | |
10422 | ||
10423 | 2004-09-29 Nathan Sidwell <nathan@codesourcery.com> | |
10424 | ||
10425 | * tree.c (make_node_stat): Fix uninitialized warning. Replace | |
10426 | cascaded if ... else if with a switch. | |
10427 | ||
10428 | 2004-09-29 Aaron W. LaFramboise <aaronavay62@aaronwl.com> | |
10429 | ||
10430 | * read-rtl.c (apply_macro_to_string): Replace index with strchr. | |
10431 | ||
10432 | 2004-09-29 Jakub Jelinek <jakub@redhat.com> | |
10433 | ||
10434 | * tree.h (enum tree_index): Add TI_VA_LIST_GPR_COUNTER_FIELD | |
10435 | and TI_VA_LIST_FPR_COUNTER_FIELD. | |
10436 | (va_list_gpr_counter_field, va_list_fpr_counter_field): Define. | |
10437 | * tree-pass.h (pass_stdarg): Add. | |
10438 | * tree-optimize.c (init_tree_optimization_passes): Add pass_stdarg. | |
10439 | * tree-stdarg.c: New file. | |
10440 | * Makefile.in (OBJS-common): Add tree-stdarg.o. | |
10441 | (tree-stdarg.o): Add dependencies. | |
10442 | * function.h (struct function): Add va_list_gpr_size and | |
10443 | va_list_fpr_size fields. | |
10444 | * function.c (allocate_struct_function): Initialize them. | |
10445 | ||
10446 | * config/i386/i386.c (ix86_build_builtin_va_list): Initialize | |
10447 | va_list_{g,f}pr_counter_field. | |
10448 | (ix86_setup_incoming_varargs): Don't do anything if reg_save | |
10449 | area will not be used. Only save registers that tree-stdarg.c | |
10450 | detected they need saving. | |
10451 | (ix86_va_start): Don't set up fields that won't be used. | |
10452 | ||
10453 | * config/rs6000/rs6000.c (rs6000_build_builtin_va_list): Initialize | |
10454 | va_list_{g,f}pr_counter_field. | |
10455 | (setup_incoming_varargs): Don't do anything if reg_save | |
10456 | area will not be used. Only save registers that tree-stdarg.c | |
10457 | detected they need saving. | |
10458 | (rs6000_va_start): Don't set up fields that won't be used. | |
10459 | ||
10460 | 2004-09-29 Jakub Jelinek <jakub@redhat.com> | |
10461 | ||
10462 | * builtins.def (BUILT_IN_FPUTC, BUILT_IN_FPUTC_UNLOCKED, | |
10463 | BUILT_IN_FPUTS, BUILT_IN_FPUTS_UNLOCKED, BUILT_IN_FWRITE, | |
10464 | BUILT_IN_FWRITE_UNLOCKED, BUILT_IN_PUTCHAR, BUILT_IN_PUTCHAR_UNLOCKED, | |
10465 | BUILT_IN_PUTS, BUILT_IN_PUTS_UNLOCKED): Remove nothrow attribute. | |
10466 | * builtin-attrs.def (ATTR_NONNULL_1, ATTR_NONNULL_2, ATTR_NONNULL_1_2, | |
10467 | ATTR_NONNULL_1_4): New. | |
10468 | ||
10469 | 2004-09-29 Jakub Jelinek <jakub@redhat.com> | |
10470 | ||
10471 | PR tree-optimization/17697 | |
10472 | * tree-ssa-ccp.c (execute_fold_all_builtins): Update eh and cleanup | |
10473 | cfg if needed. | |
10474 | ||
10475 | 2004-09-28 Per Bothner <per@bothner.com> | |
10476 | ||
10477 | * profile.c (branch_prob): Pass correct value to output_location, | |
10478 | even when USE_MAPPED_LOCATION. Fixes bug from 09-11. | |
10479 | ||
10480 | 2004-09-28 Richard Henderson <rth@redhat.com> | |
10481 | ||
10482 | PR 15089 | |
10483 | * tree-ssa-copy.c (may_propagate_copy_into_asm): New. | |
10484 | * tree-flow.h (may_propagate_copy_into_asm): Declare. | |
10485 | * tree-ssa-ccp.c (replace_uses_in): Use it. | |
10486 | * tree-ssa-dom.c (cprop_operand): Likewise. | |
10487 | ||
10488 | 2004-09-28 Jeff Law <law@redhat.com> | |
10489 | ||
e8366202 | 10490 | * tree-ssa-threadupdate.c (create_block_for_threading): Request |
7a4515d7 SB |
10491 | that no outgoing edges be left in the duplicate block. Do no |
10492 | update information on outgoing edges or PHI nodes in target | |
10493 | blocks here. | |
10494 | (remove_ctrl_stmt_and_useless_edges): Renamed from | |
10495 | remove_last_stmt_and_useless_edges. Handle case where the | |
10496 | block is empty or has no control statements. Do not update edge | |
10497 | flags here. | |
10498 | (thread_block): Create a template block rather than copying the | |
10499 | original block every time. Create outgoing edges from the | |
10500 | duplicate blocks and update PHIs at the target of the outgoing | |
10501 | edges here. Fix edge flags for the original block if necessary. | |
10502 | * cfghooks (duplicate_block): No longer assert that the original | |
10503 | block has incoming edges. | |
10504 | ||
10505 | 2004-09-29 Hans-Peter Nilsson <hp@bitrange.com> | |
10506 | ||
10507 | * doc/extend.texi (Extended Asm): Add blurb about using Explicit | |
10508 | Reg Vars to enforce register allocation with general constraints. | |
10509 | (Explicit Reg Vars): Clarify relation to asm statements. | |
10510 | (Local Reg Vars): Similar. | |
10511 | ||
10512 | 2004-09-28 Ulrich Weigand <uweigand@de.ibm.com> | |
10513 | ||
10514 | * sched-rgn.c (haifa_edge, edge_table, NEXT_IN, NEXT_OUT, FROM_BLOCK, | |
10515 | TO_BLOCK, nr_edges, in_edges, out_edges, IN_EDGES, OUT_EDGES, | |
10516 | build_control_flow, new_edge): Remove. | |
10517 | (schedule_insns): Remove edge_table/in_edges/out_edges cleanup. | |
10518 | (bitlst, bitlst_table_last, bitlst_table): Remove. | |
10519 | (bblst): Store basic_block pointer instead of block index. | |
10520 | (bblst_table): Likewise. | |
10521 | (edgelst): Store edge pointer instead of edge index. | |
10522 | (edgelst_table, edgelst_last): New variables. | |
10523 | (extract_bitlst): Rename to ... | |
10524 | (extract_edgelst): ... this. Return edge pointers, not indices. | |
10525 | (split_edges): Update call. | |
10526 | (rgn_edges): Store edge pointers instead of indices. | |
10527 | (edge_to_bit): Remove. | |
10528 | (EDGE_TO_BIT): Store per-region edge index in edge->aux. | |
10529 | (SET_EDGE_TO_BIT): New macro. | |
10530 | (is_cfg_nonregular): Check for simple cases of unreachable blocks. | |
10531 | (find_rgns): Remove edge_list parameter. Traverse standard CFG | |
10532 | data structures instead of haifa_edge et al. Use edge pointers | |
10533 | instead of edge indices everywhere. | |
10534 | (compute_dom_prob_ps): Use standard CFG data structures. Account | |
10535 | for exit edges. | |
10536 | (compute_trg_info): Likewise. | |
10537 | (propagate_deps): Likewise. | |
10538 | (debug_candidate): Account for bblst data structure change. | |
10539 | (check_live_1, update_live_1, is_pfree): Likewise. | |
10540 | (IS_REACHABLE): Use standard CFG data structures. | |
10541 | (init_ready_list): Update bblst_table/edgelst_table allocation. | |
10542 | (schedule_region): Update alloc/cleanup code to data structure | |
10543 | changes. Use edge->aux to store per-region edge index. | |
10544 | (init_regions): No longer call build_control_flow. Do not | |
10545 | create edge list any more. | |
10546 | ||
10547 | 2004-09-28 Ulrich Weigand <uweigand@de.ibm.com> | |
10548 | ||
10549 | * cse.c (cse_insn): Avoid creating direct non-local jumps. | |
10550 | * combine.c (can_combine_p): Likewise. | |
10551 | * local-alloc. (update_equiv_regs): Likewise. | |
10552 | ||
10553 | 2004-09-28 Richard Henderson <rth@redhat.com> | |
10554 | ||
10555 | PR 17531 | |
10556 | * expr.c (expand_expr_addr_expr_1): Only assemble_external for decls. | |
10557 | Don't check VOIDmode here. Force PLUS operands to common type. | |
10558 | (expand_expr_addr_expr): Do VOIDmode check earlier. Force use of | |
10559 | Pmode if given a non pointer type. | |
10560 | ||
10561 | 2004-09-28 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> | |
10562 | ||
10563 | PR 17531 | |
10564 | * optabs.c (expand_binop): Force constants to the correct mode. | |
10565 | ||
10566 | 2004-09-28 Ulrich Weigand <uweigand@de.ibm.com> | |
10567 | ||
10568 | * config/s390/s390.c (s390_adjust_cost): Remove. | |
10569 | (TARGET_SCHED_ADJUST_COST): Do not redefine. | |
10570 | (s390_adjust_priority): Handle TYPE_STM like TYPE_STORE. | |
10571 | * config/s390/s390.md ("main_pool"): Use "larl" type | |
10572 | attribute if TARGET_CPU_ZARCH. | |
10573 | ||
10574 | 2004-09-28 Jakub Jelinek <jakub@redhat.com> | |
10575 | ||
10576 | * config/ia64/ia64.c (ia64_expand_prologue): Declare ei | |
10577 | variable. | |
10578 | ||
10579 | 2004-09-28 Diego Novillo <dnovillo@redhat.com> | |
10580 | ||
10581 | * tree-ssa-loop.c (pass_record_bounds): Do not assign a | |
10582 | name to the pass. | |
10583 | ||
10584 | 2004-09-28 Steven Bosscher <stevenb@suse.de> | |
10585 | ||
10586 | * common.opt (flag_gcse_sm): Disable by default. | |
10587 | (flag_gcse_las): Likewise. | |
10588 | (flag_web): Likewise. Create from this file. | |
10589 | * flags.h: Remove flag_web declaration. | |
10590 | * toplev.c (flag_web): Likewise. | |
10591 | (process_options): Never set flag_web. | |
10592 | ||
10593 | 2004-09-28 Steven Bosscher <stevenb@suse.de> | |
10594 | ||
10595 | * Makefile.in (tree-ssa-propagate.o): Depend on vec.h. | |
10596 | * tree-ssa-propagate.c: Include vec.h. | |
10597 | (interesting_ssa_edges, varying_ssa_edges): Make these VECs | |
10598 | instead of varrays. | |
10599 | (cfg_blocks_add): Assert the block is not already in the worklist. | |
10600 | Update uses of interesting_ssa_edges and varying_ssa_edges. | |
10601 | (process_ssa_edge_worklist, ssa_prop_init, ssa_prop_fini, | |
10602 | ssa_propagate): Likewise. | |
10603 | ||
10604 | 2004-09-28 Joseph S. Myers <jsm@polyomino.org.uk> | |
10605 | ||
10606 | PR c/16409 | |
10607 | * c-decl.c (start_decl): Check for initializing incomplete array | |
10608 | of VLAs. | |
10609 | (build_compound_literal): Check for TYPE being error_mark_node. | |
10610 | * c-parse.in (primary): Check for VLA compound literals. | |
10611 | ||
10612 | 2004-09-28 Diego Novillo <dnovillo@redhat.com> | |
10613 | ||
10614 | * tree-ssa-live.c (calculate_live_on_entry): Fix warnings | |
10615 | with --disable-checking. | |
10616 | ||
10617 | 2004-09-28 Devang Patel <dpatel@apple.com> | |
10618 | ||
10619 | * tree-pretty-print.c (dump_generic_node): Print vector types. | |
10620 | ||
10621 | 2004-09-28 Nick Clifton <nickc@redhat.com> | |
10622 | ||
10623 | * config/sh/sh.h (INIT_CUMULATIVE_ARGS): Replace with an | |
10624 | invocation of the function sh_init_cumulative_args. | |
10625 | (INIT_CUMULATIVE_LIBCALL_ARGS): Likewise. | |
10626 | (INIT_CUMULATIVE_INCOMING_ARGS): Delete. | |
10627 | * config/sh/sh-protos.h: Prototype sh_init_cumulative_args. | |
10628 | * config/sh/sh.c (sh_init_cumulative_args): New function based | |
10629 | on the contents of the old INIT_CUMULATIVE_ARGS macro but with a | |
10630 | heuristic added to determine the setting of force_mem when a | |
10631 | library function is being called. | |
10632 | ||
10633 | 2004-09-28 Diego Novillo <dnovillo@redhat.com> | |
10634 | ||
10635 | * tree-ssa-loop-im.c (single_reachable_address) <PHI_NODE>: | |
10636 | Skip constant arguments. | |
10637 | ||
10638 | 2004-09-28 Diego Novillo <dnovillo@redhat.com> | |
10639 | ||
10640 | * tree-ssa-alias.c (create_name_tags): If PTR points to a | |
10641 | volatile type, mark the tag volatile. | |
10642 | (get_tmt_for): If TAG_TYPE is a volatile type, mark the tag | |
10643 | volatile. | |
10644 | ||
10645 | 2004-09-28 Andrew Pinski <pinskia@physics.uc.edu> | |
10646 | ||
10647 | * tree.def (vec_cond_expr): Fix. Change 'e' | |
10648 | to tcc_expression. | |
10649 | ||
10650 | 2004-09-28 Kazu Hirata <kazu@cs.umass.edu> | |
10651 | ||
10652 | * basic-block.h: Fix a comment typo. | |
10653 | ||
10654 | 2004-09-28 Kazu Hirata <kazu@cs.umass.edu> | |
10655 | ||
10656 | * optabs.c, optabs.h: Fix comment typos. | |
10657 | ||
10658 | 2004-09-28 Eric Botcazou <ebotcazou@act-europe.fr> | |
10659 | ||
10660 | * config/sparc/sparc.md (call_address_struct_value_sp32): | |
10661 | Properly mask the immediate field of the 'unimp' instruction. | |
10662 | (call_symbolic_struct_value_sp32): Likewise. | |
10663 | ||
10664 | 2004-09-28 Ben Elliston <bje@au.ibm.com> | |
10665 | Steven Bosscher <stevenb@suse.de> | |
10666 | Andrew Pinski <pinskia@physics.uc.edu> | |
10667 | ||
10668 | Merge from edge-vector-branch: | |
10669 | * basic-block.h: Include vec.h, errors.h. Instantiate a VEC(edge). | |
10670 | (struct edge_def): Remove pred_next, succ_next members. | |
10671 | (struct basic_block_def): Remove pred, succ members. Add preds | |
10672 | and succs members of type VEC(edge). | |
10673 | (FALLTHRU_EDGE): Redefine using EDGE_SUCC. | |
10674 | (BRANCH_EDGE): Likewise. | |
10675 | (EDGE_CRITICAL_P): Redefine using EDGE_COUNT. | |
10676 | (EDGE_COUNT, EDGE_I, EDGE_PRED, EDGE_SUCC): New. | |
10677 | (edge_iterator): New. | |
10678 | (ei_start, ei_last, ei_end_p, ei_one_before_end_p): New. | |
10679 | (ei_next, ei_prev, ei_edge, ei_safe_edge): Likewise. | |
10680 | (FOR_EACH_EDGE): New. | |
10681 | * bb-reorder.c (find_traces): Use FOR_EACH_EDGE and EDGE_* macros | |
10682 | where applicable. | |
10683 | (rotate_loop): Likewise. | |
10684 | (find_traces_1_route): Likewise. | |
10685 | (bb_to_key): Likewise. | |
10686 | (connect_traces): Likewise. | |
10687 | (copy_bb_p): Likewise. | |
10688 | (find_rarely_executed_basic_blocks_and_crossing_edges): Likewise. | |
10689 | (add_labels_and_missing_jumps): Likewise. | |
10690 | (fix_up_fall_thru_edges): Likewise. | |
10691 | (find_jump_block): Likewise. | |
10692 | (fix_crossing_conditional_branches): Likewise. | |
10693 | (fix_crossing_unconditional_branches): Likewise. | |
10694 | (add_reg_crossing_jump_notes): Likewise. | |
10695 | * bt-load.c (augment_live_range): Likewise. | |
10696 | * cfg.c (clear_edges): Likewise. | |
10697 | (unchecked_make_edge): Likewise. | |
10698 | (cached_make_edge): Likewise. | |
10699 | (make_single_succ_edge): Likewise. | |
10700 | (remove_edge): Likewise. | |
10701 | (redirect_edge_succ_nodup): Likewise. | |
10702 | (check_bb_profile): Likewise. | |
10703 | (dump_flow_info): Likewise. | |
10704 | (alloc_aux_for_edges): Likewise. | |
10705 | (clear_aux_for_edges): Likewise. | |
10706 | (dump_cfg_bb_info): Likewise. | |
10707 | * cfganal.c (forwarder_block_p): Likewise. | |
10708 | (can_fallthru): Likewise. | |
10709 | (could_fall_through): Likewise. | |
10710 | (mark_dfs_back_edges): Likewise. | |
10711 | (set_edge_can_fallthru_flag): Likewise. | |
10712 | (find_unreachable_blocks): Likewise. | |
10713 | (create_edge_list): Likewise. | |
10714 | (verify_edge_list): Likewise. | |
10715 | (add_noreturn_fake_exit_edges): Likewise. | |
10716 | (connect_infinite_loops_to_exit): Likewise. | |
10717 | (flow_reverse_top_sort_order_compute): Likewise. | |
10718 | (flow_depth_first_order_compute): Likewise. | |
10719 | (flow_preorder_transversal_compute): Likewise. | |
10720 | (flow_dfs_compute_reverse_execute): Likewise. | |
10721 | (dfs_enumerate_from): Likewise. | |
10722 | (compute_dominance_frontiers_1): Likewise. | |
10723 | * cfgbuild.c (make_edges): Likewise. | |
10724 | (compute_outgoing_frequencies): Likewise. | |
10725 | (find_many_sub_basic_blocks): Likewise. | |
10726 | (find_sub_basic_blocks): Likewise. | |
10727 | * cfgcleanup.c (try_simplify_condjump): Likewise. | |
10728 | (thread_jump): Likewise. | |
10729 | (try_forward_edges): Likewise. | |
10730 | (merge_blocks_move): Likewise. | |
10731 | (outgoing_edges_match): Likewise. | |
10732 | (try_crossjump_to_edge): Likewise. | |
10733 | (try_crossjump_bb): Likewise. | |
10734 | (try_optimize_cfg): Likewise. | |
10735 | (merge_seq_blocks): Likewise. | |
10736 | * cfgexpand.c (expand_gimple_tailcall): Likewise. | |
10737 | (expand_gimple_basic_block): Likewise. | |
10738 | (construct_init_block): Likewise. | |
10739 | (construct_exit_block): Likewise. | |
10740 | * cfghooks.c (verify_flow_info): Likewise. | |
10741 | (dump_bb): Likewise. | |
10742 | (delete_basic_block): Likewise. | |
10743 | (split_edge): Likewise. | |
10744 | (merge_blocks): Likewise. | |
10745 | (make_forwarder_block): Likewise. | |
10746 | (tidy_fallthru_edges): Likewise. | |
10747 | (can_duplicate_block_p): Likewise. | |
10748 | (duplicate_block): Likewise. | |
10749 | * cfglayout.c (fixup_reorder_chain): Likewise. | |
10750 | (fixup_fallthru_exit_predecessor): Likewise. | |
10751 | (can_copy_bbs_p): Likewise. | |
10752 | (copy_bbs): Likewise. | |
10753 | * cfgloop.c (flow_loops_cfg_dump): Likewise. | |
10754 | (flow_loop_entry_edges_find): Likewise. | |
10755 | (flow_loop_exit_edges_find): Likewise. | |
10756 | (flow_loop_nodes_find): Likewise. | |
10757 | (mark_single_exit_loops): Likewise. | |
10758 | (flow_loop_pre_header_scan): Likewise. | |
10759 | (flow_loop_pre_header_find): Likewise. | |
10760 | (update_latch_info): Likewise. | |
10761 | (canonicalize_loop_headers): Likewise. | |
10762 | (flow_loops_find): Likewise. | |
10763 | (get_loop_body_in_bfs_order): Likewise. | |
10764 | (get_loop_exit_edges): Likewise. | |
10765 | (num_loop_branches): Likewise. | |
10766 | (verify_loop_structure): Likewise. | |
10767 | (loop_latch_edge): Likewise. | |
10768 | (loop_preheader_edge): Likewise. | |
10769 | * cfgloopanal.c (mark_irreducible_loops): Likewise. | |
10770 | (expected_loop_iterations): Likewise. | |
10771 | * cfgloopmanip.c (remove_bbs): Likewise. | |
10772 | (fix_bb_placement): Likewise. | |
10773 | (fix_irreducible_loops): Likewise. | |
10774 | (remove_path): Likewise. | |
10775 | (scale_bbs_frequencies): Likewise. | |
10776 | (loopify): Likewise. | |
10777 | (unloop): Likewise. | |
10778 | (fix_loop_placement): Likewise. | |
10779 | (loop_delete_branch_edge): Likewise. | |
10780 | (duplicate_loop_to_header_edge): Likewise. | |
10781 | (mfb_keep_just): Likewise. | |
10782 | (create_preheader): Likewise. | |
10783 | (force_single_succ_latches): Likewise. | |
10784 | (loop_split_edge_with): Likewise. | |
10785 | (create_loop_notes): Likewise. | |
10786 | * cfgrtl.c (rtl_split_block): Likewise. | |
10787 | (rtl_merge_blocks): Likewise. | |
10788 | (rtl_can_merge_blocks): Likewise. | |
10789 | (try_redirect_by_replacing_jump): Likewise. | |
10790 | (force_nonfallthru_and_redirect): Likewise. | |
10791 | (rtl_tidy_fallthru_edge): Likewise. | |
10792 | (commit_one_edge_insertion): Likewise. | |
10793 | (commit_edge_insertions): Likewise. | |
10794 | (commit_edge_insertions_watch_calls): Likewise. | |
10795 | (rtl_verify_flow_info_1): Likewise. | |
10796 | (rtl_verify_flow_info): Likewise. | |
10797 | (purge_dead_edges): Likewise. | |
10798 | (cfg_layout_redirect_edge_and_branch): Likewise. | |
10799 | (cfg_layout_can_merge_blocks_p): Likewise. | |
10800 | (rtl_flow_call_edges_add): Likewise. | |
10801 | * cse.c (cse_cc_succs): Likewise. | |
10802 | * df.c (hybrid_search): Likewise. | |
10803 | * dominance.c (calc_dfs_tree_nonrec): Likewise. | |
10804 | (calc_dfs_tree): Likewise. | |
10805 | (calc_idoms): Likewise. | |
10806 | (recount_dominator): Likewise. | |
10807 | * domwalk.c (walk_dominator_tree): Likewise. | |
10808 | * except.c (emit_to_new_bb_before): Likewise. | |
10809 | (connect_post_landing_pads): Likewise. | |
10810 | (sjlj_emit_function_enter): Likewise. | |
10811 | (sjlj_emit_function_exit): Likewise. | |
10812 | (finish_eh_generation): Likewise. | |
10813 | * final.c (compute_alignments): Likewise. | |
10814 | * flow.c (calculate_global_regs_live): Likewise. | |
10815 | (initialize_uninitialized_subregs): Likewise. | |
10816 | (init_propagate_block_info): Likewise. | |
10817 | * function.c (thread_prologue_and_epilogue_insns): Likewise. | |
10818 | * gcse.c (find_implicit_sets): Likewise. | |
10819 | (bypass_block): Likewise. | |
10820 | (bypass_conditional_jumps): Likewise. | |
10821 | (compute_pre_data): Likewise. | |
10822 | (insert_insn_end_bb): Likewise. | |
10823 | (insert_store): Likewise. | |
10824 | (remove_reachable_equiv_notes): Likewise. | |
10825 | * global.c (global_conflicts): Likewise. | |
10826 | (calculate_reg_pav): Likewise. | |
10827 | * graph.c (print_rtl_graph_with_bb): Likewise. | |
10828 | * ifcvt.c (mark_loop_exit_edges): Likewise. | |
10829 | (merge_if_block): Likewise. | |
10830 | (find_if_header): Likewise. | |
10831 | (block_jumps_and_fallthru_p): Likewise. | |
10832 | (find_if_block): Likewise. | |
10833 | (find_cond_trap): Likewise. | |
10834 | (block_has_only_trap): Likewise. | |
10835 | (find_if_case1): Likewise. | |
10836 | (find_if_case_2): Likewise. | |
10837 | * lambda-code.c (lambda_loopnest_to_gcc_loopnest): Likewise. | |
10838 | (perfect_nestify): Likewise. | |
10839 | * lcm.c (compute_antinout_edge): Likewise. | |
10840 | (compute_laterin): Likewise. | |
10841 | (compute_available): Likewise. | |
10842 | (compute_nearerout): Likewise. | |
10843 | * loop-doloop.c (doloop_modify): Likewise. | |
10844 | * loop-init.c (loop_optimizer_init): Likewise. | |
10845 | * loop-invariant.c (find_exits): Likewise. | |
10846 | * loop-iv.c (simplify_using_initial_values): Likewise. | |
10847 | (check_simple_exit): Likewise. | |
10848 | (find_simple_exit): Likewise. | |
10849 | * loop-unroll.c (peel_loop_completely): Likewise. | |
10850 | (unroll_loop_constant_iterations): Likewise. | |
10851 | (unroll_loop_runtime_iterations): Likewise. | |
10852 | * loop-unswitch.c (may_unswitch_on): Likewise. | |
10853 | (unswitch_loop): Likewise. | |
10854 | * modulo-sched.c (generate_prolog_epilog): Likewise. | |
10855 | (sms_schedule): Likewise. | |
10856 | * postreload-gcse.c (eliminate_partially_redundant_load): | |
10857 | Likewise. | |
10858 | * predict.c (can_predict_insn_p): Likewise. | |
10859 | (set_even_probabilities): Likewise. | |
10860 | (combine_predictions_for_bb): Likewise. | |
10861 | (predict_loops): Likewise. | |
10862 | (estimate_probability): Likewise. | |
10863 | (tree_predict_by_opcode): Likewise. | |
10864 | (tree_estimate_probability): Likewise. | |
10865 | (last_basic_block_p): Likewise. | |
10866 | (propagate_freq): Likewise. | |
10867 | (estimate_loops_at_level): Likewise. | |
10868 | (estimate_bb_frequencies): Likewise. | |
10869 | * profile.c (instrument_edges): Likewise. | |
10870 | (get_exec_counts): Likewise. | |
10871 | (compute_branch_probabilities): Likewise. | |
10872 | (branch_prob): Likewise. | |
10873 | * ra-build.c (live_in): Likewise. | |
10874 | * ra-rewrite.c (rewrite_program2): Likewise. | |
10875 | * ra.c (reg_alloc): Likewise. | |
10876 | * reg-stack.c (reg_to_stack): Likewise. | |
10877 | (convert_regs_entry): Likewise. | |
10878 | (compensate_edge): Likewise. | |
10879 | (convert_regs_1): Likewise, | |
10880 | (convert_regs_2): Likewise. | |
10881 | (convert_regs): Likewise. | |
10882 | * regrename.c (copyprop_hardreg_forward): Likewise. | |
10883 | * reload1.c (fixup_abnormal_edges): Likewise. | |
10884 | * sbitmap.c (sbitmap_intersection_of_succs): Likewise. | |
10885 | (sbitmap_insersection_of_preds): Likewise. | |
10886 | (sbitmap_union_of_succs): Likewise. | |
10887 | (sbitmap_union_of_preds): Likewise. | |
10888 | * sched-ebb.c (compute_jump_reg_dependencies): Likewise. | |
10889 | (fix_basic_block_boundaries): Likewise. | |
10890 | (sched_ebbs): Likewise. | |
10891 | * sched-rgn.c (build_control_flow): Likewise. | |
10892 | (find_rgns): Likewise. | |
10893 | * tracer.c (find_best_successor): Likewise. | |
10894 | (find_best_predecessor): Likewise. | |
10895 | (tail_duplicate): Likewise. | |
10896 | * tree-cfg.c (make_edges): Likewise. | |
10897 | (make_ctrl_stmt_edges): Likewise. | |
10898 | (make_goto_expr_edges): Likewise. | |
10899 | (tree_can_merge_blocks_p): Likewise. | |
10900 | (tree_merge_blocks): Likewise. | |
10901 | (cfg_remove_useless_stmts_bb): Likewise. | |
10902 | (remove_phi_nodes_and_edges_for_unreachable_block): Likewise. | |
10903 | (tree_block_forwards_to): Likewise. | |
10904 | (cleanup_control_expr_graph): Likewise. | |
10905 | (find_taken_edge): Likewise. | |
10906 | (dump_cfg_stats): Likewise. | |
10907 | (tree_cfg2vcg): Likewise. | |
10908 | (disband_implicit_edges): Likewise. | |
10909 | (tree_find_edge_insert_loc): Likewise. | |
10910 | (bsi_commit_edge_inserts): Likewise. | |
10911 | (tree_split_edge): Likewise. | |
10912 | (tree_verify_flow_info): Likewise. | |
10913 | (tree_make_forwarder_block): Likewise. | |
10914 | (tree_forwarder_block_p): Likewise. | |
10915 | (thread_jumps): Likewise. | |
10916 | (tree_try_redirect_by_replacing_jump): Likewise. | |
10917 | (tree_split_block): Likewise. | |
10918 | (add_phi_args_after_copy_bb): Likewise. | |
10919 | (rewrite_to_new_ssa_names_bb): Likewise. | |
10920 | (dump_function_to_file): Likewise. | |
10921 | (print_pred_bbs): Likewise. | |
10922 | (print_loop): Likewise. | |
10923 | (tree_flow_call_edges_add): Likewise. | |
10924 | (split_critical_edges): Likewise. | |
10925 | (execute_warn_function_return): Likewise. | |
10926 | (extract_true_false_edges_from_block): Likewise. | |
10927 | * tree-if-conv.c (tree_if_conversion): Likewise. | |
10928 | (if_convertable_bb_p): Likewise. | |
10929 | (find_phi_replacement_condition): Likewise. | |
10930 | (combine_blocks): Likewise. | |
10931 | * tree-into-ssa.c (compute_global_livein): Likewise. | |
10932 | (ssa_mark_phi_uses): Likewise. | |
10933 | (ssa_rewrite_initialize_block): Likewise. | |
10934 | (rewrite_add_phi_arguments): Likewise. | |
10935 | (ssa_rewrite_phi_arguments): Likewise. | |
10936 | (insert_phi_nodes_for): Likewise. | |
10937 | (rewrite_into_ssa): Likewise. | |
10938 | (rewrite_ssa_into_ssa): Likewise. | |
10939 | * tree-mudflap.c (mf_build_check_statement_for): Likewise. | |
10940 | * tree-outof-ssa.c (coalesce_abnormal_edges): Likewise. | |
10941 | (rewrite_trees): Likewise. | |
10942 | * tree-pretty-print.c (dump_bb_header): Likewise. | |
10943 | (dump_implicit_edges): Likewise. | |
10944 | * tree-sra.c (insert_edge_copies): Likewise. | |
10945 | (find_obviously_necessary_stmts): Likewise. | |
10946 | (remove_data_stmt): Likewise. | |
10947 | * tree-ssa-dom.c (thread_across_edge): Likewise. | |
10948 | (dom_opt_finalize_block): Likewise. | |
10949 | (single_incoming_edge_ignoring_loop_edges): Likewise. | |
10950 | (record_equivalences_from_incoming_edges): Likewise. | |
10951 | (cprop_into_successor_phis): Likewise. | |
10952 | * tree-ssa-live.c (live_worklist): Likewise. | |
10953 | (calculate_live_on_entry): Likewise. | |
10954 | (calculate_live_on_exit): Likewise. | |
10955 | * tree-ssa-loop-ch.c (should_duplicate_loop_header_p): Likewise. | |
10956 | (copy_loop_headers): Likewise. | |
10957 | * tree-ssa-loop-im.c (loop_commit_inserts): Likewise. | |
10958 | (fill_always_executed_in): Likewise. | |
10959 | * tree-ssa-loop-ivcanon.c (create_canonical_iv): Likewise. | |
10960 | * tree-ssa-loop-ivopts.c (find_interesting_uses): Likewise. | |
10961 | (compute_phi_arg_on_exit): Likewise. | |
10962 | * tree-ssa-loop-manip.c (add_exit_phis_edge): Likewise. | |
10963 | (get_loops_exit): Likewise. | |
10964 | (split_loop_exit_edge): Likewise. | |
10965 | (ip_normal_pos): Likewise. | |
10966 | * tree-ssa-loop-niter.c (simplify_using_initial_conditions): | |
10967 | Likewise. | |
10968 | * tree-ssa-phiopt.c (candidate_bb_for_phi_optimization): Likewise. | |
10969 | (replace_phi_with_stmt): Likewise. | |
10970 | (value_replacement): Likewise. | |
10971 | * tree-ssa-pre.c (compute_antic_aux): Likewise. | |
10972 | (insert_aux): Likewise. | |
10973 | (init_pre): Likewise. | |
10974 | * tree-ssa-propagate.c (simulate_stmt): Likewise. | |
10975 | (simulate_block): Likewise. | |
10976 | (ssa_prop_init): Likewise. | |
10977 | * tree-ssa-threadupdate.c (thread_block): Likewise. | |
10978 | (create_block_for_threading): Likewise. | |
10979 | (remove_last_stmt_and_useless_edges): Likewise. | |
10980 | * tree-ssa.c (verify_phi_args): Likewise. | |
10981 | (verify_ssa): Likewise. | |
10982 | * tree_tailcall.c (independent_of_stmt_p): Likewise. | |
10983 | (find_tail_calls): Likewise. | |
10984 | (eliminate_tail_call): Likewise. | |
10985 | (tree_optimize_tail_calls_1): Likewise. | |
10986 | * tree-vectorizer.c (vect_transform_loop): Likewise. | |
10987 | * var-tracking.c (prologue_stack_adjust): Likewise. | |
10988 | (vt_stack_adjustments): Likewise. | |
10989 | (vt_find_locations): Likewise. | |
10990 | * config/frv/frv.c (frv_ifcvt_modify_tests): Likewise. | |
10991 | * config/i386/i386.c (ix86_pad_returns): Likewise. | |
10992 | * config/ia64/ia64.c (ia64_expand_prologue): Likewise. | |
10993 | * config/rs6000/rs6000.c (rs6000_emit_prologue): Likewise. | |
10994 | ||
10995 | 2004-09-28 Eric Botcazou <ebotcazou@libertysurf.fr> | |
10996 | ||
10997 | PR target/16532 | |
10998 | * config/sparc/sparc.c (struct machine_function): New field | |
10999 | 'leaf_function_p' and 'prologue_data_valid_p'. | |
11000 | (sparc_leaf_function_p, sparc_prologue_data_valid_p): New macro | |
11001 | to conveniently access the above fields. | |
11002 | (TARGET_LATE_RTL_PROLOGUE_EPILOGUE): Delete. | |
11003 | (eligible_for_return_delay): Use 'sparc_leaf_function_p' instead | |
11004 | of the generic flavor 'current_function_uses_only_leaf_regs'. | |
11005 | (eligible_for_sibcall_delay): Likewise. | |
11006 | (sparc_expand_prologue): Compute 'sparc_leaf_function_p' and set | |
11007 | 'sparc_prologue_data_valid_p'. Use 'sparc_leaf_function_p'. | |
11008 | (sparc_asm_function_prologue): Add sanity check for the assumption | |
11009 | made in 'sparc_expand_prologue'. Use 'sparc_leaf_function_p'. | |
11010 | (sparc_can_use_return_insn_p): New function. | |
11011 | (sparc_expand_epilogue): Use 'sparc_leaf_function_p'. | |
11012 | (output_restore): Likewise. | |
11013 | (output_sibcall): Likewise. | |
11014 | (sparc_output_mi_thunk): Likewise. | |
11015 | * config/sparc/sparc-protos.h (sparc_can_use_return_insn_p): Declare. | |
11016 | * config/sparc/sparc.md (return): New expander. | |
11017 | ||
11018 | * config/sparc/sparc.h (INITIAL_ELIMINATION_OFFSET): Minor tweak. | |
11019 | ||
11020 | 2004-09-27 Mark Mitchell <mark@codesourcery.com> | |
11021 | ||
11022 | PR c++/17642 | |
11023 | * stor-layout.c (layout_decl): Use fold_convert, not convert. | |
11024 | (bit_from_pos): Likewise. | |
11025 | (byte_from_pos): Likewise. | |
11026 | (pos_from_bit): Likewise. | |
11027 | (normalize_offset): Likewise. | |
11028 | (place_field): Likewise. | |
11029 | (finalize_type_size): Likewise. | |
11030 | (layout_type): Likewise. | |
11031 | * tree.c (build_index_type): Likewise. | |
11032 | ||
11033 | 2004-09-27 Devang Patel <dpatel@apple.com> | |
11034 | ||
11035 | * expr.c (expand_expr_real_1): Handle VEC_COND_EXPR. | |
11036 | * genopinit.c (optabs): New entry for vcond_gen_code and | |
11037 | vcondu_gen_code. | |
11038 | * optabs.c (vcond_gen_code, vcondu_gen_code): New optabs. | |
11039 | (get_rtx_code): New function. | |
11040 | (vector_compare_rtx): New function. | |
11041 | (init_optabs): Initialize vcond_gen_code and vcondu_gen_code. | |
11042 | (expand_vec_cond_expr_p): New function. | |
11043 | (expand_vec_cond_expr): New function. | |
11044 | (get_vcond_icode): New function. | |
11045 | * optabs.h (expand_vec_cond_expr, expand_vec_cond_expr_p): New externs. | |
11046 | (vcond_gen_code, vcondu_gen_code): Same. | |
11047 | ||
11048 | 2004-09-27 Kelley Cook <kcook@gcc.gnu.org> | |
11049 | ||
11050 | * Makefile.in (STAGESTUFF): Split into ... | |
11051 | (STAGECOPYSTUFF, STAGEMOVESTUFF): ... these. | |
11052 | (mostlyclean): Update. | |
11053 | (stage1-start, stage2-start, stage3-start, stage4-start, | |
11054 | stageprofile-start, stagefeedback-start): Copy the STAGECOPYSTUFF. | |
11055 | Move the STAGEMOVESTUFF. | |
11056 | ||
11057 | 2004-09-27 Eric Botcazou <ebotcazou@libertysurf.fr> | |
11058 | ||
11059 | * system.h (getpagesize): Return 'int' instead of 'long'. | |
11060 | ||
11061 | 2004-09-27 Michael Matz <matz@suse.de> | |
11062 | ||
11063 | PR bootstrap/17698 | |
11064 | PR bootstrap/17702 | |
11065 | * bitmap.h (bmp_iter_single_init, bmp_iter_and_not_init, | |
11066 | bmp_iter_and_init): Shift by bit_in_word. | |
11067 | ||
11068 | 2004-09-27 Kelley Cook <kcook@gcc.gnu.org> | |
11069 | ||
11070 | * aclocal.m4: Quote m4_includes. Include ../config/gcc-lib-path.m4. | |
11071 | * configure.ac: Don't sinclude it here. | |
11072 | * configure: Regenerate. | |
11073 | ||
11074 | 2004-09-27 Dorit Naishlos <dorit@il.ibm.com> | |
11075 | ||
11076 | * config/rs6000/rs6000.c (rs6000_legitimate_address, print_operand): | |
11077 | Handle AND pattern | |
11078 | ||
11079 | 2004-09-27 Joseph S. Myers <jsm@polyomino.org.uk> | |
11080 | ||
11081 | PR c/13804 | |
11082 | * c-typeck.c (build_component_ref): Name type involved in | |
11083 | diagnostic for structure or union without a member of the given | |
11084 | name. | |
11085 | ||
11086 | 2004-09-27 DJ Delorie <dj@redhat.com> | |
11087 | ||
11088 | * config/stormy16/stormy16.c (xstormy16_asm_output_aligned_common): | |
11089 | .comm alignment is bytes, not bits. | |
11090 | ||
11091 | 2004-09-27 Devang Patel <dpatel@apple.com> | |
11092 | ||
11093 | * tree-pretty-print.c (dump_generic_node): Print VEC_COND_EXPR. | |
11094 | (print_call_name): Do not print VEC_COND_EXPR. | |
11095 | ||
11096 | 2004-09-27 Devang Patel <dpatel@apple.com> | |
11097 | ||
11098 | * tree-pretty-print.c (dump_generic_node): Print VEC_COND_EXPR. | |
11099 | ||
11100 | 2004-09-27 Jan Hubicka <jh@suse.cz> | |
11101 | ||
11102 | * i386.c (athlon_cost, k8_cost): Set BRANCH_COST to 5. | |
11103 | ||
11104 | 2004-09-27 Kazu Hirata <kazu@cs.umass.edu> | |
11105 | ||
11106 | * bitmap.h: Fix a comment typo. | |
11107 | ||
11108 | 2004-09-27 Aaron W. LaFramboise <aaronraolete36@aaronwl.com> | |
11109 | ||
11110 | * libgcc2.c (getpagesize): Change type of return value to int. | |
11111 | ||
11112 | 2004-09-26 Matt Austern <austern@apple.com> | |
11113 | ||
11114 | * ggc-page.c (GGC_QUIRE_SIZE): Bump up from 16 to 256 if we're | |
11115 | using mmap. | |
11116 | ||
11117 | 2004-09-26 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> | |
11118 | ||
11119 | * bitmap.h (EXECUTE_IF_SET_IN_BITMAP, EXECUTE_IF_AND_COMPL_IN_BITMAP, | |
11120 | EXECUTE_IF_AND_IN_BITMAP): Changed to iterator style. | |
11121 | (bitmap_iterator): New type. | |
11122 | (bmp_iter_common_next_1, bmp_iter_single_next_1, bmp_iter_single_init, | |
11123 | bmp_iter_end_p, bmp_iter_single_next, bmp_iter_and_not_next_1, | |
11124 | bmp_iter_and_not_init, bmp_iter_and_not_next, bmp_iter_and_next_1, | |
11125 | bmp_iter_and_init, bmp_iter_and_next): New functions. | |
11126 | * basic-block.h (EXECUTE_IF_SET_IN_REG_SET, | |
11127 | EXECUTE_IF_AND_COMPL_IN_REG_SET, EXECUTE_IF_AND_IN_REG_SET): Changed to | |
11128 | use iterator-style EXECUTE_IF_IN_BITMAP macros. | |
11129 | * bitmap.c (bitmap_print): Ditto. | |
11130 | * bt-load.c (clear_btr_from_live_range, add_btr_to_live_range, | |
11131 | btr_def_live_range): Ditto. | |
11132 | * cfganal.c (compute_dominance_frontiers_1) Ditto. | |
11133 | * cgraphunit.c (convert_UIDs_in_bitmap, cgraph_characterize_statics): | |
11134 | Ditto. | |
11135 | * ddg.c (build_inter_loop_deps): Ditto. | |
11136 | * df.c (FOR_EACH_BB_IN_BITMAP, df_bb_reg_info_compute, df_refs_update): | |
11137 | Ditto. | |
11138 | * except.c (remove_eh_handler): Ditto. | |
11139 | * flow.c (reg_set_to_hard_reg_set): Ditto. | |
11140 | * gcse.c (clear_modify_mem_tables): Ditto. | |
11141 | * global.c (build_insn_chain): Ditto. | |
11142 | * ifcvt.c (dead_or_predicable): Ditto. | |
11143 | * loop-invariant.c (get_inv_cost, set_move_mark, move_invariant_reg): | |
11144 | Ditto. | |
11145 | * ra-build.c (livethrough_conflicts_bb, conflicts_between_webs): Ditto. | |
11146 | * ra-rewrite.c (reloads_to_loads, rewrite_program2, | |
11147 | detect_web_parts_to_rebuild, delete_useless_defs, actual_spill): Ditto. | |
11148 | * tree-cfg.c (allocate_ssa_names, tree_duplicate_sese_region, | |
11149 | tree_purge_all_dead_eh_edges): Ditto. | |
11150 | * tree-into-ssa.c (compute_global_livein, insert_phi_nodes, | |
11151 | insert_phi_nodes_for, debug_def_blocks_r, invalidate_name_tags, | |
11152 | rewrite_ssa_into_ssa): Ditto. | |
11153 | * tree-outof-ssa.c (find_replaceable_exprs): Ditto. | |
11154 | * tree-sra.c (scan_function, decide_instantiations, scalarize_parms): | |
11155 | Ditto. | |
11156 | * tree-ssa-alias.c (init_alias_info, compute_points_to_and_addr_escape, | |
11157 | compute_flow_sensitive_aliasing, maybe_create_global_var, | |
11158 | dump_points_to_info_for): Ditto. | |
11159 | * tree-ssa-dce.c (EXECUTE_IF_CONTROL_DEPENDENT): Ditto. | |
11160 | * tree-ssa-dse.c (dse_finalize_block): Ditto. | |
11161 | * tree-ssa-live.c (live_worklist, calculate_live_on_entry, | |
11162 | calculate_live_on_exit, build_tree_conflict_graph, dump_live_info): | |
11163 | Ditto. | |
11164 | * tree-ssa-loop-ivopts.c (find_induction_variables, | |
11165 | find_interesting_uses, add_old_ivs_candidates, alloc_use_cost_map, | |
11166 | determine_use_iv_costs, determine_set_costs, find_best_candidate, | |
11167 | set_cost_up_to, create_new_ivs, remove_unused_ivs, free_loop_data): | |
11168 | Ditto. | |
11169 | * tree-ssa-loop-manip.c (add_exit_phis_var, add_exit_phis): Ditto. | |
11170 | * tree-ssa-operands.c (get_asm_expr_operands, add_call_clobber_ops, | |
11171 | add_call_read_ops): Ditto. | |
11172 | * tree-ssa-pre.c (bitmap_print_value_set, insert_aux): Ditto. | |
11173 | ||
11174 | 2004-09-26 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
11175 | ||
11176 | * pa.c (print_operand): Use non-trapping completers for UNLE, UNLT, | |
11177 | UNGE, UNGT, UNEQ, UNORDERED and ORDERED comparisons. | |
11178 | ||
11179 | 2004-09-26 Ulrich Weigand <uweigand@de.ibm.com> | |
11180 | ||
11181 | * builtins.c (expand_builtin_memcmp): Adjust MEM_SIZE to | |
11182 | reflect size of memory regions being compared. | |
11183 | ||
11184 | 2004-09-26 Ulrich Weigand <uweigand@de.ibm.com> | |
11185 | ||
11186 | * builtins.c (get_memory_rtx): Set mem attributes for non-ADDR_EXPR | |
11187 | expressions. Always clear MEM_SIZE and alias set. | |
11188 | ||
11189 | 2004-09-26 Roger Sayle <roger@eyesopen.com> | |
11190 | Giovanni Bajo <giovannibajo@gcc.gnu.org> | |
11191 | ||
11192 | PR middle-end/17112 | |
11193 | * stor-layout.c (compute_record_mode): For records with a single | |
11194 | field, only use the field's mode if its size matches what we'd | |
11195 | have choosen for the record ourselves. This forces the use of | |
11196 | BLKmode for packed records that don't completely fill a mode. | |
11197 | ||
11198 | 2004-09-26 Roger Sayle <roger@eyesopen.com> | |
11199 | ||
11200 | PR middle-end/17151 | |
11201 | * combine.c (force_to_mode): Remove dubious early return test that | |
11202 | inhibits further optimization. | |
11203 | ||
11204 | 2004-09-26 Kazu Hirata <kazu@cs.umass.edu> | |
11205 | ||
11206 | * profile.c: Fix a comment typo. | |
11207 | ||
11208 | 2004-09-26 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> | |
11209 | ||
11210 | PR bootstrap/17591 | |
11211 | * tree-ssa-loop-im.c (for_each_index): Call callback for component_refs | |
11212 | with varying offset. | |
11213 | * tree-ssa-loop-ivopts.c (abnormal_ssa_name_p): New function. | |
11214 | (idx_contains_abnormal_ssa_name_p): Scan step and lower bound for | |
11215 | ARRAY_REFS. | |
11216 | (expr_invariant_in_loop_p): New function. | |
11217 | (idx_find_step): Handle step and lower bound for ARRAY_REFs. Handle | |
11218 | component_ref_field_offset for COMPONENT_REFs. Do not allow | |
11219 | ALIGN_INDIRECT_REFs and MISALIGNED_INDIRECT_REFs. | |
11220 | (add_address_candidates): Do not handle ALIGN_INDIRECT_REFs and | |
11221 | MISALIGNED_INDIRECT_REFs. | |
11222 | (idx_remove_ssa_names): Handle step and lower bound for ARRAY_REFs. | |
11223 | (rewrite_address_base): Do not handle ALIGN_INDIRECT_REFs and | |
11224 | MISALIGNED_INDIRECT_REFs. | |
11225 | ||
11226 | 2004-09-26 Joseph S. Myers <jsm@polyomino.org.uk> | |
11227 | ||
11228 | PR c/11459 | |
11229 | * gcc.c (cpp_options, cc1_options): Preserve relative order of | |
11230 | -std and -ansi options. | |
11231 | ||
11232 | 2004-09-26 Jan Hubicka <jh@suse.cz> | |
11233 | ||
11234 | * dwarf2out.c (dwarf2out_finish): Set parent to comp_unit_die | |
11235 | for nested functions whose proper parent has not been output. | |
11236 | ||
11237 | * profile.c (compute_branch_probabilities): Use REG_BR_PROB notes | |
11238 | when re-constructing profile previously invalidated by loop. | |
11239 | ||
11240 | 2004-09-25 Dale Johannesen <dalej@apple.com> | |
11241 | ||
e8366202 MS |
11242 | * tree-gimple.c: Move GIMPLE definition... |
11243 | * doc/tree-ssa.texi: here. | |
7a4515d7 SB |
11244 | |
11245 | 2004-09-25 Kazu Hirata <kazu@cs.umass.edu> | |
11246 | ||
11247 | * tree-vectorizer.c: Fix a comment typo. | |
11248 | ||
11249 | 2004-09-25 Kazu Hirata <kazu@cs.umass.edu> | |
11250 | ||
11251 | * c-typeck.c, defaults.h, dwarf.h, dwarf2out.c, fold-const.c, | |
11252 | gthr-dce.h, gthr-posix.h, gthr-solaris.h, gthr-win32.h, | |
11253 | lambda-code.c, lambda-mat.c, libgcc2.c, stmt.c, | |
11254 | tree-ssa-pre.c, tree-vn.c, tree.h: Fix comment formatting. | |
11255 | ||
11256 | 2004-09-25 Kazu Hirata <kazu@cs.umass.edu> | |
11257 | ||
11258 | * tree-ssa-loop-unswitch.c: Fix a comment typo. | |
11259 | ||
11260 | 2004-09-25 Kazu Hirata <kazu@cs.umass.edu> | |
11261 | ||
11262 | * doc/passes.texi: Fix a typo. | |
11263 | ||
11264 | 2004-09-25 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> | |
11265 | ||
11266 | * tree-optimize.c (init_tree_optimization_passes): Add | |
11267 | pass_record_bounds. | |
11268 | * tree-pass.h (pass_record_bounds): Declare. | |
11269 | * tree-ssa-loop.c (tree_ssa_loop_bounds, pass_record_bounds): | |
11270 | New pass. | |
11271 | ||
11272 | 2004-09-25 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> | |
11273 | ||
11274 | PR tree-optimization/17474 | |
11275 | * tree-ssa-ccp.c (maybe_fold_offset_to_component_ref): Determine | |
11276 | offset of the field correctly when DECL_FIELD_BIT_OFFSET != 0. | |
11277 | ||
11278 | 2004-09-25 Jan Hubicka <jh@suse.cz> | |
11279 | ||
11280 | * predict.c (counts_to_freqs): Make global. | |
11281 | * predict.h (counts_to_freqa): Declare. | |
11282 | * profile.c (compute_branch_probabilities): Compute frequencies | |
11283 | * tree-profile.c (do_tree_profiling): Refine conditional on when | |
11284 | tree profiling pass is needed. | |
11285 | ||
11286 | * passes.c (rest_of_handle_cfg): Disable const/pure function | |
11287 | detection when doing tree based profiling. | |
11288 | ||
11289 | * tree-inline.c (expand_call_inline): Fix incorrectly reversed | |
11290 | conditional. | |
11291 | ||
11292 | 2004-09-25 Richard Sandiford <rsandifo@redhat.com> | |
11293 | ||
11294 | * config/mips/mips.h (struct mips_args): Clarify comments. | |
11295 | * config/mips/mips.c (struct mips_arg_info): Likewise. | |
11296 | (mips_arg_info): Don't allow fpr_p to affect the register or | |
11297 | stack alignment. Remove o64 silliness. | |
11298 | (function_arg): Deal with the o32 float,float case specially. | |
11299 | ||
11300 | 2004-09-25 Richard Sandiford <rsandifo@redhat.com> | |
11301 | ||
11302 | * config/mips/mips.md (loadx, storex): Define for V2SF. | |
11303 | ||
11304 | 2004-09-25 Ulrich Weigand <uweigand@de.ibm.com> | |
11305 | ||
11306 | * config/s390/s390-protos.h (s390_back_chain_rtx): Add prototype. | |
11307 | * config/s390/s390.c (s390_back_chain_rtx): New function. | |
11308 | * config/s390/s390.md ("allocate_stack"): Use s390_back_chain_rtx. | |
11309 | Call anti_adjust_stack. | |
11310 | ("restore_stack_block"): Use s390_back_chain_rtx. Enable pattern | |
11311 | only if compiling with back chain. | |
11312 | ("save_stack_nonlocal", "restore_stack_nonlocal"): Save/restore | |
11313 | back chain only if back chain enabled. Use s390_back_chain_rtx. | |
11314 | ||
11315 | 2004-09-25 Joseph S. Myers <jsm@polyomino.org.uk> | |
11316 | ||
11317 | * doc/trouble.texi: Remove obsolete information. Update | |
11318 | information on how to regenerate fixincluded headers. | |
11319 | ||
11320 | 2004-09-25 Joseph S. Myers <jsm@polyomino.org.uk> | |
11321 | ||
11322 | PR c/12951 | |
11323 | * doc/invoke.texi: Document that | |
11324 | -Wno-error-implicit-function-declaration is not accepted. | |
11325 | ||
11326 | 2004-09-24 Richard Henderson <rth@redhat.com> | |
11327 | ||
11328 | * config/alpha/alpha.h (UNITS_PER_SIMD_WORD): New. | |
11329 | * config/alpha/alpha.c (alpha_vector_mode_supported_p): Don't depend | |
11330 | on TARGET_MAX. | |
11331 | (alpha_expand_mov): Allow unaligned vectors. | |
11332 | (alpha_expand_unaligned_store): Use CONST0_RTX. | |
11333 | (TARGET_VECTORIZE_MISALIGNED_MEM_OK): New. | |
11334 | ||
11335 | 2004-09-24 Jeff Law <law@redhat.com> | |
11336 | ||
11337 | * tree-ssa-dom.c (dom_opt_finalize_block): Fix violation of strict | |
11338 | aliasing rules. | |
11339 | (simplify_cond_and_lookup_avail_expr): Likewise. | |
11340 | ||
11341 | 2004-09-24 Joseph S. Myers <jsm@polyomino.org.uk> | |
11342 | ||
11343 | PR c/12802 | |
11344 | * doc/extend.texi (Unnamed Fields): Remove "." from end of long | |
11345 | title. Document interaction with -fms-extensions. | |
11346 | * doc/invoke.texi (-fms-extensions): Refer to Unnamed Fields | |
11347 | section. | |
11348 | ||
11349 | 2004-09-24 Joseph S. Myers <jsm@polyomino.org.uk> | |
11350 | ||
11351 | PR c/12713 | |
11352 | * doc/extend.texi: Document interaction of attribute noreturn and | |
11353 | longjmp. | |
11354 | ||
11355 | 2004-09-24 Richard Henderson <rth@redhat.com> | |
11356 | ||
11357 | PR rtl-opt/17503 | |
11358 | * regclass.c (subregs_of_mode): Turn into an htab. Make static. | |
11359 | (som_hash, som_eq): New. | |
11360 | (init_subregs_of_mode, record_subregs_of_mode): New. | |
11361 | (cannot_change_mode_set_regs): Rewrite for htab implementation. | |
11362 | (invalid_mode_change_p): Likewise. | |
11363 | * combine.c (gen_lowpart_for_combine): Use record_subregs_of_mode. | |
11364 | * flow.c (mark_used_regs): Likewise. | |
11365 | (life_analysis): Use init_subregs_of_mode. | |
11366 | * regs.h (subregs_of_mode): Remove. | |
11367 | * rtl.h (init_subregs_of_mode, record_subregs_of_mode): Declare. | |
11368 | ||
11369 | 2004-09-24 Andrew Pinski <pinskia@physics.uc.edu> | |
11370 | ||
11371 | * tree-ssa-phiopt.c (conditional_replacement): Use the correct | |
11372 | type with the copy of the conditional. | |
11373 | ||
11374 | 2004-09-24 Andrew Pinski <pinskia@physics.uc.edu> | |
11375 | ||
11376 | PR tree-opt/16954 | |
11377 | * tree-ssa-copyrename.c (copy_rename_partition_coalesce): | |
11378 | Prevent renaming if the aliasing sets of the type which the | |
11379 | pointer points to are different. | |
11380 | ||
11381 | 2004-09-24 Joseph S. Myers <jsm@polyomino.org.uk> | |
11382 | ||
11383 | PR c/17188 | |
11384 | * c-decl.c (diagnose_mismatched_decls): Check for duplicate | |
11385 | declarations of enumerators. | |
11386 | (start_struct): Check TYPE_SIZE rather than TYPE_FIELDS to check | |
11387 | for redefinition. Check for nested redefinition. | |
11388 | (finish_struct): Don't check for nested redefinition. | |
11389 | (start_enum): Check for nested redefinition. | |
11390 | ||
11391 | 2004-09-24 Devang Patel <dpatel@apple.com> | |
11392 | ||
11393 | * tree-if-conv.c (tree_if_convert_cond_expr0: Create temp. variable | |
11394 | only when necesssary. | |
11395 | (combine_blocks): Combine loop header and exit block. | |
11396 | ||
11397 | 2004-09-24 Paolo Bonzini <bonzini@gnu.org> | |
11398 | ||
11399 | * hooks.c (hook_tree_tree_bool_null): New. | |
11400 | * hooks.h (hook_tree_tree_bool_null): Declare it. | |
11401 | * target-def.c (TARGET_FOLD_BUILTIN): Point to it. | |
11402 | * targhooks.c (default_fold_builtin): Remove. | |
11403 | * targhooks.h (default_fold_builtin): Remove. | |
11404 | ||
11405 | 2004-09-24 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> | |
11406 | ||
11407 | PR rtl-optimization/17625 | |
11408 | * loop-doloop.c (doloop_modify): Unshare rtl before emitting it. | |
11409 | ||
11410 | 2004-09-24 Andrew Pinski <pinskia@physics.uc.edu> | |
11411 | ||
11412 | PR tree-opt/17624 | |
11413 | * tree-ssa-forwprop.c (record_single_argument_cond_exprs): | |
11414 | Reject if any of the operands occur in an abnormal PHI. | |
11415 | ||
11416 | 2004-09-24 Andreas Schwab <schwab@suse.de> | |
11417 | ||
11418 | * tree-ssa-dom.c (record_range): Fix violation of strict aliasing | |
11419 | rules. | |
11420 | ||
11421 | 2004-09-24 Eric Botcazou <ebotcazou@libertysurf.fr> | |
11422 | ||
11423 | * config.gcc (sparc64-*-solaris2*): Include sparc/sol2-gas.h | |
11424 | if the GNU assembler is used. | |
11425 | (sparc-*-solaris2*): Likewise. | |
11426 | * dbxout.c (NO_DBX_BNSYM_ENSYM): Default to zero. | |
11427 | (dbxout_function_end): Protect N_ENSYM with it. | |
11428 | (dbxout_begin_prologue): Protect N_BNSYM with it. | |
11429 | * doc/tm.texi (NO_DBX_BNSYM_ENSYM): Document it. | |
11430 | * config/sparc/sol2.h (NO_DBX_BNSYM_ENSYM): Define to 1. | |
11431 | * config/sparc/sol2-gas.h: New file. | |
11432 | ||
11433 | 2004-09-23 H.J. Lu <hongjiu.lu@intel.com> | |
11434 | ||
11435 | PR bootstrap/17369 | |
11436 | * Makefile.in (@set_gcc_lib_path@): Added. | |
11437 | ||
11438 | * configure.ac: Include ../config/gcc-lib-path.m4. Use | |
11439 | TL_AC_GNU_MAKE_GCC_LIB_PATH. | |
11440 | * configure: Regenerated. | |
11441 | ||
11442 | 2004-09-24 Joseph S. Myers <jsm@polyomino.org.uk> | |
11443 | ||
11444 | PR c/6980 | |
11445 | * c-typeck.c (build_c_cast): Improve wording of | |
11446 | -Wbad-function-cast diagnostic. | |
11447 | ||
11448 | 2004-09-23 Hans-Peter Nilsson <hp@axis.com> | |
11449 | ||
11450 | PR target/17626 | |
11451 | * config/cris/cris.md (moverside, movemside): Rename variable | |
11452 | "reg" to "otherop". To generate canonical RTX, check that otherop | |
11453 | isn't constant instead of checking that operand 1 is a register. | |
11454 | ||
11455 | 2004-09-23 Jakub Jelinek <jakub@redhat.com> | |
11456 | ||
11457 | * tree-ssa-propagate.c (set_rhs): Fail if EXPR is COMPOUND_EXPR. | |
11458 | ||
11459 | 2004-09-23 Diego Novillo <dnovillo@redhat.com> | |
11460 | Jakub Jelinek <jakub@redhat.com> | |
11461 | ||
11462 | * tree-flow.h (find_new_referenced_vars): Add prototype. | |
11463 | * tree-sra.c (find_new_referenced_vars_1, find_new_referenced_vars): | |
11464 | Move to... | |
11465 | * tree-dfa.c (find_new_referenced_vars_1, find_new_referenced_vars): | |
11466 | ... here. | |
11467 | (mark_new_vars_to_rename): Walk through all operands. | |
11468 | * tree-ssa-ccp.c (convert_to_gimple_builtin): New function. | |
11469 | (execute_fold_all_builtins): Use it. | |
11470 | (pass_fold_builtins): Add TODO_rename_vars to todo_flags_finish. | |
11471 | ||
11472 | 2004-09-23 P.J. Darcy <darcypj@us.ibm.com> | |
11473 | ||
11474 | * gthr-tpf.h: New file. | |
11475 | * config.gcc (s390x-ibm-tpf*): Add thread_file='tpf'. | |
11476 | * gthr.h: Use gthr-tpf.h on TPF OS. | |
11477 | ||
11478 | 2004-09-23 Jeff Law <law@redhat.com> | |
11479 | ||
11480 | * tree-ssa-ccp.c (get_default_value): Use SSA_NAME_VALUE rather | |
11481 | than SSA_NAME_EQUIV and SET_SSA_NAME_EQUIV. | |
e8366202 | 11482 | (substitute_and_fold): Likewise. |
7a4515d7 SB |
11483 | * tree-ssa-dom.c (tree_ssa_dominator_optimize): Remove everything |
11484 | except invariants from SSA_NAME_VALUE. | |
11485 | (thread_across_edge): Use SSA_NAME_VALUE rather than SSA_NAME_EQUIV | |
11486 | and SET_SSA_NAME_EQUIV. | |
11487 | (restore_vars_to_original_value, record_const_or_copy): Likewise. | |
11488 | (record_equivalences_from_phis, record_const_or_copy_1): Likewise. | |
11489 | (record_equality, cprop_into_successor_phis): Likewise. | |
11490 | (record_equivalences_from_stmt, cprop_operand): Likewise. | |
11491 | (lookup_avail_expr): Likewise. | |
11492 | * tree-ssa-pre.c (fini_pre): Remove everything except invariants | |
11493 | from SSA_NAME_VALUE. | |
11494 | * tree.h (SSA_NAME_EQUIV, SET_SSA_NAME_EQUIV): Kill. | |
e8366202 | 11495 | (struct tree_ssa_name): Kill EQUIV field. Remove GGC skip |
7a4515d7 SB |
11496 | annotation from the VALUE_HANDLE field. |
11497 | ||
11498 | 2004-09-21 Fariborz Jahanian <fjahanian@apple.com> | |
11499 | ||
11500 | PR c++/13989 | |
11501 | PR c++/9844 | |
11502 | * tree.c (reconstruct_complex_type): Remove extra "this". | |
11503 | * config/rs6000/rs6000.c (rs6000_handle_altivec_attribute): | |
11504 | Add V4SFmode to case statement. | |
11505 | ||
11506 | 2004-09-23 Joseph S. Myers <jsm@polyomino.org.uk> | |
11507 | ||
11508 | PR c/16833 | |
11509 | * doc/extend.texi, doc/invoke.texi: Document interaction of | |
11510 | -fno-builtin with format checks. Note that built-in functions | |
11511 | have effects beyond generating code that avoids calls to those | |
11512 | functions. | |
11513 | ||
11514 | 2004-09-23 Frank Ch. Eigler <fche@redhat.com> | |
11515 | ||
11516 | PR tree-optimization/17533 | |
11517 | * dominance.c (verify_dominators): Tolerate even more incorrect | |
11518 | dominance data during error message printing. | |
11519 | * tree-mudflap.c (mf_build_check_statement_for): Build basic blocks | |
11520 | and edges more correctly. | |
11521 | ||
11522 | 2004-09-23 Dorit Naishlos <dorit@il.ibm.com> | |
11523 | ||
11524 | * tree.def (ALIGN_INDIRECT_REF, MISALIGNED_INDIRECT_REF): | |
11525 | New tree-codes. | |
11526 | * tree.h (REF_ORIGINAL): Consider ALIGN_INDIRECT_REF and | |
11527 | MISALIGNED_INDIRECT_REF. | |
11528 | * alias.c (get_alias_set, nonoverlapping_memrefs_p): Likewise. | |
11529 | * emit-rtl.c (mem_expr_equal_p, set_mem_attributes_minus_bitpos): | |
11530 | Likewise. | |
11531 | * expr.c (safe_from_p, expand_expr_real_1, rewrite_address_base) | |
11532 | (find_interesting_uses_address): Likewise. | |
11533 | * fold-const.c (non_lvalue, operand_equal_p): Likewise. | |
11534 | (build_fold_addr_expr_with_type): Likewise. | |
11535 | * gimplify.c (gimplify_addr_expr, gimplify_expr): Likewise. | |
11536 | * print-rtl.c (print_mem_expr): Likewise. | |
11537 | * tree-dump.c (dequeue_and_dump): Likewise. | |
11538 | * tree-eh.c (tree_could_trap_p): Likewise. | |
11539 | * tree-gimple.c (is_gimple_addressable, get_base_address): Likewise. | |
11540 | * tree-pretty-print.c (op_prio, op_symbol, dump_generic_node): Likewise. | |
11541 | * tree-ssa-alias.c (find_ptr_dereference, ptr_is_dereferenced_by): | |
11542 | Likewise. | |
11543 | * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise. | |
11544 | * tree-ssa-dom.c (record_equivalences_from_stmt): Likewise. | |
11545 | * tree-ssa-loop-im.c (for_each_index, is_call_clobbered_ref): Likewise. | |
11546 | * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Likewise. | |
11547 | (add_address_candidates, rewrite_address_base): Likewise. | |
11548 | * tree-ssa-operands.c (get_expr_operands, get_indirect_ref_operands): | |
11549 | Likewise. | |
11550 | * tree.c (staticp, build1_stat): Likewise. | |
11551 | ||
11552 | * tree.def (REALIGN_LOAD_EXPR, REALIGN_STORE_EXPR): New tree-codes. | |
11553 | * tree-pretty-print.c (dump_generic_node): Consider REALIGN_LOAD_EXPR. | |
11554 | * tree-ssa-operands.c (get_expr_operands): Likewise. | |
11555 | * expr.c (expand_expr_real_1): Likewise. | |
11556 | ||
11557 | * optabs.h (vec_realign_store_optab, vec_realign_load_optab): New | |
11558 | optabs. | |
11559 | (OTI_vec_realign_store, OTI_vec_realign_load): New optab_index values | |
11560 | for the new optabs. | |
11561 | (expand_ternary_op): New function. | |
11562 | * genopinit.c (optabs): Handle the new optabs. | |
11563 | * optabs.c (optab_for_tree_code): Add cases for the new tree-codes. | |
11564 | (init_optabs): Initialize vec_realign_load_optab. | |
11565 | (expand_ternary_op): New functions. | |
11566 | ||
11567 | * target-def.h (TARGET_VECTORIZE): New member for struct gcc_target. | |
11568 | (TARGET_VECTORIZE_MISALIGNED_MEM_OK): New member for targetm.vectorize. | |
11569 | (TARGET_VECTORIZE_BUILTIN_MASK_FOR_LOAD): Likewise. | |
11570 | (TARGET_VECTORIZE_BUILTIN_MASK_FOR_STORE): Likewise. | |
11571 | * target.h (struct vectorize): New member for struct gcc_target. | |
11572 | (misaligned_mem_ok): New member for targetm.vectorize. | |
11573 | (builtin_mask_for_load): Likewise. | |
11574 | (builtin_mask_for_store): Likewise. | |
11575 | * targethooks.c (default_vect_misaligned_mem_ok): New function. | |
11576 | * targethooks.h (default_vect_misaligned_mem_ok): New function. | |
11577 | ||
11578 | * config/rs6000/altivec.md (build_vector_mask_for_load): New | |
11579 | define_expand. | |
11580 | (vec_realign_load_v4si, vec_realign_load_v4sf, vec_realign_load_v8hi) | |
11581 | (vec_realign_load_v16qi): New define_insn. | |
11582 | * config/rs6000/rs6000.h (ALTIVEC_BUILTIN_MASK_FOR_LOAD): | |
11583 | (ALTIVEC_BUILTIN_MASK_FOR_STORE): New target builtins. | |
11584 | * config/rs6000/rs6000.c (altivec_builtin_mask_for_load): | |
11585 | (altivec_builtin_mask_for_store): New variables. | |
11586 | (rs6000_builtin_mask_for_load): New function. Implements | |
11587 | TARGET_VECTORIZE_BUILTIN_MASK_FOR_LOAD. | |
11588 | (rs6000_builtin_mask_for_store): New function. Implements | |
11589 | TARGET_VECTORIZE_BUILTIN_MASK_FOR_STORE. | |
11590 | (rs6000_expand_builtin): Expand the target builtins | |
11591 | builtin_mask_for_load and builtin_mask_for_store. | |
11592 | (altivec_init_builtins): Initialize the new target builtins. | |
11593 | * config/i386/i386.c (ix86_misaligned_mem_ok): New function. | |
11594 | Implements the target hook TARGET_VECTORIZE_MISALIGNED_MEM_OK. | |
11595 | ||
11596 | * tree-vectorizer.c (vect_create_data_ref): Renamed to | |
11597 | vect_create_data_ref_ptr. Returns a pointer instead of an array-ref. | |
11598 | (vect_create_addr_base_for_vector_ref): Additional argument (offset). | |
11599 | (vectorizable_store): Call vect_create_data_ref_ptr with additional | |
11600 | arguments, and create an indirect_ref with its return value data_ref. | |
11601 | Check aligned_access_p. | |
11602 | (vectorizable_load): Handle misaligned loads, using software-pipelined | |
11603 | scheme with REALIGN_LOAD_EXPR and ALIGN_INDIRECT_REF if | |
11604 | vec_realign_load_optab is supported, or using a scheme without | |
11605 | software-pipelining with MISALIGNED_INDIRECT_REF if the target hook | |
11606 | misaligned_mem_ok is supported. | |
11607 | ||
11608 | (vect_finish_stmt_generation): Typo. | |
11609 | (vect_enhance_data_refs_alignment): Rename loop_vinfo to loop_info. | |
11610 | (vect_analyze_data_refs_alignment): Don't fail vectorization in the | |
11611 | presence of misaligned loads. | |
11612 | (vect_analyze_data_ref_access): Add check for constant init. | |
11613 | (vect_get_symbl_and_dr): Remove duplicate line. | |
11614 | * tree-vectorizer.h (DR_MISALIGNMENT): Add comment. | |
11615 | ||
11616 | 2004-09-23 Kazu Hirata <kazu@cs.umass.edu> | |
11617 | ||
11618 | * builtins.c: Fix a comment typo. | |
11619 | ||
11620 | 2004-09-23 Jan Hubicka <jh@suse.cz> | |
11621 | ||
11622 | * profile.c (branch_prob): Do not verify flow info in the middle of the | |
11623 | pass. | |
11624 | ||
11625 | 2004-09-23 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> | |
11626 | ||
11627 | * cfgloop.h (update_single_exits_after_duplication): Declare. | |
11628 | (loopify, split_loop_bb): Declaration changed. | |
11629 | * cfgloopmanip.c (split_loop_bb): Take void * as an argument instead | |
11630 | of rtx. | |
11631 | (loopify): Added redirect_all_edges argument. | |
11632 | (update_single_exits_after_duplication): Export. | |
11633 | * loop-unswitch.c (unswitch_loop): Changed due to loopify change. | |
11634 | * tree-flow.h (tree_duplicate_loop_to_header_edge, | |
11635 | tree_ssa_loop_version): Declare. | |
11636 | * tree-ssa-loop-manip.c (copy_phi_node_args, rename_variables, | |
11637 | set_phi_def_stmts, tree_duplicate_loop_to_header_edge, | |
11638 | lv_adjust_loop_header_phi, lv_adjust_loop_entry_edge, | |
11639 | lv_update_pending_stmts, tree_ssa_loop_version): New functions. | |
11640 | ||
11641 | * tree-ssa-loop-unswitch.c: New file. | |
11642 | * Makefile.in (tree-ssa-loop-unswitch.o): Add. | |
11643 | * timevar.def (TV_TREE_LOOP_UNSWITCH): New timevar. | |
11644 | * tree-flow.h (tree_ssa_unswitch_loops): Declare. | |
11645 | * tree-optimize.c (init_tree_optimization_passes): Add pass_unswitch. | |
11646 | * tree-pass.h (pass_unswitch): Declare. | |
11647 | * tree-ssa-loop.c (tree_ssa_loop_unswitch, | |
11648 | gate_tree_ssa_loop_unswitch, pass_unswitch): New pass. | |
11649 | * doc/passes.texi: Documen tree level loop unswitching. | |
11650 | ||
11651 | 2004-09-23 Kazu Hirata <kazu@cs.umass.edu> | |
11652 | ||
11653 | * cfgexpand.c, config/s390/tpf-eh.c: Fix comment typos. | |
11654 | ||
11655 | 2004-09-22 Eric Christopher <echristo@redhat.com> | |
11656 | ||
11657 | * builtins.c (simplify_builtin_va_start): Remove. | |
11658 | (simplify_builtin): Ditto. | |
11659 | (fold_builtin_strchr): Ditto. | |
11660 | (simplify_builtin_*): Rename remainders to fold_builtin_*. | |
11661 | (expand_builtin): Fix up for above changes. | |
11662 | (fold_builtin_1): Add new folders. Change for above. | |
11663 | (expand_builtin_va_start): Call fold_builtin_next_arg. | |
11664 | * gimplify.c (gimplify_call_expr): Fix calls to simplify_builtin. | |
11665 | * tree.h: Remove prototype for simplify_builtin. | |
11666 | ||
11667 | 2004-09-23 Jan Hubicka <jh@suse.cz> | |
11668 | ||
11669 | PR debug/17389 | |
11670 | * dwarf2out.c (dwarf2out_finish): Deal with nested functions | |
11671 | of fully inlined functions. | |
11672 | * tree-inline.c (inline_forbidden_p_1): Nested functions can be | |
11673 | inlined. | |
11674 | ||
11675 | * cfgexpand.c (add_reg_br_prob_note): New function. | |
11676 | (expand_gimple_cond_expr): Use it. | |
11677 | (tree_expand_cfg): No longer kill the profile. | |
11678 | * cfgrt.c (rtl_verify_flow_info_1): Check profile consistency | |
11679 | only if it is present. | |
11680 | * passes.c (rest_of_handle_loop_optimize): Kill the profile. | |
11681 | * predict.c (combine_predictions_for_insn): Set the probabilities | |
11682 | based on REG_BR_PROB note if present. | |
11683 | * predict.c (branch_prob): Profile is read only with | |
11684 | flag_branch_probabilities. | |
11685 | ||
11686 | 2004-09-22 Kelley Cook <kcook@gcc.gnu.org> | |
11687 | ||
11688 | * aclocal.m4: Add in gettext's m4 includes. | |
11689 | (AC_ICONV, AC_LCMESSAGES, GCC_PATH_PROG): Remove. | |
11690 | * configure.ac: Add in check for iconv.h | |
11691 | * configure: Regenerate. | |
11692 | ||
11693 | 2004-09-22 Kelley Cook <kcook@gcc.gnu.org> | |
11694 | ||
11695 | * aclocal.m4: Update for rename of gettext-sister.m4. | |
11696 | ||
11697 | 2004-09-22 Daniel Berlin <dberlin@dberlin.org> | |
11698 | ||
11699 | Fix PR tree-optimization/17587 | |
11700 | * tree-ssa-pre.c (fini_pre): Commit edge inserts here. | |
11701 | (insert_aux): Instead of here. | |
11702 | ||
11703 | 2004-09-22 Diego Novillo <dnovillo@redhat.com> | |
11704 | ||
11705 | PR tree-optimization/16721 | |
11706 | * tree-dfa.c (dump_variable): Show TREE_THIS_VOLATILE. | |
11707 | * tree-ssa-alias.c (create_memory_tag): Move setting of | |
11708 | TREE_THIS_VOLATILE ... | |
11709 | (get_tmt_for): ... here. | |
11710 | ||
11711 | 2004-09-22 Eric Botcazou <ebotcazou@libertysurf.fr> | |
11712 | ||
11713 | * config/sparc/sparc.md (cmove splitter): Fix formatting. | |
11714 | (conditional_trap expander): Reject inappropriate CCmodes. | |
11715 | (conditional trap insn): Use V9 syntax if possible. | |
11716 | ||
11717 | 2004-09-22 Joseph S. Myers <jsm@polyomino.org.uk> | |
11718 | ||
11719 | PR c/16566 | |
11720 | * c-typeck.c (build_component_ref): Don't special-case | |
11721 | COMPOUND_EXPR. | |
11722 | ||
11723 | 2004-09-22 Frank Ch. Eigler <fche@redhat.com> | |
11724 | ||
11725 | * dominance.c (verify_dominators): Don't SEGV if recount_dominator | |
11726 | returns NULL. | |
11727 | ||
11728 | 2004-09-22 Kazu Hirata <kazu@cs.umass.edu> | |
11729 | ||
11730 | * doc/c-tree.texi (TRUTH_NOT_EXPR, TRUTH_ANDIF_EXPR, | |
11731 | TRUTH_ORIF_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR, | |
11732 | TRUTH_XOR_EXPR): Mention the restriction on types. | |
11733 | ||
11734 | 2004-09-22 Matt Austern <austern@apple.com> | |
11735 | ||
11736 | * config/darwin.c (darwin_make_decl_one_only): | |
11737 | Allow coalesced symbol to appear in static archive's table of contents | |
11738 | ||
11739 | 2004-09-22 Kazu Hirata <kazu@cs.umass.edu> | |
11740 | ||
11741 | PR tree-optimization/17512 | |
11742 | * convert.c (convert_to_integer): Don't handle TRUTH_*_EXPR as | |
11743 | special cases. | |
11744 | ||
11745 | 2004-09-22 David Edelsohn <edelsohn@gnu.org> | |
11746 | ||
11747 | * dbxout.c (get_lang_number): Do not define if | |
11748 | DBX_OUTPUT_MAIN_SOURCE_DIRECTORY is defined. | |
11749 | ||
11750 | 2004-09-22 Ralf Corsepius <corsepiu@faw.uni-ulm.de> | |
11751 | ||
11752 | PR target/15583 | |
11753 | * config/rs6000/rtems.h (TARGET_OS_CPP_BUILTINS): Add | |
11754 | builtin_define ("__USE_INIT_FINI__"). | |
11755 | ||
11756 | 2004-09-22 P.J. Darcy <darcypj@us.ibm.com> | |
11757 | ||
11758 | * config/s390/s390-protos.h (s390_emit_tpf_eh_return): Add prototype. | |
11759 | * config/s390/s390.c (s390_emit_tpf_eh_return): New function. | |
11760 | * config/s390/s390.h (TARGET_TPF): New macro. | |
11761 | * config/s390/s390.md ("eh_return"): New expander. | |
11762 | * config/s390/t-tpf (LIB2ADDEH): Use unwind-dw2-fde.c rather than | |
11763 | unwind-dw2-fde-glibc.c. Add config/s390/tpf-eh.c. | |
11764 | (LIB2ADDEHDEP): Remove unwind-dw2-fde.c. | |
11765 | * config/s390/tpf.h (TARGET_TPF): Define to 1. | |
11766 | (STACK_POINTER_OFFSET): Increase to 448. | |
11767 | (TARGET_DEFAULT): Set -mtpf-trace on as default. | |
11768 | (TPF_LOC_DIFF_OFFSET): New macro. | |
11769 | (ASM_PREFERRED_EH_DATA_FORMAT): Redefine to always use absolute | |
11770 | encoding. | |
11771 | (__isPATrange): Add prototype. | |
11772 | (MD_FALLBACK_FRAME_STATE_FOR): Define. | |
11773 | * config/s390/tpf-eh.c: New file. | |
11774 | ||
11775 | 2004-09-22 Diego Novillo <dnovillo@redhat.com> | |
11776 | ||
11777 | * fold-const.c (fold): Avoid non INTEGER_TYPEs when widening | |
11778 | operands in an integer comparison. | |
11779 | * tree-cfg.c (find_taken_edge): Call fold() to determine | |
11780 | whether the predicate is known. | |
11781 | ||
11782 | 2004-09-22 Kelley Cook <kcook@gcc.gnu.org> | |
11783 | ||
11784 | * aclocal.m4: Import AM_PROG_CC_C_O and AM_AUX_DIR_EXPAND. | |
11785 | * configure.ac: Call AM_PROG_CC_C_O instead of AC_PROG_CC_C_O. | |
11786 | Create build and doc directories along with the language directories. | |
11787 | Don't create doc directory separately. | |
11788 | * configure: Regenerate. | |
11789 | * Makefile.in: Create all object and executables files built | |
11790 | with the build compiler in a build/ directory. | |
11791 | (genobjnames): Add missing build objects. | |
11792 | (STAGESTUFF): Don't stage the gen* programs. | |
11793 | (ggc-none.o): Define dependencies for the target compiler. | |
11794 | (build-print-rtl.o): Rename to build/print-rtl.o. | |
11795 | (build-errors.o): Rename to build/errors.o. | |
11796 | (build-varray.o): Rename to build/varray.o. | |
11797 | (maintainerclean): Delete the contents of the build directory. | |
11798 | ($(genobjs): %.o): Explicitly use -o. | |
11799 | (build/insn-conditions.o): Delete specfic rule to use generic rule. | |
11800 | (build/gengtype-lex.o): Likewise. | |
11801 | (build/gengtype-yacc.o): Likewise. | |
11802 | (build/gcov-iov.o): Likewise. | |
11803 | ||
11804 | 2004-09-22 Nathan Sidwell <nathan@codesourcery.com> | |
11805 | ||
11806 | * vec.h (VEC_space): Return true if there _is_ space. | |
11807 | (VEC_reserve): Adjust. | |
11808 | ||
11809 | 2004-09-22 Richard Sandiford <rsandifo@redhat.com> | |
11810 | ||
11811 | * config/mips/mips.c (mips_function_value): For o32, o64, n32 and n64, | |
11812 | use FPRs for scalar, complex and vector types only. | |
11813 | ||
11814 | 2004-09-21 Jeff Law <law@redhat.com> | |
11815 | ||
11816 | * tree-ssa-dom.c (opt_stats): Move so that it lives just after | |
11817 | the opt_stats_d structure. | |
11818 | (vrp_data): Change from a varray into a hash table. | |
11819 | (vrp_hash_elt): New structure for elements in the vrp hash table. | |
11820 | (vrp_hash, vrp_eq):New functions for hashing and testing equality | |
11821 | in the vrp hash table. | |
11822 | (tree_ssa_dominator_optimize): Initialize VRP_DATA. Reorganize | |
11823 | initialization slightly to make it easier to read. No longer need | |
11824 | to grow/clear the varray. Instead empty and delete the hash table. | |
11825 | (dom_opt_finalize_block): Update due to change of VRP_DATA from | |
11826 | a varray to a hash table. | |
11827 | (simplify_cond_and_loop_avail_expr, record_range): Similarly. | |
11828 | ||
11829 | * tree-ssa-ccp.c (get_default_value): If we have a constant | |
11830 | value recorded for an SSA_NAME, then use that constant as | |
11831 | the initial lattice value. | |
11832 | (substitute_and_fold): Transfer equivalences discovered into | |
11833 | SSA_NAME_EQUIV. | |
11834 | ||
11835 | * tree.h (SSA_NAME_EQUIV): Add comments. | |
11836 | (SET_SSA_NAME_EQUIV): Similarly. | |
11837 | ||
11838 | 2004-09-21 David Edelsohn <edelsohn@gnu.org> | |
11839 | ||
11840 | * config/rs6000/linux64.h (PROCESSOR_DEFAULT64): Default to POWER4. | |
11841 | ||
11842 | * config/rs6000/rs6000.c (rs6000_adjust_cost): dep_insn is used. | |
11843 | ||
11844 | 2004-09-21 Mark Mitchell <mark@codesourcery.com> | |
11845 | ||
11846 | * c-decl.c (implicityl_declare): Call maybe_apply_renaming_pragma. | |
11847 | (finish_decl): Likewise. | |
11848 | ||
11849 | 2004-09-21 Devang Patel <dpatel@apple.com> | |
11850 | ||
11851 | * tree.def (VEC_COND_EXPR): New tree node. | |
11852 | * tree-ssa-operands.c (get_expr_operands): Handle VEC_COND_EXPR. | |
11853 | ||
11854 | 2004-09-21 Stan Shebs <shebs@apple.com> | |
11855 | ||
11856 | * config/rs6000/darwin-tramp.asm: Add __ppc64__ case. | |
11857 | * config/rs6000/darwin-world.asm: Likewise. | |
11858 | ||
11859 | 2004-09-21 Daniel Berlin <dberlin@dberlin.org> | |
11860 | ||
11861 | * tree-ssa.c (verify_def): Use print_generic_stmt, | |
11862 | not debug_generic_stmt. | |
11863 | (verify_use): Ditto. | |
11864 | (verify_phi_args): Ditto. | |
11865 | (verify_ssa): Ditto. | |
11866 | ||
11867 | 2004-09-21 Paul Brook <paul@codesourcery.com> | |
11868 | ||
11869 | * varasm.c (default_assemble_integer): Return false for values wider | |
11870 | than the target word size. Works around GAS bug. | |
11871 | ||
11872 | 2004-09-21 Zack Weinberg <zack@codesourcery.com> | |
11873 | ||
11874 | * reg-notes.def (REG_DEP_TRUE): New entry, place first so it | |
11875 | gets value 0. | |
11876 | * print-rtl.c (print_rtx): Print the name of a REG_NOTE even | |
11877 | if it has value 0. | |
11878 | ||
11879 | 2004-09-21 Daniel Berlin <dberlin@dberlin.org> | |
11880 | ||
11881 | * c-typeck.c (build_function_call): Give name of object | |
11882 | we are attempting to call in error message. | |
11883 | * c-objc-common.c (c_tree_printer): Call pp_expression, | |
11884 | not return false, for 'E' case. | |
11885 | ||
11886 | 2004-09-21 Steven Bosscher <stevenb@suse.de> | |
11887 | ||
11888 | PR rtl-optimization/17482 | |
11889 | * postreload-gcse.c (reg_avail_info, oprs_unchanged_p, | |
11890 | load_killed_in_block_p): Clarify comments. | |
11891 | (record_last_reg_set_info): Make static inline. | |
11892 | (mark_call, mark_set, mark_clobber, mark_oprs_set): Remove. | |
11893 | (record_opr_changes): New function to replace the above. | |
11894 | (compute_hash_table): Clarify comments. Use record_opr_changes. | |
11895 | (reg_set_between_after_reload_p): Clean up. | |
11896 | (reg_used_between_after_reload_p): Likewise. | |
11897 | (eliminate_partially_redundant_load): Clarify comments. | |
11898 | ||
11899 | 2004-09-21 Eric Botcazou <ebotcazou@libertysurf.fr> | |
11900 | ||
11901 | PR rtl-optimization/17266 | |
11902 | * regmove.c (optimize_reg_copy_3): Make a new SUBREG for each insn. | |
11903 | ||
11904 | 2004-09-21 Uros Bizjak <uros@kss-loka.si> | |
11905 | ||
11906 | PR rtl-optimization/14851 | |
11907 | * rtlanal.c (commutative_operand_precedence): Calculate | |
11908 | precedence of stripped constant. | |
11909 | ||
11910 | 2004-09-20 Jeff Law <law@redhat.com> | |
11911 | Jan Hubicka <jh@suse.cz> | |
11912 | ||
11913 | * tree-ssanames.c (make_ssa_name): No longer need to clear, then | |
11914 | initialize key elements here. | |
11915 | (release_ssa_name): Zero the released SSA_NAME here. | |
11916 | * tree.h (SSA_NAME_EQUIV, SET_SSA_NAME_EQUIV): New macros. | |
11917 | (struct tree_ssa_name): Add new "equiv" field. | |
11918 | * tree-ssa-dom.c (const_and_copies): Kill the global varray. | |
11919 | (tree_ssa_dominator_optimize): No longer allocate, resize or | |
11920 | clear CONST_AND_COPIES. | |
11921 | (get_value_for, set_value_for): Kill. | |
11922 | (thread_across_edge): Get/set the equivalency using | |
11923 | SSA_NAME_EQUIV and SET_SSA_NAME_EQUIV. | |
11924 | (restore_vars_to_original_value): Likewise. | |
11925 | (record_equivalences_from_phis): Likewise. | |
11926 | (record_dominating_conditions): Likewise. | |
11927 | (record_const_or_copy, record_equality): Likewise. | |
11928 | (lookup_avail_expr): Likewise. | |
11929 | (record_equivalences_from_stmt, cprop_operand): Likewise. | |
11930 | (cprop_into_successor_phis): No longer need to pass around | |
11931 | CONST_AND_COPIES. Callers updated. Get equivalences via | |
11932 | SSA_NAME_EQUIV. | |
11933 | (cprop_into_phis): Likewise. | |
11934 | ||
11935 | 2004-09-20 Matt Austern <austern@apple.com> | |
11936 | Zack Weinberg <zack@codesourcery.com> | |
11937 | ||
11938 | * c-common.c (fix_string_type): Build the unqualified array | |
11939 | type unconditionally, then use c_build_qualified_type to get | |
11940 | the proper const-qualified variant, and set its | |
11941 | TYPE_MAIN_VARIANT to refer to the unqualified type. | |
11942 | * c-lex.c (c_lex_return_raw_string): New global. | |
11943 | (c_lex_with_flags): Honor it. | |
11944 | * c-pragma.h: Declare it. | |
11945 | ||
11946 | 2004-09-20 Daniel Berlin <dberlin@dberlin.org> | |
11947 | ||
11948 | * Makefile.in: Fix flags.h dependencies to be $(FLAGS_H). | |
11949 | ||
11950 | 2004-09-21 Jan Hubicka <jh@suse.cz> | |
11951 | ||
11952 | PR middle-end/17126 | |
11953 | * tree-optimize.c (update_inlined_to_pointers): Fix the recursion. | |
11954 | (tree_rest_of_compilation): Cleanup. | |
11955 | ||
11956 | 2004-09-20 Ulrich Weigand <uweigand@de.ibm.com> | |
11957 | ||
11958 | * config/s390/s390.c (s390_select_rtx_section): Remove. | |
11959 | (TARGET_ASM_SELECT_RTX_SECTION): Do not redefine. | |
11960 | ||
11961 | 2004-09-20 Kaz Kojima <kkojima@gcc.gnu.org> | |
11962 | ||
11963 | * config/sh/sh.c (sh_expand_prologue): Add a REG_FRAME_RELATED_EXPR | |
11964 | note to pretend a direct save from the original register when an | |
11965 | intermediate register is used for the save. | |
11966 | ||
11967 | 2004-09-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
11968 | ||
11969 | * tsystem.h (alloca): Provide a default definition. | |
11970 | ||
11971 | Revert: | |
11972 | 2001-08-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
11973 | * unwind-dw2.c: Call __builtin_alloca, not alloca. | |
11974 | ||
11975 | 2004-09-20 Andrew Pinski <pinskia@physics.uc.edu> | |
11976 | ||
11977 | PR tree-opt/17558 | |
11978 | * tree-ssa-copy.c (may_propagate_copy): Only allow if the | |
11979 | aliasing sets are the same rather than just conflicting. | |
11980 | ||
11981 | 2004-09-20 Jan Hubicka <jh@suse.cz> | |
11982 | ||
11983 | PR middle-end/16460 | |
11984 | ||
11985 | * cgraph.c (cgraph_unnest_node): New function. | |
11986 | (c_finalize): Rename to .... | |
11987 | (c_warn_unused_result_recursivly): ... this one; do only the warning | |
11988 | (finish_function): Finalize the toplevel function; do not lower nested tree. | |
11989 | * cgraph.h (cgraph_unnest_node): Declare. | |
11990 | * cgraphunit.c (decide_is_function_needed): Do not use cgraph | |
11991 | nestedness datastructure. | |
11992 | * cse.c (cse_insn): Do not cprop nonlocal LABEL_REFs. | |
11993 | * reload1.c (set_label_offsets): Fix call of set_label_offsets. | |
e8366202 | 11994 | * tree-nested.c (finlize_nesting_tree_1): Use un-nesting code. |
7a4515d7 SB |
11995 | |
11996 | 2004-09-20 Richard Henderson <rth@redhat.com> | |
11997 | ||
11998 | * config/alpha/alpha.c (some_small_symbolic_operand_int): Rename | |
11999 | from some_small_symbolic_operand_1; export. | |
12000 | (some_small_symbolic_operand): Remove. | |
12001 | * config/alpha/alpha.md (some_small_symbolic_operand splitter): Remove | |
12002 | extra C check. | |
12003 | * config/alpha/predicates.md (some_small_symbolic_operand): New. | |
12004 | ||
12005 | 2004-09-20 Jan Hubicka <jh@suse.cz> | |
12006 | ||
12007 | * predict.c (return_prediction): New function. | |
12008 | (apply_return_prediction): Likewise. | |
12009 | (tree_bb_level_predictions): Likewise. | |
12010 | (tree_estimate_probability): Add noreturn exit edges; call | |
12011 | bb_level_predictions; fix logic of return heuristics. | |
e8366202 | 12012 | (predict_paths_leading_to): Rescuesce from old CVS version of |
7a4515d7 SB |
12013 | process_note_prediction function. |
12014 | * predict.def (PRED_TREE_EARLY_RETURN): New predictor. | |
12015 | ||
12016 | 2004-09-20 Andreas Krebbel <krebbel1@de.ibm.com> | |
12017 | ||
12018 | * config/s390/s390.c (s390_frame_info): Added alignment statement for | |
12019 | floating point register area on stack. | |
12020 | ||
12021 | 2004-09-20 Jakub Jelinek <jakub@redhat.com> | |
12022 | ||
12023 | * predict.c (expr_expected_value): Use *_CLASS_P macros. | |
12024 | ||
12025 | 2004-09-20 Daniel Berlin <dberlin@dberlin.org> | |
12026 | ||
12027 | * tree-ssa-pre.c (compute_antic_aux): Use malloc'd worklist, to avoid | |
12028 | generating useless garbage. | |
12029 | ||
12030 | 2004-09-20 Paolo Bonzini <bonzini@gnu.org> | |
12031 | ||
12032 | * builtins.c (fold_builtin): Call the new omonymous | |
12033 | target hook for machine-dependent built-ins. | |
12034 | * target-def.h (TARGET_FOLD_BUILTIN): New. | |
12035 | * target.h (struct gcc_target): Add the fold_builtin hook. | |
12036 | * targhooks.c (default_fold_builtin): New. | |
12037 | * targhooks.h (default_fold_builtin): Declare it. | |
12038 | ||
12039 | 2004-09-20 Kazu Hirata <kazu@cs.umass.edu> | |
12040 | ||
12041 | * cfg.c, tree-ssa-threadupdate.c, tree-vectorizer.c: Fix | |
12042 | comment typos. | |
12043 | ||
12044 | 2004-09-20 Richard Sandiford <rsandifo@redhat.com> | |
12045 | ||
12046 | PR target/17565 | |
12047 | * config/mips/mips.md (define_asm_attributes): Set can_delay to no. | |
12048 | ||
12049 | 2004-09-20 Jan Hubicka <jh@suse.cz> | |
12050 | ||
12051 | * predict.c (estimate_probability): Remove unnecesary code. | |
12052 | ||
12053 | 2004-09-19 Ira Rosen <irar@il.ibm.com> | |
12054 | ||
12055 | * tree-vectorizer.h (stmt_vec_info): Add vect_dr_base field. | |
12056 | (STMT_VINFO_VECT_DR_BASE): Declare. | |
12057 | (VECT_SMODULO): Declare. | |
12058 | * tree-vectorizer.c (vect_compute_array_ref_alignment): New function. | |
12059 | (vect_compute_array_base_alignment): New function. | |
12060 | (vect_analyze_data_ref_access): Check array indices. Remove one | |
12061 | dimensional arrays restriction. | |
12062 | (vect_get_ptr_offset): New function. | |
12063 | (vect_get_symbl_and_dr): New function. | |
12064 | (vect_get_base_and_bit_offset): Support additional data refs. Renamed | |
12065 | (former name vect_get_base_decl_and_bit_offset). | |
12066 | (vect_create_index_for_array_ref): Removed. | |
12067 | (vect_create_index_for_vector_ref): New function. | |
12068 | (vect_create_addr_base_for_vector_ref): New function. | |
12069 | (vect_create_data_ref): Handle additional data refs. Call | |
12070 | vect_create_index_for_vector_ref and vect_create_addr_base_for_vector_ref. | |
12071 | (vect_compute_data_ref_alignment): Support the changes. Call | |
12072 | vect_get_base_and_bit_offset. | |
12073 | (vect_analyze_data_refs): Call vect_get_symbl_and_dr. Support additional | |
12074 | data refs. Store vect_dr_base. | |
12075 | (vect_analyze_data_ref_accesses): Support nonconstant init. | |
12076 | (new_stmt_vec_info): Initialize vect_dr_base field. | |
12077 | (vect_is_simple_iv_evolution): Call initial_condition_in_loop_num. | |
12078 | (get_vectype_for_scalar_type): Check for BLKmode. | |
12079 | * tree-chrec.h (initial_condition_in_loop_num): Declare. | |
12080 | * tree-chrec.c (initial_condition_in_loop_num): New function. | |
12081 | (chrec_component_in_loop_num): New function. | |
12082 | (evolution_part_in_loop_num): Call chrec_component_in_loop_num. | |
12083 | * tree-data-ref.c (analyze_array_indexes): Change parameter (access_fns) | |
12084 | to be pointer to varray_type. | |
12085 | ||
12086 | 2004-09-19 Jan Hubicka <jh@suse.cz> | |
12087 | ||
12088 | * basic-block.h (update_bb_profile_after_threading): Declare. | |
12089 | * cfg.c (update_bb_profile_after_threading): Break out from ... | |
12090 | * cfgcleanup.c (try_forward_edges): ... here; use it. | |
12091 | * tree-ssa-dom.c (thread_across_edge): Use it. | |
12092 | * tree-ssa-threadupdate.c (create_block_for_threading): Zero out | |
12093 | profile of the new BB. | |
12094 | ||
12095 | 2004-09-19 Daniel Berlin <dberlin@dberlin.org> | |
12096 | ||
12097 | * tree-ssa-pre.c (insert_into_set): Don't put | |
12098 | is_gimple_min_invariant values into the set. | |
12099 | ||
12100 | 2004-09-19 Andreas Jaeger <aj@suse.de> | |
12101 | ||
12102 | * tree-ssa-dom.c (restore_nonzero_vars_to_original_value): Fix | |
12103 | prototype. | |
12104 | ||
12105 | 2004-09-18 Kazu Hirata <kazu@cs.umass.edu> | |
12106 | ||
12107 | * config/cris/cris.h: Preserve the original spelling in a | |
12108 | quote. | |
12109 | ||
12110 | 2004-09-18 Jeff Law <law@redhat.com> | |
12111 | ||
12112 | * tree-ssa-dom.c (nonzero_vars_stack, vrp_variables_stack): New | |
12113 | global varrays to replace the block local varrays. | |
12114 | (struct dom_walk_block_data): Remove, no longer used. | |
12115 | (get_eq_expr_value): No longer need to pass around pointers to local | |
12116 | varrays. Callers updated. Unused markers added to unused parameters. | |
12117 | (record_range, record_equivalences_from_stmt): Likewise. | |
12118 | (record_equivalences_from_incoming_edge): Likewise. | |
12119 | (record_var_is_nonzero): Likewise. Update now that we have a | |
12120 | single global varray of SSA_NAMEs that need restoring. | |
12121 | (dom_opt_initialize_block_local_data): Kill, no longer used. | |
12122 | (tree_ssa_dominator_optimize): Initialize new global varrays. | |
12123 | Update callbacks in dominator walker structure. | |
12124 | (dom_opt_initialize_block): Add markers to NONZERO_VAR_STACK and | |
12125 | VRP_VARIABLES_STACK. | |
12126 | (restore_nonzero_vars_to_original_value): Update now that we have | |
12127 | a single global varray of SSA_NAMEs that need restoring. | |
12128 | (dom_opt_finalize_block): Similarly for VRP_VARIABLES_STACK. | |
12129 | Remove unused variables. | |
12130 | (optimize_stmt): Remove unused variable. | |
12131 | ||
12132 | 2004-09-18 Jan Hubicka <jh@suse.cz> | |
12133 | ||
e8366202 | 12134 | * tree-cfg.c (thread_jumps): Fix updating of the profile. |
7a4515d7 SB |
12135 | |
12136 | * tree-optimize.c (tree_rest_of_compilation): Kill forgotten | |
12137 | verify_cgraph call. | |
12138 | ||
12139 | 2004-09-18 Kazu Hirata <kazu@cs.umass.edu> | |
12140 | ||
12141 | * alias.c, crtstuff.c, dbxout.c, domwalk.c, domwalk.h, gcc.c, | |
12142 | gcse.c, global.c, lambda-code.c, loop.c, mips-tdump.c, | |
12143 | optabs.h, predict.c, reg-stack.c, regclass.c, sched-rgn.c, | |
12144 | tree-optimize.c, tree-ssa-dom.c, tree-ssa-forwprop.c, | |
12145 | tree-ssa-operands.c, tree-ssa-phiopt.c, | |
12146 | tree-ssa-threadupdate.c: Fix comment typos. | |
12147 | ||
12148 | 2004-09-18 Kazu Hirata <kazu@cs.umass.edu> | |
12149 | ||
12150 | * config/darwin-c.c, config/arc/arc.c, config/arc/arc.md, | |
12151 | config/arm/README-interworking, config/arm/arm-cores.def, | |
12152 | config/arm/arm.c, config/arm/arm.h, config/arm/pe.c, | |
12153 | config/arm/vfp.md, config/c4x/c4x.c, config/c4x/c4x.h, | |
12154 | config/cris/cris.c, config/cris/cris.h, config/fr30/fr30.c, | |
12155 | config/fr30/fr30.h, config/fr30/fr30.md, config/frv/frv.c, | |
12156 | config/frv/frv.md, config/i386/winnt.c, | |
12157 | config/ia64/unwind-ia64.c, config/iq2000/iq2000.c, | |
12158 | config/iq2000/iq2000.h, config/m68hc11/m68hc11.c, | |
12159 | config/m68hc11/m68hc11.md, config/m68k/m68k.c, | |
12160 | config/mcore/mcore.c, config/mips/mips.h, | |
12161 | config/mn10300/mn10300.md, config/pa/pa.c, | |
12162 | config/pa/pa64-regs.h, config/pdp11/pdp11.c, | |
12163 | config/rs6000/rs6000.c, config/sh/symbian.c, | |
12164 | config/sparc/sparc.h: Fix comment typos. Follow spelling | |
12165 | conventions. | |
12166 | ||
12167 | 2004-09-18 Joseph S. Myers <jsm@polyomino.org.uk> | |
12168 | ||
12169 | PR c/17424 | |
12170 | * c-typeck.c (c_expr_sizeof_expr): Check for error_mark_node. | |
12171 | ||
12172 | 2004-09-18 Diego Novillo <dnovillo@redhat.com> | |
12173 | ||
12174 | * tree-ssa-alias.c (setup_pointers_and_addressables): Don't | |
12175 | remove TREE_ADDRESSABLE from RESULT_DECL. | |
12176 | ||
12177 | 2004-09-18 Diego Novillo <dnovillo@redhat.com> | |
12178 | ||
12179 | * tree-ssa-alias.c (dump_alias_info): Ignore NULL SSA_NAMEs. | |
12180 | ||
12181 | 2004-09-18 Jan Hubicka <jh@suse.cz> | |
12182 | ||
e8366202 | 12183 | * tree-into-ssa.c (rewrite_ssa_into_ssa): Expect ssa_name to return |
7a4515d7 SB |
12184 | NULL. |
12185 | * tree-ssa-alias.c (init_alias_info): Likewise. | |
12186 | * tree-ssa.c (verify_flow_sensitive_alias_info): Likewise. | |
12187 | (verify_ssa): Likewise. | |
12188 | * tree-ssanames.c (make_ssa_name): Clear out ssa_names arrays. | |
12189 | ||
12190 | 2004-09-18 Jan Hubicka <jh@suse.cz> | |
12191 | ||
12192 | * i386.c (legitimize_pic_address): Fix splitting of PLUS with | |
12193 | huge offset. | |
12194 | ||
12195 | 2004-09-18 Kaz Kojima <kkojima@gcc.gnu.org> | |
12196 | ||
12197 | * config/sh/linux.h (ASM_PREFERRED_EH_DATA_FORMAT): Remove. | |
12198 | * config/sh/sh.h (ASM_PREFERRED_EH_DATA_FORMAT): Use | |
12199 | DW_EH_PE_sdata* for data. | |
12200 | (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Likewise. | |
12201 | ||
12202 | 2004-09-17 Geoffrey Keating <geoffk@apple.com> | |
12203 | ||
12204 | * tree-inline.c (copy_tree_r): Don't duplicate constants, they're | |
12205 | shared anyway. | |
12206 | ||
12207 | PR pch/13361 | |
12208 | * c-typeck.c (constructor_asmspec): Delete. | |
12209 | (struct initializer_stack): Delete field 'asmspec'. | |
12210 | (start_init): Delete saving of asmspec. | |
12211 | (finish_init): Don't update constructor_asmspec. | |
12212 | * dwarf2out.c (rtl_for_decl_location): Duplicate string from tree. | |
12213 | * stmt.c (expand_asm): Duplicate strings from tree. | |
12214 | (expand_asm_operands): Likewise. | |
12215 | * tree.c (tree_size): Update computation of size of STRING_CST. | |
12216 | (make_node): Don't make STRING_CST nodes. | |
12217 | (build_string): Allocate string with tree node. | |
12218 | (tree_code_size): Clean up assertions, don't allow requests | |
12219 | for "the size of a STRING_CST". | |
12220 | * tree.def (STRING_CST): Update comment. | |
12221 | * tree.h (TREE_STRING_POINTER): Adjust for change to STRING_CST. | |
12222 | (tree_string): Place contents of string in tree node. | |
12223 | * config/sh/sh.c (sh_handle_sp_switch_attribute): Duplicate string | |
12224 | from tree. | |
12225 | ||
12226 | 2004-09-17 Zack Weinberg <zack@codesourcery.com> | |
12227 | ||
12228 | * Makefile.in (c-parse.o): Depend on $(C_PRAGMA_H). | |
12229 | * objc/Make-lang.in (objc/objc-parse.o): Likewise. | |
12230 | ||
12231 | 2004-09-17 Jones Desougi <jones@ingate.com> | |
12232 | ||
12233 | * configure.ac: Replace AC_COMPILE_CHECK_SIZEOF with AC_CHECK_SIZEOF. | |
12234 | * configure, config.in: Regenerate. | |
12235 | ||
12236 | 2004-09-17 Zack Weinberg <zack@codesourcery.com> | |
12237 | ||
12238 | * tree.c, tree.h (tree_class_strings): Make array const. | |
12239 | Reindent per coding convention. Move asterisk to proper place | |
12240 | per coding convention. | |
12241 | ||
12242 | 2004-09-18 Andreas Schwab <schwab@suse.de> | |
12243 | ||
12244 | * Makefile.in (gimple-low.o): Depend on $(EXPR_H). | |
12245 | (tree-vectorizer.o): Likewise. | |
12246 | (targhooks.o): Likewise. | |
12247 | ||
12248 | 2004-09-17 Jeffrey D. Oldham <oldham@codesourcery.com> | |
12249 | Zack Weinberg <zack@codesourcery.com> | |
12250 | ||
12251 | * alias.c (find_base_decl): Remove unreachable case '3' block. | |
12252 | * expr.c (safe_from_p): Abort if passed a type. | |
12253 | * tree-gimple.c (recalculate_side_effects): Abort if passed | |
12254 | anything other than an expression. | |
12255 | * tree-ssa-pre.c (phi_translate): Return expr immediately if | |
12256 | is_gimple_min_invariant is true for it. Reorder cases for clarity. | |
12257 | Abort on un-handled tree classes. | |
12258 | (valid_in_set): Likewise. | |
12259 | * tree.c (tree_code_class_strings): New static data. | |
12260 | ||
12261 | * tree.h (enum tree_code_class): New. | |
12262 | (tree_code_class_strings): Declare. | |
12263 | (TREE_CODE_CLASS_STRING, EXCEPTIONAL_CLASS_P, CONSTANT_CLASS_P) | |
12264 | (REFERENCE_CLASS_P, COMPARISON_CLASS_P, UNARY_CLASS_P, BINARY_CLASS_P) | |
12265 | (STATEMENT_CLASS_P, EXPRESSION_CLASS_P, IS_TYPE_OR_DECL_P): New macros. | |
12266 | (TYPE_P, DECL_P, IS_NON_TYPE_CODE_CLASS, IS_EXPR_CODE_CLASS) | |
12267 | (checking macros, EXPR_LOCATION, SET_EXPR_LOCATION, EXPR_LOCUS): Update. | |
12268 | ||
12269 | * tree.def, c-common.def, objc/objc-tree.def: Use | |
12270 | tree_code_class enumeration constants instead of code letters. | |
12271 | ||
12272 | * alias.c, builtins.c, c-common.c, c-format.c, c-lang.c, c-pragma.c | |
12273 | * c-typeck.c, cgraphunit.c, convert.c, dbxout.c, dwarf2out.c | |
12274 | * emit-rtl.c expr.c, fold-const.c, gimplify.c, lambda-code.c | |
12275 | * langhooks.c, langhooks.h, predict.c, print-tree.c, reload1.c, stmt.c | |
12276 | * tree-browser.c, tree-cfg.c, tree-chrec.c, tree-complex.c, tree-dfa.c | |
12277 | * tree-dump.c, tree-eh.c, tree-gimple.c, tree-inline.c, tree-nested.c | |
12278 | * tree-outof-ssa.c, tree-pretty-print.c, tree-sra.c, tree-ssa-ccp.c | |
12279 | * tree-ssa-dce.c, tree-ssa-dom.c, tree-ssa-forwprop.c, tree-ssa-live.c | |
12280 | * tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c, tree-ssa-operands.c | |
12281 | * tree-ssa-phiopt.c, tree-ssa-pre.c, tree-ssa-propagate.c | |
12282 | * tree-ssa.c, tree-ssanames.c, tree-tailcall.c, tree.c, varasm.c | |
12283 | * config/sol2-c.c, config/arm/arm.c, config/i386/winnt.c | |
12284 | * config/pa/pa.c, config/pa/pa.h, config/sh/sh.c, objc/objc-lang.c | |
12285 | Update to match. | |
12286 | ||
12287 | * LANGUAGES: Add note about change. | |
12288 | ||
12289 | 2004-09-17 Diego Novillo <dnovillo@redhat.com> | |
12290 | ||
12291 | PR tree-optimization/17319 | |
12292 | * tree-ssa-alias.c (compute_points_to_and_addr_escape): Also | |
12293 | examine pointers on the LHS of an assignment. | |
12294 | (collect_points_to_info_r): Handle RETURN_EXPR. | |
12295 | ||
12296 | 2004-09-17 Jeff Law <law@redhat.com> | |
12297 | ||
12298 | * tree-ssa-dom.c (const_and_copies_stack): New. | |
12299 | (dom_walk_block_data): Remove const_and_copies field. | |
12300 | (record_const_or_copy): No longer need to pass in varray_type *. | |
12301 | Use CONST_AND_COPIES_STACK rather than passed in block local stack. | |
12302 | Callers updated. | |
12303 | (record_equality): Similarly. | |
12304 | (restore_vars_to_original_value): Similarly. Revamp to use new | |
12305 | single global stack rather than per-block stacks. | |
12306 | (tree_ssa_dominator_optimize): Initialize the CONST_AND_COPIES_STACK. | |
12307 | (thread_across_edge): Remove now unused parameters. | |
12308 | (dom_opt_initialize_block_local_data): No longer test the block | |
12309 | local CONST_AND_COPIES. | |
12310 | (dom_opt_initialize_block): Push a marker on CONST_AND_COPIES_STACK. | |
12311 | ||
12312 | 2004-09-17 Jan Hubicka <jh@suse.cz> | |
12313 | ||
12314 | PR tree-optimization/17509 | |
12315 | * tree-optimize.c (update_inlined_to_pointers): New function. | |
12316 | (tree_rest_of_compilation): Use it. | |
12317 | ||
12318 | 2004-09-17 Devang Patel <dpatel@apple.com> | |
12319 | ||
12320 | * dbxout.c (get_lang_number): New. | |
12321 | (dbxout_init): Include lang number in N_SO stab. | |
12322 | * dbxout.h (N_SO_AS, N_SO_C, N_SO_ANSI_C, N_SO_CC, N_SO_FORTRAN, | |
12323 | N_SO_PASCAL, N_SO_FORTRAN90, N_SO_OBJC, N_SO_OBJCPLUS): New #define. | |
12324 | ||
12325 | 2004-09-17 Diego Novillo <dnovillo@redhat.com> | |
12326 | ||
12327 | PR tree-optimization/17273 | |
12328 | * tree-ssa.c (replace_immediate_uses): Call fold_stmt if the | |
12329 | replacement is a constant. | |
12330 | ||
12331 | 2004-09-17 Joseph S. Myers <jsm@polyomino.org.uk> | |
12332 | ||
12333 | * c-tree.h (enum c_typespec_keyword): New. | |
12334 | (struct c_declspecs): Adjust description of "type". Remove | |
12335 | specbits, explicit_int_p and explicit_char_p. Rename | |
12336 | typedef_signed_p to explicit_signed_p. Add default_int_p, long_p, | |
12337 | short_p, signed_p, unsigned_p and complex_p. | |
12338 | (finish_declspecs): New. | |
12339 | * c-parse.in (datadef, datadecl, setspecs, decl, component_decl, | |
12340 | typename): Call finish_declspecs. | |
12341 | * c-decl.c (finish_declspecs): New. | |
12342 | (declspecs_add_type): Check for combinations which cannot occur in | |
12343 | valid specifier lists. Update comments. | |
12344 | (shadow_tag_warned): Remove checks done in finish_declspecs. | |
12345 | Don't report useless type name if type defaulted to int. | |
12346 | (grokdeclarator): Remove checks and actions done in | |
12347 | finish_declspecs. Don't allow for type being NULL. Update for | |
12348 | datastructures changes. Initialize decl_attr. | |
12349 | (build_null_declspecs, quals_from_declspecs): Update for | |
12350 | datastructures changes. | |
12351 | ||
12352 | 2004-09-17 Sylvain Pion <Sylvain.Pion@sophia.inria.fr> | |
12353 | ||
12354 | * doc/extend.texi: Fix duplicated word. | |
12355 | ||
12356 | 2004-09-17 Toon Moene <toon@moene.indiv.nluug.nl> | |
12357 | ||
12358 | * doc/invoke.texi: Remove stray explanation on | |
12359 | -freduce-all-givs and -fmove-all-movables. | |
12360 | ||
12361 | 2004-09-17 James Morrison <phython@gcc.gnu.org> | |
12362 | ||
12363 | * doc/cfg.texi: Use @smallexample. | |
12364 | * doc/md.texi: Likewise. | |
12365 | * doc/tree-ssa.texi: Likewise. | |
12366 | * doc/extend.texi: Likewise. Use @r{} in comments. | |
12367 | * doc/trouble.texi: Use @r{} in comments. | |
12368 | ||
12369 | 2004-09-17 Hans-Peter Nilsson <hp@bitrange.com> | |
12370 | ||
12371 | * configure.ac (gcc_cv_gld_version): Handle whitespace before | |
12372 | "VERSION=". | |
12373 | * aclocal.m4 (_gcc_COMPUTE_GAS_VERSION): Ditto. | |
12374 | * configure: Regenerate. | |
12375 | ||
12376 | 2004-09-17 J"orn Rennecke <joern.rennecke@superh.com> | |
12377 | ||
12378 | * sh.c (sh_gimplify_va_arg_expr): Don't call pass_by_reference. | |
12379 | (sh_pass_by_reference): Work around std_gimplify_va_arg_expr bug. | |
12380 | * t-sh (MULTILIB_CPUS): s/ML_m/ML_sh/g . | |
12381 | * t-sh64 (MULTILIB_CPU_DIRS): Likewise. Match dashes and trailing | |
12382 | slashes in substitutions. | |
12383 | (MULTILIB_DIRNAMES): Remove defunct removal of /media32. | |
12384 | ||
12385 | 2004-09-17 Kazu Hirata <kazu@cs.umass.edu> | |
12386 | ||
12387 | * basic-block.h, c-decl.c, c-parse.in, cgraphunit.c, ddg.c, | |
12388 | gimplify.c, lambda-code.c, optabs.c, predict.c, | |
12389 | tree-scalar-evolution.c, tree-sra.c, tree-ssa-loop-ch.c, | |
12390 | tree-ssa.c, vec.h: Fix comment typos. Follow spelling | |
12391 | conventions. | |
12392 | ||
12393 | 2004-09-17 Kazu Hirata <kazu@cs.umass.edu> | |
12394 | ||
12395 | * doc/compat.texi, doc/cpp.texi, doc/cppopts.texi, | |
12396 | doc/extend.texi, doc/install.texi, doc/invoke.texi, | |
12397 | doc/sourcebuild.texi, doc/tm.texi, doc/tree-ssa.texi, | |
12398 | doc/trouble.texi: Use @option around options. | |
12399 | ||
12400 | 2004-09-17 Richard Sandiford <rsandifo@redhat.com> | |
12401 | ||
12402 | * Makefile.in (gen-protos.o): Depend on errors.h. | |
12403 | ||
12404 | 2004-09-17 Steven Bosscher <stevenb@suse.de> | |
12405 | ||
12406 | PR tree-optimization/17513 | |
12407 | * cfgexpand.c (construct_init_block): Clear EDGE_EXECUTABLE | |
12408 | for successors of the entry block. | |
12409 | ||
12410 | 2004-09-17 Uros Bizjak <uros@kss-loka.si> | |
12411 | ||
12412 | PR rtl-optimization/15187 | |
12413 | * ifcvt.c (noce_try_cmove_arith): Exit early if total | |
12414 | insn_rtx_cost of both branches > BRANCH_COST | |
12415 | ||
12416 | 2004-09-16 Diego Novillo <dnovillo@redhat.com> | |
12417 | ||
12418 | PR tree-optimization/17528 | |
12419 | * tree-ssa-alias.c (compute_flow_insensitive_aliasing): Do not | |
12420 | erase the may-alias set for a tag when merging it with | |
12421 | another. | |
12422 | ||
12423 | 2004-09-16 Kaz Kojima <kkojima@gcc.gnu.org> | |
12424 | ||
12425 | * config/sh/sh.md (call): Extend 32-bit addresses to DImode | |
12426 | for 32-bit TARGET_SHMEDIA. | |
12427 | (call_value): Likewise. | |
12428 | ||
12429 | 2004-09-16 Diego Novillo <dnovillo@redhat.com> | |
12430 | ||
12431 | * tree-ssa-operands.c (add_call_clobber_ops): Make read-only | |
12432 | test apply only to TREE_STATIC and DECL_EXTERNAL. | |
12433 | ||
12434 | 2004-09-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> | |
12435 | ||
12436 | * Makefile.in (tree-cfg.o): Add CFGLAYOUT_H dependency. | |
12437 | * basic-block.h (get_dominated_by_region): Declare. | |
12438 | * dominance.c (get_dominated_by_region): New function. | |
12439 | * tree-cfg.c: Include cfglayout.h. | |
12440 | (tree_duplicate_bb): Duplicate also phi nodes. | |
12441 | (struct ssa_name_map_entry): New type. | |
12442 | (add_phi_args_after_copy_bb, add_phi_args_after_copy, | |
12443 | ssa_name_map_entry_hash, ssa_name_map_entry_eq, | |
12444 | allocate_ssa_names, rewrite_to_new_ssa_names_def, | |
12445 | rewrite_to_new_ssa_names_use, rewrite_to_new_ssa_names_bb, | |
12446 | rewrite_to_new_ssa_names, tree_duplicate_sese_region): New functions. | |
12447 | * tree-flow.h (tree_duplicate_sese_region, add_phi_args_after_copy_bb, | |
12448 | add_phi_args_after_copy, rewrite_to_new_ssa_names_bb, | |
12449 | rewrite_to_new_ssa_names, allocate_ssa_names, | |
12450 | rewrite_into_loop_closed_ssa, verify_loop_closed_ssa): Declare. | |
12451 | * tree-ssa-loop-ch.c (duplicate_blocks): Removed. | |
12452 | (copy_loop_headers): Use tree_duplicate_sese_region. | |
12453 | ||
12454 | 2004-09-16 Frank Ch. Eigler <fche@redhat.com> | |
12455 | ||
12456 | * profile.c (branch_prob): Restore support for USE_MAPPED_LOCATION. | |
12457 | ||
12458 | 2004-09-16 Jeff Law <law@redhat.com> | |
12459 | ||
12460 | * tree-into-ssa.c (block_defs_stack): New toplevel varray. | |
12461 | (rewrite_block_data): Remove, no longer used. | |
12462 | (rewrite_initialize_block_local_data): Remove, no longer used. | |
12463 | (rewrite_initialize_block): Mark parameters as unused as needed. | |
12464 | Change references to the block local block_defs to be block_defs_stack. | |
12465 | Push a marker onto the block_defs_stack. | |
12466 | (ssa_rewrite_initialize_block): Similarly. | |
12467 | (rewrite_stmt, ssa_rewrite_stmt): Similarly. | |
12468 | (ssa_register_new_def): No longer needs varray argument. Use | |
12469 | block_defs_stack instead. No longer handle possibly null block_defs | |
12470 | varray. Reverse order of items we push on the stack to make it | |
12471 | easier to identify our marker. | |
12472 | (register_new_def): No longer handle possibly null block_defs | |
12473 | varray. | |
12474 | (rewrite_finalize_block): Revamp to look for markers in the global | |
12475 | block_defs_stack varray rather than wiping a block local varray. | |
12476 | Mark arguments as unused as needed. | |
12477 | (ssa_rewrite_finalize_block): Similarly. | |
12478 | (rewrite_into_ssa): Update initialization of dom walker structure | |
12479 | to reflect that we don't need block local data anymore. Initialize | |
12480 | the block_defs_stack varray. | |
12481 | (rewrite_ssa_into_ssa): Similarly. | |
12482 | * tree-ssa-dom.c (block_defs_stack): New toplevel varray. | |
12483 | (struct dom_walk_data): Kill block_defs field. | |
12484 | (tree_ssa_dominator_optimize): Initialize block_defs_stack. | |
12485 | (thread_across_edge): Use the global block_defs_stack instead of | |
12486 | the old block_defs varray. | |
12487 | (dom_opt_initialize_block_local_data): Update now that we don't have | |
12488 | block_defs field to check anymore. | |
12489 | (dom_opt_initialize_block): Push a marker onto block_defs_stack. | |
12490 | (restore_currdefs_to_original_value): Use the new block_defs_stack | |
12491 | instead of a block local varray. | |
12492 | (dom_opt_finalize_block): Similarly. | |
12493 | (record_equivalencs_from_phis): Similarly. | |
12494 | (optimize_stmt, register_definitions_for_stmt): Similarly. | |
12495 | ||
12496 | 2004-09-16 Andrew MacLeod <amacleod@redhat.com> | |
12497 | ||
12498 | PR tree-optimization/17517 | |
12499 | * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't | |
12500 | coalesce same-root variables without checking for abnormal PHI usage. | |
12501 | ||
12502 | 2004-09-16 Daniel Berlin <dberlin@dberlin.org> | |
12503 | ||
e8366202 | 12504 | * cfgloop.h (duplicate_loop): Add prototype. |
7a4515d7 SB |
12505 | * cfgloopmanip.c (duplicate_loop): Make non-static. |
12506 | * lambda-code.c (perfect_nestify): Factor out test whether | |
12507 | we can handle this loop into separate function. | |
12508 | Call it. | |
12509 | (can_convert_to_perfect_nest): New function. | |
12510 | (replace_uses_of_x_with_y): Add modify_stmt call. | |
12511 | * tree-loop-linear.c (linear_transform_loops): Call | |
12512 | rewrite_into_loop_closed_ssa and free_df. | |
12513 | ||
12514 | 2004-09-16 Daniel Berlin <dberlin@dberlin.org> | |
12515 | ||
12516 | * lambda-code.c (invariant_in_loop): is_gimple_min_invariant is | |
12517 | loop invariant as well. | |
12518 | (perfect_nestify): new function. | |
12519 | (gcc_loop_to_lambda_loop): New parameters to track lower bounds, | |
12520 | upper bounds, and steps. | |
12521 | Set outerinductionvar properly. | |
12522 | (gcc_loopnest_to_lambda_loopnest): Add loops and need_perfect | |
12523 | parameters. | |
12524 | Return NULL if we need a perfect loop and can't make one. | |
12525 | (lambda_loopnest_to_gcc_loopnest): Correct algorithm. | |
12526 | (not_interesting_stmt): New function. | |
12527 | (phi_loop_edge_uses_def): Ditto. | |
12528 | (stmt_uses_phi_result): Ditto. | |
12529 | (stmt_is_bumper_for_loop): Ditto. | |
12530 | (perfect_nest_p): Ditto. | |
12531 | (nestify_update_pending_stmts): Ditto. | |
12532 | (replace_uses_of_x_with_y): Ditto. | |
12533 | (stmt_uses_op): Ditto. | |
12534 | (perfect_nestify): Ditto. | |
12535 | * lambda-mat.c (lambda_matrix_id_p): New function. | |
12536 | * lambda-trans.c (lambda_trans_matrix_id_p): Ditto. | |
12537 | * lambda.h: Update prototypes. | |
12538 | * tree-loop-linear (linear_transform_loop): Use new | |
12539 | perfect_nest_p. Detect and ignore identity transform. | |
12540 | * tree-ssa-loop.c (pass_linear_transform): Use TODO_write_loop_closed. | |
12541 | ||
12542 | 2004-09-16 Sebastian Pop <pop@cri.ensmp.fr> | |
12543 | ||
12544 | * tree-loop-linear.c (gather_interchange_stats): Add more comments. | |
12545 | Gather also strides of accessed data. Pass in the data references | |
12546 | array. | |
12547 | (try_interchange_loops): Add a new heuristic for handling the temporal | |
12548 | locality. Pass in the data references array. | |
12549 | (linear_transform_loops): Pass the data references array to | |
12550 | try_interchange_loops. | |
12551 | ||
12552 | 2004-09-16 Kazu Hirata <kazu@cs.umass.edu> | |
12553 | ||
12554 | * doc/invoke.texi: Fix typos. Follow spelling conventions. | |
12555 | ||
12556 | 2004-09-16 Nathan Sidwell <nathan@codesourcery.com> | |
12557 | ||
12558 | * doc/c-tree.texi (Classes): Remove index entries for | |
12559 | TREE_VIA_{PUBLIC,PROTECTED,PRIVATE}. | |
12560 | ||
12561 | 2004-09-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> | |
12562 | ||
12563 | * fold-const.c (fold): Fold difference of addresses. | |
12564 | (ptr_difference_const): Moved from tree-ssa-loop-ivopts, based on | |
12565 | get_inner_reference. | |
12566 | * tree-ssa-loop-ivopts.c (peel_address): Removed. | |
12567 | (ptr_difference_const): Moved to fold-const.c. | |
12568 | (split_address_cost): Use get_inner_reference instead of peel_address. | |
12569 | (ptr_difference_cost): Change type of diff to HOST_WIDE_INT. | |
12570 | * tree.h (ptr_difference_const): Export. | |
12571 | ||
12572 | * tree-ssa-loop-ivopts.c (dump_iv, dump_use, dump_cand): Add induction | |
12573 | variable type to the dump. Fix indentation. | |
12574 | (idx_find_step): Handle nonconstant array_ref_element_size and | |
12575 | array_ref_low_bound. | |
12576 | (idx_record_use): Handle array_ref_element_size and | |
12577 | array_ref_low_bound. | |
12578 | (find_interesting_uses_stmt): Handle memory = nontrivial_expression | |
12579 | statements correctly. | |
12580 | (get_computation_at, iv_value): Do not unshare expressions here. | |
12581 | (rewrite_use_outer): Unshare the expression before it is emitted | |
12582 | to code. | |
12583 | * tree-ssa-loop-niter.c (unsigned_type_for, signed_type_for): | |
12584 | Moved to tree.c. | |
12585 | * tree.c (unsigned_type_for, signed_type_for): Moved from | |
12586 | tree-ssa-loop-niter.c. Use langhooks. | |
12587 | * tree.h (signed_type_for): Export. | |
12588 | ||
12589 | 2004-09-16 David Edelsohn <edelsohn@gnu.org> | |
12590 | ||
12591 | * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): Update | |
12592 | prototype. | |
12593 | ||
12594 | 2004-09-15 Andrew Pinski <pinskia@physics.uc.edu> | |
12595 | ||
12596 | PR target/11572 | |
12597 | * c-incpath.h (target_c_incpath_s): Add extra_pre_includes. | |
12598 | Add two parameters to extra_includes. | |
12599 | (C_INCPATH_INIT): Remove. | |
12600 | * c-incpath.c (register_include_chains): Call extra_pre_includes | |
12601 | before adding the standard include directory. | |
12602 | Update call to extra_includes. | |
12603 | (!defined TARGET_EXTRA_INCLUDES): Update | |
12604 | hook_void_charptr_charptr_int and add !define | |
12605 | TARGET_EXTRA_PRE_INCLUDES. | |
12606 | (!define TARGET_EXTRA_INCLUDES): Define as | |
12607 | hook_void_charptr_charptr_int. | |
12608 | (!define TARGET_EXTRA_PRE_INCLUDES): Likewise. | |
12609 | (target_c_incpath): Always declare. | |
12610 | * fixinclude.c (defined TARGET_EXTRA_INCLUDES): Declare a | |
12611 | empty function. | |
12612 | (define TARGET_EXTRA_PRE_INCLUDES): Likewise. | |
12613 | * config/darwin.h: (darwin_register_frameworks): Update for | |
12614 | the two new parameters. | |
12615 | (darwin_register_objc_includes): Add prototype. | |
12616 | (TARGET_EXTRA_PRE_INCLUDES): Define. | |
12617 | * config/darwin-c.c (darwin_register_objc_includes): New function. | |
12618 | (darwin_register_frameworks): Update for the two new parameters. | |
12619 | (target_c_incpath): Remove. | |
12620 | * config/t-darwin (darwin-c.o): Add $(PREPROCESSOR_DEFINES) to | |
12621 | the compile line. | |
12622 | * doc/tm.texi (TARGET_EXTRA_INCLUDES): Document the two new | |
12623 | parameters. | |
12624 | (TARGET_EXTRA_PRE_INCLUDES): Document. | |
12625 | ||
12626 | * gcc.c (spec_function): Add replace-outfile. | |
12627 | (replace_outfile_spec_function): New function. | |
12628 | * config/darwin.h (LINK_SPEC): Add replace | |
12629 | -lobjc with -lobjc-gnu if -fgnu-runtime is | |
12630 | supplied. | |
12631 | * invoke.texi (replace-outfile): Document. | |
12632 | ||
12633 | 2004-09-13 Jan Hubicka <jh@suse.cz> | |
12634 | ||
12635 | * predict.c (expr_expected_value, strip_builtin_expect): New function. | |
12636 | (tree_predict_by_opcode): Use it. | |
12637 | (tree_estimate_probability): Add, for now disabled, | |
12638 | strip_builtin_expect call. | |
12639 | ||
12640 | 2004-09-15 James E Wilson <wilson@specifixinc.com> | |
12641 | ||
12642 | PR target/17455 | |
12643 | * config/ia64/ia64.c (ia64_function_ok_for_sibcall): Return false | |
12644 | if current_function_decl is a sibcall. | |
12645 | ||
12646 | 2004-09-15 Mark Mitchell <mark@codesourcery.com> | |
12647 | ||
12648 | * varasm.c (default_function_rdodata_section): Make sure to pass | |
12649 | along a decl for a link-once section. | |
12650 | ||
12651 | 2004-09-15 Richard Henderson <rth@redhat.com> | |
12652 | ||
12653 | * tree-ssa-operands.c (add_call_clobber_ops): Fix unused variable | |
12654 | warning with code disable. Fix formatting. | |
12655 | ||
12656 | 2004-09-15 Steven Bosscher <stevenb@suse.de> | |
12657 | ||
12658 | * Makefile.in (tree-ssa-dom.o): Depend on tree-ssa-propagate.h. | |
12659 | * tree-ssa-dom.c (cprop_into_stmt): Recompute TREE_INVARIANT | |
12660 | after propagating into an ADDR_EXPR. | |
12661 | ||
12662 | 2004-09-15 Andrew Pinski <apinski@apple.com> | |
12663 | ||
12664 | PR rtl-opt/17427 | |
12665 | * gcse.c (process_insert_insn): insn_invalid_p has side effects. | |
12666 | Move it out of gcc_assert. | |
12667 | ||
12668 | 2004-09-15 Joseph S. Myers <jsm@polyomino.org.uk> | |
12669 | ||
12670 | * attribs.c, builtins.c, c-format.c, c-pch.c, coverage.c, | |
12671 | except.c, fold-const.c, function.c, langhooks.c, params.c, | |
12672 | reload.c, reload1.c, stmt.c, stor-layout.c, toplev.c, tree-cfg.c, | |
12673 | tree-dump.c, tree-mudflap.c, tree.c, varasm.c: Use %<, %> and %q | |
12674 | for quoting in diagnostics going through pretty-print.c. Use '' | |
12675 | for quoting in other diagnostic text. | |
12676 | * langhooks.c: Include intl.h. Mark text locating diagnostics for | |
12677 | translation. | |
12678 | * Makefile.in (langhooks.o): Update dependencies. | |
12679 | * pretty-print.h (pp_printf): Mark as accepting GCC diagnostic | |
12680 | formats. | |
12681 | ||
12682 | 2004-09-15 Mark Mitchell <mark@codesourcery.com> | |
12683 | ||
12684 | * configure.ac: Check for COMDAT support. Robustify check for | |
12685 | SHF_MERGE support. | |
12686 | * configure: Regenerated. | |
12687 | * config.in: Likewise. | |
12688 | * langhooks-def.h (lhd_comdat_group): New function. | |
12689 | (LANG_HOOKS_COMDAT_GROUP): New macro. | |
12690 | (LANG_HOOKS_DECLS): Use it. | |
12691 | * langhooks.c (lhd_comdat_group): Define. | |
12692 | * langhooks.h (lang_hooks_for_decls): Add comdat_group. | |
12693 | * output.h (named_section_flags): Make it a macro. | |
12694 | (named_section_real): New function. | |
12695 | (default_no_named_section): Add decl parameter. | |
12696 | (default_elf_asm_named_section): Likewise. | |
12697 | (default_coff_asm_named_section): Likewise. | |
12698 | (default_pe_asm_named_section): Likewise. | |
12699 | * target.h (gcc_target): Adjust type of named_section. | |
12700 | * varasm.c (named_section_flags): Rename to named_section_real. | |
12701 | Add decl parameter. | |
12702 | (default_no_named_section): Add decl parameter. | |
12703 | (default_elf_asm_named_section): Use COMDAT, if available. Deal | |
12704 | with the case that ASM_COMMENT_START is "@". | |
12705 | (default_coff_asm_named_section): Add decl parameter. | |
12706 | (default_pe_asm_named_section): Likewise. | |
12707 | * config/alpha/alpha.c (vms_asm_named_section): Add decl | |
12708 | parameter. | |
12709 | (unicosmk_asm_named_section): Likewise. | |
12710 | * config/arm/arm.c (arm_elf_asm_named_section): Remove. | |
12711 | * config/arm/elf.h (TARGET_ASM_NAMED_SECTION): Likewise. | |
12712 | * config/c4x/c4x.c (c4x_asm_named_section): Add decl parameter. | |
12713 | * config/cris/cris-protos.h (cris_target_asm_named_section): | |
12714 | Likewise. | |
12715 | * config/cris/cris.c (cris_target_asm_named_section): | |
12716 | Likewise. | |
12717 | * config/darwin/darwin-protos.h (darwin_asm_named_section): | |
12718 | Likewise. | |
12719 | * config/darwin/darwin.c (darwin_asm_named_section): Likewise. | |
12720 | * config/h8300/h8300.c (h8300_asm_named_section): Likewise. | |
12721 | * config/i386/i386-protos.h (i386_pe_asm_named_section): | |
12722 | Likewise. | |
12723 | * config/i386/winnt.c (i386_pe_asm_named_section): Likewise. | |
12724 | * config/m68k/m68k.c (m68k_coff_asm_named_section): Likewise. | |
12725 | * config/mcore/mcore.c (mcore_asm_named_section): Likewise. | |
12726 | * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): | |
12727 | Likewise. | |
12728 | * config/sparc/sparc.c (sparce_elf_asm_named_section): Likewise. | |
12729 | * cp/cp-lang.h (LANG_HOOKS_COMDAT_GROUP): Define. | |
12730 | * cp/cp-tree.h (cxx_comdat_group): Declare. | |
12731 | * cp/decl.c (cxx_comdat_group): New function. | |
12732 | ||
12733 | 2004-09-15 Jan Hubicka <jh@suse.cz> | |
12734 | ||
12735 | * tree-ssa.c (verify_flow_sensitive_alias_info): Do not walk dead nodes. | |
12736 | * tree-tailcall.c (eliminate_tail_call): Release SSA name. | |
12737 | ||
12738 | * tree-cfg.c (remove_bb): Release SSA defs. | |
12739 | ||
12740 | 2004-09-15 Kazu Hirata <kazu@cs.umass.edu> | |
12741 | ||
12742 | * doc/tm.texi: Follow spelling conventions. | |
12743 | ||
12744 | 2004-09-15 Kazu Hirata <kazu@cs.umass.edu> | |
12745 | ||
12746 | * tree-ssa-dom.c: Fix comment typos. | |
12747 | ||
12748 | 2004-09-15 Alan Modra <amodra@bigpond.net.au> | |
12749 | ||
12750 | * config/rs6000/linux-unwind.h (struct gcc_pt_regs): Extend to | |
12751 | include ccr. | |
12752 | (ppc_fallback_frame_state): Save location of CR. | |
12753 | ||
12754 | 2004-09-15 Jakub Jelinek <jakub@redhat.com> | |
12755 | ||
12756 | * expr.c (string_constant): Handle also read-only variables | |
12757 | initialized to string literals. | |
12758 | ||
12759 | * builtins.c (expand_builtin_memmove): Optimize memmove (x, y, 1) | |
12760 | into memcpy (x, y, 1) if memcpy can be expanded inline. | |
12761 | ||
12762 | 2004-09-15 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> | |
12763 | ||
12764 | PR tree-optimization/17468 | |
e8366202 | 12765 | * tree-ssa.c (verify_use, verify_phi_args, verify_ssa): Verify that |
7a4515d7 SB |
12766 | definition inside a block precede uses. |
12767 | * tree-tailcall.c (adjust_return_value): Emit statements in the | |
12768 | correct order. | |
12769 | ||
12770 | 2004-09-15 Richard Sandiford <rsandifo@redhat.com> | |
12771 | ||
12772 | * config/mips/mips.h (POINTERS_EXTEND_UNSIGNED): Delete. | |
12773 | ||
12774 | 2004-09-15 Eric Botcazou <ebotcazou@libertysurf.fr> | |
12775 | ||
12776 | * doc/install.texi (sparc-sun-solaris2*): Properly format warning. | |
12777 | ||
12778 | 2004-09-14 Jeff Law <law@redhat.com> | |
12779 | ||
12780 | * tree-ssa-dom.c (avail_exprs_stack): New global varray. | |
12781 | (struct dom_walk_block_data): Remove avail_exprs member. | |
12782 | (tree_ssa_dominator_optimize): Initialize avail_exprs_stack. | |
12783 | (lookup_avail_expr): No longer need to pass in address of | |
12784 | the block local available exprs stack. All callers changed. | |
12785 | (simplify_cond_and_lookup_avail_expr): Similarly. | |
12786 | (simplify_switch_and_lookup_avail_expr): Similarly. | |
12787 | (get_eq_expr_value, record_cond): Likewise. | |
12788 | (record_dominating_conditions): Likewise. | |
12789 | (update_rhs_and_lookup_avail_expr): Likewise. | |
12790 | (record_equivalences_from_stmt): Likewise. | |
12791 | (dom_opt_initialize_block_local_data): No longer test state of | |
12792 | block local avail_exprs. | |
12793 | (dom_opt_initialize_block): Mark unwind point in the global | |
12794 | avail_expr stack. | |
12795 | (remove_expressions_from_table): Update to unwind to the | |
12796 | most recent unwind marker in the global avail_expr stack. | |
12797 | All callers changed. | |
12798 | (dom_opt_finalize_block): Mark unwind point in the global | |
12799 | avail_expr stack as needed. | |
12800 | (record_cond): Push elements into the global avail_exprs stack. | |
12801 | ||
12802 | * tree-dfa.c (free_df_for_stmt): No longer static. | |
12803 | (free_df): Update comments. | |
12804 | * tree-flow.h (free_df_for_stmt): Prototype. | |
12805 | * tree-ssa-dse.c (dse_optimize_stmt): Call free_df_for_stmt. Also | |
12806 | call release_defs. | |
12807 | ||
12808 | 2004-09-14 Diego Novillo <dnovillo@redhat.com> | |
12809 | ||
12810 | PR tree-optimization/17252 | |
12811 | * tree-ssa-alias.c (may_alias_p): Don't assume that a | |
12812 | pointer may not point to itself when using relaxed | |
12813 | aliasing rules. | |
12814 | ||
12815 | 2004-09-14 Richard Henderson <rth@redhat.com> | |
12816 | ||
12817 | PR middle-end/17397 | |
12818 | * gimplify.c (gimplify_addr_expr): Don't inadvertently change types | |
12819 | while folding <ADDR_EXPR <INDIRECT_REF X>>. | |
12820 | ||
12821 | 2004-09-14 Andrew Pinski <apinski@apple.com> | |
12822 | ||
12823 | * tree-ssa-copy.c (may_propagate_copy): Don't check the aliasing | |
12824 | sets of the pointers but the aliasing sets of what they point to. | |
12825 | ||
12826 | 2004-09-14 Roger Sayle <roger@eyesopen.com> | |
12827 | ||
12828 | PR rtl-optimization/9771 | |
12829 | * regclass.c (CALL_REALLY_USED_REGNO_P): New macro to eliminate | |
12830 | conditional compilation in init_reg_sets_1. | |
12831 | (init_reg_sets_1): Let global_regs[i] take priority over the frame | |
12832 | (but not stack) pointer exceptions to regs_invalidated_by_call. | |
12833 | (globalize_reg): Globalizing a fixed register may need to update | |
12834 | regs_invalidated_by_call. | |
12835 | ||
12836 | 2004-09-14 Diego Novillo <dnovillo@redhat.com> | |
12837 | ||
12838 | PR tree-optimization/15262 | |
12839 | * tree-dfa.c (dump_variable): Also print the type of the | |
12840 | variable. | |
12841 | * tree-ssa-alias.c (compute_flow_insensitive_aliasing): If two | |
12842 | memory tags are of conflicting alias sets but have no aliased | |
12843 | symbols in common, add one tag to the alias set of the other. | |
12844 | (setup_pointers_and_addressables): Remove hack to deal with | |
12845 | programs with no aliased symbols. | |
12846 | (may_alias_p): Don't special case aggregate types. | |
12847 | ||
12848 | 2004-09-14 Joseph S. Myers <jsm@polyomino.org.uk> | |
12849 | ||
12850 | PR c/15498 | |
12851 | * doc/invoke.texi (Environment Variables): Correct example locale. | |
12852 | ||
12853 | 2004-09-14 Jan Hubicka <jh@suse.cz> | |
12854 | ||
12855 | * cfg.c (expunge_block): Revert previous change adding ggc_free call. | |
12856 | ||
12857 | 2004-09-14 Mark Mitchell <mark@codesourcery.com> | |
12858 | ||
12859 | * config.gcc: Do not build a shared libgcc for arm-none-eabi. | |
12860 | ||
12861 | 2004-09-14 Joseph S. Myers <jsm@polyomino.org.uk> | |
12862 | ||
12863 | * c-tree.h (struct c_declspecs): Add const_p, volatile_p and | |
12864 | restrict_p. | |
12865 | (struct c_declarator): Change u.array.quals and pointer_quals to | |
12866 | int. Add u.array.attrs. | |
12867 | (quals_from_declspecs): New. | |
12868 | * c-decl.c (quals_from_declspecs): New. | |
12869 | (shadow_tag_warned): Give more specific message for useless type | |
12870 | qualifiers. | |
12871 | (build_array_declarator, set_array_declarator_inner, | |
12872 | grokdeclarator, make_pointer_declarator, build_null_declspecs, | |
12873 | declspecs_add_qual): Update for changed structures. | |
12874 | ||
12875 | 2004-09-14 Jeff Law <law@redhat.com> | |
12876 | ||
12877 | * tree-ssa-dom.c (stmts_to_rescan): Move from a block-local | |
12878 | to a global varray. | |
12879 | (tree_ssa_dominator_optimize): Allocate stmts_to_rescan. | |
12880 | (dom_opt_initialize_block_local_data): No longer test state | |
12881 | of stmts_to_rescan. | |
12882 | (dom_opt_finalize_block): Update due to change in scope of | |
12883 | stmts_to_rescan. | |
12884 | (optimize_stmt): Similarly. | |
12885 | ||
12886 | 2004-09-14 Kazu Hirata <kazu@cs.umass.edu> | |
12887 | ||
12888 | * cgraph.h, cgraphunit.c, fold-const.c, lambda-mat.c, | |
12889 | lambda.h, profile.c, tree-optimize.c, tree-sra.c, vec.h: Fix | |
12890 | comment typos. Follow spelling conventions. | |
12891 | ||
12892 | 2004-09-14 Kazu Hirata <kazu@cs.umass.edu> | |
12893 | ||
12894 | * config/darwin-c.c, config/alpha/alpha.c, config/i386/i386.c, | |
12895 | config/i386/predicates.md, config/sparc/sparc.c: Follow | |
12896 | spelling conventions. | |
12897 | ||
12898 | 2004-09-14 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> | |
12899 | Steven Bosscher <stevenb@suse.de> | |
12900 | ||
12901 | * Makefile.in (loop-unroll.o): Add HASHTAB_H and RECOG_H dependency. | |
12902 | * basic-block.h (struct reorder_block_def): Add copy_number field. | |
12903 | * cfgloop.h (biv_p): Declare. | |
12904 | * cfgloopmanip.c (duplicate_loop_to_header_edge): Set copy_number. | |
12905 | * common.opt (fsplit-ivs-in-unroller): New flag. | |
12906 | * loop-iv.c (biv_p): New function. | |
12907 | * loop-unroll.c: Include hashtab.h and recog.h. | |
12908 | (struct iv_to_split, struct split_ivs_info): New types. | |
12909 | (analyze_ivs_to_split, si_info_start_duplication, split_ivs_in_copies, | |
12910 | free_si_info, si_info_hash, si_info_eq, analyze_iv_to_split_insn, | |
12911 | determine_split_iv_delta, get_ivts_expr, allocate_basic_variable, | |
12912 | insert_base_initialization, split_iv): New functions. | |
12913 | (peel_loop_completely, unroll_loop_constant_iterations, | |
12914 | unroll_loop_runtime_iterations, peel_loop_simple, unroll_loop_stupid): | |
12915 | Use them. | |
12916 | * doc/invoke.texi (-fsplit-ivs-in-unroller): Document. | |
12917 | ||
12918 | 2004-09-14 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> | |
12919 | ||
12920 | * tree-cfg.c (thread_jumps): Update dominators correctly in | |
12921 | case destination of threaded edge dominates its source. | |
12922 | ||
12923 | 2004-09-14 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> | |
12924 | ||
12925 | * unroll.c: Removed. | |
12926 | * loop.h: Removed. | |
12927 | * Makefile.in (LOOP_H, unroll.o): Removed. | |
12928 | (toplev.o, passes.o, stmt.o, integrate.o, loop.o): Remove LOOP_H | |
12929 | dependency. | |
12930 | * alias.c (init_alias_analysis): Remove flag_old_unroll_loops | |
12931 | reference. | |
12932 | * cfgloop.h (LOOP_PREFETCH, loop_optimize): Moved from loop.h. | |
12933 | * common.opt (fold-unroll-loops, fold-unroll-all-loops): Removed. | |
12934 | * loop.c: Do not include loop.h. | |
12935 | (LOOP_INFO, LOOP_MOVABLES, LOOP_REGS, LOOP_IVS, INSN_LUID, | |
12936 | REGNO_FIRST_LUID, REGNO_LAST_LUID, enum g_types, struct induction, | |
12937 | struct iv_class, enum iv_mode, struct iv, REG_IV_TYPE, REG_IV_INFO, | |
12938 | REG_IV_CLASS, struct loop_ivs, struct loop_mem_info, struct loop_reg, | |
12939 | struct loop_regs, struct loop_movables, struct loop_info): Moved | |
12940 | from loop.h. | |
12941 | (back_branch_in_range_p, fold_rtx_mult_add, biv_total_increment, | |
12942 | reg_dead_after_loop, final_biv_value, loop_find_equiv_value, | |
12943 | find_common_reg_term, loop_iterations, final_giv_value): Moved | |
12944 | from unroll.c. | |
12945 | (uid_luid, uid_loop, max_uid_for_loop, max_reg_before_loop, | |
12946 | loop_dump_stream, for_each_insn_in_loop, express_from, | |
12947 | extend_value_for_giv, loop_iv_add_mult_emit_before, | |
12948 | loop_iv_add_mult_sink, loop_iv_add_mult_hoist, | |
12949 | loop_insn_first_p, get_condition_for_loop, | |
12950 | loop_insn_emit_before, loop_insn_hoist, | |
12951 | loop_insn_sink): Made static. | |
12952 | (loop_invariant_p): Made static. Removed flag_old_unroll_loops | |
12953 | reference. | |
12954 | (strength_reduce): Do not call unroller. | |
12955 | (record_giv): Do not initialize unrolled field. | |
12956 | (prescan_loop): Do not set loop_info->preconditioned. | |
12957 | * passes.c: Do not include loop.h. | |
12958 | (rest_of_handle_loop_optimize): Do not call unroller. | |
12959 | * predict.c: Do not include loop.h. | |
12960 | * rtl.h (NOTE_PRECONDITIONED): Removed. | |
12961 | * stmt.c: Do not include loop.h. | |
12962 | * toplev.c: Do not include loop.h. | |
12963 | (process_options): Do not handle flag_old_unroll_loops. | |
12964 | ||
12965 | * doc/invoke.texi (fold-unroll-loops, fold-unroll-all-loops): | |
12966 | Documentation removed. | |
12967 | * doc/passes.texi (unroll.c, loop.h): Documentation removed. | |
12968 | ||
12969 | 2004-09-14 Nathan Sidwell <nathan@codesourcery.com> | |
12970 | ||
12971 | * Makefile.in (STAGE1_CHECKING): New variable. | |
12972 | (stage1_build): Use it. | |
12973 | * tree-ssa.c (verify_ssa): Preserve state of dominance | |
12974 | information. | |
12975 | ||
12976 | 2004-09-14 Uros Bizjak <uros@kss-loka.si> | |
12977 | ||
12978 | * config/i386/i386.c (output_fp_compare): Add generation | |
12979 | of ftst instruction. | |
12980 | * config/i386/i386.md (*cmpfp_0_sf, cmpfp_0_df, cmpfp_0_xf): | |
12981 | Use output_fp_compare () function. | |
12982 | (cmpfp_i, *cmpfp_i_sse, *cmpfp_i_sse_only): Fix insn constraint. | |
12983 | (fix_truncdi_memory): Remove operands[5] copy. | |
12984 | ||
12985 | 2004-09-14 Kazu Hirata <kazu@cs.umass.edu> | |
12986 | ||
12987 | * config/m32r/m32r.md, config/m68k/m68kelf.h, | |
12988 | config/mcore/mcore.md, config/rs6000/linux64.h, | |
12989 | config/rs6000/rs6000.c, config/sparc/sparc.c: Fix comment | |
12990 | typos. | |
12991 | ||
12992 | 2004-09-13 James E Wilson <wilson@specifixinc.com> | |
12993 | ||
12994 | * Makefile.in (GEN_PROTOS_OBJS): Add $(BUILD_ERRORS). | |
12995 | * gen-protos.c: Include errors.h. | |
12996 | (progname): Delete. | |
12997 | ||
12998 | 2004-09-14 Jan Hubicka <jh@suse.cz> | |
12999 | ||
13000 | * Makefile.in (predict.o): Depend on tree-scalar-evolution.h | |
13001 | * predict.c: Include tree-scalar-evolution.h and cfgloop.h | |
13002 | (predict_loops): Use number_of_iterations_exit to predict | |
13003 | number of iterations on trees. | |
13004 | ||
13005 | 2004-09-13 Dale Johannesen <dalej@apple.com> | |
13006 | ||
13007 | PR 17408 | |
13008 | PR 17409 | |
13009 | * c-decl.c (start_decl): Repair TREE_STATIC for initialized | |
13010 | objects declared extern. | |
13011 | ||
13012 | 2004-09-14 Paul Brook <paul@codesourcery.com> | |
13013 | ||
13014 | * config/arm/arm.c (arm_expand_prologue): Make args_to_push a | |
13015 | HOST_WIDE_INT. | |
13016 | ||
13017 | 2004-09-13 Daniel Jacobowitz <dan@debian.org> | |
13018 | ||
13019 | * fold-const.c (fold_checksum_tree): Ignore TYPE_CACHED_VALUES. | |
13020 | Only use TYPE_BINFO for aggregates. | |
13021 | ||
13022 | 2004-09-13 Daniel Jacobowitz <dan@debian.org> | |
13023 | ||
13024 | * expmed.c (synth_mult): Initialize latency. Check cost before | |
13025 | checking ops count. | |
13026 | ||
13027 | 2004-09-13 Kenneth Zadeck <Kenneth.Zadeck@NaturalBridge.com> | |
13028 | ||
13029 | * tree-ssa-operands.c (get_call_expr_operands): Added parm to | |
13030 | add_call_clobber_ops and add_call_read_ops. | |
13031 | (add_call_clobber_ops, add_call_read_ops): Added code to reduce | |
13032 | the number of vdefs and vuses inserted based on analysis of global | |
a1d1988f MS |
13033 | variables across calls. |
13034 | * tree-dfa.c (find_referenced_vars): Needed to reset static | |
13035 | var maps before each function is compiled. | |
7a4515d7 SB |
13036 | * cgraphunit.c: |
13037 | (static_vars_to_consider_by_tree,static_vars_to_consider_by_uid, | |
13038 | static_vars_info,functions_to_static_vars_info,module_statics_escape, | |
13039 | all_module_statics,searchc_env,dfs_info): New fields to support | |
13040 | analysis of static global variables. | |
13041 | (print_order, convert_UIDs_in_bitmap, new_static_vars_info, | |
13042 | cgraph_reset_static_var_maps, get_global_static_vars_info, | |
13043 | get_global_statics_not_read, get_global_statics_not_written, | |
13044 | searchc, cgraph_reduced_inorder, has_proper_scope_for_analysis, | |
13045 | check_rhs_var, check_lhs_var, get_asm_expr_operands, | |
13046 | process_call_for_static_vars, scan_for_static_refs, | |
13047 | cgraph_characterize_statics_local, cgraph_get_static_name_by_uid, | |
13048 | clear_static_vars_maps, cgraph_propagate_bits, | |
13049 | cgraph_characterize_statics): New. Functions to support analysis | |
13050 | of static global variables. | |
13051 | (cgraph_mark_local_and_external_functions): Renamed from: | |
13052 | (cgraph_mark_local_functions) | |
13053 | (cgraph_expand_all_functions): Remove call to | |
13054 | cgraph_mark_local_and_external_functions. | |
13055 | (cgraph_optimize): Added driver to analyze static variables whose | |
a1d1988f MS |
13056 | scope is within the compilation unit. |
13057 | * cgraph.h (struct cgraph_local_info, GTY): Added | |
13058 | statics_read, statics_written, local, calls_read_all, | |
13059 | calls_write_all, for_functions_valid. (struct cgraph_node): | |
13060 | Added next_cycle. | |
13061 | * cgraph.c (dump_cgraph_node): Added print routines for new fields. | |
13062 | * makefile.in: macroized cgraph.h, added cgraphunit.c to the ggc | |
7a4515d7 SB |
13063 | list. |
13064 | ||
13065 | 2004-09-13 Joseph S. Myers <jsm@polyomino.org.uk> | |
13066 | ||
13067 | * c-decl.c (grokdeclarator): Correct comments about where storage | |
13068 | class specifiers are rejected by grammar and add corresponding | |
13069 | asserts. Diagnose typedefs and parameters declared inline. | |
13070 | Change warning for inline main to a pedwarn. Only diagnose inline | |
13071 | main if hosted. | |
13072 | (declspecs_add_scspec): Allow duplicate "inline". | |
13073 | ||
13074 | 2004-09-13 Steve Ellcey <sje@cup.hp.com> | |
13075 | ||
13076 | * config/ia64/ia64.c (ia64_scalar_mode_supported_p): New. | |
13077 | (TARGET_SCALAR_MODE_SUPPORTED_P): New. | |
13078 | ||
13079 | 2004-09-13 Richard Henderson <rth@redhat.com> | |
13080 | ||
13081 | PR 17436 | |
13082 | * tree.h (TYPE_CONTAINS_PLACEHOLDER_INTERNAL): New. | |
13083 | (tree_type): Replace spare with contains_placeholder_bits. | |
13084 | (type_contains_placeholder_1): Rename from type_contains_placeholder_p, | |
13085 | make static. Remove seen_types list. | |
13086 | (type_contains_placeholder_p): New. | |
13087 | ||
13088 | 2004-09-13 James E Wilson <wilson@specifixinc.com> | |
13089 | ||
13090 | * config/mips/mips.c (CODE_FOR_mips_sqrt_ps): New. | |
13091 | (sb1_bdesc, bdesc_map, bdesc_arrays): New. | |
13092 | (mips_expand_builtin): Add SB-1 support. Use bdesc_map and | |
13093 | bdesc_arrays instead of mips_bdesc. | |
13094 | (mips_init_builtins): Likewise. | |
13095 | * config/mips/mips.h (TARGET_SB1): New. | |
13096 | (HAVE_SQRT_P): Delete. | |
13097 | * config/mips/mips.md (divide_condition): Support V2SF. | |
13098 | (sqrt_condition, recip_condition): New. | |
13099 | (div<mode>3): Use ANYF instead of SCALARF. | |
13100 | (*div<mode>3): Use ANYF instead of SCALARF. Use UNITMODE instead of | |
13101 | MODE. | |
13102 | (*recip<mode>3, *rsqrt<mode>a, *rsqrt<mode>b): Use recip_condition | |
13103 | instead of ISA_HAS_FP4. Use ANYF instead of SCALARF. Use UNITMODE | |
13104 | instead of MODE. | |
13105 | (sqrt<mode>2): Use sqrt_condition instead of HAVE_SQRT_P. Use ANYF | |
13106 | instead of SCALARF. Use UNITMODE instead of MODE. | |
13107 | ||
13108 | 2004-09-13 Zack Weinberg <zack@codesourcery.com> | |
13109 | ||
13110 | * config.in: Regenerate after removal of libbanshee. | |
13111 | ||
13112 | 2004-09-13 Andrew MacLeod <amacleod@redhat.com> | |
13113 | ||
13114 | PR tree-optimization/17400 | |
13115 | * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't | |
13116 | coalesce partitions when one occurs in an abnormal PHI. | |
13117 | ||
13118 | 2004-09-13 Andrew Pinski <apinski@apple.com> | |
13119 | ||
13120 | * config/rs6000/darwin.h (ASM_OUTPUT_COMMON): Change variable size's | |
13121 | name to _new_size. | |
13122 | ||
13123 | 2004-09-13 Richard Henderson <rth@redhat.com> | |
13124 | ||
13125 | PR inline-asm/6806 | |
13126 | * cselib.c (cselib_invalidate_rtx): Export. Remove unused args. | |
13127 | (cselib_invalidate_rtx_note_stores): New. | |
13128 | (cselib_record_sets, cselib_process_insn): Update to match. | |
13129 | * cselib.h (cselib_invalidate_rtx): Declare. | |
13130 | * postreload.c (reload_cse_simplify): Invalidate asm clobbers. | |
13131 | ||
13132 | 2004-09-13 Richard Henderson <rth@redhat.com> | |
13133 | ||
13134 | PR tree-opt/10528 | |
13135 | * tree-inline.c (copy_body_r): Recompute bits for ADDR_EXPR, | |
13136 | after copying its argument. | |
13137 | ||
13138 | 2004-09-13 Joseph S. Myers <jsm@polyomino.org.uk> | |
13139 | ||
13140 | * c-common.c, c-decl.c, c-lex.c, c-objc-common.c, c-opts.c, | |
13141 | c-parse.in, c-pragma.c, c-typeck.c: Use %q, %< and %> for quoting | |
13142 | in diagnostics. Use %' for English apostrophes. | |
13143 | * c-tree.h (ATTRIBUTE_GCC_CDIAG): Define. | |
13144 | (pedwarn_c90, pedwarn_c99): Use it. | |
13145 | * c-decl.c (lookup_label): Quote label name in diagnostic. | |
13146 | * c-parse.in (yyprint): Use ' instead of ` for left quote. | |
13147 | * c-typeck.c (warn_for_assignment): Likewise. | |
13148 | ||
13149 | 2004-09-13 Jan Hubicka <jh@suse.cz> | |
13150 | ||
13151 | * i386.c (x86_schedule): New global variable. | |
13152 | (override_options): Disable scheduling when not supported. | |
13153 | * i386.h (x86_schedule): Declare. | |
13154 | (TARGET_SCHEDULE): New macro. | |
13155 | ||
13156 | 2004-09-12 Richard Henderson <rth@redhat.com> | |
13157 | ||
13158 | PR c++/16254 | |
13159 | * fold-const.c (fold) <case CLEANUP_POINT_EXPR>: Remove. | |
13160 | * tree.c, tree.h (has_cleanups): Remove. | |
13161 | ||
13162 | 2004-09-12 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> | |
13163 | ||
13164 | * tree-ssa-loop-manip.c (split_loop_exit_edge): Handle non-ssaname | |
13165 | arguments of the phi nodes correctly. | |
13166 | ||
13167 | 2004-09-12 Jan Hubicka <jh@suse.cz> | |
13168 | ||
13169 | * ggc-common.c (cmp_statistics): Fix sorting. | |
13170 | ||
13171 | 2004-09-12 David Edelsohn <edelsohn@gnu.org> | |
13172 | ||
13173 | PR target/16795 | |
13174 | * expmed.c (expand_divmod): If cheap power of 2 divide is | |
13175 | available, use it for negative constant as well. | |
13176 | ||
13177 | 2004-09-12 Andrew Pinski <apinski@apple.com> | |
13178 | ||
13179 | * darwin.h (ASM_OUTPUT_COMMON): Make sure we do not have a | |
13180 | size of 0. | |
13181 | ||
13182 | * tree-chrec.c (initialize_scalar_evolutions_analyzer): Remove. | |
13183 | ||
13184 | 2004-09-12 Richard Henderson <rth@redhat.com> | |
13185 | ||
13186 | * config/i386/i386.c (ix86_split_ashldi): Special case op1 as one | |
13187 | or minus one. | |
13188 | (ix86_split_ashrdi, ix86_split_lshrdi): Clean up conditions for | |
13189 | post-reload, and scratch NULL. | |
13190 | * config/i386/i386.md (testqi_1): Use FLAGS_REG name. | |
13191 | (x86_shift_adj_2): Use ix86_expand_clear. | |
13192 | (ashldi3): Remove CMOVE expansion difference. | |
13193 | (ashldi3_1): Remove. | |
13194 | (*ashldi3_1): Rename from *ashldi3_2. Use reg_or_pm1_operand and | |
13195 | add constraints for immediates. New peephole for split-with-temp. | |
13196 | Run splitter after peep2 pass. | |
13197 | (ashrdi3, ashrdi3_1, ashrdi3_2): Similarly. | |
13198 | (lshrdi3, lshrdi3_1, lshrdi3_2): Similarly. | |
13199 | (setcc_2): Rename with *. | |
13200 | * config/i386/predicates.md (reg_or_pm1_operand): New. | |
13201 | (ashldi_input_operand): New. | |
13202 | ||
13203 | 2004-09-12 Richard Henderson <rth@redhat.com | |
13204 | ||
13205 | * print-rtl.c (print_decl_name): New. | |
13206 | (print_mem_expr): Use it. | |
13207 | ||
13208 | 2004-09-12 Richard Henderson <rth@redhat.com | |
13209 | ||
13210 | PR 17186, part deux | |
13211 | * except.c (sjlj_emit_function_exit): Fix logic locating | |
13212 | sjlj_exit_after in final block. | |
13213 | ||
13214 | 2004-09-12 Toon Moene <toon@moene.indiv.nluug.nl> | |
13215 | ||
13216 | * common.opt: Remove flags -fmove-all-movables and | |
13217 | -freduce-all-givs. | |
13218 | * loop-invariant.c (find_invariants_to_move): | |
13219 | Remove all uses of flag_move_all_movables. | |
13220 | * loop.c (move_movables): Remove all uses of | |
13221 | flag_move_all_movables. | |
13222 | (strength_reduce): Remove all uses of | |
13223 | flag_reduce_all_givs. | |
13224 | * doc/invoke.texi: Remove documentation of flags | |
13225 | -fremove-all-movables and -freduce-all-givs. | |
13226 | ||
13227 | 2004-09-11 Roger Sayle <roger@eyesopen.com> | |
13228 | ||
13229 | PR middle-end/17411 | |
13230 | * tree-sra.c (generate_element_zero): Revert recent build_int_cst | |
13231 | change. elt->type may be a floating point type, so use fold_convert. | |
13232 | ||
13233 | 2004-09-11 Geoffrey Keating <geoffk@apple.com> | |
13234 | ||
13235 | * config/darwin.c (machopic_validate_stub_or_non_lazy_ptr): Mark | |
13236 | the thing referenced as used, not the stub itself. | |
13237 | ||
13238 | 2004-09-11 Joseph S. Myers <jsm@polyomino.org.uk> | |
13239 | ||
13240 | * c-tree.h (enum c_storage_class): New. | |
13241 | (struct c_declspecs): Add storage_class, inline_p and thread_p. | |
13242 | * c-decl.c (shadow_tag_warned): Give errors for "inline" in empty | |
13243 | declarations and "auto" or "register" in file scope empty | |
13244 | declarations. Give more specific warnings for other cases of | |
13245 | storage class specifiers in empty declarations. | |
13246 | (grokdeclarator): Update for new structures. Don't check for | |
13247 | multiple storage classes. Diagnose file-scope "register" if | |
13248 | pedantic. | |
13249 | (build_null_declspecs): Update. | |
13250 | (declspecs_add_scspec): Update. Diagnose multiple storage class | |
13251 | specifiers and invalid uses of "__thread". | |
13252 | ||
13253 | 2004-09-11 Zack Weinberg <zack@codesourcery.com> | |
13254 | ||
13255 | * tree.c (tree_code_size): New function, bulk of code from tree_size. | |
13256 | (tree_size, make_node): Use it. | |
13257 | * tree-ssa-pre.c (init_pre): Use it. | |
13258 | * tree.h: Prototype it. | |
13259 | ||
13260 | 2004-09-11 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> | |
13261 | ||
13262 | * tree-cfg.c (set_bb_for_stmt): Use PHI_BB. | |
13263 | * tree-dfa.c (compute_immediate_uses, add_immediate_use, | |
13264 | redirect_immediate_use): Use PHI_DF. | |
13265 | * tree-flow-inline.h (stmt_ann): Abort on phi nodes. | |
13266 | (bb_for_stmt): Use PHI_BB. | |
13267 | (get_immediate_uses): Use PHI_DF. | |
13268 | * tree-ssa-dse.c (max_stmt_uid): New variable. | |
13269 | (get_stmt_uid): New function. | |
13270 | (dse_optimize_stmt, dse_record_phis, tree_ssa_dse): Do not use phi | |
13271 | node annotations. | |
13272 | * tree-ssa-loop-im.c (LIM_DATA): Do not use phi statement annotations. | |
13273 | (max_uid): Renamed to max_stmt_uid. | |
13274 | (get_stmt_uid): New function. | |
13275 | (maybe_queue_var, single_reachable_address, determine_lsm): Do not use | |
13276 | phi node annotations. | |
13277 | * tree-ssa.c (replace_immediate_uses): Do not use phi node annotations. | |
13278 | * tree.h (PHI_BB, PHI_DF): New accessor functions. | |
13279 | (struct tree_phi_node): Add bb and df fields. | |
13280 | ||
13281 | 2004-09-11 Richard Henderson <rth@redhat.com> | |
13282 | ||
13283 | PR middle-end/17416 | |
13284 | * cfgexpand.c (expand_used_vars_for_block): Fix off-by-one bug | |
13285 | in conflict loop. | |
13286 | ||
13287 | 2004-09-11 Jan Hubicka <jh@suse.cz> | |
13288 | ||
13289 | * i386.h (MODE_NEEDED): Calls need UNINITIALIZED mode; add comment. | |
13290 | (EMIT_MODE_SET): UNINITIALIZED mode needs no set. | |
13291 | * i386.md (i387_cw): Add 'uninitialized' mode. | |
13292 | ||
13293 | * profile.c (BB_TO_GCOV_INDEX): move more to the front. | |
13294 | (output_location): Break out from .... | |
13295 | (branch_prob): ... here; handle gcov output on trees. | |
13296 | * toplev.c (process_options): No longer be sorry about coverage for | |
13297 | trees. | |
13298 | ||
13299 | 2004-09-11 Steven Bosscher <stevenb@suse.de> | |
13300 | ||
13301 | PR c++/17412 | |
13302 | * fold-const.c (fold): Do not try to fold the operand of a | |
13303 | CLEANUP_POINT_EXPR if that operand does itself not have any | |
13304 | operands. | |
13305 | ||
13306 | PR middle-end/17417 | |
13307 | * langhooks.c (lhd_decl_printable_name): Make sure that this | |
13308 | function is called with is a decl node that has an identifier. | |
13309 | * tree-pretty-print.c (dump_function_name): New function to | |
13310 | wrap PRINT_FUNCTION_NAME and dump_decl_name. | |
13311 | (print_call_name): Use it. | |
13312 | ||
13313 | 2004-09-11 Mohan Embar <gnustuff@thisiscool.com> | |
13314 | ||
13315 | * ggc-none.c: Include "bconfig.h" if -DGENERATOR_FILE, | |
13316 | "config.h" if not. | |
13317 | ||
13318 | 2004-09-11 Jakub Jelinek <jakub@redhat.com> | |
13319 | ||
13320 | * tree-ssa-alias.c (collect_points_to_info_r): Handle | |
13321 | pointing to PTR + OFFSET as PTR, not as pointing to PTR or pointing | |
13322 | to OFFSET. | |
13323 | ||
13324 | 2004-09-11 Richard Henderson <rth@redhat.com> | |
13325 | ||
13326 | * expr.c (expand_expr_addr_expr_1) Rename from expand_expr_addr_expr. | |
13327 | (expand_expr_addr_expr): New function. Take ADDR_EXPR instead of the | |
13328 | operand of the ADDR_EXPR. | |
13329 | (expand_expr_real_1): Update to match. | |
13330 | ||
13331 | 2004-09-11 David Edelsohn <edelsohn@gnu.org> | |
13332 | ||
13333 | PR target/17277 | |
13334 | * config/rs6000/aix.h (MD_FROB_UPDATE_CONTEXT): Use __64BIT__ to | |
13335 | choose 64-bit version. | |
13336 | ||
13337 | 2004-09-11 Richard Henderson <rth@redhat.com> | |
13338 | ||
13339 | PR c/17396 | |
13340 | * c-typeck.c (build_unary_op): Add legacy offsetof hack. | |
13341 | ||
13342 | 2004-09-11 Kazu Hirata <kazu@cs.umass.edu> | |
13343 | ||
13344 | * doc/cfg.texi, doc/hostconfig.texi, doc/install.texi, | |
13345 | doc/invoke.texi, doc/md.texi, doc/tm.texi, doc/tree-ssa.texi: | |
13346 | Insert @: after i.e. or e.g. | |
13347 | ||
13348 | 2004-09-10 Geoffrey Keating <geoffk@apple.com> | |
13349 | ||
13350 | * tree-pretty-print.c (dump_decl_name): Print unnamed decls as | |
13351 | D.xxx rather than <Dxxx>. | |
13352 | ||
13353 | 2004-09-10 Adam Nemet <anemet@lnxw.com> | |
13354 | ||
13355 | * configure.ac (AC_MSG_CHECKING(what linker to use)): | |
13356 | in_tree_ld_is_elf should be true for LynxOS. | |
13357 | * configure: Regenerate. | |
13358 | ||
13359 | 2004-09-10 Adam Nemet <anemet@lnxw.com> | |
13360 | ||
13361 | * Makefile.in (all.cross): Add srcextra. | |
13362 | ||
13363 | 2004-09-10 Roger Sayle <roger@eyesopen.com> | |
13364 | ||
13365 | PR middle-end/17024 | |
13366 | * fold-const.c (fold_cond_expr_with_comparison): Handle unordered | |
13367 | floating point comparison operators. Change aborts to gcc_asserts. | |
13368 | ||
13369 | 2004-09-10 Geoffrey Keating <geoffk@apple.com> | |
13370 | ||
13371 | * final.c (output_asm_insn): Correct problem with -fverbose-asm. | |
13372 | ||
13373 | 2004-09-10 James E Wilson <wilson@specifixinc.com> | |
13374 | ||
13375 | * Makefile.in (LIBGCC_DEPS): Delete duplicate stmp-int-hdrs reference. | |
13376 | (stmp-fixproto): Change stmp-int-headers to stmp-int-hdrs in comment. | |
13377 | ||
13378 | * convert.c (convert_to_vector): Replace recursive call with | |
13379 | error_mark_node. | |
13380 | ||
13381 | * emit-rtl.c (gen_const_vector): Renamed from gen_const_vector_0. | |
13382 | Add integer argument named constant. Use const_tiny_rtx instead of | |
13383 | CONST0_RTX. | |
13384 | (gen_rtx_CONST_VECTOR): Rewrite to handle checks for both CONST0_RTX | |
13385 | and CONST1_RTX. | |
13386 | (init_emit_once): Fix users of gen_const_vector. Set CONST1_RTX for | |
13387 | vector types. | |
13388 | * expr.c (const_vector_from_tree): Call gen_rtx_CONST_VECTOR instead | |
13389 | of gen_rtx_raw_CONST_VECTOR. | |
13390 | ||
13391 | 2004-09-10 Eric Christopher <echristo@redhat.com> | |
13392 | ||
13393 | PR c/16046 | |
13394 | * c-parse.in (attribute): Add NULL_TREE for error case | |
13395 | for error recovery. | |
13396 | ||
13397 | 2004-09-10 Zack Weinberg <zack@codesourcery.com> | |
13398 | ||
13399 | * c-common.h (struct c_fileinfo): Comment moved here from cp-tree.h. | |
13400 | (extract_interface_info): Delete prototype. | |
13401 | * c-decl.c (extract_interface_info): Delete stub. | |
13402 | * c-lex.c (get_fileinfo): Initialize file_info_tree here, if | |
13403 | it's not already been done ... | |
13404 | (init_c_lex): ... not here. | |
13405 | (fe_file_change): Don't call extract_interface_info. | |
13406 | ||
13407 | 2004-09-11 Joseph S. Myers <jsm@polyomino.org.uk> | |
13408 | ||
13409 | * c-tree.h (struct c_declspecs): Remove typedef_decl. Add | |
13410 | typedef_p and typedef_signed_p. | |
13411 | * c-decl.c (shadow_tag_warned): Check typedef_p, not typedef_decl. | |
13412 | (grokdeclarator): Don't use typedef_decl for warn_deprecated_use. | |
13413 | Check typedef_p and typedef_signed_p, not typedef_decl. | |
13414 | (grokfield): Check typedef_p, not typedef_decl. | |
13415 | (build_null_declspecs): Initialize typedef_p and typedef_signed_p, | |
13416 | not typedef_decl. | |
13417 | (declspecs_add_type): Set typedef_p and typedef_signed_p, not | |
13418 | typedef_decl. | |
13419 | ||
13420 | 2004-09-10 Kazu Hirata <kazu@cs.umass.edu> | |
13421 | ||
13422 | * doc/tm.texi, doc/tree-ssa.texi: Fix typos. | |
13423 | ||
13424 | 2004-09-10 Geoffrey Keating <geoffk@apple.com> | |
13425 | ||
13426 | * gimplify.c (create_tmp_var_raw): Don't name otherwise-nameless | |
13427 | temporary variables. | |
13428 | ||
13429 | * dbxout.c (dbxout_block): Update for | |
13430 | current_function_func_begin_label a string. | |
13431 | * dwarf2out.c (dwarf2out_begin_prologue): Likewise. | |
13432 | * except.c (dw2_output_call_site_table): Likewise. | |
13433 | * toplev.c (current_function_func_begin_label): Likewise. | |
13434 | * tree.h (current_function_func_begin_label): Likewise. | |
13435 | * config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Likewise. | |
13436 | ||
13437 | * final.c (output_asm_insn): Use strtoul instead of atoi, save a | |
13438 | loop. | |
13439 | ||
13440 | * config/darwin.c: Include target.h. | |
13441 | (struct machopic_indirection): Make ptr_name a string. | |
13442 | (machopic_indirection_hash): Update for ptr_name a string. | |
13443 | (machopic_indirection_eq): Likewise. | |
13444 | (machopic_indirection_name): Likewise. | |
13445 | (machopic_output_indirection): Likewise. | |
13446 | (machopic_validate_stub_or_non_lazy_ptr): Update for ptr_name a | |
13447 | string. Don't expect stub names to be in the identifier hash table. | |
13448 | Do call strip_name_encoding before looking up entry in ID hash table. | |
13449 | * config/t-darwin (darwin.o): Add target.h to dependencies. | |
13450 | ||
a1d1988f | 13451 | * config/rs6000/rs6000.c (print_operand): Use fputs instead |
7a4515d7 SB |
13452 | of fprintf for register names. |
13453 | ||
13454 | * output.h (unlikely_section_label): Delete declaration. | |
13455 | (unlikely_text_section_name): Likewise. | |
13456 | * varasm.c (unlikely_section_label_printed): Make static. | |
13457 | (unlikely_section_label): Likewise. | |
13458 | (unlikely_text_section_name): Likewise. | |
13459 | (assemble_start_function): Use reconcat. | |
13460 | ||
13461 | * rtl.def (REG): Add comment to describe third field. | |
13462 | ||
13463 | 2004-09-10 Andrew Pinski <apinski@apple.com> | |
13464 | ||
13465 | * config/darwin.c (machopic_mcount_stub_name): Call | |
13466 | machopic_indirection_name instead of making the string | |
13467 | ourselves. | |
13468 | ||
13469 | 2004-09-10 Diego Novillo <dnovillo@redhat.com> | |
13470 | ||
13471 | Revert | |
13472 | ||
13473 | 2004-09-08 Jie Zhang <zhangjie@magima.com.cn> | |
13474 | ||
13475 | * tree-ssa-alias.c (compute_flow_insensitive_aliasing): If type | |
13476 | memory tag is call clobbered, so are its aliases. | |
13477 | (group_aliases): When two memory tags being grouped, if one is | |
13478 | call clobbered, so are the other and its aliases. | |
13479 | (add_may_alias): Remove call-clobbering stuff. | |
13480 | (replace_may_alias): Likewise. | |
13481 | (merge_pointed_to_info): Merge pt_global_mem | |
13482 | ||
13483 | 2004-09-10 Kazu Hirata <kazu@cs.umass.edu> | |
13484 | ||
13485 | * bb-reorder.c, c-common.c, c-incpath.c, c-typeck.c, | |
13486 | genrecog.c, lambda-code.c, mips-tdump.c, mips-tfile.c, | |
13487 | passes.c, tree-data-ref.c, tree-data-ref.h, tree-mudflap.c, | |
13488 | tree-scalar-evolution.c, tree-ssa-copyrename.c, | |
13489 | tree-ssa-live.c, tree-ssa-live.h: Fix comment typos. | |
13490 | ||
13491 | 2004-09-10 Richard Sandiford <rsandifo@redhat.com> | |
13492 | ||
13493 | * config/frv/frv.md (UNSPEC_MASACCS, UNSPEC_MDASACCS): New constants. | |
13494 | (maddaccs, msubaccs, *maddacc): Turn operand 0 into a single ACC/ACCG | |
13495 | pair. Remove match_dup from inputs. Remove masaccs handling. | |
13496 | (mdaddaccs, mdsubaccs, *mdaddacc): Likewise a dual ACC/ACCG pair. | |
13497 | (masaccs, mdasaccs): Turn into define_insns. | |
13498 | ||
13499 | 2004-09-10 Richard Sandiford <rsandifo@redhat.com> | |
13500 | ||
13501 | * tree-tailcall.c (process_assignment): Only do accumulator transforms | |
13502 | for floating-point types if flag_unsafe_math_optimizations. | |
13503 | ||
13504 | 2004-09-10 Kazu Hirata <kazu@cs.umass.edu> | |
13505 | ||
13506 | * config/darwin.c, config/alpha/alpha.h, config/arm/arm.c, | |
13507 | config/arm/arm.h, config/arm/arm.md, config/arm/bpabi.h, | |
13508 | config/arm/predicates.md, config/frv/frv.c, config/frv/frv.md, | |
13509 | config/h8300/h8300.md, config/i386/gmm_malloc.h, | |
13510 | config/ia64/ia64.md, config/ip2k/libgcc.S, | |
13511 | config/mips/mips-ps-3d.md, config/mips/mips.c, | |
13512 | config/rs6000/rs6000.c, config/s390/s390.c, | |
13513 | config/sh/symbian.c: Fix comment typos. | |
13514 | ||
13515 | 2004-09-10 Andreas Krebbel <krebbel1@de.ibm.com> | |
13516 | ||
13517 | * config/s390/s390.c (s390_emit_prologue): Added missing | |
13518 | "{}" brackets. | |
13519 | ||
13520 | 2004-09-10 Kazu Hirata <kazu@cs.umass.edu> | |
13521 | ||
13522 | * doc/extend.texi, doc/invoke.texi, doc/passes.texi: Fix | |
13523 | typos. Follow spelling conventions. | |
13524 | ||
13525 | 2004-09-10 Joseph S. Myers <jsm@polyomino.org.uk> | |
13526 | ||
13527 | * toplev.c (warn_deprecated_use): Correct logic for saying "type" | |
13528 | in diagnostic. Don't dereference NULL TYPE_NAME. | |
13529 | ||
13530 | 2004-09-10 Kazu Hirata <kazu@cs.umass.edu> | |
13531 | ||
13532 | * c-common.c, c-pch.c, defaults.h, lambda-code.c, passes.c, | |
13533 | tree-data-ref.c, tree-flow.h, tree-ssa-operands.c, | |
13534 | tree-ssa-threadupdate.c, tree-vectorizer.c, tree-vectorizer.h, | |
13535 | value-prof.c: Fix comment typos. Follow spelling conventions. | |
13536 | ||
13537 | 2004-09-10 Jan Hubicka <jh@suse.cz> | |
13538 | ||
13539 | * tree-ssa-dce.c (remove_dead_stmt): Update profile. | |
13540 | * tree-split_edge.c (tree_split_edge): Likewise. | |
13541 | (thread_jumps): Likewise. | |
13542 | ||
13543 | 2004-09-10 Kazu Hirata <kazu@cs.umass.edu> | |
13544 | ||
13545 | * cgraphunit.c, predict.c, tree-ssa-loop-ivopts.c: Fix comment | |
13546 | typos. | |
13547 | ||
13548 | 2004-09-10 Paolo Bonzini <bonzini@gnu.org> | |
13549 | ||
13550 | * cgraph.h (cgraph_dump_file): Do not declare. | |
13551 | * cgraphunit.c (cgraph_dump_file): Declare as static. | |
13552 | (init_cgraph): New. | |
13553 | * toplev.c (cgraph_dump_file): Do not declare. | |
13554 | (compile_file): Call init_cgraph. | |
13555 | * tree-dump.c (dump_files): Add IPA dump file, remove | |
13556 | XML dump of call graph. | |
13557 | (get_dump_file_name): Support IPA dump file naming scheme. | |
13558 | * tree.h (enum tree_dump_index): Add IPA dump file, remove | |
13559 | XML dump of call graph. | |
13560 | * doc/invoke.texi (Debugging Options): Document the new options. | |
13561 | ||
13562 | 2004-09-10 Richard Sandiford <rsandifo@redhat.com> | |
13563 | ||
13564 | * doc/extend.texi: Document the FR-V built-in functions. | |
13565 | ||
13566 | 2004-09-09 James E Wilson <wilson@specifixinc.com> | |
13567 | ||
13568 | * doc/sourcebuild.texi: Delete libbanshee reference. | |
13569 | ||
13570 | 2004-09-10 Kelley Cook <kcook@gcc.gnu.org> | |
13571 | ||
13572 | * Makefile.in (s-gtype): Add $(build_exeext) to gengtype command. | |
13573 | ||
13574 | 2004-09-09 James E Wilson <wilson@specifixinc.com> | |
13575 | ||
13576 | * c-typeck.c (convert_for_assignment): Check that rhs has VECTOR_TYPE | |
13577 | before calling vector_types_convertible_p. | |
13578 | (digest_init): Check that inside_init has VECTOR_TYPE before calling | |
13579 | vector_types_convertible_p. Don't give another error if | |
13580 | convert_for_assignment returns error_mark_node. | |
13581 | ||
13582 | 2004-09-09 Roger Sayle <roger@eyesopen.com> | |
13583 | ||
13584 | PR middle-end/17055 | |
13585 | * fold-const.c (build_zero_vector): New function to construct a | |
13586 | vector (either floating point or integer) of zeros. | |
13587 | (fold_convert): Internally, enable conversions of integer zero | |
13588 | to arbitrary vector types, using the new build_zero_vector. | |
13589 | ||
13590 | 2004-09-09 Roger Sayle <roger@eyesopen.com> | |
13591 | ||
13592 | * config/i386/i386.c (ix86_expand_ashlsi3_const): New function to | |
13593 | expand a left shift by an immediate constant as either an ashl or | |
13594 | a sequence of additions. | |
13595 | (ix86_split_ashldi): Use new ix86_expand_ashlsi3_const function | |
13596 | instead of calling gen_ashlsi3 with a constant directly. | |
13597 | ||
13598 | 2004-09-09 Roger Sayle <roger@eyesopen.com> | |
13599 | ||
13600 | * config/i386/i386.c (ix86_split_long_move): When optimizing for | |
13601 | size, and the low and high parts of a DImode constant are equal, | |
13602 | copy one register to another instead of loading the same immediate | |
13603 | value twice. | |
13604 | ||
13605 | 2004-09-09 Richard Henderson <rth@redhat.com> | |
13606 | ||
13607 | PR middle-end/17367 | |
13608 | * function.c (assign_parm_setup_block): Only put PARALLELs into | |
13609 | a register if use_register_for_decl. | |
13610 | ||
13611 | 2004-09-09 Eric Christopher <echristo@redhat.com> | |
13612 | ||
13613 | * ra-colorize.c (reset_lists): Move variable declaration inside | |
13614 | ENABLE_CHECKING to avoid unused variable warnings when | |
13615 | not --enable-checking. | |
13616 | (check_colors): Ditto. | |
13617 | ||
13618 | 2004-09-09 Mike Stump <mrs@apple.com> | |
13619 | ||
13620 | * version.c (version_string): Bump to 4.0.0. | |
13621 | * doc/include/gcc-common.texi (version-GCC): Likewise. | |
13622 | ||
13623 | 2004-09-10 Jakub Jelinek <jakub@redhat.com> | |
13624 | ||
13625 | * doc/extend.texi (nothrow attribute): The attribute is not | |
13626 | implemented in 3.2 and earlier. | |
13627 | ||
13628 | 2004-09-09 Steve Ellcey <sje@cup.hp.com> | |
13629 | ||
13630 | * genrecog.c (compute_predicate_codes): Use op0_codes | |
13631 | instead of codes. | |
13632 | ||
13633 | 2004-09-09 Ulrich Weigand <uweigand@de.ibm.com> | |
13634 | ||
13635 | * ra-colorize.c (hardregset_to_string): Adapt to HARD_REG_SET | |
13636 | implementation changes. | |
13637 | ||
13638 | 2004-09-09 Ulrich Weigand <uweigand@de.ibm.com> | |
13639 | ||
13640 | * combine.c (try_combine): When swapping i2 and i3, newi2pat may be | |
13641 | a PARALLEL instead of a SET due to added clobbers. | |
13642 | ||
13643 | 2004-09-09 Ulrich Weigand <uweigand@de.ibm.com> | |
13644 | ||
13645 | * reload.c (find_reloads_address): Pass correct operand to | |
13646 | maybe_memory_address_p. | |
13647 | ||
13648 | 2004-09-09 Daniel Berlin <dberlin@dberlin.org> | |
13649 | ||
13650 | * Makefile.in: Remove libbanshee, tree-alias-*. | |
13651 | Remove tree-alias-common.h dependencies. | |
13652 | * common.opt: Remove -ftree-points-to. | |
13653 | * configure.ac: Remove libbanshee. | |
13654 | * flags.h: Remove pta_type, flag_tree_points_to. | |
13655 | * gengtype.c (open_base_files): Remove tree-alias-type.h. | |
13656 | * opts.c (OPT_ftree_points_to): Remove. | |
13657 | * toplev.c: Remove tree-alias-common.h, flag_tree_points_to. | |
13658 | * tree-dfa.c: Remove tree-alias-common.h | |
13659 | * tree-into-ssa.c: Ditto. | |
13660 | * tree-outof-ssa.c: Ditto. | |
13661 | * tree-ssa-copyrename.c: Ditto. | |
13662 | * tree-ssa-live.c: Ditto. | |
13663 | * tree-optimize.c: Ditto. | |
13664 | * tree-ssa.c: Ditto. | |
13665 | Remove pass_build_pta, pass_del_pta. | |
13666 | * tree-pass.h: Ditto. | |
13667 | * tree-ssa-alias.c: Remove tree-alias-common.h. | |
13668 | (struct alias_stats_d): Remove pta_queries, pta_resolved. | |
13669 | (pass_may_alias): Remove PROP_pta requirement. | |
13670 | (may_alias_p): Remove pta_queries, pta_resolved, use of andersens. | |
13671 | (get_tmt_for): Ditto. | |
13672 | (dump_alias_stats): Ditto. | |
13673 | * doc/passes.texi: Remove blurb about points-to analysis. | |
13674 | * fortran/Make-lang.in: Remove tree-alias-*.o. | |
13675 | ||
13676 | 2004-09-09 Richard Sandiford <rsandifo@redhat.com> | |
13677 | ||
13678 | * genattrtab.c (write_insn_cases): New function, split out from | |
13679 | write_attr_case. Correctly handle define_peepholes when printing | |
13680 | the instruction name. | |
13681 | (write_attr_case, write_const_num_delay_slots): Use write_insn_cases. | |
13682 | ||
13683 | 2004-09-09 Hans-Peter Nilsson <hp@axis.com> | |
13684 | ||
13685 | PR target/17377 | |
13686 | * config/cris/cris-protos.h (cris_return_address_on_stack): Declare. | |
13687 | * config/cris/cris.c (cris_return_address_on_stack): New function. | |
13688 | * config/cris/cris.md ("return"): For location of return address, | |
13689 | also check cris_return_address_on_stack. | |
13690 | ||
13691 | 2004-09-09 Diego Novillo <dnovillo@redhat.com> | |
13692 | ||
13693 | * tree-outof-ssa.c (coalesce_abnormal_edges): Fix typo in | |
13694 | calling phi_ssa_name_p. | |
13695 | ||
13696 | 2004-09-09 Richard Henderson <rth@redhat.com> | |
13697 | ||
13698 | PR c/17322 | |
13699 | * c-typeck.c (valid_compound_expr_initializer): Use only | |
13700 | initializer_constant_valid_p, and not TREE_CONSTANT. | |
13701 | (digest_init): Likewise. | |
13702 | (output_init_element): Likewise. | |
13703 | ||
13704 | 2004-09-09 Giovanni Bajo <giovannibajo@gcc.gnu.org> | |
13705 | ||
13706 | * ra-build.c (copy_insn_p, remember_move, defuse_overlap_p_1, | |
13707 | live_out_1, prune_hardregs_for_mode, init_one_web_common, | |
13708 | reinit_one_web, add_subweb, add_subweb_2, init_web_parts, | |
13709 | record_conflict, compare_and_free_webs, init_webs_defs_uses, | |
13710 | parts_to_webs_1, parts_to_webs, reset_conflicts, | |
13711 | check_conflict_numbers, remember_web_was_spilled, handle_asm_insn, | |
13712 | ra_build_free): Use gcc_assert and gcc_unreachable instead of abort. | |
13713 | * ra-colorize.c (push_list, put_web, reset_lists, put_web_at_end, | |
13714 | put_move, remove_move, combine, select_spill, colorize_one_web, | |
13715 | try_recolor_web, insert_coalesced_conflicts, check_colors, | |
13716 | break_precolored_alias, restore_conflicts_from_coalesce, | |
13717 | sort_and_combine_web_pairs, check_uncoalesced_moves): Likewise. | |
13718 | * ra-rewrite.c (spill_coalescing, slots_overlap_p, emit_loads, | |
13719 | reloads_to_loads, rewrite_program2, emit_colors): Likewise. | |
13720 | * ra.c (first_hard_reg, create_insn_info, find_subweb, init_ra, | |
13721 | check_df): Likewise. | |
13722 | * real.c (do_add, do_multiply, do_divide, do_compare, do_fix_trunc, | |
13723 | real_arithmetic, real_compare, real_exponent, real_ldexp, | |
13724 | real_identical, real_to_integer, real_to_integer2, real_to_decimal, | |
13725 | real_to_hexadecimal, real_from_integer, ten_to_ptwo, ten_to_mptwo, | |
13726 | real_digit, real_nan, real_maxval, round_for_format, real_convert, | |
13727 | real_to_target, real_from_target, real_hash, encode_ieee_single, | |
13728 | encode_ieee_double, encode_ieee_extended, encode_ieee_quad, | |
13729 | encode_vax_f, encode_vax_d, encode_vax_g, encode_i370_single, | |
13730 | encode_i370_double, encode_c4x_single, encode_c4x_extended): Likewise. | |
13731 | * recog.c (validate_change, validate_replace_rtx_1, asm_operand_ok, | |
13732 | extract_insn, peep2_next_insn, peep2_reg_dead_p, | |
13733 | peep2_find_free_register, peephole2_optimize, store_data_bypass_p, | |
13734 | if_test_bypass_p): Likewise. | |
13735 | * reg-stack.c (record_label_references, get_asm_operand_n_inputs, | |
13736 | stack_result, remove_regno_note, get_hard_regnum, emit_pop_insn, | |
13737 | emit_swap_insn, swap_to_top, move_for_stack_reg, | |
13738 | subst_stack_regs_pat, subst_asm_stack_regs, change_stack, | |
13739 | compensate_edge, convert_regs_1): Likewise. | |
13740 | * regclass.c (init_reg_sets, init_reg_sets_1, | |
13741 | memory_move_secondary_cost): Likewise. | |
13742 | * regrename.c (note_sets, clear_dead_regs, scan_rtx_reg, scan_rtx): | |
13743 | Likewise. | |
13744 | * reload.c (push_secondary_reload, find_valid_class, push_reload, | |
13745 | operands_match_p, decompose, immune_p, find_reloads, | |
13746 | find_reloads_toplev, find_reloads_address_1, subst_reloads, | |
13747 | copy_replacements, refers_to_regno_for_reload_p, | |
13748 | reg_overlap_mentioned_for_reload_p): Likewise. | |
13749 | * reload1.c (compute_use_by_pseudos, replace_pseudos_in, reload, | |
13750 | count_pseudo, find_reg, eliminate_regs, eliminate_regs_in_insn, | |
13751 | verify_initial_elim_offsets, finish_spills, clear_reload_reg_in_use, | |
13752 | reload_reg_free_p, reload_reg_reaches_end_p, reloads_conflict, | |
13753 | choose_reload_regs, merge_assigned_reloads, emit_input_reload_insns, | |
13754 | do_output_reload, fixup_abnormal_edges): Likewise. | |
13755 | * reorg.c (stop_search_p, emit_delay_sequence, get_jump_flags, | |
13756 | fill_slots_from_thread, relax_delay_slots): Likewise. | |
13757 | * resource.c (mark_referenced_resources, mark_set_resources): | |
13758 | Likewise. | |
13759 | * rtl.c (copy_rtx, rtx_equal_p): Likewise. | |
13760 | * rtlanal.c (insn_dependent_p, reg_overlap_mentioned_p, | |
13761 | dead_or_set_p, find_reg_fusage, remove_note, replace_rtx, | |
13762 | subreg_lsb_1, subreg_regno_offset, subreg_offset_representable_p, | |
13763 | find_first_parameter_load, can_hoist_insn_p, hoist_update_store, | |
13764 | hoist_insn_after, hoist_insn_to_edge, nonzero_bits1): Likewise. | |
13765 | * rtlhooks.c (gen_lowpart_general): Likewise. | |
13766 | * sbitmap.c (sbitmap_difference): Likewise. | |
13767 | * sched-deps.c (add_dependence, sched_analyze_1, sched_analyze_2, | |
13768 | sched_analyze, add_forward_dependence): Likewise. | |
13769 | * sched-ebb.c (fix_basic_block_boundaries, schedule_ebb): Likewise. | |
13770 | * sched-rgn.c (debug_regions, compute_trg_info, schedule_region, | |
13771 | schedule_insns): Likewise. | |
13772 | * sched-vis.c (print_pattern): Likewise. | |
13773 | * sdbout.c (sdbout_symbol, sdbout_toplevel_data): Likewise. | |
13774 | * simplify-rtx.c (simplify_unary_operation, simplify_binary_operation, | |
13775 | simplify_const_relational_operation, simplify_ternary_operation, | |
13776 | simplify_immed_subreg, simplify_subreg, simplify_gen_subreg): | |
13777 | Likewise. | |
13778 | * sreal.c (copy, sreal_sub, sreal_div): Likewise. | |
13779 | * stmt.c (force_label_rtx, expand_goto, expand_asm_operands, | |
13780 | resolve_operand_name_1, expand_return, expand_decl, | |
13781 | expand_anon_union_decl, emit_case_bit_tests, expand_case): Likewise. | |
13782 | * stor-layout.c (put_pending_size, smallest_mode_for_size, | |
13783 | int_mode_for_mode, layout_decl, finish_builtin_struct, layout_type, | |
13784 | set_sizetype, get_mode_bounds): Likewise. | |
13785 | ||
13786 | 2004-09-09 Zack Weinberg <zack@codesourcery.com> | |
13787 | ||
13788 | * defaults.h (MULTIPLE_SYMBOL_SPACES): Provide default. | |
13789 | * config/arm/pecoff.h, config/i386/beos-elf.h | |
13790 | * config/i386/cygming.h, config/i386/i386-interix.h: | |
13791 | Define MULTIPLE_SYMBOL_SPACES to 1, not nothing. Remove | |
13792 | comment cloned from manual. | |
13793 | * doc/tm.texi: Update description of MULTIPLE_SYMBOL_SPACES. | |
13794 | ||
13795 | 2004-09-09 Frank Ch. Eigler <fche@redhat.com> | |
13796 | ||
13797 | * builtins.c (build_va_arg_indirect_ref): New function. | |
13798 | (std_gimplify_va_arg_expr): Call it instead of mudflap check and | |
13799 | build_fold_indirect_ref. | |
13800 | * config/i386/i386.c (ix86_gimplify_va_arg): Ditto. | |
13801 | * config/ia64/ia64.c (ia64_gimplify_va_arg): Ditto. | |
13802 | * tree.h: Declare new function. | |
13803 | ||
13804 | 2004-09-09 Nathan Sidwell <nathan@codesourcery.com> | |
13805 | ||
13806 | * cgraphunit.c (cgraph_mark_functions_to_output): Renable node | |
13807 | dumping for development builds. | |
13808 | * emit-rtl.c (verify_rtx_sharing): Give verbose failure for | |
13809 | development builds only. | |
13810 | * genattrtab.c (write_eligible_delay): Fix typo in previous | |
13811 | commit. | |
13812 | * tree.c (iterative_hash_expr): Replace gcc_unreachable with | |
13813 | gcc_assert. | |
13814 | ||
13815 | 2004-09-09 Nathan Sidwell <nathan@codesourcery.com> | |
13816 | ||
13817 | * gcse.c (INSN_CUID, insert_set_in_table, find_avail_set, | |
13818 | cprop_insn, do_local_cprop, local_cprop_pass, find_bypass_set, | |
13819 | process_insert_insn, insert_insn_end_bb, pre_insert_copy_insn, | |
13820 | hoist_code, extract_mentioned_regs_helper, compute_store_table, | |
13821 | insert_store): Use gcc_assert and gcc_unreachable. | |
13822 | * ggc-common.c (ggc_splay_alloc, ggc_splay_dont_free, | |
13823 | gt_pch_note_object, gt_pch_note_reorder, relocate_ptrs, | |
13824 | ggc_record_overhead): Likewise. | |
13825 | * ggc-page.c (alloc_page, free_page, ggc_set_mark, ggc_marked_p, | |
13826 | init_ggc, ggc_push_context, ggc_recalculate_in_use_p, | |
13827 | ggc_pop_context, clear_marks, validate_free_objects, | |
13828 | ggc_pch_read): Likewise. | |
13829 | * ggc-zone.c (ggc_allocated_p, free_chunk, ggc_set_mark, | |
13830 | ggc_marked_p, ggc_get_size, init_ggc, destroy_ggc_zone, | |
13831 | ggc_push_context, check_cookies, ggc_collect, | |
13832 | ggc_print_statistics): Likewise. | |
13833 | * gimple-low.c (lower_function_body, lower_stmt, | |
13834 | lower_bind_expr): Likewise. | |
13835 | * gimplify.c (gimple_tree_eq, push_gimplify_context, | |
13836 | pop_gimplify_context, gimple_pop_condition, create_tmp_var, | |
13837 | declare_tmp_vars, gimple_add_tmp_var, annotate_all_with_locus, | |
13838 | mostly_copy_tree_r, gimplify_return_expr, gimplify_switch_expr, | |
13839 | gimplify_case_label_expr, gimplify_exit_block_expr, | |
13840 | canonicalize_component_ref, gimplify_compound_lval, | |
13841 | gimplify_self_mod_expr, gimplify_call_expr, | |
13842 | gimplify_init_ctor_eval, gimplify_init_constructor, | |
13843 | gimplify_modify_expr, gimplify_save_expr, gimplify_target_expr, | |
13844 | gimplify_expr, check_pointer_types_r, | |
13845 | force_gimple_operand): Likewise. | |
13846 | * global.c (global_alloc, build_insn_chain): Likewise. | |
13847 | * graph.c (clean_graph_dump_file, | |
13848 | finish_graph_dump_file): Likewise. | |
13849 | gcov-io.c (gcov_open): Use GCOV_CHECK. | |
13850 | ||
13851 | 2004-09-09 Richard Sandiford <rsandifo@redhat.com> | |
13852 | ||
13853 | * config/frv/frv.c (acc_operand, accg_operand): Use REGNO. | |
13854 | ||
13855 | 2004-09-09 Jan Hubicka <jh@suse.cz> | |
13856 | ||
13857 | middle-end/17128 | |
13858 | * tree-inline.c (expand_call_inline): Make overactive sanity check | |
13859 | happy. | |
13860 | ||
13861 | 2004-09-09 Jan Hubicka <jh@suse.cz> | |
13862 | ||
13863 | * tree-ssa-loop-ivopts.c (peel_address): Fix abort on | |
13864 | VIEW_CONVERT_EXPR. | |
13865 | ||
13866 | 2004-09-09 Nathan Sidwell <nathan@codesourcery.com> | |
13867 | ||
13868 | * Makefile.in (gengtype): Use $(BUILD_ERRORS). | |
13869 | (gengtype.o): Depend on errors.h. | |
13870 | * genattrtab.c (strcmp_check): Use gcc_assert and gcc_unreachable. | |
13871 | (attr_rtx_1, attr_printf, attr_copy_rtx, evaluate_eq_attr, | |
13872 | attr_alt_subset_p, attr_alt_subset_of_compl_p, | |
13873 | attr_alt_intersection, attr_alt_union, optimize_attrs, gen_insn, | |
13874 | write_test_expr, write_attr_value, write_eligible_delay, | |
13875 | make_internal_attr, make_numeric_value): Likewise. | |
13876 | * genautomata.c (regexp_name, get_str_vect, | |
13877 | gen_presence_absence_set, automaton_decl_hash, | |
13878 | automaton_decl_eq_p, insn_decl_hash, insn_decl_eq_p, decl_hash, | |
13879 | decl_eq_p, process_regexp, loop_in_regexp, check_loops_in_regexps, | |
13880 | process_regexp_cycles, reserv_sets_cmp, set_unit_reserv, | |
13881 | test_unit_reserv, it_is_empty_reserv_sets, | |
13882 | reserv_sets_are_intersected, reserv_sets_shift, reserv_sets_or, | |
13883 | reserv_sets_and, output_cycle_reservs, get_free_state, | |
13884 | intersected_state_reservs_p, states_union, remove_arc, | |
13885 | copy_insn_regexp, transform_1, transform_2, transform_3, | |
13886 | regexp_transform_func, store_alt_unit_usage, | |
13887 | check_regexp_units_distribution, process_seq_for_forming_states, | |
13888 | process_alts_for_forming_states, make_automaton, | |
13889 | form_arcs_marked_by_insn, create_composed_state, | |
13890 | set_out_arc_insns_equiv_num, partition_equiv_class, | |
13891 | process_insn_equiv_class, set_insn_equiv_classes, | |
13892 | units_to_automata_heuristic_distr, form_regexp, | |
13893 | longest_path_length, output_dfa_max_issue_rate, add_vect, | |
13894 | out_state_arcs_num, add_vect_el, output_trans_table, | |
13895 | output_state_alts_table, output_dead_lock_vect, | |
13896 | output_max_insn_queue_index_def, | |
13897 | output_min_insn_conflict_delay_func, | |
13898 | output_internal_insn_latency_func, output_print_reservation_func, | |
13899 | output_cpu_unit_reservation_p, output_state_arcs, | |
13900 | make_insn_alts_attr, make_internal_dfa_insn_code_attr, | |
13901 | make_default_insn_latency_attr, | |
13902 | form_important_insn_automata_lists): Likewise. | |
13903 | * genemit.c (gen_exp, output_add_clobbers, | |
13904 | output_added_clobbers_hard_reg_p): Likewise. | |
13905 | * genextract.c (print_path, main): Likewise. | |
13906 | * genflags.c (gen_macro): Likewise. | |
13907 | * gengenrtl.c: Include errors.h | |
13908 | (type_from_format, accessor_from_format): Likewise. | |
13909 | * gengtype.c (get_file_basename, output_mangled_typename, | |
13910 | walk_type, write_types_process_field, | |
13911 | write_types_local_process_field): Likewise. | |
13912 | * genmodes.c (complete_mode): Likewise. | |
13913 | * genopinit.c (gen_insn): Likewise. | |
13914 | * genoutput.c (output_insn_data, check_constraint_len, | |
13915 | constraint_len): Likewise. | |
13916 | * genpreds.c (add_mode_tests):Likewise. | |
13917 | * gen-protos.c (add_hash): Likewise. | |
13918 | * genrecog.c (find_operand, find_matching_operand, | |
13919 | validate_pattern, add_to_sequence, maybe_both_true, | |
13920 | nodes_identical_1, merge_trees, write_switch, write_cond, | |
13921 | write_action, is_unconditional, make_insn_sequence, | |
13922 | debug_decision_2): Likewise. | |
13923 | * gensupport.c (is_predicable, collect_insn_data, | |
13924 | alter_predicate_for_insn, maybe_eval_c_test): Likewise. | |
13925 | ||
13926 | 2004-09-09 Jan Hubicka <jh@suse.cz> | |
13927 | ||
13928 | * basic-block.h (guess_outgoing_edge_probabilities): Declare. | |
13929 | * cfgbuild.c (compute_outgoing_frequencies): When probability is | |
13930 | missing, guess it. | |
13931 | (find_many_sub_basic_blocks): Do update profile only when it is | |
13932 | present. | |
13933 | * predict.c (set_even_probabilities): Break out from ... | |
13934 | (combine_predictions_for_insn): ... here; deal with | |
13935 | !can_predict_insn_p insns. | |
13936 | (combine_predictions_for_bb): Use set_even_probabilities. | |
13937 | (bb_estimate_probability_locally): Break out from .... | |
13938 | (estimate_probability): ... here. | |
13939 | (guess_outgoing_edge_probabilities): New entry point. | |
13940 | ||
13941 | 2004-09-09 Nathan Sidwell <nathan@codesourcery.com> | |
13942 | ||
13943 | * gcc.c (add_sysrooted_prefix, execute, do_self_spec, do_spec_1, | |
13944 | handle_braces, process_brace_body, main, used_arg, | |
13945 | set_multilib_dir, print_multilib_info): Use fatal, not abort. | |
13946 | ||
13947 | * tree-nested.c (create_tmp_var_for): Correct missinverted assert. | |
13948 | ||
13949 | * tree-outof-ssa.c (free_temp_expr_table): Add missed assert. | |
13950 | * tree-ssa-ccp.c (set_lattice_value): Correct missapplied de | |
13951 | Morgan's theorem in last checkin. | |
13952 | ||
13953 | 2004-09-09 Giovanni Bajo <giovannibajo@gcc.gnu.org> | |
13954 | Nathan Sidwell <nathan@codesourcery.com> | |
13955 | ||
13956 | * targhooks.c (default_unwind_emit, default_scalar_mode_supported_p): | |
13957 | Use gcc_assert, gcc_unreachable & internal_error instead of abort. | |
13958 | * timevar.c (timevar_push, timevar_pop, timevar_start, | |
13959 | timevar_stop): Likewise. | |
13960 | * toplev.c (default_pch_valid_p): Likewise. | |
13961 | * tracer.c (tail_duplicate): Likewise. | |
13962 | * tree-alias-common.c (get_alias_var_decl, | |
13963 | get_values_from_constructor, create_alias_var, delete_alias_vars, | |
13964 | empty_points_to_set, same_points_to_set, ptr_may_alias_var): | |
13965 | Likewise. | |
13966 | * tree.c (tree_size, make_node_stat, copy_node_stat, | |
13967 | build_int_cst_wide, integer_all_onesp, list_length, chainon, | |
13968 | tree_node_structure, type_contains_placeholder_p, substitute_in_expr, | |
13969 | substitute_placeholder_in_expr, tabilize_reference_1, build0_stat, | |
13970 | build1_stat, build2_stat, build3_stat, build4_stat, is_attribute_p, | |
13971 | lookup_attribute, type_hash_canon, host_integerp, iterative_hash_expr, | |
13972 | build_method_type_directly, decl_type_context, get_callee_fndecl, | |
13973 | get_set_constructor_bits, build_vector_type_for_mode, int_cst_value, | |
13974 | tree_fold_gcd): Likewise. | |
13975 | * tree-cfg.c (create_bb, make_ctrl_stmt_edges, make_exit_edges, | |
13976 | make_cond_expr_edges, group_case_labels, tree_merge_blocks, | |
13977 | cleanup_control_expr_graph, find_taken_edge, | |
13978 | find_taken_edge_switch_expr, phi_alternatives_equal, | |
13979 | is_ctrl_altering_stmt, disband_implicit_edges, set_bb_for_stmt, | |
13980 | stmt_for_bsi, tree_find_edge_insert_loc, bsi_insert_on_edge_immediate, | |
13981 | tree_split_edge, tree_verify_flow_info, thread_jumps, | |
13982 | tree_redirect_edge_and_branch, tree_flow_call_edges_add): Likewise. | |
13983 | * tree-chrec.c (chrec_fold_poly_cst, chrec_fold_plus_poly_poly, | |
13984 | chrec_fold_multiply_poly_poly): Likewise. | |
13985 | * tree-complex.c (extract_component, expand_complex_division, | |
13986 | expand_complex_comparison, expand_complex_operations_1, | |
13987 | build_replicated_const, expand_vector_operations_1): Likewise. | |
13988 | * tree-data-ref.c (tree_fold_bezout, build_classic_dist_vector, | |
13989 | build_classic_dir_vector): Likewise. | |
13990 | * tree-dfa.c (compute_immediate_uses_for_phi, | |
13991 | compute_immediate_uses_for_stmt, create_var_ann, create_stmt_ann, | |
13992 | create_tree_ann, collect_dfa_stats, get_virtual_var): Likewise. | |
13993 | * tree-dump.c (dequeue_and_dump): Likewise. | |
13994 | * tree-eh.c (record_stmt_eh_region, add_stmt_to_eh_region, | |
13995 | record_in_finally_tree, replace_goto_queue_1, | |
13996 | maybe_record_in_goto_queue, verify_norecord_switch_expr, | |
13997 | do_return_redirection): Likewise. | |
13998 | * tree-if-conv.c (tree_if_convert_stmt, tree_if_convert_cond_expr, | |
13999 | add_to_dst_predicate_list, find_phi_replacement_condition, | |
14000 | replace_phi_with_cond_modify_expr, get_loop_body_in_if_conv_order): | |
14001 | Likewise. | |
14002 | * tree-inline.c (remap_decl, remap_type, remap_decls, copy_body_r, | |
14003 | initialize_inlined_parameters, declare_return_variable, | |
14004 | estimate_num_insns_1, expand_call_inline, expand_calls_inline, | |
14005 | optimize_inline_calls, copy_tree_r): Likewise. | |
14006 | * tree-into-ssa.c (rewrite_initialize_block_local_data, rewrite_stmt, | |
14007 | ssa_rewrite_stmt, rewrite_into_ssa): Likewise. | |
14008 | * tree-iterator.c (alloc_stmt_list, tsi_link_before, tsi_link_after, | |
14009 | tsi_split_statement_list_after, tsi_split_statement_list_before): | |
14010 | Likewise. | |
14011 | * tree-mudflap.c (mf_varname_tree): Likewise. | |
14012 | * tree-nested.c (create_tmp_var_for, lookup_field_for_decl, | |
14013 | lookup_tramp_for_decl, convert_all_function_calls): Likewise. | |
14014 | * tree-optimize.c (tree_rest_of_compilation): Likewise. | |
14015 | * tree-outof-ssa.c (create_temp, eliminate_build, eliminate_phi, | |
14016 | coalesce_abnormal_edges, coalesce_ssa_name, eliminate_virtual_phis, | |
14017 | free_temp_expr_table, add_dependance, finish_expr, rewrite_trees): | |
14018 | Likewise. | |
14019 | * tree-phinodes.c (resize_phi_node, add_phi_arg, | |
14020 | remove_all_phi_nodes_for): Likewise. | |
14021 | * tree-pretty-print.c (op_prio, print_call_name): Likewise. | |
14022 | * tree-profile.c (tree_gen_interval_profiler, tree_gen_pow2_profiler, | |
14023 | tree_gen_one_value_profiler, tree_gen_const_delta_profiler): Likewise. | |
14024 | * tree-sra.c (type_can_instantiate_all_elements, sra_hash_tree, | |
14025 | sra_elt_eq, sra_walk_expr, instantiate_missing_elements, | |
14026 | generate_one_element_ref, generate_element_copy, | |
14027 | generate_element_zero, scalarize_copy, scalarize_init, | |
14028 | scalarize_ldst): Likewise. | |
14029 | * tree-ssa-alias.c (delete_alias_info, group_aliases, may_alias_p, | |
14030 | add_may_alias, add_pointed_to_expr, add_pointed_to_var, | |
14031 | collect_points_to_info_r, get_tmt_for, get_ptr_info): Likewise. | |
14032 | * tree-ssa.c (walk_use_def_chains, check_phi_redundancy): Likewise. | |
14033 | * tree-ssa-ccp.c (dump_lattice_value, get_default_value, get_value, | |
14034 | set_lattice_value, likely_value, ccp_visit_phi_node, visit_assignment, | |
14035 | widen_bitfield, ccp_fold_builtin): Likewise. | |
14036 | * tree-ssa-copy.c (may_propagate_copy, merge_alias_info, | |
14037 | replace_exp_1, propagate_tree_value): Likewise. | |
14038 | * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Likewise. | |
14039 | * tree-ssa-dce.c (set_control_dependence_map_bit, | |
14040 | find_control_dependence, find_pdom, mark_operand_necessary, | |
14041 | mark_stmt_if_obviously_necessary, | |
14042 | mark_control_dependent_edges_necessary, remove_dead_stmt): Likewise. | |
14043 | * tree-ssa-dom.c (dom_opt_initialize_block_local_data, | |
14044 | simplify_switch_and_lookup_avail_expr, cprop_into_successor_phis, | |
14045 | eliminate_redundant_computations, avail_expr_eq): Likewise. | |
14046 | * tree-ssa-dse.c (fix_stmt_v_may_defs): Likewise. | |
14047 | * tree-ssa-loop-ch.c (should_duplicate_loop_header_p, | |
14048 | duplicate_blocks): Likewise. | |
14049 | * tree-ssa-loop-im.c (for_each_index, set_level, | |
14050 | is_call_clobbered_ref): Likewise. | |
14051 | * tree-ssa-loop-ivopts.c (dump_use, divide, stmt_after_ip_normal_pos, | |
14052 | stmt_after_increment, set_iv, contains_abnormal_ssa_name_p, | |
14053 | find_interesting_uses_outer_or_nonlin, add_derived_ivs_candidates, | |
14054 | peel_address, ptr_difference_cost, may_replace_final_value, | |
14055 | determine_use_iv_cost, rewrite_use_nonlinear_expr, rewrite_use_outer, | |
14056 | rewrite_use, rewrite_uses): Likewise. | |
14057 | * tree-ssa-loop-manip.c (rewrite_into_loop_closed_ssa, | |
14058 | check_loop_closed_ssa_use): Likewise. | |
14059 | * tree-ssanames.c (make_ssa_name): Likewise. | |
14060 | * tree-ssa-operands.c (finalize_ssa_defs, finalize_ssa_uses, | |
14061 | finalize_ssa_v_must_defs, finalize_ssa_stmt_operands, | |
14062 | get_stmt_operands, get_expr_operands, get_asm_expr_operands, | |
14063 | get_indirect_ref_operands, add_stmt_operand): Likewise. | |
14064 | * tree-ssa-pre.c (value_exists_in_set_bitmap, | |
14065 | value_remove_from_set_bitmap, bitmap_insert_into_set, insert_into_set, | |
14066 | phi_translate, valid_in_set, compute_antic, | |
14067 | find_or_generate_expression, create_expression_by_pieces, insert_aux, | |
14068 | create_value_expr_from, eliminate): Likewise. | |
14069 | * tree-ssa-propagate.c (cfg_blocks_get): Likewise. | |
14070 | * tree-ssa-threadupdate.c (remove_last_stmt_and_useless_edges): | |
14071 | Likewise. | |
14072 | * tree-tailcall.c (independent_of_stmt_p, adjust_return_value, | |
14073 | eliminate_tail_call): Likewise. | |
14074 | * tree-vectorizer.c (vect_create_index_for_array_ref, | |
14075 | vect_align_data_ref, vect_create_data_ref, | |
14076 | vect_create_destination_var, vect_get_vec_def_for_operand, | |
14077 | vect_finish_stmt_generation, vect_transform_stmt, | |
14078 | vect_transform_loop_bound, vect_transform_loop, | |
14079 | vect_analyze_operations): Likewise. | |
14080 | * tree-vn.c (vn_compute, set_value_handle, get_value_handle): | |
14081 | Likewise. | |
14082 | * tree-flow-inline.h (var_ann, get_var_ann, get_def_from_ptr, | |
14083 | get_use_op_ptr, immediate_use, phi_ssa_name_p, bsi_start, | |
14084 | bsi_after_labels, bsi_last): Likewise. | |
14085 | * tree-ssa-live.c (var_union, change_partition_var, | |
14086 | create_ssa_var_map, calculate_live_on_entry, root_var_init, | |
14087 | type_var_init, add_coalesce, sort_coalesce_list, pop_best_coalesce): | |
14088 | Likewise. | |
14089 | * tree-ssa-live.h (partition_is_global, live_entry_blocks, | |
14090 | tpa_find_tree): Likewise. | |
14091 | (register_ssa_partition_check): Declare. | |
14092 | (register_ssa_partition): use it. | |
14093 | * tree-ssa-live.c: Include errors.h. | |
14094 | (register_ssa_partition_check): New. | |
14095 | * tree-ssa-operands.c: Include errors.h. | |
14096 | * Makefile.in (tree-ssa-operands.o): Depend on errors.h. | |
14097 | ||
14098 | 2004-09-09 Richard Sandiford <rsandifo@redhat.com> | |
14099 | Catherine Moore <clm@redhat.com> | |
14100 | ||
14101 | * config/frv/frv-protos.h (FRV_CPU_FR550, FRV_CPU_FR450) | |
14102 | (FRV_CPU_FR405): New processor enums. | |
14103 | (frv_issue_rate, frv_acc_group): Declare. | |
14104 | * config/frv/frv.h (CPP_SPEC, CPP_FRV_SPEC, CPP_FR500_SPEC): Delete. | |
14105 | (CPP_FR400_SPEC, CPP_SIMPLE_SPEC): Delete. | |
14106 | (MASK_DEFAULT_FR550, MASK_DEFAULT_FR450): New macros. | |
14107 | (SUBTARGET_EXTRA_SPECS, EXTRA_SPECS, CPP_CPU_DEFAULT_SPEC): Delete. | |
14108 | (TARGET_CPU_CPP_BUILTINS): Define the macros that were previously | |
14109 | handled by CPP_SPEC. | |
14110 | (MASK_LONG_CALLS, TARGET_LONG_CALLS): New macros. | |
14111 | (MASK_ALIGN_LABELS, TARGET_ALIGN_LABELS): New macros. | |
14112 | (ACC_MASK): New macro. | |
14113 | (TARGET_MEDIA_REV2): Include FRV_CPU_{FR405,FR450,FR550}. | |
14114 | (TARGET_MEDIA_FR450): New macro. | |
14115 | (TARGET_FR500_FR550_BUILTINS, TARGET_FR405_BUILTINS): New macros. | |
14116 | (TARGET_SWITCHES): Add -m{no-,}align-labels and -m{no-,}long-calls. | |
14117 | (LABEL_ALIGN_AFTER_BARRIER): Define. | |
14118 | (ACC_LAST, ACCG_LAST): Add four new accumulator registers. | |
14119 | (IACC_FIRST, IACC_LAST): New pair of SPRs. | |
14120 | (ACCG_FIRST, AP_FIRST, SPR_FIRST, SPR_LAST): Adjust accordingly. | |
14121 | (FIXED_REGISTERS, CALL_USED_REGISTERS, REG_ALLOC_ORDER) | |
14122 | (REGISTER_NAMES): Add entries for new registers. | |
14123 | (REG_CLASS_CONTENTS): Update for new register ranges. | |
14124 | (EXTRA_CONSTRAINT_FOR_S): Redefine in terms of call_operand. | |
14125 | (ISSUE_RATE, CLEAR_VLIW_START, SET_VLIW_START): Delete. | |
14126 | (PACKING_FLAG_USED_P): Delete. | |
14127 | (FRV_BUILTIN_MQLCLRHS, FRV_BUILTIN_MQLMTHS, FRV_BUILTIN_MQSLLHI) | |
14128 | (FRV_BUILTIN_MQSRAHI, FRV_BUILTIN_SMUL, FRV_BUILTIN_UMUL) | |
14129 | (FRV_BUILTIN_PREFETCH0, FRV_BUILTIN_PREFETCH, FRV_BUILTIN_SMASS) | |
14130 | (FRV_BUILTIN_SMSSS, FRV_BUILTIN_SMU, FRV_BUILTIN_SCUTSS) | |
14131 | (FRV_BUILTIN_ADDSS, FRV_BUILTIN_SUBSS, FRV_BUILTIN_SLASS) | |
14132 | (FRV_BUILTIN_IACCread{l,ll}, FRV_BUILTIN_IACCset{ll,l}) | |
14133 | (FRV_BUILTIN_SCAN): New members of frv_builtin_enum. | |
14134 | (FRV_BUILTIN_FIRST_NONMEDIA): New macro. | |
14135 | (CPU_UNITS_QUERY): Define to 1. | |
14136 | * config/frv/frv.c: Include gt-frv.h | |
14137 | (NUM_NOP_PATTERNS, NTH_UNIT, UNIT_NUMBER, PACKING_FLAG_P): New macros. | |
14138 | (SET_PACKING_FLAG, CLEAR_PACKING_FLAG, FOR_EACH_REGNO): New macros. | |
14139 | (frv_insn_group): New enumeration. | |
14140 | (frv_unit_names, frv_unit_groups, frv_unit_codes): New variables. | |
14141 | (frv_type_to_unit, frv_nops, frv_num_nops): New variables. | |
14142 | (REGSTATE_DEAD, REGSTATE_LIVE, REGSTATE_UNUSED, REGSTATE_MASK) | |
14143 | (REGSTATE_CONDJUMP): Delete. Shuffle other numbers to cover the | |
14144 | gap left by REGSTATE_LIVE. | |
14145 | (regstate_t): New typedef. | |
14146 | (TARGET_MACHINE_DEPENDENT_REORG): Define. | |
14147 | (frv_default_flags_for_cpu): Handle FRV_CPU_{FR550,FR450,FR405}. | |
14148 | (frv_override_options): Check for -mcpu={fr550,fr450,fr405}. | |
14149 | Initialize frv_unit_codes[] and frv_type_to_unit[]. | |
14150 | (frv_conditional_register_usage): Remove redundant fixing of | |
14151 | accumulator registers. | |
14152 | (frv_insn_packing_flag): Update specification. | |
14153 | (frv_function_prologue): Don't set frv_insn_packing_flag here. | |
14154 | Zero out frv_nops[]. | |
14155 | (frv_expand_epilogue): Remove comments about the no-longer-present | |
14156 | SIBCALL_P argument. | |
14157 | (frv_asm_output_mi_thunk): Check frv_issue_rate() rather than | |
14158 | PACKING_FLAG_USED_P() when deciding whether to pack instructions. | |
14159 | (frv_asm_output_opcode, frv_final_prescan_insn): Simplify in light | |
14160 | of the new meaning of frv_insn_packing_flag. Emit an mnop.p if | |
14161 | packing is disabled and if INSN can only issue to M1. | |
14162 | (call_operand): Check TARGET_LONG_CALLS. | |
14163 | (acc_operand, even_acc_operand, quad_acc_operand) | |
14164 | (accg_operand): Simplify. Don't accept pseudo registers. | |
14165 | (output_move_single): Handle SPR<-zero moves. | |
14166 | (frv_issue_rate): Make non-static. Handle FRV_CPU_{FR550,FR450,FR405}. | |
14167 | (frv_registers_update, frv_registers_used_p): Delete. | |
14168 | (frv_registers_set_p): Delete. | |
14169 | (frv_acc_group_1, frv_acc_group, frv_insn_unit): New functions. | |
14170 | (frv_issues_to_branch_unit_p): New function. | |
14171 | (frv_packet): New structure. | |
14172 | (frv_cond_flags, frv_regstate_conflict_p): New functions. | |
14173 | (frv_registers_conflict_p_1, frv_registers_conflict_p): New functions. | |
14174 | (frv_registers_update_1, frv_registers_update): New functions. | |
14175 | (frv_start_packet, frv_start_packet_block, frv_finish_packet) | |
14176 | (frv_pack_insn_p, frv_add_insn_to_packet, frv_insert_nop_in_packet) | |
14177 | (frv_for_each_packet, frv_sort_insn_group_1, frv_compare_insns) | |
14178 | (frv_sort_insn_group, frv_reorder_packet): New functions. | |
14179 | (frv_pack_insns): Use frv_reorder_packet. | |
14180 | (frv_packet_address): New variable. | |
14181 | (frv_fill_unused_units, frv_align_label, frv_reorg_packet) | |
14182 | (frv_register_nop, frv_reorg): New functions. | |
14183 | (bdesc_1arg): Add __SCUTSS. | |
14184 | (bdesc_2arg): Add __MQLCLRHS, __MQLMTHS, __SMUL, __UMUL, __ADDSS, | |
14185 | __SUBSS, __SLASS and __SCAN. | |
14186 | (bdesc_2argimm): Add __MQSLLHI and __MQSRAHI. | |
14187 | (bdesc_int_void2arg, bdesc_prefetches): New arrays. | |
14188 | (frv_init_builtins): Register the above builtins. | |
14189 | (frv_int_to_acc): Use ACC_MASK to check for valid accumulator | |
14190 | registers. Turn the referenced accumulators into global registers. | |
14191 | (frv_read_iacc_argument): New function. | |
14192 | (frv_expand_int_void2arg, frv_expand_prefetches): New functions. | |
14193 | (frv_split_iacc_move): New function. | |
14194 | (frv_expand_builtin): Handle the new builtins. | |
14195 | * config/frv/frv.md: Replace old schedulers with new order-independent | |
14196 | ones. Add schedulers for the FR405, FR450 and FR550. Describe new | |
14197 | packing algorithm. | |
14198 | (cpu): Add fr550, fr450 and fr405. | |
14199 | (type): Add macc, scan, cut, fnop, fscmp, fdcmp, mnop, mqlimh and | |
14200 | mqshift. Replace fmas with fsmadd and fmad with fdmadd. Delete m7. | |
14201 | (*muladd[sd]f4, *mulsub[sd]f4): Fix types. | |
14202 | (*cmp[sd]f_cc_fp): Use new f[sd]cmp types. | |
14203 | (fnop, mnop): New patterns. | |
14204 | (UNSPEC_MQLCLRHS, UNSPEC_MQLMTHS, UNSPEC_MQSLLHI, UNSPEC_MQSRAHI): | |
14205 | New constants. | |
14206 | (mexpdhw, *cond_exec_mexpdhw): Fix destination operands. | |
14207 | (mclracca8): Use ACC_MASK to determine the upper set of accumulator | |
14208 | registers. | |
14209 | (mqlclrhs, mqlmths, mqsllhi, mqsrahi): New patterns. | |
14210 | (UNSPEC_SMUL, UNSPEC_UMUL, UNSPEC_SMU, UNSPEC_ADDSS, UNSPEC_SUBSS) | |
14211 | (UNSPEC_SLASS, UNSPEC_SCAN, UNSPEC_INTSS, UNSPEC_SCUTSS) | |
14212 | (UNSPEC_PREFETCH0, UNSPEC_PREFETCH, UNSPEC_IACCreadll) | |
14213 | (UNSPEC_IACCreadl, UNSPEC_IACCsetll, UNSPEC_IACCsetl, UNSPEC_SMASS) | |
14214 | (UNSPEC_SMSSS, UNSPEC_IMUL, IACC0_REG): New constants. | |
14215 | (smul, umul, smass, smsss, smu, addss, subss, slass, scan, scutss) | |
14216 | (frv_prefetch0, frv_prefetch): New patterns. | |
14217 | * config/frv/t-frv (MULTILIB_OPTIONS): Remove -mcpu=frv and | |
14218 | -mcpu=simple. Add -mcpu=fr550. | |
14219 | (MULTILIB_DIRNAMES): Update accordingly. | |
14220 | (MULTILIB_MATCHES): Use the fr400 multilibs for -mcpu=fr405 and | |
14221 | -mcpu=fr450. | |
14222 | * doc/invoke.texi: Document the new -mcpu={fr550,fr450,fr405}, | |
14223 | -mlong-calls and -malign-labels options for FR-V. | |
14224 | ||
14225 | 2004-09-09 Joseph S. Myers <jsm@polyomino.org.uk> | |
14226 | ||
14227 | PR c/8420 | |
14228 | * c-tree.h (struct c_declspecs): New. | |
14229 | (struct c_declarator, struct c_type_name, struct c_parm): Update | |
14230 | element types. | |
14231 | (build_array_declarator, grokfield, shadow_tag, shadow_tag_warned, | |
14232 | start_function, start_decl, build_c_parm, | |
14233 | make_pointer_declarator): Update prototypes. | |
14234 | (build_null_declspecs, declspecs_add_qual, declspecs_add_type, | |
14235 | declspecs_add_scspec, declspecs_add_attrs): New. | |
14236 | (split_specs_attrs): Remove. | |
14237 | * c-parse.in (%union): Add dsptype. | |
14238 | (declspecs_nosc_nots_nosa_noea, declspecs_nosc_nots_nosa_ea, | |
14239 | declspecs_nosc_nots_sa_noea, declspecs_nosc_nots_sa_ea, | |
14240 | declspecs_nosc_ts_nosa_noea, declspecs_nosc_ts_nosa_ea, | |
14241 | declspecs_nosc_ts_sa_noea, declspecs_nosc_ts_sa_ea, | |
14242 | declspecs_sc_nots_nosa_noea, declspecs_sc_nots_nosa_ea, | |
14243 | declspecs_sc_nots_sa_noea, declspecs_sc_nots_sa_ea, | |
14244 | declspecs_sc_ts_nosa_noea, declspecs_sc_ts_nosa_ea, | |
14245 | declspecs_sc_ts_sa_noea, declspecs_sc_ts_sa_ea, declspecs_ts, | |
14246 | declspecs_nots, declspecs_ts_nosa, declspecs_nots_nosa, | |
14247 | declspecs_nosc_ts, declspecs_nosc_nots, declspecs_nosc, declspecs, | |
14248 | maybe_type_quals_attrs): Change to dsptype. | |
14249 | (struct c_declspec_stack): New. | |
14250 | (current_declspecs, declspec_stack): Change type. | |
14251 | (PUSH_DECLSPEC_STACK, POP_DECLSPEC_STACK): Update to new | |
14252 | structures. | |
14253 | (extdefs): Likewise. | |
14254 | (setspecs): Likewise. | |
14255 | (fndef): Use current_declspecs for empty declspecs list. | |
14256 | (declspecs_nosc_nots_nosa_noea, declspecs_nosc_nots_nosa_ea, | |
14257 | declspecs_nosc_nots_sa_noea, declspecs_nosc_nots_sa_ea, | |
14258 | declspecs_nosc_ts_nosa_noea, declspecs_nosc_ts_nosa_ea, | |
14259 | declspecs_nosc_ts_sa_noea, declspecs_nosc_ts_sa_ea, | |
14260 | declspecs_sc_nots_nosa_noea, declspecs_sc_nots_nosa_ea, | |
14261 | declspecs_sc_nots_sa_noea, declspecs_sc_nots_sa_ea, | |
14262 | declspecs_sc_ts_nosa_noea, declspecs_sc_ts_nosa_ea, | |
14263 | declspecs_sc_ts_sa_noea, declspecs_sc_ts_sa_ea): Update to new | |
14264 | structures and helper functions. Update comments. | |
14265 | (typespec_nonattr): Correct comment. | |
14266 | (maybe_type_quals_attrs, typename): Update to new structures. | |
14267 | * c-decl.c (grokdeclarator, build_array_declarator, grokfield, | |
14268 | shadow_tag, shadow_tag_warned, start_function, start_decl, | |
14269 | build_c_parm, make_pointer_declarator, | |
14270 | set_array_declarator_inner, groktypename): Update to new | |
14271 | structures. | |
14272 | (build_null_declspecs, declspecs_add_qual, declspecs_add_type, | |
14273 | declspecs_add_scspec, declspecs_add_attrs): New. | |
14274 | (split_specs_attrs): Remove. | |
14275 | (shadow_tag_warned): Make warning for useless type names a | |
14276 | pedwarn. Give hard error for long, short, signed, unsigned or | |
14277 | _Complex used with struct, union or enum in empty declaration. | |
14278 | Make found_tag a bool. | |
14279 | (grokdeclarator): Remove checks now done at parse time. | |
14280 | ||
14281 | 2004-09-09 Joseph S. Myers <jsm@polyomino.org.uk> | |
14282 | ||
14283 | * c-tree.h (enum c_declarator_kind, struct c_arg_info, struct | |
14284 | c_declarator, struct c_type_name, struct c_parm): New. | |
14285 | (build_array_declarator, set_array_declarator_inner, | |
14286 | get_parm_info, grokfield, groktypename, grokparm, push_parm_decl, | |
14287 | start_function, start_decl, build_c_parm, build_attrs_declarator, | |
14288 | build_function_declarator, make_pointer_declarator, c_cast_expr, | |
14289 | store_parm_decls_newstyle, c_expr_sizeof_type): Update prototypes. | |
14290 | (build_id_declarator): New. | |
14291 | * c-typeck.c (c_cast_expr, c_expr_sizeof_type): Update to new | |
14292 | structures. | |
14293 | * c-decl.c (ARG_INFO_PARMS, ARG_INFO_TAGS, ARG_INFO_TYPES, | |
14294 | ARG_INFO_OTHERS): Remove. | |
14295 | (build_id_declarator): New. | |
14296 | (build_array_declarator, set_array_declarator_inner, groktypename, | |
14297 | start_decl, grokparm, push_parm_decl, grokparms, get_parm_info, | |
14298 | grokfield, start_function, store_parm_decls_newstyle, | |
14299 | store_parm_decls_oldstyle, store_parm_decls, | |
14300 | build_c_parm, build_attrs_declarator, build_function_declarator, | |
14301 | make_pointer_declarator, grokdeclarator): Update to new | |
14302 | structures. | |
14303 | * c-parse.in (%union): Add arginfotype, dtrtype, typenametype and | |
14304 | parmtype. | |
14305 | (declarator, notype_declarator, after_type_declarator, | |
14306 | parm_declarator, parm_declarator_starttypename, | |
14307 | parm_declarator_nostarttypename, array_declarator, typename, | |
14308 | absdcl, absdcl1, absdcl1_ea, absdcl1_noea, direct_absdcl1, | |
14309 | absdcl_maybe_attribute, parm, firstparm, parms, parmlist, | |
14310 | parmlist_1, parmlist_2, parmlist_or_identifiers, | |
14311 | parmlist_or_identifiers_1): Use these types. | |
14312 | (primary, after_type_declarator, parm_declarator_starttypename, | |
14313 | notype_declarator, component_decl, component_declarator, | |
14314 | component_notype_declarator, typename, absdcl, | |
14315 | absdcl_maybe_attribute, absdcl1_ea, direct_absdcl1, parmlist_1, | |
14316 | parmlist_2, parmlist_or_identifiers_1): Update to new structures. | |
14317 | ||
14318 | 2004-09-09 Joseph S. Myers <jsm@polyomino.org.uk> | |
14319 | ||
14320 | * c-tree.h (C_DECL_USED, parser_obstack, in_alignof, in_sizeof, | |
14321 | in_typeof, record_maybe_used_decl, pop_maybe_used, | |
14322 | c_expr_sizeof_expr, c_expr_sizeof_type): New. | |
14323 | * c-decl.c (parser_obstack): New. | |
14324 | (c_init_decl_processing): Initialize parser_obstack. | |
14325 | (c_write_global_declarations_1): Check for used but undefined | |
14326 | static functions. | |
14327 | * c-parse.in (%union): Add otype. | |
14328 | (save_obstack_position): New. | |
14329 | (extdefs): Use it. | |
14330 | (unary_expr): Update in_sizeof and in_alignof. Use | |
14331 | c_expr_sizeof_expr and c_expr_sizeof_type. | |
14332 | (sizeof): Update in_sizeof. | |
14333 | (alignof): Update in_alignof. | |
14334 | (typeof): Update in_typeof. | |
14335 | (typespec_nonreserved_nonattr): Call pop_maybe_used. | |
14336 | * c-typeck.c (in_alignof, in_sizeof, in_typeof, struct | |
14337 | maybe_used_decl, maybe_used_decls, record_maybe_used_decl, | |
14338 | pop_maybe_used, c_expr_sizeof_expr, c_expr_sizeof_type): New. | |
14339 | (build_external_ref): Set C_DECL_USED or call | |
14340 | record_maybe_used_decl if appropriate. | |
14341 | * toplev.c (check_global_declarations): Check TREE_NO_WARNING. | |
14342 | ||
14343 | 2004-09-08 Eric Christopher <echristo@redhat.com> | |
14344 | ||
14345 | * builtins.c: Fix prototype for fold_builtin_atan. | |
14346 | ||
14347 | 2004-09-08 Eric Christopher <echristo@redhat.com> | |
14348 | ||
14349 | * builtins.c (fold_builtin_strlen, fold_builtin_sqrt, fold_builtin_cbrt, | |
14350 | fold_builtin_pow, fold_builtin_sin, fold_builtin_cos, fold_builtin_tan, | |
14351 | fold_builtin_atan): New functions. Migrate function bodies... | |
14352 | (fold_builtin_1): ... from here. | |
14353 | ||
14354 | 2004-09-09 Alan Modra <amodra@bigpond.net.au> | |
14355 | ||
14356 | * config/rs6000/rs6000.c (rs6000_stack_info): Correct alignment of | |
14357 | save_size. | |
14358 | ||
14359 | 2004-09-08 David Edelsohn <edelsohn@gnu.org> | |
14360 | ||
14361 | * config/rs6000/power4.md (power4-lmul): du4 feeds iu1. | |
14362 | * config/rs6000/power5.md (power5-lmul): Same. | |
14363 | ||
14364 | 2004-09-08 Richard Henderson <rth@redhat.com> | |
14365 | ||
14366 | PR rtl-opt/17186 | |
14367 | * function.c (expand_function_end): Have fall-off-the-end | |
14368 | return path jump around return register setup. | |
14369 | ||
14370 | 2004-09-08 Eric Botcazou <ebotcazou@libertysurf.fr> | |
14371 | ||
14372 | * config/sparc/sparc.c (sparc_indent_opcode): New variable. | |
14373 | (output_return): Do not test for the presence of the 'unimp' insn. | |
14374 | Use 'current_function_uses_only_leaf_regs' and 'final_sequence' | |
14375 | as predicates instead of custom ones. Return raw strings when | |
14376 | possible. | |
14377 | (output_sibcall): Likewise. Concatenate strings. | |
14378 | (output_ubranch): Remove kludge for TurboSPARC. | |
14379 | (output_cbranch): Remove 'noop' parameter. Do not output 'nop'. | |
14380 | (output_v9branch): Likewise. | |
14381 | (print_operand): Use 'final_sequence' instead of 'dbr_sequence_length'. | |
14382 | <#>: Set sparc_indent_opcode if the delay slot is filled. | |
14383 | <(>: Likewise. | |
14384 | <)>: New operand to emit the displacement from the saved PC on return. | |
14385 | <@>: Remove. | |
14386 | * config/sparc/sparc.h (sparc_indent_opcode): Declare it. | |
14387 | (ASM_OUTPUT_OPCODE): New macro. | |
14388 | (PRINT_OPERAND_PUNCT_VALID_P): Remove '^' and add ')'. | |
14389 | * config/sparc/sparc.md (normal_branch, inverted_branch, | |
14390 | normal_fp_branch, inverted_fp_branch, normal_fpe_branch, | |
14391 | inverted_fpe_branch): Adjust call to output_cbranch. | |
14392 | (normal_int_branch_sp64, inverted_int_branch_sp64): Adjust | |
14393 | call to output_v9branch. | |
14394 | * config/sparc/sparc-protos.h (output_cbranch): Adjust. | |
14395 | (output_v9branch): Likewise. | |
14396 | ||
14397 | 2004-09-08 Devang Patel <dpatel@apple.com> | |
14398 | ||
14399 | * config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Add -segaddr, | |
14400 | -segs_read_only_addr and -segs_read_write_addr. | |
14401 | (WORD_SWITCH_TAKES_ARG): Same. | |
14402 | (LINK_SPEC): Same. | |
14403 | * doc/invoke.texi: Document -segaddr, -segs_read_only_addr and | |
14404 | -segs_read_write_addr. | |
14405 | ||
14406 | 2004-09-08 Richard Henderson <rth@redhat.com> | |
14407 | ||
14408 | * function.c (reference_callee_copied): New. | |
14409 | (assign_parm_setup_reg): Use it. | |
14410 | * calls.c (initialize_argument_information): Likewise. | |
14411 | (emit_library_call_value_1): Likewise. | |
14412 | * function.h (reference_callee_copied): Declare. | |
14413 | ||
14414 | * target.h (struct gcc_target): Add callee_copies. | |
14415 | * target-def.h (TARGET_CALLEE_COPIES): New. | |
14416 | (TARGET_PASS_BY_REFERENCE): Update default. | |
14417 | * expr.h (FUNCTION_ARG_CALLEE_COPIES): Remove. | |
14418 | * targhooks.c (hook_callee_copies_named): New. | |
14419 | (hook_bool_CUMULATIVE_ARGS_mode_tree_bool_false): Rename from | |
14420 | hook_pass_by_reference_false. | |
14421 | (hook_bool_CUMULATIVE_ARGS_mode_tree_bool_true): New. | |
14422 | * targhooks.h: Update decls. | |
14423 | * config/arc/arc.c (TARGET_CALLEE_COPIES): New. | |
14424 | * config/arc/arc.h (FUNCTION_ARG_CALLEE_COPIES): Remove. | |
14425 | * config/frv/frv-protos.h (frv_function_arg_callee_copies): Remove. | |
14426 | * config/frv/frv.c (frv_function_arg_callee_copies): Remove. | |
14427 | * config/frv/frv.h (FUNCTION_ARG_CALLEE_COPIES): Remove. | |
14428 | * config/iq2000/iq2000.c (TARGET_CALLEE_COPIES): New. | |
14429 | * config/iq2000/iq2000.h (FUNCTION_ARG_CALLEE_COPIES): Remove. | |
14430 | * config/m68hc11/m68hc11.c (TARGET_CALLEE_COPIES): New. | |
14431 | * config/m68hc11/m68hc11.h (FUNCTION_ARG_CALLEE_COPIES): Remove. | |
14432 | * config/mips/mips.c (TARGET_CALLEE_COPIES): New. | |
14433 | (mips_callee_copies): New. | |
14434 | * config/mips/mips.h (FUNCTION_ARG_CALLEE_COPIES): Remove. | |
14435 | * config/mmix/mmix.c (TARGET_CALLEE_COPIES): New. | |
14436 | * config/mmix/mmix.h (FUNCTION_ARG_CALLEE_COPIES): Remove. | |
14437 | * config/mn10300/mn10300.c (TARGET_CALLEE_COPIES): New. | |
14438 | * config/mn10300/mn10300.h (FUNCTION_ARG_CALLEE_COPIES): Remove. | |
14439 | * config/pa/pa.c (TARGET_CALLEE_COPIES): New. | |
14440 | * config/pa/pa.h (FUNCTION_ARG_CALLEE_COPIES): Remove. | |
14441 | * config/sh/sh.c (sh_callee_copies): New. | |
14442 | (TARGET_CALLEE_COPIES): New. | |
14443 | * config/sh/sh.h (FUNCTION_ARG_CALLEE_COPIES): Remove. | |
14444 | * config/v850/v850.c (TARGET_CALLEE_COPIES): New. | |
14445 | * config/v850/v850.h (FUNCTION_ARG_CALLEE_COPIES): Remove. | |
14446 | * doc/tm.texi (TARGET_CALLEE_COPIES): Replace documentation | |
14447 | for FUNCTION_ARG_CALLEE_COPIES. | |
14448 | * doc/rtl.texi (CALL_INSN_FUNCTION_USAGE): Update. | |
14449 | ||
14450 | 2004-09-08 Devang Patel <dpatel@apple.com> | |
14451 | ||
14452 | * tree-if-conv.c (find_phi_replacement_condition): Return true | |
14453 | edge block. | |
14454 | (replace_phi_with_cond_modify_expr): Select conditional expr args | |
14455 | based on true edge basic block. | |
14456 | ||
14457 | 2004-09-08 Jan Hubicka <jh@suse.cz> | |
14458 | ||
14459 | * tree-ssa-operands.c (add_stmt_operand): Use V_MUST_DEF even for | |
14460 | variables being alias set. | |
14461 | ||
14462 | 2004-09-08 Nathan Sidwell <nathan@codesourcery.com> | |
14463 | ||
14464 | * final.c (shorten_branches, final, get_insn_template, | |
14465 | output_alternate_entry_point, final_scan_insn, alter_subreg, | |
14466 | alter_cond, output_operand, asm_fprintf, final_forward_branch_p, | |
14467 | leaf_renumber_regs_insn): Use gcc_assert and gcc_unreachable. | |
14468 | * fix-header.c (lookup_std_proto): Likewise. | |
14469 | * flow.c (first_insn_after_basic_block_note, verify_wide_reg, | |
14470 | verify_local_live_at_start, update_life_info, mark_reg, | |
14471 | calculate_global_regs_live, allocate_reg_life_data, | |
14472 | init_propagate_block_info, mark_set_regs, flush_reg_cond_reg_1, | |
14473 | ior_reg_cond, not_reg_cond, and_reg_cond, elim_reg_cond, | |
14474 | attempt_auto_inc, mark_used_reg, mark_used_regs): Likewise. | |
14475 | * fold-const.c (force_fit_type, div_and_round_double, | |
14476 | may_negate_without_overflow_p, int_const_binop, const_binop, | |
14477 | size_binop, size_diffop, fold_convert_const, fold_convert, | |
14478 | invert_tree_comparison, swap_tree_comparison, | |
14479 | comparison_to_compcode, compcode_to_comparison, invert_truthvalue, | |
14480 | range_binop, make_range, fold_cond_expr_with_comparison, | |
14481 | fold_div_compare, fold, fold_checksum_tree, fold_negate_const, | |
14482 | fold_abs_const, fold_not_const, fold_relational_const, round_up, | |
14483 | round_down): Likewise. | |
14484 | * function.c (find_function_data, assign_stack_temp_for_type, | |
14485 | instantiate_virtual_regs_lossage, aggregate_value_p, | |
14486 | assign_parm_find_entry_rtl, assign_parm_setup_block, | |
14487 | expand_function_start, expand_function_end, keep_stack_depressed, | |
14488 | handle_epilogue_set, thread_prologue_and_epilogue_insns): Likewise. | |
14489 | ||
14490 | 2004-09-08 Daniel Berlin <dberlin@dberlin.org> | |
14491 | ||
14492 | * Makefile.in (tree-loop-linear.o): Added. | |
14493 | (OBJS-common): Add tree-loop-linear.o | |
14494 | * common.opt: New flag, ftree-loop-linear. | |
14495 | * timevar.def: New timevar, TV_TREE_LOOP_LINEAR. | |
14496 | * tree-flow.h: Add prototype for linear_transform_loops. | |
14497 | * tree-optimize.c: Add linear transform after vectorization. | |
14498 | * tree-pass.h: Add struct pass_linear_transform. | |
14499 | * tree-ssa-loop.c: Add pass_linear_transform. | |
14500 | * tree-loop-linear.c: New file. | |
14501 | * lambda-code.c: gcc_assertify. | |
14502 | (gcc_loop_to_lambda_loop): Handle all exit tests. | |
14503 | Handle case where we have (invariant >= induction var). | |
14504 | (find_induction_var_from_exit_cond): Ditto. | |
14505 | ||
14506 | 2004-09-08 Jie Zhang <zhangjie@magima.com.cn> | |
14507 | ||
14508 | * tree-ssa-alias.c (compute_flow_insensitive_aliasing): If type | |
14509 | memory tag is call clobbered, so are its aliases. | |
14510 | (group_aliases): When two memory tags being grouped, if one is | |
14511 | call clobbered, so are the other and its aliases. | |
14512 | (add_may_alias): Remove call-clobbering stuff. | |
14513 | (replace_may_alias): Likewise. | |
14514 | (merge_pointed_to_info): Merge pt_global_mem | |
14515 | ||
14516 | 2004-09-08 Jan Hubicka <jh@suse.cz> | |
14517 | ||
14518 | * cgraph.c (cgraph_remove_node): Free DECL_INITIAL field of node. | |
14519 | * cgraphunit.c (verify_cgraph): Don't verify on syntax errors. | |
14520 | (cgraph_expand_function): Remove stale cgraph edges of currently | |
14521 | compiled function; fix non-unit-at-a-time code copying function | |
14522 | node for later reuse. | |
14523 | ||
14524 | 2004-09-08 Nathan Sidwell <nathan@codesourcery.com> | |
14525 | ||
14526 | * vec.c (vec_p_reserve, vec_o_reserve): Rename to ... | |
14527 | (vec_gc_p_reserve, vec_gc_o_reserve): ... here. Clone to | |
14528 | (vec_heap_p_reserve, vec_heap_o_reserve): ... here, adjust. | |
14529 | (vec_gc_free, vec_heap_free): New. | |
14530 | * vec.h (DEF_VEC_GC_P, DEF_VEC_MALLOC_P): New. | |
14531 | (DEF_VEC_P): Add allocator argument. Adjust. | |
14532 | (DEF_VEC_GC_O, DEF_VEC_MALLOC_O): New. | |
14533 | (DEF_VEC_O): Add allocator argument. Adjust. | |
14534 | (VEC(free)): New. | |
14535 | ||
14536 | * tree.h (tree): Define a GC'd vector. | |
14537 | * lamba-code.c (lambda_loop): Likewise. | |
14538 | * value-prof.h (histogram_value): Likewise. | |
14539 | ||
14540 | 2004-09-08 Nathan Sidwell <nathan@codesourcery.com> | |
14541 | ||
14542 | * emit-rtl.c (immed_double_const): Use gcc_assert and gcc_unreachable. | |
14543 | (gen_rtx_SUBREG, gen_reg_rtx, mark_user_reg, subreg_hard_regno, | |
14544 | gen_lowpart_common, gen_highpart, gen_highpart_mode, | |
14545 | subreg_highpart_offset, operand_subword, operand_subword_force, | |
14546 | mem_expr_equal_p, set_mem_attributes_minus_bitpos, | |
14547 | set_mem_alias_set, change_address_1, verify_rtx_sharing, | |
14548 | copy_most_rtx, set_first_insn, set_last_insn, prev_cc0_setter, | |
14549 | try_split, add_insn_after, add_insn_before, remove_insn, | |
14550 | remove_unnecessary_notes, emit_insn_before, emit_jump_insn_before, | |
14551 | emit_call_insn_before, emit_insn_after, emit_jump_insn_after, | |
14552 | emit_call_insn_after, emit_insn, emit_jump_insn, emit_call_insn, | |
14553 | set_unique_reg_note, emit, push_to_full_sequence, copy_insn_1, | |
14554 | gen_const_vector_0, emit_copy_of_insn_after): Likewise. | |
14555 | * et-forest.c (set_prev, set_next, et_check_occ_sanity, | |
14556 | record_path_before_1, check_path_after_1, check_path_after): Likewise. | |
14557 | * except.c (gen_eh_region, resolve_one_fixup_region, | |
14558 | remove_unreachable_regions, convert_from_eh_region_ranges_1, | |
14559 | add_ehl_entry, duplicate_eh_region_1, build_post_landing_pads, | |
14560 | connect_post_landing_pads, sjlj_emit_function_exit, | |
14561 | remove_exception_handler_label, remove_eh_handler, | |
14562 | reachable_next_level, collect_one_action_chain, | |
14563 | output_function_exception_table): Likewise. | |
14564 | * explow.c (trunc_int_for_mode, copy_to_mode_reg, | |
14565 | optimize_save_area_alloca, allocate_dynamic_stack_space, | |
14566 | probe_stack_range, hard_function_value): Likewise. | |
14567 | * expmed.c (mode_for_extraction, store_bit_field, | |
14568 | store_fixed_bit_field, extract_bit_field, expand_shift, | |
14569 | expand_mult_const, expand_mult, choose_multiplier, | |
14570 | expand_mult_highpart, expand_divmod, emit_store_flag, | |
14571 | do_cmp_and_jump): Likewise. | |
14572 | * expr.c (convert_move, convert_modes, move_by_pieces, | |
14573 | move_by_pieces_ninsns, move_by_pieces_1, emit_block_move, | |
14574 | move_block_from_reg, gen_group_rtx, emit_group_load, | |
14575 | emit_group_move, emit_group_store, use_reg, use_regs, | |
14576 | can_store_by_pieces, store_by_pieces, store_by_pieces_1, | |
14577 | emit_move_insn, emit_move_insn_1, emit_push_insn, | |
14578 | expand_assignment, store_expr, count_type_elements, | |
14579 | store_constructor, store_field, safe_from_p, expand_var, | |
14580 | expand_expr_addr_expr, expand_expr_real_1, do_store_flag): Likewise. | |
14581 | ||
14582 | 2004-09-08 Nathan Sidwell <nathan@codesourcery.com> | |
14583 | ||
14584 | * dbxout.c (dbxout_type, dbxout_type_name, dbxout_symbol): Use | |
14585 | gcc_assert and gcc_unreachable. | |
14586 | * ddg.c (create_ddg_dependence, add_deps_for_def, | |
14587 | add_deps_for_use, create_ddg, add_edge_to_ddg): Likewise. | |
14588 | * df.c (df_ref_unlink, df_ref_record, df_uses_record, | |
14589 | df_reg_def_chain_create, df_reg_use_chain_create, df_analyze, | |
14590 | df_insn_delete, df_refs_reg_replace, df_ref_reg_replace, | |
14591 | df_insns_modify, df_pattern_emit_before, df_bb_reg_live_start_p, | |
14592 | df_bb_reg_live_end_p, df_bb_regs_lives_compare, | |
14593 | df_bb_single_def_use_insn_find, dataflow_set_a_op_b, | |
14594 | dataflow_set_copy, hybrid_search, diagnostic.c, | |
14595 | diagnostic_build_prefix, diagnostic_count_diagnostic): Likewise. | |
14596 | * dojump.c (do_jump): Likewise. | |
14597 | * dominance.c (calc_dfs_tree_nonrec, calc_dfs_tree, | |
14598 | compute_dom_fast_query, calculate_dominance_info, | |
14599 | free_dominance_info, get_immediate_dominator, | |
14600 | set_immediate_dominator, get_dominated_by, | |
14601 | redirect_immediate_dominators, nearest_common_dominator, | |
14602 | dominated_by_p, verify_dominators, recount_dominator, | |
14603 | iterate_fix_dominators, add_to_dominance_info, | |
14604 | delete_from_dominance_info): Likewise. | |
14605 | * dwarf2asm.c (size_of_encoded_value, eh_data_format_name, | |
14606 | dw2_asm_output_delta_uleb128, dw2_asm_output_delta_sleb128, | |
14607 | dw2_force_const_mem, dw2_asm_output_encoded_addr_rtx): Likewise. | |
14608 | * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes, reg_save, | |
14609 | initial_return_save, stack_adjust_offset, dwarf2out_stack_adjust, | |
14610 | flush_queued_reg_saves, dwarf2out_frame_debug_expr, | |
14611 | dwarf2out_frame_debug, dw_cfi_oprnd1_desc, output_cfi, | |
14612 | output_call_frame_info, output_loc_operands, build_cfa_loc, | |
14613 | decl_ultimate_origin, AT_flag, AT_int, AT_unsigned, AT_string, | |
14614 | AT_string_form, add_AT_specification, AT_ref, set_AT_ref_external, | |
14615 | AT_loc, AT_loc_list, AT_addr, AT_lbl, add_child_die, | |
14616 | splice_child_die, attr_checksum, same_dw_val_p, | |
14617 | break_out_includes, build_abbrev_table, size_of_die, mark_dies, | |
14618 | unmark_dies, value_format, output_loc_list, output_die, | |
14619 | output_pubnames, output_aranges, base_type_die, is_base_type, | |
14620 | modified_type_die, dbx_reg_number, multiple_reg_loc_descriptor, | |
14621 | mem_loc_descriptor, loc_descriptor, loc_descriptor_from_tree_1, | |
14622 | field_byte_offset, add_data_member_location_attribute, | |
14623 | add_const_value_attribute, rtl_for_decl_location, | |
14624 | add_location_or_const_value_attribute, add_byte_size_attribute, | |
14625 | add_bit_offset_attribute, add_bit_size_attribute, | |
14626 | add_abstract_origin_attribute, pop_decl_scope, scope_die_for, | |
14627 | decl_start_label, gen_formal_parameter_die, | |
14628 | gen_type_die_for_member, gen_subprogram_die, gen_label_die, | |
14629 | gen_typedef_die, gen_type_die, gen_tagged_type_instantiation_die, | |
14630 | force_decl_die, force_type_die, gen_decl_die, | |
14631 | dwarf2out_imported_module_or_decl, prune_unused_types_prune, | |
14632 | dwarf2out_finish): Likewise. | |
14633 | ||
14634 | 2004-09-08 Andreas Tobler <toa@pop.agri.ch> | |
14635 | ||
14636 | * Makefile.in (builtins.o): Depend on tree-mudflap.h. | |
14637 | * builtins.c: Include tree-mudflap.h. | |
14638 | ||
14639 | 2004-09-08 Uros Bizjak <uros@kss-loka.si> | |
14640 | ||
14641 | * config/i386/i386.c (ix86_prepare_fp_compare_args): Do not | |
14642 | force operand 0.0 into register in XFmode. Also do not force | |
14643 | operand 0.0 into register if !TARGET_CMOVE. | |
14644 | * config/i386/i386.md (*cmpfp_0): Delete. Remove comment. | |
14645 | (*cmpfp_0_sf, cmpfp_0_df, cmpfp_0_xf): New patterns to | |
14646 | implement ftst x87 instruction. | |
14647 | (*fp_jcc_7): New insn pattern. Change corresponding split | |
14648 | pattern to handle "general_operand" instead of | |
14649 | "nonimmediate_operand". | |
14650 | ||
14651 | 2004-09-08 Ben Elliston <bje@au.ibm.com> | |
14652 | ||
14653 | * doc/rtl.texi (Insns): Document NOTE_INSN_FUNCTION_BEG. | |
14654 | ||
14655 | 2004-09-07 Frank Ch. Eigler <fche@redhat.com> | |
14656 | ||
14657 | * builtins.c (std_gimplify_va_arg_expr): Mark INDIRECT_REF nodes | |
14658 | generated from standard va_arg expansion. | |
14659 | * tree-mudflap.c (mx_xform_derefs_1): Omit instrumentation from | |
14660 | marked nodes. | |
14661 | (mf_varname_tree, mf_file_function_line_tree): Add some support | |
14662 | for column numbers if compiled with USE_MAPPED_LOCATION. | |
14663 | ||
14664 | 2004-09-07 Ziemowit Laski <zlaski@apple.com> | |
14665 | ||
14666 | * c-decl.c (groktypename_in_parm_context): Remove function. | |
14667 | * c-tree.h (groktypename_in_parm_context): Remove prototype. | |
14668 | ||
14669 | 2004-09-07 Ziemowit Laski <zlaski@apple.com> | |
14670 | ||
14671 | * Makefile.in (c-parse.o): Depend on $(C_COMMON_H). | |
14672 | * c-parse.in: Include c-common.h instead of objc-act.h. | |
14673 | (ivar_decl_list, ivar_decls, ivar_decl, ivars, ivar_declarator, | |
14674 | myparms, myparm): Remove %type declarations. | |
14675 | (methodtype, optparms, OBJC_TYPE_QUAL, objc_quals, objc_qual, | |
14676 | objc_typename, objc_try_catch_stmt, optellipsis): Add %type | |
14677 | declarations. | |
14678 | (objc_inherit_code, objc_public_flag): Remove. | |
14679 | (typespec_nonreserved_nonattr): Call | |
14680 | objc_get_protocol_qualified_type() instead of get_static_reference() | |
14681 | and get_protocol_reference(). | |
14682 | (stmt_nocomp): Call grokparm() on @catch parameter. | |
14683 | (objcdef): Move semantic action to objc_finish_implementation(). | |
14684 | (classdef): Move semantic action to objc_start_class_interface(), | |
14685 | objc_continue_interface(), objc_finish_interface(), | |
14686 | objc_start_class_implementation(), objc_continue_implementation(), | |
14687 | objc_start_category_interface() and | |
14688 | objc_start_category_implementation(). | |
14689 | (protocoldef): Move semantic actions to objc_start_protocol() and | |
14690 | objc_finish_interface(). | |
14691 | (ivar_decl_list): Remove nonterminal. | |
14692 | (visibility_spec): Move semantic actions to objc_set_visibility(). | |
14693 | (ivar_decls): Remove assignment to $$. | |
14694 | (ivar_decl): Rephrase in terms of component_decl; call | |
14695 | objc_add_instance_variable(). | |
14696 | (ivars, ivar_declarator): Remove nonterminals. | |
14697 | (opt_semi): New nonterminal. | |
14698 | (methodtype): Remove semantic actions. | |
14699 | (methoddef): Move semantic actions to objc_set_method_type(), | |
14700 | objc_start_method_definition() and objc_finish_method_definition(). | |
14701 | (methodproto): Move semantic actions to objc_set_method_type() and | |
14702 | objc_add_method_declaration(). | |
14703 | (methoddecl): Use objc_typename instead of typename; move semantic | |
14704 | actions to objc_build_method_signature(). | |
14705 | (optarglist, myxdecls, mydecl, myparms, myparm): Remove nonterminals. | |
14706 | (optparmlist): Express in terms of optparms and optellipsis. | |
14707 | (optparms, optellipsis, objc_qual, objc_quals, objc_typename): New | |
14708 | nonterminals. | |
14709 | (keyworddecl): Use objc_typename instead of typename. | |
14710 | (rid_to_yy): Mark RID_IN, RID_OUT, RID_INOUT, RID_BYCOPY, RID_BYREF | |
14711 | and RID_ONEWAY as returning OBJC_TYPE_QUAL to yyparse(). | |
14712 | ||
14713 | 2004-09-08 Alan Modra <amodra@bigpond.net.au> | |
14714 | ||
14715 | * doc/tm.texi (MD_UNWIND_SUPPORT): Document. | |
14716 | (MD_FALLBACK_FRAME_STATE_FOR): Update. | |
14717 | * unwind-dw2.c (MD_UNWIND_SUPPORT): #include if defined. | |
14718 | (uw_frame_state_for): Adjust MD_FALLBACK_FRAME_STATE_FOR invocation. | |
14719 | (MD_FROB_UPDATE_CONTEXT): Remove default. | |
14720 | (uw_update_context_1): Instead #ifdef invocation. | |
14721 | * config/ia64/unwind-ia64.c (MD_UNWIND_SUPPORT): #include if defined. | |
14722 | (uw_frame_state_for): Adjust MD_FALLBACK_FRAME_STATE_FOR invocation. | |
14723 | * config/alpha/gnu.h (MD_FALLBACK_FRAME_STATE_FOR): Don't undef. | |
14724 | (MD_UNWIND_SUPPORT): Undefine this instead. | |
14725 | * config/i386/gnu.h: Likewise. | |
14726 | * config/alpha/linux-unwind.h: New file, macro converted to | |
14727 | function, extracted from.. | |
14728 | * config/alpha/linux.h (MD_FALLBACK_FRAME_STATE_FOR): ..this. | |
14729 | (MD_UNWIND_SUPPORT): Define. | |
14730 | * config/alpha/vms-unwind.h, config/alpha/vms.h: Likewise. | |
14731 | * config/i386/linux-unwind.h, config/i386/linux.h, | |
14732 | config/i386/linux64.h: Likewise. | |
14733 | * config/ia64/linux-unwind.h, config/ia64/linux.h: Likewise. | |
14734 | MD_HANDLE_UNWABI too. | |
14735 | * config/mips/linux-unwind.h, config/mips/linux.h: Likewise. | |
14736 | * config/pa/linux-unwind.h, config/pa/pa32-linux.h: Likewise. | |
14737 | * config/rs6000/darwin-unwind.h, config/rs6000/darwin.h: Likewise. | |
14738 | * config/s390/linux-unwind.h, config/s390/linux.h: Likewise. | |
14739 | * config/sparc/linux-unwind.h, config/sparc/linux.h, | |
14740 | config/sparc/linux64.h: Likewise. | |
14741 | * config/sh/linux-unwind.h, config/sh/linux.h: Likewise, but merge | |
14742 | SH_FALLBACK_FRAME_FLOAT_STATE into sh_fallback_frame_state. | |
14743 | * config/rs6000/linux-unwind.h, config/rs6000/linux.h, | |
14744 | config/rs6000/linux64.h: Likewise. Split out get_sigcontext | |
14745 | function. Use ARG_POINTER_REGNUM for 32-bit temp reg too. | |
14746 | ||
14747 | 2004-09-07 Jan Hubicka <jh@suse.cz> | |
14748 | ||
e8366202 | 14749 | * cse.c (fold_rtx): Avoid building of |
7a4515d7 SB |
14750 | (CONST (MINUS (CONST_INT) (SYMBOL_REF))) |
14751 | ||
14752 | * tree-ssa-pre.c (grand_bitmap_obstack): New. | |
14753 | (value_insert_into_set_bitmap, bitmap_set_new): Use the obstack. | |
14754 | (init_pre): Initialize obstack. | |
14755 | (fini_pre): Free obstack. | |
14756 | ||
14757 | 2004-09-07 David Daney <ddaney@avtrex.com> | |
14758 | ||
14759 | * config.gcc: Added support for --with-divide=[breaks|traps] for | |
14760 | mips targets. | |
14761 | * config/mips/mips.h (MASK_DIVIDE_BREAKS): New target_flags bit. | |
14762 | (TARGET_DIVIDE_TRAPS): New macro. | |
14763 | (TARGET_SWITCHES): Added -mdivide-traps and -mdivide-breaks. | |
14764 | (OPTION_DEFAULT_SPECS): Added --with-divide= support. | |
14765 | * config/mips/mips.c (mips_idiv_insns): Generate proper count on | |
14766 | GENERATE_DIVIDE_TRAPS. | |
14767 | (mips_output_division): Emit conditional trap if | |
14768 | GENERATE_DIVIDE_TRAPS is set. | |
14769 | * doc/install.texi: Document --with-divide. | |
14770 | * doc/invoke.texi: Document -mdivide-traps and -mdivide-breaks. | |
14771 | ||
14772 | 2004-09-07 Caroline Tice <ctice@apple.com> | |
14773 | ||
e8366202 | 14774 | * cfgrtl.c (rtl_verify_flow_info_1): Add new edge flag, |
7a4515d7 SB |
14775 | EDGE_CROSSING, to flags test case. |
14776 | ||
14777 | 2004-09-07 Jan Hubicka <jh@suse.cz> | |
14778 | ||
14779 | * tree-ssa-loop-ivopts.c (contains_abnormal_ssa_name_p): Deal with '<' | |
14780 | class too. | |
14781 | ||
14782 | 2004-09-07 Nathan Sidwell <nathan@codesourcery.com> | |
14783 | ||
14784 | * cfganal.c (flow_depth_first_order_compute, dfs_enumerate_from, | |
14785 | cfgbuild.c, inside_basic_block_p, control_flow_insn_p, | |
14786 | make_label_edge, make_edges, find_basic_blocks_1): Use gcc_assert | |
14787 | or gcc_unreachable. | |
14788 | * cfg.c (clear_edges, initialize_bb_rbi, compact_blocks, | |
14789 | remove_edge, alloc_aux_for_blocks, free_aux_for_blocks, | |
14790 | alloc_aux_for_edges, free_aux_for_edges): Likewise. | |
14791 | * cfgcleanup.c (try_forward_edges, | |
14792 | merge_blocks_move_predecessor_nojumps, | |
14793 | merge_blocks_move_successor_nojumps): Likewise. | |
14794 | * cfgexpand.c (expand_gimple_cond_expr, | |
14795 | expand_gimple_tailcall): Likewise. | |
14796 | * cfghooks.c (duplicate_block): Likewise. | |
14797 | * cfglayout.c (record_effective_endpoints, | |
14798 | insn_locators_initialize, change_scope, fixup_reorder_chain, | |
14799 | verify_insn_chain, fixup_fallthru_exit_predecessor, | |
14800 | duplicate_insn_chain, cfg_layout_finalize): Likewise. | |
14801 | * cfgloopanal.c (check_irred): Likewise. | |
14802 | * cfgloop.c (superloop_at_depth, flow_loops_free, | |
14803 | flow_loop_entry_edges_find, flow_loops_find, | |
14804 | flow_loop_outside_edge_p, get_loop_body, | |
14805 | get_loop_body_in_dom_order, get_loop_body_in_bfs_order, | |
14806 | get_loop_exit_edges, num_loop_branches, cancel_loop, | |
14807 | verify_loop_structure): Likewise. | |
14808 | cfgloopmanip.c (find_path, remove_path, loop_delete_branch_edge, | |
14809 | duplicate_loop_to_header_edge, create_preheader, | |
14810 | create_loop_notes): Likewise. | |
14811 | * cfgrtl.c (delete_insn, try_redirect_by_replacing_jump, | |
14812 | edirect_branch_edge, force_nonfallthru_and_redirect, | |
14813 | rtl_split_edge, insert_insn_on_edge, commit_one_edge_insertion, | |
14814 | commit_edge_insertions, commit_edge_insertions_watch_calls, | |
14815 | purge_dead_edges, cfg_layout_redirect_edge_and_branch, | |
14816 | cfg_layout_redirect_edge_and_branch_force, | |
14817 | cfg_layout_merge_blocks, rtl_flow_call_edges_add): Likewise. | |
14818 | * cgraph.c (cgraph_node, cgraph_create_edge, cgraph_remove_edge, | |
14819 | cgraph_redirect_edge_callee, cgraph_global_info, cgraph_rtl_info, | |
14820 | cgraph_varpool_node): Likewise. | |
14821 | * cgraphunit.c (cgraph_finalize_function, | |
14822 | cgraph_finalize_compilation_unit, cgraph_mark_functions_to_output, | |
14823 | cgraph_expand_function, cgraph_remove_unreachable_nodes, | |
14824 | cgraph_clone_inlined_nodes, cgraph_mark_inline_edge, | |
14825 | cgraph_mark_inline, cgraph_expand_all_functions, | |
14826 | cgraph_build_static_cdtor): Likewise. | |
14827 | * combine.c (do_SUBST, try_combine, subst, combine_simplify_rtx, | |
14828 | simplify_logical, distribute_notes, insn_cuid): Likewise. | |
14829 | * conflict.c (conflict_graph_add, print_conflict): Likewise. | |
14830 | * coverage.c (rtl_coverage_counter_ref, tree_coverage_counter_ref, | |
14831 | coverage_checksum_string): Likewise. | |
14832 | * cse.c (make_new_qty, make_regs_eqv, insert, invalidate, | |
14833 | hash_rtx, exp_equiv_p, cse_basic_block, count_reg_usage, | |
14834 | cse_cc_succs, cse_condition_code_reg): Likewise. | |
14835 | * cselib.c (entry_and_rtx_equal_p, remove_useless_values, | |
14836 | rtx_equal_for_cselib_p, wrap_constant, cselib_hash_rtx, | |
14837 | new_cselib_val, cselib_subst_to_values, cselib_invalidate_regno, | |
14838 | cselib_record_set): Likewise. | |
14839 | ||
14840 | 2004-09-07 Jan Hubicka <jh@suse.cz> | |
14841 | ||
14842 | * tree-ssa-loop-ivopts.c (iv_value): Avoid invalid sharing on niter. | |
14843 | ||
14844 | 2004-09-07 Nathan Sidwell <nathan@codesourcery.com> | |
14845 | ||
14846 | * builtins.c (fold_builtin_strchr): Use build_int_cst, not | |
14847 | fold_convert. | |
14848 | (fold_builtin_strpbrk): Likewise. | |
14849 | * expr.c (array_ref_low_bound): Likewise. | |
14850 | * tree-scalar-evolution.c (chrec_is_positive, add_to_evolution_1, | |
14851 | interpret_rhs_modify_expr, number_of_iterations_in_loop): Likewise. | |
14852 | * tree-sra.c (generate_element_zero): Likewise. | |
14853 | * tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Likewise. | |
14854 | * tree-ssa-loop-ivopts.c (determine_biv_step, idx_find_step, | |
14855 | add_old_iv_candidates, add_iv_candidates): Likewise. | |
14856 | * tree-tailcall.c (tree_optimize_tail_calls_1): Likewise. | |
14857 | ||
14858 | 2004-09-07 Nathan Sidwell <nathan@codesourcery.com> | |
14859 | ||
14860 | * c-aux-info.c (gen_type): Use gcc_assert or gcc_unreachable. | |
14861 | * c-common.c (c_type_hash, c_common_nodes_and_builtins, | |
14862 | c_expand_expr, boolean_increment, nonnull_check_p, | |
14863 | check_function_arguments_recurse, fold_offsetof_1): Likewise. | |
14864 | * c-cppbuiltin.c (define__GNUC__, builtin_define_stdint_macros, | |
14865 | builtin_define_type_max): Likewise. | |
14866 | * c-decl.c (bind, pop_scope, merge_decls, pushdecl_top_level, | |
14867 | implicit_decl_warning, builtin_function, build_compound_literal, | |
14868 | complete_array_type, grokdeclarator, get_parm_info, | |
14869 | start_function, store_parm_decls_oldstyle, | |
14870 | c_write_global_declarations): Likewise. | |
14871 | * c-format.c (get_constant, decode_format_attr, | |
14872 | maybe_read_dollar_number, get_flag_spec, check_format_arg, | |
14873 | check_format_types, format_type_warning, | |
14874 | find_char_info_specifier_index, init_dynamic_asm_fprintf_info, | |
14875 | init_dynamic_diag_info, handle_format_attribute): Likewise. | |
14876 | * c-gimplify.c (push_context, pop_context, finish_bc_block): | |
14877 | * c-lex.c (c_lex_with_flags, lex_string): Likewise. | |
14878 | * c-objc-common.c (c_tree_printer): Likewise. | |
14879 | * c-pch.c (pch_init): Likewise. | |
14880 | * c-pragma.c (maybe_apply_pragma_weak): Likewise. | |
14881 | * c-pretty-print.c (pp_c_tree_decl_identifier): Likewise. | |
14882 | * c-typeck.c (c_incomplete_type_error, composite_type, | |
14883 | common_pointer_type, common_type, same_translation_unit_p, | |
14884 | tagged_types_tu_compatible_p, finish_init, pop_init_level, | |
14885 | set_designator, set_nonincremental_init_from_string, | |
14886 | process_init_element, c_finish_if_stmt): Likewise. | |
14887 | * caller-save.c (init_caller_save, save_call_clobbered_regs, | |
14888 | insert_restore, insert_save, insert_one_insn): Likewise. | |
14889 | * calls.c (emit_call_1, compute_argument_block_size, | |
14890 | precompute_arguments, expand_call, emit_library_call_value_1, | |
14891 | store_one_arg): Likewise. | |
14892 | ||
14893 | 2004-09-07 Nathan Sidwell <nathan@codesourcery.com> | |
14894 | ||
14895 | * configure.ac (enable-checking): Add release option. Reorganize | |
14896 | to avoid repetition. | |
14897 | * configure: Rebuilt. | |
14898 | * doc/install.texi (enable-checking): Amend documentation. | |
14899 | ||
14900 | 2004-09-06 H.J. Lu <hongjiu.lu@intel.com> | |
14901 | ||
14902 | PR bootstrap/17313 | |
14903 | * Makefile.in (specs.ready): Depend on cc1$(exeext). | |
14904 | ||
14905 | 2004-09-06 James E Wilson <wilson@specifixinc.com> | |
14906 | ||
14907 | * config/mips/mips.md (movsf_hardfloat, movdf_hardfloat_64bit, | |
14908 | movdf_hardfloat_32bit): Split fG into two alternatives. | |
14909 | (movv2sf_hardfloat_64bit): Split fYG into two alternatives. | |
14910 | ||
14911 | * emit-rtl.c (try_split): Check INSN_P before may_trap_p call. | |
14912 | ||
14913 | 2004-09-06 Eric Botcazou <ebotcazou@libertysurf.fr> | |
14914 | ||
14915 | * final.c (output_in_slot): Delete. | |
14916 | (final_scan_insn): Revert 2004-09-03 change. | |
14917 | (output_asm_insn): Likewise. | |
14918 | * config/sparc/sparc.c (output_return): Likewise. | |
14919 | (output_sibcall): Likewise. | |
14920 | ||
14921 | 2004-09-06 Jan Hubicka <jh@suse.cz> | |
14922 | ||
14923 | * loop.c (loop_dump_aux): Do not print RTL when not available. | |
14924 | * tree-ssa-loop-ivopts.c (add_standard_iv_candidates): Do not use | |
14925 | frontend specific type nodes. | |
14926 | (produce_memory_decl_rtl): Break out from ... | |
14927 | (prepare_decl_rtl): ... here. Handle ADDR_EXPR correctly. | |
14928 | (get_computation_at): Avoid random tree sharing. | |
14929 | (tree_ssa_iv_optimize): Verify tree sharing; dump loops. | |
14930 | ||
14931 | 2004-09-06 Zack Weinberg <zack@codesourcery.com> | |
14932 | ||
14933 | * Makefile.in (rtl.o, bitmap.o): Correct dependencies, remove | |
14934 | unnecessary commands. | |
14935 | ||
14936 | 2004-09-06 Mohan Embar <gnustuff@thisiscool.com> | |
14937 | ||
14938 | * Makefile.in (rtl.o): Remove -DGENERATOR_FILE. | |
14939 | (bitmap.o): Likewise. | |
14940 | ||
14941 | 2004-09-06 Paolo Bonzini <bonzini@gnu.org> | |
14942 | ||
14943 | Unify the management of RTL and tree-level dump files. | |
14944 | ||
14945 | * cfgexpand.c (tree_expand_cfg): Fix incorrect comment. | |
14946 | Don't print function name to the dump file, the pass manager | |
14947 | would do this for us. Add code from the top of | |
14948 | rest_of_compilation, up to the initial RTL dump. | |
14949 | * passes.c (rest_of_handle_jump): Call fixup_tail_calls and | |
14950 | close the DFI_sibling dump file. | |
14951 | (rest_of_compilation): Don't do that here. Remove code up to the | |
14952 | initial RTL dump. | |
14953 | (init_optimization_passes): Remove. | |
14954 | (pass_rest_of_compilation): Change pass name to NULL. | |
14955 | * toplev.c (lang_dependent_init): Do not use an empty dump file prefix. | |
14956 | Do not call init_optimization_passes. | |
14957 | * toplev.h (init_optimization_passes): Remove. | |
14958 | ||
14959 | * graph.c (print_rtl_graph_with_bb, clean_graph_dump_file, | |
14960 | finish_graph_dump_file): Remove SUFFIX parameter. | |
14961 | * graph.h (print_rtl_graph_with_bb, clean_graph_dump_file, | |
14962 | finish_graph_dump_file): Likewise. | |
14963 | ||
14964 | * tree-pass.h (struct tree_opt_pass): Add `letter' field. | |
14965 | * cfgexpand.c (pass_expand): Adjust. | |
14966 | * gimple-low.c (pass_lower_cf, pass_remove_useless_vars): Adjust. | |
14967 | * passes.c (pass_rest_of_compilation): Adjust. | |
14968 | * predict.c (pass_profile): Adjust. | |
14969 | * tree-alias-common.c (pass_build_pta, pass_del_pta): Adjust. | |
14970 | * tree-cfg.c (pass_build_cfg, pass_remove_useless_stmts, | |
14971 | pass_split_crit_edges, pass_warn_function_return): Adjust. | |
14972 | * tree-complex.c (pass_lower_vector_ssa, pass_pre_expand): Adjust. | |
14973 | * tree-dfa.c (pass_referenced_vars): Adjust. | |
14974 | * tree-eh.c (pass_lower_eh): Adjust. | |
14975 | * tree-if-conv.c (pass_build_ssa): Adjust. | |
14976 | * tree-into-ssa.c (pass_build_ssa): Adjust. | |
14977 | * tree-mudflap.c (pass_mudflap_1, pass_mudflap_2): Adjust. | |
14978 | * tree-nomudflap.c (pass_mudflap_1, pass_mudflap_2): Adjust. | |
14979 | * tree-nrv.c (pass_nrv): Adjust. | |
14980 | * tree-optimize.c (pass_gimple, pass_all_optimizations, | |
14981 | pass_cleanup_cfg_post_optimizing, pass_free_datastructures, | |
14982 | pass_init_datastructures): Adjust. | |
14983 | * tree-outof-ssa.c (pass_del_ssa): Adjust. | |
14984 | * tree-profile.c (pass_tree_profile): Adjust. | |
14985 | * tree-sra.c (pass_sra): Adjust. | |
14986 | * tree-ssa-alias.c (pass_may_alias): Adjust. | |
14987 | * tree-ssa-ccp.c (pass_ccp, pass_fold_builtins): Adjust. | |
14988 | * tree-ssa-copyrename.c (pass_rename_ssa_copies): Adjust. | |
14989 | * tree-ssa-dce.c (pass_dce, pass_cd_dce): Adjust. | |
14990 | * tree-ssa-dom.c (pass_dominator): Adjust. | |
14991 | * tree-ssa-dse.c (pass_dse): Adjust. | |
14992 | * tree-ssa-forwprop.c (pass_forwprop): Adjust. | |
14993 | * tree-ssa-if-conv.c (pass_if_conversion): Adjust. | |
14994 | * tree-ssa-loop-ch.c (pass_ch): Adjust. | |
14995 | * tree-ssa-loop.c (pass_loop, pass_loop_init, pass_lim, | |
14996 | pass_loop_done, pass_complete_unroll, pass_iv_canon, | |
14997 | pass_iv_optimize, pass_vectorize): Adjust. | |
14998 | * tree-ssa-phiopt.c (pass_phiopt): Adjust. | |
14999 | * tree-ssa-pre.c (pass_pre, pass_fre): Adjust. | |
15000 | * tree-ssa.c (pass_redundant_phi, pass_early_warn_uninitialized, | |
15001 | pass_late_warn_uninnitialized): Adjust. | |
15002 | * tree-tailcall.c (pass_tail_recursion, pass_tail_calls): Adjust. | |
15003 | ||
15004 | * Makefile.in (tree-dump.o): Add new dependencies. | |
15005 | * cgraph.c (cgraph_remove_node): TDF_all -> TDF_tree_all. | |
15006 | * cgraphunit.c (cgraph_preserve_function_body_p, cgraph_optimize): | |
15007 | Likewise. | |
15008 | * toplev.c (dump_file_name): New. | |
15009 | * tree-dump.c (dump_enable_all): Add LETTER parameter. | |
15010 | (struct dump_file_info): Add NUM and LETTER fields. | |
15011 | (dump_files): Adjust and add RTL dump files. | |
15012 | (dump_register): Add NUM and LETTER fields. | |
15013 | (get_dump_file_name, dump_initialized_p, enable_rtl_dump_file): New. | |
15014 | (dump_begin): Use get_dump_file_name. | |
15015 | (dump_switch_p_1): Adjust call to dump_enable_all. | |
15016 | * tree-dump.h (dump_register): Adjust prototype. | |
15017 | * tree-optimize.c (register_one_dump_file): Take dump file index. | |
15018 | Support flags for RTL dumps. | |
15019 | (register_dump_files): Fill in NUM field of struct dump_file_info. | |
15020 | Track properties both when the gate is executed and when it is not. | |
15021 | (execute_todo): Dump RTL. Add PROPERTIES parameter. | |
15022 | (execute_one_pass): Pass properties to execute_todo. Handle VCG | |
15023 | dumps of RTL. | |
15024 | * tree-pass.h (dump_file_name): New. | |
15025 | * tree.h (TDF_TREE, TDF_RTL, get_dump_file_name, dump_initialized_p): | |
15026 | New. | |
15027 | ||
15028 | * Makefile.in (passes.o): Add new dependencies. | |
15029 | * passes.c (struct dump_file_info, enum dump_file_index, | |
15030 | dump_file_tbl, init_optimization_passes): Remove. | |
15031 | (open_dump_file, close_dump_file): Use tree-dumping infrastructure. | |
15032 | (rest_of_handle_new_regalloc, rest_of_handle_old_regalloc): Use | |
15033 | dump_enabled_p. | |
15034 | (finish_optimization_passes): Update finish_graph_dump_file loop. | |
15035 | (enable_rtl_dump_file): Remove. | |
15036 | * tree-dump.c (dump_files): Adjust and add RTL dump files. | |
15037 | (enable_rtl_dump_file): Add here. | |
15038 | * tree.h (enum tree_dump_index): Add RTL dump file indices. | |
15039 | * doc/invoke.texi (Debugging options): Document new RTL debugging | |
15040 | options. Update. | |
15041 | ||
15042 | 2004-09-05 Kazu Hirata <kazu@cs.umass.edu> | |
15043 | ||
15044 | * c-common.c, c-decl.c, combine.c, defaults.h, fold-const.c, | |
15045 | gimplify.c, gthr-nks.h, hooks.c, lambda-code.c, lambda-mat.c, | |
15046 | stor-layout.c, target.h, tree-cfg.c, tree-chrec.c, | |
15047 | tree-if-conv.c, tree-inline.c, tree-into-ssa.c, | |
15048 | tree-mudflap.c, tree-optimize.c, tree-scalar-evolution.c, | |
15049 | tree-ssa-alias.c, tree-ssa-ccp.c, tree-ssa-dce.c, | |
15050 | tree-ssa-pre.c, tree-vectorizer.c, tree-vectorizer.h, tree.h, | |
15051 | vec.h: Fix comment formatting. | |
15052 | ||
15053 | 2004-09-05 Kazu Hirata <kazu@cs.umass.edu> | |
15054 | ||
15055 | * c-common.c, cfgexpand.c, cgraphunit.c, defaults.h, | |
15056 | et-forest.c, expr.c, gimplify.c, global.c, gthr-lynx.h, | |
15057 | hard-reg-set.h, modulo-sched.c, optabs.c, postreload-gcse.c, | |
15058 | tree-data-ref.c, tree-flow.h, tree-if-conv.c, tree-inline.c, | |
15059 | tree-sra.c, tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c, | |
15060 | tree-ssa-loop-niter.c, tree-ssa-operands.c, | |
15061 | tree-ssa-operands.h, tree-ssa-propagate.c, | |
15062 | tree-ssa-propagate.h, tree-ssa-threadupdate.c, value-prof.c, | |
15063 | vec.c, vec.h: Fix comment typos. Follow spelling conventions. | |
15064 | ||
15065 | 2004-09-05 Diego Novillo <dnovillo@redhat.com> | |
15066 | ||
15067 | * tree-if-conv.c (gate_tree_if_conversion): Enable only if the | |
15068 | vectorizer is enabled. | |
15069 | ||
15070 | 2004-09-05 Andreas Jaeger <aj@suse.de> | |
15071 | ||
15072 | * tree-if-conv.c: Spell check comments and clean up whitespace. | |
15073 | ||
15074 | 2004-09-05 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> | |
15075 | ||
15076 | * tree-ssa-loop-ivopts.c: New file. | |
15077 | * Makefile.in (tree-ssa-loop-ivopts.c): Add. | |
15078 | * cfgloop.h (target_avail_regs, target_res_regs, target_small_cost, | |
15079 | target_pres_cost, target_spill_cost): Declare. | |
15080 | * cfgloopanal.c (avail_regs, res_regs, small_cost, pres_cost, | |
15081 | spill_cost): Renamed to ... | |
15082 | (target_avail_regs, target_res_regs, target_small_cost, | |
15083 | target_pres_cost, target_spill_cost): ... and exported. | |
15084 | (init_set_costs, global_cost_for_size): Work with renamed variables. | |
15085 | * common.opt (flag_ivopts): New flag. | |
15086 | * expr.c (expand_expr_real_1): Handle SSA_NAME case. Handle | |
15087 | REF_ORIGINAL. | |
15088 | * gimplify.c (struct gimplify_ctx): Add into_ssa field. | |
15089 | (internal_get_tmp_var, gimplify_modify_expr, gimplify_expr): Support | |
15090 | generating SSA form. | |
15091 | (force_gimple_operand): New function. | |
15092 | * timevar.def (TV_TREE_LOOP_IVOPTS): New timevar. | |
15093 | * tree-cfg.c (stmt_bsi): New function. | |
15094 | * params.def (PARAM_IV_CONSIDER_ALL_CANDIDATES_BOUND, | |
15095 | PARAM_IV_MAX_CONSIDERED_USES): New. | |
15096 | * tree-flow.h (stmt_bsi, tree_ssa_iv_optimize, split_loop_exit_edge, | |
15097 | bsi_insert_on_edge_immediate_loop. standard_iv_increment_position, | |
15098 | ip_end_pos, ip_normal_pos, force_gimple_operand): Declare. | |
15099 | * tree-gimple.c (is_gimple_formal_tmp_var): Accept ssa names. | |
15100 | * tree-nested.c (build_addr): Export. | |
15101 | * tree-optimize.c (init_tree_optimization_passes): Add | |
15102 | pass_iv_optimize. | |
15103 | * tree-pass.h (pass_iv_optimize): Declare. | |
15104 | * tree-ssa-loop-im.c (for_each_index): Handle REALPART_EXPR and | |
15105 | IMAGPART_EXPR. | |
15106 | * tree-ssa-loop-manip.c (create_iv): Force the base to be acceptable | |
15107 | as a phi node argument. | |
15108 | (split_loop_exit_edge, bsi_insert_on_edge_immediate_loop, | |
15109 | ip_end_pos, ip_normal_pos, standard_iv_increment_position): New | |
15110 | functions. | |
15111 | * tree-ssa-loop-niter.c (zero_p, unsigned_type_for): Export. | |
15112 | * tree-ssa-loop.c (tree_ssa_loop_ivopts, gate_tree_ssa_loop_ivopts, | |
15113 | pass_iv_optimize): New pass. | |
15114 | * tree-ssa-operands.c (get_indirect_ref_operands): Handle REF_ORIGINAL. | |
15115 | * tree-ssanames.c (release_ssa_name): Allow calling with var = NULL. | |
15116 | * tree.c (build_int_cst_type, cst_and_fits_in_hwi): New functions. | |
15117 | * tree.h (REF_ORIGINAL): New macro. | |
15118 | (build_int_cst_type, unsigned_type_for, zero_p, | |
15119 | cst_and_fits_in_hwi, build_addr): Declare. | |
15120 | * doc/invoke.texi (-fivopts): Document. | |
15121 | (PARAM_IV_CONSIDER_ALL_CANDIDATES_BOUND, | |
15122 | PARAM_IV_MAX_CONSIDERED_USES): Document. | |
15123 | * doc/passes.texi: Document induction variable optimizations pass. | |
15124 | ||
15125 | 2004-09-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
15126 | ||
15127 | * builtin-attrs.def (ATTR_NOTHROW_SENTINEL_1): New. | |
15128 | * builtins.def (BUILT_IN_EXECLE): Set ATTR_NOTHROW_SENTINEL_1. | |
15129 | * c-common.c (c_common_attribute_table): Accept parameters to | |
15130 | sentinel attribute. | |
15131 | (check_function_sentinel, handle_sentinel_attribute): Likewise. | |
15132 | * doc/extend.texi: Update accordingly. | |
15133 | ||
15134 | 2004-09-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
15135 | ||
15136 | * builtin-attrs.def (ATTR_SENTINEL, ATTR_SENTINEL_NOTHROW_LIST): | |
15137 | New. | |
15138 | * builtins.def (BUILT_IN_EXECL, BUILT_IN_EXECLP): Add `sentinel' | |
15139 | attribute. | |
15140 | * c-common.c (handle_sentinel_attribute, check_function_sentinel): | |
15141 | New functions. | |
15142 | (c_common_attribute_table): Add `sentinel' attribute. | |
15143 | (check_function_arguments): Handle `sentinel' attribute. | |
15144 | * doc/extend.texi: Document `sentinel' attribute. | |
15145 | ||
15146 | 2004-09-04 H.J. Lu <hongjiu.lu@intel.com> | |
15147 | ||
15148 | * configure: Regenerated. | |
15149 | ||
15150 | 2004-09-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
15151 | ||
15152 | * gimplify.c (internal_get_tmp_var): Remove unused var CLASS. | |
15153 | ||
15154 | * tree.c (save_expr): No longer TREE_READONLY. | |
15155 | ||
15156 | 2004-09-04 Jan Hubicka <jh@suse.cz> | |
15157 | ||
e8366202 | 15158 | * passes.c (rest_of_clean_state): Fix merge conflict made during |
7a4515d7 SB |
15159 | commiting the patch. |
15160 | ||
15161 | 2004-09-04 Jan Hubicka <jh@suse.cz> | |
15162 | ||
e8366202 | 15163 | * passes.c (rest_of_clean_state): Decompose the instruction stream. |
7a4515d7 SB |
15164 | |
15165 | 2004-09-04 Richard Sandiford <rsandifo@redhat.com> | |
15166 | ||
15167 | * doc/md.texi (shift patterns): New anchor. Add reference to | |
15168 | TARGET_SHIFT_TRUNCATION_MASK. | |
15169 | * doc/tm.texi (TARGET_SHIFT_TRUNCATION_MASK): Document. | |
15170 | * target.h (shift_truncation_mask): New target hook. | |
15171 | * targhook.h (default_shift_truncation_mask): Declare. | |
15172 | * targhook.c (default_shift_truncation_mask): Define. | |
15173 | * target-def.h (TARGET_SHIFT_TRUNCATION_MASK): Define. | |
15174 | (TARGET_INITIALIZER): Include it. | |
15175 | * simplify-rtx.c (simplify_binary_operation): Combine ASHIFT, ASHIFTRT | |
15176 | and LSHIFTRT cases. Truncate arg1 if SHIFT_COUNT_TRUNCATED, otherwise | |
15177 | reject all out-of-range values. Fix sign-extension code for modes | |
15178 | whose width is smaller than HOST_BITS_PER_WIDE_INT. | |
15179 | * optabs.c (simplify_expand_binop, force_expand_binop): New functions. | |
15180 | (expand_superword_shift, expand_subword_shift): Likewise. | |
15181 | (expand_doubleword_shift_condmove, expand_doubleword_shift): Likewise. | |
15182 | (expand_binop): Use them to implement double-word shifts. | |
15183 | * config/arm/arm.c (arm_shift_truncation_mask): New function. | |
15184 | (TARGET_SHIFT_TRUNCATION_MASK): Define. | |
15185 | ||
15186 | 2004-09-04 Jan Hubicka <jh@suse.cz> | |
15187 | ||
15188 | * tree.c (iterate_hash_expr): Optimize, avoid use of iterative_hash_object. | |
15189 | (mix): New macro copied from hashtab.c | |
15190 | (iterative_hash_hashval_t, iterative_hash_pointer, | |
15191 | iterative_hash_host_wide_int): New functions based on hashtab.c | |
15192 | implementation. | |
15193 | ||
15194 | 2004-09-04 Richard Sandiford <rsandifo@redhat.com> | |
15195 | ||
15196 | * config/mips/mips.md (mask): New mode attribute. | |
15197 | (zero_extendsidi2): Add memory alternative. | |
15198 | (*zero_extendsidi2_mem): Delete. | |
15199 | (zero_extend[qh]i[sd]i2): Redefine using :GPR and :SHORT. Use | |
15200 | memory_operand in the TARGET_MIPS16 check. | |
15201 | (*zero_extend[qh]i[sd]i2{,_mips16}): Name previously unnamed patterns. | |
15202 | Redefine using :GPR and :SHORT. | |
15203 | (zero_extendqihi2): Use memory_operand in the TARGET_MIPS16 check. | |
15204 | ||
15205 | 2004-09-04 Uros Bizjak <uros@kss-loka.si> | |
15206 | ||
15207 | * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_RINT{,F,L} | |
15208 | using rint_optab. | |
15209 | (expand_builtin): Expand BUILT_IN_RINT{,F,L} using | |
15210 | expand_builtin_mathfn. | |
15211 | * genopinit.c (optabs): Rename trunc_optab to btrunc_optab. Use | |
15212 | btrunc?f patterns for btrunc_optab. Implement rint_optab using | |
15213 | rint?f patterns. | |
15214 | * optabs.c (init_optabs): Initialize rint_optab. | |
15215 | * optabs.h (enum optab_index): Rename OTI_trunc to OTI_btrunc. | |
15216 | Add new OTI_rint. | |
15217 | (btrunc_optab): Rename macro from trunc_optab. | |
15218 | (rint_optab): Define corresponding macro. | |
15219 | ||
15220 | * reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_FRNDINT_FLOOR, | |
15221 | UNSPEC_FRNDINT_CEIL, UNSPEC_FRNDINT_TRUNC, UNSPEC_FRNDINT_MASK_PM. | |
15222 | ||
15223 | * config/i386/i386-protos.h (emit_i387_cw_initialization): | |
15224 | Change prototype. Add new int parameter. | |
15225 | * config/i386/i386.c (emit_i387_cw_initialization): | |
15226 | Handle new rounding modes. | |
15227 | ||
15228 | * config/i386/i386.h (enum fp_cw_mode): Delete. | |
15229 | (MODE_NEEDED): Handle new rounding modes. | |
15230 | (EMIT_MODE_SET): Change condition to handle new rounding modes. | |
15231 | ||
15232 | * config/i386/i386.md (UNSPEC_FRNDINT_FLOOR, UNSPEC_FRNDINT_CEIL, | |
15233 | UNSPEC_FRNDINT_TRUNC, UNSPEC_FRNDINT_MASK_PM): New unspecs to | |
15234 | represent different rounding modes of frndint insn. | |
15235 | (type): Add frndint type. | |
15236 | (i387, length, memory): Handle this type. | |
15237 | (i387_cw): New attribute definition. | |
15238 | (*fix_truncdi_1, fix_truncdi_nomemory, fix_truncdi_memory, | |
15239 | *fix_truncsi_1, fix_truncsi_nomemory, fix_truncsi_memory, | |
15240 | *fix_trunchi_1, fix_trunchi_nomemory, fix_trunchi_memory): | |
15241 | Add "i387_cw" attribute defined to "trunc". | |
15242 | (x86_fnstcw_1): Remove comment. | |
15243 | (*frndintxf2): Rename insn definition to frndintxf2. Move | |
15244 | insn definition near rint?f2 expanders. | |
15245 | (rintdf2, rintsf2, rintxf2): New expanders to implement rint, | |
15246 | rintf and rintl built-ins as inline x87 intrinsics. | |
15247 | (frndintxf2_floor): New pattern to implement floor rounding | |
15248 | mode with frndint x87 instruction. | |
15249 | (floordf2, floorsf2, floorxf2): New expanders to implement floor, | |
15250 | floorf and floorl built-ins as inline x87 intrinsics. | |
15251 | (frndintxf2_ceil): New pattern to implement ceil rounding | |
15252 | mode with frndint x87 instruction. | |
15253 | (ceildf2, ceilsf2, ceilxf2): New expanders to implement ceil, | |
15254 | ceilf and ceill built-ins as inline x87 intrinsics. | |
15255 | (frndintxf2_trunc): New pattern to implement trunc rounding | |
15256 | mode with frndint x87 instruction. | |
15257 | (btruncdf2, btruncsf2, btruncxf2): New expanders to implement trunc, | |
15258 | truncf and truncl built-ins as inline x87 intrinsics. | |
15259 | (frndintxf2_mask_pm): New pattern to implement rounding | |
15260 | mode with exceptions with frndint x87 instruction. | |
15261 | (nearbyintdf2, nearbyintsf2, nearbyintxf2): New expanders to | |
15262 | implement nearbyint, nearbyintf and nearbyintl built-ins as | |
15263 | inline x87 intrinsics. | |
15264 | ||
15265 | 2004-09-04 Richard Sandiford <rsandifo@redhat.com> | |
15266 | ||
15267 | * config/mips/mips.md (SHORT): New mode macro. | |
15268 | (size): New mode attribute. | |
15269 | (extend[qh]i[sd]i2): Redefine using :GPR and :SHORT. | |
15270 | (*extend[qh]i[sd]i2): New define_insn_and_split, combining previous | |
15271 | *extend[qh]i[sd]i2 and *extend[qh]i[sd]i2_mem patterns. Use only if | |
15272 | !ISA_HAS_SEB_SEH. | |
15273 | (*extend[qh]i[sd]i2_se[bh]): New pattern, combining previous | |
15274 | *extend[qh]isi2_hw patterns and extending them to di. | |
15275 | (extendqihi2): Implement as define_insn_and_split that produces | |
15276 | extendqisi2 after reload. | |
15277 | ||
15278 | 2004-09-03 Devang Patel <dpatel@apple.com> | |
15279 | ||
15280 | * Makefile.in (OBJS-common): Add tree-if-conv.o | |
15281 | (tree-if-conv.o): New rule. | |
15282 | * cfgloop.c (flow_loop_exit_edges_find): Set EDGE_LOOP_EXIT flag. | |
15283 | (get_loop_body_in_bfs_order): New. | |
15284 | * cfgloop.h (get_loop_body_in_bfs_order): New. | |
15285 | * tree-flow.h (enum move_pos): Move here from .. | |
15286 | * tree-ssa-loop-im.c (enum move_pos): here. | |
15287 | (movement_possibility): Make externally visible. | |
15288 | * tree-optimize.c (init_tree_optimization_passes): New entry for | |
15289 | if conversion pass. | |
15290 | * tree-pass.h (pass_if_conversion): New. | |
15291 | * tree-ssa-operands.c (get_expr_operands): Handle COND_EXPR. | |
15292 | * tree-if-conv.c: New file. | |
15293 | * doc/passes.texi: Document tree if-conversion pass. | |
15294 | * doc/tree-ssa.texi: Same. | |
15295 | ||
15296 | 2004-09-03 H.J. Lu <hongjiu.lu@intel.com> | |
15297 | ||
15298 | PR target/14925: | |
15299 | Makefile.in (LIB2ADDEHSTATIC): New. | |
15300 | (LIB2ADDEHSHARED): New. | |
15301 | (LIBUNWIND): New. | |
15302 | (LIBUNWINDDEP): New. | |
15303 | (SHLIBUNWIND_LINK): New. | |
15304 | (SHLIBUNWIND_INSTALL): New. | |
15305 | (libgcc.mk): Pass LIB2ADDEHSTATIC, LIB2ADDEHSHARED, LIBUNWIND, | |
15306 | LIBUNWINDDEP, SHLIBUNWIND_LINK and SHLIBUNWIND_INSTALL. | |
15307 | (clean): Remove libunwind* | |
15308 | (stage1-start): Remove and copy stage1/libunwind*. | |
15309 | (stage2-start): Remove and copy stage2/libunwind*. | |
15310 | (stage3-start): Remove and copy stage3/libunwind*. | |
15311 | (stage4-start): Remove and copy stage4/libunwind*. | |
15312 | (stageprofile-start): Remove and copy stageprofile/libunwind*. | |
15313 | (stagefeedback-start): Remove and copy stagefeedback/libunwind*. | |
15314 | ||
15315 | * config.gcc (ia64*-*-linux*): Always add t-libunwind to | |
15316 | tmake_file. Add t-libunwind-elf and ia64/t-glibc-libunwind to | |
15317 | tmake_file if --with-system-libunwind isn't used. | |
15318 | ||
15319 | * config/ia64/t-glibc-libunwind: New file. | |
15320 | * config/t-libunwind-elf: Likewise. | |
15321 | * unwind-compat.c: Likewise. | |
15322 | * unwind-compat.h: Likewise. | |
15323 | * unwind-dw2-fde-compat.c: Likewise. | |
15324 | ||
15325 | * config/ia64/t-glibc (LIB2ADDEH): Updated. | |
15326 | * config/ia64/t-hpux (T_CFLAGS): Add -DUSE_LIBUNWIND_EXCEPTIONS. | |
15327 | ||
15328 | * config/ia64/unwind-ia64.c: Include "unwind-compat.h". Define | |
15329 | aliases if needed. | |
15330 | * unwind-dw2-fde-glibc.c: Likewise. | |
15331 | * unwind-dw2.c: Likewise. | |
15332 | ||
15333 | * config/t-libunwind (LIB2ADDEH): Updated. | |
15334 | (LIB2ADDEHSTATIC): New. | |
15335 | (T_CFLAGS): Add -DUSE_LIBUNWIND_EXCEPTIONS. | |
15336 | (TARGET_LIBGCC2_CFLAGS): Set to -DUSE_GAS_SYMVER. | |
15337 | ||
15338 | * configure.ac: Change --enable-libunwind-exceptions to | |
15339 | --with-system-libunwind. Don't define USE_LIBUNWIND_EXCEPTIONS. | |
15340 | * configure: Regenerated. | |
15341 | * config.in: Updated. | |
15342 | ||
15343 | * doc/install.texi (ia64-*-linux): Require libunwind 0.98 or | |
15344 | above and mention --with-system-libunwind. | |
15345 | (ia64-*-hpux*): Mention --enable-libunwind-exceptions is | |
15346 | removed in gcc 3.4.3 and later. | |
15347 | ||
15348 | * gcc.c (init_spec): Add -lunwind to -lgcc_s if | |
15349 | USE_LIBUNWIND_EXCEPTIONS is defined. | |
15350 | ||
15351 | * mklibgcc.in: Support libunwind. | |
15352 | ||
15353 | 2004-09-03 H.J. Lu <hongjiu.lu@intel.com> | |
15354 | ||
15355 | * config/i386/i386.c (x86_branch_hints): Remove m_PENT4 and | |
15356 | m_NOCONA. | |
15357 | ||
15358 | 2004-09-03 Richard Henderson <rth@redhat.com> | |
15359 | ||
15360 | PR middle-end/9997 | |
15361 | * cfgexpand.c (LOCAL_ALIGNMENT): Provide default. | |
15362 | (STACK_ALIGNMENT_NEEDED, FRAME_GROWS_DOWNWARD): Likewise. | |
15363 | (struct stack_var, EOC, stack_vars, stack_vars_alloc, stack_vars_num, | |
15364 | stack_vars_sorted, stack_vars_conflict, stack_vars_conflict_alloc, | |
15365 | frame_phase, get_decl_align_unit, add_stack_var, triangular_index, | |
15366 | resize_stack_vars_conflict, add_stack_var_conflict, | |
15367 | stack_var_conflict_p, add_alias_set_conflicts, stack_var_size_cmp, | |
15368 | union_stack_vars, partition_stack_vars, dump_stack_var_partition, | |
15369 | expand_one_stack_var_at, expand_stack_vars, expand_one_stack_var, | |
15370 | expand_one_static_var, expand_one_hard_reg_var, | |
15371 | expand_one_register_var, expand_one_error_var, defer_stack_allocation, | |
15372 | expand_one_var, expand_used_vars_for_block, clear_tree_used): New. | |
15373 | (expand_used_vars): Rewrite. | |
15374 | * Makefile.in (cfgexpand.o): Update dependencies. | |
15375 | ||
15376 | 2004-09-04 Jan Hubicka <jh@suse.cz> | |
15377 | ||
15378 | * cfg.c (free_edge): Use ggc_free. | |
15379 | (expunge_block): Use ggc_free. | |
15380 | * passes.c (rest_of_clean_state): Free after compilation. | |
15381 | * tree-ssa.c (delete_tree_ssa): Free annotations; call release_defs | |
15382 | * tree-ssanames.c (release_defs): Ignore non-SSA_NAME arguments. | |
15383 | ||
15384 | 2004-09-03 James E Wilson <wilson@specifixinc.com> | |
15385 | ||
15386 | * tree-ssa-alias.c (may_be_aliased): Move TREE_STATIC check after | |
15387 | DECL_EXTERNAL check. | |
15388 | ||
15389 | 2004-09-03 Eric Botcazou <ebotcazou@libertysurf.fr> | |
15390 | ||
15391 | * final.c (output_in_slot): New global variable. | |
15392 | (final_scan_insn): Add new state '2' to the 'nopeepholes' parameter. | |
15393 | Pass 2 as 'nopeepholes' to self for insns in a SEQUENCE. Set | |
15394 | 'output_in_slot' before invoking output_asm_insn. | |
15395 | (output_asm_insn): Add a space after the tab if 'output_in_slot' | |
15396 | is set. | |
15397 | * config/sparc/sparc.c (output_return): Pass 2 as 'nopeepholes' to | |
15398 | final_scan_insn. | |
15399 | (output_sibcall): Likewise. | |
15400 | ||
15401 | 2004-09-03 Jan Hubicka <jh@suse.cz> | |
15402 | ||
15403 | * tree-ssa-operands.c (fini_ssa_operands): ggc_free unused arrays. | |
15404 | * tree-ssanames (init_ssanames): Likewise. | |
15405 | ||
15406 | 2004-09-03 Ziemowit Laski <zlaski@apple.com> | |
15407 | ||
15408 | * stub-objc.c (objc_is_id, objc_declare_alias, objc_declare_class, | |
15409 | objc_declare_protocols, objc_start_protocol, | |
15410 | objc_start_class_interface, objc_start_category_interface, | |
15411 | objc_continue_interface, objc_finish_interface, | |
15412 | objc_add_instance_variable, objc_set_visibility, objc_set_method_type, | |
15413 | objc_start_class_implementation, objc_start_category_implementation, | |
15414 | objc_continue_implementation, objc_finish_implementation, | |
15415 | objc_add_method_declaration, objc_start_method_definition, | |
15416 | objc_finish_method_definition, objc_build_keyword_decl, | |
15417 | objc_build_method_signature, objc_build_encode_expr, | |
15418 | objc_build_protocol_expr, objc_build_selector_expr, | |
15419 | objc_build_message_expr, objc_build_string_object, | |
15420 | objc_get_class_reference, objc_get_protocol_qualified_type, | |
15421 | objc_static_init_needed_p, objc_generate_static_init_call): New stubs. | |
15422 | ||
15423 | 2004-09-03 James E Wilson <wilson@specifixinc.com> | |
15424 | ||
15425 | * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Add __mips3d. | |
15426 | ||
15427 | * config/mips/generic.md (generic_frecip_fsqrt_step): New. | |
15428 | * config/mips/mips-ps-3d.md (mips_rsqrt1_<fmt>): Use frsqrt1 type. | |
15429 | (mips_rsqrt2_<fmt>): Use frsqrt2 type. | |
15430 | (mips_recip1_<fmt>): Use frdiv1 type. | |
15431 | (mips_recip2_<fmt>): Use frdiv2 type. | |
15432 | * config/mips/mips.md (type): Add frdiv1, frdiv2, frsqrt1, frsqrt2. | |
15433 | * config/mips/sb1.md (ir_sb1_fpu_2pipes, ir_sb1_fpu_1pipe): Add frdiv1 | |
15434 | and frsqrt1. | |
15435 | (ir_sb1_fpu_step2_2pipes, ir_sb1_fpu_step2_1pipe): New. | |
15436 | ||
15437 | 2004-09-03 Daniel Jacobowitz <dan@debian.org> | |
15438 | ||
15439 | * reload.c (find_reloads): Swap operand_loc pointers for | |
15440 | find_dummy_reload if we have swapped two operands. | |
15441 | ||
15442 | 2004-09-03 Hans-Peter Nilsson <hp@axis.com> | |
15443 | ||
15444 | * config/cris/cris.h (ASM_OUTPUT_CASE_END): Use prev_nonnote_insn | |
15445 | to get the tablejump-insn before the jump-table label. | |
15446 | ||
15447 | 2004-09-03 Ziemowit Laski <zlaski@apple.com> | |
15448 | ||
15449 | * c-common.h (objc_is_id, objc_declare_alias, objc_declare_class, | |
15450 | objc_declare_protocols, objc_build_message_expr, | |
15451 | objc_finish_message_expr, objc_build_selector_expr, | |
15452 | objc_build_protocol_expr, objc_build_encode_expr, | |
15453 | objc_build_string_object, objc_get_protocol_qualified_type, | |
15454 | objc_get_class_reference, objc_get_class_ivars, | |
15455 | objc_start_class_interface, objc_start_category_interface, | |
15456 | objc_start_protocol, objc_continue_interface, objc_finish_interface, | |
15457 | objc_start_class_implementation, objc_start_category_implementation, | |
15458 | objc_continue_implementation, objc_finish_implementation, | |
15459 | objc_set_visibility, objc_set_method_type, objc_build_method_signature, | |
15460 | objc_add_method_declaration, objc_start_method_definition, | |
15461 | objc_finish_method_definition, objc_add_instance_variable, | |
15462 | objc_build_keyword_decl, objc_build_throw_stmt, objc_begin_try_stmt, | |
15463 | objc_finish_try_stmt, objc_begin_catch_clause, | |
15464 | objc_finish_catch_clause, objc_build_finally_clause, | |
15465 | objc_build_synchronized, objc_static_init_needed_p, | |
15466 | objc_generate_static_init_call): New prototypes. | |
15467 | ||
15468 | 2004-09-03 Steve Ellcey <sje@cup.hp.com> | |
15469 | ||
15470 | * config/ia64/ia64.c (ia64_function_arg): Use PARALLEL even if there | |
15471 | is only one reg. | |
15472 | (ia64_function_value): Ditto. | |
15473 | ||
15474 | 2004-09-03 Jan Beulich <jbeulich@novell.com> | |
15475 | ||
15476 | * config.gcc: Resurrect NetWare as a target. Handle special case of | |
15477 | Novell linker to be used (specified through --with-ld=) and threading | |
15478 | model of either Posix (default) or NKS. | |
15479 | * config/i386/i386.c (ix86_return_pops_args): Conditionalize popping | |
15480 | of incoming hidden argument on KEEP_AGGREGATE_RETURN_POINTER. | |
15481 | * config/i386/i386.h (KEEP_AGGREGATE_RETURN_POINTER): New. | |
15482 | * config/i386/netware.c, config/i386/netware.h: New. | |
15483 | * config/i386/nwld.c, config/i386/nwld.h: New. | |
15484 | * config/i386/netware-crt0.c: New. | |
15485 | * config/i386/netware-libgcc.c: New. | |
15486 | * config/i386/netware-libgcc.def: New. | |
15487 | * config/i386/netware-libgcc.exp: New. | |
15488 | * config/i386/t-netware, config/i386/t-nwld: New. | |
15489 | * gthr-nks.h: New. | |
15490 | * doc/install.texi: Document NKS threading model. | |
15491 | ||
15492 | 2004-09-03 Jan Beulich <jbeulich@novell.com> | |
15493 | ||
15494 | PR c/7054 | |
15495 | * defaults.h (TARGET_DEFAULT_PACK_STRUCT): Provide default. | |
15496 | * tree.h (initial_max_fld_align): Declare | |
15497 | * stor-layout.c (initial_max_fld_align): Define and initialize. | |
15498 | (maximum_field_alignment): Initialize to the same value. | |
15499 | * common.opt: Add -fpack-struct= variant of switch. | |
15500 | * opts.c: Handle -fpack-struct= variant of switch. | |
15501 | * c-pragma.c: Change #pragma pack() handling so that it becomes | |
15502 | compatible to other compilers: accept individual 'push' argument, | |
15503 | make final pop restore (command line) default, correct interaction | |
15504 | of push/pop and sole specification of a new alignment (so that the | |
15505 | sequence #pragma pack(push) - #pragma pack(<n>) becomes identical | |
15506 | to #pragma pack(push, <n>). | |
15507 | * doc/extend.texi: New node "Structure-Packing Pragmas" under | |
15508 | "Pragmas", describing #pragma pack. | |
15509 | * doc/invoke.texi: Document -fpack-struct=<n> variant of switch. | |
15510 | * doc/tm.texi: Adjust description for HANDLE_PRAGMA_PACK_PUSH_POP. | |
15511 | Document new TARGET_DEFAULT_PACK_STRUCT. | |
15512 | ||
15513 | 2004-09-03 Devang Patel <dpatel@apple.com> | |
15514 | ||
15515 | * dwarf2out.c (gen_field_die). Equate decl number to die. | |
15516 | ||
15517 | 2004-09-03 Vladimir Makarov <vmakarov@redhat.com> | |
15518 | ||
15519 | PR target/15832 | |
15520 | * global.c (modify_reg_pav): New function. | |
15521 | (make_accurate_live_analysis): Call the new function. Move pavin | |
15522 | modification by earlyclobber set into the new function. | |
15523 | ||
15524 | 2004-09-03 Andreas Schwab <schwab@suse.de> | |
15525 | ||
15526 | * config/m68k/m68k.c (output_andsi3): Use -1 instead of | |
15527 | (HOST_WIDE_INT)0xffffffff since CONST_INT value are always sign | |
15528 | extended. | |
15529 | ||
15530 | 2004-09-02 Jan Beulich <jbeulich@novell.com> | |
15531 | ||
15532 | * Makefile.in (LIB2ADDEHDEP): Add unwind.h and unwind-pe.h. | |
15533 | * mklibgcc.in (libgcc_dep): New, covering general dependencies, but | |
15534 | not unwind code specific ones. | |
15535 | (libgcc2_c_dep): Replace general dependencies with use of libgcc_dep. | |
15536 | Remove unwind code specific dependencies. | |
15537 | (libgcov_c_dep): Replace general dependencies with use of libgcc_dep. | |
15538 | Remove gbl-ctors.h. | |
15539 | Add libgcc_dep to output generated for LIB2ADD, LIB2ADDEH, and | |
15540 | LIB2ADD_ST. Add LIB2ADDEHDEP to output generated for LIB2ADDEH. | |
15541 | * tsystem.h: Declare memcpy and memset when inhibit_libc. | |
15542 | ||
15543 | 2004-09-02 Roman Zippel <zippel@linux-m68k.org> | |
15544 | ||
15545 | * combine.c (try_combine): Delay modifying of insns which cannot | |
15546 | be easily undone. | |
15547 | ||
15548 | 2004-09-02 Daniel Berlin <dberlin@dberlin.org> | |
15549 | ||
a1d1988f | 15550 | * common.opt: Rename ivcanon to tree-loop-ivcanon, tree-lim to |
7a4515d7 | 15551 | tree-loop-im. |
a1d1988f MS |
15552 | * tree-ssa-loop.c: Ditto |
15553 | * tree-ssa-loop-ivcanon.c: Ditto | |
15554 | * doc/invoke.texi: Ditto. | |
7a4515d7 SB |
15555 | |
15556 | 2004-09-02 Ziemowit Laski <zlaski@apple.com> | |
15557 | ||
15558 | * c-decl.c (store_parm_decls_newstyle): Make static. | |
15559 | (store_parm_decls_from): New function. | |
15560 | * c-tree.h (store_parm_decls_newstyle): Remove prototype. | |
15561 | (store_parm_decls_from): New prototype. | |
15562 | ||
15563 | 2004-09-02 David Edelsohn <edelsohn@gnu.org> | |
15564 | ||
15565 | * config/rs6000/rs6000.c (expand_block_move): Use SImode and | |
15566 | HImode with STRICT_ALIGNMENT. | |
15567 | ||
15568 | 2004-09-02 Mark Mitchell <mark@codesourcery.com> | |
15569 | ||
15570 | * config/arm/bpabi.h (TARGET_BPABI_CPP_BUILTINS): Define. | |
15571 | (TARGET_OS_CPP_BUILTINS): Likewise. | |
15572 | * config/arm/symbian.h (TARGET_OS_CPP_BUILTINS): Include | |
15573 | TARGET_BPABI_CPP_BUILTINS. | |
15574 | ||
15575 | 2004-09-02 Roman Zippel <zippel@linux-m68k.org> | |
15576 | ||
15577 | * combine.c (distribute_notes): Don't add REG_LABEL to jump insn. | |
15578 | ||
15579 | 2004-09-02 Eric Christopher <echristo@redhat.com> | |
15580 | ||
15581 | * builtins.c (expand_builtin_cabs): Delete. | |
15582 | (expand_builtin): If unable to fold the values do a normal | |
15583 | library call for builtin_cab*. | |
15584 | (fold_builtin_cabs): Depend on optimize and optimize_size. | |
15585 | * optabs.c (expand_cmplxdiv_straight): Delete. | |
15586 | (expand_cmplxdiv_wide): Ditto. | |
15587 | (expand_vector_binop): Ditto. | |
15588 | (expand_vector_unop): Ditto. | |
15589 | (expand_complex_abs): Delete. | |
15590 | (expand_binop): Remove calls to above functions. | |
15591 | Remove open coding of complex arithmetic. | |
15592 | (expand_unop): Ditto. | |
15593 | * optabs.h: Remove prototypes. | |
15594 | ||
15595 | 2004-09-02 Ziemowit Laski <zlaski@apple.com> | |
15596 | ||
15597 | * c-decl.c (store_parm_decls_newstyle): Make externally visible. | |
15598 | * c-tree.h (store_parm_decls_newstyle): New prototype. | |
15599 | ||
15600 | 2004-09-02 Geoffrey Keating <geoffk@apple.com> | |
15601 | ||
15602 | * config/rs6000/rs6000.c (expand_block_clear): Use vector | |
15603 | instructions if available. | |
15604 | (expand_block_move): Likewise. | |
15605 | ||
15606 | 2004-09-03 Jan Hubicka <jh@suse.cz> | |
15607 | ||
15608 | * rtl.def (RANGE_INFO, RANGE_REG, RANGE_VAR, RANGE_LIVE): Kill. | |
15609 | ||
15610 | 2004-09-02 Mark Mitchell <mark@codesourcery.com> | |
15611 | ||
15612 | * config/arm/symbian.h (LIB_SPEC): Define to empty. | |
15613 | * config/arm/t-symbian (SHLIB_LC): Likewise. | |
15614 | ||
15615 | 2004-09-02 Paul Brook <paul@codesourcery.com> | |
15616 | ||
15617 | * config/arm/bpabi.c (__aeabi_ul2d, __aeabi_ul2f): Remove. | |
15618 | ||
15619 | 2004-09-02 Richard Sandiford <rsandifo@redhat.com> | |
15620 | ||
15621 | * config/mips/mips.c (mips_classify_symbol, mips_fetch_insns): | |
15622 | (mips_restore_gp, mips_set_return_address, mips_expand_prologue) | |
15623 | (mips16_fp_args, mips_avoid_hazard): Replace abort with gcc_assert. | |
15624 | (build_mips16_call_stub): Likewise. Remove daft CALL_INSN checks. | |
15625 | (mips_issue_rate): Remove unreachable abort. | |
15626 | (mips_symbolic_constant_p, mips_symbolic_address_p, mips_symbol_insns) | |
15627 | (mips_output_move, mips_relational_operand_ok_p, mips_arg_info) | |
15628 | (mips_block_move_straight, print_operand_address, mips_file_start) | |
15629 | (mips_initial_elimination_offset, mips16_fp_args, dump_constants_1) | |
15630 | (mips_output_conditional_branch, mips_expand_builtin_direct) | |
15631 | (mips_expand_builtin_compare): Replace abort with gcc_unreachable. | |
15632 | * config/mips/mips.md (rotr<mode>3, consttable_float): Replace abort | |
15633 | with gcc_assert. | |
15634 | ||
15635 | 2004-09-02 Richard Sandiford <rsandifo@redhat.com> | |
15636 | ||
15637 | * config/mips/mips.md (*lea_high64): Change split condition to | |
15638 | flow2_completed. Add a peephole2 to generate a more parallel version. | |
15639 | ||
15640 | 2004-09-02 Jan Hubicka <jh@suse.cz> | |
15641 | ||
15642 | * gimplify.c (gimplify_compound_lval): Move "stack" varray out of | |
15643 | GGC. | |
15644 | ||
15645 | * ggc-page.c: include tree-flow.h. | |
15646 | (extra_order_size_table): Add stmt_ann_d. | |
15647 | (STAT_LABEL): Rename from .... | |
15648 | (LABEL): ... this one. | |
15649 | * Makefile.in (ggc-page.o): Add dependency. | |
15650 | ||
15651 | * ggc-common.c (ggc_force_collect): New global variable. | |
15652 | (loc_description): Add fields "freed", "collected" | |
15653 | (ptr_hash): New static hash | |
15654 | (ptr_hash_entry): New structure. | |
15655 | (hash_ptr,eq_ptr,ggc_prune_ptr): New static functions. | |
15656 | (ggc_record_overhead): Take ptr argument, record it | |
15657 | (ggc_prune_overhead_list, ggc_free_overhead): New functions. | |
15658 | (cmp_statistics): Imrove sorting. | |
15659 | (dump_ggc_loc_statistics): Output newly collected statistics | |
15660 | * ggc-page.c (ggc_alloc): Update call of ggc_record_overhead | |
15661 | (ggc_free): Call ggc_free_overhead. | |
15662 | (ggc_collect): Force collection when asked to be forced. | |
15663 | (ggc_collect): Call ggc_prune_overhead_list. | |
15664 | * ggc.h (ggc_force_collect): Declare | |
15665 | (ggc_record_overhead): Update prototype. | |
15666 | (ggc_free_overhead, ggc_prune_overhead_list): Declare. | |
15667 | ||
15668 | 2004-09-02 James E Wilson <wilson@specifixinc.com> | |
15669 | ||
15670 | * common.opt (ftrapping-math): Default to on. | |
15671 | ||
15672 | 2004-09-02 Richard Earnshaw <rearnsha@arm.com> | |
15673 | ||
15674 | * arm/predicates.md (arm_reload_memory_operand): Allow MEM. | |
15675 | ||
15676 | 2004-09-02 Denis Chertykov <denisc@overta.ru> | |
15677 | ||
15678 | PR target/16884 | |
15679 | * config/avr/avr.md ("movmemhi"): Substitute match_dup to | |
15680 | match_scratch. | |
15681 | (*movmemqi_insn): Likewise. | |
15682 | (*movmemhi): Likewise. | |
15683 | (clrmemhi): Likewise. | |
15684 | (*clrmemqi): Likewise. | |
15685 | (*clrmemhi): Likewise. | |
15686 | ||
15687 | 2004-09-02 Paul Brook <paul@codesourcery.com> | |
15688 | ||
15689 | * config.gcc (arm*-*-eabi* | arm*-*-symbianelf*): Set | |
15690 | default_use_cxa_atexit=yes. | |
15691 | ||
15692 | 2004-09-02 Alan Modra <amodra@bigpond.net.au> | |
15693 | ||
15694 | * config/rs6000/linux64.h: Don't include signal.h or sys/ucontext.h. | |
15695 | (struct kernel_old_ucontext): Delete. | |
15696 | (struct gcc_pt_regs, gcc_sigcontext, gcc_ucontext): New. | |
15697 | (MD_FALLBACK_FRAME_STATE_FOR): Use gcc_* structs. Only define | |
15698 | when IN_LIGGCC2. | |
15699 | ||
15700 | 2004-09-02 Richard Sandiford <rsandifo@redhat.com> | |
15701 | ||
15702 | * toplev.c (process_options): Fix typo. | |
15703 | ||
15704 | 2004-09-01 Richard Henderson <rth@redhat.com> | |
15705 | ||
15706 | PR middle-end/17258 | |
15707 | * calls.c (initialize_argument_information): Tighten pass-through | |
15708 | conditions for pass-by-reference. Remove dead TARGET_EXPR code. | |
15709 | Use build_fold_addr_expr. | |
15710 | (emit_library_call_value_1): Use build_fold_addr_expr. Remove code | |
15711 | that assumes ADDR_EXPR allocates stack space. | |
15712 | * fold-const.c (build_fold_addr_expr_with_type): Look through | |
15713 | WITH_SIZE_EXPR. | |
15714 | ||
15715 | 2004-09-01 Dan Nicolaescu <dann@ics.uci.edu> | |
15716 | ||
15717 | * gengenrtl.c (gendef): Use rtx_alloc, don't do PUT_CODE. | |
15718 | * ggc.h (ggc_alloc_rtx): Delete. | |
15719 | ||
15720 | 2004-09-01 Roger Sayle <roger@eyesopen.com> | |
15721 | ||
15722 | * expmed.c (enum alg_code): Remove long unused enumeration values. | |
15723 | (struct mult_cost): New structure to hold the "score" of a synthetic | |
15724 | multiply sequence, including both a rtx_cost and a latency field. | |
15725 | (MULT_COST_LESS): New macro to compare mult_cost to a constant. | |
15726 | (CHEAPER_MULT_COST): New macro to compare two mult_costs. | |
15727 | (struct algorithm): Change type of cost field to be mult_cost. | |
15728 | (synth_mult): Change type of cost_limit argument to be a | |
15729 | pointer to a mult_cost. Update all cost comparisons to use the | |
15730 | new mult_cost infrastructure. For alg_add_factor and | |
15731 | alg_sub_factor operations, latency is lower than the rtx_cost. | |
e8366202 | 15732 | (choose_mult_variant): Update calls to synth_mult. Perform |
7a4515d7 SB |
15733 | cost comparisons using the new mult_cost infrastructure. |
15734 | (expand_mult_highpart): Use alg.cost.cost instead of alg.cost | |
15735 | to optain the total rtx_cost of a synth_mult "algorithm". | |
15736 | ||
15737 | 2004-09-01 David Edelsohn <edelsohn@gnu.org> | |
15738 | ||
15739 | * config/rs6000/power4.md: Increase store latency to 12. | |
15740 | * config/rs6000/power5.md: Same. | |
15741 | ||
15742 | 2004-09-01 James E Wilson <wilson@specifixinc.com> | |
15743 | ||
15744 | PR target/14064 | |
15745 | * config/avr/avr.c (avr_unique_section): Delete prototype and | |
15746 | definition. | |
15747 | (TARGET_ASM_UNIQUE_SECTION): Delete. | |
15748 | ||
15749 | 2004-09-01 Ziemowit Laski <zlaski@apple.com> | |
15750 | ||
15751 | * c-parse.in (primary): Call objc_build_message_expr(), | |
15752 | objc_build_selector_expr(), objc_build_protocol_expr(), | |
15753 | objc_build_encode_expr() and objc_build_string_object() instead of | |
15754 | build_message_expr(), build_selector_expr(), build_protocol_expr(), | |
15755 | build_encode_expr() and build_objc_string_object(), respectively. | |
15756 | (component_decl_list2): Call objc_get_class_ivars() instead of | |
15757 | get_class_ivars_from_name(). | |
15758 | (keyworddecl): Call objc_build_keyword_decl() instead of | |
15759 | build_keyword_decl(). | |
15760 | (receiver): Call objc_get_class_reference() instead of | |
15761 | get_class_reference(). | |
15762 | (reswords): Add blank line before @@ifobjc section, for clarity. | |
15763 | ||
ad41bd84 | 15764 | 2004-09-01 Fariborz Jahanian <fjahanian@apple.com> |
7a4515d7 SB |
15765 | |
15766 | * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Restrict alignment | |
15767 | to Altivec vetors. | |
15768 | ||
15769 | 2004-09-01 Wu Yongwei <adah@sh163.net> | |
15770 | Danny Smith <dannysmith@users.sourceforge.net> | |
15771 | ||
15772 | * gthr-win32.h (__gthread_recursive_mutex_t): Use 'unsigned long', | |
15773 | not Windows 'DWORD'. | |
15774 | (__GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION): Correct typo. | |
15775 | (__GTHREAD_RECURSIVE_MUTEX_INIT_DEFAULT): Likewise. | |
15776 | (__gthr_win32_recursive_mutex_init_function): Add prototype for | |
15777 | __GTHREAD_HIDE_WIN32API case.. | |
15778 | (__gthr_win32_recursive_mutex_lock): Likewise. | |
15779 | (__gthr_win32_recursive_mutex_trylock): Likewise. | |
15780 | (__gthr_win32_recursive_mutex_unlock): Likewise. | |
15781 | (__gthread_recursive_mutex_init_function); Add definition for | |
15782 | __GTHREAD_HIDE_WIN32API case. | |
15783 | (__gthread_recursive_mutex_lock): Correct call to InterlockedDecrement. | |
15784 | * config/i386/grthr-win32.c (__gthread_recursive_mutex_lock): Correct | |
15785 | call to InterlockedDecrement. | |
15786 | ||
15787 | 2004-09-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
15788 | ||
15789 | * tree-tailcall.c (find_tail_calls): Also fail is statement has | |
15790 | volatile operands. | |
15791 | ||
15792 | * tree-ssa.c (propagate_into_addr): Properly test for LHR. | |
15793 | ||
15794 | * doc/c-tree.texi: Document new operands for ARRAY_REF and | |
15795 | COMPONENT_REF. | |
15796 | ||
15797 | 2004-09-01 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> | |
15798 | ||
15799 | * Makefile.in (rtl-profile.o, value-prof.o): Add GCC_H dependency. | |
15800 | * common.opt (fspeculative-prefetching): New. | |
15801 | * flags.h (flag_speculative_prefetching_set): Declare. | |
15802 | * gcov-io.c (gcov_write_counter, gcov_read_counter): Allow negative | |
15803 | values. | |
15804 | * opts.c (flag_sepculative_prefetching_set): New variable. | |
15805 | (common_handle_option): Handle -fspeculative-prefetching. | |
15806 | * passes.c (rest_of_compilation): Ditto. | |
15807 | * profile.c (instrument_values, compute_value_histograms, branch_prob): | |
15808 | Use vectors instead of arrays. | |
15809 | * toplev.c (process_options): Handle -fspeculative-prefetching. | |
15810 | * rtl-profile.c: Include ggc.h. | |
15811 | (rtl_gen_interval_profiler, rtl_gen_pow2_profiler, | |
15812 | rtl_gen_one_value_profiler_no_edge_manipulation, | |
15813 | rtl_gen_one_value_profiler, rtl_gen_const_delta_profiler): Type of | |
15814 | argument changed. | |
15815 | * tree-profile.c (tree_gen_interval_profiler, tree_gen_pow2_profiler, | |
15816 | tree_gen_one_value_profiler, tree_gen_const_delta_profiler): Type of | |
15817 | argument changed. | |
15818 | * value-prof.c: Include ggc.h. | |
15819 | (NOPREFETCH_RANGE_MIN, NOPREFETCH_RANGE_MAX): New | |
15820 | macros. | |
15821 | (insn_prefetch_values_to_profile, find_mem_reference_1, | |
15822 | find_mem_reference_2, find_mem_reference, gen_speculative_prefetch, | |
15823 | speculative_prefetching_transform): New. | |
15824 | (value_profile_transformations): Call speculative_prefetching_transform. | |
15825 | (insn_values_to_profile): Call insn_prefetch_values_to_profile. | |
15826 | (insn_divmod_values_to_profile, rtl_find_values_to_profile, | |
15827 | tree_find_values_to_profile, find_values to profile): Use vectors | |
15828 | instead of arrays. | |
15829 | (free_profiled_values): Removed. | |
15830 | * value-prof.h (struct histogram_value): Renamed to | |
15831 | struct histogram_value_t. | |
15832 | (histogram_value, histogram_values): New types. | |
15833 | (find_values_to_profile): Declaration changed. | |
15834 | (free_profiled_values): Removed. | |
15835 | (struct profile_hooks): Type of argument of the hooks changed to | |
15836 | histogram_value. | |
15837 | * doc/invoke.texi (-fspeculative-prefetching): Document. | |
15838 | ||
15839 | 2004-09-01 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> | |
15840 | ||
15841 | PR rtl-optimization/16408 | |
15842 | * gcse.c (replace_store_insn): Fix LIBCALL/RETVAL notes. | |
15843 | ||
15844 | 2004-09-01 Richard Henderson <rth@redhat.com> | |
15845 | ||
15846 | * config/ns32k/ns32k.h (TRANSFER_FROM_TRAMPOLINE): Remove. | |
15847 | (TRAMPOLINE_TEMPLATE): Merge code from __trampoline inline. | |
15848 | ||
15849 | 2004-09-01 Jakub Jelinek <jakub@redhat.com> | |
15850 | ||
15851 | * libgcc-std.ver (GCC_3.4.2): Export also __trampoline_setup. | |
15852 | ||
15853 | 2004-09-01 Mike Stump <mrs@apple.com> | |
15854 | ||
15855 | * config/darwin.c (machopic_symbol_defined_p): In addition to | |
15856 | being SYMBOL_REF_LOCAL_P, a symbol must also be | |
15857 | ! SYMBOL_REF_EXTERNAL_P, as only those are _always_ locally | |
15858 | defined in this output file, or translation unit in the case | |
15859 | of IMA not being used. | |
15860 | (machopic_output_indirection): SYMBOL_REF_LOCAL_P symbols | |
15861 | never need .indirect_symbol when indirecting. | |
15862 | ||
15863 | 2004-09-01 Jakub Jelinek <jakub@redhat.com> | |
15864 | ||
15865 | * Makefile.in (bb-reorder.o): Add several dependencies. | |
15866 | ||
15867 | 2004-09-01 Jakub Jelinek <jakub@redhat.com> | |
15868 | ||
15869 | * fold-const.c (operand_equal_p): Require equal sign also for | |
15870 | FIX_{CEIL,TRUNC,FLOOR,ROUND}_EXPR. | |
15871 | ||
15872 | 2004-09-01 Richard Earnshaw <rearnsha@arm.com> | |
15873 | ||
15874 | * config.gcc (--with-cpu on ARM): Preserve the canonical cpu name | |
15875 | for use in configargs.h. Put the cname in a separate variable. Use | |
15876 | that to set target_cpu_default2. | |
15877 | ||
15878 | 2004-09-01 J"orn Rennecke <joern.rennecke@superh.com> | |
15879 | Nick Clifton <nickc@redhat.com> | |
15880 | ||
15881 | * config/sh/sh.md ("length"): Increase branch length when | |
15882 | SH1 pic code to 18: 12 bytes of instructions, 4 byte for the | |
15883 | constant, 2 byte for aligning the constant. | |
15884 | ||
15885 | 2004-09-01 Richard Earnshaw <rearnsha@arm.com> | |
15886 | ||
15887 | * arm/arm-cores.def (ARM_CORE): Add new field for the real name of the | |
15888 | CPU. | |
15889 | (arm7tdmi-s): New CPU name. | |
15890 | * arm/arm.c (ARM_CORE): Update for new format. | |
15891 | * arm/arm.h (ARM_CORE): Likewise. | |
15892 | * arm/gentune.sh: Update for extra field. | |
15893 | * config.gcc: Likewise. | |
15894 | * arm/arm-tune.md: Regenerate. | |
15895 | * doc/invoke.texi: Document the real processor names for ARM cpus. | |
15896 | ||
15897 | 2004-09-01 Richard Earnshaw <rearnsha@arm.com> | |
15898 | ||
15899 | * arm/ieee754-df.S (aeabi_ul2d, aeabi_l2d, floatundidf) | |
15900 | (floatdidf): New functions. | |
15901 | * arm/ieee754-sf.S (aeabi_ul2f, aeabi_l2f, floatundisf) | |
15902 | (floatdisf): New functions. | |
15903 | * t-arm-elf: Use them. | |
15904 | ||
15905 | 2004-09-01 Ziemowit Laski <zlaski@apple.com> | |
15906 | ||
15907 | * c-common.h (lookup_interface): Remove prototype. | |
15908 | (is_class_name): Rename to objc_is_class_name. | |
15909 | (lookup_objc_ivar): Rename to objc_lookup_ivar. | |
15910 | (get_current_scope): Rename to objc_get_current_scope. | |
15911 | * c-decl.c (get_current_scope): Rename to objc_get_current_scope. | |
15912 | * c-parse.in (parmlist_or_identifiers_1): Get rid of unused variable. | |
15913 | (yylexname): Call objc_is_class_name() instead of is_class_name(). | |
15914 | * c-typeck.c (build_external_ref): Call objc_lookup_ivar() | |
15915 | instead of lookup_objc_ivar(). | |
15916 | * stub-objc.c (lookup_interface): Remove stub. | |
15917 | (is_class_name): Rename to objc_is_class_name. | |
15918 | (lookup_objc_ivar): Rename to objc_lookup_ivar. | |
15919 | ||
15920 | 2004-08-31 Mark Mitchell <mark@codesourcery.com> | |
15921 | ||
15922 | * config.gcc (arm*-*-symbianelf*): Do not include t-bpabi. | |
15923 | * config/arm/lib1funcs.asm: Do not include supplemental .S files | |
15924 | when compiling for Symbian. | |
15925 | * config/arm/symbian.h (RENAME_LIBRARY): New macro. | |
15926 | (TARGET_OS_CPP_BUILTINS): Likewise. | |
15927 | * config/arm/t-symbian (LIB1ASMFUNCS): Define. | |
15928 | ||
15929 | 2004-08-31 Stan Shebs <shebs@apple.com> | |
15930 | ||
15931 | * toplev.c (process_options): Ensure debug_hooks is initialized. | |
15932 | ||
15933 | 2004-08-31 Mark Mitchell <mark@codesourcery.com> | |
15934 | ||
15935 | * target-def.h (TARGET_CXX): Add TARGET_CXX_EXPORT_CLASS_DATA. | |
15936 | * target.h (cxx): Add export_class_data. | |
15937 | * config/arm/arm.c (arm_cxx_export_class_data): New function. | |
15938 | (TARGET_CXX_EXPORT_CLASS_DATA): Use it. | |
15939 | * doc/tm.texi (TARGET_CXX_EXPORT_CLASS_DATA): Document it. | |
15940 | ||
15941 | 2004-08-31 Kaz Kojima <kkojima@gcc.gnu.org> | |
15942 | ||
15943 | * config/sh/sh.c (output_branch): Check the insn length possibly | |
15944 | in the delayed slot. | |
15945 | ||
15946 | 2004-08-31 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
15947 | ||
15948 | * tree-pretty-print.c (dump_generic_node, case CONVERT_EXPR): Add | |
15949 | blank after ')'. | |
15950 | (op_symbol, case *_{DIV,MOD}_EXPR): Say what rounding is being used. | |
15951 | ||
15952 | * c-common.c (c_alignof_expr): Use DECL_ALIGN_UNIT and TYPE_ALIGN_UNIT. | |
15953 | (c_sizeof_of_alignof_type): Likewise. | |
15954 | * expr.c (array_ref_element_size): Likewise. | |
15955 | (highest_pow2_factor_for_target): Likewise. | |
15956 | * gimplify.c (canonicalize_addr_expr): Likewise. | |
15957 | (gimplify_compound_lval): Likewise. | |
15958 | * stor-layout.c (finalize_record_size, finalize_type_size): Likewise. | |
15959 | * tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): Likewise. | |
15960 | * varasm.c (assemble_variable): Likewise. | |
15961 | (output_constant_def_contents): Alignments are unsigned. | |
15962 | ||
15963 | 2004-08-31 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
15964 | Jeff Law <law@redhat.com> | |
15965 | ||
15966 | * tree-cfg.c (cfg_remove_useless_stmts_bb): Also invalidate if VAL | |
15967 | gets modified. | |
15968 | ||
15969 | 2004-08-31 Mark Mitchell <mark@codesourcery.com> | |
15970 | ||
15971 | * hooks.c (hook_bool_void_true): New function. | |
15972 | * hooks.h (hook_bool_void_true): Declare. | |
15973 | * target-def.h (TARGET_CXX): Add | |
15974 | TARGET_CXX_KEY_METHOD_MAY_BE_INLINE. | |
15975 | * target.h (struct cxx): Add key_method_may_be_inline. | |
15976 | * config/arm/arm.c (arm_cxx_key_method_may_be_inline): New | |
15977 | function. | |
15978 | (TARGET_CXX_KEY_METHOD_MAY_BE_INLINE): New macro. | |
15979 | * config/arm/bpabi.h: Use __THUMB_INTERWORK__ instead of | |
15980 | __THUMB_INTERWORK. | |
15981 | ||
15982 | 2004-08-31 Denis Chertykov <denisc@overta.ru> | |
15983 | ||
15984 | PR target/15417 | |
15985 | * config/avr/avr.c (avr_hard_regno_mode_ok): Enable usage of | |
15986 | frame pointer register only in Pmode while reload in progress. | |
15987 | ||
15988 | 2004-08-31 Stephane Carrez <stcarrez@nerim.fr> | |
15989 | ||
15990 | PR target/15334 | |
15991 | * config/m68hc11/m68hc11.c (m68hc11_override_options): Disable -fweb | |
15992 | because it breaks the 32-bit shift patterns that rely on a match_dup. | |
15993 | ||
15994 | 2004-08-31 Matt Austern <austern@apple.com> | |
15995 | ||
15996 | * config/darwin.c (darwin_make_decl_one_only): Allocate section | |
15997 | names once per compilation, instead of once per symbol. | |
15998 | ||
15999 | 2004-08-31 Paolo Bonzini <bonzini@gnu.org> | |
16000 | ||
16001 | * Makefile.in (build_subdir): New substitution. | |
16002 | (fixinc.sh): Simplify heavily since fixincludes is already built. | |
16003 | (stmp-fixinc): Depend on specs.ready. | |
16004 | (install-mkheaders): Use new location of fixincludes. | |
16005 | (clean): Do not descend into fixinc. | |
16006 | (FORBUILD): Replace with ../$(build_subdir). | |
16007 | * configure.ac (build_subdir): Substitute. | |
16008 | (FORBUILD): Do not set. | |
16009 | (all_outputs): Remove fixinc/Makefile. | |
16010 | (default commands): Do not create links in fixinc. | |
16011 | * mkfixinc.sh: New, from fixinc/mkfixinc.sh without | |
16012 | the fixincludes configuration steps and substituting | |
16013 | @FIXINCL@ in fixinc.in. | |
16014 | * fixinc.in: New, from fixinc/fixincl.sh. | |
16015 | ||
16016 | * fixinc/*: Removed. | |
16017 | ||
16018 | 2004-08-31 Joseph S. Myers <jsm@polyomino.org.uk> | |
16019 | ||
16020 | * attribs.c (strip_attrs): Remove. | |
16021 | (split_specs_attrs): Move ... | |
16022 | * c-decl.c: ... to here. | |
16023 | * tree.h (split_specs_attrs, strip_attrs): Remove. | |
16024 | * c-tree.h (split_specs_attrs): Declare. | |
16025 | ||
16026 | 2004-08-31 Richard Sandiford <rsandifo@redhat.com> | |
16027 | ||
16028 | * read-rtl.c: Disable RTL checking. | |
16029 | (apply_macro_to_rtx): Use XTMPL to access 'T' fields. | |
16030 | ||
16031 | 2004-08-31 Richard Sandiford <rsandifo@redhat.com> | |
16032 | ||
16033 | * config/mips/mips.md (fcond): New code macro and attribute. | |
16034 | (sunordered_[sd]f, suneq_[sd]f, sunlt_[sd]f, sunle_[sd]f) | |
16035 | (seq_[sd]f, slt_[sd]f, sle_[sd]f): Redefine using :SCALARF and fcond. | |
16036 | (sgt_[sd]f, sge_[sd]f): Redefine using :SCALARF. | |
16037 | ||
16038 | 2004-08-30 Mark Mitchell <mark@codesourcery.com> | |
16039 | ||
16040 | Revert: | |
16041 | 2004-08-29 Mark Mitchell <mark@codesourcery.com> | |
16042 | PR rtl-optimization/16590 | |
16043 | * gcse.c (pre_delete): Do not create invalid REG_EQUAL notes. | |
16044 | ||
16045 | 2004-08-30 Andrew Pinski <apinski@apple.com> | |
16046 | ||
16047 | * hard-reg-set.h: | |
16048 | s/HOST_BITS_PER_WIDES_FAST_INT/HOST_BITS_PER_WIDEST_FAST_INT. | |
16049 | * ChangeLog: Fix previous ChangeLog entry. | |
16050 | ||
16051 | PR rtl-opt/13987 | |
16052 | * config.host (use_long_long_for_widest_fast_int): New, default is | |
16053 | off. | |
16054 | (ia64-*-hpux*): Enable use_long_long_for_widest_fast_int. | |
16055 | * configure.ac: If use_long_long_for_widest_fast_int, then | |
16056 | define USE_LONG_LONG_FOR_WIDEST_FAST_INT. | |
16057 | * configure: Regenerate. | |
16058 | * config.in: Regenerate. | |
16059 | * hwint.h (HOST_WIDEST_FAST_INT, HOST_BITS_PER_WIDEST_FAST_INT): | |
16060 | New: widest integer type supported efficiently in hardware for the | |
16061 | host. | |
16062 | * sbitmap.h (SBITMAP_ELT_BITS): Define based on | |
16063 | HOST_BITS_PER_WIDEST_FAST_INT. | |
16064 | (SBITMAP_ELT_TYPE): Define based on HOST_WIDEST_FAST_INT. | |
16065 | * hard-reg-set.h (HARD_REG_ELT_TYPE): Define based on | |
16066 | HOST_WIDEST_FAST_INT | |
16067 | instead of HOST_WIDE_INT. | |
16068 | (HARD_REG_SET_LONGS): Likewise. | |
16069 | (UHOST_BITS_PER_WIDE_INT): Likewise. | |
16070 | Change the checks for the fast cases to be based on | |
16071 | HOST_BITS_PER_WIDEST_FAST_INT instead of HOST_BITS_PER_WIDE_INT. | |
16072 | ||
16073 | 2004-08-30 Steven Bosscher <stevenb@suse.de> | |
16074 | ||
16075 | * cfgcleanup.c (merge_memattrs): Look at the value of MEM_SIZE, | |
16076 | not the pointers. | |
16077 | ||
16078 | 2004-08-30 Geoffrey Keating <geoffk@apple.com> | |
16079 | ||
16080 | PR 12738 | |
16081 | PR 17205 | |
16082 | Radar 3460526 | |
16083 | Radar 3775729 | |
16084 | * c-decl.c (grokdeclarator): Produce error for 'static' on local | |
16085 | function declaration. | |
16086 | ||
16087 | 2004-08-30 Richard Henderson <rth@redhat.com> | |
16088 | ||
16089 | * expr.c (array_ref_element_size): Force aligned_size back to | |
16090 | sizetype. | |
16091 | (component_ref_field_offset): Similarly for aligned_offset. | |
16092 | * tree.c (recompute_tree_invarant_for_addr_expr): Mark raw | |
16093 | low-bound, element-size, field-offset fields rather than | |
16094 | computed values. | |
16095 | ||
16096 | 2004-08-30 Joseph S. Myers <jsm@polyomino.org.uk> | |
16097 | ||
16098 | * c-parse.in (parmlist_or_identifiers_1): Remove unreachable and | |
16099 | redundant code. | |
16100 | ||
16101 | 2004-08-30 Joseph S. Myers <jsm@polyomino.org.uk> | |
16102 | ||
16103 | * c-tree.h (struct language_function): Add arg_info element. | |
16104 | * c-decl.c (current_function_arg_info): New. | |
16105 | (grokdeclarator, store_parm_decls): Use it instead of | |
16106 | DECL_ARGUMENTS. | |
16107 | (c_push_function_context, c_pop_function_context): Save and | |
16108 | restore it. | |
16109 | ||
16110 | 2004-08-30 Richard Henderson <rth@redhat.com> | |
16111 | ||
16112 | * c-typeck.c (build_unary_op): Don't expand ADDR_EXPR of a | |
16113 | COMPONENT_REF to pointer arithmetic. | |
16114 | * varasm.c (initializer_constant_valid_p): Allow "&(*c).f", for | |
16115 | constant "c" as a valid constant initializer. Allow narrowing of | |
16116 | differences against the same base object, for any base object. | |
16117 | ||
16118 | 2004-08-30 Richard Henderson <rth@redhat.com> | |
16119 | ||
16120 | * expr.c (expand_expr_addr_expr): New. | |
16121 | (expand_expr_real_1) <case ADDR_EXPR>: Use it. | |
16122 | ||
16123 | 2004-08-30 Richard Sandiford <rsandifo@redhat.com> | |
16124 | ||
16125 | * config/mips/mips.c (MIPS_FP_CONDITIONS): New macro. | |
16126 | (mips_fp_condition): New enum. | |
16127 | (mips_fp_conditions): New array. | |
16128 | (print_fcc_operand): Delete. | |
16129 | (print_operand): Remove %V, %v and %Q. Redefine %Z so that it prints | |
16130 | the operand and comma if and only if ISA_HAS_8CC. Add %Y. | |
16131 | (builtin_description): Add "cond" field. | |
16132 | (DIRECT_BUILTIN): Initialize it. | |
16133 | (CMP_{SCALAR,PS,4S}_BUILTINS, MOVTF_BUILTINS): Split INSN parameter | |
16134 | into INSN and CODE. Initialize the "cond" field. | |
16135 | (CMP_BUILTINS): Update accordingly. | |
16136 | (mips_bdesc): Use MIPS_FP_CONDITIONS to invoke CMP_BUILTINS. | |
16137 | (mips_expand_builtin_movtf, mips_expand_builtin_compare): Take the | |
16138 | mips_fp_condition as argument. Make it the final operand of the | |
16139 | comparison instruction. | |
16140 | (mips_expand_builtin): Update accordingly. | |
16141 | * config/mips/mips.md (UNSPEC_C_*, UNSPEC_CABS_*): Delete. | |
16142 | (UNSPEC_C, UNSPEC_CABS): New constants. Shuffle others to fill | |
16143 | the gaps. | |
16144 | * config/mips/mips-ps-3d.md (mips_cond_move_tf_ps, bc1any[24][ft]): | |
16145 | Don't use the 'Q' operand prefix; just print the operand normally. | |
16146 | (mips_cabs_*, mips_c_*): Delete, replacing with... | |
16147 | (mips_c_cond_{ps,4s}, mips_cabs_cond_{s,d,ps,4s}): ...these new | |
16148 | patterns. Split the 4s versions into 2 ps patterns after reload. | |
16149 | ||
16150 | 2004-08-30 Richard Henderson <rth@redhat.com> | |
16151 | ||
16152 | * fold-const.c (tree_expr_nonzero_p): Use get_base_address before | |
16153 | assuming an ADDR_EXPR is non-null. | |
16154 | ||
16155 | 2004-08-30 Jason Merrill <jason@redhat.com> | |
16156 | ||
16157 | * gthr-posix.h, gthr-dce.h: Add #pragma weaks. | |
16158 | ||
16159 | 2004-08-30 Nathan Sidwell <nathan@codesourcery.com> | |
16160 | ||
16161 | * alias.c (mems_in_disjoint_alias_sets_p, record_alias_subset, | |
16162 | record_set, rtx_equal_for_memref_p, init_alias_analysis): Use | |
16163 | gcc_assert and gcc_unreachable instead of abort. | |
16164 | * alloc-pool.c (abort, fancy_abort): Remove. | |
16165 | (create_alloc_pool, free_alloc_pool, pool_alloc, pool_free): Use | |
16166 | gcc_assert or gcc_unreachable. | |
16167 | * attribs.c (init_attributes, decl_attributes): Likewise. | |
16168 | * bb-reorder.c (FREE, find_traces_1_round, copy_bb, | |
16169 | mark_bb_for_unlikely_executed_section, | |
16170 | add_labels_and_missing_jumps, fix_crossing_conditional_branches, | |
e8366202 | 16171 | fix_crossing_unconditional_branches): Likewise. |
7a4515d7 | 16172 | * bitmap.c (bitmap_first_set_bit, bitmap_last_set_bit, |
e8366202 | 16173 | bitmap_operation): Likewise. |
7a4515d7 | 16174 | * bt-load.c (insn_sets_btr_p, augment_live_range, |
e8366202 | 16175 | move_btr_def): Likewise. |
7a4515d7 SB |
16176 | * builtins.c (c_readstr, expand_builtin_longjmp, apply_args_size, |
16177 | apply_result_size, expand_builtin_apply, expand_builtin_mathfn, | |
16178 | expand_builtin_mathfn_2, expand_builtin_mathfn_3, | |
16179 | builtin_memcpy_read_str, expand_movstr, expand_builtin_stpcpy, | |
16180 | expand_builtin_memcmp, expand_builtin_args_info, | |
16181 | std_gimplify_va_arg_expr, expand_builtin_unop, | |
16182 | expand_builtin_fputs, expand_builtin_profile_func, | |
16183 | expand_builtin_fork_or_exec, fold_builtin_bitop, | |
16184 | fold_builtin_classify, fold_builtin_fputs): Likewise. | |
16185 | ||
16186 | 2004-08-30 Nathan Sidwell <nathan@codesourcery.com> | |
16187 | ||
16188 | * gcov-io.c (GCOV_CHECK): Use gcc_assert when available. | |
16189 | * gcov.c (abort): Remove undef. | |
16190 | ||
16191 | * tree.h (BINFO_PRIMARY_BASE_OF): Remove. | |
16192 | (struct tree_binfo): Remove primary field. | |
16193 | ||
16194 | 2004-08-30 Paolo Bonzini <bonzini@gnu.org> | |
16195 | ||
16196 | * fixinc/Makefile.in (machname.h): Remove. | |
16197 | (fixincl.x): Do not pass $@ to genfixes. | |
16198 | * fixinc/genfixes: Remove code to produce machname.h. | |
16199 | * fixinc/fixincl.sh: Move it here instead. | |
16200 | * fixinc/fixlib.c: Do not conditionalize on MN_NAME_PAT's presence, | |
16201 | instead check if pz_mn_name_pat is NULL. Make mn_get_regexps | |
16202 | return a bool indicating whether pz_mn_name_pat is NULL. | |
16203 | * fixinc/fixlib.h: Do not conditionalize on MN_NAME_PAT's presence. | |
16204 | Declare extern C variables for the ENV_TABLE. | |
16205 | * fixinc/fixfixes.c: Do not conditionalize on MN_NAME_PAT's presence, | |
16206 | instead use the result of mn_get_regexps. | |
16207 | * fixinc/fixtests.c: Likewise. | |
16208 | ||
16209 | 2004-08-30 Paolo Bonzini <bonzini@gnu.org> | |
16210 | ||
16211 | * configure.ac: Do not run fixincludes after stage1 during | |
16212 | toplevel bootstrap. | |
16213 | * configure: Regenerate. | |
16214 | ||
16215 | 2004-08-30 Richard Earnshaw <rearnsha@arm.com> | |
16216 | ||
16217 | * sched-deps.c (get_condition): Partially revert previous, by never | |
16218 | trying to extract the condition from a condjump. | |
16219 | ||
16220 | 2004-08-30 Nathan Sidwell <nathan@codesourcery.com> | |
16221 | ||
16222 | * c-common.c (c_sizeof_or_alignof_type): Use gcc_assert. | |
16223 | (handle_visibility_attribute, c_determine_visibility): Likewise. | |
16224 | * c-common.h (my_friendly_assert): Remove. | |
16225 | ||
16226 | 2004-08-30 Richard Sandiford <rsandifo@redhat.com> | |
16227 | ||
16228 | * config/mips/mips.md (UNSPEC_{RSQRT,RECIP}[12]_{S,D,PS}): Delete. | |
16229 | (UNSPEC_{RSQRT,RECIP}[12]): New constants. | |
16230 | (UNSPEC_MOVE_TF_PS): Renumber to avoid gaps. | |
16231 | * config/mips/mips-ps-3d.md (*movcc_v2sf_[sd]i): Use :GPR. | |
16232 | (mips_{rsqrt,recip}[12]_{s,d,ps}): Use :ANYF. | |
16233 | ||
16234 | 2004-08-30 Diego Novillo <dnovillo@redhat.com> | |
16235 | ||
16236 | * tree-pretty-print.c (dump_generic_node): Handle VALUE_HANDLE | |
16237 | in COMPONENT_REF nodes. | |
16238 | ||
16239 | 2004-08-29 Gabriel Dos Reis <gdr@integrable-solutions.net> | |
16240 | ||
16241 | PR c++/15378 | |
16242 | * c-opts.c (c_common_handle_option): <case OPT_Werror> set | |
16243 | global_dc->warning_as_error_requested. | |
16244 | * diagnostic.c (diagnostic_initialize): Tidy. | |
16245 | * diagnostic.h (diagnostic_context::x_data): Remove | |
16246 | (diagnostic_context::issue_warnings_are_errors_message): Rename | |
16247 | from warnings_are_errors_message. | |
16248 | (diagnostic_context::warning_as_error_requested): New. | |
16249 | ||
16250 | 2004-08-30 Richard Earnshaw <rearnsha@arm.com> | |
16251 | ||
16252 | * sched-deps.c (get_condition): Fix breakage in previous patch. | |
16253 | ||
16254 | 2004-08-30 Paul Brook <paul@codesourcery.com> | |
16255 | ||
16256 | * doc/install.texi: Fix broken mpfr link. | |
16257 | ||
16258 | 2004-08-29 David O'Brien <obrien@FreeBSD.org> | |
16259 | ||
16260 | * config/rs6000/sysv4.h (LINK_OS_FREEBSD_SPEC): Sync '-p' handling with | |
16261 | other FreeBSD platforms. | |
16262 | ||
16263 | 2004-08-29 Richard Earnshaw <rearnsha@arm.com> | |
16264 | ||
16265 | * arm.h (REVERSE_CONDITION): Define. | |
16266 | (REVERSIBLE_CC_MODE): All comparisons are now reversible. | |
16267 | ||
16268 | 2004-08-29 Richard Earnshaw <rearnsha@arm.com> | |
16269 | ||
16270 | * flow.c (REVERSE_CONDEXEC_PREDICATES_P): Use the whole comparison, not | |
16271 | just the codes, call reversed_comparison_code (). | |
16272 | (ior_reg_cond): Update arguments to REVERSE_CONDEXEC_PREDICATES_P. | |
16273 | (not_reg_cond): Use reversed_comparison_code. | |
16274 | (and_reg_cond): Likewise. | |
16275 | * ifcvt.c (cond_exec_process_if_block): Likewise. | |
16276 | * doc/tm.texi (REVERSE_CONDEXEC_PREDICATES_P): Update documentation. | |
16277 | ||
16278 | 2004-08-29 Richard Earnshaw <rearnsha@arm.com> | |
16279 | ||
16280 | * sched-deps.c (get_condition): Rewrite using jump support functions. | |
16281 | Use reversed_comparison_code. | |
16282 | (conditions_mutex_p): Use reversed_comparison_code. | |
16283 | ||
16284 | 2004-08-29 Richard Sandiford <rsandifo@redhat.com> | |
16285 | ||
16286 | * config/mips/mips.c (override_options): Disable hot/cold partitioning | |
16287 | for MIPS16. | |
16288 | ||
16289 | 2004-08-29 Richard Sandiford <rsandifo@redhat.com> | |
16290 | ||
16291 | * config/mips/mips.h (mips_builtins, mips_cmp_choice): Delete. | |
16292 | (mips_function_type): Move to mips.c. | |
16293 | * config/mips/mips.c (mips_builtin_type): New enum. | |
16294 | (builtin_description): Replace code and ftype with builtin_type | |
16295 | and function_type. | |
16296 | (DIRECT_BUILTIN, CMP_SCALAR_BUILTINS, CMP_PS_BUILTINS, CMP_4S_BUILTINS) | |
16297 | (MOVTF_BUILTINS, CMP_BUILTINS): New macros. | |
16298 | (CODE_FOR_mips_abs_ps): Define. | |
16299 | (mips_bdesc): Use new macros. | |
16300 | (mips_expand_builtin): Use builtin_type. Update calls to subroutines. | |
16301 | (mips_init_builtins): Use the mips_bdesc[] index as the function code. | |
16302 | (mips_expand_builtin_direct): New function. | |
16303 | (mips_expand_builtin_movtf): Renamed from mips_expand_ps_cond_move_ | |
16304 | builtin. Replace boolean parameter with builtin_type. | |
16305 | (mips_expand_compare_builtin, mips_expand_scalar_compare_builtin) | |
16306 | (mips_expand_4s_compare_builtin): Delete, replacing with... | |
16307 | (mips_expand_builtin_compare): ...this new function. | |
16308 | ||
16309 | 2004-08-29 Mark Mitchell <mark@codesourcery.com> | |
16310 | ||
16311 | PR rtl-optimization/16590 | |
16312 | * gcse.c (pre_delete): Do not create invalid REG_EQUAL notes. | |
16313 | ||
16314 | 2004-08-29 Diego Novillo <dnovillo@redhat.com> | |
16315 | ||
16316 | * tree-ssa-ccp.c (ccp_visit_stmt): Remove #if 0 guards. | |
16317 | * tree-ssa-propagate.c: Fix documentation. | |
16318 | ||
16319 | 2004-08-29 Richard Sandiford <rsandifo@redhat.com> | |
16320 | ||
16321 | * config/mips/mips.md (*mov[sd]f_on_*): Redefine using :SCALARF. | |
16322 | (mov[sd]fcc): Likewise. | |
16323 | ||
16324 | 2004-08-29 Richard Sandiford <rsandifo@redhat.com> | |
16325 | ||
16326 | * config/mips/mips.md (cmp[sd]f): Redefine using :SCALARF. | |
16327 | ||
16328 | 2004-08-29 Richard Sandiford <rsandifo@redhat.com> | |
16329 | ||
16330 | * config/mips/mips.md (divide_condition): New mode attribute. | |
16331 | (div[sd]f3, *div[sd]f3): Use it. Redefine using :SCALARF. | |
16332 | (sqrt[sd]f3): Redefine using SCALARF. | |
16333 | (*recip[sd]f3, *rsqrt<mode>[ab]): Likewise. Name formerly unnamed | |
16334 | patterns. | |
16335 | ||
16336 | 2004-08-29 Richard Sandiford <rsandifo@redhat.com> | |
16337 | ||
16338 | * config/mips/mips.md (ANYF, SCALARF): New mode macros. | |
16339 | (loadx, storex, fmt, UNITMODE): New mode attributes. | |
16340 | (add{sf,df,v2sf}3, sub{sf,df,v2sf}3): Redefine using :ANYF. | |
16341 | (mul[sd]f3): Redefine using :SCALARF. | |
16342 | (*mul[sd]f3): Renamed from mul[sd]f3_internal. Use :SCALARF. | |
16343 | (*mul[sd]3_r4300): Likewise mul[sd]f3_r4300. | |
16344 | (*m{add,sub}{sf,df,v2sf}3): Name formerly unnamed patterns. Use :ANYF. | |
16345 | Check TARGET_FUSED_MADD for V2SF too. | |
16346 | (*nm{add,sub}{sf,df,v2sf}3{,_fastmath}): Likewise, except v2sf patterns | |
16347 | were already named. | |
16348 | (abs{sf,df,v2sf}3, neg{sf,df,v2sf}3): Redefine using :ANYF. | |
16349 | (*[sl][wd]xc1_[sd]i): Redefine using :ANYF. | |
16350 | ||
16351 | 2004-08-29 Richard Sandiford <rsandifo@redhat.com> | |
16352 | ||
16353 | * config/mips/mips.c (mips_init_builtins): Simplify. Only create | |
16354 | V2SF_type_node if it will be needed. | |
16355 | ||
16356 | 2004-08-29 Richard Sandiford <rsandifo@redhat.com> | |
16357 | ||
16358 | * config/mips/mips.h (MIPS_CMP_MOVT, MIPS_CMP_MOVF): Delete. | |
16359 | * config/mips/mips.c (mips_prepare_builtin_arg): New function. | |
16360 | (mips_prepare_builtin_target): New function. | |
16361 | (mips_expand_builtin): Use them. Update calls to subroutines. | |
16362 | (mips_expand_ps_cond_move_builtin): Use the new functions. Replace | |
16363 | cmp_choice with a boolean argument to select between movt and movf. | |
16364 | Take the comparison's icode as an argument, not the function's fcode. | |
16365 | (mips_expand_compare_builtin): New function. Rename existing function | |
16366 | to mips_expand_scalar_compare_builtin. | |
16367 | (mips_expand_scalar_compare_builtin, mips_expand_4s_compare_builtin) | |
16368 | (mips_expand_ps_compare_builtin): Use the new functions. Take the | |
16369 | comparison's icode as an argument, not the builtin's fcode. | |
16370 | ||
16371 | 2004-08-29 Richard Sandiford <rsandifo@redhat.com> | |
16372 | ||
16373 | * config/mips/mips.c (print_operand): Remove '%Y' and '%y'. | |
16374 | (mips_expand_4s_compare_builtin): Redefine CCV4 to be 0 if all | |
16375 | registers are false and -1 if all registers are true. | |
16376 | (mips_expand_ps_compare_builtin): Likewise CCV2. Use subregs for | |
16377 | MIPS_CMP_UPPER and MIPS_CMP_LOWER. | |
16378 | * config/mips/mips.md (mips_cond_move_tf_ps): Use %Q rather than %y. | |
16379 | (bc1any4t, bc1any4f): Adjust for new CCV4 interpretation. | |
16380 | (bc1any2t, bc1any2f): Likewise CCV2. | |
16381 | (bc1upper2t, bc1lower2t, bc1upper2f, bc1lower2f): Delete. | |
16382 | ||
16383 | 2004-08-29 Richard Sandiford <rsandifo@redhat.com> | |
16384 | ||
16385 | * config/mips/mips.md (UNSPEC_MOVE_TF_PS): New. | |
16386 | * config/mips/mips-ps-3d.md (mips_cond_move_tf_ps): Express as an | |
16387 | UNSPEC rather than an IF_THEN_ELSE. | |
16388 | * config/mips/mips.c (mips_expand_ps_cond_move_builtin): Emit | |
16389 | mips_cond_move_tf_ps by name. | |
16390 | ||
16391 | 2004-08-29 Chao-ying Fu <fu@mips.com> | |
16392 | James E Wilson <wilson@specifixinc.com> | |
16393 | ||
16394 | * config/mips/mips-modes.def (V2SF, CCV2, CCV4): New modes. Give CCV2 | |
16395 | 8 byte size and alignment. Give CCV4 16 byte size and alignment. | |
16396 | * config/mips/mips-ps-3d.md: New file. | |
16397 | * config/mips/mips.c (TARGET_VECTOR_MODE_SUPPORTED_P, | |
16398 | TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Define. | |
16399 | (mips_const_insns): Handle CONST_VECTOR the same as CONST_DOUBLE. | |
16400 | (mips_output_move): Emit "mov.ps" for V2SFmode. | |
16401 | (mips_arg_info): Add checks for VECTOR_FLOAT_TYPE_P and | |
16402 | MODE_VECTOR_FLOAT. | |
16403 | (override_options): Check if TARGET_MIPS3D and there was an explicit | |
16404 | !TARGET_PAIRED_SINGLE_FLOAT. Set MASK_PAIRED_SINGLE, if TARGET_MIPS3D. | |
16405 | Check if TARGET_FLOAT64 and TARGET_HARD_FLOAT are both true, when | |
16406 | TARGET_PAIRED_SINGLE_FLOAT is true. Check if the ISA supports | |
16407 | TARGET_PAIRED_SINGLE_FLOAT. Allow MODE_VECTOR_FLOAT in fp registers, | |
16408 | and allow CCV2 and CCV4 to occupy two and four CC registers. | |
16409 | (print_fcc_operand): New function. | |
16410 | (print_operand): Add %Y, %y, %V, %v, %Q for CCV2, CCV4, CC. Modify | |
16411 | %Z to call print_fcc_operand. | |
16412 | (mips_function_value): Handle MODE_VECTOR_FLOAT. | |
16413 | (mips_class_max_nregs): Check for ST_REGS, and handle CCmodes. | |
16414 | (mips_vector_mode_supported_p): New function. | |
16415 | (mips_hard_regno_nregs): Check for ST_REG_P, and handle CCmodes. | |
16416 | (builtin_description): New struct. | |
16417 | (mips_bdesc): New array of struct builtin_description. | |
16418 | (mips_expand_builtin, mips_init_builtins, | |
16419 | mips_expand_ps_cond_move_builtin, mips_expand_4s_compare_builtin, | |
16420 | mips_expand_compare_builtin, mips_expand_ps_compare_builtin): New | |
16421 | functions. | |
16422 | * config/mips/mips.h (MASK_PAIRED_SINGLE, MASK_MIPS3D): New defines. | |
16423 | (TARGET_PAIRED_SINGLE_FLOAT, TARGET_MIPS3D): New defines. | |
16424 | (TARGET_CPU_CPP_BUILTINS): Add __mips_paired_single_float. | |
16425 | (TARGET_SWITCHES): Added "-mpaired-single", "-mno-paired-single", | |
16426 | "-mips3d", and "-mno-mips3d". | |
16427 | (ASM_SPEC): Map -mips3d to -mips3d in gas. | |
16428 | (EXTRA_CONSTRAINT_Y): New macro. | |
16429 | (EXTRA_CONSTRAINT_STR): Renamed from EXTRA_CONSTRAINT. Add new | |
16430 | multi-letter constraint 'Y'. | |
16431 | (CONSTRAINT_LEN): New macro. | |
16432 | (enum mips_builtins): New for MIPS builtin functions. | |
16433 | (enum mips_function_type): New for the types of MIPS builtin functions. | |
16434 | (enum mips_cmp_choice): New for the MIPS comparison builtin functions. | |
16435 | * config/mips/mips.md: New constants for paired single and MIPS-3D | |
16436 | instructions. Include the new mips-ps-3d.md file. | |
16437 | (addv2sf3, subv2sf3, mulv2sf3, absv2sf2, negv2sf2, movv2sf, | |
16438 | movv2sf_hardfloat_64bit): New named patterns. | |
16439 | (madd.ps, msub.ps, nmaddv2sf, nmaddv2sf_fastmath, nmsubv2sf, | |
16440 | nmsubv2sf_fastmath, ldxc1_v2sf_si, ldxc1_v2sf_di, sdxc1_v2sf_si, | |
16441 | sdxc1_v2sf_di): New unnamed patterns. | |
16442 | * config/mips/predicates.md (const_0_operand, const_1_operand): Add | |
16443 | const_vector support. | |
16444 | (const_0_or_1_operand): New predicate. | |
16445 | * doc/invoke.texi (MIPS Options): Add -mpaired-single and -mips3d. | |
16446 | ||
16447 | 2004-08-29 Diego Novillo <dnovillo@redhat.com> | |
16448 | ||
16449 | * Makefile.in (OBJS-common): Add tree-ssa-propagate.o | |
16450 | (tree-ssa-propagate.o): New rule. | |
16451 | (GTFILES): Add tree-ssa-propagate.c. | |
16452 | * tree-flow.h (struct stmt_ann_d): Remove field | |
16453 | in_ccp_worklist. | |
16454 | * tree-ssa-propagate.c: New file. | |
16455 | * tree-ssa-propagate.h: New file. | |
16456 | * tree-ssa-ccp.c: Re-write to use the routines from | |
16457 | tree-ssa-propagate.c. | |
16458 | ||
16459 | 2004-08-28 Andrew Pinski <apinski@apple.com> | |
16460 | ||
16461 | * tree-ssa-loop.c: Remove extra include of basic-block.h. | |
16462 | ||
16463 | 2004-08-28 Ziemowit Laski <zlaski@apple.com> | |
16464 | ||
16465 | * c-common.h: Update comments about ObjC/ObjC++ entry points. | |
16466 | (objc_is_reserved_word): New prototype. | |
16467 | (get_current_scope, objc_mark_locals_volatile): Move prototypes to | |
16468 | separate section; these are call-backs. | |
16469 | * c-lex.c (c_lex_with_flags): Call objc_is_reserved_word() to detect | |
16470 | ObjC/ObjC++ "@" keywords. | |
16471 | * c-tree.h (get_current_scope, objc_mark_locals_volatile): Remove | |
16472 | prototypes; they already live in c-common.h. | |
16473 | * stub-objc.c: Update copyright notice. | |
16474 | (objc_is_reserved_word): New stub. | |
16475 | ||
16476 | 2004-08-28 Nathan Sidwell <nathan@codesourcery.com> | |
16477 | ||
16478 | * system.h (gcc_assert): Remove __builtin_expect. Evaluate EXPR | |
16479 | even when not checking. | |
16480 | ||
16481 | 2004-08-27 Jason Merrill <jason@redhat.com> | |
16482 | ||
16483 | PR c++/13684 | |
16484 | * gimplify.c (gimplify_cleanup_point_expr): Handle CLEANUP_EH_ONLY. | |
16485 | (gimple_push_cleanup): Add eh_only parm. | |
16486 | (gimplify_target_expr): Pass it. | |
16487 | * c.opt (-fno-threadsafe-statics): New option. | |
16488 | * c-opts.c (c_common_handle_option): Handle it. | |
16489 | * c-common.h (flag_threadsafe_statics): Declare it. | |
16490 | * c-common.c (flag_threadsafe_statics): Record it. | |
16491 | * doc/invoke.texi: Document it. | |
16492 | * tsystem.h (_GNU_SOURCE): Define. | |
16493 | * gthr-posix.h (__gthread_recursive_mutex_t): New typedef. | |
16494 | (__GTHREAD_RECURSIVE_MUTEX_INIT): New macro. | |
16495 | (__GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION): New macro. | |
16496 | (__gthread_recursive_mutex_init_function): New fn. | |
16497 | (__gthread_recursive_mutex_lock): New fn. | |
16498 | (__gthread_recursive_mutex_trylock): New fn. | |
16499 | (__gthread_recursive_mutex_unlock): New fn. | |
16500 | * gthr-solaris.h, gthr-single.h, gthr-dce.h: Likewise. | |
16501 | * gthr-win32.h, gthr-vxworks.h: Likewise. | |
16502 | * gthr.h: Document. | |
16503 | ||
16504 | 2004-08-27 David Edelsohn <edelsohn@gnu.org> | |
16505 | ||
16506 | * config/rs6000/rs6000.c (rs6000_override_options): Increase | |
16507 | maximum skip to 15. Set function alignment, jump alignment, and | |
16508 | loop alignment to 16 for processors that form dispatch groups. | |
16509 | (rs6000_rtx_costs): outer_code is used. | |
16510 | ||
16511 | 2004-08-27 Nathan Sidwell <nathan@codesourcery.com> | |
16512 | ||
16513 | * stor-layout.c (sizetype_set): Remove. | |
16514 | (set_sizetype): Don't test or set it. | |
16515 | ||
16516 | * tree.h (size_int_type): Remove. | |
16517 | * fold-const.c: Do not #include gt-fold-const.h. | |
16518 | (size_htab_hash, size_htab_eq): Remove. | |
16519 | (size_int_kind): Use build_int_cst. | |
16520 | (new_const, size_htab): Remove. | |
16521 | (size_int_type): Remove. | |
16522 | (round_up): Use build_int_cst. | |
16523 | (round_down): Likewise. Remove spurious constant build. | |
16524 | ||
16525 | 2004-08-27 Nathan Sidwell <nathan@codesourcery.com> | |
16526 | ||
16527 | * configure.ac: Add ENABLE_ASSERT_CHECKING control. | |
16528 | Add is_release variable, use it for --enable-werror and | |
16529 | --enable-checking defaults. | |
16530 | * system.h (gcc_assert, gcc_unreachable): New. | |
16531 | * doc/install.texi (--enable-checking): Update. | |
16532 | * configure, config.in: Rebuilt. | |
16533 | ||
16534 | 2004-08-26 Richard Sandiford <rsandifo@redhat.com> | |
16535 | ||
16536 | * rtl.h (read_rtx): Change prototype. | |
16537 | * read-rtl.c (read_rtx): Provide the caller with both an rtx and a | |
16538 | line number. Return true on success. | |
16539 | * gensupport.c (process_include, init_md_reader_args_cb): Adjust | |
16540 | callers accordingly. | |
16541 | ||
16542 | 2004-08-26 Richard Henderson <rth@redhat.com> | |
16543 | ||
16544 | * c-typeck.c (build_offsetof): Remove. | |
16545 | * c-tree.h (build_offsetof): Remove. | |
16546 | * c-common.c (fold_offsetof_1, fold_offsetof): New. | |
16547 | * c-common.h (fold_offsetof): Declare. | |
16548 | * c-parse.in (offsetof_base): New. | |
16549 | (offsetof_member_designator): Use it. Build references, not just | |
16550 | a tree list. | |
16551 | (primary): Use fold_offsetof, not build_offsetof. | |
16552 | ||
16553 | 2004-08-26 Richard Henderson <rth@redhat.com> | |
16554 | ||
16555 | * tree.c (staticp): Return the static object. | |
16556 | * tree.h (staticp): Update decl. | |
16557 | * langhooks.h (struct lang_hooks): Change staticp return type to tree. | |
16558 | * langhooks.c (lhd_staticp): Return NULL_TREE. | |
16559 | * langhooks-def.h (lhd_staticp): Update decl. | |
16560 | * c-common.c (c_staticp): Return the static object. | |
16561 | * c-common.h (c_staticp): Update decl. | |
16562 | ||
16563 | 2004-08-26 Richard Henderson <rth@redhat.com> | |
16564 | ||
16565 | * config/alpha/alpha.h (HARD_REGNO_MODE_OK): Allow complex float | |
16566 | modes. | |
16567 | ||
16568 | 2004-08-26 Joseph S. Myers <jsm@polyomino.org.uk> | |
16569 | ||
16570 | PR c/13801 | |
16571 | * c-decl.c (struct c_binding): Add type and inner_comp fields. | |
16572 | (bind): Set type and inner_comp fields. | |
16573 | (pop_scope): Restore type of decl to the correct type from an | |
16574 | outer scope. Give error when popping file scope for incomplete | |
16575 | arrays completed incompatibly with default initialization in an | |
16576 | inner scope. | |
16577 | (diagnose_mismatched_decls): Handle externs with initializers at | |
16578 | block scope. | |
16579 | (pushdecl): Set type of external declaration at block scope based | |
16580 | only on the visible declarations. Save type when changing the | |
16581 | type of a declaration. Merge an external declaration at block | |
16582 | scope with a visible static declaration at file scope. | |
16583 | (implicitly_declare): Give recycled old declaration the new type | |
16584 | except for incompatible declarations of built-in functions, saving | |
16585 | the old type. | |
16586 | ||
16587 | 2004-08-26 Ziemowit Laski <zlaski@apple.com> | |
16588 | ||
16589 | * c-parse.in (OBJC_TYPE_QUAL): New %token for ObjC use. | |
16590 | ||
16591 | 2004-08-26 Daniel Berlin <dberlin@dberlin.org> | |
16592 | ||
16593 | * tree-alias-common.c (gate_pta): New function. | |
16594 | (pass_build_pta): Use it. | |
16595 | (pass_del_pta): Use it. | |
16596 | (delete_alias_vars): Don't check flag_tree_points_to. | |
16597 | ||
16598 | 2004-08-26 Fariborz Jahanian <fjahanian@apple.com> | |
16599 | ||
16600 | * config/rs6000/rs6000.h (HARD_REGNO_CALL_PART_CLOBBERED): Added | |
16601 | TFmode as additional register mode cloberred by call. | |
16602 | ||
16603 | 2004-08-26 Fariborz Jahanian <fjahanian@apple.com> | |
16604 | ||
16605 | * config/rs6000/rs6000.c (rs6000_libcall_value): Generate | |
16606 | parallel pattern for library call returning DImode in | |
16607 | mixed mode. | |
16608 | ||
16609 | 2004-08-26 Fariborz Jahanian <fjahanian@apple.com> | |
16610 | ||
16611 | * config/rs6000/rs6000.c (function_arg): Generate parallel | |
16612 | pattern for more split args. | |
16613 | ||
16614 | 2004-08-26 Fariborz Jahanian <fjahanian@apple.com> | |
16615 | ||
16616 | * config/rs6000/rs6000.c (rs6000_split_multireg_move): Call | |
16617 | either gen_movdi_di_update or gen_movdi_si_update depending on | |
16618 | target mode. | |
16619 | * config/rs6000/rs6000.md (movdi_update): Changed to movdi_<mode>_update, | |
16620 | to generate two versions. | |
16621 | ||
16622 | 2004-08-26 Daniel Berlin <dberlin@dberlin.org> | |
16623 | ||
16624 | * Makefile.in (lambda-code.o): New. | |
16625 | (lambda-trans.o): Ditto. | |
16626 | (TREE_DATA_REF_H): Ditto. | |
16627 | (LAMBDA_H): Ditto. | |
16628 | (lambda-mat.o): Use LAMBDA_H. | |
16629 | (tree-data-ref.o): Ditto. | |
16630 | * lambda-code.c: New file. Lambda code generation algorithm. | |
16631 | * lambda-trans.c: Ditto. Lambda transformation matrix support. | |
16632 | * lambda.h: Add lambda loop structures. | |
16633 | Add lambda loopnest structures. | |
16634 | Add lambda body vector structure. | |
16635 | Add lambda linear expression structures. | |
16636 | Add prototypes for functions in new files. | |
16637 | * lambda-mat.c: Include tree.h | |
16638 | ||
16639 | 2004-08-26 Daniel Berlin <dberlin@dberlin.org> | |
16640 | Sebastian Pop <pop@cri.ensmp.fr> | |
16641 | ||
16642 | * tree-data-ref.h: Include lambda.h | |
16643 | (free_dependence_relation): Declared here. | |
16644 | (free_dependence_relations): Ditto. | |
16645 | (free_data_refs): Ditto. | |
16646 | * tree-data-ref.c (free_dependence_relation): New function. | |
16647 | (free_dependence_relations): Ditto. | |
16648 | (free_data_refs): Ditot. | |
16649 | (analyze_all_data_dependences): Free datarefs and dependence_relations. | |
16650 | (build_classic_dist_vector): Store in the dependence_relations the | |
16651 | information. Each arc in the dependence_relations graph is labelled | |
16652 | with the distance and direction vectors. | |
16653 | (build_classic_dir_vector): Ditto. | |
16654 | (compute_rw_wr_ww_dependences): Renamed again compute_all_dependences. | |
16655 | Now computes again the whole dependence graph including read-read | |
16656 | relations. | |
16657 | (compute_data_dependences_for_loop): Now dependence_relations contains | |
16658 | all the data, and thus it doesn't need to initialize the classic_dir | |
16659 | and classic_dist vectors. | |
16660 | (analyze_all_data_dependences): Adjusted for using the new interface of | |
16661 | compute_data_dependences_for_loop. Remove the statistics dump. | |
16662 | ||
16663 | 2004-08-26 Bob Wilson <bob.wilson@acm.org> | |
16664 | ||
16665 | * config/xtensa/xtensa.c (xtensa_ld_opcodes, xtensa_st_opcodes): Delete. | |
16666 | (xtensa_expand_block_move): Update comment. | |
16667 | (override_options): Remove initialization of xtensa_{ld,st}_opcodes. | |
16668 | ||
611bcfc0 | 16669 | 2004-08-26 Richard Earnshaw <rearnsha@arm.com> |
7a4515d7 SB |
16670 | |
16671 | PR target/13506 | |
16672 | * toplev.c (crash_signal): If we crashed while emitting | |
16673 | a user asm, then die more gracefully. | |
16674 | ||
16675 | 2004-08-26 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com> | |
16676 | ||
16677 | PR target/17119. | |
16678 | * config/m32r.c (gen_compare): Use reg_or_int16_operand when | |
16679 | checking for a valid constant, regardless of sign. | |
16680 | ||
16681 | 2004-08-25 Richard Henderson <rth@redhat.com> | |
16682 | ||
16683 | PR target/16974 | |
16684 | * config/alpha/alpha.md (adddi_fp_hack): Don't rely on splitting | |
16685 | if the constant satisfies add_operand. | |
16686 | ||
16687 | 2004-08-25 Richard Henderson <rth@redhat.com> | |
16688 | ||
16689 | PR debug/10695 | |
16690 | * config/alpha/alpha.c (emit_frame_store_1, emit_frame_store): New. | |
16691 | (alpha_expand_prologue): Handle >32-bit frames. Generate proper | |
16692 | unwind info for >16-bit frames. | |
16693 | ||
16694 | 2004-08-25 Richard B. Kreckel <richard.kreckel@framatome-anp.com> | |
16695 | ||
16696 | PR target/17171 | |
16697 | * config/i386/gas.h (ASM_COMMENT_START): Define to "#". | |
16698 | ||
16699 | 2004-08-25 Richard Henderson <rth@redhat.com> | |
16700 | ||
16701 | * config/alpha/alpha.c (alpha_cannot_force_const_mem): New. | |
16702 | (TARGET_CANNOT_FORCE_CONST_MEM): New. | |
16703 | ||
16704 | 2004-08-25 Andrew MacLeod <amacleod@redhat.com> | |
16705 | ||
16706 | * doc/tree-ssa.texi: Document new operand iterator. | |
16707 | ||
16708 | 2004-08-26 Alan Modra <amodra@bigpond.net.au> | |
16709 | ||
16710 | PR target/16480 | |
16711 | * config/rs6000/rs6000.c (rs6000_split_multireg_move): Don't abort | |
16712 | on "(mem (symbol_ref ..))" rtl. Look at LO_SUM base regs as well | |
16713 | as PLUS base regs. | |
16714 | ||
ad41bd84 | 16715 | 2004-08-28 Paul Brook <paul@codesourcery.com> |
7a4515d7 SB |
16716 | |
16717 | * config/arm/symbian.h (SUBTARGET_ASM_FLOAT_SPEC): Default to | |
16718 | -mfpu=vfp -march=armv5t | |
16719 | * config/arm/t-symbian: Change multilib to mfloat-abi=softfp. | |
16720 | ||
16721 | 2004-08-25 Richard Henderson <rth@redhat.com> | |
16722 | ||
16723 | * target-def.h (TARGET_SCALAR_MODE_SUPPORTED_P): New. | |
16724 | * target.h (struct gcc_target): Add scalar_mode_supported_p. | |
16725 | * targhooks.c (default_scalar_mode_supported_p): New. | |
16726 | * targhooks.h (default_scalar_mode_supported_p): Declare. | |
16727 | * doc/tm.texi (TARGET_SCALAR_MODE_SUPPORTED_P): Document. | |
16728 | ||
16729 | * c-common.c (handle_mode_attribute): Query scalar_mode_supported_p | |
16730 | before attempting to create types. Tidy. | |
16731 | * expr.c (vector_mode_valid_p): Use scalar_mode_supported_p. | |
16732 | ||
16733 | * config/alpha/alpha.c (alpha_scalar_mode_supported_p): New. | |
16734 | (TARGET_SCALAR_MODE_SUPPORTED_P): New. | |
16735 | ||
16736 | 2004-08-25 Richard Henderson <rth@redhat.com> | |
16737 | ||
16738 | * config/i386/freebsd.h (SUBTARGET_OVERRIDE_OPTIONS): Don't | |
16739 | set REAL_MODE_FORMAT for TFmode. | |
16740 | ||
16741 | 2004-08-25 Ziemowit Laski <zlaski@apple.com> | |
16742 | ||
16743 | * c-decl.c (grokparm): New function. | |
16744 | * c-tree.h (grokparm): New prototype. | |
16745 | ||
16746 | 2004-08-25 Andrew MacLeod <amacleod@redhat.com> | |
16747 | ||
16748 | * tree-ssa-operands.h (struct ssa_operand_iterator_d): New. SSA operand | |
16749 | iterator controlling structure. | |
16750 | (SSA_OP_USE, SSA_OP_DEF, SSA_OP_VUSE, SSA_OP_VMAYUSE, SSA_OP_VMAYDEF, | |
16751 | SSA_OP_VMUSTDEF, SSA_OP_VIRTUAL_USES, SSA_OP_VIRTUAL_DEFS, | |
16752 | SSA_OP_ALL_USES, SSA_OP_ALL_DEFS, SSA_OP_ALL_OPERANDS): New. Operand | |
16753 | iterator flags. | |
16754 | (FOR_EACH_SSA_TREE_OPERAND): New. Iterate over operands as trees. | |
16755 | (FOR_EACH_SSA_USE_OPERAND): New. Iterate over operands as uses. | |
16756 | (FOR_EACH_SSA_DEF_OPERAND): New. Iterate over operands as defs. | |
16757 | (FOR_EACH_SSA_MAYDEF_OPERAND): New. Iterate over V_MAY_DEFs. | |
16758 | * tree-ssa-operands.c (NULL_DEF_OPERAND_P, NULL_USE_OPERAND_P): New. | |
16759 | Empty operand pointers. | |
16760 | * tree-flow-inline.h (op_iter_done): New. Return true if finished. | |
16761 | (op_iter_next_use): New. Return next use_operand_p. | |
16762 | (op_iter_next_def): New. Return next def_operand_p. | |
16763 | (op_iter_next_tree): New. Return next operands as a tree. | |
16764 | (op_iter_init): New. Initialize an iterator structure. | |
16765 | (op_iter_init_use): New. Initialize structure and get the first use. | |
16766 | (op_iter_init_def): New. Initialize structure and get the first def. | |
16767 | (op_iter_init_tree): New. Initialize structure and get the first tree. | |
16768 | (op_iter_next_maydef): New. Return next V_MAY_DEF operands. | |
16769 | (op_iter_init_maydef): New. Initialize structure and get the first | |
16770 | V_MAY_DEF operands. | |
16771 | * tree-cfg.c (tree_duplicate_bb): Use new operand iterator. | |
16772 | * tree-dfa.c (compute_immediate_uses_for_stmt, | |
16773 | redirect_immediate_uses): Use new operand iterator. | |
16774 | (v_may_defs_disappeared_p, v_must_defs_disappeared_p): Delete. | |
16775 | (mark_new_vars_to_rename): Use new operand iterator. Count virtual | |
16776 | operands instead of using *_disappeared_p routines. | |
16777 | * tree-into-ssa.c (mark_def_sites, ssa_mark_def_sites, rewrite_stmt, | |
16778 | ssa_rewrite_stmt): Use new operand iterator. | |
16779 | * tree-outof-ssa.c (check_replaceable, find_replaceable_in_bb, | |
16780 | rewrite_trees): Use new operand iterator. | |
16781 | * tree-pretty-print.c (dump_vops): Use new operand iterator. | |
16782 | * tree-sra.c (mark_all_v_defs): Use new operand iterator. | |
16783 | * tree-ssa-alias.c (compute_points_to_and_addr_escape, | |
16784 | dump_points_to_info): Use new operand iterator. | |
16785 | * tree-ssa-ccp.c (cp_lattice_meet, visit_stmt, initialize, | |
16786 | replace_uses_in, replace_vuse_in, likely_value, set_rhs): Use new | |
16787 | operand iterator. | |
16788 | * tree-ssa-dce.c (mark_stmt_if_obviously_necessary, | |
16789 | propagate_necessity): Use new operand iterator. | |
16790 | * tree-ssa-dom.c (cprop_into_stmt, optimize_stmt): Use operand iterator. | |
16791 | (register_definitions_for_stmt): Use new operand iterator. Take stmt as | |
16792 | a parameter instead of a stmt_ann_t. | |
16793 | * tree-ssa-live.c (create_ssa_var_map, calculate_live_on_entry, | |
16794 | build_tree_conflict_graph): Use new operand iterator. | |
16795 | * tree-ssa-loop-im.c (determine_max_movement, single_reachable_address, | |
16796 | rewrite_mem_refs): Use new operand iterator. | |
16797 | * tree-ssa-loop-manip.c (find_uses_to_rename_stmt, | |
16798 | check_loop_closed_ssa_use): Use new operand iterator. | |
16799 | * tree-ssa.c (verify_ssa, replace_immediate_uses): Use operand iterator. | |
16800 | * tree-ssanames.c (release_defs): Use new operand iterator. | |
16801 | * tree-vectorizer.c (vect_create_data_ref): Use new operand iterator. | |
16802 | ||
16803 | 2004-08-25 Adam Nemet <anemet@lnxw.com> | |
16804 | ||
16805 | * tlink.c (initial_cwd): New variable. | |
16806 | (tlink_init): Initialize it. | |
16807 | (recompile_files): Use tlink_execute() instead of system(). Don't | |
16808 | duplicate verbose output of collect_execute. Restore initial_cwd. | |
16809 | Update comment before the function. | |
16810 | ||
16811 | 2004-08-25 Ziemowit Laski <zlaski@apple.com> | |
16812 | ||
16813 | * c-typeck.c (build_c_cast): In ObjC, always preserve (and silently | |
16814 | accept) a cast from one Objective-C pointer type to another. | |
16815 | ||
16816 | 2004-08-25 Paolo Carlini <pcarlini@suse.de> | |
16817 | ||
16818 | * doc/install.texi: Document that libstdc++-v3 requires | |
16819 | now automake 1.9.1. | |
16820 | ||
16821 | 2004-08-25 Caroline Tice <ctice@apple.com> | |
16822 | ||
e8366202 | 16823 | * bb-reorder.c (partition_hot_cold_basic_blocks): Add more details |
7a4515d7 | 16824 | to comments at start of function. |
e8366202 | 16825 | * cfgbuild.c (make_edges): Add more details to hot/cold partitioning |
7a4515d7 SB |
16826 | comment. |
16827 | * cfgcleanup.c (try_simplify_condjump, try_forward_edges, | |
16828 | merge_blocks_move_predecessor_nojumps, | |
16829 | merge_blocks_move_successor_nojumps, merge_blocks_move, | |
16830 | try_crossjump_to_edge, try_crossjump_bb): Likewise. | |
16831 | * cfglayout.c (fixup_reorder_chain): Likewise. | |
16832 | * cfgrtl.c (rtl_can_merge_blocks, try_redirect_by_replacing_jump, | |
e8366202 | 16833 | cfg_layout_can_merge_blocks_p): Likewise. |
7a4515d7 SB |
16834 | * ifcvt.c (find_if_case_1, find_if_case_2): Likewise. |
16835 | * passes.c (rest_of_compilation): Update comments for calling | |
16836 | optimization that partitions hot/cold basic blocks. | |
e8366202 | 16837 | * doc/invoke.texi: Update documentation of |
7a4515d7 SB |
16838 | freorder-blocks-and-partition flag. |
16839 | ||
16840 | 2004-08-25 Richard Sandiford <rsandifo@redhat.com> | |
16841 | ||
16842 | * config/mips/mips.md (reg): Renamed mode attribute from ccreg. | |
16843 | (*mov*_on_*): Adjust accordingly. Add an explicit MOVECC: prefix. | |
16844 | ||
16845 | 2004-08-25 Richard Sandiford <rsandifo@redhat.com> | |
16846 | ||
16847 | * config/mips/mips.md (any_shift): New code macro. | |
16848 | (optab, insn): New code attributes. | |
16849 | ({ashl,ashr,lshr}[sd]i3): Redefine using :GPR and any_shift. | |
16850 | Use the standard rather than internal patterns for the MIPS16 | |
16851 | double-shift optimization. | |
16852 | (*{ashl,ashr,lshr}[sd]i3): New names for the non-mips16 shift patterns. | |
16853 | Redefine using :GPR and any_shift. | |
16854 | (*{ashl,ashr,lshr}si3_extend): Generalize ashlsi3_internal1_extend | |
16855 | to cover all three shifts. | |
16856 | (*{ashl,ashr,lshr}si3_mips16): New names for the mips16 SImode shifts. | |
16857 | Redefine using any_shift. Use :GPR and any_shift to combine splitters. | |
16858 | (*{ashl,ashr,lshr}di3_mips16): New names for the mips16 DImode shifts. | |
16859 | ||
16860 | 2004-08-24 Geoffrey Keating <geoffk@apple.com> | |
16861 | ||
16862 | * gimplify.c (lookup_tmp_var): Separate temporaries when not | |
16863 | optimizing. | |
16864 | ||
16865 | 2004-08-25 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
16866 | ||
16867 | PR libstdc++/17005 (fix for HP-UX 11.11) | |
16868 | * config.gcc (hppa*-*-*): Move MASK_BIG_SWITCH to target_cpu_default2. | |
16869 | (hppa*-*-hpux*): Consolidate hppa1.0-*-* code. Rework handling of | |
16870 | tm_file including pa-hpux1010.h or pa-hpux1111.h when appropriate. | |
16871 | * config/pa/pa-hpux1010.h, config/pa/pa-hpux1111.h: New files. | |
16872 | * config/pa/pa-hpux.h (TARGET_HPUX): Define. | |
16873 | (LINK_SPEC): Handle march=1.0 option. | |
16874 | * config/pa/pa-hpux10.h (TARGET_OS_CPP_BUILTINS): Predefine _XOPEN_UNIX | |
16875 | and _XOPEN_SOURCE_EXTENDED for UNIX 95. | |
16876 | (SUBTARGET_OPTIONS): New define. | |
16877 | (LINK_SPEC): Handle march=1.0 option. | |
16878 | (STARTFILE_SPEC): New define. | |
16879 | * config/pa/pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Predefine _XOPEN_UNIX | |
16880 | and _XOPEN_SOURCE_EXTENDED for UNIX 95. Additionally, predefine | |
16881 | _INCLUDE__STDC_A1_SOURCE and _INCLUDE_XOPEN_SOURCE_500 for UNIX 98. | |
16882 | (SUBTARGET_OPTIONS): New define. | |
16883 | (LINK_SPEC): Handle march=1.0 option. | |
16884 | (STARTFILE_SPEC): New define. | |
16885 | * config/pa/pa.c (override_options): Add code to process -munix= option. | |
16886 | * config/pa/pa.h (pa_unix_string, flag_pa_unix): Declare. | |
16887 | (TARGET_HPUX, TARGET_HPUX_10_10, TARGET_HPUX_11_11): Provide default | |
16888 | defines. | |
16889 | (TARGET_OPTIONS): Add SUBTARGET_OPTIONS to option list. | |
16890 | (SUBTARGET_OPTIONS): Provide default define. | |
16891 | * config/pa/pa64-hpux.h (STANDARD_STARTFILE_PREFIX_1, | |
16892 | STANDARD_STARTFILE_PREFIX_2): New defines. | |
16893 | (STARTFILE_SPEC): Provide unix95.o or unix98.o startfiles as necessary. | |
16894 | (ENDFILE_SPEC): Use %O. | |
16895 | * doc/install.texi (hppa*-*-hpux*): Reword paragraph on -g and gas. | |
16896 | Mention issue caused by changing namespace and runtime to UNIX 95/98. | |
16897 | * doc/invoke.texi (HPPA options): Move misplaced text to FRV options. | |
16898 | Document -munix=std option. | |
16899 | ||
16900 | 2004-08-25 Steven Bosscher <stevenb@suse.de> | |
16901 | ||
16902 | * cse.c (cse_around_loop, cse_check_loop_start, | |
16903 | cse_set_around_loop): Remove. | |
16904 | (cse_basic_block): Remove the around_loop argument. | |
16905 | (cse_end_of_basic_block): Remove the after_loop argument. | |
16906 | (cse_main): Likewise. | |
16907 | * rtl.h (cse_main): Update prototype. | |
16908 | * passes.c (rest_of_handle_cse, rest_of_handle_cse2, | |
16909 | rest_of_handle_gcse): Update cse_main calls. | |
16910 | ||
16911 | 2004-08-25 Nathan Sidwell <nathan@codesourcery.com> | |
16912 | ||
16913 | * tree.h (build_int_cst): New, sign extended constant. | |
16914 | (build_int_cstu): New, zero extended constant. | |
16915 | (build_int_cst_wide): Renamed from build_int_cst. | |
16916 | * tree.c (build_int_cst, build_int_cstu): New. | |
16917 | (build_int_cst_wide): Renamed from build_int_cst. | |
16918 | (make_vector_type, build_common_tree_nodes, | |
16919 | build_common_tree_nodes_2): Adjust build_int_cst calls. | |
16920 | * builtins.c (expand_builtin_prefetch, expand_builtin_strstr, | |
16921 | expand_builtin_strpbrk, expand_builtin_fputs, | |
16922 | build_string_literal, expand_builtin_printf, | |
16923 | expand_builtin_sprintf, fold_builtin_classify_type, | |
16924 | fold_builtin_lround, fold_builtin_bitop, fold_builtin_isascii, | |
16925 | fold_builtin_toascii, fold_builtin_isdigit, | |
16926 | simplify_builtin_strstr, simplify_builtin_strpbrk, | |
16927 | fold_builtin_fputs, simplify_builtin_sprintf): Likewise. | |
16928 | * c-common.c (start_fname_decls, fix_string_type, shorten_compare, | |
16929 | DEF_ATTR_INT): Likewise. | |
16930 | * c-decl.c (complete_array_type, check_bitfield_type_and_width): | |
16931 | Likewise. | |
16932 | * c-lex.c (interpret_integer, lex_charconst): Likewise. | |
16933 | * c-parse.in (primary) <TYPES_COMPATIBLE_P> Likewise. | |
16934 | * c-pretty-print.c (pp_c_integer_constant): Likewise. | |
16935 | * c-typeck.c (really_start_incremental_init, push_init_level, | |
16936 | set_nonincremental_init_from_string): Likewise. | |
16937 | * calls.c (load_register_parameters): Likewise. | |
16938 | convert.c (convert_to_pointer): Likewise. | |
16939 | coverage.c (coverage_counter_alloc, tree_coverage_counter_ref, | |
16940 | build_fn_info_type, build_fn_info_value, build_ctr_info_value, | |
16941 | build_gcov_info): Likewise. | |
16942 | * except.c (init_eh, assign_filter_values): Likewise. | |
16943 | * expmed.c (store_fixed_bit_field, extract_bit_field, | |
16944 | extract_fixed_bit_field, extract_split_bit_field, expand_shift, | |
16945 | expand_mult_const, expand_mult_highpart_adjust, extract_high_half, | |
16946 | expand_sdiv_pow2, expand_divmod, make_tree): Likewise. | |
16947 | * expr.c (convert_move, emit_group_load, emit_group_store, | |
16948 | expand_assignment, store_constructor, store_field, | |
16949 | expand_expr_real_1, reduce_to_bit_field_precision): Likewise. | |
16950 | fold-const.c (force_fit_type, int_const_binop, fold_convert_const, | |
16951 | invert_truthvalue, optimize_bit_field_compare, | |
16952 | decode_field_reference, all_ones_mask_p, constant_boolean_node, | |
16953 | fold_div_compare, fold, fold_read_from_constant_string, | |
16954 | fold_negate_const, fold_abs_const, fold_not_const, round_up, | |
16955 | round_down): Likewise. | |
16956 | * function.c (assign_parm_setup_block): Likewise. | |
16957 | * stmt.c (shift_return_value, expand_case, estimate_case_costs): | |
16958 | Likewise. | |
16959 | * stor-layout.c (layout_type, initialize_sizetypes, | |
16960 | set_min_and_max_values_for_integral_type): Likewise. | |
16961 | * tree-chrec.c (chrec_fold_multiply_poly_poly, | |
16962 | reset_evolution_in_loop): Likewise. | |
16963 | * tree-chrec.h (build_polynomial_chrec): Likewise. | |
16964 | * tree-complex.c (build_replicated_const): Likewise. | |
16965 | * tree-eh.c (honor_protect_cleanup_actions, | |
16966 | lower_try_finally_onedest, lower_try_finally_copy, | |
16967 | lower_try_finally_switch): Likewise. | |
16968 | * tree-mudflap.c (mf_build_string, mx_register_decls, | |
16969 | mudflap_register_call, mudflap_enqueue_constant): Likewise. | |
16970 | * tree-nested.c (get_trampoline_type, get_nl_goto_field): Likewise. | |
16971 | * tree-pretty-print.c (dump_generic_node): Likewise. | |
16972 | * tree-ssa-ccp.c (widen_bitfield, maybe_fold_offset_to_array_ref): | |
16973 | Likewise. | |
16974 | * tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Likewise. | |
16975 | * tree-ssa-loop-niter.c (number_of_iterations_cond, | |
16976 | loop_niter_by_eval, upper_bound_in_type, lower_bound_in_type): | |
16977 | Likewise. | |
16978 | * tree-ssa-loop-ivcanon.c (create_canonical_iv, | |
16979 | canonicalize_loop_induction_variables): Likewise. | |
16980 | * tree-vectorizer.c (vect_create_index_for_array_ref, | |
16981 | vect_transform_loop_bound, vect_compute_data_ref_alignment): | |
16982 | Likewise. | |
16983 | ||
16984 | * config/alpha/alpha.c (alpha_initialize_trampoline, alpha_va_start, | |
16985 | alpha_gimplify_va_arg_1): Likewise. | |
16986 | * config/arm/arm.c (arm_get_cookie_size): Likewise. | |
16987 | * config/c4x/c4x.c (c4x_gimplify_va_arg_expr): Likewise. | |
16988 | * config/i386/i386.c (ix86_va_start, ix86_gimplify_va_arg): Likewise. | |
16989 | * config/ia64/ia64.c (ia64_gimplify_va_arg): Likewise. | |
16990 | * config/mips/mips.c (mips_build_builtin_va_list, mips_va_start, | |
16991 | mips_gimplify_va_arg_expr): Likewise. | |
16992 | * config/pa/pa.c (hppa_gimplify_va_arg_expr): Likewise. | |
16993 | * config/rs6000/rs6000.c (rs6000_va_start, rs6000_gimplify_va_arg, | |
16994 | add_compiler_branch_island): Likewise. | |
16995 | * config/s390/s390.c (s390_va_start): Likewise. | |
16996 | * config/sh/sh.c (sh_va_start): Likewise. | |
16997 | * config/stormy16/stormy16.c (xstormy16_expand_builtin_va_start): | |
16998 | Likewise. | |
16999 | * config/xtensa/xtensa.c (xtensa_va_start, | |
17000 | xtensa_gimplify_va_arg_expr): Likewise. | |
17001 | ||
17002 | * objc/objc-act.c (build_objc_string_object, | |
17003 | build_objc_symtab_template, init_def_list, init_objc_symtab, | |
17004 | init_module_descriptor, generate_static_references, | |
17005 | build_selector_translation_table, get_proto_encoding, | |
17006 | build_typed_selector_reference, build_selector_reference, | |
17007 | build_next_objc_exception_stuff, | |
17008 | build_method_prototype_list_template, generate_descriptor_table, | |
17009 | generate_protocols, build_protocol_initializer, | |
17010 | build_ivar_list_template, build_method_list_template, | |
17011 | build_ivar_list_initializer, generate_ivars_list, | |
17012 | generate_dispatch_table, generate_protocol_list, | |
17013 | build_category_initializer, build_shared_structure_initializer, | |
17014 | generate_shared_structures, handle_impent, | |
17015 | generate_objc_image_info): Likewise. | |
17016 | ||
17017 | 2004-04-25 Paolo Bonzini <bonzini@gnu.org> | |
17018 | ||
17019 | * cfglayout.c (duplicate_insn_chain): Remove references to | |
17020 | NOTE_INSN_LOOP_VTOP and NOTE_INSN_LOOP_CONT. | |
17021 | * cfgloop.h (struct loop): Remove fields vtop, cont and cont_dominator. | |
17022 | * cfgrtl.c (rtl_delete_block): Remove handling of NOTE_INSN_LOOP_CONT. | |
17023 | * final.c (final_scan_insn): Remove references to NOTE_INSN_LOOP_VTOP | |
17024 | and NOTE_INSN_LOOP_CONT. | |
17025 | * insn-notes.def (NOTE_INSN_LOOP_VTOP, NOTE_INSN_LOOP_CONT): Remove. | |
17026 | * jump.c (squeeze_notes): Remove references to NOTE_INSN_LOOP_VTOP | |
17027 | and NOTE_INSN_LOOP_CONT. | |
17028 | * loop.c (scan_loops, find_and_verify_loops, for_each_insn_in_loop, | |
17029 | check_dbra_loop, loop_dump_aux): Remove references to removed notes | |
17030 | and fields. | |
17031 | * reorg.c (mostly_true_jump): Do not rely on NOTE_INSN_LOOP_VTOPs. | |
17032 | * unroll.c (unroll_loop, copy_loop_body, loop_iterations): Remove | |
17033 | references to removed notes and fields. | |
17034 | (subtract_reg_term, ujump_to_loop_cont): Remove. | |
17035 | ||
17036 | 2004-08-25 Paolo Bonzini <bonzini@gnu.org> | |
17037 | ||
17038 | * doc/install.texi: Document that libcpp does not require | |
17039 | Automake any longer. Document that Automake 1.9.1 should | |
17040 | work everywhere. | |
17041 | ||
17042 | 2004-08-25 Zack Weinberg <zack@codesourcery.com> | |
17043 | ||
17044 | * flags.h (enum debug_info_type): Remove DWARF_DEBUG. | |
17045 | * defaults.h (PREFERRED_DEBUGGING_TYPE): Remove check for | |
17046 | DWARF_DEBUGGING_INFO from choice-of-definition chain; | |
17047 | restructure using C89 features (#elif, #error). | |
17048 | * c-lex.c, final.c, opts.c, config/cris/cris.c, config/frv/frv.c | |
17049 | * config/sh/sh.h: Remove references to DWARF_DEBUG. | |
17050 | * doc/invoke.texi: Remove references to DWARF version 1; | |
17051 | clarify why -gdwarf-2<n> doesn't work. | |
17052 | ||
17053 | 2004-08-25 Zack Weinberg <zack@codesourcery.com> | |
17054 | ||
17055 | * basic-block.h (BB_SET_PARTITION): Clear old value first. | |
17056 | * cfg.c (clear_bb_flags): Don't clear partition setting. | |
17057 | * ifcvt.c (find_if_case_1): Remove ??? comment. | |
17058 | ||
17059 | 2004-08-25 Alan Modra <amodra@bigpond.net.au> | |
17060 | ||
17061 | PR target/17052 | |
17062 | * config/rs6000/rs6000.h (machine_function): Remove sysv_varargs_p. | |
17063 | * config/rs6000/sysv4.h (RS6000_VARARGS_AREA): Use | |
17064 | current_function_stdarg in place of sysv_varargs_p. | |
17065 | * config/rs6000/rs6000.c (setup_incoming_varargs): Don't set | |
17066 | sysv_varargs_p. | |
17067 | ||
17068 | 2004-08-24 Richard Henderson <rth@redhat.com> | |
17069 | ||
17070 | PR target/16298 | |
17071 | * config/i386/i386.c (legitimate_constant_p): Rework to not accept | |
17072 | random codes within CONST. | |
17073 | ||
17074 | 2004-08-24 James E Wilson <wilson@specifixinc.com> | |
17075 | ||
17076 | * Makefile.in (STAGEFEEDBACK_FLAGS_TO_PASS): Remove | |
17077 | -freorder-blocks-and-partition. | |
17078 | ||
17079 | 2004-08-24 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
17080 | ||
17081 | PR middle-end/17044 | |
17082 | * tree-ssa-threadupdate.c (redirection_data): Make static. | |
17083 | (thread_block): Use ggc_alloc_cleared to allocate struct | |
17084 | redirection_data. Don't free elements in redirection_data. | |
17085 | ||
17086 | 2004-08-24 Richard Sandiford <rsandifo@redhat.com> | |
17087 | ||
17088 | * config/mips/predicates.md (small_data_pattern): Match prefetches. | |
17089 | ||
17090 | 2004-08-24 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> | |
17091 | ||
17092 | PR tree-optimization/17016 | |
17093 | * tree-ssa-loop-niter.c (number_of_iterations_cond, | |
17094 | number_of_iterations_exit): Use POINTER_TYPE_P instead | |
17095 | of testing for POINTER_TYPE. | |
17096 | ||
17097 | 2004-08-24 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> | |
17098 | ||
17099 | * tree-ssa-loop-ivcanon.c: New file. | |
17100 | * tree-ssa-loop-manip.c (create_iv): New function. | |
17101 | * Makefile.in (tree-ssa-loop-ivcanon.o): Add. | |
17102 | (tree-ssa-loop.o, tree-ssa-loop-manip.o): Add SCEV_H dependency. | |
17103 | * cfgloop.c (mark_single_exit_loops): New function. | |
17104 | (verify_loop_structure): Verify single-exit loops. | |
17105 | * cfgloop.h (struct loop): Add single_exit field. | |
17106 | (LOOPS_HAVE_MARKED_SINGLE_EXITS): New constant. | |
17107 | (mark_single_exit_loops): Declare. | |
17108 | (tree_num_loop_insns): Declare. | |
17109 | * cfgloopmanip.c (update_single_exits_after_duplication): New function. | |
17110 | (duplicate_loop_to_header_edge): Use it. | |
17111 | * common.opt (fivcanon): New flag. | |
17112 | * timevar.def (TV_TREE_LOOP_IVCANON, TV_COMPLETE_UNROLL): New timevars. | |
17113 | * tree-cfg.c (tree_find_edge_insert_loc): Return newly created block. | |
17114 | (bsi_commit_edge_inserts_1): Pass null to tree_find_edge_insert_loc. | |
17115 | (bsi_insert_on_edge_immediate): New function. | |
17116 | * tree-flow.h (bsi_insert_on_edge_immediate, | |
17117 | canonicalize_induction_variables, tree_unroll_loops_completely, | |
17118 | create_iv): Declare. | |
17119 | * tree-optimize.c (init_tree_optimization_passes): Add | |
17120 | pass_iv_canon and pass_complete_unroll. | |
17121 | * tree-pass.h (pass_iv_canon, pass_complete_unroll): Declare. | |
17122 | * tree-scalar-evolution.c (get_loop_exit_condition, | |
17123 | get_exit_conditions_rec, number_of_iterations_in_loop, | |
17124 | scev_initialize): Use single_exit information. | |
17125 | * tree-ssa-loop-niter.c (number_of_iterations_cond): Record | |
17126 | missing assumptions. | |
e8366202 | 17127 | (loop_niter_by_eval): Return number of iterations as unsigned |
7a4515d7 SB |
17128 | int. |
17129 | * tree-ssa-loop.c (tree_ssa_loop_init): Mark single exit loops. | |
17130 | (tree_ssa_loop_ivcanon, gate_tree_ssa_loop_ivcanon, pass_iv_canon, | |
17131 | tree_complete_unroll, gate_tree_complete_unroll, pass_complete_unroll): | |
17132 | New passes. | |
17133 | (tree_ssa_loop_done): Call free_numbers_of_iterations_estimates. | |
17134 | * tree-ssanames.c (make_ssa_name): Allow creating ssa name before | |
17135 | the defining statement is ready. | |
17136 | * tree-vectorizer.c (vect_create_iv_simple): Removed. | |
17137 | (vect_create_index_for_array_ref, vect_transform_loop_bound): | |
17138 | Use create_iv. | |
17139 | (vect_transform_loop_bound): Use single_exit information. | |
17140 | (vect_analyze_loop_form): Cleanup bogus tests. | |
17141 | (vectorize_loops): Do not call flow_loop_scan. | |
17142 | * tree.h (may_negate_without_overflow_p): Declare. | |
17143 | * fold-const.c (may_negate_without_overflow_p): Split out from ... | |
17144 | (negate_expr_p): ... this function. | |
17145 | (tree_expr_nonzero_p): Handle overflowed constants correctly. | |
17146 | * doc/invoke.texi (-fivcanon): Document. | |
17147 | * doc/passes.texi: Document canonical induction variable creation. | |
17148 | ||
17149 | 2004-08-24 Richard Sandiford <rsandifo@redhat.com> | |
17150 | ||
17151 | * config/mips/mips.h (ISA_HAS_INT_CONDMOVE): Delete. | |
17152 | * config/mips/mips.c (print_operand): Fold %B/%b handling into %T/%t, | |
17153 | using the mode of the operand to decide between them. | |
17154 | * config/mips/mips.md (MOVECC): New mode macro. | |
17155 | (ccreg): New mode attribute. | |
17156 | (*mov{si,di,sf,df}_on_{cc,si,di}): Name formerly unnamed patterns. | |
17157 | Redefine using :GPR and :MOVECC. Use %T and %t for the condition. | |
17158 | (mov[sd]icc): Redefine using :GPR. | |
17159 | ||
17160 | 2004-08-24 Richard Sandiford <rsandifo@redhat.com> | |
17161 | ||
17162 | * config/mips/mips-protos.h (mips_emit_prefetch): Delete. | |
17163 | (mips_prefetch_cookie): New function. | |
17164 | * config/mips/mips.c (print_operand_address): Fix handling of | |
17165 | ADDRESS_CONST_INT. | |
17166 | (mips_emit_prefetch): Delete. | |
17167 | (mips_prefetch_cookie): New function. | |
17168 | * config/mips/mips.md (prefetch): Turn into a define_insn. Use a | |
17169 | mode of QImode for the address_operand. Use mips_prefetch_cookie | |
17170 | to calculate the first "pref" operand. | |
17171 | (prefetch_[sd]i, prefetch_[sd]i_address): Delete. | |
17172 | (prefetch_indexed_[sd]i): Redefine using :P. Use mips_prefetch_cookie. | |
17173 | ||
17174 | 2004-08-24 Richard Earnshaw <rearnsha@arm.com> | |
17175 | ||
17176 | * arm.md: Include predicates.md. | |
17177 | * predicates.md: New file. | |
17178 | * arm.c (s_register_operand, arm_hard_register_operand) | |
17179 | (arm_general_register_operand, f_register_operand, reg_or_int_operand) | |
17180 | (arm_immediate_operand, arm_neg_immediate_operand) | |
17181 | (arm_not_immediate_operand, arm_rhs_operand, arm_rhsm_operand) | |
17182 | (arm_add_operand, arm_addimm_operand, arm_not_operand) | |
17183 | (offsettable_memory_operand, alignable_memory_operand) | |
17184 | (arm_reload_memory_operand, arm_float_rhs_operand) | |
17185 | (arm_float_add_operand, vfp_compare_operand, arm_float_compare_operand) | |
17186 | (index_operand, shiftable_operator, logical_binary_operator) | |
17187 | (shift_operator, equality_operator, arm_comparison_operator) | |
17188 | (minmax_operator, cc_register, dominant_cc_register) | |
17189 | (arm_extendqisi_mem_op, power_of_two_operand, nonimmediate_di_operand) | |
17190 | (di_operand, nonimmediate_soft_df_operand, soft_df_operand) | |
17191 | (const_shift_operand, load_multiple_operation) | |
17192 | (store_multiple_operation, multi_register_push, thumb_cmp_operand) | |
17193 | (thumb_cmpneg_operand, thumb_cbrch_target_operand) | |
17194 | (cirrus_register_operand, cirrus_fp_register) | |
17195 | (cirrus_shift_const): Delete, replaced with equivalents in | |
17196 | predicates.md. | |
17197 | (shift_op): Handle ROTATE. | |
17198 | * arm-protos.h: Delete declarations for above. | |
17199 | * arm.h (PREDICATE_CODES, SPECIAL_MODE_PREDICATES): Delete. | |
17200 | * t-arm (MD_INCLUDES): Add predicates.md. | |
17201 | (s-preds): Depends on MD_INCLUDES. | |
17202 | ||
17203 | 2004-08-24 Richard Sandiford <rsandifo@redhat.com> | |
17204 | ||
17205 | * config/mips/mips.c (mips_gen_conditional_trap): Fix mode. | |
17206 | * config/mips/mips.md (*conditional_trap[sd]i): Name previously unnamed | |
17207 | patterns. Redefine using :GPR. Give the match_operator a mode. | |
17208 | Use '%2' rather than '%z2' for operand 2. | |
17209 | ||
17210 | 2004-08-24 Richard Sandiford <rsandifo@redhat.com> | |
17211 | ||
17212 | * config/mips/mips.md (load_call[sd]i): Redefine using :P. Add mode | |
17213 | attribute. | |
17214 | ||
17215 | 2004-08-24 Richard Sandiford <rsandifo@redhat.com> | |
17216 | ||
17217 | * config/mips/mips.md (indirect_jump): Use force_reg. Adjust names | |
17218 | of internal patterns. | |
17219 | (indirect_jump[sd]i): Renamed from indirect_jump_internal[12]. | |
17220 | Redefine using :P. | |
17221 | (tablejump): Use expand_binop to calculate address. Adjust names | |
17222 | of internal patterns. | |
17223 | (tablejump[sd]i): Renamed from tablejump_internal[12]. | |
17224 | Redefine using :P. | |
17225 | (tablejump_mips16[12]): Delete. | |
17226 | ||
17227 | 2004-08-24 Richard Sandiford <rsandifo@redhat.com> | |
17228 | ||
17229 | * config/mips/mips.md (*seq_[sd]i, *seq_[sd]i_mips16, *sne_[sd]i) | |
17230 | (*sgt_[sd]i, *sgt_[sd]i_mips16, *sge_[sd]i, *slt_[sd]i) | |
17231 | (*slt_[sd]i_mips16, *sle_[sd]i, *sle_[sd]i_mips16, *sgtu_[sd]i) | |
17232 | (*sgtu_[sd]i_mips16, *sge_[sd]i, *sltu_[sd]i, *sltu_[sd]i_mips16) | |
17233 | (*sleu_[sd]i, *sleu_[sd]i_mips16): Redefine using :GPR. | |
17234 | ||
17235 | 2004-08-24 Richard Sandiford <rsandifo@redhat.com> | |
17236 | ||
17237 | * config/mips/mips.md (cmpsi, cmpdi): Redefine using :GPR. | |
17238 | (*branch_zero[sd]i): Renamed from branch_zero{,_di}. Redefine | |
17239 | using :GPR. | |
17240 | (*branch_zero[sd]i_inverted): Likewise branch_zero{,_di}_inverted. | |
17241 | (*branch_equality[sd]i): Likewise branch_equality{,_di}. | |
17242 | (*branch_equality[sd]i_inverted): Likewise | |
17243 | branch_equality{,_di}_inverted. | |
17244 | (*branch_equality[sd]i_mips16): Name formerly unnamed patterns. | |
17245 | Redefine using :GPR. | |
17246 | ||
17247 | 2004-08-24 Zack Weinberg <zack@codesourcery.com> | |
17248 | ||
17249 | * rtl.def: Reorganize, placing all codes used only in machine | |
17250 | descriptions at the end. | |
17251 | ||
17252 | * rtl.def: Wrap MD-only codes in #ifdef GENERATOR_FILE. | |
17253 | * gengtype.c: Don't include rtl.h. Define enum rtx_code and | |
17254 | rtx_name, rtx_format arrays by direct reference to rtl.def, | |
17255 | first undefining GENERATOR_FILE. Define enum insn_note and | |
17256 | note_insn_name array by direct reference to insn-notes.def. | |
17257 | (adjust_field_rtx_def): Remove local definition of rtx_name. | |
17258 | Use symbolic names for insn notes. | |
17259 | * Makefile.in (gengtype.o): Update dependencies. | |
17260 | ||
17261 | 2004-08-24 Zack Weinberg <zack@codesourcery.com> | |
17262 | ||
17263 | * basic-block.h (struct basic_block_def): Reorder fields to | |
17264 | eliminate interior padding. Remove 'partition' field. | |
17265 | (BB_DISABLE_SCHEDULE, BB_HOT_PARTITION, BB_COLD_PARTITION) | |
17266 | (BB_UNPARTITIONED, BB_PARTITION, BB_SET_PARTITION) | |
17267 | (BB_COPY_PARTITION): New macros. | |
17268 | * bb-reorder.c, cfgcleanup.c, cfglayout.c, cfgrtl.c, ifcvt.c | |
17269 | Replace all references to the 'partition' field of a basic | |
17270 | block with new macros. | |
17271 | ||
17272 | * insn-notes.def: Delete NOTE_INSN_DISABLE_SCHED_OF_BLOCK. | |
17273 | * final.c (final_scan_insn): Don't handle it. | |
17274 | * modulo-sched.c: Set BB_DISABLE_SCHEDULE flag on g->bb | |
17275 | instead of emitting a NOTE_INSN_DISABLE_SCHED_OF_BLOCK note. | |
17276 | * sched-rgn.c (sched_is_disabled_for_current_region_p): | |
17277 | Look for a BB_DISABLE_SCHEDULE flag on the block instead of a note. | |
17278 | ||
17279 | 2004-08-24 Nathan Sidwell <nathan@codesourcery.com> | |
17280 | ||
17281 | * c-decl.c (c_init_decl_processing): Adjust | |
17282 | build_common_tree_nodes call. | |
17283 | * expmed.c (const_mult_add_overflow_p): Use | |
17284 | build_distinct_type_copy. | |
17285 | * stor-layout.c (early_type_list): Remove. | |
17286 | (layout_type): Don't append to early_type_list. | |
17287 | (initialize_sizetypes): Add signed_p argument. | |
17288 | (set_sizetype): Overwrite the stub type nodes directly. | |
17289 | * tree.c (copy_node_stat): Clear a type's value cache here ... | |
17290 | (build_distinct_type): ... not here. | |
17291 | (build_common_tree_nodes): Add signed_sizetype argument. Adjust. | |
17292 | * tree.h (initialize_sizetypes): Add signed_p argument. | |
17293 | (build_common_tree_nodes): Likewise. | |
17294 | ||
17295 | * objc/objc-act.c (get_static_reference): Use | |
17296 | build_variant_type_copy. | |
17297 | (get_protocol_reference): Likewise. | |
17298 | * objc/objc-act.h (TREE_STATIC_TEMPLATE): Use TREE_PRIVATE. | |
17299 | ||
17300 | 2004-08-24 Richard Henderson <rth@redhat.com> | |
17301 | Andrew Pinski <apinski@apple.com> | |
17302 | ||
17303 | * gimplify.c (gimplify_array_ref_to_plus): Delete. | |
17304 | (gimplify_addr_expr): Do not call gimplify_array_ref_to_plus | |
17305 | for ARRAY_REF. | |
17306 | ||
17307 | * config/rs6000/rs6000.c (altivec_expand_builtin): Go passed | |
17308 | ARRAY_REF also to get to the STRING_CST. | |
17309 | ||
17310 | 2004-08-24 Paul Brook <paul@codesourcery.com> | |
17311 | ||
17312 | * config/arm/arm.c (arm_override_options): Update error message. | |
17313 | * config/arm/arm.h (TARGET_HARD_FLOAT): Rename to | |
17314 | TARGET_HARD_FLOAT_ABI. | |
17315 | (TARGET_SOFT_FLOAT_ABI): Rename to TARGET_HARD_FLOAT. | |
17316 | (LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P): Use TARGET_HARD_FLOAT_ABI. | |
17317 | ||
17318 | 2004-08-24 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com> | |
17319 | ||
17320 | PR target/17093 | |
17321 | * config/m32r.md (movsi_sda): Add SI mode specification to | |
17322 | UNSPEC. | |
17323 | ||
17324 | 2004-08-24 Nick Clifton <nickc@redhat.com> | |
17325 | ||
17326 | * config/m32r/m32r.h (PREDICATE_CODES): Remove duplicate definition | |
17327 | of seth_add3_operand. | |
17328 | ||
17329 | 2004-08-24 Nathan Sidwell <nathan@codesourcery.com> | |
17330 | ||
17331 | * Makefile.in (PROTO_OBJS): Add errors.o. | |
17332 | * protoize.c (fancy_abort): Remove. | |
17333 | * mips-tfile.c (fancy_abort): Add parameters. | |
17334 | ||
17335 | 2004-08-24 Jonathan Wakely <redi@gcc.gnu.org> | |
17336 | ||
17337 | * doc/trouble.texi (C++ misunderstandings): Fix example code. | |
17338 | ||
17339 | 2004-08-24 Andreas Tobler <a.tobler@schweiz.ch> | |
17340 | ||
17341 | * Makefile.in (HOOKS_H): Add dependency on MACHMODE_H. | |
17342 | (host-default.o): Add dependency on HOOKS_H. | |
17343 | * config/x-linux: Likewise. | |
17344 | * config/x-solaris: Likewise. | |
17345 | * config/i386/x-mingw32: Likewise. | |
17346 | * config/rs6000/x-darwin: Likewise. | |
17347 | ||
17348 | 2004-08-23 James E Wilson <wilson@specifixinc.com> | |
17349 | ||
17350 | * reg-notes.def (REG_NOTE): In comment, change DEF_INSN_NOTE to | |
17351 | DEF_REG_NOTE. | |
17352 | ||
17353 | 2004-08-23 Mark Mitchell <mark@codesourcery.com> | |
17354 | ||
17355 | PR c/14492 | |
17356 | * dwarf2out.c (loc_descriptor_from_tree): Robustify. | |
17357 | ||
17358 | 2004-08-23 Diego Novillo <dnovillo@redhat.com> | |
17359 | ||
17360 | * cfg.c (check_bb_profile): Fix typos. | |
17361 | * function.c (assign_parm_is_stack_parm): Likewise. | |
17362 | * tree-nested.c: Likewise. | |
17363 | ||
17364 | 2004-08-23 Daniel Jacobowitz <dan@debian.org> | |
17365 | ||
17366 | * ggc-zone.c (struc alloc_chunk): Rearrange flag bits and SIZE. | |
17367 | Remove TYPECODE. | |
17368 | (ggc_alloc_zone_1): Mark TYPE as unused. Don't save it in the chunk. | |
17369 | ||
17370 | 2004-08-23 Eric Christopher <echristo@redhat.com> | |
17371 | ||
17372 | * defaults.h (VECTOR_MODE_SUPPORTED_P): Remove macro. | |
17373 | * system.h (VECTOR_MODE_SUPPORTED_P): Poison. | |
17374 | * target-def.h (TARGET_VECTOR_MODE_SUPPORTED_P): Define. | |
17375 | * target.h: Ditto. | |
17376 | * hooks.h: Include machmode.h. | |
17377 | (hook_bool_mode_false): Declare. | |
17378 | * hooks.c (hook_bool_mode_false): Define. | |
17379 | * expr.c (vector_mode_valid_p): Use targetm.vector_mode_supported_p. | |
17380 | * stor-layout.c (layout_type): Ditto. | |
17381 | * config/alpha/alpha.c (alpha_vector_mode_supported_p): New function. | |
17382 | Define to target macro. | |
17383 | * config/alpha/alpha.h (VECTOR_MODE_SUPPORTED_P): Delete. | |
17384 | * config/arm/arm.c: Ditto. Use. | |
17385 | * config/arm/arm.h: Ditto. | |
17386 | * config/arm/arm-protos.h: Ditto. | |
17387 | * config/i386/i386.c: Ditto. | |
17388 | * config/i386/i386.h: Ditto. | |
17389 | * config/rs6000/rs6000.c: Ditto. | |
17390 | * config/rs6000/rs6000.h: Ditto. | |
17391 | * config/sh/sh.c: Ditto. | |
17392 | * config/sh/sh.h: Ditto. | |
17393 | * config/sh/sh-protos.h: Ditto. | |
17394 | * config/sh/sh.md: Use. | |
17395 | * doc/tm.texi: Move documentation for VECTOR_MODE_SUPPORTED_P | |
17396 | to TARGET_VECTOR_MODE_SUPPORTED_P. | |
17397 | ||
17398 | 2004-08-23 Nathan Sidwell <nathan@codesourcery.com> | |
17399 | ||
17400 | * Makefile.in (BUILD_ERRORS): Set to build-errors. | |
17401 | (errors.o): New target for host. | |
17402 | (build-errors.o): New target for build. | |
17403 | (genobjs): Replace errors.o with build-errors. | |
17404 | (gengenrtl$(buildexeext)): Add $(BUILD_ERRORS). | |
17405 | (GCOV_OBJS, GCOV_DUMP_OBJS): Add errors.o. | |
17406 | (fix-headers$(build_exeext)): Add $(BUILD_ERRORS). | |
17407 | (fix-header.o): Add errors.h | |
17408 | * collect2.c (fancy_abort): Add parameters. | |
17409 | * collect2.h (fancy_abort): Don't declare. | |
17410 | * errors.h (fancy_abort): Don't declare. | |
17411 | * errors.c: Include either bconfig.h or config.h. | |
17412 | (fancy_abort): Trim filename. | |
17413 | * fix-header.c (v_fatal, fatal): Remove. | |
17414 | (progname): Remove definition. | |
17415 | (main): Set progname here. | |
17416 | * gcc.c (fancy_abort): Add parameters. | |
17417 | * gcc.h (fancy_abort): Remove declaration. | |
17418 | * gcov.c (fancy_abort): Remove. | |
17419 | * rtl.h (fancy_abort): Don't declare. | |
17420 | (abort): Don't define. | |
17421 | * tree.h (fancy_abort): Don't declare. | |
17422 | (abort): Don't define. | |
17423 | * system.h (fancy_abort): Declare. | |
17424 | (abort): Define to fancy_abort. | |
17425 | * fixinc/Makefile.in (ALLOBJ): Add ../build-errors.o | |
17426 | ||
17427 | * tree.h (enum size_type_kind): Remove USIZETYPE, UBITSIZETYPE. | |
17428 | (usize_type, ubitsizetype): Remove. | |
17429 | * stor-layout.c (set_sizetype): Don't initialize usizetype, | |
17430 | ubitsizetype. | |
17431 | * fold-const.c (size_diffop): TYPE can never be ubitsizetype. | |
17432 | ||
17433 | * tree.h (build_distinct_type_copy): New. | |
17434 | (build_type_copy): ... here. Rename to ... | |
17435 | (build_variant_type_copy): ... here. | |
17436 | * tree.c (build_qualified_type): Rename build_type_copy call. | |
17437 | (build_distinct_type_copy): New, broken out of ... | |
17438 | (build_type_copy): ... here. Rename to ... | |
17439 | (build_variant_type_copy): ... here. Use | |
17440 | build_distinct_type_copy. | |
17441 | (build_common_tree_nodes_2): Rename build_type_copy call. | |
17442 | * c-common.c (c_common_nodes_and_builtins): Rename build_type_copy | |
17443 | call. | |
17444 | (handle_packed_attribute, handle_unused_attribute, | |
17445 | handle_transparanet_union_attribute, handle_aligned_attribute, | |
17446 | handle_deprecated_attribute): Likewise. | |
17447 | * c-decl.c (clone_underlying_type, store_parm_decls_oldstyle): | |
17448 | Likewise. | |
17449 | * config/arm/arm.c (arm_handle_isr_attribyte): Likewise. | |
17450 | * config/rs6000/rs6000.c (rs6000_init_builtins): Use | |
17451 | build_distinct_type_copy. | |
17452 | ||
17453 | 2004-08-23 Richard Sandiford <rsandifo@redhat.com> | |
17454 | ||
17455 | * config/mips/mips.md (mfhilo_[sd]i): Redefine using :GPR. Add mode | |
17456 | attribute. | |
17457 | ||
17458 | 2004-08-23 Richard Sandiford <rsandifo@redhat.com> | |
17459 | ||
17460 | * config/mips/mips.md (length): Don't use mips_fetch_insns for indexed | |
17461 | loads and stores. | |
17462 | (*lwxc1_<mode>, *ldxc1_<mode>, *swxc1_<mode>, *sdxc1_<mode>): Name | |
17463 | formerly unnamed patterns. Redefine using :P for the address. Remove | |
17464 | explicit length attributes. | |
17465 | ||
17466 | 2004-08-23 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> | |
17467 | ||
17468 | * tree-ssa-loop-im.c (fem_single_reachable_address, for_each_memref): | |
17469 | New functions. | |
17470 | (single_reachable_address): Use them. | |
17471 | (schedule_sm): Add dump. | |
17472 | (is_call_clobbered_ref): New function. | |
17473 | (determine_lsm_reg): Check whether the reference is call clobbered. | |
17474 | Only work for gimple_reg_type values. | |
17475 | ||
17476 | 2004-08-23 Richard Sandiford <rsandifo@redhat.com> | |
17477 | ||
17478 | * config/mips/mips.md (*mov<mode>_ra): Name previously unnamed MIPS16 | |
17479 | $31 store insns. Redefine using :GPR. | |
17480 | ||
17481 | 2004-08-23 Richard Sandiford <rsandifo@redhat.com> | |
17482 | ||
17483 | * config/mips/mips.md (P): New mode macro. | |
17484 | (*xgot_hi[sd]i, *xgot_lo[sd]i, *got_disp[sd]i, *got_page[sd]i) | |
17485 | (*load_got[sd]i, *low[sd]i, *low[sd]i_mips16): Redefine using :P. | |
17486 | Add mode attributes. | |
17487 | ||
17488 | 2004-08-23 Richard Sandiford <rsandifo@redhat.com> | |
17489 | ||
17490 | * config/mips/mips.md (UNSPEC_[LS][WD][LR]): Delete in favor of... | |
17491 | (UNSPEC_{LOAD,STORE}_{LEFT,RIGHT}): ...these new constants. Shuffle | |
17492 | later constants to cover the gap. | |
17493 | (load, store): New mode attributes. | |
17494 | (mov_l[wd]l, mov_l[wd]r, mov_s[wd]l, mov_s[wd]r): Redefine using :GPR. | |
17495 | Use new unspec constants. | |
17496 | ||
17497 | 2004-08-23 Richard Sandiford <rsandifo@redhat.com> | |
17498 | ||
17499 | * config/mips/mips.md (one_cmpl[sd]i2): Redefine using :GPR. | |
17500 | (and[sd]3, ior[sd]i3, xor[sd]i3): Likewise. Change 32-bit patterns | |
17501 | to use register_operand rather than uns_arith_operand as the predicate | |
17502 | for operand 1. Remove redundant MIPS16 force_reg() for operand 1. | |
17503 | (*and[sd]i3, *ior[sd]i3, *xor[sd]i3): Name formerly unnamed patterns. | |
17504 | Redefine using :GPR. Make same predicate change here. Extend the | |
17505 | commutativity of operands 1 and 2 from the SImode version to the | |
17506 | DImode one. | |
17507 | (*and[sd]i3_mips16, *ior[sd]i3_mips16, *xor[sd]i3_mips16): Likewise, | |
17508 | but with no predicate changes. | |
17509 | (*nor[sd]i3): Redefine using :GPR. | |
17510 | ||
17511 | 2004-08-23 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> | |
17512 | ||
17513 | * tree-ssa-operands.c (get_call_expr_operands): Add VUSE operands for | |
17514 | noreturn functions. | |
17515 | ||
17516 | 2004-08-23 Richard Sandiford <rsandifo@redhat.com> | |
17517 | ||
17518 | * config/mips/mips.h (ISA_HAS_DCLZ_DCLO): Delete. | |
17519 | * config/mips/mips.md (abs[sd]i2): Redefine using :GPR. Only use | |
17520 | branch-likely insns for absdi2 if GENERATE_BRANCHLIKELY. Use "%." | |
17521 | rather than "%z2" (with a fake const0_rtx for operand 2). | |
17522 | (ffs[sd]i2): Redefine using :GPR. | |
17523 | (clz[sd]i2): Likewise. Use ISA_HAS_CLO_CLZ for the 64-bit case. | |
17524 | ||
17525 | 2004-08-23 Richard Sandiford <rsandifo@redhat.com> | |
17526 | ||
17527 | * config/mips/mips.md ({,u}divmod[sd]i4): Redefine using :GPR. | |
17528 | ||
17529 | 2004-08-23 Richard Sandiford <rsandifo@redhat.com> | |
17530 | ||
17531 | * config/mips/mips.md (any_extend): New code macro. | |
17532 | (u, su): New code attributes. | |
17533 | ({,u}mulsidi3, {,u}mulsidi3_32bit_internal, {,u}mulsidi3_32bit_r4000) | |
17534 | ({u,s}mulsi3_highpart, {u,s}mulsi3_highpart_internal) | |
17535 | ({u,s}mulsi3_highpart_mulhi_internal, {s,u}muldi3_highpart) | |
17536 | (*{s,u}mul_acc_di): Redefine using any_extend. | |
17537 | (*{,u}muls_di, *{s,u}msac_di): Likewise. Change names of patterns | |
17538 | to reflect real insn names. | |
17539 | (*mulsidi3_64bit, *mulsidi3_64bit_parts): Replace use of match_operator | |
17540 | with an any_extend template. | |
17541 | ({u,s}mulsi3_highpart_neg_mulhi_internal): Redefine using any_extend. | |
17542 | Add '*' to name. | |
17543 | ||
17544 | 2004-08-23 Richard Sandiford <rsandifo@redhat.com> | |
17545 | ||
17546 | * config/mips/mips.h (GENERATE_MULT3_SI): Check TARGET_MAD. | |
17547 | * config/mips/mips.md (mul[sd]i3, mul[sd]i3_internal) | |
17548 | (mul[sd]i3_r4000): Redefine using :GPR. | |
17549 | (mulsi3_mult3): Don't check TARGET_MAD separately. | |
17550 | (muldi3_mult3): Moved after mulsi_mult3. | |
17551 | ||
17552 | 2004-08-23 Richard Sandiford <rsandifo@redhat.com> | |
17553 | ||
17554 | * config.gcc (mips-*-*): Remove definitions of MASK_GAS and | |
17555 | OBJECT_FORMAT_ELF. Set MASK_SPLIT_ADDR by default if using GNU ld. | |
17556 | * config/mips/mips.h (MASK_GAS): Delete. Shuffle later masks down. | |
17557 | (TARGET_GAS, TARGET_MIPS_AS): Delete. | |
17558 | (TARGET_GPWORD): Define to true for n32 on IRIX. | |
17559 | (TARGET_SWITCHES): Remove -mmips-as. Turn -mgas into a no-op. | |
17560 | (MIPS_AS_ASM_SPEC, SUBTARGET_MIPS_AS_ASM_SPEC): Delete. | |
17561 | (GAS_ASM_SPEC): Delete, folding into ASM_SPEC. | |
17562 | (ASM_ABI_DEFAULT_SPEC, TARGET_ASM_SPEC): Delete. | |
17563 | (MDEBUG_ASM_SPEC): Delete, folding into... | |
17564 | (SUBTARGET_ASM_DEBUGGING_SPEC): ...here. | |
17565 | (ASM_SPEC): Inline old GAS_ASM_SPEC. Use GNU names for ABI switches. | |
17566 | (EXTRA_SPECS): Remove mips_as_asm_spec, gas_asm_spec, target_asm_spec, | |
17567 | subtarget_mips_as_asm_spec, mdebug_asm_spec. Use MULTILIB_ABI_DEFAULT | |
17568 | to define asm_abi_default_spec. | |
17569 | (ASM_STABS_OP, ASM_STABN_OP, ASM_STABD_OP): Delete. | |
17570 | (TARGET_ASM_SELECT_SECTION): Delete. | |
17571 | * config/mips/mips.c (MIPS_MAX_FIRST_STACK_STEP): Define to 0x7ff0 | |
17572 | for non-mips16 code, removing previous workaround for SGI assemblers. | |
17573 | (TARGET_ASM_INTEGER, mips_assemble_integer): Delete. | |
17574 | (TARGET_ASM_ALIGNED_DI_OP): Define this instead. | |
17575 | (override_options): Remove !TARGET_GAS and !have_named_sections code. | |
17576 | (print_operand): Fold TARGET_GAS conditionals into asm strings. | |
17577 | (mips_output_filename): Remove !TARGET_GAS code. Replace use of | |
17578 | ASM_STABS_OP and ASM_STABN_OP. | |
17579 | (mips_file_start): Remove TARGET_MIPS_AS/TARGET_GAS checks. | |
17580 | (mips_output_aligned_decl_common): Remove mention of SGI o32 assembler. | |
17581 | (mips_output_function_prologue): Remove !TARGET_GAS code. | |
17582 | (mips_select_rtx_section): Remove !have_named_sections code. | |
17583 | (mips_select_section): Delete. | |
17584 | * config/mips/mips.md (trap): Remove !TARGET_GAS check. | |
17585 | * config/mips/linux.h (TARGET_DEFAULT): Remove use of MASK_GAS. | |
17586 | * config/mips/sdb.h (PUT_SDB_DEF, PUT_SDB_PLAIN_DEF): Delete. | |
17587 | (PUT_SDB_BLOCK_START, PUT_SDB_BLOCK_END): Fold TARGET_GAS conditional. | |
17588 | * config/mips/vxworks.h (ASM_SPEC): As for mips.h. | |
17589 | * config/mips/windiss.h (ASM_SPEC): Likewise. | |
17590 | ||
17591 | 2004-08-23 Richard Sandiford <rsandifo@redhat.com> | |
17592 | ||
17593 | * read-rtl.c (map_value, mapping, macro_group): New structures. | |
17594 | (BELLWETHER_CODE): New macro. | |
17595 | (modes, codes, bellwether_codes): New variables. | |
17596 | (find_mode, uses_mode_macro_p, apply_mode_macro, find_code) | |
17597 | (uses_code_macro_p, apply_code_macro, apply_macro_to_string) | |
17598 | (apply_macro_to_rtx, uses_macro_p, add_condition_to_string) | |
17599 | (add_condition_to_rtx, apply_macro_traverse, add_mapping) | |
17600 | (add_map_value, initialize_macros): New functions. | |
17601 | (def_hash, def_hash_eq_p): Generalize to anything that points to, | |
17602 | or starts with, a char * field. | |
17603 | (find_macro, read_mapping, check_code_macro): New functions. | |
17604 | (read_rtx_1): New, split out from read_rtx. Handle the new | |
17605 | define_{mode,code}_{macro,attr} constructs. Use find_macro | |
17606 | to parse the name of a code or mode. Use BELLWETHER_CODE to | |
17607 | extract the format and to choose a suitable code for rtx_alloc. | |
17608 | Modify recursive invocations to use read_rtx_1. | |
17609 | (read_rtx): Call initialize_macros. Apply code and mode macros | |
17610 | to the rtx returned by read_rtx_1. Cache everything after the | |
17611 | first macro expansion for subsequent read_rtx calls. | |
17612 | * doc/md.texi: Document new .md constructs. | |
17613 | * config/mips/mips.md (GPR): New mode macro. | |
17614 | (d, si8_di5): New mode attributes. | |
17615 | (any_cond): New code macro. | |
17616 | (add[sd]i3): Redefine using :GPR. | |
17617 | (*add[sd]i3): Likewise, renaming from add[sd]i3_internal. | |
17618 | (*add[sd]i3_sp[12], *add<mode>3_mips16): Redefine using :GPR, naming | |
17619 | previously unnamed MIPS16 patterns. | |
17620 | (*addsi3_extended): Renamed from addsi3_internal_2. Fix overly long | |
17621 | lines. Don't match (plus (const_int 0) ...). | |
17622 | (*addsi3_extended_mips16): Name previously unnamed MIPS16 pattern. | |
17623 | Use a define_split to generate the addition. | |
17624 | (sub[sd]i3): Redefine using :GPR. Turn subsi3 into a define_insn. | |
17625 | (subsi3_internal): Delete. | |
17626 | (*subsi3_extended): Renamed from subsi3_internal_2. | |
17627 | (bunordered, bordered, bunlt, bunge, buneq, bltgt, bunle, bungt) | |
17628 | (beq, bne, bgt, bge, blt, ble, bgtu, bgeu, bltu, bleu): Redefine | |
17629 | using an any_cond template. | |
17630 | ||
17631 | 2004-08-23 Richard Sandiford <rsandifo@redhat.com> | |
17632 | ||
17633 | * read-rtl.c (read_rtx): Tidy use of format_ptr. | |
17634 | ||
17635 | 2004-08-23 Richard Sandiford <rsandifo@redhat.com> | |
17636 | ||
17637 | * read-rtl.c (string_obstack): New file-scope variable. | |
17638 | (read_string, read_quoted_string, read_braced_string) | |
17639 | (read_escape): Remove obstack parameter and use string_obstack instead. | |
17640 | (read_rtx): Remove function-local rtl_obstack and initialize | |
17641 | string_obstack instead. Update call to read_string. | |
17642 | ||
17643 | 2004-08-22 Andrew Pinski <apinski@apple.com> | |
17644 | ||
17645 | PR c/15262 | |
17646 | * c-typeck.c (build_unary_op): Use &a.b if the foldded lowered | |
17647 | expression is not constant. | |
17648 | (c_finish_return): Do not go through INDIRECT_REF when looking | |
17649 | for the inner expression of an ADDR_EXPR for warning about. | |
17650 | ||
17651 | 2004-08-22 Richard Henderson <rth@redhat.com> | |
17652 | ||
17653 | PR 17075 | |
17654 | * cfgexpand.c (expand_gimple_tailcall): Detect when we can both | |
17655 | create new blocks and fall through. | |
17656 | (expand_gimple_basic_block): Update to match. | |
17657 | ||
17658 | 2004-08-22 Ulrich Weigand <uweigand@de.ibm.com> | |
17659 | ||
17660 | * reload.c (find_reloads_address): Make return value tri-state. | |
17661 | Return -1 if LEGITIMIZE_RELOAD_ADDRESS succeeded. | |
17662 | (find_reloads): Assume that reloaded addresses match 'o' or | |
17663 | EXTRA_MEMORY_CONSTRAINT constraints only if find_reloads_address | |
17664 | returned 1 (not -1). Omit optional reloads for address operands | |
17665 | only if find_reloads_address returned 1 (not -1). | |
17666 | ||
17667 | * config/s390/s390.c (legitimize_reload_address): New function. | |
17668 | * config/s390/s390-protos.h (legitimize_reload_address): Declare. | |
17669 | * config/s390/s390.h (LEGITIMIZE_RELOAD_ADDRESS): Define. Call | |
17670 | legitimize_reload_address. | |
17671 | ||
17672 | 2004-08-22 Richard Hendersion <rth@redhat.com> | |
17673 | ||
17674 | * tree.h (SAVE_EXPR_RESOLVED_P): New. | |
17675 | * gimplify.c (gimplify_save_expr): Use it. | |
17676 | * expr.c (expand_expr_real_1): Likewise. Also set DECL_IGNORED_P | |
17677 | on the temporary variable. | |
17678 | ||
17679 | 2004-08-22 Andrew Pinski <pinskia@physics.uc.edu> | |
17680 | ||
17681 | * fold-const.c (rtl_expr_nonnegative_p): Delete. | |
17682 | * tree.h (rtl_expr_nonnegative_p): Remove. | |
17683 | ||
17684 | 2004-08-22 Steven Bosscher <stevenb@suse.de> | |
17685 | ||
17686 | * config/i386/ppro.md (ppro_complex_insn): Add missing check | |
17687 | for cpu==pentiumpro. | |
17688 | ||
17689 | * combine.c (struct reg_stat): Fix comment typo. | |
17690 | ||
17691 | 2004-08-22 Joseph S. Myers <jsm@polyomino.org.uk> | |
17692 | ||
17693 | * c-tree.h (c_sizeof_nowarn): Remove. | |
17694 | ||
17695 | 2004-08-21 Joseph S. Myers <jsm@polyomino.org.uk> | |
17696 | ||
17697 | * c-decl.c (set_array_declarator_type): Rename to | |
17698 | set_array_declarator_inner. | |
17699 | (build_c_parm, build_attrs_declarator, build_function_declarator): | |
17700 | New functions. | |
17701 | (make_pointer_declarator): Call build_attrs_declarator. | |
17702 | * c-tree.h (set_array_declarator_type): Rename to | |
17703 | set_array_declarator_inner. | |
17704 | (build_c_parm, build_attrs_declarator, build_function_declarator): | |
17705 | New prototypes. | |
17706 | * c-parse.in (after_type_declarator, | |
17707 | parm_declarator_starttypename, parm_declarator_nostarttypename, | |
17708 | notype_declarator, absdcl_maybe_attribute, direct_absdcl1, parm, | |
17709 | firstparm): Use these functions | |
17710 | ||
17711 | 2004-08-21 Joseph S. Myers <jsm@polyomino.org.uk> | |
17712 | ||
17713 | * c-decl.c (build_array_declarator, set_array_declarator_type, | |
17714 | start_decl, grokdeclarator, grokparms): Change boolean parameters | |
17715 | to type bool. | |
17716 | * c-tree.h (build_array_declarator, set_array_declarator_type, | |
17717 | start_decl): Update prototypes. | |
17718 | * c-decl.c, c-parse.in: All callers changed. | |
17719 | ||
17720 | 2004-08-21 Mike Stump <mrs@apple.com> | |
17721 | ||
17722 | * config/rs6000/darwin.h (SUBTARGET_OPTIONS): Move from here, to... | |
17723 | (darwin_fix_and_continue): Likewise. | |
17724 | (darwin_fix_and_continue_switch): Likewise. | |
17725 | * config/darwin.h (SUBTARGET_OPTIONS): ...here, to fix -mone-byte-bool. | |
17726 | (darwin_fix_and_continue): Likewise. | |
17727 | (darwin_fix_and_continue_switch): Likewise. | |
17728 | ||
17729 | 2004-08-21 Danny Smith <dannysmith@users.sourceforge.net> | |
17730 | ||
17731 | PR c++/16030 | |
17732 | * config/i386/winnt/c (gen_stdcall_suffix, gen_fastcall_suffix): | |
17733 | Remove, merging into ... | |
17734 | (gen_stdcall_or_fastcall_suffix): New function, returning tree | |
17735 | rather than const char*, and accepting additional parameter. | |
17736 | Don't add suffix to '*'-prefixed symbols or variadic functions. | |
17737 | (i386_pe_encode_section_info): Adjust for call to new function. | |
17738 | Call change_decl_assembler_name. | |
17739 | ||
17740 | 2004-08-20 Mike Stump <mrs@apple.com> | |
17741 | ||
17742 | * config/darwin.c (machopic_indirect_data_reference): Mark | |
17743 | stubs as defined. | |
17744 | * config/386/386.c (darwin_local_data_pic): Add. | |
17745 | (legitimate_constant_p): Reorder so that PLUS handling runs | |
17746 | before darwin_local_data_pic to match the ordering in | |
17747 | legitimate_pic_address_disp_p and so that MINUS runs after | |
17748 | darwin_local_data_pic as otherwise the darwin_local_data_pic | |
17749 | logic can be skipped, which would be very bad. | |
17750 | (legitimate_pic_address_disp_p): Move from from here to | |
17751 | darwin_local_data_pic so it can be reused. | |
17752 | ||
17753 | 2004-08-21 Alan Modra <amodra@bigpond.net.au> | |
17754 | ||
17755 | * config/rs6000/linux64.h (DOT_SYMBOLS): Define. | |
17756 | (CRT_CALL_STATIC_FUNCTION): Define !DOT_SYMBOLS version. | |
17757 | (ASM_DECLARE_FUNCTION_SIZE): Modify for !DOT_SYMBOLS. | |
17758 | (ASM_OUTPUT_SOURCE_LINE, DBX_OUTPUT_BRAC, DBX_OUTPUT_NFUN): Likewise. | |
17759 | (RS6000_ABI_NAME): Define as "linux". | |
17760 | (SUBSUBTARGET_OVERRIDE_OPTIONS): Set dot_symbols. | |
17761 | * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Select | |
17762 | ABI_AIX when rs6000_abi_name is "linux" and TARGET_64BIT. | |
17763 | * config/rs6000/rs6000-protos.h (rs6000_output_function_entry): Decl. | |
17764 | * config/rs6000/rs6000.c (dot_symbols): New global var. | |
17765 | (rs6000_output_function_entry): New function, modified for | |
17766 | !DOT_SYMBOLS.. | |
17767 | (print_operand <case 'z'>): ..extracted from here. | |
17768 | (rs6000_assemble_visibility): Modify for !DOT_SYMBOLS. | |
17769 | (rs6000_output_function_epilogue): Likewise. | |
17770 | (rs6000_elf_declare_function_name): Likewise. | |
17771 | * config/rs6000/rs6000.h (DOT_SYMBOLS): Define. | |
17772 | (ASM_WEAKEN_DECL, ASM_OUTPUT_DEF_FROM_DECLS): Modify for !DOT_SYMBOLS. | |
17773 | * configure.ac (HAVE_LD_NO_DOT_SYMS): Add new AC_DEFINE. | |
17774 | * configure: Regenerate. | |
17775 | * config.in: Regenerate. | |
17776 | ||
17777 | 2004-08-20 Mark Mitchell <mark@codesourcery.com> | |
17778 | ||
17779 | * reload.c (find_reloads_address): Fix thinko in previous change. | |
17780 | ||
17781 | * reload.c (find_reloads_address): Reload the sum of a LO_SUM and | |
17782 | a CONST_INT. | |
17783 | ||
17784 | 2004-08-20 Jakub Jelinek <jakub@redhat.com> | |
17785 | ||
17786 | PR rtl-optimization/17099 | |
17787 | * combine.c (force_to_mode): Check if inner_mask has any bits set | |
17788 | outside of GET_MODE (x) instead of op_mode. | |
17789 | ||
17790 | 2004-08-20 Mark Mitchell <mark@codesourcery.com> | |
17791 | ||
17792 | * config.gcc (arm*-*-symbianelf*): Add t-symbian Makefile | |
17793 | fragment. | |
17794 | * config/arm/bpabi.h (RENAME_LIBRARY_SET): Fix typo. | |
17795 | (SUBTARGET_EXTRA_ASM_SPEC): Pass -meabi=3 to the assembler. | |
17796 | * config/arm/symbian.h (SUBTARGET_CPU_DEFAULT): Assume ARMV5 | |
17797 | architecture. | |
17798 | (SUBTARGET_ASM_FLOAT_SPEC): Default to -mfpu=vfp for hard-float | |
17799 | configurations. | |
17800 | * config/arm/t-symbian: New file. | |
17801 | ||
17802 | 2004-08-20 Andrew Pinski <apinski@apple.com> | |
17803 | ||
17804 | * regrename.c (kill_value_regno): ANSIfy. | |
17805 | ||
17806 | 2004-08-20 Dale Johannesen <dalej@apple.com> | |
17807 | ||
17808 | * config/rs6000/rs6000.c (rs6000_rtx_costs): Improve DIV/MOD. | |
17809 | ||
17810 | 2004-08-20 Daniel Jacobowitz <dan@debian.org> | |
17811 | ||
17812 | * regrename.c (kill_value_one_regno): Renamed from kill_value_regno. | |
17813 | (kill_value_regno): New function, derived from kill_value. | |
17814 | (kill_value): Update. | |
17815 | (copyprop_hardreg_forward_1): Update call to kill_value_regno. | |
17816 | ||
17817 | 2004-08-20 Daniel Berlin <dberlin@dberlin.org> | |
17818 | ||
17819 | Fix PR tree-optimization/17111 | |
17820 | * tree-ssa-pre.c (create_value_expr_from): Don't change the types | |
17821 | of non-value_handles. | |
17822 | (bitmap_set_contains): All constants are in every set. | |
17823 | ||
17824 | 2004-08-20 Nathan Sidwell <nathan@codesourcery.com> | |
17825 | ||
17826 | * fold-const.c (round_up, round_down): Use build_int_cst. | |
17827 | Optimize common case. | |
17828 | ||
17829 | 2004-08-20 Zack Weinberg <zack@codesourcery.com> | |
17830 | John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
17831 | ||
17832 | * config/pa/pa-protos.h (readonly_data, one_only_readonly_data_section, | |
17833 | one_only_data_section): Rename to som_readonly_data_section, | |
17834 | som_one_only_readonly_data_section and som_one_only_data_section. | |
17835 | * config/pa/pa.c (ONE_ONLY_TEXT_SECTION_ASM_OP, | |
17836 | NEW_TEXT_SECTION_ASM_OP, DEFAULT_TEXT_SECTION_ASM_OP): Delete | |
17837 | conditional defines. | |
17838 | (som_text_section_asm_op): Replace ONE_ONLY_TEXT_SECTION_ASM_OP, | |
17839 | NEW_TEXT_SECTION_ASM_OP and DEFAULT_TEXT_SECTION_ASM_OP with actual | |
17840 | string values. | |
17841 | (pa_select_section): Use renamed section functions. | |
17842 | * config/pa/pa.h (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS, | |
17843 | SOM_READONLY_DATA_SECTION_FUNCTION, | |
17844 | SOM_ONE_ONLY_READONLY_DATA_SECTION_FUNCTION, | |
17845 | SOM_ONE_ONLY_DATA_SECTION_FUNCTION, FORGET_SECTION_FUNCTION): | |
17846 | Define here ... | |
17847 | * config/pa/som.h: ... not here. | |
17848 | (DEFAULT_TEXT_SECTION_ASM_OP, NEW_TEXT_SECTION_ASM_OP, | |
17849 | ONE_ONLY_TEXT_SECTION_ASM_OP, READONLY_DATA_ASM_OP, | |
17850 | ONE_ONLY_READONLY_DATA_SECTION_ASM_OP, | |
17851 | ONE_ONLY_DATA_SECTION_ASM_OP): Delete. | |
17852 | (READONLY_DATA_SECTION): Use som_readonly_data_section. | |
17853 | ||
17854 | 2004-08-20 Nathan Sidwell <nathan@codesourcery.com> | |
17855 | ||
17856 | * fold-const.c (int_const_binop): Don't generate non-overflowing | |
17857 | size-types specially. | |
17858 | (fold_convert_const): Likewise. | |
17859 | ||
17860 | * stor-layout.c (initialize_sizetypes): Set SIZETYPE earlier, | |
17861 | clear cache on copied sizetype. | |
17862 | ||
17863 | 2004-08-20 Ben Elliston <bje@au.ibm.com> | |
17864 | ||
17865 | * configure.ac: Don't escape apostrophe in --enable-coverage help. | |
17866 | * configure: Regenerate. | |
17867 | ||
17868 | 2004-08-20 Danny Smith <dannysmith@users.sourceforge.net> | |
17869 | ||
17870 | PR 5620 | |
17871 | * gcc.c (struct stat input_stat): Don't define if | |
17872 | HOST_LACKS_INODE_NUMBERS | |
17873 | (do_spec_1): If HOST_LACKS_INODE_NUMBERS, use lrealpath rather | |
17874 | than stat to determine if temp file is same as input file. | |
17875 | * doc/hostconfig.texi: Document HOST_LACKS_INODE_NUMBERS. | |
17876 | * config/i386/xm-mingw32.h: Define HOST_LACKS_INODE_NUMBERS | |
17877 | ||
17878 | 2004-08-20 Richard Sandiford <rsandifo@redhat.com> | |
17879 | ||
17880 | * configure.ac (mips*-*-*): Print an error if not using GAS. | |
17881 | * configure: Regenerated. | |
17882 | * doc/install.texi: Remove irix5 bullet from --with-gnu-as. Remove | |
17883 | comments about buggy MIPSpro assemblers. | |
17884 | * config.gcc (mips-sgi-irix[56]*): Combine stanzas. Include elfos.h | |
17885 | before mips.h and iris.h after it. Use t-iris and t-slibgcc-irix. | |
17886 | Use iris5.h only for IRIX 5 configs. Use iris6.h and t-iris6 for | |
17887 | IRIX 6 configs. Define IRIX_USING_GNU_LD if using GNU ld. | |
17888 | * config/mips/iris5.h (TARGET_IRIX, SWITCHES_NEED_SPACES) | |
17889 | (DEFAULT_SIGNED_CHAR, WORD_SWITCH_TAKES_ARG, SUBTARGET_CC1_SPEC) | |
17890 | (NO_IMPLICIT_EXTERN_C, MIPS_DEFAULT_GVALUE) | |
17891 | (TARGET_ASM_EXTERNAL_LIBCALL): Move to iris.h. | |
17892 | (WCHAR_TYPE, WCHAR_TYPE_SIZE, TARGET_OS_CPP_BUILTINS): Delete in favor | |
17893 | of more general IRIX 6 definitions. | |
17894 | (OBJECT_FORMAT_ELF, ASM_OUTPUT_ASCII, ASM_WEAKEN_LABEL) | |
17895 | (HANDLE_SYSV_PRAGMA): Delete in favor of elfos.h definitions. | |
17896 | (TARGET_IRIX5, ABICALLS_ASM_OP, BSS_SECTION_ASM_OP, HAS_INIT_SECTION) | |
17897 | (LD_INIT_SWITCH, LD_FINI_SWITCH, SUBTARGET_ASM_OPTIMIZING_SPEC) | |
17898 | (ASM_FINAL_SPEC, DBX_DEBUGGING_INFO, MIPS_DEBUGGING_INFO) | |
17899 | (PREFERRED_DEBUGGING_TYPE, DWARF2_UNWIND_INFO, SET_FILE_NUMBER) | |
17900 | (LABEL_AFTER_LOC, DOLLARS_IN_IDENTIFIERS, NO_DOLLAR_IN_LABEL) | |
17901 | (TARGET_ASM_NAMED_SECTION, EXTRA_SECTION_FUNCTIONS) | |
17902 | (ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_WEAK_ALIAS) | |
17903 | (SUBTARGET_EXTRA_SPECS): Delete definitions or undefs. | |
17904 | (LINK_SPEC): Move most of definition to iris.h. | |
17905 | (SUBTARGET_LINK_SPEC): New macro. | |
17906 | (IRIX_STARTFILE_SPEC): Fold into... | |
17907 | (STARTFILE_SPEC): ...here. | |
17908 | (IRIX_ENDFILE_SPEC): Fold into... | |
17909 | (ENDFILE_SPEC): ...here. | |
17910 | * config/mips/iris6.h (TARGET_IRIX5): Remove override. | |
17911 | (WCHAR_TYPE, WCHAR_TYPE_SIZE, WINT_TYPE, WINT_TYPE_SIZE) | |
17912 | (DWARF_OFFSET_SIZE, DWARF_INITIAL_LENGTH_SIZE, SET_ASM_OP) | |
17913 | (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES, ASM_DECLARE_OBJECT_NAME) | |
17914 | (ASM_FINISH_DECLARE_OBJECT, LOCAL_LABEL_PREFIX): Move to iris.h. | |
17915 | (TARGET_OS_CPP_BUILTINS): Likewise. Guard IRIX6-specific bits. | |
17916 | (DWARF2_UNWIND_INFO, DWARF2_GENERATE_TEXT_SECTION_LABEL) | |
17917 | (SUBTARGET_CPP_SPEC, DWARF2_DEBUGGING_INFO, MIPS_DEBUGGING_INFO) | |
17918 | (PREFERRED_DEBUGGING_TYPE, DWARF2_FRAME_INFO, MD_EXEC_PREFIX) | |
17919 | (ASM_DECLARE_FUNCTION_NAME, ASM_DECLARE_FUNCTION_SIZE) | |
17920 | (FUNCTION_NAME_ALREADY_DECLARED, SUPPORTS_INIT_PRIORITY) | |
17921 | (POPSECTION_ASM_OP, SUBTARGET_ASM_SPEC, SUBTARGET_MIPS_AS_ASM_SPEC) | |
17922 | (SUBTARGET_ASM_DEBUGGING_SPEC, SUBTARGET_ASM_OPTIMIZING_SPEC) | |
17923 | (BSS_SECTION_ASM_OP*, READONLY_DATA_SECTION_ASM_OP*) | |
17924 | (EH_FRAME_SECTION_NAME, MUST_USE_SJLJ_EXCEPTIONS, CTORS_SECTION_ASM_OP) | |
17925 | (DTORS_SECTION_ASM_OP, TARGET_ASM_NAMED_SECTION, EH_FRAME_SECTION_NAME) | |
17926 | (ASM_OUTPUT_ALIGN, ASM_OUTPUT_FILENAME, ASM_OUTPUT_ALIGNED_LOCAL) | |
17927 | (ASM_OUTPUT_ALIGNED_BSS): Remove definitions or undefs. | |
17928 | (TARGET_IRIX6): Define to 1. | |
17929 | (DRIVER_SELF_SPECS): Define. | |
17930 | (DWARF2_FRAME_INFO): Define to 1 rather than !TARGET_SGI_O32_AS. | |
17931 | (SUBTARGET_CC1_SPEC): Remove in favor of DRIVER_SELF_SPECS. | |
17932 | (SUBTARGET_LINK_SPEC): New macro. | |
17933 | (IRIX_STARTFILE_SPEC): Fold into... | |
17934 | (STARTFILE_SPEC): ...here. Remove !mabi=* case. | |
17935 | (SUBTARGET_{,DONT_}WARN_UNUSED_SPEC): New macros. | |
17936 | (LIB_SPEC, LIBGCC_SPEC): Use them. | |
17937 | (LIB_SPEC): Remove !mabi=* case. | |
17938 | (IRIX_ENDFILE_SPEC): Fold into... | |
17939 | (ENDFILE_SPEC): ...here. Remove !mabi=* case. | |
17940 | * config/mips/mips-protos.h (irix_output_external_libcall): Delete. | |
17941 | * config/mips/mips.h (TARGET_IRIX5, TARGET_SGI_O32_AS): Delete. | |
17942 | (TARGET_IRIX6): New macro. | |
17943 | (ASM_ABI_DEFAULT_SPEC): Remove !ELF definition. | |
17944 | (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX, SET_FILE_NUMBER) | |
17945 | (LABEL_AFTER_LOC): Delete. | |
17946 | * config/mips/mips.c (TARGET_ASM_FILE_START, TARGET_ASM_FILE_END) | |
17947 | (TARGET_SECTION_TYPE_FLAGS): Remove TARGET_IRIX versions. | |
17948 | (mips_build_builtin_va_list): Check TARGET_IRIX6. | |
17949 | (override_options): Remove TARGET_SGI_O32_AS-related code. | |
17950 | (irix_output_external_libcall): Make static. | |
17951 | (mips_output_filename): Avoid use of SET_FILE_NUMBER and | |
17952 | LABEL_AFTER_LOC. | |
17953 | (mips_file_start): Tidy guard for ABI sections. Remove use of | |
17954 | ABICALLS_ASM_OP; use .abicalls instead. | |
17955 | (mips_output_aligned_decl_common, mips_declare_object_name) | |
17956 | (mips_finish_declare_object): Remove use of TARGET_SGI_O32_AS. | |
17957 | (mips_output_function_prologue): Set TREE_ASM_WRITTEN if emitting | |
17958 | .globl foo .text directives. | |
17959 | (irix_asm_named_section_1, irix_asm_named_section) | |
17960 | (irix_section_align_entry, irix_section_align_htab) | |
17961 | (irix_orig_asm_out_file, irix_section_align_entry_eq) | |
17962 | (irix_section_align_entry_hash, irix_asm_output_align) | |
17963 | (irix_file_start, irix_section_align_1, copy_file_data) | |
17964 | (irix_file_end, irix_section_type_flags): Delete. | |
17965 | * config/mips/irix-crti.asm (__gcc_init): Move to .gcc_init section. | |
17966 | Use standard section syntax. Remove protective "jr $31". | |
17967 | (__gcc_fini): Likewise .gcc_fini. | |
17968 | * config/mips/irix-crtn.asm: Adjust sections accordingly. | |
17969 | * config/mips/sdb.h (PUT_SDB_SIZE, PUT_SDB_TYPE): Moved from | |
17970 | iris5gas.h. | |
17971 | * config/mips/t-iris (irix-crti.o, irix-crtn.o): New rules, moved | |
17972 | from t-irix-gld. | |
17973 | (EXTRA_MULTILIB_PARTS): Define. | |
17974 | * config/mips/t-iris6: Remove bogus comment. | |
17975 | (EXTRA_MULTILIB_PARTS, CRTSTUFF_T_CFLAGS): Delete. | |
17976 | * config/mips/iris5gas.h, config/mips/iris5gld.h, | |
17977 | config/mips/iris6gas.h, config/mips/iris6gld.h, | |
17978 | config/mips/t-iris5-as, config/mips/t-iris5-gas | |
17979 | config/mips/t-irix-gld: Delete. | |
17980 | * config/mips/iris.h: New file. | |
17981 | * config/mips/t-slibgcc-irix: Renamed from t-iris5-6. | |
17982 | ||
17983 | 2004-08-20 Richard Earnshaw <rearnsha@arm.com> | |
17984 | ||
17985 | * postreload.c (reload_cse_move2add): Allow any condjump, but check | |
17986 | that the implicit set isn't clobbered in the jump insn. | |
17987 | ||
17988 | 2004-08-19 Mark Mitchell <mark@codesourcery.com> | |
17989 | ||
17990 | * defaults.h (TARGET_LIBGCC_LIBFUNCS): Remove. | |
17991 | * optabs.c (init_optabs): Don't check it. | |
17992 | * config/arm/bpabi.h (TARGET_LIBGCC_LIBFUNCS): Do not define. | |
17993 | * doc/tm.texi (TARGET_LIBGCC_FUNCS): Remove. | |
17994 | ||
17995 | 2004-08-18 Andreas Krebbel <krebbel1@de.ibm.com> | |
17996 | ||
17997 | * config/s390/s390.md (s390_warn_framesize_string) | |
17998 | (s390_warn_dynamic_string, s390_stack_size_string) | |
17999 | (s390_stack_guard_string): New global string variables. | |
18000 | (s390_warn_framesize, s390_warn_dynamicstack_p, s390_stack_size) | |
18001 | (s390_stack_guard): New global variables. | |
18002 | (override_options): Added checks for the new options. | |
18003 | (s390_emit_prologue): Emit stack check and trap code and perform | |
18004 | compile time stack size checking. | |
18005 | ||
18006 | * config/s390/s390.h (TARGET_OPTIONS): Added new options | |
18007 | "warn-framesize", "warn-dynamicstack", "stack-size" and | |
18008 | "stack-guard". | |
18009 | ||
18010 | * doc/invoke.texi: Added documentation for the new options. | |
18011 | ||
18012 | 2004-08-19 Ulrich Weigand <uweigand@de.ibm.com> | |
18013 | ||
18014 | * unwind-dw2-fde.c (get_cie_encoding): Cast argument to strlen | |
18015 | to eliminate warning. | |
18016 | (linear_search_fdes): Declare p as unsigned. | |
18017 | (binary_search_mixed_encoding_fdes): Likewise. | |
18018 | * unwind-dw2.c (get_cie_encoding): Cast argument to strlen | |
18019 | to eliminate warning. | |
18020 | * config/s390/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Add missing | |
18021 | type cast. | |
18022 | ||
18023 | 2004-08-19 Ulrich Weigand <uweigand@de.ibm.com> | |
18024 | ||
18025 | * config/s390/s390-protos.h (preferred_la_operand_p): Adapt prototype. | |
18026 | * config/s390/s390.c (preferred_la_operand_p): Accept two operands | |
18027 | instead of one. Check for strictly legitimate address. | |
18028 | * config/s390/s390.md ("*la_31"/"*la_64" peepholes): Adapt call | |
18029 | to preferred_la_operand_p, do not call gen_rtx_PLUS in predicate. | |
18030 | ||
18031 | 2004-08-19 Eric Christopher <echristo@redhat.com> | |
18032 | ||
18033 | * langhooks-def.h (LANG_HOOKS_UNSAVE_EXPR_NOW): Remove. | |
18034 | * langhooks.h (unsave_expr_now): Ditto. | |
18035 | * tree.h (unsave_expr_1): Remove prototype. | |
18036 | (lhd_unsave_expr_now): Rename to unsave_expr_now. | |
18037 | * tree-inline.c (unsave_expr_1): Move here | |
18038 | from tree.c. Make static. | |
18039 | (unsave_expr_now): Rename from lhd_unsave_expr_now. | |
18040 | * tree-sra.c: Fix up for rename. | |
18041 | * tree-ssa-copy.c: Ditto. | |
18042 | * tree-eh.c: Ditto. | |
18043 | * tree.c (unsave_expr_1): Move to tree-inline.c. | |
18044 | ||
18045 | 2004-08-19 Caroline Tice <ctice@apple.com> | |
18046 | ||
e8366202 | 18047 | * config/i386/cygming.h (switch_to_section): Fix typo (change |
7a4515d7 SB |
18048 | in_unlikely_text_section to in_unlikely_executed_text). |
18049 | ||
18050 | 2004-08-19 Daniel Berlin <dberlin@dberlin.org> | |
18051 | ||
18052 | * vec.h (VEC_lower_bound): New macro. | |
18053 | ||
18054 | 2004-08-19 Richard Sandiford <rsandifo@redhat.com> | |
18055 | ||
18056 | PR target/16446 | |
18057 | * config/mips/mips.c (struct mips_arg_info): Delete num_bytes. | |
18058 | (mips_arg_info): Update accordingly. Remove common treatment of fpr_p; | |
18059 | treat each ABI separately. Deal with n32/n64 complex float arguments. | |
18060 | (function_arg): Add associated complex handling here. | |
18061 | ||
18062 | 2004-08-19 Richard Henderson <rth@redhat.com> | |
18063 | ||
18064 | * config/arm/arm.c (arm_gen_load_multiple): Use | |
18065 | adjust_automodify_address. Take base memory and offset instead | |
18066 | of unchanging/struct/scalar bits. | |
18067 | (arm_gen_store_multiple): Likewise. | |
18068 | (arm_gen_movmemqi): Use adjust_automodify_address. | |
18069 | * config/arm/arm-protos.h: Update decls. | |
18070 | * config/arm/arm.md (load_multiple): Update arm_gen_load_multiple call. | |
18071 | (store_multiple): Similarly. | |
18072 | ||
18073 | 2004-08-19 J"orn Rennecke <joern.rennecke@superh.com> | |
18074 | ||
18075 | * regclass.c (globalize_reg): Update call_really_used_regs. | |
18076 | ||
18077 | 2004-08-19 Nathan Sidwell <nathan@codesourcery.com> | |
18078 | ||
18079 | * doc/invoke.texi (integer-share-limit): Document. | |
18080 | ||
18081 | * tree.h (TYPE_CACHED_VALUES_P): New. | |
18082 | (TYPE_CACHED_VALUES): New. | |
18083 | (TYPE_ORIG_SIZE_TYPE): Adjust. | |
18084 | * tree.def (INTEGER_CST): Update documentation. | |
18085 | * tree.c: Inlcude params.h. | |
18086 | (build_int_cst): Cache small values. | |
18087 | (build_type_copy): Do not copy the value cache. | |
18088 | * c-common.c (c_common_nodes_and_builtins): Add comment, remove | |
18089 | unneeded zeroing. | |
18090 | * c-typeck.c (build_c_cast): Add comment about OVERFLOW setting. | |
18091 | * expmed.c (const_mult_add_overflow_p): Clear type copy's value | |
18092 | cache. | |
18093 | * fold-const.c (force_fit_type): Copy value when setting | |
18094 | overflows. | |
18095 | (int_const_binop): Likewise. | |
18096 | * stor-layout.c: Include params.h | |
18097 | (set_sizetype): Create values cache. | |
18098 | (fixup_unsigned_type): Set UNSIGNED_P before caching any values. | |
18099 | * params.def (PARAM_INTEGER_SHARE_LIMIT): New. | |
18100 | * params.h (INTEGER_SHARE_LIMIT): New. | |
18101 | * Makefile.in (tree.o, stor-layout.o): Depend on PARAMS_H. | |
18102 | ||
18103 | 2004-08-19 Paolo Bonzini <bonzini@gnu.org> | |
18104 | ||
18105 | * gimplify.c (gimplify_minimax_expr): Remove. | |
18106 | (gimplify_expr) <MIN_EXPR, MAX_EXPR>: Remove special handling. | |
18107 | ||
18108 | 2004-08-19 Dorit Naishlos <dorit@il.ibm.com> | |
18109 | ||
18110 | * tree-vectorizer.c (vect_can_force_dr_alignment_p): Replace | |
18111 | STACK_BOUDARY with PREFERRED_STACK_BOUNDARY. | |
18112 | ||
18113 | 2004-08-19 Mark Mitchell <mark@codesourcery.com> | |
18114 | ||
18115 | * bpabi.h (FPUTYPE_DEFAULT): Set it to FPUTYPE_VFP. | |
18116 | ||
18117 | 2004-08-18 Andrew Pinski <apinski@apple.com> | |
18118 | ||
18119 | * varasm.c (ecode_reg_name): Do nothing if the asmspec is empty. | |
18120 | ||
18121 | 2004-08-18 Mark Mitchell <mark@codesourcery.com> | |
18122 | ||
18123 | * config/arm/bpabi.c (__aeabi_ul2d): Give it default visibility. | |
18124 | (__aeabi_ul2f): Likewise. | |
18125 | ||
18126 | 2004-08-18 Richard Henderson <rth@redhat.com> | |
18127 | ||
18128 | * config/xtensa/xtensa.c (xtensa_expand_block_move): Expand block | |
18129 | move to rtl completely. | |
18130 | (struct meminsnbuf, xtensa_emit_block_move): Remove. | |
18131 | (xtensa_find_mode_for_size): Remove. | |
18132 | * config/xtensa/xtensa-protos.h (xtensa_emit_block_move): Remove. | |
18133 | * config/xtensa/xtensa.md (movmemsi_internal): Remove. | |
18134 | ||
18135 | 2004-08-18 Richard Henderson <rth@redhat.com> | |
18136 | ||
18137 | * config/mcore/mcore.c (mode_from_align): Remove DImode. | |
18138 | (block_move_sequence): Rewrite to use adjust_address. | |
18139 | (mcore_expand_block_move): Cleanup logic. Accept only operands. | |
18140 | Return boolean indicating success/failure. | |
18141 | * config/mcore/mcore-protos.h (mcore_expand_block_move): Update decl. | |
18142 | * config/mcore/mcore.md (movmemsi): Update to match. | |
18143 | ||
18144 | 2004-08-18 Mike Stump <mrs@apple.com> | |
18145 | ||
18146 | * doc/invoke.texi (-mfix-and-continue): Add support for | |
18147 | fast turn around debugging. | |
18148 | (-ffix-and-continue): Likewise. | |
18149 | (-mindirect-data): Likewise. | |
18150 | (-findirect-data): Likewise. | |
18151 | * config/darwin.c (TARGET_FIX_AND_CONTINUE): Likewise. | |
18152 | (indirect_data): Likewise. | |
18153 | (machopic_data_defined_p): Likewise. | |
18154 | (machopic_output_indirection): Likewise. | |
18155 | (darwin_encode_section_info): Likewise. | |
18156 | (darwin_fix_and_continue): Likewise. | |
18157 | (darwin_fix_and_continue_switch): Likewise. | |
18158 | * config/darwin.h (MACHO_SYMBOL_STATIC): Likewise. | |
18159 | * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Likewise. | |
18160 | (SUBTARGET_OPTION_TRANSLATE_TABLE): Likewise. | |
18161 | (SUBTARGET_OPTIONS): Likewise. | |
18162 | (darwin_fix_and_continue): Likewise. | |
18163 | (darwin_fix_and_continue_switch): Likewise. | |
18164 | (TARGET_FIX_AND_CONTINUE): Likewise. | |
18165 | * config/rs6000.c (rs6000_emit_prologue): Likewise. | |
18166 | ||
18167 | 2004-08-19 Steven Bosscher <stevenb@suse.de> | |
18168 | ||
18169 | * basic-block.h (struct edge_def): Remove crossing_edge. | |
18170 | (EDGE_CROSSING): New define. | |
18171 | (EDGE_ALL_FLAGS): Update. | |
18172 | * bb-reorder.c (find_traces_1_round, better_edge_p, | |
18173 | find_rarely_executed_basic_blocks_and_cr, fix_up_fall_thru_edges, | |
18174 | find_jump_block, fix_crossing_conditional_branches, | |
18175 | fix_crossing_unconditional_branches, add_reg_crossing_jump_notes): | |
18176 | Replace all occurences of crossing_edge with an edge flag check | |
18177 | or set/reset. | |
18178 | * cfgcleanup.c (try_simplify_condjump, try_forward_edges, | |
18179 | try_crossjump_bb): Likewise. | |
18180 | * cfglayout.c (fixup_reorder_chain): Likewise. | |
18181 | * cfgrtl.c (force_nonfallthru_and_redirect, | |
18182 | commit_one_edge_insertion): Likewise. | |
18183 | ||
18184 | * Makefile.in (cfganal.o): Depend on TIMEVAR_H. | |
18185 | * tree-flow.h (compute_dominance_frontiers): Move prototype... | |
e8366202 | 18186 | * basic-block.h: ...here. |
7a4515d7 SB |
18187 | * tree-cfg.c (compute_dominance_frontiers_1, |
18188 | compute_dominance_frontiers): Move from here... | |
18189 | * cfganal.c: ...to here. Include timevar.h. | |
18190 | ||
18191 | 2004-08-18 James E Wilson <wilson@specifixinc.com> | |
18192 | ||
18193 | * config/mips/mips.h (ASM_SPEC): In comment, change -meabi= to -mabi=. | |
18194 | * config/mips/sb1.md (ir_sb1_divsf_1pipe): Renamed from ...1pipes. | |
18195 | ||
18196 | * config/mips/mips.md (type): Add frdiv. | |
18197 | (divsf3+1, divsf3+2): Change type to frdiv. | |
18198 | * config/mips/sb1.md (ir_sb1_recipsf_2pipes, ir_sb1_recipsf_1pipe, | |
18199 | ir_sb1_recipdf_2pipes, ir_sb1_recipdf_1pipe): New. | |
18200 | ||
18201 | * config/mips/3000.md (r3k_fdiv_single, r3k_fdiv_double): Add frdiv. | |
18202 | * config/mips/4300.md (r4300_fdiv_single, r4300_fdiv_double): Likewise. | |
18203 | * config/mips/4600.md (r4600_fdiv_single, f4600_fdiv_double): Likewise. | |
18204 | * config/mips/5000.md (r5k_fdiv_single): Likewise. | |
18205 | * config/mips/5400.md (ir_vr54_fdiv_sf, ir_vr54_fdiv_df): Likewise. | |
18206 | * config/mips/5500.md (ir_vr55_fdiv_sf, ir_vr55_fdiv_df): Likewise. | |
18207 | * config/mips/6000.md (r6k_fdiv_single, r6k_fdiv_double): Likewise. | |
18208 | * config/mips/7000.md (rm7_fp_divsqrt_df, rm7_fp_divsqrt_sf): Likewise. | |
18209 | * config/mips/9000.md (rm8k_fdivs, rm9k_fdivd): Likewise. | |
18210 | * config/mips/generic.md (generic_fdiv_single, generic_fdiv_double): | |
18211 | Likewise. | |
18212 | * config/mips/sr71k.md (ir_sr70_fdiv_sf, ir_sr70_fdiv_df): Likewise. | |
18213 | ||
18214 | 2004-08-18 Robert Bowdidge <bowdidge@apple.com> | |
18215 | ||
18216 | * config/rs6000/x-darwin: Remove XCFLAGS -mdynamic-no-pic to | |
18217 | get regression tester working again. | |
18218 | ||
18219 | 2004-08-18 Zack Weinberg <zack@codesourcery.com> | |
18220 | ||
18221 | * insn-notes.def, reg-notes.def: New files. | |
18222 | * rtl.h: Use them to define enum insn_note and enum reg_note. | |
18223 | * rtl.c: Use them to define note_insn_name and reg_note_name. | |
18224 | * Makefile.in (RTL_BASE_H): Update. | |
18225 | ||
18226 | * modulo-sched.c, sched-rgn.c, final.c: NOTE_DISABLE_SCHED_OF_BLOCK | |
18227 | renamed to NOTE_INSN_DISABLE_SCHED_OF_BLOCK. | |
18228 | ||
18229 | 2004-08-18 Richard Earnshaw <rearnsha@arm.com> | |
18230 | ||
18231 | * arm.c (arm_size_rtx_costs): New function. | |
18232 | (arm_override_options): Use it if optimizing for space. | |
18233 | ||
18234 | 2004-08-18 Richard Henderson <rth@redhat.com> | |
18235 | ||
18236 | * emit-rtl.c (gen_const_mem): New. | |
18237 | * rtl.h (gen_const_mem): Declare. | |
18238 | * expr.c (do_tablejump): Use it. | |
18239 | * varasm.c (force_const_mem): Likewise. | |
18240 | * config/darwin.c (machopic_indirect_data_reference): Likewise. | |
18241 | (machopic_legitimize_pic_address): Likewise. | |
18242 | * config/arm/arm.c (legitimize_pic_address): Likewise. | |
18243 | * config/i386/i386.c (legitimize_pic_address): Likewise. | |
18244 | (legitimize_tls_address): Likewise. | |
18245 | * config/ia64/ia64.c (ia64_expand_tls_address): Likewise. | |
18246 | * config/ia64/ia64.md (load_fptr): Likewise. | |
18247 | * config/m32r/m32r.c (m32r_legitimize_pic_address): Likewise. | |
18248 | * config/pa/pa.c (legitimize_pic_address): Likewise. | |
18249 | * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Likewise. | |
18250 | (rs6000_emit_move): Likewise. | |
18251 | * config/s390/s390.c (legitimize_pic_address): Likewise. | |
18252 | (legitimize_tls_address): Likewise. | |
18253 | * config/s390/s390.md (casesi): Likewise. | |
18254 | * config/sh/sh.c (sh_reorg): Likewise. | |
18255 | * config/sparc/sparc.c (legitimize_pic_address): Likewise. | |
18256 | * config/v850/v850.md (casesi): Likewise. | |
18257 | ||
18258 | * config/darwin.c (machopic_indirect_call_target): Set MEM_NOTRAP_P. | |
18259 | * config/sh/sh.c (prepare_move_operands): Remove incorrect | |
18260 | use of MEM_READONLY_P. | |
18261 | ||
18262 | 2004-08-18 Steven Bosscher <stevenb@suse.de> | |
18263 | ||
18264 | * Makefile.in (OBJS-common): Add postreload-gcse.c. | |
18265 | Add new postreload-gcse.o. | |
18266 | * cse.c (SAFE_HASH): Define as wrapper around safe_hash. | |
18267 | (lookup_as_function, insert, rehash_using_reg, use_related_value, | |
18268 | equiv_constant): Use SAFE_HASH instead of safe_hash. | |
18269 | (exp_equiv_p): Export. Add for_gcse argument when comparing | |
18270 | for GCSE. | |
18271 | (lookup, lookup_for_remove, merge_equiv_classes, find_best_addr, | |
18272 | find_comparison_args, fold_rtx, cse_insn): Update callers. | |
18273 | (hash_rtx): New function derived from old canon_hash and bits | |
18274 | from gcse.c hash_expr_1. | |
18275 | (canon_hash_string): Rename to hash_rtx_string. | |
18276 | (canon_hash, safe_hash): Make static inline. Call hash_rtx. | |
18277 | * cselib.c (hash_rtx): Rename to cselib_hash_rtx. | |
18278 | (cselib_lookup): Update this caller. | |
18279 | * gcse.c (modify_mem_list_set, canon_modify_mem_list_set): | |
18280 | Make static. | |
18281 | (hash_expr): Call hash_rtx. | |
18282 | (ldst_entry): Likewise. | |
18283 | (expr_equiv_p): Call exp_equiv_p. | |
18284 | (struct unoccr, hash_expr_1, hash_string_1, lookup_expr, | |
18285 | reg_used_on_edge, reg_set_between_after_reload_p, | |
18286 | reg_used_between_after_reload_p, get_avail_load_store_reg, | |
18287 | is_jump_table_basic_block, bb_has_well_behaved_predecessors, | |
18288 | get_bb_avail_insn, hash_scan_set_after_reload, | |
18289 | compute_hash_table_after_reload, | |
18290 | eliminate_partially_redundant_loads, gcse_after_reload, | |
18291 | get_bb_avail_insn, gcse_after_reload_main): Remove. | |
18292 | * postreload-gcse.c: New file, reincarnating most of the above. | |
18293 | * rtl.h (exp_equiv_p, hash_rtx): New prototypes. | |
18294 | (gcse_after_reload_main): Update prototype. | |
18295 | * timevar.def (TV_GCSE_AFTER_RELOAD): New timevar. | |
18296 | * passes.c (rest_of_handle_gcse2): Use it. | |
18297 | ||
18298 | 2004-08-18 Diego Novillo <dnovillo@redhat.com> | |
18299 | ||
18300 | * tree-ssa-loop.c (pass_loop_init): Add TODO_dump_func. | |
18301 | (pass_loop_done): Likewise. | |
18302 | ||
18303 | 2004-08-18 Andrew Pinski <apinski@apple.com> | |
18304 | ||
18305 | * config/rs6000/darwin.md: Delete the altivec patterns which are | |
18306 | handled differently now. | |
18307 | (load_macho_picbase_di): Make sure that is only happens for TARGET_64BIT | |
18308 | (macho_correct_pic_di): Likewise. | |
18309 | (call_indirect_nonlocal_darwin64): Likewise. | |
18310 | Delete the save world/saveFP/saveVec patterns. | |
18311 | ||
18312 | Revert the reversion of: 2004-08-16 Stan Shebs <shebs@apple.com> | |
18313 | * config/darwin.c (macho_indirect_data_reference): Add DImode case. | |
18314 | * config/rs6000/rs6000.md: Include darwin.md. | |
18315 | (builtin_setjmp_receiver): Add DImode case. | |
18316 | * config/rs6000/rs6000.c (rs6000_emit_move): Add DImode case to | |
18317 | Darwin bits. | |
18318 | ||
18319 | 2004-08-18 Matt Austern <austern@apple.com> | |
18320 | ||
18321 | Dead code stripping | |
18322 | * darwin.h (EH_FRAME_SECTION_ATTR): Mark so it doesn't get stripped. | |
18323 | * darwin.c (darwin_file_end): Mark file as potentially strippable. | |
18324 | ||
18325 | 2004-08-18 Richard Henderson <rth@redhat.com> | |
18326 | ||
18327 | * alias.c (readonly_fields_p): Remove. | |
18328 | (objects_must_conflict_p): Don't call it. | |
18329 | * tree.h (readonly_fields_p): Remove. | |
18330 | * langhooks.h (struct lang_hooks): Remove honor_readonly. | |
18331 | * langhooks-def.h (LANG_HOOKS_HONOR_READONLY): Remove. | |
18332 | ||
18333 | 2004-08-18 Diego Novillo <dnovillo@redhat.com> | |
18334 | ||
18335 | * tree-dfa.c (add_referenced_var): Only global variables are | |
18336 | call-clobbered. | |
18337 | * tree-flow.h (struct ptr_info_def): Add field pt_global_mem. | |
18338 | * tree-ssa-alias.c (compute_points_to_and_addr_escape): Mark | |
18339 | all pointers dereferenced if the statement dereferences them. | |
18340 | (create_name_tags): Do not create memory tags for pointers | |
18341 | that have PT_ANYTHING set. | |
18342 | Also check if PT_VARS is not empty before creating a name tag. | |
18343 | (compute_flow_sensitive_aliasing): Don't mark call-clobbered | |
18344 | variables that share the same alias set with a pointer that | |
18345 | may point anywhere. | |
18346 | (add_may_alias): Add FIXME comment to remove clobbering | |
18347 | aliased variables and tags. | |
18348 | (replace_may_alias): Likewise. | |
18349 | (set_pt_anything): Do not clear PT_VARS nor IS_DEREFERENCED. | |
18350 | (merge_pointed_to_info): If the original variable has not | |
18351 | points-to information, call set_pt_anything. | |
18352 | (add_pointed_to_var): Do not prevent adding a pointed-to | |
18353 | variable if the pointers is PT_ANYTHING. | |
18354 | If the variable is a global, set PT_GLOBAL_MEM. | |
18355 | (collect_points_to_info_r): Don't assume that PLUS_EXPRs of | |
18356 | pointer type only come in PTR+OFFSET flavours. | |
18357 | Always call merge_pointed_to_info on PHI arguments that are | |
18358 | SSA_NAMEs. | |
18359 | (get_nmt_for): Mark call-clobbered tags whose pointer points | |
18360 | to global memory. | |
18361 | * tree-ssa-operands.c (opf_kill_def, opf_no_vops): Switch | |
18362 | values. | |
18363 | (get_indirect_ref_operands): Always clear OPF_KILL_DEF from | |
18364 | FLAGS. | |
18365 | (add_stmt_operand): Abort if the caller tried to add a killing | |
18366 | definition for a memory tag. | |
18367 | * tree-ssa.c (verify_flow_sensitive_alias_info): Remove | |
18368 | unnecessary checks. | |
18369 | ||
18370 | 2004-08-18 J"orn Rennecke <joern.rennecke@superh.com> | |
18371 | ||
18372 | * sh.h (CONDITIONAL_REGISTER_USAGE): Don't exclude fixed registers | |
18373 | from call_used_regs. Update call_really_used_regs. | |
18374 | (CALL_REALLY_USED_REGISTERS): Define. | |
18375 | * sh.c (output_stack_adjust, shmedia_target_regs_stack_space): | |
18376 | Replace call_used_regs with call_really_used_regs. | |
18377 | (calc_live_regs, sh_media_register_for_return): Likewise. | |
18378 | (sh5_schedule_saves, sh_expand_prologue, reg_unused_after): Likewise. | |
18379 | * sh.md (return_media): Likewise. | |
18380 | ||
18381 | 2004-08-18 Andrew Pinski <apinski@apple.com> | |
18382 | ||
18383 | * config/darwin.c (machopic_legitimize_pic_address): Only set | |
18384 | MEM_READONLY_P in the non TARGET_TOC case. | |
18385 | ||
18386 | 2004-08-18 Zack Weinberg <zack@codesourcery.com> | |
18387 | ||
18388 | * rtl.def (NIL): Delete. | |
18389 | * read-rtl.c (read_rtx): Handle (nil) like (define_constants). | |
18390 | Tighten the syntax a little. | |
18391 | ||
18392 | * cfgloop.h, combine.c, cse.c, loop-iv.c, postreload.c, reload.c | |
18393 | * config/alpha/alpha.c, config/alpha/alpha.h, config/arc/arc.h | |
18394 | * config/arm/arm.h, config/frv/frv.h, config/i386/i386.c | |
18395 | * config/i386/predicates.md, config/m32r/m32r.h | |
18396 | * config/m68hc11/m68hc11.c, config/mcore/mcore.h, config/mips/mips.c | |
18397 | * config/mmix/mmix.c, config/pa/pa.h, config/sh/sh.h | |
18398 | * config/sparc/sparc.h, doc/tm.texi: | |
18399 | Replace all occurrences of NIL with UNKNOWN. | |
18400 | ||
18401 | 2004-08-18 Zack Weinberg <zack@codesourcery.com> | |
18402 | ||
18403 | * dojump.c (do_jump <unordered_bcc>): Do not recursively call | |
18404 | self with a TRUTH_ORIF_EXPR; generate the appropriate jump | |
18405 | sequence inline. Move drop_through_label code into this | |
18406 | block, being the only place it is used. Adjust comments. | |
18407 | ||
18408 | 2004-08-18 Fariborz Jahanian <fjahanian@apple.com> | |
18409 | ||
18410 | * config/rs6000/altivec.md: Add new patterns for calls to | |
18411 | save_world/rest_world functions. | |
18412 | ||
18413 | * config/rs6000/rs6000-protos.h: (save_world_operation, | |
18414 | restore_world_operation) new declarations. | |
18415 | ||
18416 | * config/rs6000/rs6000.c: (struct rs6000_stack) new world_save_p | |
18417 | field added. | |
18418 | (rs6000_stack_info): Set world_save_p field. | |
18419 | (save_world_operation): New function. | |
18420 | (restore_world_operation): New function. | |
18421 | (compute_save_world_info): New function. | |
18422 | (rs6000_stack_info): Call compute_save_world_info. | |
18423 | (rs6000_emit_prologue): Check for world_save_p and generate | |
18424 | pattern to call save_world for saving all non-volatile and | |
18425 | special registers. | |
18426 | (rs6000_emit_epilogue): Check for world_save_p and generate | |
18427 | pattern to call rest_world to restore saved registers. | |
18428 | ||
18429 | config/rs6000/rs6000.h: macros FIRST_SAVED_ALTIVEC_REGNO, | |
18430 | FIRST_SAVED_FP_REGNO, FIRST_SAVED_GP_REGNO defined. | |
18431 | (rs6000_reg_names): New entries added for save_world_operation and | |
18432 | restore_world_operation. | |
18433 | ||
18434 | 2004-08-18 Caroline Tice <ctice@apple.com> | |
18435 | ||
18436 | * Makefile.in (STAGEFEEDBACK_FLAGS_TO_PASS) Add | |
18437 | "-freorder-blocks-and-partition" to the flags used in second | |
18438 | stage of profiledbootstrap. | |
18439 | * bb-reorder.c (push_to_next_round_p): Add new variable, | |
18440 | next_round_is_last; set and use variable to make sure, when | |
18441 | partitioning, that the last trace construction round consists | |
18442 | of all (and only) cold basic blocks. | |
18443 | (rotate_loop): Don't copy blocks that end in a section | |
18444 | crossing jump. | |
18445 | (copy_bb): Correctly initialize "partition" of duplicated bb. | |
18446 | (add_unlikely_executed_notes): Add a comment. | |
18447 | (find_rarely_executed_basic_blocks_and_crossing_edges): Modify | |
18448 | to make sure, if function contains hot blocks, that the | |
18449 | successors of ENTRY_BLOCK_PTR are hot; also, only look for | |
18450 | crossing edges if the architecture supports named sections. | |
18451 | (mark_bb_for_unlikely_executed_section): Modify to always | |
18452 | insert the NOTE_INSN_UNLIKELY_EXECUTED_CODE immediately after | |
18453 | the basic block note insn. | |
18454 | (fix_crossing_unconditional_branches): Remove extra space. | |
18455 | (fix_edges_for_rarely_executed_code): Modify to only do | |
18456 | partitioning work if the architecture supports named sections. | |
18457 | (reorder_basic_blocks): Modify to only add | |
18458 | NOTE_INSN_UNLIKELY_EXECUTED_CODE notes if the architecture | |
18459 | supports named sections. | |
18460 | * c-common.c (handle_section_attribute): Initialize new global | |
18461 | variable, user_defined_section_attribute, to true if user has | |
18462 | specified one. | |
18463 | * cfgcleanup.c (try_forward_edges): Modify to not attempt to | |
18464 | forward edges that cross section boundaries. | |
18465 | * cfglayout.c (fixup_reorder_chain): Modify to only fix up | |
18466 | partitioning information if the architecture supports named | |
18467 | sections. | |
18468 | * cfgrtl.c (target.h): Add statement to include this. | |
18469 | (rtl_split_block): Make sure newly created bb gets correct | |
18470 | partition. | |
18471 | (try_redirect_by_replacing_jump): Make sure redirection isn't | |
18472 | attempting to cross section boundaries. | |
18473 | (force_nonfallthru_and_redirect): Only do partition fix up if | |
18474 | architecture supports named sections. | |
18475 | (rtl_split_edge): Make sure newly created bb ends up in | |
18476 | correct partition. | |
18477 | (commit_one_edge_insertion): Remove code that incorrectly | |
18478 | updated basic block partition; Make sure partition fix up only | |
18479 | happens if architecture supports named sections and it's not | |
18480 | already done. | |
18481 | (rtl_verify_flow_info_1): Fix if-condition on test/error | |
18482 | condition that fallthru edges are not allowed to cross section | |
18483 | boundaries. | |
18484 | * defaults.h (NORMAL_TEXT_SECTION_NAME): Remove this. | |
18485 | * final.c (final_scan_insn): Remove redundant test from if-statement; | |
18486 | change calls to text_section into calls to function_section; add code | |
18487 | to only to partitioning fix up if architecture supports named | |
18488 | sections. | |
18489 | * ifcvt.c (find_if_case_1): Make sure newly created bb has correct | |
18490 | partition. | |
18491 | (if_convert): Add targetm.have_named_sections to test. | |
18492 | * output.h (unlikely_section_label): Extern declaration for new global | |
18493 | variable. | |
18494 | (unlikely_text_section_name): Likewise. | |
18495 | * opts.c (decode_options): If both partitioning and DWARF debugging | |
18496 | are turned on, issue a warning that this doesn't work, and change | |
18497 | partitiong to basic block reordering (without hot/cold partitions). | |
18498 | * passes.c (rest_of_handle_final): Re-set new global variable, | |
18499 | user_defined_section_attribute, to false. | |
18500 | (rest_of_compilation): Change options for calling partitioning | |
18501 | function: Don't call if the user defined the section attribute, and | |
18502 | don't call if DECL_ONE_ONLY is true for the current function. | |
18503 | * predict.c (choose_function_section): Return immediately if we | |
18504 | are doing hot/cold partitioning (i.e. let the basic block partitioning | |
18505 | determine where the function belongs). | |
18506 | * reg-stack.c (emit_swap_insn): Add condition to step over | |
18507 | NOTE_INSN_UNLIKELY_EXECUTED_CODE notes. | |
18508 | * toplev.c (user_defined_section_attribute): New global variable. | |
18509 | * toplev.h (user_defined_section_attribute): Extern declaration | |
18510 | for new global variable. | |
18511 | * varasm.c (unlikely_section_label): New global variable. | |
18512 | (unlikely_text_section_name): New global variable. | |
18513 | (unlikely_text_section): Add code to initialize | |
18514 | unlikely_text_section_name if necessary; modify to use | |
18515 | unlikely_text_section_name and unlikely_section_label; also to use | |
18516 | named_section properly. | |
e8366202 | 18517 | (in_unlikely_text_section): Modify to work correctly with |
7a4515d7 | 18518 | named_section and to use unlikely_text_section_name. |
e8366202 | 18519 | (named_section): Add code to work properly with cold section. |
7a4515d7 SB |
18520 | (function_section): Clean up if-statement. |
18521 | * config/darwin.c (darwin_asm_named_section): Return to original | |
18522 | code, removing use of SECTION_FORMAT_STRING. | |
e8366202 | 18523 | * config/arm/pe.h (switch_to_section): Add case for |
7a4515d7 SB |
18524 | in_unlikely_executed_text to switch statement. |
18525 | * config/i386/cygming.h (switch_to_section): Likewise. | |
18526 | * config/i386/darwin.h (NORMAL_TEXT_SECTION_NAME): Remove. | |
18527 | (SECTION_FORMAT_STRING): Likewise. | |
18528 | * config/mcore/mcore.h (switch_to_section): Likewise. | |
18529 | * config/rs6000/darwin.h (NORMAL_TEXT_SECTION_NAME): Remove. | |
18530 | (SECTION_FORMAT_STRING): Remove. | |
18531 | ||
18532 | 2004-08-18 Roger Sayle <roger@eyesopen.com> | |
18533 | ||
18534 | * config/i386/i386.h (FIXED_REGISTERS): Update encoding to be | |
18535 | -ffixed-reg safe, by preserving the meanings of zero and one. | |
18536 | (CALL_USED_REGISTERS): Likewise. | |
18537 | (CONDITIONAL_REGISTER_USAGE): Update to process new encodings. | |
18538 | ||
18539 | 2004-08-18 Kaz Kojima <kkojima@gcc.gnu.org> | |
18540 | ||
18541 | * config/sh/sh.c (split_branches): Check the result of | |
18542 | next_active_insn. | |
18543 | (sh_output_mi_thunk): Call init_flow if basic_block_info is null. | |
18544 | Call rtl_register_cfg_hooks. | |
18545 | ||
18546 | 2004-08-18 Richard Henderson <rth@redhat.com> | |
18547 | ||
18548 | * rtl.h (MEM_READONLY_P): Replace RTX_UNCHANGING_P. | |
18549 | * alias.c (true_dependence): Update to match new semantics. | |
18550 | (canon_true_dependence, write_dependence_p): Likewise. | |
18551 | (anti_dependence, output_dependence): Update write_dependence_p args. | |
18552 | (unchanging_anti_dependence): Remove. | |
18553 | * calls.c (purge_mem_unchanging_flag): Remove. | |
18554 | (fixup_tail_calls): Don't call it. | |
18555 | (expand_call): Don't add unchanging memory to function usage. | |
18556 | * expr.c (emit_block_move_via_libcall): Likewise. | |
18557 | (clear_storage_via_libcall): Don't clobber RTX_UNCHANGING_P mems. | |
18558 | (get_subtarget): Don't use RTX_UNCHANGING_P. | |
18559 | (expand_assignment, store_constructor, expand_expr_real_1): Likewise. | |
18560 | (do_tablejump): Set MEM_READONLY_P, not RTX_UNCHANGING_P. | |
18561 | * combine.c (get_last_value_validate): Use MEM_READONLY_P. | |
18562 | * cse.c (insert): Don't use RTX_UNCHANGING_P. | |
18563 | (cse_insn, canon_hash): Use MEM_READONLY_P. | |
18564 | * emit-rtl.c (set_mem_attributes_minus_bitpos): Use MEM_READONLY_P | |
18565 | instead of RTX_UNCHANGING_P. | |
18566 | * explow.c (maybe_set_unchanging): Remove. | |
18567 | * expr.h (maybe_set_unchanging): Remove. | |
18568 | * flow.c (insn_dead_p, mark_used_regs): Use anti_dependence. | |
18569 | * function.c (assign_stack_temp_for_type): Don't use RTX_UNCHANGING_P. | |
18570 | (assign_parm_setup_reg, expand_function_start): Likewise. | |
18571 | * integrate.c (copy_rtx_and_substitute): Likewise. | |
18572 | * ra-rewrite.c (emit_colors): Likewise. | |
18573 | * regmove.c (copy_src_to_dest, regmove_optimize): Likewise. | |
18574 | (fixup_match_1): Likewise. | |
18575 | * reload1.c (reload, alter_reg): Likewise. | |
18576 | * local-alloc.c (validate_equiv_mem): Check MEM_READONLY_P, | |
18577 | not RTX_UNCHANGING_P. | |
18578 | (equiv_init_varies_p): Likewise. | |
18579 | * loop-invariant.c (check_maybe_invariant): Likewise. | |
18580 | * resource.c (mark_referenced_resources, mark_set_resources): Likewise. | |
18581 | * loop.c (note_addr_stored): Likewise. | |
18582 | (prescan_loop): Likewise. Don't check function usage for clobbered | |
18583 | unchanging memory. | |
18584 | * rtlanal.c (rtx_unstable_p): Check MEM_READONLY_P, | |
18585 | not RTX_UNCHANGING_P. | |
18586 | (rtx_varies_p, modified_between_p, modified_in_p): Likewise. | |
18587 | * varasm.c (force_const_mem): Likewise. | |
18588 | * stmt.c (expand_decl): Don't set RTX_UNCHANGING_P. | |
18589 | * web.c (entry_register): Likewise. | |
18590 | * tree-gimple.h (get_base_address): Move decl ... | |
18591 | * tree.h: ... here. | |
18592 | * doc/rtl.texi (MEM_READONLY_P): Replace RTX_UNCHANGING_P. | |
18593 | ||
18594 | * config/alpha/alpha.c (alpha_set_memflags_1): Rewrite to be | |
18595 | called via for_each_rtx. Copy MEM_SCALAR_P, MEM_NOTRAP_P too. | |
18596 | (alpha_set_memflags): Update to match. | |
18597 | ||
18598 | * config/darwin.c (machopic_indirect_data_reference): Set | |
18599 | MEM_READONLY_P instead of RTX_UNCHANGING_P. | |
18600 | (machopic_indirect_call_target): Likewise. | |
18601 | (machopic_legitimize_pic_address): Likewise. | |
18602 | * config/arm/arm.c (legitimize_pic_address, arm_gen_load_multiple, | |
18603 | arm_gen_store_multiple, arm_gen_movmemqi): Likewise. | |
18604 | * config/arm/arm.md (load_multiple, store_multiple): Likewise. | |
18605 | * config/frv/frv.md (symGOT2reg): Likewise. | |
18606 | * config/i386/i386.c (legitimize_pic_address, | |
18607 | legitimize_tls_address, ix86_split_to_parts): Likewise. | |
18608 | * config/ia64/ia64.c (ia64_expand_tls_address): Likewise. | |
18609 | * config/ia64/ia64.md (load_fptr): Likewise. | |
18610 | * config/m32r/m32r.c (m32r_legitimize_pic_address): Likewise. | |
18611 | * config/m68k/m68k.c (legitimize_pic_address): Likewise. | |
18612 | * config/mcore/mcore.c (block_move_sequence): Likewise. | |
18613 | * config/mn10300/mn10300.md (symGOT2reg): Likewise. | |
18614 | * config/pa/pa.c (legitimize_pic_address): Likewise. | |
18615 | * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Likewise. | |
18616 | (rs6000_emit_move): Likewise. | |
18617 | * config/s390/s390.c (legitimize_pic_address): Likewise. | |
18618 | (legitimize_tls_address): Likewise. | |
18619 | * config/s390/s390.md (casesi): Likewise. | |
18620 | * config/sh/sh.c (prepare_move_operands, sh_reorg): Likewise. | |
18621 | * config/sh/sh.md (symGOT2reg): Likewise. | |
18622 | * config/sparc/sparc.c (legitimize_pic_address): Likewise. | |
18623 | * config/v850/v850.md (casesi): Likewise. | |
18624 | ||
18625 | * config/ia64/ia64.c (gen_thread_pointer): Don't set RTX_UNCHANGING_P. | |
18626 | * config/iq2000/iq2000.c (save_restore_insns): Likewise. | |
18627 | * config/mips/mips.c (mips_restore_gp): Likewise. | |
18628 | (mips_save_restore_reg, mips16_gp_pseudo_reg): Likewise. | |
18629 | * config/sh/sh.c (sh_reorg): Likewise. | |
18630 | ||
18631 | 2004-08-18 Richard Henderson <rth@redhat.com> | |
18632 | ||
18633 | * tree.h (struct tree_decl): Add gimple_formal_temp. | |
18634 | (DECL_GIMPLE_FORMAL_TEMP_P): New. | |
18635 | * gimplify.c (pop_gimplify_context): Clear it. | |
18636 | (lookup_tmp_var): Set it, if is_formal. | |
18637 | (gimplify_init_constructor): Use rhs_predicate_for for COMPLEX. | |
18638 | Use is_gimple_val for VECTOR. Simplify return value. | |
18639 | (gimplify_save_expr): Use and set DECL_GIMPLE_FORMAL_TEMP_P. | |
18640 | (gimplify_expr): Likewise. | |
18641 | * tree-gimple.c (is_gimple_formal_tmp_rhs): Rename from | |
18642 | is_gimple_tmp_rhs for clarity. Update all callers. | |
18643 | (is_gimple_reg_rhs): Simplify logic. | |
18644 | (is_gimple_formal_tmp_var): Rename from is_gimple_tmp_var for | |
18645 | clarity; use DECL_GIMPLE_FORMAL_TEMP_P. | |
18646 | (is_gimple_formal_tmp_reg): Similarly. | |
18647 | * tree-gimple.h: Update decls. | |
18648 | * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Use | |
18649 | DECL_IGNORED_P, not DECL_ARTIFICIAL. Tidy formatting. | |
18650 | * tree-ssa-live.c (var_union, type_var_init): Likewise. | |
18651 | ||
18652 | 2004-08-18 Paolo Bonzini <bonzini@gnu.org> | |
18653 | ||
18654 | * c4x.c (legitimize_operands): Remove calls to | |
18655 | preserve_subexpressions_p. | |
18656 | ||
18657 | 2004-08-18 David Edelsohn <edelsohn@gnu.org> | |
18658 | ||
18659 | * varasm.c (MAX_OFILE_ALIGNMENT): Move ... | |
18660 | * defaults.h (MAX_OFILE_ALIGNMENT): ... here. | |
18661 | ||
18662 | 2004-08-18 Ziemowit Laski <zlaski@apple.com> | |
18663 | ||
18664 | * gcc.c (default_compilers): Add info about ".mm", ".M" and ".mii" | |
18665 | Objective-C++ extensions. | |
18666 | * gengtype.c (get_file_basename): Match entire subdirectory name | |
18667 | ('cp', 'objc', 'objcp') rather than just its suffix. | |
18668 | (get_base_file_bitmap): Allow for files to belong to more than one | |
18669 | language. | |
18670 | (get_output_file_with_visibility): Treat objc/objc-act.h as a header | |
18671 | used by more than one front-end. | |
18672 | ||
18673 | 2004-08-18 Richard Earnshaw <rearnsha@arm.com> | |
18674 | ||
18675 | * arm.md (addsi3, subsi3, andsi3, iorsi3, movsi, movhi): Rework to | |
18676 | avoid use of preserve_subexpressions_p. | |
18677 | ||
18678 | 2004-08-17 Richard Henderson <rth@redhat.com> | |
18679 | ||
18680 | PR 17051 | |
18681 | * tree-sra.c (scalarize_use): Mark all v_defs for !is_output too. | |
18682 | ||
18683 | 2004-08-17 DJ Delorie <dj@redhat.com> | |
18684 | ||
18685 | * doc/extend.texi: Document new xstormy16 attribute. | |
18686 | ||
18687 | * config/stormy16/stormy16.c (xstormy16_splittable_below100_operand): New. | |
18688 | (xstormy16_splittable_below100_or_register): New. | |
18689 | (combine_bnp): New. | |
18690 | (xstormy16_reorg): New. | |
18691 | (TARGET_MACHINE_DEPENDENT_REORG): Define. | |
18692 | ||
18693 | * config/stormy16/stormy16.md (movqi_internal): Make name public. | |
18694 | (movhi_internal): Likewise. | |
18695 | (cbhranchhi): Likewise. | |
18696 | (cbhranchhi_neg): Likewise. | |
18697 | (andhi3): Only allow splittable below100 operands. | |
18698 | (iorhi3): Likewise. | |
18699 | (peephole2): New and/zero_extend->and peephole. | |
18700 | (peephole2): New load/ior/save->set1 peephole. | |
18701 | (peephole2): New load/and/save->clr1 peephole. | |
18702 | (bclrx, bclrx2, bclr7, bclr15): New. | |
18703 | (bsetx, bsetx2, bset7, bset15): New. | |
18704 | ||
18705 | * config/stormy16/stormy16.c (xstormy16_print_operand): Be more | |
18706 | liberal about acceptable 'B' masks. | |
18707 | ||
18708 | * config/stormy16/stormy16-protos.h | |
18709 | (xstormy16_asm_output_aligned_common, xstormy16_below100_symbol, | |
18710 | xstormy16_below100_operand, xstormy16_below100_or_register, | |
18711 | xstormy16_onebit_set_operand, xstormy16_onebit_clr_operand): New. | |
18712 | (PREDICATE_CODES): Add new predicates. | |
18713 | ||
18714 | * config/stormy16/stormy16.c | |
18715 | (xstormy16_asm_output_aligned_common, xstormy16_below100_symbol, | |
18716 | xstormy16_below100_operand, xstormy16_below100_or_register, | |
18717 | xstormy16_onebit_set_operand, xstormy16_onebit_clr_operand): New. | |
18718 | (xstormy16_expand_iorqi3, xstormy16_expand_andqi3): New. | |
18719 | (xstormy16_legitimate_address_p): Allow below100 symbols. | |
18720 | (xstormy16_extra_constraint_p): Add 'W' for below100 operands. | |
18721 | (xstormy16_expand_move): Leave below100 operands as-is. | |
18722 | (xstormy16_encode_section_info): Encode below100 symbols. | |
18723 | (xstormy16_strip_name_encoding): New. | |
18724 | (xstormy16_print_operand): Print 'b' as shift mask. | |
18725 | (xstormy16_attribute_table): Add below100 attributes. | |
18726 | (xstormy16_handle_below100_attribute): New. | |
18727 | ||
18728 | * config/stormy16/stormy16.h (EXTRA_SECTIONS): add in_bss100. | |
18729 | (XSTORMY16_SECTION_FUNCTION): New. | |
18730 | (EXTRA_SECTION_FUNCTIONS): Define using the above. | |
18731 | (ASM_OUTPUT_ALIGNED_DECL_COMMON, ASM_OUTPUT_ALIGNED_DECL_LOCAL): New. | |
18732 | (ASM_OUTPUT_SYMBOL_REF): Handle encoded symbols. | |
18733 | (ASM_OUTPUT_LABELREF): Define. | |
18734 | ||
18735 | * config/stormy16/stormy16.md (movqi_internal): Add below100 support. | |
18736 | (movhi_internal): Add below100 support. | |
18737 | (andhi3): Add below100 support. | |
18738 | (iorhi3): Add below100 support. | |
18739 | (iorqi3, iorqi3_internal, andqi3, andqi3_internal): New. | |
18740 | ||
18741 | 2004-08-17 James E Wilson <wilson@specifixinc.com> | |
18742 | ||
18743 | * config/mips/mips.c (gen_conditional_move): Use GET_MODE (op0) instead | |
18744 | of VOIDmode for comparison code mode. | |
18745 | * config/mips/mips.md: For conditional move patterns, use mode of | |
18746 | first compare operand for comparison mode, instead of VOIDmode. | |
18747 | ||
18748 | * config/mips/mips.md: Add canonical nmadd and nmsub patterns for both | |
18749 | normal and -ffast-math code. | |
18750 | ||
18751 | 2004-08-17 Mark Mitchell <mark@codesourcery.com> | |
18752 | ||
18753 | PR c++/15871 | |
18754 | * doc/invoke.texi (-fkeep-inline-functions): Update documentation. | |
18755 | ||
18756 | 2004-08-17 Robert Bowdidge <bowdidge@apple.com> | |
18757 | ||
18758 | * config/rs6000/x-darwin: Add -mdynamic-no-pic to gcc build flags. | |
18759 | ||
18760 | 2004-08-17 Andreas Tobler <a.tobler@schweiz.ch> | |
18761 | ||
18762 | * config/rs6000/darwin.md (*call_nonlocal_darwin64): Add #else clause | |
18763 | for non Darwin targets. | |
18764 | (*call_value_nonlocal_darwin64): Likewise. | |
18765 | ||
18766 | 2004-08-17 Fariborz Jahanian <fjahanian@apple.com> | |
18767 | ||
18768 | * config/rs6000/rs6000.c (rs6000_function_value): Check for | |
18769 | altivec mode for altivec return register. | |
18770 | ||
18771 | 2004-08-17 David Edelsohn <edelsohn@gnu.org> | |
18772 | ||
18773 | Revert 2004-08-16 Stan Shebs <shebs@apple.com> | |
18774 | * config/darwin.c (macho_indirect_data_reference): Add DImode case. | |
18775 | * config/rs6000/rs6000.md: Include darwin.md. | |
18776 | (builtin_setjmp_receiver): Add DImode case. | |
18777 | * config/rs6000/rs6000.c (rs6000_emit_move): Add DImode case to | |
18778 | Darwin bits. | |
18779 | ||
18780 | 2004-08-17 Dorit Naishlos <dorit@il.ibm.com> | |
18781 | ||
18782 | * tree-vectorizer.c: New File: loop vectorization on SSAed GIMPLE | |
18783 | trees. | |
18784 | * tree-vectorizer.h: New File: Same. | |
18785 | * Makefile.in (tree-vectorizer.c, tree-vectorizer.h): Add new files. | |
18786 | * common.opt (ftree-vectorize): New flag to enable vectorization. | |
18787 | * timevar.def (TV_TREE_VECTORIZATION): New dump file for | |
18788 | vectorization pass. | |
18789 | * tree-data-ref.h (init_data_ref): Additional argument. | |
18790 | (array_base_name_differ_p): Moved to tree-data-ref.c. | |
18791 | * tree-data-ref.c (array_base_name_differ_p): Revised. | |
18792 | (initialize_data_dependence_relation): Call array_base_name_differ_p | |
18793 | with an extra argument. | |
18794 | (analyze_all_data_dependences): Same. | |
18795 | (init_data_ref): Additional argument is_read to set DR_IS_READ. | |
18796 | * tree-ssa-phiopt.c (empty_block_p): Expose for usage out of this | |
18797 | file. | |
18798 | * tree-flow.h (vectorize_loops, empty_block_p): Add declaration. | |
18799 | * tree-optimize.c (pass_vectorize): Schedule the vectorization pass. | |
18800 | * tree-pass.h (tree_opt_pass pass_vectorize): Declare the new | |
18801 | vectorization pass. | |
18802 | * tree-ssa-loop.c (tree_ssa_loop_init): Call scev_initialize. | |
18803 | (tree_ssa_loop_done): Call scev_finalize. | |
18804 | (tree_vectorize): Define the new vectorization pass. | |
18805 | * defaults.h (UNITS_PER_SIMD_WORD): Allow targets to specify the | |
18806 | size of the vector they support (until support for multiple vector | |
18807 | sizes is added to the vectorizer). | |
18808 | * config/i386/i386.h (UNITS_PER_SIMD_WORD): Define. | |
18809 | * config/rs6000/rs6000.h (UNITS_PER_SIMD_WORD): Define. | |
18810 | * invoke.texi (fdump-tree-vect, ftree-vectorize): Add | |
18811 | documentation. | |
18812 | ||
18813 | 2004-08-17 Nathan Sidwell <nathan@codesourcery.com> | |
18814 | ||
18815 | * objc/objc-act.c (build_protocol_initializer): Fix build_int_cst | |
18816 | usage. | |
18817 | (generate_protocol_list, handle_impent): Likewise. | |
18818 | ||
18819 | 2004-08-17 Roger Sayle <roger@eyesopen.com> | |
18820 | ||
18821 | * regclass.c (init_reg_sets_1): Add ENABLE_CHECKING sanity tests to | |
18822 | ensure that call_used_regs is a superset of both fixed_regs and | |
18823 | call_really_used_regs. | |
18824 | ||
18825 | 2004-08-17 Daniel Bornstein <danfuzz@milk.com> | |
18826 | ||
18827 | PR target/17019 | |
18828 | * arm.md (addsi3_cbranch_scratch): Correct case labels. | |
18829 | ||
18830 | 2004-08-17 Paolo Bonzini <bonzini@gnu.org> | |
18831 | ||
18832 | PR middle-end/17036 | |
18833 | * fold-const.c (fold): Check for integer operand when | |
18834 | folding (A >> N) & 1 ? (1 << N) : 0. Fix from Andrew | |
18835 | Pinski <pinskia@physics.uc.edu>. | |
18836 | ||
18837 | 2004-08-17 Paolo Bonzini <bonzini@gnu.org> | |
18838 | ||
18839 | * configure.ac: Trust toplevel's notion of BISON/FLEX/MAKEINFO. | |
18840 | No need to check if in a cross configuration. | |
18841 | * configure: Regenerate. | |
18842 | ||
18843 | * calls.c (precompute_register_parameters): | |
18844 | Inline preserve_subexpressions_p (). | |
18845 | * expmed.c (expand_mult_const, emit_store_flag): Likewise. | |
18846 | * optabs.c (expand_binop, expand_twoval_binop, prepare_cmp_insn): | |
18847 | Likewise. | |
18848 | * expr.c (get_subtarget): Likewise. | |
18849 | * rtl.h (preserve_subexpressions_p): Remove. | |
18850 | * stmt.c (preserve_subexpressions_p): Remove. | |
18851 | ||
18852 | * dojump.c (do_jump) <COND_EXPR, EQ_EXPR, NE_EXPR, | |
18853 | TRUTH_ANDIF_EXPR, TRUTH_ORIF_EXPR, COMPOUND_EXPR>: | |
18854 | Abort on gimplified cases. | |
18855 | ||
18856 | 2004-08-16 James E Wilson <wilson@specifixinc.com> | |
18857 | ||
18858 | * tree.h (VECTOR_FLOAT_TYPE_P): New. | |
18859 | (FLOAT_TYPE_P): Use it. | |
18860 | * c-typeck.c (build_binary_op): After convert calls, check for | |
18861 | check for ERROR_MARK operands. | |
18862 | ||
18863 | 2004-08-16 Zack Weinberg <zack@codesourcery.com> | |
18864 | ||
18865 | * Makefile.in (BUILD_PREFIX, BUILD_PREFIX_1): Delete. | |
18866 | (BUILD_RTL, BUILD_PRINT, BUILD_ERRORS, BUILD_VARRAY): Update. | |
18867 | (genobjs): Add build-rtl.o, build-print-rtl.o, build-varray.o. | |
18868 | (genobjs static pattern rule): Remove %.c dependency. | |
18869 | ($(BUILD_PREFIX_1)rtl.o, print-rtl.o, $(BUILD_PREFIX_1)varray.o): | |
18870 | Rename rules; delete commands; fix dependencies. | |
18871 | (mostlyclean): Do not delete temporary source copies. | |
18872 | * configure.ac: Delete all references to BUILD_PREFIX and | |
18873 | BUILD_PREFIX_1. | |
18874 | * configure: Regenerate. | |
18875 | ||
18876 | * print-rtl.c: Include bconfig.h #ifdef GENERATOR_FILE. | |
18877 | Do not include tree.h, real.h, flags.h, hard-reg-set.h, or | |
18878 | basic-block.h #ifdef GENERATOR_FILE. Surround some more code | |
18879 | with #ifndef GENERATOR_FILE so that nothing from those headers | |
18880 | is used. | |
18881 | ||
18882 | * rtl.c, varray.c: Include bconfig.h #ifdef GENERATOR_FILE. | |
18883 | ||
18884 | 2004-08-16 Adam Nemet <anemet@lnxw.com> | |
18885 | ||
18886 | * Makefile.in (LIBS): Move $(LIBIBERTY) after $(BANSHEELIB). | |
18887 | ||
18888 | 2004-08-16 Andrew Pinski <apinski@apple.com> | |
18889 | ||
18890 | * target-def.h (TARGET_EH_RETURN_FILTER_MODE): Remove | |
18891 | extraneous semicolon. | |
18892 | ||
18893 | 2004-08-16 Devang Patel <dpatel@apple.com> | |
18894 | ||
18895 | * c-common.c (handle_used_attribute): Set DECL_PRESERVE_P. | |
18896 | * print-tree.c (print_node): Print DECL_PRESERVE_P. | |
18897 | * target-def.h (TARGET_ASM_MARK_DECL_PRESERVED): New #define. | |
18898 | (TARGET_ASM_OUT): New member, TARGET_ASM_MARK_DECL_PRESERVED | |
18899 | * target.h (struct gcc_target): New member, mark_decl_preserved. | |
18900 | * hooks.c (hook_void_charptr): Rename to ... | |
18901 | (hook_void_constcharptr): ... new name. | |
18902 | * hooks.h (hook_void_charptr): Rename to .. | |
18903 | (hook_void_constcharptr): ... new name. | |
18904 | * tree.h (DECL_PRESERVE_P): New #define. | |
18905 | (struct tree_decl): New member, preserve_flag. | |
18906 | * varasm.c (assemble_start_function): Mark decl preserved. | |
18907 | (assemble_variable): Same. | |
18908 | * darwin.c (darwin_mark_decl_preserved): New function. | |
18909 | * darwin.h (TARGET_ASM_MARK_DECL_preserved): New #define. | |
18910 | * darwin-protos.h (darwin_mark_decl_preserved): New decl. | |
18911 | * doc/tm.texi (TARGET_ASM_MARK_DECL_PRESERVED): Document. | |
18912 | ||
18913 | 2004-08-16 Joseph S. Myers <jsm@polyomino.org.uk> | |
18914 | ||
18915 | * c-decl.c (grokdeclarator): Allow for function definition where | |
18916 | innermost declarator has attributes. | |
18917 | ||
18918 | 2004-08-16 Fariborz Jahanian <fjahanian@apple.com> | |
18919 | ||
18920 | * except.c (get_exception_filter, build_post_landing_pads, | |
18921 | dw2_build_landing_pads): Use target-specific mode for 'filter'. | |
18922 | * target-def.h (TARGET_EH_RETURN_FILTER_MODE): macro defined and used. | |
18923 | * target.h (eh_return_filter_mode): New field added. | |
18924 | * targhooks.c (default_eh_return_filter_mode): Defined. | |
18925 | * targhooks.h (default_eh_return_filter_mode): Declared. | |
18926 | * config/rs6000/rs6000.c (rs6000_eh_return_filter_mode): Defined. | |
18927 | ||
18928 | 2004-08-16 Nathanael Nerode <neroden@gcc.gnu.org> | |
18929 | ||
18930 | * configure.ac: Replace _GCC_TOPLEV_NONCANONICAL_TARGET with | |
18931 | ACX_NONCANONICAL_TARGET; remove now-unneeded AC_SUBST. | |
18932 | * configure: Regenerate. | |
18933 | ||
18934 | 2004-08-16 Stan Shebs <shebs@apple.com> | |
18935 | ||
18936 | Basic support for 64-bit Darwin. | |
18937 | * config/darwin.c (macho_indirect_data_reference): Add DImode case. | |
18938 | (machopic_legitimize_pic_address): Similarly, plus use Pmode | |
18939 | instead of SImode. | |
18940 | * config/rs6000/darwin.h (PTRDIFF_TYPE): Be "long int" if 64-bit. | |
18941 | (TARGET_OS_CPP_BUILTINS): Add 64-bit preprocessor macro. | |
18942 | (SUBTARGET_SWITCHES): Add -m32 and -m64 flags. | |
18943 | (SUBTARGET_OVERRIDE_OPTIONS): Require 64-bit processor if -m64. | |
18944 | (PROCESSOR_DEFAULT64): Define. | |
18945 | * config/rs6000/darwin.md: New file, patterns specific to 64-bit | |
18946 | Darwin. | |
18947 | * config/rs6000/rs6000.md: Include darwin.md. | |
18948 | (builtin_setjmp_receiver): Add DImode case. | |
18949 | * config/rs6000/rs6000.c (TARGET_ASM_UNALIGNED_DI_OP): Define for | |
18950 | Darwin. | |
18951 | (TARGET_ASM_ALIGNED_DI_OP): Ditto. | |
18952 | (rs6000_emit_move): Add DImode case to Darwin bits. | |
18953 | (machopic_output_stub): Use .quad if 64-bit. | |
18954 | * invoke.texi: Document -m32 and -m64. | |
18955 | ||
18956 | 2004-08-16 Janis Johnson <janis187@us.ibm.com> | |
18957 | ||
18958 | * doc/extend.texi (AltiVec builtins): Document additional differences | |
18959 | from the Motorola AltiVec PIM. | |
18960 | ||
18961 | 2004-08-16 Nathan Sidwell <nathan@codesourcery.com> | |
18962 | ||
18963 | * c-typeck.c (build_c_cast): Only copy overflow from expr nodes. | |
18964 | * tree.h (IS_NON_TYPE_CODE_CLASS): Simplify. | |
18965 | (struct tree_common): Update public_flag documentation. | |
18966 | ||
18967 | 2004-08-16 Nathanael Nerode <neroden@gcc.gnu.org> | |
18968 | ||
18969 | * tree-ssa-copyrename.c (copy_rename_partition_coalesce): | |
18970 | Check for artificial variables, not is_gimple_tmp_var. | |
18971 | * tree-ssa-live.c (var_union): Likewise. | |
18972 | ||
18973 | 2004-08-16 Nathan Sidwell <nathan@codesourcery.com> | |
18974 | ||
18975 | * calls.c (load_register_parameters): Remove spurious FIXME token. | |
18976 | ||
18977 | 2004-08-15 Ziemowit Laski <zlaski@apple.com> | |
18978 | ||
18979 | * Makefile.in (C_PRETTY_PRINT_H): Add c-pretty-print.h. | |
18980 | (c-lang.o): Depend on c-objc-common.h. | |
18981 | (c-objc-common.o): Depend on $(C_PRETTY_PRINT_H) and | |
18982 | c-objc-common.h; remove duplicate $(C_TREE_H) dependency. | |
18983 | * c-lang.c: Include c-objc-common.h. | |
18984 | (LANG_HOOKS_FINISH, LANG_HOOKS_INIT_OPTIONS, | |
18985 | LANG_HOOKS_INITIALIZE_DIAGNOSTICS, LANG_HOOKS_HANDLE_OPTION, | |
18986 | LANG_HOOKS_MISSING_ARGUMENT, LANG_HOOKS_POST_OPTIONS, | |
18987 | LANG_HOOKS_GET_ALIAS_SET, LANG_HOOKS_SAFE_FROM_P, | |
18988 | LANG_HOOKS_EXPAND_EXPR, LANG_HOOKS_MARK_ADDRESSABLE, | |
18989 | LANG_HOOKS_PARSE_FILE, LANG_HOOKS_TRUTHVALUE_CONVERSION, | |
18990 | LANG_HOOKS_FINISH_INCOMPLETE_DECL, LANG_HOOKS_UNSAFE_FOR_REEVAL, | |
18991 | LANG_HOOKS_STATICP, LANG_HOOKS_SET_DECL_ASSEMBLER_NAME, | |
18992 | LANG_HOOKS_NO_BODY_BLOCKS, LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL, | |
18993 | LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_FUNCTION_ENTER_NESTED, | |
18994 | LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_DUP_LANG_SPECIFIC_DECL, | |
18995 | LANG_HOOKS_DECL_UNINIT, LANG_HOOKS_RTL_EXPAND_STMT, | |
18996 | LANG_HOOKS_COMMON_ATTRIBUTE_TABLE, LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE, | |
18997 | LANG_HOOKS_TREE_INLINING_CANNOT_INLINE_TREE_FN, | |
18998 | LANG_HOOKS_TREE_INLINING_DISREGARD_INLINE_LIMITS, | |
18999 | LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P, | |
19000 | LANG_HOOKS_TREE_INLINING_CONVERT_PARM_FOR_INLINING, | |
19001 | LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS, | |
19002 | LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN, | |
19003 | LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION, LANG_HOOKS_TYPE_FOR_MODE, | |
19004 | LANG_HOOKS_TYPE_FOR_SIZE, LANG_HOOKS_SIGNED_TYPE, | |
19005 | LANG_HOOKS_UNSIGNED_TYPE, LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE, | |
19006 | LANG_HOOKS_INCOMPLETE_TYPE_ERROR, LANG_HOOKS_TYPE_PROMOTES_TO, | |
19007 | LANG_HOOKS_REGISTER_BUILTIN_TYPE, LANG_HOOKS_WRITE_GLOBALS): | |
19008 | Move to c-objc-common.h. | |
19009 | * c-objc-common.c: Include c-objc-common.h. | |
19010 | * c-objc-common.h: New file. | |
19011 | ||
19012 | 2004-08-15 Andreas Tobler <a.tobler@schweiz.ch> | |
19013 | Andrew Pinski <pinskia@physics.uc.edu> | |
19014 | ||
19015 | PR target/14931 | |
19016 | * config/rs6000/darwin-tramp.asm (L_abort$stub): Change to new stub | |
19017 | style. | |
19018 | ||
19019 | 2004-08-15 Nathan Sidwell <nathan@codesourcery.com> | |
19020 | ||
19021 | * tree.h (build_int_cst): New. | |
19022 | (build_int_2): Remove. | |
19023 | * tree.c (build_int_2): Remove. | |
19024 | (build_int_cst): New. | |
19025 | (make_vector_type, build_common_tree_nodes, | |
19026 | build_common_tree_nodes_2): Use build_int_cst. | |
19027 | * builtins.c (expand_builtin_prefetch, expand_builtin_strstr, | |
19028 | expand_builtin_strpbrk, expand_builtin_fputs, | |
19029 | build_string_literal, expand_builtin_printf, | |
19030 | expand_builtin_sprintf, fold_builtin_lround, fold_builtin_bitop, | |
19031 | fold_builtin_bitop, fold_builtin_isascii, fold_builtin_toascii, | |
19032 | fold_builtin_isdigit, simplify_builtin_strstr, | |
19033 | simplify_builtin_strpbrk, fold_builtin_fputs, | |
19034 | simplify_builtin_sprintf): Use build_int_cst. | |
19035 | * c-common.c (start_fname_decls, fix_string_type, | |
19036 | c_common_nodes_and_builtins, c_init_attributes, | |
19037 | shorten_compare): Likewise. | |
19038 | * c-decl.c (complete_array_type, | |
19039 | check_bitfield_type_and_width): Likewise. | |
19040 | * c-lex.c (interpret_integer, lex_charconst): Likewise. | |
19041 | * c-parse.in (primary): <TYPES_COMPATIBLE_P> Likewise. | |
19042 | * c-pretty-print.c (pp_c_integer_constant): Likewise. | |
19043 | * c-typeck.c (really_start_incremental_init, push_init_level, | |
19044 | set_nonincremental_init_from_string): Likewise. | |
19045 | * calls.c (load_register_parameters): Likewise. | |
19046 | * convert.c (convert_to_pointer): Likewise. | |
19047 | * coverage.c (coverage_counter_alloc, tree_coverage_counter_ref, | |
19048 | build_fn_info_type, build_ctr_info_value, build_gcov_info): | |
19049 | Likewise. | |
19050 | * except.c (init_eh, assign_filter_values, assign_filter_values): | |
19051 | Likewise. | |
19052 | * expmed.c (store_fixed_bit_field, extract_bit_field, | |
19053 | extract_fixed_bit_field, extract_split_bit_field, expand_shift, | |
19054 | expand_mult_const, expand_mult_highpart_adjust, extract_high_half, | |
19055 | expand_sdiv_pow2, expand_divmod, make_tree): Likewise. | |
19056 | * expr.c (convert_move, emit_group_load, emit_group_store, | |
19057 | expand_assignment, store_constructor, store_field, | |
19058 | expand_expr_real_1, reduce_to_bit_field_precision): Likewise. | |
19059 | * fold-const.c (force_fit_type, int_const_binop, fold_convert_const, | |
19060 | invert_truthvalue, optimize_bit_field_compare, | |
19061 | decode_field_reference, all_ones_mask_p, constant_boolean_node, | |
19062 | fold_div_compare, fold, fold_read_from_constant_string, | |
19063 | fold_negate_const, fold_abs_const, fold_not_const): Likewise. | |
19064 | * function.c (assign_parm_setup_block): Likewise. | |
19065 | * stmt.c (shift_return_value, expand_end_case_type, | |
19066 | estimate_case_costs): Likewise. | |
19067 | * stor-layout.c (layout_type, initialize_sizetypes, | |
19068 | set_min_and_max_values_for_integral_type): Likewise. | |
19069 | * tree-chrec.c (chrec_fold_multiply_poly_poly, | |
19070 | reset_evolution_in_loop): Likewise. | |
19071 | * tree-chrec.h (build_polynomial_chrec): Likewise. | |
19072 | * tree-complex.c (build_replicated_const): Likewise. | |
19073 | * tree-eh.c (honor_protect_cleanup_actions, | |
19074 | lower_try_finally_onedest, lower_try_finally_copy, | |
19075 | lower_try_finally_switch): Likewise. | |
19076 | * tree-mudflap.c (mf_build_string, mx_register_decls, | |
19077 | mudflap_register_call, mudflap_enqueue_constant): Likewise. | |
19078 | * tree-nested.c (get_trampoline_type, get_nl_goto_field): Likewise. | |
19079 | * tree-pretty-print.c (dump_generic_node): Likewise. | |
19080 | * tree-ssa-ccp.c (widen_bitfield, maybe_fold_offset_to_array_ref): | |
19081 | Likewise. | |
19082 | * tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Likewise. | |
19083 | * tree-ssa-loop-niter.c (number_of_iterations_cond, | |
19084 | loop_niter_by_eval, upper_bound_in_type, lower_bound_in_type): | |
19085 | Likewise. | |
19086 | ||
19087 | * config/alpha/alpha.c (alpha_initialize_trampoline, | |
19088 | alpha_va_start, alpha_gimplify_va_arg_1): Use build_int_cst. | |
19089 | * config/arm/arm.c (arm_get_cookie_size): Likewise. | |
19090 | * config/c4x/c4x.c (c4x_gimplify_va_arg_expr): Likewise. | |
19091 | * config/i386/i386.c (ix86_va_start, ix86_gimplify_va_arg): Likewise. | |
19092 | * config/i860/i860.c (i860_va_start): Likewise. | |
19093 | * config/ia64/ia64.c (ia64_gimplify_va_arg): Likewise. | |
19094 | * config/mips/mips.c (mips_build_builtin_va_list, mips_va_start, | |
19095 | mips_gimplify_va_arg_expr): Likewise. | |
19096 | * config/pa/pa.c (hppa_gimplify_va_arg_expr): Likewise. | |
19097 | * config/rs6000/rs6000.c (rs6000_va_start, rs6000_gimplify_va_arg, | |
19098 | add_compiler_branch_island): Likewise. | |
19099 | * config/s390/s390.c (s390_va_start): Likewise. | |
19100 | * config/sh/sh.c (sh_va_start): Likewise. | |
19101 | * config/stormy16/stormy16.c (xstormy16_expand_builtin_va_start): | |
19102 | Likewise. | |
19103 | * config/xtensa/xtensa.c (xtensa_va_start, | |
19104 | xtensa_gimplify_va_arg_expr): Likewise. | |
19105 | ||
19106 | * objc/objc-act.c (build_objc_string_object, | |
19107 | build_objc_symtab_template, init_def_list, init_objc_symtab, | |
19108 | init_module_descriptor, generate_static_references, | |
19109 | build_selector_translation_table, get_proto_encoding, | |
19110 | build_typed_selector_reference, build_selector_reference, | |
19111 | build_next_objc_exception_stuff, | |
19112 | build_method_prototype_list_template, generate_descriptor_table, | |
19113 | generate_protocols, build_protocol_initializer, | |
19114 | build_ivar_list_template, build_method_list_template, | |
19115 | build_ivar_list_initializer, generate_ivars_list, | |
19116 | generate_dispatch_table, generate_protocol_list, | |
19117 | build_category_initializer, build_shared_structure_initializer, | |
19118 | generate_shared_structures, handle_impent, | |
19119 | generate_objc_image_info): Use build_int_cst. | |
19120 | ||
19121 | 2004-08-15 Ben Elliston <bje@au.ibm.com> | |
19122 | ||
19123 | * vec.h: Comment improvements. | |
19124 | ||
19125 | 2004-08-14 Roger Sayle <roger@eyesopen.com> | |
19126 | ||
19127 | * c-common.c (shorten_compare, pointer_int_sum, | |
19128 | c_common_truthvalue_conversion, boolean_increment): Replace calls | |
19129 | to build with calls to buildN. | |
19130 | * c-decl.c (complete_array_type, grokdeclarator): Likewise. | |
19131 | * c-gimplify.c (c_build_bind_expr, gimplify_c_loop, | |
19132 | gimplify_switch_stmt): Likewise. | |
19133 | * c-typeck.c (default_function_array_conversion, | |
19134 | build_component_ref, build_array_ref, build_function_call, | |
19135 | pointer_diff, build_unary_op, build_conditional_expr, | |
19136 | build_compound_expr, build_modify_expr, c_finish_goto_label, | |
19137 | c_finish_goto_ptr, c_finish_return, c_finish_loop, | |
19138 | c_finish_bc_stmt, c_finish_stmt_expr, c_end_compound_stmt, | |
19139 | build_binary_op): Likewise. | |
19140 | ||
19141 | 2004-08-15 Steven Bosscher <stevenb@suse.de> | |
19142 | ||
19143 | * rtl.c (note_insn_name): Add NOTE_DISABLE_SCHED_OF_BLOCK. | |
19144 | ||
19145 | 2004-08-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
19146 | ||
19147 | * fixinc/inclhack.def (stdio_va_list): Also fix com_err.h, cps.h, | |
19148 | curses.h, krb5.h, lc_core.h, pfmt.h, wchar.h and curses_colr/curses.h. | |
19149 | * fixinc/fixincl.x: Rebuilt. | |
19150 | ||
19151 | 2004-08-14 Richard Sandiford <rsandifo@redhat.com> | |
19152 | ||
19153 | * config/mips/mips-protos.h (mips_symbolic_constant_p) | |
19154 | (mips_atomic_symbolic_constant_p, mips_stack_address_p) | |
19155 | (mips_small_data_pattern_p): Declare. | |
19156 | * config/mips/mips.h (CONST_GP_P): Moved from mips.c. | |
19157 | (PREDICATE_CODES, SPECIAL_MODE_PREDICATES): Delete. | |
19158 | * config/mips/mips.c (mips_symbolic_constant_p): Make global. | |
19159 | (mips_atomic_symbolic_constant_p, mips_stack_address_p): New functions. | |
19160 | (uns_arith_operand, const_arith_operand, arith_operand, sle_operand) | |
19161 | (sleu_operand, small_int, reg_or_0_operand, const_float_1_operand) | |
19162 | (reg_or_const_float_1_operand, hilo_operand, extend_operator) | |
19163 | (macc_msac_operand, equality_op, cmp_op, trap_cmp_op) | |
19164 | (pc_or_label_operand, call_insn_operand, move_operand) | |
19165 | (consttable_operand, symbolic_operand, general_symbolic_operand) | |
19166 | (global_got_operand, local_got_operand, stack_operand) | |
19167 | (fp_register_operand, lo_operand, fcc_register_operand): Delete. | |
19168 | (mips_small_data_pattern_1): Renamed from small_data_pattern_1. | |
19169 | (mips_small_data_pattern_p): Replace previous small_data_pattern | |
19170 | predicate. Turn into a bool () (rtx) function. | |
19171 | * config/mips/predicates.md: New file. | |
19172 | * config/mips/mips.md: Include it. Use the target-independent | |
19173 | comparison_operator instead of cmp_op. Rename trap_cmp_op to | |
19174 | trap_comparison_operator and equality_op to equality_operator. | |
19175 | Replace uses of small_int with the equivalent const_arith_operand. | |
19176 | Rename reg_or_const_float_1_operand to reg_or_1_operand. Rename | |
19177 | const_float_1_operand to const_1_operand. Rename fcc_register_operand | |
19178 | to fcc_reload_operand. | |
19179 | * config/mips/sb1.md: Rename fp_register_operand to fpr_operand. | |
19180 | ||
19181 | 2004-08-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
19182 | ||
19183 | PR libstdc++/17005 partial fix. | |
19184 | * pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define _INCLUDE__STDC_A1_SOURCE | |
19185 | except when generating ANSI/C89 code. | |
19186 | ||
19187 | 2004-08-14 Nathan Sidwell <nathan@codesourcery.com> | |
19188 | ||
19189 | * c-common.c (shorten_compare): Use force_fit_type directly. | |
19190 | ||
19191 | 2004-08-14 Gerald Pfeifer <gerald@pfeifer.com> | |
19192 | Dimitri Papadopoulos-Orfanos <papadopo@shfj.cea.fr> | |
19193 | Dave Korn <dk@artimi.com> | |
19194 | ||
19195 | * doc/install.texi (Building): Avoid duplicate reference to GNU | |
19196 | make requirement. | |
19197 | (*-*-solaris2*): Do not recommend GNU make any longer. Simplify. | |
19198 | ||
19199 | 2004-08-14 Richard Henderson <rth@redhat.com> | |
19200 | ||
19201 | * config/alpha/alpha.h (PROMOTE_MODE): Don't promote vector types. | |
19202 | * config/alpha/alpha.c (function_value): Use PROMOTE_MODE. | |
19203 | ||
19204 | 2004-08-13 Richard Henderson <rth@redhat.com> | |
19205 | ||
19206 | * config/i386/i386.md (call_1, sibcall_1, call_1_rex64): Use Pmode | |
19207 | for constant_call_address_operand. | |
19208 | (call_value_pop_1, call_value_1): Likewise. | |
19209 | (sibcall_value_1, call_value_1_rex64): Likewise. | |
19210 | ||
19211 | 2004-08-13 James E Wilson <wilson@specifixinc.com> | |
19212 | ||
19213 | * config/mips/sb1.md (ir_sb1_divdf_2pipes, ir_sb1_divdf_1pipe): | |
19214 | Correct mode from SFmode to DFmode. | |
19215 | ||
19216 | 2004-08-13 Ziemowit Laski <zlaski@apple.com> | |
19217 | ||
19218 | * config/darwin.h (EXTRA_SECTION_FUNCTIONS): Mark the __sel_fixup, | |
19219 | __cstring_object and __image_info sections with the no_dead_strip | |
19220 | attribute. | |
19221 | ||
19222 | 2004-08-13 Roger Sayle <roger@eyesopen.com> | |
19223 | David Billinghurst <David.Billinghurst@riotinto.com> | |
19224 | ||
19225 | PR libgfortran/15930 | |
19226 | * fixinc/inclhack.def (irix___generic1, irix___generic2): New. | |
19227 | * fixinc/fixincl.x: Regenerate. | |
19228 | * fixinc/tests/base/internal/math_core.h: New file. | |
19229 | ||
19230 | 2004-08-13 Richard Henderson <rth@redhat.com> | |
19231 | ||
19232 | * dbxout.c (NO_DBX_FUNCTION_END): Default to zero. | |
19233 | (dbxout_function_end): Remove ifdefs for it. | |
19234 | (dbxout_begin_prologue): Protect N_BNSYM with it, and gdb extensions. | |
19235 | ||
19236 | 2004-08-13 Richard Henderson <rth@redhat.com> | |
19237 | ||
19238 | * Makefile.in (insn-preds.o): Depend on TREE_H. | |
19239 | * genpreds.c (write_insn_preds_c): Include tree.h. | |
19240 | * config/alpha/alpha.c (reg_or_0_operand, reg_or_6bit_operand, | |
19241 | reg_or_8bit_operand, cint8_operand, add_operand, sext_add_operand, | |
19242 | const48_operand, and_operand, or_operand, mode_width_operand, | |
19243 | mode_mask_operand, mul8_operand, const0_operand, | |
19244 | hard_fp_register_operand, hard_int_register_operand, | |
19245 | reg_or_cint_operand, some_operand, some_ni_operand, input_operand, | |
19246 | samegp_function_operand, direct_call_operand, small_symbolic_operand, | |
19247 | global_symbolic_operand, call_operand, symbolic_operand, | |
19248 | dtp16_symbolic_operand, dtp32_symbolic_operand, | |
19249 | gotdtp_symbolic_operand, tp16_symbolic_operand, tp32_symbolic_operand, | |
19250 | gottp_symbolic_operand, alpha_comparison_operator, | |
19251 | alpha_zero_comparison_operator, alpha_swapped_comparison_operator, | |
19252 | signed_comparison_operator, alpha_fp_comparison_operator, | |
19253 | divmod_operator, fix_operator, aligned_memory_operand, | |
19254 | unaligned_memory_operand, reg_or_unaligned_mem_operand, | |
19255 | any_memory_operand, reg_not_elim_operand, normal_memory_operand, | |
19256 | reg_no_subreg_operand, addition_operation): Move to predicates.md. | |
19257 | (reg_or_const_int_operand): Remove. Replace all users with | |
19258 | reg_or_cint_operand. | |
19259 | (tls_symbolic_operand_1): Export. Don't check mode or for CONST. | |
19260 | (resolve_reload_operand): Split out of aligned_memory_operand. | |
19261 | * config/alpha/alpha-protos.h: Update for exports. | |
19262 | * config/alpha/alpha.h (PREDICATE_CODES): Remove. | |
19263 | * config/alpha/alpha.md: Include predicates.md. | |
19264 | * config/alpha/predicates.md: New file. | |
19265 | ||
19266 | 2004-08-13 Richard Sandiford <rsandifo@redhat.com> | |
19267 | ||
19268 | * genattrtab.c (insn_ent): Replace insn_code, insn_index and lineno | |
19269 | fields with a pointer to the instruction definition. | |
19270 | (get_attr_value, fill_attr, make_length_attrs, remove_insn_ent) | |
19271 | (insert_insn_ent, simplify_test_exp, optimize_attrs, write_attr_get) | |
19272 | (write_attr_case, write_const_num_delay_slots): Update accordingly. | |
19273 | (write_attr_case, write_const_num_delay_slots): Write the name of | |
19274 | an insn next to its case statement. | |
19275 | * genoutput.c (data): Add a filename field. | |
19276 | (gen_insn, gen_peephole, gen_expand, gen_split): Set it. | |
19277 | (output_insn_data): Print the location of each insn definition. | |
19278 | * genrecog.c (write_action): Print the name of an insn above | |
19279 | the statement that returns its code. | |
19280 | ||
19281 | 2004-08-12 Andrew Pinski <pinskia@physics.uc.edu> | |
19282 | ||
19283 | * config/darwin-c.c (find_subframework_file): Fix spelling of cannot. | |
19284 | * config/libgloss.h: Likewise. | |
19285 | * config/arm/arm.c (arm_gen_load_multiple): Likewise. | |
19286 | * c4x/c4x-modes.def: Likewise. | |
19287 | * config/c4x/c4x.c (c4x_hard_regno_rename_ok): Likewise. | |
19288 | (c4x_rptb_nop_p): Likewise. | |
19289 | (c4x_rptb_valid_p): Likewise. | |
19290 | (c4x_rptb_insert): Likewise. | |
19291 | (c4x_address_conflict): Likewise. | |
19292 | * config/c4x/c4x.md: Likewise. | |
19293 | * config/frv/frv.md: Likewise. | |
19294 | * config/i386/athlon.md: Likewise. | |
19295 | * config/i386/i386.md: Likewise. | |
19296 | * config/i386/predicates.md: Likewise. | |
19297 | * config/ia64/ia64.c: Likewise. | |
19298 | * config/ia64/itanium1.md: Likewise. | |
19299 | * config/ia64/itanium2.md: Likewise. | |
19300 | * config/iq2000/iq2000.md: Likewise. | |
19301 | * config/mcore/mcore.c: Likewise. | |
19302 | * config/mips/mips.c: Likewise. | |
19303 | * config/mips/r3900.h: Likewise. | |
19304 | * config/mips/sb1.md: Likewise. | |
19305 | * config/pa/milli64.S: Likewise. | |
19306 | * config/pa/pa.c: Likewise. | |
19307 | * config/pa/pa.h: Likewise. | |
19308 | * config/rs6000/8540.md: Likewise. | |
19309 | ||
19310 | 2004-08-13 Daniel Berlin <dberlin@dberlin.org> | |
19311 | ||
19312 | * Makefile.in (BOOT_CFLAGS): Remove accidental addition of -dU. | |
19313 | ||
19314 | 2004-08-13 J"orn Rennecke <joern.rennecke@superh.com> | |
19315 | ||
19316 | * sh.md (cbranch define_delay) Use cond_delay_slot for | |
19317 | non-anulled condition too. | |
19318 | ||
19319 | 2004-08-12 David Edelsohn <edelsohn@gnu.org> | |
19320 | ||
19321 | * config/rs6000/rs6000.c (any_parallel_operand): New predicate. | |
19322 | * config/rs6000/rs6000.h (PREDICATE_CODES): Add | |
19323 | any_parallel_operand, lmw_operation, stmw_operation, | |
19324 | mfcr_operation, mtcrf_operation. Remove PARALLEL from any_operand. | |
19325 | * config/rs6000/rs6000.md (save_fpregs_{si,di}): Use | |
19326 | any_parallel_operand. | |
19327 | (return_and_restore_fpregs_{si,di}): Same. | |
19328 | ||
19329 | 2004-08-12 Zack Weinberg <zack@codesourcery.com> | |
19330 | ||
19331 | * genrecog.c (add_to_sequence): When processing a MATCH_PARALLEL, | |
19332 | if pred->singleton != PARALLEL, issue a warning and pretend it was. | |
19333 | Also issue a warning for any predicate we don't know about. | |
19334 | ||
19335 | 2004-08-12 Richard Henderson <rth@redhat.com> | |
19336 | ||
19337 | * config/i386/i386.c (internal_label_prefix): Export. | |
19338 | (internal_label_prefix_len, struct ix86_address, | |
19339 | ix86_decompose_address, maybe_get_pool_constant, | |
19340 | ix86_fp_compare_code_to_integer, ix86_fp_comparison_codes, | |
19341 | memory_address_length): Export. | |
19342 | (any_fp_register_operand, fp_register_operand, | |
19343 | register_and_not_any_fp_reg_operand, register_and_not_fp_reg_operand, | |
19344 | x86_64_general_operand, x86_64_szext_general_operand, | |
19345 | x86_64_nonmemory_operand, x86_64_movabs_operand, | |
19346 | x86_64_szext_nonmemory_operand, x86_64_immediate_operand, | |
19347 | x86_64_zext_immediate_operand, const_int_1_31_operand, | |
19348 | symbolic_operand, pic_symbolic_operand, local_symbolic_operand, | |
19349 | tls_symbolic_operand, global_dynamic_symbolic_operand, | |
19350 | local_dynamic_symbolic_operand, initial_exec_symbolic_operand, | |
19351 | local_exec_symbolic_operand, call_insn_operand, sibcall_insn_operand, | |
19352 | constant_call_address_operand, const0_operand, const1_operand, | |
19353 | const248_operand, const_0_to_3_operand, const_0_to_7_operand, | |
19354 | const_0_to_15_operand, const_0_to_255_operand, incdec_operand, | |
19355 | shiftdi_operand, reg_no_sp_operand, mmx_reg_operand, | |
19356 | general_no_elim_operand, nonmemory_no_elim_operand, | |
19357 | index_register_operand, q_regs_operand, flags_reg_operand, | |
19358 | non_q_regs_operand, zero_extended_scalar_load_operand, | |
19359 | vector_move_operand, no_seg_address_operand, sse_comparison_operator, | |
19360 | ix86_comparison_operator, ix86_carry_flag_operator, | |
19361 | fcmov_comparison_operator, promotable_binary_operator, | |
19362 | cmp_fp_expander_operand, ext_register_operand, binary_fp_operator, | |
19363 | mult_operator, div_operator, arith_or_logical_operator, | |
19364 | memory_displacement_operand, cmpsi_operand, long_memory_operand, | |
19365 | aligned_operand): Move to predicates.md as define_predicates. | |
19366 | (tls_symbolic_operand_1): Remove. | |
19367 | (x86_64_sign_extended_value): Merge into x86_64_immediate_operand. | |
19368 | (x86_64_zero_extended_value): Merge into x86_64_zext_immediate_operand. | |
19369 | (legitimize_address): Merge tls_symbolic_operand contents. | |
19370 | (ix86_expand_move): Likewise. | |
19371 | * config/i386/i386-protos.h: Update for exports. | |
19372 | * config/i386/i386.h (EXTRA_CONSTRAINT): Update for renames. | |
19373 | (PREDICATE_CODES, SPECIAL_MODE_PREDICATES): Remove. | |
19374 | * config/i386/i386.md: Include predicates.md. | |
19375 | * config/i386/predicates.md: New file. | |
19376 | ||
19377 | 2004-08-13 Mark Mitchell <mark@codesourcery.com> | |
19378 | ||
19379 | PR c++/16924 | |
19380 | * config/i386/winnt.c (i386_pe_mark_dllexport): Set | |
19381 | SYMBOL_REF_DECL. | |
19382 | (i386_pe_mark_dllimport): Likewise. | |
19383 | (i386_pe_encode_section_info): Likewise, when overriding | |
19384 | dllimport attribute. | |
19385 | ||
19386 | 2004-08-12 Geoffrey Keating <geoffk@apple.com> | |
19387 | ||
19388 | * configure.ac: When testing for flex, nm, ar, and bison, check | |
19389 | that they will actually be built. | |
19390 | * configure: Regenerate. | |
19391 | ||
19392 | 2004-08-12 Ulrich Weigand <uweigand@de.ibm.com> | |
19393 | ||
19394 | * config/s390/s390.h (MAX_FIXED_MODE_SIZE): Define. | |
19395 | (MOVE_MAX_PIECES): Define. | |
19396 | ||
19397 | 2004-08-12 Devang patel <dpatel@apple.com> | |
19398 | ||
19399 | * dbxout.c (dbxout_begin_prologue): New function. | |
19400 | (dbx_debug_hooks): Use new begin prologue hook. | |
19401 | (dbxout_function_end): Emit N_ENSYM. | |
19402 | * stab.def (N_BNSYM, N_ENSYM): Define and document these two new stabs. | |
19403 | ||
19404 | 2004-08-12 Janis Johnson <janis187@us.ibm.com> | |
19405 | ||
19406 | * config/rs6000/altivec.h (vec_dst): Fix C++ functions whose first | |
19407 | argument is float*. | |
19408 | ||
19409 | * config/rs6000/rs6000.c (altivec_init_builtins): Fix argument type | |
19410 | for vec_dss. | |
19411 | ||
19412 | * doc/extend.texi (AltiVec builtins): Fix description for recent | |
19413 | changes. Update operation list to match current support. | |
19414 | ||
19415 | 2004-08-12 Andreas Krebbel <krebbel1@de.ibm.com> | |
19416 | ||
19417 | * config/s390/s390.c (struct s390_frame_layout): New struct as element | |
19418 | of struct machine_function. | |
19419 | (cfun->machine->frame_size): Moved into cfun->machine->frame_layout and | |
19420 | changed all uses. | |
19421 | (cfun->machine->save_fprs_p): Replaced by cfun_save_high_fprs and | |
19422 | changed all uses. | |
19423 | (cfun_frame_layout, cfun_save_high_fprs_p, cfun_gprs_save_area_size) | |
19424 | (cfun_set_fpr_bit, cfun_fpr_bit_p): New macros. | |
19425 | (s390_frame_area, s390_register_info): New functions. | |
19426 | (s390_optimize_prolog): Renamed to s390_optimize_prologue. Added check | |
19427 | for base register. | |
19428 | (s390_return_addr_rtx, s390_return_address_offset) | |
19429 | (s390_va_start, s390_gimplify_va_arg) | |
19430 | (s390_emit_prologue, s390_emit_epilogue): Adjusted for new stack | |
19431 | layouts. | |
19432 | (s390_frame_info): Functionality partly moved to s390_register_info. | |
19433 | Made adaptions for new stack layout. | |
19434 | (save_gprs, restore_gprs): Changed meaning of second parameter and | |
19435 | adapted all callers. | |
19436 | ||
19437 | * config/s390/s390.h (s390_backchain_string): New global variable. | |
19438 | (MASK_BACKCHAIN): Removed definition. | |
19439 | (TARGET_BACKCHAIN): Changed check. | |
19440 | (TARGET_KERNEL_BACKCHAIN): New macro. | |
19441 | (TARGET_SWITCHES): Removed entries of "backchain" and "no-backchain". | |
19442 | (TARGET_OPTIONS): Added "backchain", "no-backchain" and | |
19443 | "kernel-backchain". | |
19444 | (DYNAMIC_CHAIN_ADDRESS): Adjusted for new stack layouts. | |
19445 | ||
19446 | * config/s390/s390.md ("allocate_stack"): Added TARGET_KERNEL_BACKCHAIN | |
19447 | as condition. Adjusted for new stack layout. | |
19448 | ||
19449 | * doc/invoke.texi: Added documentation for new option | |
19450 | "-mkernel-backchain" and adjusted documentation of "-mbackchain" and | |
19451 | "-mno-backchain". | |
19452 | ||
19453 | 2004-08-12 Paul Brook <paul@codesourcery.com> | |
19454 | ||
19455 | * config/arm/lib1funcs.asm (ARM_FUNC_ALIAS): Also alias _L__name. | |
19456 | (aeabi_uidivmod, aeabi_idivmod): Provide thumb implementation. | |
19457 | ||
19458 | 2004-08-12 David Daney <ddaney@avtrex.com> | |
19459 | ||
e8366202 | 19460 | * java/gcj.texi: Add subsection on signal usage. |
7a4515d7 SB |
19461 | |
19462 | 2004-08-12 David Edelsohn <edelsohn@gnu.org> | |
19463 | ||
19464 | * expr.c (move_by_pieces): Set alignment for move to minimum of | |
19465 | MOVE_MAX_PIECES mode alignment and the largest non-slow mode | |
19466 | alignment, but not less than the original alignment. | |
19467 | (move_by_pieces_ninsns): Same. | |
19468 | (can_store_by_pieces): Similar for store with STORE_MAX_PIECES. | |
19469 | (store_by_pieces_1): Same. | |
19470 | ||
19471 | 2004-08-12 Diego Novillo <dnovillo@redhat.com> | |
19472 | ||
19473 | PR tree-optimization/16867 | |
19474 | * tree.c (is_global_var): New function. | |
19475 | (needs_to_live_in_memory): Check for TREE_ADDRESSABLE. | |
19476 | Call is_global_var. | |
19477 | * tree.h (DECL_NEEDS_TO_LIVE_IN_MEMORY_INTERNAL): Remove. | |
19478 | Update all users. | |
19479 | (is_global_var): Declare. | |
19480 | * tree-dfa.c (dump_variable): Display global and addressable | |
19481 | attributes. | |
19482 | (add_referenced_var): Clarify documentation when marking | |
19483 | variables call-clobbered. | |
19484 | * tree-flow-inline.h (is_call_clobbered): Call is_global_var | |
19485 | instead of needs_to_live_in_memory. | |
19486 | (mark_call_clobbered): If the variable is a tag, mark it | |
19487 | DECL_EXTERNAL. | |
19488 | * tree-gimple.c (is_gimple_reg): Don't check for | |
19489 | TREE_ADDRESSABLE. | |
19490 | (is_gimple_non_addressable): Likewise. | |
19491 | * tree-ssa-alias.c (get_nmt_for): Always check whether the tag | |
19492 | needs to be marked call-clobbered. | |
19493 | (setup_pointers_and_addressables): Call is_global_var instead | |
19494 | of needs_to_live_in_memory. | |
19495 | * tree-ssa-dce.c (need_to_preserve_store): Remove. | |
19496 | Update all users with is_global_var. | |
19497 | (mark_stmt_if_obviously_necessary): Fix processing of aliased | |
19498 | stores. Don't check the virtual definitions. Rather, check | |
19499 | whether the store is going into global memory. | |
19500 | (find_obviously_necessary_stmts): Get the symbol from the PHI | |
19501 | result. | |
19502 | * tree-ssa-operands.c (get_call_expr_operands): Do not add | |
19503 | clobbering may-defs if the call does not have side effects. | |
19504 | ||
19505 | 2004-08-12 Jakub Jelinek <jakub@redhat.com> | |
19506 | ||
19507 | PR c++/16276 | |
19508 | * output.h (default_function_rodata_section, | |
19509 | default_no_function_rodata_section): New prototypes. | |
19510 | * target.h (struct gcc_target): Add asm_out.function_rodata_section. | |
19511 | * target-def.h (TARGET_ASM_FUNCTION_RODATA_SECTION): Define. | |
19512 | (TARGET_ASM_OUT): Add it. | |
19513 | * varasm.c (default_function_rodata_section, | |
19514 | default_no_function_rodata_section): New functions. | |
19515 | * final.c (final_scan_insn): Call | |
19516 | targetm.asm_out.function_rodata_section instead of | |
19517 | readonly_data_section. | |
19518 | * config/darwin.h (TARGET_ASM_FUNCTION_RODATA_SECTION): Define. | |
19519 | * config/mcore/mcore.c (TARGET_ASM_FUNCTION_RODATA_SECTION): Likewise. | |
19520 | * config/ip2k/ip2k.c (TARGET_ASM_FUNCTION_RODATA_SECTION): Likewise. | |
19521 | * config/rs6000/xcoff.h (TARGET_ASM_FUNCTION_RODATA_SECTION): | |
19522 | Likewise. | |
19523 | * config/alpha/alpha.c (TARGET_ASM_FUNCTION_RODATA_SECTION): Likewise. | |
19524 | * config/i386/cygming.h (TARGET_ASM_FUNCTION_RODATA_SECTION): | |
19525 | Likewise. | |
19526 | * config/i386/i386-interix.h (TARGET_ASM_FUNCTION_RODATA_SECTION): | |
19527 | Likewise. | |
19528 | * config/arm/pe.h (TARGET_ASM_FUNCTION_RODATA_SECTION): Likewise. | |
19529 | * config/avr/avr.c (TARGET_ASM_FUNCTION_RODATA_SECTION): Likewise. | |
19530 | * doc/tm.texi (TARGET_ASM_FUNCTION_RODATA_SECTION): Document. | |
19531 | ||
19532 | 2004-08-12 Paul Brook <paul@codesourcery.com> | |
19533 | ||
19534 | * dwarf2out.h (dwarf2out_frame_finish): Conditionalize outputting eh | |
19535 | frame info. | |
19536 | * doc/tm.texi: Document interaction between TARGET_UNWIND_INFO and | |
19537 | DWARF2_UNWIND_INFO. | |
19538 | ||
19539 | 2004-08-12 Ben Elliston <bje@au.ibm.com> | |
19540 | ||
19541 | PR target/16286 | |
19542 | * config/rs6000/altivec.h: Change vector to __vector throughout. | |
19543 | (Except for the `vector' macro itself). | |
19544 | ||
19545 | 2004-08-12 Zack Weinberg <zack@codesourcery.com> | |
19546 | ||
19547 | * genpreds.c: Add capability to generate predicate bodies as | |
19548 | well as function prototypes. Write function prototypes for | |
19549 | the generic predicates too. | |
19550 | (process_define_predicate, write_tm_preds_h, write_insn_preds_c) | |
19551 | (write_predicate_subfunction, mark_mode_tests, add_mode_tests) | |
19552 | (write_match_code, write_predicate_expr, write_one_predicate_function) | |
19553 | (parse_option): New functions. | |
19554 | (output_predicate_decls): Delete. | |
19555 | (main): Read the machine description, process DEFINE_PREDICATE or | |
19556 | DEFINE_SPECIAL_PREDICATE patterns, write tm-preds.h or insn-preds.c | |
19557 | as appropriate. | |
19558 | ||
19559 | * genrecog.c (struct decision_test): Replace index with | |
19560 | struct pred_data pointer. | |
19561 | (next_index): Remove, unused. | |
19562 | (pred_table, preds, special_mode_pred_table): Delete. | |
19563 | (compute_predicate_codes, process_define_predicate): New functions. | |
19564 | (validate_pattern, add_to_sequence, write_switch): Update for | |
19565 | new data structures. | |
19566 | (main): Handle DEFINE_PREDICATE and DEFINE_SPECIAL_PREDICATE. | |
19567 | Check both error_count and have_error. | |
19568 | ||
19569 | * gensupport.c (in_fname, first_predicate): New globals. | |
19570 | (define_pred_queue, define_pred_tail): New RTL-pattern queue. | |
19571 | (predicate_table, last_predicate, old_pred_table) | |
19572 | (old_special_pred_table): New statics. | |
19573 | (hash_struct_pred_data, eq_struct_pred_data, lookup_predicate) | |
19574 | (add_predicate, init_predicate_table): New functions. | |
19575 | (process_rtx): Handle DEFINE_PREDICATE and DEFINE_SPECIAL_PREDICATE. | |
19576 | (init_md_reader_args_cb): Use the global in_fname. No need to zero | |
19577 | it or max_include_len. Call init_predicate_table. | |
19578 | (read_rtx): Run the predicate queue after the attribute queue | |
19579 | but before all the others. | |
19580 | * gensupport.h (in_fname, struct pred_data, first_predicate) | |
19581 | (lookup_predicate, add_predicate, FOR_ALL_PREDICATES): Declare. | |
19582 | * rtl.def (MATCH_CODE, MATCH_TEST, DEFINE_PREDICATE) | |
19583 | (DEFINE_SPECIAL_PREDICATE): New RTL codes. | |
19584 | * dummy-conditions.c: Don't include bconfig.h, system.h, | |
19585 | coretypes.h, tm.h, or system.h. Do include stddef.h. | |
19586 | Duplicate declaration of struct c_test from gensupport.h. | |
19587 | ||
19588 | * Makefile.in (OBJS-common): Add insn-preds.o. | |
19589 | (STAGESTUFF, .PRECIOUS): Add insn-preds.c. | |
19590 | (insn-preds.c, insn-preds.o): New rules. | |
19591 | (s-preds): Also generate insn-preds.c. | |
19592 | (dummy-conditions.o, genpreds$(build_exeext), genpreds.o): | |
19593 | Update dependencies. | |
19594 | (print-rtl.o, print-rtl1.o): Correct dependencies. | |
19595 | ||
19596 | * recog.h: Delete prototypes of predicate functions. | |
19597 | ||
19598 | * doc/md.texi (Predicates): New section with complete | |
19599 | documentation of operand/operator predicates. Remove some | |
19600 | incomplete documentation of predicates from other places. | |
19601 | * doc/tm.texi (Misc): Move SPECIAL_MODE_PREDICATES next to | |
19602 | PREDICATE_CODES; indicate that both are deprecated in favor | |
19603 | of define_predicate/define_special_predicate. | |
19604 | ||
19605 | * config/ia64/ia64.c: All predicate function definitions moved | |
19606 | to ia64.md, except | |
19607 | (small_addr_symbolic_operand, tls_symbolic_operand): Delete. | |
19608 | (ia64_expand_load_address, ia64_expand_move): | |
19609 | Check SYMBOL_REF_TLS_MODEL directly, don't use tls_symbolic_operand. | |
19610 | ||
19611 | * config/ia64/ia64.md: All predicates now defined here. | |
19612 | (symbolic_operand): Is now a special predicate. | |
19613 | ||
19614 | * config/ia64/ia64.h: Declare ia64_section_threshold. | |
19615 | (PREDICATE_CODES): Delete. | |
19616 | ||
19617 | 2004-08-12 Richard Henderson <rth@redhat.com> | |
19618 | ||
19619 | * c-common.h (STATEMENT_LIST_HAS_LABEL): New. | |
19620 | * c-semantics.c (add_stmt): Set it. | |
19621 | * c-decl.c (finish_decl): Use it to create a new BIND_EXPR | |
19622 | before instantiating a variable sized type. | |
19623 | ||
19624 | 2004-08-12 Richard Henderson <rth@redhat.com> | |
19625 | ||
19626 | * stor-layout.c (round_up, round_down): Move ... | |
19627 | * fold-const.c (round_up, round_down): ... here. Use | |
19628 | multiple_of_p to avoid any arithmetic at all. | |
19629 | ||
19630 | 2004-08-12 Richard Henderson <rth@redhat.com> | |
19631 | ||
19632 | * gimplify.c (struct gimplify_init_ctor_preeval_data): New. | |
19633 | (gimplify_init_ctor_preeval_1): New. | |
19634 | (gimplify_init_ctor_preeval): New. | |
19635 | (gimplify_init_ctor_eval): New. | |
19636 | (gimplify_init_constructor): Use them. Always gimplify the LHS | |
19637 | object first. | |
19638 | ||
19639 | 2004-08-12 Ziemowit Laski <zlaski@apple.com> | |
19640 | ||
19641 | (This patch is part of merge of objc-improvements-branch | |
19642 | into mainline.) | |
19643 | ||
19644 | * doc/frontends.texi: Mention Objective-C++ in addition to | |
19645 | Objective-C. | |
19646 | * doc/install.texi: Add 'obj-c++' to list of configurable | |
19647 | languages. | |
19648 | * doc/invoke.texi: Rename Objective-C option headings to | |
19649 | indicate they also apply to Objective-C++. List file | |
19650 | extensions for Objective-C++ sources. Mention that | |
19651 | ObjC and ObjC++ compilations may also use C and C++ options, | |
19652 | respectively. Point users to doc/standards.texi for | |
19653 | further info on ObjC and ObjC++. | |
19654 | * doc/sourcebuild.texi: Mention the objcp/ directory and | |
19655 | the Objective-C++ sources it contains. | |
19656 | * doc/standards.texi: Update link to Apple ObjC site; | |
19657 | add link to gcc readings.html WWW doc. | |
19658 | ||
19659 | 2004-08-12 Alan Modra <amodra@bigpond.net.au> | |
19660 | ||
19661 | * config/rs6000/rs6000.c (function_arg_padding): Revert 2004-07-28 | |
19662 | and 2004-07-14 changes. | |
19663 | ||
19664 | 2004-08-12 Paul Brook <paul@codesourcery.com> | |
19665 | ||
19666 | * doc/invoke.texi: Fix typo. | |
19667 | ||
19668 | 2004-08-11 Devang Patel <dpatel@apple.com> | |
19669 | ||
19670 | * config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Add -dead_strip | |
19671 | and -no_dead_strip_inits_and_terms. | |
19672 | (LINK_SPEC): Same. | |
19673 | * doc/invoke.texi (Darwin Options): Document -dead_strip and | |
19674 | -no_dead_strip_inits_and_terms. | |
19675 | ||
19676 | 2004-08-11 Paul Brook <paul@codesourcery.com> | |
19677 | ||
19678 | * config/arm/arm-protos.h (arm_finalize_pic) Rename ... | |
19679 | (arm_load_pic_register): ... to this. | |
19680 | * config/arm/arm.c (arm_finalize_pic): Rename ... | |
19681 | (arm_load_pic_register): ... to this. Always output insns at the | |
19682 | current location. Load via low reg in thumb mode. | |
19683 | (arm_expand_prologue): Call arm_load_pic_register. | |
19684 | (thumb_expand_prologue): Ditto. | |
19685 | * config/arm/arm.h (FINALIZE_PIC): Remove. | |
19686 | * config/arm/arm.md (builtin_setjmp_receiver): Call | |
19687 | arm_load_pic_register. | |
19688 | ||
19689 | 2004-08-11 Paul Brook <paul@codesourcery.com> | |
19690 | ||
19691 | * arm.c (thumb_force_lr_save): Add prototype. | |
19692 | (thumb_compute_save_reg_mask): New function. | |
19693 | (thumb_find_work_register): New function. | |
19694 | (arm_get_frame_offsets): Use thumb_compute_save_reg_mask. | |
19695 | (thumb_unexpanded_epilogue): Ditto. Remove redundant code. | |
19696 | Don't clobber r3 when removing pretend args. | |
19697 | (thumb_expand_prologue): Use thumb_compute_save_reg_mask. | |
19698 | (thumb_output_function_prologue): Use new functions. | |
19699 | (thumb_set_return_address): Use thumb_compute_save_reg_mask. | |
19700 | * arm.h (THUMB_REG_PUSHED_P): Remove. | |
19701 | ||
19702 | 2004-08-11 James E Wilson <wilson@specifixinc.com> | |
19703 | ||
19704 | PR rtl-optimization/16490 | |
19705 | * cfgrtl.c (cfg_layout_split_edge): Set global_live_at_start and | |
19706 | global_live_at_end for new basic block if already set for other blocks. | |
19707 | ||
19708 | 2004-08-11 David Edelsohn <edelsohn@gnu.org> | |
19709 | ||
19710 | * config/rs6000/rs6000.h (MAX_FIXED_MODE_SIZE): Define. | |
19711 | ||
19712 | * config/rs6000/rs6000.md (mfcr rlwinm patterns): Set length to 8. | |
19713 | (mfcr rlwinm rlwinm patterns): Set length to 12. | |
19714 | ||
19715 | 2004-08-11 Andrew MacLeod <amacleod@redhat.com> | |
19716 | ||
19717 | * tree-flow-inline.h (get_def_ops, get_use_ops, get_v_may_def_ops, | |
19718 | get_vuse_ops,get_v_must_def_ops): Add operand structure reference. | |
19719 | (get_v_may_def_result_ptr, get_v_may_def_op_ptr): New access struct. | |
19720 | (start_ssa_stmt_operands): Delete. | |
19721 | * tree-flow.h (struct stmt_ann_d): Replace operand vectors with new | |
19722 | struct stmt_operands_d. | |
19723 | (build_ssa_operands): New extern entry point. | |
19724 | * tree-ssa-dom.c (record_equivalences_from_stmt): Remove operand | |
19725 | building code, replace with create_ssa_artficial_load_stmt(). | |
19726 | * tree-ssa-operands.c (struct voperands_d): Delete. | |
19727 | (allocate_v_may_def_optype): Allocate v_may_def_operand_type_t vector. | |
19728 | (allocate_v_must_def_optype): Use sizeof (tree), not sizeof (tree *). | |
19729 | (free_uses, free_defs, free_vuses, free_v_may_defs, | |
19730 | free_v_must_defs): Remove dealloc parameter. | |
19731 | (remove_vuses, remove_v_may_def, remove_v_must_defs): Delete. | |
19732 | (finalize_ssa_defs, finalize_ssa_uses, finalize_ssa_v_may_defs, | |
19733 | finalize_ssa_vuses, finalize_ssa_v_must_defs): Perform all operand | |
19734 | vector comparisons, ssa_name reuse, and allocations here. | |
19735 | (verify_start_operands): Delete. | |
19736 | (finalize_ssa_stmt_operands): Set new operands by calling finalize | |
19737 | routines. | |
19738 | (start_ssa_stmt_operands): Move from tree-flow-inline.h. | |
19739 | (append_def, append_usei): Simplify to simple accumulation. | |
19740 | (append_v_may_def, append_vuse, append_v_must_def): Simplify to avoiding | |
19741 | duplicates and simple accumulation. | |
19742 | (free_ssa_operands): Free vectors in a stmt_operand structure. | |
19743 | (build_ssa_operands): New. Create a new stmt_operand structure from | |
19744 | a stmt and an old set of stmt_operands. | |
19745 | (get_stmt_operands): Simplify and call build_ssa_operands. | |
19746 | (get_expr_operands, get_asm_expr_operands, get_indirect_ref_operands, | |
19747 | get_call_expr_operands, add_stmt_operand, add_call_clobber_ops, | |
19748 | add_call_read_ops): Don't pass prev_vops around anymore. | |
19749 | (note_addressable): Return if no stmt annotation. | |
19750 | (copy_virtual_operands): Access v_may_def operands through a struct. | |
19751 | (create_ssa_artficial_load_stmt): New. Create a load stmt for DOM's | |
19752 | hash tables without treating the stmt as a real stmt. | |
19753 | * tree-ssa-operands.h (struct v_may_def_operand_type): New. Access | |
19754 | v_may_def def and use through a struct instead of 2 array elements. | |
19755 | (struct v_may_def_optype_d): Use v_may_def_operand_type. | |
19756 | (struct stmt_operands_d): New. Struct for storing all operand vectors. | |
19757 | ||
19758 | 2004-08-11 Nick Clifton <nickc@redhat.com> | |
19759 | ||
19760 | * config/arm/arm.c (arm_is_longcall_p): Update comment describing | |
19761 | this funciton's behaviour. Return true when the current function | |
19762 | has a section attribute and -mlong-calls is in effect. | |
19763 | * config/arm/arm.h (ARM_DECLARE_FUNCTION_SIZE): Do not set the | |
19764 | short-call marker when -mlong-calls is in effect and the function | |
19765 | has a section attribute. | |
19766 | ||
19767 | 2004-08-10 Zack Weinberg <zack@codesourcery.com> | |
19768 | ||
19769 | * stmt.c (expand_return): If asked to return the RESULT_DECL, | |
19770 | just call expand_value_return on result_rtl. | |
19771 | ||
19772 | 2004-08-10 Richard Henderson <rth@redhat.com> | |
19773 | ||
19774 | * builtins.def (BUILT_IN_STACK_ALLOC): Remove. | |
19775 | * builtins.c (expand_builtin) <BUILT_IN_STACK_ALLOC>: Remove. | |
19776 | * dwarf2out.c (loc_descriptor): Handle PARALLEL here ... | |
19777 | (add_location_or_const_value_attribute): ... not here. Use | |
19778 | loc_descriptor_from_tree if possible. | |
19779 | (loc_descriptor_from_tree_1): Rename from loc_descriptor_from_tree. | |
19780 | Simplify address handling. Handle DECL_VALUE_EXPR. Handle register | |
19781 | values specially. | |
19782 | (loc_descriptor_from_tree): New. Update callers. | |
19783 | * expr.c (expand_var): Ignore DECL_VALUE_EXPR variables. | |
19784 | * gimplify.c (gimplify_decl_expr): Lower variable sized types to | |
19785 | pointer plus dereference. Set DECL_VALUE_EXPR. Set save_stack. | |
19786 | (gimplify_call_expr): Do not recognize BUILT_IN_STACK_ALLOC | |
19787 | and BUILT_IN_STACK_RESTORE. | |
19788 | (gimplify_expr): Lower DECL_VALUE_EXPR decls. | |
19789 | * stmt.c (expand_stack_alloc): Remove. | |
19790 | * tree-mudflap.c (mx_register_decls): Don't look for | |
19791 | BUILT_IN_STACK_ALLOC. | |
19792 | * tree-nested.c (convert_local_reference): Likewise. | |
19793 | * tree.h (DECL_VALUE_EXPR): New. | |
19794 | ||
19795 | 2004-08-10 Richard Henderson <rth@redhat.com> | |
19796 | ||
19797 | * stor-layout.c (round_up): Check for 0/1 before dividing. | |
19798 | (round_down): Likewise. | |
19799 | ||
19800 | * tree-tailcall.c (suitable_for_tail_opt_p): Also check DECL_EXTERNAL. | |
19801 | ||
19802 | 2004-08-09 Mark Mitchell <mark@codesourcery.com> | |
19803 | ||
19804 | * config.gcc (arm*-*-eabi*): New target. | |
19805 | * defaults.h (TARGET_LIBGCC_FUNCS): New macro. | |
19806 | (TARGET_LIB_INT_CMP_BIASED): Likewise. | |
19807 | * expmed.c (expand_divmod): Try a two-valued divmod function as a | |
19808 | last resort. | |
19809 | * gthr.h: Remove bogus tokens at end of #pragma. | |
19810 | * optabs.c (expand_twoval_binop_libfunc): New function. | |
19811 | (prepare_cmp_insn): Handle the !TARGET_LIB_INT_CMP_BIASED case. | |
19812 | (prepare_float_lib_cmp): Try reversing the condition. | |
19813 | (debug_optab_libfuncs): New function. | |
19814 | * optabs.h (expand_twoval_binop_libfunc): Declare. | |
19815 | * config/arm/arm.c (arm_init_libfuncs): New function. | |
19816 | (arm_compute_initial_eliminatino_offset): Return HOST_WIDE_INT. | |
19817 | (TARGET_INIT_LIBFUNCS): Define it. | |
19818 | * config/arm/arm.h (TARGET_BPABI): New macro. | |
19819 | * config/arm/arm-protos.h | |
19820 | (arm_compute_initial_elimination_offset): Return HOST_WIDE_INT. | |
19821 | * config/arm/bpabi.S: New file. | |
19822 | * config/arm/bpabi.c: Likewise. | |
19823 | * config/arm/bpabi.h: Likewise. | |
19824 | * config/arm/ieee754-df.S (__aeabi_dneg): New function or alias. | |
19825 | (__aeabi_drsub): Likewise. | |
19826 | (__aeabi_dsub): Likewise. | |
19827 | (__aeabi_dadd): Likewise. | |
19828 | (__aeabi_ui2d): Likewise. | |
19829 | (__aeabi_i2d): Likewise. | |
19830 | (__aeabi_f2d): Likewise. | |
19831 | (__aeabi_dmul): Likewise. | |
19832 | (__aeabi_ddiv): Likewise. | |
19833 | (__aeabi_cdrcmple): Likewise. | |
19834 | (__aeabi_cdcmpeq): Likewise. | |
19835 | (__aeabi_cdcmple): Likewise. | |
19836 | (__aeabi_dcmpeq): Likewise. | |
19837 | (__aeabi_dcmplt): Likewise. | |
19838 | (__aeabi_dcmple): Likewise. | |
19839 | (__aeabi_dcmpge): Likewise. | |
19840 | (__aeabi_dcmpgt): Likewise. | |
19841 | (__aeabi_dcmpun): Likewise. | |
19842 | (__aeabi_d2iz): Likewise. | |
19843 | (__aeabi_d2uiz): Likewise. | |
19844 | (__aeabi_d2f): Likewise. | |
19845 | * config/arm/ieee754-sf.S (__aeabi_fneg): New function or alias. | |
19846 | (__aeabi_frsub): Likewise. | |
19847 | (__aeabi_fsub): Likewise. | |
19848 | (__aeabi_fadd): Likewise. | |
19849 | (__aeabi_ui2f): Likewise. | |
19850 | (__aeabi_i2f): Likewise. | |
19851 | (__aeabi_fmul): Likewise. | |
19852 | (__aeabi_fdiv): Likewise. | |
19853 | (__aeabi_cfrcmple): Likewise. | |
19854 | (__aeabi_cfcmpeq): Likewise. | |
19855 | (__aeabi_cfcmple): Likewise. | |
19856 | (__aeabi_fcmpeq): Likewise. | |
19857 | (__aeabi_fcmplt): Likewise. | |
19858 | (__aeabi_fcmple): Likewise. | |
19859 | (__aeabi_fcmpge): Likewise. | |
19860 | (__aeabi_fcmpgt): Likewise. | |
19861 | (__aeabi_fcmpun): Likewise. | |
19862 | (__aeabi_f2iz): Likewise. | |
19863 | (__aeabi_f2uiz): Likewise. | |
19864 | * config/arm/lib1funcs.asm (ARM_CALL): New macro. | |
19865 | (__aeabi_uidivmod): New function or alias. | |
19866 | (__aeabi_idivmod): Likewise. | |
19867 | (__aeabi_idiv0): Likewise. | |
19868 | (__aeabi_ldiv0): Likewise. | |
19869 | (__aeabi_llsr): Likewise. | |
19870 | (__aeabi_lasr): Likewise. | |
19871 | (__aeabi_llsl): Likewise. | |
19872 | (bpabi.S): Include it. | |
19873 | * config/arm/libgcc-bpabi.ver: New file. | |
19874 | * config/arm/symbian.h (ARM_DEFAULT_ABI): Remove. | |
19875 | (LINK_SPEC): Remove. | |
19876 | * config/arm/t-arm-elf (LIB1ASMFUNCS): Add __aeabi_lcmp and | |
19877 | __aeabi_ulcmp. | |
19878 | * config/arm/t-bpabi: New file. | |
19879 | * doc/tm.texi (TARGET_LIBGCC_FUNCS): New entry. | |
19880 | (TARGET_LIB_INT_CMP_BIASED): Likewise. | |
19881 | ||
19882 | 2004-08-10 David Edelsohn <edelsohn@gnu.org> | |
19883 | ||
19884 | * config/rs6000/rs6000-protos.h (expand_block_clear): Declare. | |
19885 | * config/rs6000/rs6000.md (clrmemsi): New pattern. | |
19886 | * config/rs6000/rs6000.c (expand_block_clear): New function. | |
19887 | (expand_block_move): Convert alignment to bits. Use SImode and | |
19888 | HImode for unaligned addresses if not STRICT_ALIGNMENT. | |
19889 | ||
19890 | 2004-08-10 Caroline Tice <ctice@apple.com> | |
19891 | ||
19892 | * varasm.c (unlikely_section_label): New global variable. | |
19893 | (unlikely_text_section_name): New global variable. | |
e8366202 | 19894 | (text_section): Remove alignment statement. |
7a4515d7 SB |
19895 | (unlikely_text_section): Remove alignment statement; use |
19896 | unlikely_section_label rather than hard-coded string. | |
19897 | (assemble_start_function): Initialize unlikely_section_label and | |
19898 | unlikely_text_section_name; make sure cold section is properly | |
19899 | aligned at start of function; output unlikely_section_label if | |
19900 | appropriate. | |
19901 | ||
19902 | 2004-08-10 Ulrich Weigand <uweigand@de.ibm.com> | |
19903 | ||
19904 | * config/s390/s390-protos.h (s390_canonicalize_comparison): Declare. | |
19905 | * config/s390/s390.c (s390_canonicalize_comparison): New function. | |
19906 | * config/s390/s390.h (CANONICALIZE_COMPARISON): Define. | |
19907 | * config/s390/s390.md ("*tmdi_ext", "*tmsi_ext", "*tmqisi_ext", | |
19908 | "*tmqidi_ext", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem"): Remove. | |
19909 | ("*tmqi_mem"): Remove SUBREG from pattern. | |
19910 | ("*anddi3_cconly"): Prevent accidentally matching TM pattern. | |
19911 | ("*andsi3_cconly"): Likewise. | |
19912 | ||
19913 | 2004-08-10 H.J. Lu <hongjiu.lu@intel.com> | |
19914 | ||
19915 | PR target/16909 | |
19916 | * config/i386/i386.md (*strsetdi_rex_1): Use DI instead of SI. | |
19917 | ||
19918 | 2004-08-10 Janis Johnson <janis187@us.ibm.com> | |
19919 | ||
19920 | * doc/sourcebuild.texi (compat testing): Document available test | |
19921 | framework commands. Use the preferred spelling of DejaGnu. | |
19922 | ||
19923 | 2004-08-10 Daniel Berlin <dberlin@dberlin.org> | |
19924 | ||
19925 | * lambda.h: Add matrix type, and prototypes for remainder of | |
19926 | matrix and vector functions. | |
19927 | (lambda_vector_mult_const): New function. | |
19928 | (lambda_vector_negate): Ditto. | |
19929 | (lambda_vector_add): Ditto. | |
19930 | (lambda_vector_add_mc): Ditto. | |
19931 | (lambda_vector_copy): Ditto. | |
19932 | (lambda_vector_zerop): Ditto. | |
19933 | (lambda_vector_equal): Ditto. | |
19934 | (lambda_vector_min_nz): Ditto. | |
19935 | (lambda_vector_first_nz): Ditto. | |
19936 | (lambda_vector_matrix_mult): Ditto. | |
19937 | * lambda-mat.c: New file. | |
19938 | * Makefile.in (lambda-mat.o): New. | |
19939 | ||
19940 | 2004-08-10 Andrew MacLeod <amacleod@redhat.com> | |
19941 | ||
19942 | * tree-cfg.c (bsi_insert_before, bsi_insert_after): Call modify_stmt | |
19943 | after linking stmt into the program. | |
19944 | (bsi_remove): Don't call modify_stmt. | |
19945 | * tree-complex.c (update_complex_assignment, | |
19946 | expand_complex_comparison): Call modify_stmt after changing the stmt. | |
19947 | * tree-outof-ssa.c (rewrite_trees): Call modify_stmt only if not | |
19948 | removing the stmt. | |
19949 | * tree-ssa-ccp.c (substitute_and_fold): Call modify_stmt after changing | |
19950 | the stmt, and only if needed. | |
19951 | * tree-ssa-dom.c (thread_across_edge): Pass no annotation for a dummy | |
19952 | expression. | |
19953 | (simplify_rhs_and_lookup_avail_expr): Don't take an annotation param. | |
19954 | (simplify_cond_and_lookup_avail_expr): Use modify_stmt. | |
19955 | (simplify_switch_and_lookup_avail_expr): Don't take an annotation param. | |
19956 | (eliminate_redundant_computations): Don't pass an annotation. Call | |
19957 | modify_stmt rather than setting the annotation directly. | |
19958 | (record_equivalences_from_stmt): Remove unused local 'j'. | |
19959 | (cprop_operand): Take a stmt rather than an annotation as a parameter. | |
19960 | Call modify_stmt. | |
19961 | (cprop_into_stmt): Pass stmt rather than annotation. | |
19962 | (update_rhs_and_lookup_avail_expr): Call modify_stmt. | |
19963 | * tree-ssa-loop-im.c (schedule_sm): Call get_stmt_ann rather than | |
19964 | modify_stmt. | |
19965 | * tree-ssa.c (propagate_into_addr): Dont call modify_stmt. | |
19966 | ||
19967 | 2004-08-10 Jason Merrill <jason@redhat.com> | |
19968 | ||
19969 | PR middle-end/16948 | |
19970 | * function.c (expand_function_start): Handle DECL_BY_REFERENCE on | |
19971 | the RESULT_DECL. | |
19972 | ||
19973 | 2004-08-10 Geoffrey Keating <geoffk@apple.com> | |
19974 | ||
19975 | * tree-vn.c (val_expr_pair_expr_eq): Compare vuses, to match the | |
19976 | hash function. | |
19977 | ||
19978 | 2004-08-10 Roger Sayle <roger@eyesopen.com> | |
19979 | ||
19980 | * config/mips/mips.md: New reciprocal square root patterns that | |
19981 | match sqrt(1.0/x) in addition to the existing 1.0/sqrt(x) insns. | |
19982 | ||
19983 | 2004-08-10 Paul Brook <paul@codesourcery.com> | |
19984 | ||
19985 | * config/arm/arm-protos.h (arm_set_return_address, | |
19986 | thumb_set_return_address): Add prototypes. | |
19987 | * config/arm/arm.h (ARM_FT_EXCEPTION_HANDLER): Remove. | |
19988 | * config/arm/arm.c (arm_compute_func_type, | |
19989 | use_return_insn, arm_compute_save_reg0_reg12_mask, | |
19990 | arm_compute_save_reg_mask, arm_output_function_prologue, | |
19991 | arm_output_epilogue): Replace ARM_FT_EXCEPTION_HANDLER with | |
19992 | current_function_calls_eh_return. | |
19993 | (thumb_exit, thumb_pushpop, thumb_unexpanded_epilogue): Replace | |
19994 | old eh code. | |
19995 | (arm_set_return_address, thumb_set_return_address): New functions. | |
19996 | * config/arm/arm.h (MUST_USE_SJLJ_EXCEPTIONS, DWARF2_UNWIND_INFO, | |
19997 | ARM_EH_STACKADJ_REGNUM, EH_RETURN_STACKADJ_RTX): Define. | |
19998 | * config/arm/arm.md (VUNSPEC_EH_RETURN): Add. | |
19999 | (epilogue): Use the stackadj register. | |
20000 | (eh_return, arm_eh_return, thumb_eh_return): New pattern. | |
20001 | ||
20002 | 2004-08-10 Jakub Jelinek <jakub@redhat.com> | |
20003 | ||
20004 | PR target/3144 | |
20005 | * expr.c (move_by_pieces_ninsns): Add max_size argument. | |
20006 | (MOVE_BY_PIECES_P): Pass MOVE_MAX_PIECES + 1 to it. | |
20007 | (CLEAR_BY_PIECES_P): Pass STORE_MAX_PIECES + 1 to it. | |
20008 | (STORE_BY_PIECES_P): Define similarly to CLEAR_BY_PIECES_P, | |
20009 | but using MOVE_RATIO. | |
20010 | (move_by_pieces): Pass max_size to move_by_pieces_ninsns. | |
20011 | (can_store_by_pieces): Change max_size type to unsigned int. | |
20012 | (store_by_pieces_1): Likewise. Pass max_size to | |
20013 | move_by_pieces_ninsns. | |
20014 | * config/s390/s390.h (STORE_BY_PIECES_P): Define. | |
20015 | * config/sh/sh.c (MOVE_BY_PIECES_P): Pass MOVE_MAX_PIECES + 1 | |
20016 | to move_by_pieces_ninsns. | |
20017 | (STORE_BY_PIECES_P): Define. | |
20018 | * config/ns32k/ns32k.h (STORE_BY_PIECES_P): Pass STORE_MAX_PIECES + 1 | |
20019 | to move_by_pieces_ninsns. | |
20020 | * doc/tm.texi (STORE_BY_PIECES_P): Document changed default. | |
20021 | ||
20022 | * config/i386/i386.h (CLEAR_RATIO): Define. | |
20023 | ||
20024 | 2004-08-09 Paolo Bonzini <bonzini@gnu.org> | |
20025 | ||
20026 | * expr.c (expand_expr_real_1): Add back code that was not dead. | |
20027 | ||
20028 | 2004-08-09 Andrew Pinski <apinski@apple.com> | |
20029 | ||
20030 | * c-common.c (c_common_get_alias_set): Set the aliasing set of the type | |
20031 | which is found to be compatible before returning the aliasing set. | |
20032 | ||
20033 | 2004-08-09 Daniel Jacobowitz <dan@debian.org> | |
20034 | ||
20035 | * ggc-zone.c (struct alloc_zone): Add statistics counters. | |
20036 | (always_collect): New flag. | |
20037 | (ggc_alloc_zone_1): Update statistics support. Don't include | |
20038 | overhead in allocated counter. | |
20039 | (sweep_pages): Update allocated counter for large pages. Don'y | |
20040 | include overhead. | |
20041 | (ggc_collect_1): Always collect. | |
20042 | (ggc_collect): Honor always_collect flag. Sum all zones to decide | |
20043 | whether to collect. | |
20044 | (SCALE, LABEL): New macros. | |
20045 | (ggc_print_statistics): Add statistics support. | |
20046 | ||
20047 | 2004-08-09 Roger Sayle <roger@eyesopen.com> | |
20048 | ||
20049 | * expmed.c (sdiv_pow2_cheap, smod_pow2_cheap): Change type to bool. | |
20050 | (init_expmed): Fix potential overrun problem with "all.reg". | |
20051 | (expand_sdiv2_pow2): Add an alternate implementation for signed | |
20052 | division, if the target provides a suitable conditional move insn. | |
20053 | ||
20054 | 2004-08-09 Paul Brook <paul@codesourcery.com> | |
20055 | Richard Henderson <rth@redhat.com> | |
20056 | ||
20057 | * unwind-dw2.c (uw_install_context_1): Update target saved stack | |
20058 | pointer. | |
20059 | ||
20060 | 2004-08-09 Geoffrey Keating <geoffk@apple.com> | |
20061 | ||
20062 | * ggc-common.c (ggc_rlimit_bound): Don't check RSS limit. | |
20063 | Check DATA limit only if there's no AS limit. Ignore insanely | |
20064 | low DATA limits. | |
20065 | (ggc_min_heapsize_heuristic): Don't divide AS or RSS limits by 8, | |
20066 | but take care that the AS limit isn't overrun. | |
20067 | * doc/invoke.texi: Update documentation of min-heapsize parameter. | |
20068 | ||
20069 | 2004-08-09 Jeff Law <law@redhat.com> | |
20070 | ||
20071 | * Makefile.in (OBJC-common): Add tree-ssa-threadupdate.c | |
20072 | (tree-ssa-threadupdate.o): Add dependencies. | |
20073 | * tree-ssa-threadupdate.c: New file. | |
20074 | * tree-flow.h (incoming_edge_threaded): New flag in block annotation. | |
20075 | (rewrite_vars_out_of_ssa): Remove prototype. | |
20076 | (cleanup_tree_cfg): Returns a bool. | |
20077 | * tree.h (thread_through_all_blocks): Prototype. | |
20078 | * tree-outof-ssa.c (SSANORM_*): Move into here. | |
20079 | (remove_ssa_form): Now static. | |
20080 | (rewrite_vars_out_of_ssa): Kill. | |
20081 | * tree-ssa-live.c (register_ssa_partitions_for_vars): Kill. | |
20082 | * tree-ssa-live.h (SSANORM_*): Moved into tree-outof-ssa.c. | |
20083 | (remove_ssa_form, register_partitions_for_vars): Kill declarations. | |
20084 | * tree-cfg.c (cleanup_tree_cfg): Return a value indicating if | |
20085 | anything was changed. | |
20086 | * tree-phinodes.c (add_phi_arg): Get the block for the PHI | |
20087 | from the PHI's annotation rather than the edge associated with | |
20088 | the new argument. | |
20089 | * tree-ssa-dom.c (redirection_edges): Kill. | |
20090 | (redirect_edges_and_update_ssa_graph): Kill. | |
20091 | (tree_ssa_dominator_optimize): Do not reset forwardable flag | |
20092 | for blocks anymore. Do not initialize redirection_edges. | |
20093 | Call thread_through_all_blocks. Simplify code for cleanup | |
20094 | of the CFG and iterating. No longer call cleanup_tree_cfg | |
20095 | outside the iteration loop. | |
20096 | (thread_across_edge): No longer mess with forwardable blocks. | |
20097 | ||
20098 | 2004-08-09 Zack Weinberg <zack@codesourcery.com> | |
20099 | ||
20100 | * explow.c (memory_address): Use memory_address_p. | |
20101 | * recog.c (general_operand): Likewise. | |
20102 | * regrename.c: No need to define REG_OK_STRICT. | |
20103 | ||
20104 | 2004-08-09 Steven Bosscher <stevenb@suse.de> | |
20105 | ||
20106 | * timevar.def (TV_CPROP1, TV_CPROP2, TV_PRE, TV_HOIST, TV_LSM): | |
20107 | New timers. | |
20108 | * gcse.c: Include timevar.h. | |
20109 | (const_prop_count, copy_prop_count): Rename to global_const_prop_count | |
20110 | and global_copy_prop_count. | |
20111 | (local_const_prop_count, local_copy_prop_count): New static globals. | |
20112 | (gcse_main): Set the right timevar for each pass. | |
20113 | (cprop_jump): Increment global_const_prop_count when a constant is | |
20114 | propagated. Add "GLOBAL" to dump output. | |
20115 | (cprop_insn): Increment global_const_prop_count when a constant is | |
20116 | propagated, or global_copy_prop_count when a copy is propagated. | |
20117 | (do_local_cprop): Likewise for local_const_prop_count and | |
20118 | local_copy_prop_count. | |
20119 | (one_cprop_pass): Initialize const/cprop counters to zero. | |
20120 | Print out results of local and global const/cprop separately. | |
20121 | (bypass_block): Break over-length line. | |
20122 | * Makefile.in (gcse.o): Add TIMEVAR_H dependency. Fix dependencies | |
20123 | for bb-reorder.o and tracer.o. | |
20124 | ||
20125 | 2004-08-09 Paolo Bonzini <bonzini@gnu.org> | |
20126 | ||
20127 | * Makefile.in (GTFILES): Remove stmt.c | |
20128 | (stmt.o): Do not depend on gt-stmt.h. | |
20129 | * emit-rtl.c (emit_line_note): Do not call | |
20130 | set_file_and_line_for_stmt. | |
20131 | * expr.c (expand_expr_real_1) <SWITCH_EXPR>: Let expand_case | |
20132 | do everything. | |
20133 | * function.c (free_after_parsing): Do not free STMT field. | |
20134 | (allocate_struct_function): Do not call init_stmt_for_function. | |
20135 | (assign_stack_temp_for_type): Do not accept values of keep | |
20136 | other than 0 or 1. | |
20137 | (init_temp_slots): Do not initialize removed variables. | |
20138 | * function.h (struct function): Remove STMT, X_TARGET_TEMP_SLOT_LEVEL | |
20139 | and X_VAR_TEMP_SLOT_LEVEL fields. | |
20140 | * rtl.h (set_file_and_line_for_stmt): Remove. | |
20141 | * stmt.c (struct nesting, ALLOC_NESTING, POPSTACK, | |
20142 | struct stmt_status, cond_stack, case_stack, nesting_stack, | |
20143 | nesting_depth, emit_locus, set_file_and_line_for_stmt, | |
20144 | same_case_target_p, init_stmt_for_function, emit_nop, | |
20145 | expand_start_cond, expand_start_elseif, expand_start_else, | |
20146 | expand_elseif, expand_end_cond): Remove. | |
20147 | (preserve_subexpressions_p): Remove references to CFUN->STMT. | |
20148 | (expand_start_case, expand_end_case_type): Remove, merge into... | |
20149 | (expand_case): ... this one, including other bits from | |
20150 | expand_expr_real_1. Inline same_case_target_p. Turn members | |
20151 | of CASE_STACK into local variables. | |
20152 | (emit_case_bit_tests): Inline same_case_target_p. | |
20153 | (add_case_node): Add HEAD argument, return new head of the list, | |
20154 | do not handle default label here. | |
20155 | * tree.h (expand_start_cond, expand_end_cond, expand_start_else, | |
20156 | expand_start_elseif, current_nesting_level, expand_start_case, | |
20157 | expand_end_case_type, expand_end_case, add_case_node, | |
20158 | init_stmt_for_function, expand_elseif): Remove prototypes. | |
20159 | (expand_case): Add prototype. | |
20160 | ||
20161 | 2004-08-09 Paolo Bonzini <bonzini@gnu.org> | |
20162 | ||
20163 | * expr.c (expand_expr_real_1): Use optab_for_tree_code. | |
20164 | ||
20165 | 2004-08-09 Paolo Bonzini <bonzini@gnu.org> | |
20166 | ||
20167 | * expr.c (var_rtx): Remove. | |
20168 | (expand_expr_real_1) <LOOP_EXPR, EXIT_EXPR, | |
20169 | LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR, TRUTH_ANDIF_EXPR, | |
20170 | TRUTH_ORIF_EXPR, COMPOUND_EXPR, CONJ_EXPR, INIT_EXPR>: | |
20171 | Abort. | |
20172 | (expand_expr_real_1) <COND_EXPR>: Remove most special cases. | |
20173 | * optabs.c (emit_clr_insn, emit_0_to_1_insn): Remove. | |
20174 | * optabs.h (emit_clr_insn, emit_0_to_1_insn): Remove. | |
20175 | ||
20176 | 2004-08-08 Mostafa Hagog <mustafa@il.ibm.com> | |
20177 | Ayal Zaks <zaks@il.ibm.com> | |
20178 | ||
20179 | * common.opt (freschedule-modulo-scheduled-loops): New flag. | |
20180 | * final.c (final_scan_insn): Handle NOTE_DISABLE_SCHED_OF_BLOCK. | |
20181 | * modulo-sched.c (sms_schedule): Emit a note to disable scheduling | |
20182 | when -freschedule-modulo-scheduled-loops flag is not specified. | |
20183 | (sms_schedule_by_order, ps_insn_advance_column, add_node_to_ps, | |
20184 | add_node_to_ps, ps_has_conflicts, ps_add_node_check_conflicts): | |
20185 | More accurate placing of insn in row of partial schedule. | |
20186 | (ps_insn_find_column): New function. | |
20187 | * rtl.h (NOTE_DISABLE_SCHED_OF_BLOCK): New note. | |
20188 | * sched-rgn.c (sched_is_disabled_for_current_region_p): New. | |
20189 | (schedule_region): Use sched_is_disabled_for_current_region_p. | |
20190 | * docs/invoke.texi: Document -freschedule-modulo-scheduled-loops. | |
20191 | ||
20192 | 2004-08-07 H.J. Lu <hongjiu.lu@intel.com> | |
20193 | ||
20194 | * config/i386/i386.c (ix86_expand_clrmem): Revert the last | |
20195 | change. | |
20196 | ||
20197 | 2004-08-07 H.J. Lu <hongjiu.lu@intel.com> | |
20198 | ||
20199 | * config/i386/i386.c (ix86_expand_clrmem): Properly call | |
20200 | gen_strset for 64bit target. | |
20201 | ||
20202 | 2004-08-07 Olivier Hainque <hainque@act-europe.fr> | |
20203 | ||
20204 | * config/vxworks.h (HANDLE_SYSV_PRAGMA): Remove definition. | |
20205 | ||
20206 | 2004-08-07 Jason Merrill <jason@redhat.com> | |
20207 | ||
20208 | Make return in memory explicit. | |
20209 | * function.c (aggregate_value_p): Check DECL_BY_REFERENCE. | |
20210 | (assign_parm_find_data_types): Remove code for old front end | |
20211 | invisible reference handling. | |
20212 | (assign_parms): Handle DECL_BY_REFERENCE on the RESULT_DECL. | |
20213 | (expand_function_end): Likewise. | |
20214 | * gimplify.c (gimplify_return_expr): Handle a dereferenced | |
20215 | RESULT_DECL. | |
20216 | * tree-inline.c (copy_body_r): Don't bother looking for &* anymore. | |
20217 | (declare_return_variable): Handle DECL_BY_REFERENCE. | |
20218 | * cp/cp-gimplify.c (is_invisiref_parm): Also handle RESULT_DECL. | |
20219 | (cp_genericize_r): Use convert_from_reference. | |
20220 | Don't dereference a RESULT_DECL directly inside a RETURN_EXPR. | |
20221 | (cp_genericize): Handle the RESULT_DECL. Unset TREE_ADDRESSABLE. | |
20222 | ||
20223 | * c-common.c (c_warn_unused_result): Check TREE_USED before | |
20224 | warning about a CALL_EXPR with an unused value. | |
20225 | ||
20226 | 2004-08-06 Mark Mitchell <mark@codesourcery.com> | |
20227 | ||
20228 | * config/arm/symbian.h (CC1_SPEC): Avoid passing duplicate options | |
20229 | to the compiler. Use -fshort-wchar by default. | |
20230 | ||
20231 | 2004-08-06 Pat Haugen <pthaugen@us.ibm.com> | |
20232 | ||
20233 | * params.def (PARAM_MIN_CROSSJUMP_INSNS): New. | |
20234 | * cfgcleanup.c (try_crossjump_to_edge): Add minimum insn match | |
20235 | threshhold. | |
20236 | * doc/invoke.texi (param): Document min-crossjump-insns. | |
20237 | ||
20238 | 2004-08-06 Richard Sandiford <rsandifo@redhat.com> | |
20239 | ||
20240 | PR c/13282 | |
20241 | * c.opt (Wmissing-field-initializers): New option. | |
20242 | * c-opts.c (c_common_post_options): Make -Wextra turn it on by default. | |
20243 | * c-typeck.c (pop_init_level): Guard the missing field warning with | |
20244 | warn_missing_field_initializers rather than extra_warnings. | |
20245 | * doc/invoke.texi (-Wmissing-field-initializers): Document, moving | |
20246 | some of the explanation from... | |
20247 | (-Wextra): ...here. Say that the missing field warning can be | |
20248 | seperately controlled by -Wmissing-field-initializers. | |
20249 | ||
20250 | 2004-08-06 Paolo Bonzini <bonzini@gnu.org> | |
20251 | ||
20252 | * expr.c (expand_expr_real_1) <ENTRY_VALUE_EXPR>: Remove. | |
20253 | * tree-inline.c (estimate_num_insns_1) <ENTRY_VALUE_EXPR>: Remove. | |
20254 | * tree-pretty-print.c (dump_generic_node) <ENTRY_VALUE_EXPR>: Remove. | |
20255 | * tree.def (ENTRY_VALUE_EXPR): Remove. | |
20256 | ||
20257 | 2004-08-06 Jakub Jelinek <jakub@redhat.com> | |
20258 | ||
20259 | * config/i386/i386.c (ix86_expand_clrmem): Move gen_cld down to | |
20260 | the places where it is actually needed. Don't use repz; stosb | |
20261 | for -Os with sufficiently small constant sizes. | |
20262 | For sufficiently small repz; stos{l,q} repeat counts use a sequence | |
20263 | of stos{l,q} instructions instead. | |
20264 | ||
20265 | 2004-08-06 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> | |
20266 | ||
20267 | PR tree-optimization/16807 | |
20268 | * loop-iv.c (dump_iv_info): Dump invariants correctly. | |
20269 | (iv_subreg, iv_extend): Express value of invariant purely in | |
20270 | base field. | |
20271 | ||
20272 | 2004-08-06 Mark Mitchell <mark@codesourcery.com> | |
20273 | ||
20274 | * config/arm/symbian.h (CC1_SPEC): Add -fno-short-enums. | |
20275 | (CC1PLUS_SPEC): Define it to be the same as CC1_SPEC. | |
20276 | ||
20277 | 2004-08-06 Roman Zippel <zippel@linux-m68k.org> | |
20278 | ||
20279 | * config/m68k/m68k.c (post_inc_operand,pre_dec_operand): New. | |
20280 | * config/m68k/m68k.h (PREDICATE_CODES): add post_inc_operand, | |
20281 | pre_dec_operand. | |
20282 | * config/m68k/m68k.md (zero_extend*2): delay the splitting of the | |
20283 | pattern until reload is finished to allow better code generation | |
20284 | and split them completely into separate instrunctions. | |
20285 | (*andsi3_split): New pattern. | |
20286 | ||
20287 | 2004-08-05 Mark Mitchell <mark@codesourcery.com> | |
20288 | ||
20289 | * tree.c (handle_dll_attribute): Move here from i383/winnt.c. | |
20290 | Replace use of DECL_INLINE with DECL_DECLARED_INLINE_P. Set | |
20291 | DECL_VISIBLITY. Test TARGET_DLLIMPORT_DECL_ATTRIBUTES with #if. | |
20292 | * tree.h (handle_dll_attribute): Declare. Test | |
20293 | TARGET_DLLIMPORT_DECL_ATTRIBUTES with #if. | |
20294 | * c-common.h (c_determine_visibility): Declare. | |
20295 | * c-common.c (c_determine_visibility): New function. | |
20296 | * c-decl.c (finish_decl): Use it. | |
20297 | (finish_function): Likewise. | |
20298 | * defaults.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define it to | |
20299 | zero, by default. Use #if, not #ifdef, to test it. | |
20300 | * config/arm/arm.c (arm_attribute_table): Use | |
20301 | handle_dll_attribute. Test TARGET_DLLIMPORT_DECL_ATTRIBUTES with | |
20302 | #if. | |
20303 | * config/arm/pe.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define to 1. | |
20304 | * config/i386/cygming.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define | |
20305 | to 1. | |
20306 | * config/i386/i386-protos.h (ix86_handle_dll_attribute): Remove. | |
20307 | * config/i386/i386.c (ix86_attribute_table): Use | |
20308 | handle_dll_attribute for dllimport/dllexport. Test | |
20309 | TARGET_DLLIMPORT_DECL_ATTRIBUTES with #if. | |
20310 | * config/i386/winnt.c (ix86_handle_dll_attribute): Remove. | |
20311 | * config/mcore/mcore.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define | |
20312 | it to 1. | |
20313 | * config/mcore/mcore.c (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Test it | |
20314 | with #if. | |
20315 | * config/sh/symbian-pre.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define | |
20316 | it to 1. | |
20317 | * doc/extend.texi (dllexport): Clarify and correct documentation. | |
20318 | (dllimport): Likewise. | |
20319 | * doc/tm.texi (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Mention | |
20320 | handle_dll_attribute. | |
20321 | ||
20322 | 2004-08-05 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> | |
20323 | ||
20324 | * tree-ssa-loop-manip.c: New file. | |
20325 | * Makefile.in (tree-ssa-loop-manip.o): Add. | |
20326 | * tree-flow.h (rewrite_into_loop_closed_ssa, verify_loop_closed_ssa): | |
20327 | Declare. | |
20328 | * tree-ssa-loop.c (tree_loop_optimizer_init): Create loop closed ssa | |
20329 | form. | |
20330 | (tree_ssa_loop_done): Verify loop closed ssa form. | |
20331 | * tree-ssa-loop-im.c (move_computations): Update loop closed ssa form. | |
20332 | ||
20333 | 2004-08-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
20334 | ||
20335 | * pa.c (pa_asm_output_aligned_bss, pa_asm_output_aligned_common, | |
20336 | pa_asm_output_aligned_local): New functions. | |
20337 | * pa-protos.h: Add prototypes for pa_asm_output_aligned_bss, | |
20338 | pa_asm_output_aligned_common and pa_asm_output_aligned_local. | |
20339 | * pa-pro-end.h (ASM_OUTPUT_ALIGNED_COMMON): Use | |
20340 | pa_asm_output_aligned_common. | |
20341 | (ASM_OUTPUT_ALIGNED_LOCAL): Use pa_asm_output_aligned_local. | |
20342 | * pa.h (ASM_OUTPUT_ALIGNED_BSS): New macro. | |
20343 | (ASM_OUTPUT_ALIGNED_COMMON): Use pa_asm_output_aligned_common. | |
20344 | (ASM_OUTPUT_ALIGNED_LOCAL): Use pa_asm_output_aligned_local. | |
20345 | * pa64-hpux.h (MAX_OFILE_ALIGNMENT): New macro. | |
20346 | (ASM_OUTPUT_ALIGNED_COMMON): Use pa_asm_output_aligned_common. | |
20347 | (ASM_OUTPUT_ALIGNED_LOCAL): Use pa_asm_output_aligned_local. | |
20348 | * som.h (MAX_OFILE_ALIGNMENT): Provide maximum alignment of global | |
20349 | common data. | |
20350 | ||
20351 | 2004-08-05 Andrew Pinski <apinski@apple.com> | |
20352 | ||
20353 | * objc/objc-act.c (build_objc_string_object): Mark the address | |
20354 | expression as constant. | |
20355 | ||
20356 | 2004-08-05 David Edelsohn <edelsohn@gnu.org> | |
20357 | ||
20358 | * config/rs6000/rs6000.c (rs6000_rtx_costs): Fix mask_operand | |
20359 | and mask64_operand thinkos. Handle ZERO_EXTRACT. Handle | |
20360 | SIGN_EXTEND / ZERO_EXTEND of MEM. Handle rlwinm patterns. | |
20361 | ||
20362 | 2004-08-05 Joseph S. Myers <jsm@polyomino.org.uk> | |
20363 | ||
20364 | * config/linux.h, config/i386/linux.h, config/sparc/linux.h: | |
20365 | Remove definitions conditioned on USE_GNULIBC_1 or conditioned | |
20366 | out, and associated obsolete comments. | |
20367 | ||
20368 | 2004-08-05 Nathan Sidwell <nathan@codesourcery.com> | |
20369 | ||
20370 | * tree.h (force_fit_type): Return a tree, take three flags. | |
20371 | * fold-const.c (force_fit_type): Set TREE_OVERFLOW and | |
20372 | TREE_CONSTANT_OVERFLOW here. | |
20373 | (int_const_binop, const_binop): Adjust. | |
20374 | (size_int_type): Do sign extension here. | |
20375 | (fold_convert_const, optimize_bit_field_compare, | |
20376 | decode_field_reference, all_ones_mask_p, fold_div_compare, fold, | |
20377 | fold_negate_const, fold_abs_const, fold_not_const): Adjust. | |
20378 | * tree.c (size_in_bytes, int_fits_type_p): Adjust. | |
20379 | ||
20380 | 2004-08-05 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> | |
20381 | ||
20382 | PR tree-optimization/16864 | |
20383 | * tree-tailcall.c (eliminate_tail_call): Do not create phi nodes | |
20384 | for ssa names without default_def. | |
20385 | ||
20386 | 2004-08-05 Richard Sandiford <rsandifo@redhat.com> | |
20387 | ||
20388 | * config/i386/i386.c (ix86_expand_prologue): If the function uses a | |
20389 | frame pointer, restore eax with an ebp-relative address. | |
20390 | ||
20391 | 2004-08-04 Geoffrey Keating <geoffk@apple.com> | |
20392 | ||
20393 | PR 14516 | |
20394 | * c-common.c (c_expand_decl): Don't special-case static VAR_DECLs. | |
20395 | * c-common.h (make_rtl_for_local_static): Delete. | |
20396 | * c-decl.c (shadow_tag_warned): Clean up comment. | |
20397 | (finish_decl): Clean up spacing. Use set_user_assembler_name when | |
20398 | appropriate. Don't pass asmspec to rest_of_decl_compilation. | |
20399 | * c-semantics.c (make_rtl_for_local_static): Delete. | |
20400 | * expr.c (init_block_move_fn): Use set_user_assembler_name. | |
20401 | (init_block_clear_fn): Likewise. | |
20402 | * passes.c (rest_of_decl_compilation): Remove asmspec parameter, | |
20403 | expect it to be in DECL_ASSEMBLER_NAME. Update callers in many files. | |
20404 | * toplev.h (rest_of_decl_compilation): Remove asmspec parameter. | |
20405 | * tree.h (make_decl_rtl): Remove second parameter. | |
20406 | (set_user_assembler_name): New. | |
20407 | * varasm.c (set_user_assembler_name): New. | |
20408 | (make_decl_rtl): Remove second parameter. Update callers in many | |
20409 | files. | |
20410 | ||
20411 | 2004-08-05 Adam Nemet <anemet@lnxw.com> | |
20412 | ||
20413 | * config.gcc (case i[34567]86-*-lynxos*): Update to LynxOS 4.0. | |
20414 | (case rs6000-*-lynxos*): Rename it to powerpc-*-lynxos*. Update | |
20415 | to LynxOS 4.0. | |
20416 | * gthr-lynx.h: New file. | |
20417 | * config/lynx-ng.h: Remove file. | |
20418 | * config/lynx.h: Update to LynxOS 4.0. | |
20419 | * config/t-lynx: New file. | |
20420 | * config/i386/lynx-ng.h: Remove file. | |
20421 | * config/i386/lynx.h: Update to LynxOS 4.0. | |
20422 | * config/rs6000/lynxbase.h: Remove file. | |
20423 | * config/rs6000/lynx.h: Update to LynxOS 4.0. | |
20424 | * config/rs6000/t-lynx: New file. | |
20425 | * doc/install.texi (Options specification): Remove reference to | |
20426 | LynxOS from systems where --with-gnu-as makes a difference. | |
20427 | ||
20428 | 2004-08-05 Joseph S. Myers <jsm@polyomino.org.uk> | |
20429 | ||
20430 | * c-common.c (c_stddef_cpp_builtins): Define __INTMAX_TYPE__ and | |
20431 | __UINTMAX_TYPE__. | |
20432 | * c-cppbuiltin.c (builtin_define_stdint_macros): New. Define | |
20433 | __INTMAX_MAX__. | |
20434 | (c_cpp_builtins): Call it. | |
20435 | * doc/cpp.texi: Update. | |
20436 | ||
20437 | 2004-08-04 David Edelsohn <edelsohn@gnu.org> | |
20438 | ||
20439 | * config/rs6000/rs6000.c (rs6000_rtx_costs): LABEL_REFs are zero | |
20440 | cost. | |
20441 | ||
20442 | 2004-08-04 Jan Hubicka <jh@suse.cz> | |
20443 | ||
20444 | * basic-block.h (profile_staus): New global variable. | |
20445 | * cfg.c (profile_status): Declare. | |
20446 | (check_bb_profile): Break out from ....; use profile_status | |
20447 | (dump_flow_info): ... here. | |
20448 | * cfgbuild.c (find_basic_blocks): Set profile_status. | |
20449 | * cfgexpand.c (tree_expand_cfg): Likewise. | |
20450 | * predict.c (estimate_probability): Likewise. | |
20451 | * profile.c (branch_prob): Likewise. | |
20452 | * tree-cfg.c (build_tree_cfg): Likewise. | |
20453 | (dump_function_to_file): Use check_bb_profile. | |
20454 | * tree-pretty-print (dump_bb_header): Likewise. | |
20455 | * tree-profile.c (do_tree_profiling): Cleanup. | |
20456 | ||
20457 | 2004-08-04 Zack Weinberg <zack@codesourcery.com> | |
20458 | ||
20459 | * Makefile.in (RTL_BASE_H, RTL_H): Correct. | |
20460 | (BUILD_RTL): Remove $(BUILD_PREFIX) from ggc-none.o. | |
20461 | (genobjs): Add errors.o, ggc-none.o, and min-insn-modes.o. | |
20462 | (read-rtl.o, gensupport.o, genconfig.o, genflags.o, gencodes.o) | |
20463 | (genconstants.o, genemit.o, genopinit.o, genrecog.o, genextract.o) | |
20464 | (genpeep.o, genattr.o, genattrtab.o, genautomata.o, genoutput.o) | |
20465 | (genconditions.o): Depend on $(RTL_BASE_H) not $(RTL_H). | |
20466 | (ggc-none.o, errors.o): Move rule to generators section; | |
20467 | correct dependencies. | |
20468 | (min-insn-modes.o): Move rule to generators section; remove | |
20469 | unnecessary explicit command; correct dependencies. | |
20470 | (print-rtl.o, print-rtl1.o): Correct dependencies. | |
20471 | ($(BUILD_PREFIX_1)errors.o. $(BUILD_PREFIX_1)ggc-none.o): Delete rule. | |
20472 | (mostlyclean): Update. | |
20473 | ||
20474 | * errors.c: Include bconfig.h not config.h. Correct comment. | |
20475 | * gengtype.c, genpreds.c: Don't define NO_GENRTL_H. | |
20476 | * ggc-none.c: Include bconfig.h; not config.h or tm.h. | |
20477 | * print-rtl.c: Don't include tm_p.h. | |
20478 | ||
20479 | * rtl.h: Move forward-decl of struct function down where it's | |
20480 | needed. Include genrtl.h #ifndef GENERATOR_FILE, not | |
20481 | #ifndef NO_GENRTL_H. Remove unnecessary #ifdef BUFSIZ statements. | |
20482 | ||
20483 | 2004-08-04 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> | |
20484 | Jeff Law <law@redhat.com> | |
20485 | ||
20486 | * tree-cfg.c (tree_duplicate_bb): Mark duplicated definitions. | |
20487 | * tree-flow.h (rewrite_ssa_into_ssa): Declaration changed. | |
20488 | * tree-into-ssa.c (rewrite_ssa_into_ssa): Use new interface to | |
20489 | manipulate the duplicated ssa names. | |
20490 | * tree-ssanames.c (ssa_names_to_rewrite): New variable. | |
20491 | (marked_for_rewrite_p, any_marked_for_rewrite_p, mark_for_rewrite, | |
20492 | unmark_all_for_rewrite, marked_ssa_names, release_ssa_name_force): | |
20493 | New functions. | |
20494 | (release_ssa_name): Do not release ssa names that may have multiple | |
20495 | definitions. | |
20496 | * tree.h (release_ssa_name_force, mark_for_rewrite, | |
20497 | unmark_all_for_rewrite, marked_for_rewrite_p, any_marked_for_rewrite_p, | |
20498 | marked_ssa_names): Declare. | |
20499 | * tree-ssa-loop-ch.c (mark_defs_for_rewrite): Remove. | |
20500 | (duplicate_blocks): Remove call to mark_defs_for_rewrite. | |
20501 | Update call to rewrite_ssa_into_ssa. | |
20502 | ||
20503 | 2004-08-04 Mark Mitchell <mark@codesourcery.com> | |
20504 | ||
20505 | * defaults.h (TARGET_DECLSPEC): New macro. | |
20506 | * c-cppbuiltin.c (c_cpp_builtins): Handle TARGET_DECLSPEC. | |
20507 | * config/arm/pe.h (SUBTARGET_CPP_SPEC): Remove __declspec support. | |
20508 | * config/arm/symbian.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define. | |
20509 | * config/i386/beof-elf.h (TARGET_OS_CPP_BUILTINS): Remove | |
20510 | __declspec support. | |
20511 | (TARGET_DECLSPEC): Define. | |
20512 | * config/i386/cygming.h (TARGET_OS_CPP_BUILTINS): Remove | |
20513 | __declspec support. | |
20514 | * config/i386/i386-interix.h (TARGET_OS_CPP_BUILTINS): Remove | |
20515 | __declspec support. | |
20516 | (TARGET_DECLSPEC): Define. | |
20517 | * config/mcore/mcore.h (TARGET_CPU_CPP_BUILTINS): Remove | |
20518 | __declspec support. | |
20519 | * config/sh/symbian-pre.h (SUBTARGET_CPP_SPEC): Remove __declspec | |
20520 | support. | |
20521 | * doc/tm.texi (TARGET_DECLSPEC): Document. | |
20522 | ||
20523 | * doc/extend.texi: Fix typo in comment. | |
20524 | ||
20525 | 2004-08-04 Paul Brook <paul@codesourcery.com> | |
20526 | ||
20527 | * target-def.h (TARGET_CXX_CDTOR_RETURNS_THIS): Define. | |
20528 | (TARGET_CXX): Use it. | |
20529 | * target.h (struct gcc_target): Add cdtor_returns_this. | |
20530 | * config/arm/arm.c (arm_cxx_cdtor_returns_this): New function. | |
20531 | (TARGET_CXX_CDTOR_RETURNS_THIS): Define. | |
20532 | * doc/tm.texi: Document TARGET_CXX_CDTOR_RETURNS_THIS. | |
20533 | ||
20534 | 2004-08-03 Nathan Sidwell <nathan@codesourcery.com> | |
20535 | ||
20536 | * c-lex.c (narrowest_unsigned_type, narrowest_signed_type): Take | |
20537 | low/high pair. Do range checking directly. | |
20538 | (interpret_integer): Adjust. | |
20539 | ||
20540 | 2004-08-04 Nick Clifton <nickc@redhat.com> | |
20541 | ||
20542 | * config/sh/sh.h (TARGET_SWITCHES): Add no-renesas to select the | |
20543 | GCC ABI. | |
20544 | * doc/invoke.texi: Document this new switch and also the -mrenesas | |
20545 | switch. | |
20546 | ||
20547 | 2004-08-04 Nathan Sidwell <nathan@codesourcery.com> | |
20548 | ||
20549 | * cfglayout.c (insn_locators_initialize): Update the current | |
20550 | location before initializing a location. | |
20551 | ||
20552 | 2004-08-03 Zack Weinberg <zack@codesourcery.com> | |
20553 | ||
20554 | * dbxout.c (dbxout_function_decl): Always call dbxout_function_end. | |
20555 | (dbxout_function_end): Return after emitting the "Lscope" symbol | |
20556 | under the same conditions that this function formerly wasn't called. | |
20557 | Add explanatory comments. | |
20558 | ||
20559 | PR 14860 | |
20560 | * c-decl.c (record_builtin_type): Call debug_hooks->type_decl | |
20561 | on the new decl. | |
20562 | ||
20563 | PR 13956 | |
20564 | * dbxout.c (dbx_output_lbrac, dbx_output_rbrac): New | |
20565 | functions, broken out of dbxout_block. | |
20566 | (dbxout_block): The block at depth 0 should get LBRAC/RBRAC | |
20567 | stabs too, if it contains symbols. Use the begin_label and | |
20568 | the Lscope label (emitted by dbxout_function_end) for the | |
20569 | range of this block. | |
20570 | ||
20571 | 2004-08-03 Nathanael Nerode <neroden@gcc.gnu.org> | |
20572 | ||
20573 | * doc/install.texi: Update autoconf version requirements. | |
20574 | ||
20575 | 2004-08-03 Zack Weinberg <zack@codesourcery.com> | |
20576 | ||
20577 | * defaults.h (LEGITIMATE_PIC_OPERAND_P): Provide default definition. | |
20578 | * recog.c (general_operand, immediate_operand, nonmemory_operand) | |
20579 | (asm_operand_ok): Remove #ifdefs on LEGITIMATE_PICOPERAND_P. | |
20580 | * regclass.c (record_reg_classes): Likewise. | |
20581 | * reload.c (find_reloads): Likewise. | |
20582 | * reload1.c (reload): Likewise. | |
20583 | ||
20584 | 2004-08-03 Zack Weinberg <zack@codesourcery.com> | |
20585 | ||
20586 | * gensupport.c (init_md_reader_args_cb): Renamed from | |
20587 | init_md_reader_args. Add third option, callback function for | |
20588 | parsing program-specific options. Add diagnosis of incorrect | |
20589 | number of input files. | |
20590 | (init_md_reader): Fold into init_md_reader_args_cb. | |
20591 | (init_md_reader_args): Now a thin wrapper around | |
20592 | init_md_reader_args_cb. | |
20593 | * gensupport.h: Update prototypes. | |
20594 | ||
20595 | * genattr.c, genattrtab.c, gencodes.c, genconfig.c, genemit.c | |
20596 | * genextract.c, genflags.c, genopinit.c, genoutput.c, genpeep.c | |
20597 | * genrecog.c: No need to diagnose lack of an input file; | |
20598 | init_md_reader_args will handle it. | |
20599 | * genconditions.c: Likewise, and use init_md_reader_args. | |
20600 | * genconstants.c: Likewise, and no need to call read_md_rtx. | |
20601 | ||
20602 | 2004-08-03 Joseph S. Myers <jsm@polyomino.org.uk> | |
20603 | ||
20604 | * c-decl.c (implicitly_declare): Diagnose incompatible implicit | |
20605 | declarations. | |
20606 | ||
20607 | 2004-08-03 Mike Stump <mrs@apple.com> | |
20608 | ||
20609 | * config/darwin-c.c: Don't search in "/Local/Library/Frameworks" | |
20610 | for frameworks. | |
20611 | * doc/invoke.texi (Darwin Options): Update to reflect above. | |
20612 | ||
20613 | 2004-08-03 Roger Sayle <roger@eyesopen.com> | |
20614 | ||
20615 | PR middle-end/16790 | |
20616 | * fold-const.c (extract_muldiv_1) <NOP_EXPR>: Disallow local | |
20617 | truncations, not just global truncations. | |
20618 | ||
20619 | 2004-08-03 Andrew Pinski <apinski@apple.com> | |
20620 | ||
20621 | PR bootstrap/16865 | |
20622 | * loop-iv.c (simplify_using_assignment): Initialize lhs. | |
20623 | ||
20624 | 2004-08-03 Paul Brook <paul@codesourcery.com> | |
20625 | ||
a1d1988f | 20626 | * doc/install.texi: Document MPFR requirement. |
7a4515d7 SB |
20627 | |
20628 | 2004-08-03 Maciej W. Rozycki <macro@linux-mips.org> | |
20629 | ||
20630 | * aclocal.m4 (gcc_AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h> | |
20631 | and mmap() explicitly instead of relying on preset autoconf cache | |
20632 | variables. | |
20633 | * configure: Regenerate. | |
20634 | ||
20635 | 2004-08-03 H.J. Lu <hongjiu.lu@intel.com> | |
20636 | ||
20637 | PR target/16570 | |
20638 | * config.gcc (i[34567]86-*-* | x86_64-*-*): Add i386/t-gmm_malloc | |
20639 | to tmake_file. | |
20640 | (i[34567]86-*-linux*aout* | i[34567]86-*-linux*libc1): Likewise. | |
20641 | (i[34567]86-*-linux* | x86_64-*-linux*): Add i386/t-pmm_malloc | |
20642 | to tmake_file. | |
20643 | ||
20644 | * config/i386/t-gmm_malloc: New file. | |
20645 | * config/i386/t-pmm_malloc: Likewise. | |
20646 | ||
20647 | * config/i386/xmmintrin.h: Include <mm_malloc.h>. | |
20648 | ||
20649 | 2004-08-03 H.J. Lu <hongjiu.lu@intel.com> | |
719bb4e3 | 20650 | Tanguy Fautré <tfautre@pandora.be> |
7a4515d7 SB |
20651 | |
20652 | * config/i386/pmm_malloc.h: New file. | |
20653 | ||
20654 | 2004-08-03 Danny Smith <dannysmith@users.sourceforge.net> | |
20655 | ||
20656 | * config/i386/gmm_malloc.h: New file. | |
20657 | ||
20658 | 2004-08-03 Dale Johannesen <dalej@apple.com> | |
20659 | ||
e8366202 | 20660 | * config/rs6000/rs6000.c (machopic_output_stub): Align Darwin stubs. |
7a4515d7 SB |
20661 | * c-common.c: Include opts.h. |
20662 | (c_common_get_alias_set): Fix check for a single input file. | |
20663 | * toplev.c: Remove current_file_decl. | |
20664 | * tree.h: Ditto. | |
20665 | ||
20666 | 2004-08-03 Mark Mitchell <mark@codesourcery.com> | |
20667 | ||
20668 | * config.gcc (arm*-*-symbianelf*): New target. | |
20669 | * config/arm/symbian.h: New file. | |
20670 | ||
20671 | * gthr-gnat.c: Add visibility #pragmas. | |
20672 | * gthr-gnat.h : Likewise. | |
20673 | * gthr.h: Likewise. | |
20674 | * libgcc2.c (__ffsSI2): Move prototype to libgcc2.h. | |
20675 | (__ffsDI2): Likewise. | |
20676 | (__clzSI2): Likewise. | |
20677 | (__ctzSI2): Likewise. | |
20678 | (__ctzDI2): Likewise. | |
20679 | (__popcountSI2): Likewise. | |
20680 | (__popcountDI2): Likewise. | |
20681 | (__paritySI2): Likewise. | |
20682 | (__parityDI2): Likewise. | |
20683 | * libgcc2.h: Add visibility #pragmas. | |
20684 | (__clzDI2): Add prototype. | |
20685 | (__clzSI2): Likewise. | |
20686 | (__ctzSI2): Likewise. | |
20687 | (__ffsDI2): Likewise. | |
20688 | (__ffsSI2): Likewise. | |
20689 | (__ctzDI2): Likewise. | |
20690 | (__popcountSI2): Likewise. | |
20691 | (__popcountDI2): Likewise. | |
20692 | (__paritySI2): Likewise. | |
20693 | (__parityDI2): Likewise. | |
20694 | * unwind-dw2-fde.h: Add visibility #pragmas. | |
20695 | * unwind.h: Likewise. | |
20696 | ||
20697 | 2004-08-03 David Edelsohn <edelsohn@gnu.org> | |
20698 | Dale Johannesen <dalej@apple.com> | |
20699 | Roger Sayle <roger@eyesopen.com> | |
20700 | ||
20701 | * config/rs6000/rs6000.c (rs6000_rtx_costs): Calculate cost of | |
20702 | constants more accurately. Adjust costs for FMA instructions. | |
20703 | Add cases for most logical and float operations. Recurse into | |
20704 | most operands. | |
20705 | ||
20706 | 2004-08-03 Richard Earnshaw <rearnsha@arm.com> | |
20707 | ||
20708 | * config.gcc (strongarm-*, xscale-*): Add t-arm to tmake_files. | |
20709 | ||
20710 | 2004-08-03 Pat Haugen <pthaugen@us.ibm.com> | |
20711 | ||
20712 | * ra-build.c (conflicts_between_webs): For webs that cross a call add | |
20713 | conflicts to regs_invalidated_by_call. | |
20714 | ||
20715 | 2004-08-03 Paul Brook <paul@codesourcery.com> | |
20716 | ||
20717 | * config/arm/arm.c (emit_sfm): Only emit a single frame adjustment. | |
20718 | ||
20719 | 2004-08-03 Jan Hubicka <jh@suse.cz> | |
20720 | ||
20721 | * coverage.c (tree_coverage_counter_ref): Fix computation of the new | |
20722 | ARRAY_REF argument. | |
20723 | ||
20724 | 2004-08-03 Richard Earnshaw <rearnsha@arm.com> | |
20725 | ||
20726 | * arm-cores.def: Sort by architecture. Add arm946es, arm966es, | |
20727 | arm968es, arm10e, arm1020e, arm1022e. | |
20728 | * invoke.texi: Update list of ARM cores. | |
20729 | * arm-tune.md: Regenerate. | |
20730 | ||
20731 | 2004-08-03 Richard Earnshaw <rearnsha@arm.com> | |
20732 | ||
20733 | * arm/gentune.sh: New file. | |
20734 | * arm/t-arm: New file. | |
20735 | * arm/arm-tune.md: New file (autogenerated). | |
20736 | * config.gcc (arm*-*-*): Add t-arm to tmake_file for all variants. | |
20737 | * arm.md (attribute tune): Delete. Include arm-tune.md. | |
20738 | ||
20739 | 2004-08-03 Paolo Bonzini <bonzini@gnu.org> | |
20740 | ||
20741 | * gcc.c (add_prefix, add_sysrooted_prefix): Remove | |
20742 | penultimate parameter. All callers adjusted. | |
20743 | (struct prefix_list): Remove used_flag_ptr. | |
20744 | (find_a_file): Do not set *pl->used_flag_ptr. | |
20745 | (warn_B, warn_std_ptr): Remove. | |
20746 | ||
20747 | 2004-08-03 Yossi Markovich <yossim@il.ibm.com> | |
20748 | Mostafa Hagog <mustafa@il.ibm.com> | |
20749 | ||
20750 | * config/rs6000/altivec.md (altivec_vnmsubfp): Fix wrong pattern. | |
20751 | ||
20752 | 2004-08-02 Geoffrey Keating <geoffk@apple.com> | |
20753 | ||
20754 | * dwarf2out.c (output_call_frame_info): Don't change data format | |
20755 | due to TARGET_USES_WEAK_UNWIND_INFO. Always refer to the local | |
20756 | label. Use 'true' not '1'. | |
20757 | * doc/install.texi (powerpc-*-darwin*): Mention cctools version | |
20758 | required. | |
20759 | ||
20760 | 2004-08-02 Gabriel Dos Reis <gdr@integrable-solutions.net> | |
20761 | ||
20762 | * gdbinit.in: Reflect previous changes to rtunion_def. | |
20763 | ||
20764 | 2004-08-02 Roger Sayle <roger@eyesopen.com> | |
20765 | ||
20766 | * fold-const.c (fold) <TRUNC_MOD_EXPR>: The transformation "X % -Y" | |
20767 | -> "X % Y" is only valid for TRUNC_MOD_EXPR. | |
20768 | ||
20769 | 2004-08-02 Gabriel Dos Reis <gdr@integrable-solutions.net> | |
20770 | ||
20771 | * vec.h (DEF_VEC_P): Add proper cast to uses of vec_o_reserve and | |
20772 | vec_p_reserve. | |
20773 | * langhooks.h (lang_hooks::builtin_function): Rename parameter | |
20774 | from "class" to "bt_class". | |
20775 | ||
20776 | 2004-08-02 Paul Brook <paul@codesourcery.com> | |
20777 | ||
20778 | PR rtl-optimization/15068 | |
20779 | * flow.c (init_propagate_block_info): Check condition is reversible. | |
20780 | ||
20781 | 2004-08-02 Gabriel Dos Reis <gdr@integrable-solutions.net> | |
20782 | ||
20783 | * gengtype.h (options::info): Change type to const char *. | |
20784 | (enum gc_used_enum): Move out of struct type scope. | |
20785 | * gengtype.c (create_option): Convert initializer for option::info to | |
20786 | appropiate type. | |
20787 | (adjust_field_type, walk_type, write_func_for_structure, | |
20788 | write_root, write_roots): Remove pointless cast. | |
20789 | ||
20790 | 2004-08-02 J"orn Rennecke <joern.rennecke@superh.com> | |
20791 | ||
20792 | * genopinit.c (gen_insn): Check for MODE_COMPLEX_FLOAT patterns for $F. | |
20793 | ||
20794 | 2004-08-02 Gabriel Dos Reis <gdr@integrable-solutions.net> | |
20795 | ||
20796 | * rtl.h (union rtunion_def): Have all members start with the | |
20797 | prefix "rt_". | |
20798 | (XINT, XSTR, XEXP, XVEC, XMODE, XBITMAP, XTREE, XBBDEF, XTMPL, | |
20799 | X0INT, X0UINT, X0STR, X0EXP, X0VEC, X0MODE, X0BITMAP, X0TREE, | |
20800 | X0MEMATTR, X0BBDEF, X0REGATTR, XCINT, XCUINT, XCSTR, XCEXP, | |
20801 | XCVEC, XCMODE, XCBITMAP, XCTREE, XCBBDEF, XC2EXP): Adjust members | |
20802 | access. | |
20803 | * gengtype.c (adjust_field_rtx_def): Likewise. | |
20804 | * rtlanal.c (loc_mentioned_in_p): Likewise. | |
20805 | ||
20806 | 2004-08-02 Richard Sandiford <rsandifo@redhat.com> | |
20807 | ||
20808 | * config.gcc (mips*-*-elf*, mips*-*-rtems*): Add elfos.h to tm_file. | |
20809 | Replace uses of mips/elf64.h with mips/elf.h | |
20810 | * config/mips/elf.h (MAX_OFILE_ALIGNMENT, TARGET_ASM_NAMED_SECTION) | |
20811 | (TYPE_OPERAND_FMT, TYPE_ASM_OP, SIZE_ASM_OP, BSS_SECTION_ASM_OP) | |
20812 | (ASM_OUTPUT_ALIGNED_BSS, ASM_WEAKEN_LABEL, ASM_OUTPUT_WEAK_ALIAS) | |
20813 | (MAKE_DECL_ONE_ONLY, INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP) | |
20814 | (HANDLE_SYSV_PRAGMA): Delete. | |
20815 | (ASM_OUTPUT_DEF): Fix formatting. | |
20816 | * config/mips/elf64.h: Delete. | |
20817 | ||
20818 | 2004-08-01 Zack Weinberg <zack@codesourcery.com> | |
20819 | ||
20820 | * config/ia64/ia64.c (got_symbolic_operand): Do require a | |
20821 | symbol+offset operand to have its offset be zero mod 0x3fff | |
20822 | when GOT entries are in use. Clarify logic in SYMBOL_REF | |
20823 | case. Clarify comments. | |
20824 | (ia64_expand_load_address): Split a symbol+offset load when | |
20825 | the offset is nonzero mod 0x3fff, not 0x1fff. | |
20826 | ||
20827 | 2004-08-01 Geoffrey Keating <geoffk@apple.com> | |
20828 | ||
20829 | * config/rs6000/rs6000.c (rs6000_split_multireg_move): Just abort | |
20830 | if trying to *store* to a non-offsettable address. | |
20831 | * config/rs6000/rs6000.md (movtf_internal): Don't move GPRs to | |
20832 | a nonoffsettable address. | |
20833 | (movdi_internal32): Don't move GPRs to a nonoffsettable address. | |
20834 | Clean up. | |
20835 | (movti_string): Don't move GPRs to a nonoffsettable address. | |
20836 | (movti_ppc64): Don't move GPRs to a nonoffsettable address. Clean up. | |
20837 | ||
20838 | 2004-08-02 Ben Elliston <bje@au.ibm.com> | |
20839 | ||
20840 | PR target/16155 | |
20841 | * config/rs6000/altivec.h: Replace typeof with __typeof__. | |
20842 | ||
20843 | 2004-08-01 Richard Henderson <rth@redhat.com> | |
20844 | ||
20845 | * expr.c (expand_expr_real_1) <normal_inner_ref>: Fix crash with | |
20846 | variable sized types. | |
20847 | ||
20848 | 2004-08-01 Richard Sandiford <rsandifo@redhat.com> | |
20849 | ||
20850 | * doc/invoke.texi: In the MIPS options section, remove the passage | |
20851 | saying that -mexplicit-relocs is usually disabled for -mabicalls | |
20852 | -fno-unit-at-a-time. | |
20853 | * config/mips/mips.c (override_options): Remove the code that enforced | |
20854 | this rule. | |
20855 | ||
20856 | 2004-08-01 Richard Sandiford <rsandifo@redhat.com> | |
20857 | ||
20858 | * config/mips/mips.md (cprestore): Provide two alternatives, one for | |
20859 | an in-range offset and one for an out-of-range offset. Wrap the latter | |
20860 | in .set macro/.set nomacro if it's inside a .set nomacro block. | |
20861 | ||
20862 | 2004-08-01 Richard Sandiford <rsandifo@redhat.com> | |
20863 | ||
20864 | * config/mips/mips-protos.h (mips_gp_save_slot): Remove. | |
20865 | (mips_restore_gp): Declare. | |
20866 | * config/mips/mips.c (mips_add_offset): Add a scratch register | |
20867 | argument. Reimplement in rtl only, reusing MIPS16 logic from | |
20868 | mips_output_mi_thunk. | |
20869 | (mips_legitimize_address, mips_legitimize_const_move): Adjust calls | |
20870 | to mips_add_offset. | |
20871 | (mips_gp_save_slot): Delete. | |
20872 | (mips_restore_gp): New function. | |
20873 | (mips_set_return_address, mips_output_mi_thunk): Use mips_add_offset. | |
20874 | * config/mips/mips.md (exception_receiver): Turn into a | |
20875 | define_insn_and_split. Use mips_restore_gp to do the split. | |
20876 | (call_internal, call_value_internal, call_value_multiple_internal): Use | |
20877 | mips_restore_gp to restore $gp. | |
20878 | ||
20879 | 2004-07-31 Andrew Pinski <apinski@apple.com> | |
20880 | ||
20881 | PR other/16842 | |
20882 | * mkheaders.in (libsubdir): s/gcc-lib/gcc/. | |
20883 | ||
20884 | 2004-07-31 Joseph S. Myers <jsm@polyomino.org.uk> | |
20885 | ||
20886 | * c-decl.c (diagnose_mismatched_decls): Give error for external | |
20887 | redeclaration of identifier declared with no linkage, not just | |
20888 | warning with -Wtraditional. Do not check DECL_CONTEXT to give | |
20889 | error for redeclaration with no linkage. | |
20890 | ||
20891 | 2004-07-30 Geoffrey Keating <geoffk@apple.com> | |
20892 | Fariborz Jahanian <fjahanian@apple.com> | |
20893 | ||
20894 | * config/rs6000/rs6000.c (legitimate_lo_sum_address_p): Permit | |
20895 | non-offsettable addresses even for DImode. | |
20896 | (rs6000_split_multireg_move): Cope with non-offsettable addresses | |
20897 | being moved into multiple GPRs. | |
20898 | ||
20899 | * config/rs6000/rs6000.c (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Default | |
20900 | to 64. | |
20901 | (rs6000_override_options): Use RS6000_DEFAULT_LONG_DOUBLE_SIZE. | |
20902 | * config/rs6000/darwin.h (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Define | |
20903 | to 128. | |
20904 | * config/rs6000/darwin-ldouble.c (isless): New macro. | |
20905 | (inf): New macro. | |
20906 | (nonfinite): New macro. | |
20907 | (FPKINF): Delete. | |
20908 | (_xlqadd): Completely rewrite. | |
20909 | (_xlqmul): Correct overflow handling. | |
20910 | (_xlqdiv): Correct overflow handling. | |
20911 | * config/rs6000/darwin-ldouble-format: New file. | |
20912 | ||
20913 | 2004-07-30 Roger Sayle <roger@eyesopen.com> | |
20914 | Richard Henderson <rth@redhat.com> | |
20915 | ||
20916 | * config/i386/i386.md: New peephole2's to convert imul by 3, 5 or | |
20917 | 9 into the equivalent lea instruction. | |
20918 | ||
20919 | 2004-07-30 Richard Henderson <rth@redhat.com> | |
20920 | ||
20921 | * gimplify.c (gimplify_expr) <case CONST_DECL>: Don't replace | |
20922 | with DECL_INITIAL if fb_lvalue. | |
20923 | * tree-gimple.c (is_gimple_id): Add CONST_DECL. | |
20924 | * tree-pretty-print.c (dump_decl_name): Dump unnamed CONST_DECL | |
20925 | with <Cxxx>. | |
20926 | * tree-ssa-ccp.c (maybe_fold_stmt_indirect): Fold CONST_DECL. | |
20927 | ||
20928 | 2004-07-30 Diego Novillo <dnovillo@redhat.com> | |
20929 | ||
20930 | * tree-ssa-alias.c (compute_points_to_and_addr_escape): If a | |
20931 | pointer escapes through a function call, assume that the | |
20932 | callee will dereference it. | |
20933 | (add_pointed_to_var): Assume that VALUE is always an | |
20934 | ADDR_EXPR. | |
20935 | (collect_points_to_info_r): Only call add_pointed_to_var if | |
20936 | the value is an ADDR_EXPR. | |
20937 | ||
20938 | 2004-07-30 Diego Novillo <dnovillo@redhat.com> | |
20939 | ||
20940 | * tree-ssa-alias.c (create_alias_map_for): Do not get the | |
20941 | alias set of the inner type of ARRAY_TYPEs. | |
20942 | ||
20943 | 2004-07-29 Diego Novillo <dnovillo@redhat.com> | |
20944 | ||
20945 | * tree-ssa-ccp.c (visit_assignment): Move code to prevent | |
20946 | setting a non-register to UNDEFINED right before the call to | |
20947 | set_lattice_value. | |
20948 | ||
20949 | 2004-07-29 Kaz Kojima <kkojima@gcc.gnu.org> | |
20950 | ||
20951 | * config/sh/lib1funcs.asm: Make aliases movstr* for movmem*. | |
20952 | ||
20953 | 2004-07-29 Diego Novillo <dnovillo@redhat.com> | |
20954 | ||
20955 | * tree-ssa.c (verify_flow_sensitive_alias_info): When | |
20956 | comparing points-to sets of different pointers, make sure the | |
20957 | second pointer is actually referenced in the code. | |
20958 | ||
20959 | 2004-07-29 Zack Weinberg <zack@codesourcery.com> | |
20960 | ||
20961 | * config/ia64/ia64.c (setjmp_operand): Delete, unused. | |
20962 | (got_symbolic_operand): Remove unreachable code. | |
20963 | * config/ia64/ia64.h (PREDICATE_CODES): Remove entry for | |
20964 | setjmp_operand; add entry for tls_symbolic_operand. | |
20965 | * config/ia64/ia64-protos.h: Remove all prototypes of | |
20966 | predicate functions. | |
20967 | ||
20968 | 2004-07-29 Mark Mitchell <mark@codesourcery.com> | |
20969 | ||
20970 | * c-common.h (lang_post_pch_load): New variable. | |
20971 | * c-pch.c (lang_post_pch_load): Define it. | |
20972 | (c_common_read_pch): Use it. | |
20973 | * cgraphunit.c (record_call_1): Give the front end a chance to | |
20974 | record additional needed entities when a variable is marked as | |
20975 | needed. | |
20976 | * tlink.c (recompile_files): Robustify. | |
20977 | (scan_linker_output): If a symbol is assigned to a file, | |
20978 | but after recompilation is not present there, issue an error | |
20979 | message. | |
20980 | ||
20981 | 2004-07-29 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> | |
20982 | ||
20983 | * tree-ssa-loop-im.c (force_move_till_expr, force_move_till): | |
20984 | Take orig_loop argument and pass it to set_level. | |
20985 | (schedule_sm): Pass the correct orig_loop to force_move_till. | |
20986 | ||
20987 | 2004-07-29 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> | |
20988 | ||
20989 | * cfgloop.c (update_latch_info): Update dominator of the new block. | |
20990 | (canonicalize_loop_headers, flow_loops_find): Do not free dominance | |
20991 | info. | |
20992 | * dominance.c (verify_dominators): Check that the dominance tree is | |
20993 | connected. | |
20994 | (recount_dominator): Ignore unreachable blocks. | |
20995 | (iterate_fix_dominators): Cleanup old dominance information before | |
20996 | recomputing it. | |
20997 | ||
20998 | 2004-07-29 Diego Novillo <dnovillo@redhat.com> | |
20999 | ||
21000 | * tree-ssa-operands.c (get_expr_operands): Revert changes | |
21001 | to ADDR_EXPR processing introduced by: | |
21002 | 2004-06-21 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
21003 | * tree-ssa-operands.c (get_expr_operands): Minor rearrangements. | |
21004 | ||
21005 | 2004-07-29 Joseph S. Myers <jsm@polyomino.org.uk> | |
21006 | ||
21007 | * doc/implement-c.texi: Add C90 subclause references. Point to | |
21008 | preprocessor documentation instead of duplicating it. Add points | |
21009 | only present in C90. Fill in documentation for all points. | |
21010 | ||
21011 | 2004-07-29 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
21012 | ||
21013 | * pa.c (output_movb): Correct typo. | |
21014 | ||
21015 | 2004-07-29 Pat Haugen <pthaugen@us.ibm.com> | |
21016 | ||
21017 | * ra.h (single_reg_in_regclass): Declare. | |
21018 | * ra.c (single_reg_in_regclass): Define. | |
21019 | (first_hard_reg): New. | |
21020 | (init_ra): Initialize single_reg_in_regclass. | |
21021 | * ra-colorize.c (ok_class): New. | |
21022 | (coalesce, aggressive_coalesce, extended_coalesce_2): Use it. | |
21023 | ||
21024 | 2004-07-29 Nathan Sidwell <nathan@codesourcery.com> | |
21025 | ||
21026 | * gcov-io.h: Allow zero tag as EOF indicator. | |
21027 | (gcov_is_eof): Remove. | |
21028 | (gcov_truncate): Remove. | |
21029 | * gcov-io.c (gcov_seek): Always SEEK_SET. | |
21030 | * libgcov.c (gcov_exit): Don't use gcov_truncate. Write explicit | |
21031 | EOF tag. | |
21032 | * coverage.c (read_counts_file): Don't use gcov_is_eof. | |
21033 | * gcov-dump.c (dump_file): Likewise. | |
21034 | * gcov.c (read_graph_file, read_count_file): Likewise. | |
21035 | ||
21036 | * c-decl.c (complete_array_type): Don't gratuitously copy | |
21037 | maxindex. Check it always has a type. | |
21038 | ||
21039 | 2004-07-29 Steven Bosscher <stevenb@suse.de> | |
21040 | ||
21041 | * rtl.c (currently_expanding_to_rtl): New. | |
21042 | * rtl.h (currently_expanding_to_rtl): Export it. | |
21043 | * cfgexpand.c (tree_cfg_expand): Set/clear it at entry/exit. | |
21044 | ||
21045 | * config/alpha/alpha.c (alpha_expand_mov): Remove old RTL | |
21046 | inliner hack. | |
21047 | * config/sh/sh.c: Replace rtx_equal_function_value_matters | |
21048 | with currently_expanding_to_rtl. | |
21049 | * config/sh/sh.md: Likewise. | |
21050 | * config/ia64/ia64.c (got_symbolic_operand): Likewise. | |
21051 | ||
21052 | 2004-07-29 Alexandre Oliva <aoliva@redhat.com> | |
21053 | ||
21054 | Introduce sh2a support. | |
21055 | 2004-07-29 Alexandre Oliva <aoliva@redhat.com> | |
21056 | * config.gcc: Build multilibs for sh2a and sh2a-single by | |
21057 | default. | |
21058 | * config/sh/sh.h (SUPPORT_SH2A, SUPPORT_SH2A_SINGLE): Define by | |
21059 | default. Split their tests out of the corresponding SH4 | |
21060 | multilibs. | |
21061 | * config/sh/t-sh (MULTILIB_MATCHES): Don't ever use SH4 or SH4a | |
21062 | multilibs for SH2a. | |
21063 | 2004-07-28 Alexandre Oliva <aoliva@redhat.com> | |
21064 | * config.gcc: Handle sh2a multilibs and cpu selection. | |
21065 | * config/sh/sh.h: Likewise. Handle sh2a command line flags. | |
21066 | * config/sh/t-mlib-sh2a: New. | |
21067 | * config/sh/t-mlib-sh2a-nofpu: New. | |
21068 | * config/sh/t-mlib-sh2a-single: New. | |
21069 | * config/sh/t-mlib-sh2a-single-only: New. | |
21070 | 2004-07-09 Nick Clifton <nickc@redhat.com> | |
21071 | Issue 43400 | |
21072 | * config/sh/sh.h (DRIVER_SELF_SPECS): Issue an error message if | |
21073 | -ml and -m2a are used together. | |
21074 | 2004-03-23 DJ Delorie <dj@redhat.com> | |
21075 | * config/sh/sh.c (sh_builtin_saveregs): Use the double code only | |
21076 | when we have a double-sized FPU. | |
21077 | 2004-02-24 Corinna Vinschen <vinschen@redhat.com> | |
21078 | * config/sh/lib1funcs.asm (set_fpscr): Don't build if __SH2A_NOFPU__ | |
21079 | is set. | |
21080 | * config/sh/elf.h (SUBTARGET_ASM_ISA_SPEC): Add cases for -msh2a-nofpu, | |
21081 | -msh2a-single and -msh2a-single-only | |
21082 | 2004-02-24 Corinna Vinschen <vinschen@redhat.com> | |
21083 | * config/sh/crt1.asm: Don't generate FPU instructions if __SH2A_NOFPU__ | |
21084 | is set. | |
21085 | 2004-02-20 DJ Delorie <dj@delorie.com> | |
21086 | * config/sh/sh.md (movsf_i, movsf_ie, movsf, ble, bge): Disable for sh2a-nofpu. | |
21087 | 2004-02-20 Fred Fish <fnf@redhat.com>, | |
21088 | Corinna Vinschen <vinschen@redhat.com> | |
21089 | * config/sh/t-sh (MULTILIB_OPTIONS): Add 2a-nofpu. | |
21090 | (MULTILIB_EXCEPTIONS): Don't build littel-endian on sh2a. | |
21091 | 2004-02-18 DJ Delorie <dj@redhat.com> | |
21092 | * config/sh/sh.c (broken_move): Add support for movi20. | |
21093 | * config/sh/sh.h: Likewise. | |
21094 | (SHIFT_COUNT_TRUNCATED): Set for sh2a. | |
21095 | * config/sh/sh.md (udivsi3_sh2a): New. | |
21096 | (udivsi3): Call it. | |
21097 | (divsi3_sh2a): New. | |
21098 | (divsi3): Call it. | |
21099 | (mul_r): New. | |
21100 | (ashlsi3_sh2a): New. | |
21101 | (ashrsi3_sh2a): New. | |
21102 | (lshrsi3_sh2a): New. | |
21103 | (movsi_i): Disable for sh2a. | |
21104 | (movsi_ie): Add movi20. | |
21105 | (movsf_i, movsf_ie, movsf, ble, untyped_call): Explicitly enable | |
21106 | sh2a, for -m2a-nofpu mode. | |
21107 | 2004-02-13 DJ Delorie <dj@redhat.com> | |
21108 | * config/sh/lib1funcs.asm: Handle double vs single better. | |
21109 | * config/sh/sh.h: Likewise. | |
21110 | 2004-02-09 DJ Delorie <dj@redhat.com> | |
21111 | * config/sh/crt1.asm: Add support for sh2a. | |
21112 | * config/sh/elf.h: Likewise. | |
21113 | * config/sh/lib1funcs.asm: Likewise. | |
21114 | * config/sh/sh.c: Likewise. | |
21115 | * config/sh/sh.md: Likewise. | |
21116 | * config/sh/sh.h: Likewise. | |
21117 | * config/sh/t-sh: Likewise. | |
21118 | ||
21119 | 2004-07-28 Alexandre Oliva <aoliva@redhat.com> | |
21120 | ||
21121 | * config/frv/frv.md (movqi_internal, movhi_internal, | |
21122 | movsi_internal): Add backup alternatives for memory inputs. | |
21123 | ||
21124 | 2004-07-28 Matt Austern <austern@apple.com> | |
21125 | ||
21126 | * config/darwin.c (darwin_one_byte_bool): New global variable. | |
21127 | * config/darwin.h (darwin_one_byte_bool): Declare. | |
21128 | (SUBTARGET_OPTIONS): Define macro. (for -mone-byte-bool flag.) | |
21129 | * config/rs6000/darwin.h (BOOL_TYPE_SIZE): Conditionalize on | |
21130 | value of darwin_one_byte_bool. | |
21131 | * doc/invoke.texi: Document -mone-byte-bool flag. | |
21132 | ||
21133 | 2004-07-28 Eric Christopher <echristo@redhat.com> | |
21134 | ||
21135 | * c-common.c (c_common_unsafe_for_reeval): Delete. | |
21136 | * c-lang.c (LANG_HOOKS_UNSAFE_FOR_REEVAL): Delete use. | |
21137 | * c-pretty-print.c (pp_c_expression): Delete UNSAVE_EXPR case. | |
21138 | * calls.c (fix_unsafe_tree): Delete. | |
21139 | (expand_call): Delete code which used above. | |
21140 | * dojump.c (do_jump): Delete UNSAVE_EXPR case. | |
21141 | * expr.c (expand_expr_real_1): Ditto. | |
21142 | * fold-const.c (non_lvalue): Ditto. | |
21143 | * langhooks-def.h (LANG_HOOKS_UNSAFE_FOR_REEVAL): Delete. | |
21144 | (lhd_unsafe_for_reeval): Ditto. | |
21145 | * langhooks.c (lhd_unsafe_for_reeval): Ditto. | |
21146 | * langhooks.h (unsafe_for_reeval): Ditto. | |
21147 | (unsave_expr_now): Adjust comment. | |
21148 | * tree-inline.c (copy_body_r): Delete UNSAVE_EXPR bits. | |
21149 | (estimate_num_insns_1): Ditto. | |
21150 | * tree-pretty-print.c (dump_generic_node): Ditto. | |
21151 | * tree.c (expr_align): Ditto. | |
21152 | (unsave_expr): Delete. | |
21153 | (unsafe_for_reeval): Ditto. | |
21154 | * tree.h (unsafe_for_reeval, unsave_expr): Ditto. | |
21155 | * tree.def (UNSAVE_EXPR): Delete. | |
21156 | * objc/objc-lang.c (LANG_HOOKS_UNSAFE_FOR_REEVAL): Delete. | |
21157 | ||
21158 | 2004-07-28 Zack Weinberg <zack@codesourcery.com> | |
21159 | ||
21160 | * tree.h (enum tls_model): Move ... | |
21161 | * coretypes.h: ... here. | |
21162 | ||
21163 | 2004-07-28 Richard Sandiford <rsandifo@redhat.com> | |
21164 | ||
21165 | * config/frv/frv.h (EPILOGUE_USES): New. Use LR. | |
21166 | ||
21167 | 2004-07-28 Richard Sandiford <rsandifo@redhat.com> | |
21168 | ||
21169 | * cse.c (validate_canon_reg): New function, split out from... | |
21170 | (canon_reg): ...here. Use validate_canon_reg for both 'e' and 'E'. | |
21171 | ||
21172 | 2004-07-28 Diego Novillo <dnovillo@redhat.com> | |
21173 | ||
21174 | * tree-ssa-alias.c (maybe_create_global_var): Don't just | |
21175 | return if .GLOBAL_VAR has been created. | |
21176 | ||
21177 | 2004-07-28 Diego Novillo <dnovillo@redhat.com> | |
21178 | ||
21179 | * tree-ssa.c (verify_flow_insensitive_alias_info): Process | |
21180 | every variable that may have aliases, not just tags. | |
21181 | ||
21182 | 2004-07-28 Aldy Hernandez <aldyh@redhat.com> | |
21183 | ||
21184 | * config/rs6000/rs6000.md ("move_from_CR_gt_bit"): Rename to | |
21185 | move_from_CR_eq_bit. | |
21186 | Rename UNSPEC_MV_CR_GT to UNSPEC_MV_CR_EQ. | |
21187 | ||
21188 | ||
21189 | * config/rs6000/spe.md ("e500_flip_gt_bit"): Rename to | |
21190 | e500_flip_eq_bit. | |
21191 | ||
21192 | * config/rs6000/rs6000-protos.h: Rename output_e500_flip_gt_bit to | |
21193 | output_e500_flip_eq_bit. | |
21194 | ||
21195 | * config/rs6000/rs6000.c (output_e500_flip_gt_bit): Rename to | |
21196 | output_e500_flip_eq_bit. | |
21197 | (rs6000_emit_sCOND): Rename call to output_e500_flip_gt_bit to | |
21198 | output_e500_flip_eq_bit. | |
21199 | Rename gen_move_from_CR_gt_bit to gen_move_from_CR_eq_bit. | |
21200 | (print_operand): case D. Get to EQ bit. | |
21201 | ||
21202 | 2004-07-28 Richard Sandiford <rsandifo@redhat.com> | |
21203 | ||
21204 | * gcov.c (function_summary): Add missing \n. | |
21205 | ||
21206 | 2004-07-28 Alexandre Oliva <aoliva@redhat.com> | |
21207 | ||
21208 | Introduce sh4a support. | |
21209 | * config.gcc: Handle sh4a multilibs and cpu selection. | |
21210 | * config/sh/sh.h: Likewise. Handle sh4a command line flags. | |
21211 | * config/sh/t-mlib-sh4a: New. | |
21212 | * config/sh/t-mlib-sh4al: New. | |
21213 | * config/sh/t-mlib-sh4a-nofpu: New. | |
21214 | * config/sh/t-mlib-sh4a-single: New. | |
21215 | * config/sh/t-mlib-sh4a-single-only: New. | |
21216 | 2004-02-20 DJ Delorie <dj@redhat.com> | |
21217 | * config/sh/sh.md ("movua"): Change constraint from "m" to "Sua". | |
21218 | * config/sh/sh.h (EXTRA_CONSTRAINT_S): Add "Sua" support. | |
21219 | 2003-08-22 Eric Christopher <echristo@redhat.com> | |
21220 | * config/sh/sh4a.md: Update for chip errata. | |
21221 | 2003-08-07 Eric Christopher <echristo@redhat.com> | |
21222 | * config/sh/sh4a.md: New file. sh4a processor description. | |
21223 | 2003-07-08 Alexandre Oliva <aoliva@redhat.com> | |
21224 | * config/sh/sh.h (TARGET_SWITCHES): Added 4al. Adjust description | |
21225 | of -m4a-nofpu. | |
21226 | (SH_ASM_SPEC): Pass -dsp for -m4al, not -m4a-nofpu. | |
21227 | * config/sh/t-sh (MULTILIB_MATCHES): Map -m4al to -m4a-nofpu. | |
21228 | * doc/invoke.texi (SH Options): Document -m4al. | |
21229 | 2003-07-03 Alexandre Oliva <aoliva@redhat.com> | |
21230 | * config/sh/sh.c (expand_block_move): Remove commented-out code | |
21231 | checked in by mistake. | |
21232 | (sh_cannot_change_mode_class): Enable SUBREGs to be used to select | |
21233 | single elements from SFmode vectors. | |
21234 | * config/sh/sh.md (fsca): Use VEC_CONCAT to initialize the output | |
21235 | register. | |
21236 | (sinsf2, cossf2, sindf2, cosdf2): Don't emit CLOBBER. | |
21237 | 2003-07-01 Alexandre Oliva <aoliva@redhat.com> | |
21238 | * config/sh/sh.h (sh_fsca_sf2int, sh_fsca_df2int, | |
21239 | sh_fsca_int2sf): Remove variable declarations. | |
21240 | * config/sh/sh.c (sh_fsca_sf2int, sh_fsca_df2int, | |
21241 | sh_fsca_int2sf): New functions. | |
21242 | (sh_fsca_sf2int_rtx, sh_fsca_df2int_rtx, | |
21243 | sh_fsca_int2sf_rtx): New static variables. | |
21244 | * config/sh/sh-protos.h (sh_fsca_sf2int, sh_fsca_df2int, | |
21245 | sh_fsca_int2sf): Declare. | |
21246 | * config/sh/sh.md: Adjust. | |
21247 | * doc/invoke.texi (SH Options): Document new options. | |
21248 | * config/sh/lib1funcs.asm (ic_invalidate): Remove SH4a forward | |
21249 | compatibility from SH4 code. | |
21250 | 2003-06-27 Alexandre Oliva <aoliva@redhat.com> | |
21251 | * config/sh/sh.c (expand_block_move): Don't emit POST_INC too | |
21252 | early. | |
21253 | (memory_movsrc_operand): Renamed to... | |
21254 | (unaligned_load_operand): ... this. Simplified. | |
21255 | * config/sh/sh.h (PREDICATE_CODES): Adjust. | |
21256 | * config/sh/sh.md (movua, extv, extzv): Likewise. Change movua's | |
21257 | input operand to SImode, and adjust the others. Introduce | |
21258 | post-increment by peephole. | |
21259 | * config/sh/sh.c (expand_block_move): Give the target address the | |
21260 | same mode as the temp reg. | |
21261 | * config/sh/sh.c (expand_block_move): Use a temp reg for unaligned | |
21262 | copying. | |
21263 | 2003-06-26 Alexandre Oliva <aoliva@redhat.com> | |
21264 | Introduce support for SH4a. | |
21265 | * config/sh/lib1funcs.asm (ic_invalidate): Use icbi if | |
21266 | __SH4A__. Emit 4 4kb blocks and touch all of them otherwise. | |
21267 | * config/sh/sh.c (sh_fsca_sf2int, sh_fsca_df2int, | |
21268 | sh_fsca_int2sf): New. | |
21269 | (sh_init_builtins): Initialize them. | |
21270 | (print_operand): Support `d'. | |
21271 | (expand_block_move): Use movua if src is misaligned. | |
21272 | (memory_movsrc_operand): New. | |
21273 | * config/sh/sh.h (TARGET_CPU_CPP_BUILTINS): Define __SH4A__ | |
21274 | and one of the SH4 macros. | |
21275 | (SH4A_BIT, TARGET_SH4A_ARCH, TARGET_SH4A_FP, | |
21276 | SELECT_SH4A_NOFPU, SELECT_SH4A_SINGLE_ONLY, SELECT_SH4A, | |
21277 | SELECT_SH4A_SINGLE): New. | |
21278 | (TARGET_NONE): Add SH4A_BIT. | |
21279 | (TARGET_SWITCHES): Add 4a-single-only, 4a-single, 4a-nofpu and 4a. | |
21280 | (SH_ASM_SPEC): Pass -dsp if -m4a-nofpu. | |
21281 | (sh_fsca_sf2int, sh_fsca_df2int, sh_fsca_int2sf): Declare. | |
21282 | (OVERRIDE_OPTIONS): Set cpu to CPU_SH4A when appropriate. | |
21283 | (enum processor_type): Added PROCESSOR_SH4A. | |
21284 | (PREDICATE_CODES): Add memory_movsrc_operand. | |
21285 | * config/sh/sh.md: Removed unused variables. | |
21286 | (attr cpu): Add sh4a. | |
21287 | (attr type): Add movua, fsrra and fsca. | |
21288 | (prefetch): New, for SH4. | |
21289 | (ic_invalidate_line, ic_invalidate_line_sh4a): Use icbi. | |
21290 | (toggle_sz): Set type to fp. | |
21291 | (toggle_pr, rsqrtsf2, fsca, sinsf2, cossf2, sindf2, cosdf2): New. | |
21292 | (movua, extv, extzv): New. | |
21293 | * config/sh/t-sh: Add multilibs for 4a, 4a-nofpu, 4a-single | |
21294 | and 4a-single-only. | |
21295 | ||
21296 | 2004-07-28 Diego Novillo <dnovillo@redhat.com> | |
21297 | ||
21298 | * tree-optimize.c (init_tree_optimization_passes): Schedule | |
21299 | pass_may_alias right after the program is renamed into SSA. | |
21300 | * tree-pass.h (PROP_alias): Define. | |
21301 | * tree-outof-ssa.c (pass_del_ssa): Require PROP_alias. | |
21302 | * tree-sra.c (pass_sra): Likewise. | |
21303 | * tree-ssa-ccp.c (pass_ccp): Likewise. | |
21304 | * tree-ssa-copyrename.c (pass_rename_ssa_ccp): Likewise. | |
21305 | * tree-ssa-dce.c (pass_dce): Likewise. | |
21306 | * tree-ssa-dom.c (pass_dominator): Likewise. | |
21307 | * tree-ssa-dse.c (pass_dse): Likewise. | |
21308 | * tree-ssa-forwprop.c (pass_forwprop): Likewise. | |
21309 | * tree-ssa-loop-ch.c (pass_ch): Likewise. | |
21310 | * tree-ssa-phiopt.c (pass_phiopt): Likewise. | |
21311 | * tree-ssa-pre.c (pass_pre): Likewise. | |
21312 | * tree-tailcall.c (pass_tail_recursion): Likewise. | |
21313 | * tree-ssa.c (pass_redundant_phi): Likewise. | |
21314 | * tree-ssa-alias.c (aliases_computed_p): Remove. | |
21315 | Update all users. | |
21316 | (init_alias_info): Do not mark all type tags for renaming | |
21317 | unconditionally. | |
21318 | Clear may_aliases from every symbol. | |
21319 | (setup_pointers_and_addressables): If a pointer has not been | |
21320 | dereferenced and it had a type tag, clear it and mark the old | |
21321 | tag for renaming. | |
21322 | ||
21323 | 2004-07-28 Diego Novillo <dnovillo@redhat.com> | |
21324 | ||
21325 | PR tree-optimization/16705 | |
21326 | * tree-ssa-alias.c (create_global_var): Set DECL_EXTERNAL on | |
21327 | .GLOBAL_VAR. | |
21328 | ||
21329 | 2004-07-27 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
21330 | ||
21331 | * expr.c (expand_expr_real_1, case PARM_DECL): Remove obsolete error | |
21332 | check. | |
21333 | ||
21334 | * gimplify.c (maybe_with_size_expr): If already have WITH_SIZE_EXPR, | |
21335 | don't make another one. | |
21336 | ||
21337 | PR optimization/15077 | |
21338 | * function.h (struct function): Add field saved_static_chain_decl. | |
21339 | Fix comment for static_chain_decl. | |
21340 | * tree-inline.c (save_body): Add new arg and handle static_chain_decl. | |
21341 | * tree-inline.h (save_body): Add new arg. | |
21342 | * tree-optimize.c (tree_rest_of_compilation): Handle saving | |
21343 | static_chain_decl. | |
21344 | ||
21345 | 2004-07-27 Richard Henderson <rth@redhat.com> | |
21346 | ||
21347 | * gimplify.c (is_gimple_addr_expr_arg_or_indirect): Remove. | |
21348 | (gimplify_modify_expr, gimplify_addr_expr, gimplify_expr): Use | |
21349 | is_gimple_addressable. | |
21350 | * tree-gimple.c (is_gimple_addressable): Rename from | |
21351 | is_gimple_addr_expr_arg; accept INDIRECT_REF. | |
21352 | (is_gimple_lvalue): Don't test INDIRECT_REF directly. | |
21353 | * tree-gimple.h, tree-sra.c, tree-ssa-loop-im.c: Update for | |
21354 | rename to is_gimple_addressable. | |
21355 | ||
21356 | 2004-07-28 Alan Modra <amodra@bigpond.net.au> | |
21357 | ||
21358 | * config/rs6000/rs6000.c (function_arg_padding): Pad SFmode upwards. | |
21359 | ||
21360 | 2004-07-27 Richard Henderson <rth@redhat.com> | |
21361 | ||
21362 | * function.c (assign_stack_local_1): Widen alignment to HOST_WIDE_INT | |
21363 | before rounding. | |
21364 | ||
21365 | 2004-07-27 Zack Weinberg <zack@codesourcery.com> | |
21366 | ||
21367 | * libgcc2.c: Change all conditionals testing | |
21368 | LIBGCC2_LONG_DOUBLE_TYPE_SIZE == 96 to == 80. | |
21369 | * libgcc2.h: Likewise. | |
21370 | * config/i386/i386.c (ix86_init_mmx_sse_builtins): Set | |
21371 | TYPE_PRECISION of float80_type to 80. | |
21372 | * config/ia64/ia64.c (ia64_init_builtins): Set TYPE_PRECISION | |
21373 | of fpreg_type and float80_type to 80. | |
21374 | * config/i386/i386.h, config/ia64/ia64.h, config/m68k/m68k.h | |
21375 | * config/m68k/netbsd-elf.h: | |
21376 | Change LONG_DOUBLE_TYPE_SIZE and possibly LIBGCC2_LONG_DOUBLE_TYPE_SIZE | |
21377 | to evaluate to 80 whenever they would formerly have evaluated to 96. | |
21378 | * config/i386/sco5.h: Remove unnecessary redefinition of | |
21379 | LONG_DOUBLE_TYPE_SIZE. | |
21380 | * doc/rtl.texi: Clarify uses of XFmode and TFmode. | |
21381 | * config/i386/i386-modes.def: Use FRACTIONAL_FLOAT_MODE for | |
21382 | XFmode, with a bitsize of 80. Update commentary. | |
21383 | * config/ia64/ia64-modes.def: Likewise. | |
21384 | * config/m68k/m68k-modes.def: Likewise. | |
21385 | ||
21386 | 2004-07-27 Steven Bosscher <stevenb@suse.de> | |
21387 | ||
21388 | * cfgexpand.c (tree_expand_cfg): Fix comment. | |
21389 | ||
21390 | * calls.c (expand_call): Ignore rtx_equal_function_value_matters. | |
21391 | * function.c (purge_single_hard_subreg_set, purge_hard_subreg_sets): | |
21392 | Remove. | |
21393 | (prepare_function_start): Don't set rtx_equal_function_value_matters. | |
21394 | * integrate.c (copy_rtx_and_substitute): Don't test for it. | |
21395 | * passes.c (rest_of_compilation): Don't call purge_hard_subreg_sets. | |
21396 | Don't set rtx_equal_function_value_matters. Don't register RTL hooks | |
21397 | here again. Update leading comment. | |
21398 | * rtl.c (rtx_equal_function_value_matters): Remove. | |
21399 | (rtx_equal_p): Don't test for it. | |
21400 | * simplify-rtx.c (simplify_binary_operation, simplify_subreg): | |
21401 | Likewise. | |
21402 | ||
21403 | * rtl.h (enum insn_note): Remove NOTE_INSN_LOOP_END_TOP_COND. | |
21404 | * rtl.c (note_insn_name): Likewise. | |
21405 | * emit-rtl.c (remove_unnecessary_notes): Don't handle it. | |
21406 | * final.c (final_scan_insn): Likewise. | |
21407 | ||
21408 | * except.c (finish_eh_generation): Don't call cfg_cleanup from here. | |
21409 | * passes.c (rest_of_handle_eh): Do it here. | |
21410 | ||
21411 | * stmt.c (struct nesting): Remove struct nesting block member. | |
21412 | (struct stmt_status): Remove x_block_start_count field. | |
21413 | (current_block_start_count): Remove. | |
21414 | ||
21415 | 2004-07-27 Brian Booth <bbooth@redhat.com> | |
21416 | ||
21417 | * tree-optimize.c (register_one_dump_file): Update condition that uses | |
21418 | static_pass_number. | |
21419 | (dup_pass_1): Replace with... | |
21420 | (next_pass_1): This. | |
21421 | (NEXT_PASS): Call next_pass_1. | |
21422 | (DUP_PASS): Remove. | |
21423 | (init_tree_optimization_passes): Remove uses of DUP_PASS. | |
21424 | (execute_one_pass): Update condition that uses | |
21425 | static_pass_number. | |
21426 | * tree-pass.h (tree_opt_pass): Declare static_pass_number as a signed | |
21427 | integer. | |
21428 | ||
21429 | 2004-07-27 Nick Clifton <nickc@redhat.com> | |
21430 | ||
21431 | * config/m32r/m32r.c: Include integrate.h in order to get the | |
21432 | prototype for get_hard_reg_initial_val(). | |
21433 | ||
21434 | * config/m32r/m32r.md (m32rpipeline): Remove unused value "m32r" | |
21435 | and tidy up indentation. | |
21436 | (final_presence_set): Use absence_set instead, so that if there is | |
21437 | nothing in the "o" pipe the "s" pipe can be scheduled. | |
21438 | ||
21439 | 2004-07-27 Diego Novillo <dnovillo@redhat.com> | |
21440 | ||
21441 | * tree-ssa-alias.c (create_name_tags): Ignore pointers that | |
21442 | don't have PT_VARS nor PT_MALLOC set. | |
21443 | Clear name tag from pointers that have not been dereferenced. | |
21444 | (set_pt_anything, set_pt_malloc): Forward declare. | |
21445 | * tree-ssa-copy.c (may_propagate_copy): Compare alias sets, | |
21446 | not type compatibility when determining if a pointer can be | |
21447 | copy propagated. | |
21448 | ||
21449 | 2004-07-27 Richard Sandiford <rsandifo@redhat.com> | |
21450 | ||
21451 | * expr.h (canonicalize_condition, get_condition): Add an int argument. | |
21452 | * gcse.c (fis_get_condition): Reimplement using get_condition, leaving | |
21453 | it to check whether the condition is still valid at the jump insn. | |
21454 | * ifcvt.c (noce_get_condition): Likewise. | |
21455 | (noce_get_alt_condition): Update call to canonicalize_condition. | |
21456 | * loop-iv.c (simplify_using_initial_values): Update call to | |
21457 | get_condition. Remove FIXME. | |
21458 | (check_simple_exit): Update call to get_condition. | |
21459 | * loop-unswitch.c (may_unswitch_on): Likewise. | |
21460 | * loop.c (check_dbra_loop): Likewise. | |
21461 | (canonicalize_condition, get_condition): Add an argument to say whether | |
21462 | the condition must still be valid at INSN. | |
21463 | (get_condition_for_loop): Update call to get_condition. Require that | |
21464 | the condition be valid at INSN. | |
21465 | * predict.c (estimate_probability): Update call to get_condition. | |
21466 | Remove unused earliest parameter. | |
21467 | (expected_value_to_br_prob): Update call to canonicalize_condition. | |
21468 | ||
21469 | 2004-07-26 Eric Christopher <echristo@redhat.com> | |
21470 | ||
21471 | * tree-dfa.c (add_referenced_var): Register initializers of global | |
21472 | variables. | |
21473 | ||
21474 | 2004-07-26 Paolo Bonzini <bonzini@gnu.org> | |
21475 | ||
21476 | * config/i386/i386.c (function_arg): Always treat 8- | |
21477 | and 16-byte wide vectors the same, even if MMX/SSE | |
21478 | are disabled. | |
21479 | (contains_128bit_aligned_vector_p): Add comment. | |
21480 | ||
21481 | 2004-07-26 J"orn Rennecke <joern.rennecke@superh.com> | |
21482 | ||
21483 | * ra.h (enum node_type): Rename to: | |
21484 | (enum ra_node_type). | |
21485 | * ra-colorize.c: Likewise. | |
21486 | ||
21487 | 2004-07-26 Richard Sandiford <rsandifo@redhat.com> | |
21488 | ||
21489 | * cfgcleanup.c (try_simplify_condjump): Call update_forwarder_flag | |
21490 | after simplifying the jump. | |
21491 | ||
21492 | 2004-06-26 Richard Henderson <rth@redhat.com> | |
21493 | ||
21494 | * calls.c (combine_pending_stack_adjustment_and_call): Make | |
21495 | preferred_unit_stack_boundary argument unsigned. Make | |
21496 | unadjusted_alignment unsigned. | |
21497 | (expand_call): Make preferred_stack_boundary and | |
21498 | preferred_unit_stack_boundary variables unsigned. | |
21499 | * function.c (assign_stack_local_1): Make alignment unsigned. | |
21500 | * function.h (struct function): Make stack_alignment_needed, | |
21501 | preferred_stack_boundary unsigned. | |
21502 | * config/i386/i386.c (ix86_preferred_stack_boundary): Make unsigned. | |
21503 | (ix86_compute_frame_layout): Make stack_alignment_needed, | |
21504 | preferred_alignment variables unsigned. | |
21505 | * config/i386/i386.h (ix86_preferred_stack_boundary): Make unsigned. | |
21506 | ||
21507 | 2004-07-26 Tom Tromey <tromey@redhat.com> | |
21508 | ||
21509 | * tree.h: Fix typo in comment. | |
21510 | ||
21511 | 2004-07-26 Daniel Jacobowitz <dan@debian.org> | |
21512 | ||
21513 | PR bootstrap/12804 | |
21514 | * ggc-zone.c (struct alloc_chunk): Remove attribute packed. | |
21515 | (MAX_FREE_BIN_SIZE): Increase on 64-bit targets. | |
21516 | (ggc_free): Remove incorrect freeing. | |
21517 | (sweep_pages): Advance PP for large pages. Fix indentation. | |
21518 | ||
21519 | 2004-07-26 Richard Sandiford <rsandifo@redhat.com> | |
21520 | ||
21521 | PR rtl-optimization/16643 | |
21522 | * cfglayout.h (cfg_layout_initialize): Add a flags parameter. | |
21523 | * cfglayout.c (cfg_layout_initialize): Pass it to cleanup_cfg. | |
21524 | * basic-block.h (reorder_basic_blocks): Add a flags parameter. | |
21525 | * cfglayout.c (reorder_basic_blocks): Pass it to cfg_layout_initialize. | |
21526 | (partition_hot_cold_basic_blocks): Pass 0 to cfg_layout_initialize. | |
21527 | * function.c (thread_prologue_and_epilogue_insns): Likewise. | |
21528 | * rtl.h (tracer): Add a flags parameter. | |
21529 | * tracer.c (tracer): Pass it to cfg_layout_initialise. | |
21530 | * passes.c (rest_of_handle_stack_regs): Pass 0 to reorder_basic_blocks. | |
21531 | (rest_of_handle_reorder_blocks): Update calls to tracer and | |
21532 | reorder_basic_blocks, passing CLEANUP_UPDATE_LIFE if appropriate. | |
21533 | (rest_of_handle_tracer): Pass 0 to tracer. | |
21534 | (rest_of_handle_loop2): Pass 0 to cfg_layout_initialize. | |
21535 | ||
21536 | 2004-07-25 David Edelsohn <edelsohn@gnu.org> | |
21537 | ||
21538 | PR target/16239 | |
21539 | * config/rs6000/rs6000.md (movdi_internal64): Further disparage | |
21540 | f->f. | |
21541 | ||
21542 | 2004-07-24 Nathan Sidwell <nathan@codesourcery.com> | |
21543 | ||
21544 | * tree.h (BINFO_BASE_ACCESSES): Accesses are a VEC(tree). | |
21545 | (BINFO_BASE_ACCESS): Adjust. | |
21546 | (BINFO_BASE_ACCESS_APPEND): New. | |
21547 | (struct tree_binfo): Make base_accesses a VEC(tree) pointer. | |
21548 | * dbxout.c (dbxout_type): Adjust binfo access accessing. | |
21549 | * dwarf2out.c (gen_member_die): Likewise. | |
21550 | * tree-dump.c (deque_and_dump): Likewise. | |
21551 | ||
21552 | 2004-07-26 Falk Hueffner <falk@debian.org> | |
21553 | ||
21554 | * config/alpha/alpha.c (alpha_rtx_cost_data): Tweak int_div | |
21555 | costs. | |
21556 | ||
21557 | 2004-07-25 Roger Sayle <roger@eyesopen.com> | |
21558 | ||
21559 | * config/i386/i386.c (output_fp_compare): Use ffreep to pop top | |
21560 | value off of the stack if TARGET_USE_FFREEP. | |
21561 | ||
21562 | 2004-07-26 Bernardo Innocenti <bernie@develer.com> | |
21563 | ||
21564 | * gengtype.c (oprintf): Replace xrealloc () with XRESIZEVEC (). | |
21565 | * gengtype-yacc.y: Likewise. Replace free() with XDELETE (). | |
21566 | * c-typeck.c (PUSH_SPELLING): Remove redundant NULL-pointer | |
21567 | check on invocation of XRESIZEVEC (). | |
21568 | ||
21569 | 2004-07-26 Bernardo Innocenti <bernie@develer.com> | |
21570 | ||
21571 | * c-common.c (disable_builtin_function): Rename variable n to | |
21572 | new_disabled_builtin. | |
21573 | * c-decl.c (duplicate_decls): Rename parameter decl to new_decl. | |
21574 | Rename local variable old to old_decl. | |
21575 | * gensupport.c (shift_output_template): Rename parameter old to src. | |
21576 | * simplify-rtx.c (simplify_replace_rtx): Rename parameter oldx to | |
21577 | old_rtx and newx to new_rtx. | |
21578 | ||
21579 | 2004-07-26 Bernardo Innocenti <bernie@develer.com> | |
21580 | ||
21581 | * Makefile.in (C_PRAGMA_H): New variable to track dependencies | |
21582 | of c-pragma.h. | |
21583 | * c-pragma.h (c_lex, c_lex_with_flags): Change returntype to | |
21584 | enum cpp_ttype. | |
21585 | * c-lex.c: Likewise. | |
21586 | ||
21587 | 2004-07-25 Roger Sayle <roger@eyesopen.com> | |
21588 | ||
21589 | * fold-const.c (constant_boolean_node): Make extern. | |
21590 | (make_range): Wrap long lines. | |
21591 | (fold_cond_expr_with_comparison): Remove unnecessary call to | |
21592 | pedantic_non_lvalue. Add missing calls to fold_convert. | |
21593 | (fold_truthop): Add missing calls to fold_convert. | |
21594 | (fold): Likewise. | |
21595 | * tree.h (constant_boolean_node): Add prototype here. | |
21596 | * builtins.c (expand_builtin_strncmp): Add missing calls to | |
21597 | fold_convert. | |
21598 | * tree-ssa-dom.c (record_equivalences_from_incoming_edge): | |
21599 | Call fold_convert and constant_boolean_node to correct types. | |
21600 | * tree-ssa-forwprop.c (substitute_single_use_vars): Add | |
21601 | missing call to fold_convert to correct types. | |
21602 | ||
21603 | 2004-07-26 Niall Douglas <s_fsfeurope2@nedprod.com> | |
21604 | Brian Ryner <bryner@brianryner.com> | |
21605 | ||
21606 | PR c++/9283 | |
21607 | PR c++/15000 | |
21608 | * c-common.c (c_common_attribute_table): Allow | |
21609 | handle_visibility_attribute to be called for types. | |
21610 | (handle_visibility_attribute) When given a type, set the visibility | |
21611 | bits on the TYPE_NAME. When given a decl, don't set no_add_attrs | |
21612 | so that we can check later whether the attribute was present. Added | |
21613 | warning if attribute applied to non class type. | |
21614 | * c-decl.c (diagnose_mismatched_decls): Updated rules for merging | |
21615 | decls and checking that they are consistent. | |
21616 | * common.opt: Added -fvisibility. | |
21617 | * c.opt, c-opts.c: Added -fvisibility-inlines-hidden. | |
21618 | * c-pragma.h, c-pragma.c: Added handle_pragma_visibility(). | |
21619 | * flags.h, tree.h: Added assorted support defines for overall patch | |
21620 | * opts.c: Added parsing support for -fvisibility. | |
21621 | * tree.c (build_decl): Set visibility for all decls to be whatever | |
21622 | is in force at that time. | |
21623 | * varasm.c (default_binds_local_p_1): Reworked logic determining | |
21624 | when to make a symbol locally bound. | |
21625 | * doc/invoke.texi: Added documentation for -fvisibility and | |
21626 | -fvisibility-inlines-hidden. | |
21627 | ||
21628 | 2004-07-25 Bernardo Innocenti <bernie@develer.com> | |
21629 | ||
21630 | * basic-block.h (reorder_block_def): Rename to reorder_block_def_p. | |
21631 | * c-common.c: Add missing casts from void * to other types. | |
21632 | * c-decl.c: Likewise. | |
21633 | * c-format.c: Likewise. | |
21634 | * c-lex.c: Likewise. | |
21635 | * c-pragma.c: Likewise. | |
21636 | * c-typeck.c: Likewise. | |
21637 | * defaults.h: Likewise. | |
21638 | * genconstants.c: Likewise. | |
21639 | * gengtype-lex.l: Likewise. | |
21640 | * genmodes.c: Likewise. | |
21641 | * read-rtl.c: Likewise. | |
21642 | * rtl.c: Likewise. | |
21643 | ||
21644 | 2004-07-25 Bernardo Innocenti <bernie@develer.com> | |
21645 | ||
21646 | * bitmap.c: Use type-safe memory allocation macros from libiberty. | |
21647 | * c-common.c: Likewise. | |
21648 | * c-decl.c: Likewise. | |
21649 | * c-lang.c: Likewise. | |
21650 | * c-lex.c: Likewise. | |
21651 | * c-opts.c: Likewise. | |
21652 | * c-parse.in: Likewise. | |
21653 | * c-typeck.c: Likewise. | |
21654 | * genconditions.c: Likewise. | |
21655 | * gengtype-lex.l: Likewise. | |
21656 | * gengtype-yacc.y: Likewise. | |
21657 | * gengtype.c: Likewise. | |
21658 | * genmodes.c: Likewise. | |
21659 | * gensupport.c: Likewise. | |
21660 | * read-rtl.c: Likewise. | |
21661 | * read-rtl.c (read_constants): Use INSERT instead of TRUE in call to | |
21662 | htab_find_slot(). | |
21663 | ||
21664 | 2004-07-25 Bernardo Innocenti <bernie@develer.com> | |
21665 | ||
21666 | * c-decl.c (groktypename, groktypename_in_param_context): Rename | |
21667 | variable typename to type_name. | |
21668 | * c-lex.c (interpret_float): Likewise. | |
21669 | ||
21670 | 2004-07-25 Roger Sayle <roger@eyesopen.com> | |
21671 | ||
21672 | * convert.c (convert_to_real, convert_to_integer, | |
21673 | convert_to_complex): Replace calls to build with calls to buildN. | |
21674 | * coverage.c (tree_coverage_counter_ref): Likewise. | |
21675 | * dojump.c (do_jump): Likewise. | |
21676 | * dwarf2out.c (loc_descriptor_from_tree): Likewise. | |
21677 | * emit-rtl.c (component_ref_for_mem_expr, | |
21678 | set_mem_attributes_minus_bitpos): Likewise. | |
21679 | * explow.c (update_nonlocal_goto_save_area): Likewise. | |
21680 | * expmed.c (expand_shift, make_tree, const_mult_add_overflow_p, | |
21681 | expand_mult_add): Likewise. | |
21682 | * expr.c (emit_block_move_via_libcall, clear_storage_via_libcall, | |
21683 | store_constructor, get_inner_reference, expand_expr_real_1, | |
21684 | try_casesi, try_tablejump): Likewise. | |
21685 | * function.c (expand_function_start): Likewise. | |
21686 | * stmt.c (emit_case_bit_tests, expand_end_case_type, | |
21687 | node_has_low_bound, node_has_high_bound, emit_case_nodes): Likewise. | |
21688 | * stor-layout.c (place_union_field, layout_type): Likewise. | |
21689 | * tree.c (substitute_in_expr, tree_fold_gcd): Likewise. | |
21690 | * varasm.c (copy_constant): Likewise. | |
21691 | ||
21692 | 2004-07-25 Bernardo Innocenti <bernie@develer.com> | |
21693 | ||
21694 | * c-common.c: Rename all identifiers named `new'. | |
21695 | * c-decl.c: Likewise. | |
21696 | * gensupport.c: Likewise. | |
21697 | * simplify-rtx.c: Likewise. | |
21698 | * c-common.c (disable_builtin_function): Replace a call to xmalloc() | |
21699 | with XNEW(). | |
21700 | * gensupport.c (alter_output_for_insn): Replace two calls to xmalloc() | |
21701 | with XNEWVEC(). | |
21702 | ||
21703 | 2004-07-25 Joseph S. Myers <jsm@polyomino.org.uk> | |
21704 | ||
21705 | PR c/15360 | |
21706 | * c-decl.c (start_decl): Do not set DECL_EXTERNAL for initialized | |
21707 | declarations until after calling pushdecl. | |
21708 | (grokdeclarator): Set DECL_EXTERNAL for variables based on use of | |
21709 | "extern" and not on whether the declaration is initialized. | |
21710 | ||
21711 | 2004-07-25 Daniel Jacobowitz <dan@debian.org> | |
21712 | ||
21713 | * config.gcc (i[34567]86-*-solaris2*, sparc64-*-solaris2*) | |
21714 | (sparc-*-solaris2*): Include sol2.o and sol2-protos.h. | |
21715 | * config/sol2-c.c: Include "tm.h", "tm_p.h", "toplev.h", | |
21716 | "cpplib.h", "c-pragma.h", "c-common.h". | |
21717 | (solaris_pragma_align, solaris_pragma_init, solaris_pragma_fini) | |
21718 | (solaris_register_pragmas): New functions. | |
21719 | * config/sol2-protos.h: New file. | |
21720 | * config/sol2.c: New file. | |
21721 | * config/sol2.h (SOLARIS_ATTRIBUTE_TABLE, ASM_DECLARE_FUNCTION_SIZE) | |
21722 | (REGISTER_TARGET_PRAGMAS): New macros. | |
21723 | (solaris_pending_aligns, solaris_pending_inits) | |
21724 | (solaris_pending_finis): New variables. | |
21725 | * config/t-sol2 (sol2-c.o): Update dependencies. | |
21726 | (sol2.o): New rule. | |
21727 | * config/i386/i386.c (TARGET_INSERT_ATTRIBUTES): Define in terms of | |
21728 | SUBTARGET_INSERT_ATTRIBUTES. | |
21729 | (ix86_attribute_table): Include SUBTARGET_ATTRIBUTE_TABLE. | |
21730 | * config/i386/sol2.h (SUBTARGET_INSERT_ATTRIBUTES) | |
21731 | (SUBTARGET_ATTRIBUTE_TABLE, ASM_OUTPUT_CALL): Define. | |
21732 | * config/sparc/elf.h (ASM_DECLARE_FUNCTION_SIZE): Redefine. | |
21733 | * config/sparc/sp64-elf.h (ASM_DECLARE_FUNCTION_SIZE): Redefine. | |
21734 | * config/sparc/sol2.h (SUBTARGET_INSERT_ATTRIBUTES) | |
21735 | (SUBTARGET_ATTRIBUTE_TABLE, ASM_OUTPUT_CALL): Define. | |
21736 | * config/sparc/sparc.c (sparc_attribute_table): New. | |
21737 | (TARGET_INSERT_ATTRIBUTES): Define in terms of | |
21738 | SUBTARGET_INSERT_ATTRIBUTES. | |
21739 | (TARGET_ATTRIBUTE_TABLE): Define if SUBTARGET_ATTRIBUTE_TABLE | |
21740 | is defined. | |
21741 | * doc/extend.texi (Solaris Pragmas): New section. | |
21742 | ||
21743 | 2004-07-25 Bernardo Innocenti <bernie@develer.com> | |
21744 | ||
21745 | * c-common.c: Rename all identifiers named `class' to `cl'. | |
21746 | * c-common.h: Likewise. | |
21747 | * c-parse.in: Likewise. | |
21748 | * c-typeck.c: Likewise. | |
21749 | * genmodes.c: Likewise. | |
21750 | * real.c: Likewise. | |
21751 | * real.h: Likewise. | |
21752 | * recog.c: Likewise. | |
21753 | * recog.h: Likewise. | |
21754 | * regrename.c: Likewise. | |
21755 | * tree.h: Likewise. | |
21756 | * c-common.c (builtin_function_2): Change type of 5th parameter from | |
21757 | int to enum built_in_function. Change type of 8th parameter from int | |
21758 | to bool. | |
21759 | * c-decl (builtin_function): Replace call to ggc_alloc_cleared () | |
21760 | with GGC_CNEW(). | |
21761 | * c-typeck.c (convert_arguments): Change type of formal_prec from | |
21762 | int to unsigned int. | |
21763 | * genmodes.c (blank_mode): Make a few negative constants unsigned. | |
21764 | (complete_all_modes, calc_wider_mode, emit_insn_modes_h, | |
21765 | emit_mode_name, emit_mode_class, emit_mode_precision, emit_mode_size, | |
21766 | emit_mode_nunits, emit_mode_wider, emit_mode_mask, emit_mode_inner, | |
21767 | emit_mode_base_align, emit_class_narrowest_mode): Pass an integer | |
21768 | iterator to for_all_modes () instead of an enum because enums can't | |
21769 | be incremented in C++. | |
21770 | ||
21771 | ||
21772 | 2004-07-25 Daniel Jacobowitz <dan@debian.org> | |
21773 | ||
21774 | * regmove.c (optimize_reg_copy_1): Don't try to replace call-used | |
21775 | hard registers. | |
21776 | ||
21777 | 2004-07-25 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
21778 | ||
21779 | * tree-ssa-operands.c (get_stmt_operands, get_expr_operands): | |
21780 | Handle ARRAY_RANGE_REF like ARRAY_REF. | |
21781 | ||
21782 | 2004-07-25 Joseph S. Myers <jsm@polyomino.org.uk> | |
21783 | ||
21784 | * c-typeck.c (digest_init): Don't allow arrays of signed or | |
21785 | unsigned variants of wchar_t to be initialized by wide string | |
21786 | constants. Do allow arrays of enumerated types compatible with | |
21787 | wchar_t to be initialized by wide string constants. Refine tests | |
21788 | distinguishing wide and narrow strings and arrays. Give specific | |
21789 | error for arrays of other integer types initialized by string | |
21790 | constants. | |
21791 | (output_init_element, process_init_element): Check for | |
21792 | INTEGRAL_TYPE_P rather than just for INTEGER_TYPE when | |
21793 | initializing with string constants. | |
21794 | ||
21795 | 2004-07-25 Richard Henderson <rth@redhat.com> | |
21796 | ||
21797 | * c-decl.c (start_function): Set DECL_ARTIFICIAL and DECL_IGNORED_P | |
21798 | on the RESULT_DECL. | |
21799 | * cgraphunit.c (cgraph_build_static_cdtor): Likewise. | |
21800 | * integrate.c (copy_decl_for_inlining): Copy DECL_ARTIFICIAL and | |
21801 | DECL_IGNORED_P to new decl. | |
21802 | ||
21803 | 2004-07-24 Zack Weinberg <zack@codesourcery.com> | |
21804 | ||
21805 | * config/ia64/ia64.c (general_xfmode_operand) | |
21806 | (destination_xfmode_operand): Delete. | |
21807 | * config/ia64/ia64.h (PREDICATE_CODES): Remove them. | |
21808 | * config/ia64/ia64.md (*movxf_internal): Use general_operand | |
21809 | and destination_operand. | |
21810 | ||
21811 | 2004-07-24 Alexander Kabaev <kan@freebsd.org> | |
21812 | ||
21813 | * config/ia64/ia64.h (SUBTARGET_EXTRA_SPECS): Default to nothing. | |
21814 | (EXTRA_SPECS): Use SUBTARGET_EXTRA_SPECS. | |
21815 | ||
21816 | 2004-07-24 Alexander Kabaev <kan@freebsd.org> | |
21817 | Zack Weinberg <zack@codesourcery.com | |
21818 | ||
21819 | PR 16684 | |
21820 | * c-decl.c (diagnose_mismatched_decls): Don't issue a | |
21821 | redundant-declaration warning the first time a builtin is | |
21822 | declared explicitly. | |
21823 | ||
21824 | 2004-07-25 Bernardo Innocenti <bernie@develer.com> | |
21825 | ||
21826 | * tree.h (staticp): Change return type to bool. | |
21827 | ||
21828 | 2004-07-25 Bernardo Innocenti <bernie@develer.com> | |
21829 | ||
21830 | * c-common.c (c_staticp): Last episode of the staticp saga. | |
21831 | ||
21832 | 2004-07-25 Bernardo Innocenti <bernie@develer.com> | |
21833 | ||
21834 | * c-common.h (c_staticp): Change return type from int to bool. | |
21835 | * tree.c (staticp): Likewise. | |
21836 | * langhooks.h (staticp): Likewise. | |
21837 | ||
21838 | 2004-07-25 Bernardo Innocenti <bernie@develer.com> | |
21839 | ||
21840 | * langhooks-def.h (lhd_staticp): Change return type from int to | |
21841 | bool in prototype to match definition. | |
21842 | ||
21843 | 2004-07-25 Bernardo Innocenti <bernie@develer.com> | |
21844 | ||
21845 | * system.h (bool, true, false): Don't redefine as preprocessor macros | |
21846 | in C++. | |
21847 | ||
21848 | 2004-07-24 Roger Sayle <roger@eyesopen.com> | |
21849 | ||
21850 | * expmed.c (init_expmed): A signed modulus by a power of two is | |
21851 | considered cheap if its less than or equal to four instructions. | |
21852 | ||
21853 | 2004-07-25 Bernardo Innocenti <bernie@develer.com> | |
21854 | ||
21855 | * ggc.h (GGC_NEW, GGC_CNEW, GGC_NEWVEC, GGC_CNEWVEC, GGC_NEWVAR, | |
21856 | GGC_CNEWVAR): New macros. | |
21857 | ||
21858 | 2004-07-25 Bernardo Innocenti <bernie@develer.com> | |
21859 | ||
21860 | * c-common.c: Convert ATTRIBUTE_UNUSED to ARG_UNUSED in parameter | |
21861 | lists. | |
21862 | * c-decl.c: Likewise. | |
21863 | * c-format.c: Likewise. | |
21864 | * c-lex.c: Likewise. | |
21865 | * c-opts.c: Likewise. | |
21866 | * c-pragma.c: Likewise. | |
21867 | * c-typeck.c: Likewise. | |
21868 | * gencheck.c: Likewise. | |
21869 | * genconditions.c: Likewise. | |
21870 | * genconfig.c: Likewise. | |
21871 | * genflags.c: Likewise. | |
21872 | * gengtype.c: Likewise. | |
21873 | * gensupport.c: Likewise. | |
21874 | * ggc-none.c: Likewise. | |
21875 | * langhooks.c: Likewise. | |
21876 | * statistics.h: Likewise. | |
21877 | * stub-objc.c: Likewise. | |
21878 | * java/decl.c: Likewise. | |
21879 | ||
21880 | 2004-07-24 Roman Zippel <zippel@linux-m68k.org> | |
21881 | ||
21882 | * config/m68k/m68k.c (output_scc_di): Fix coding style. | |
21883 | (symbolic_operand): Fix prototype. | |
21884 | * config/m68k/m68k.h (PREDICATE_CODES): Add symbolic_operand. | |
21885 | * config/m68k/m68k.md: Add constants for registers a0 and sp and | |
21886 | use them, change from the "{...}" syntax to the simpler {...} | |
21887 | syntax. | |
21888 | (*cfv4_extendqisi2): Fix destination predicate. | |
21889 | * config/m68k/m68k-protos.h: Remove various declarations also | |
21890 | generated via PREDICATE_CODES. | |
21891 | ||
21892 | 2004-07-23 Mike Stump <mrs@apple.com> | |
21893 | ||
21894 | * c-typeck.c (convert_for_assignment): Tightened up pointer | |
21895 | converstions that differ in signedness. | |
21896 | ||
21897 | 2004-07-23 Zack Weinberg <zack@codesourcery.com> | |
21898 | ||
21899 | * genmodes.c (make_vector_modes): Mark with ATTRIBUTE_UNUSED. | |
21900 | ||
21901 | 2004-07-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
21902 | ||
21903 | * tree.def (VIEW_CONVERT_EXPR): Change to class 'r'. | |
21904 | * tree-ssa-operands.c (get_expr_operands, case VIEW_CONVERT_EXPR): New. | |
21905 | ||
21906 | * gimplify.c (gimplify_compound_lval): Check for no handled | |
21907 | operations, rather than checking for explicit list of nodes. | |
21908 | (is_gimple_addr_expr_arg_or_indirect): New function. | |
21909 | (gimplify_addr_expr): Call it and handle INDIRECT_REF; remove | |
21910 | redundant setting of TREE_INVARIANT. | |
21911 | (gimplify_expr, case VIEW_CONVERT_EXPR): Call gimplify_compound_lval. | |
21912 | * tree-gimple.c (is_gimple_addr_expr_arg): Call handled_component_p. | |
21913 | ||
21914 | 2004-07-23 Diego Novillo <dnovillo@redhat.com> | |
21915 | ||
21916 | PR tree-optimization/16688 | |
21917 | PR tree-optimization/16689 | |
21918 | * tree-ssa-alias.c (setup_pointers_and_addressables): Remove | |
21919 | unnecessary initialization of 'tag'. | |
21920 | (get_tmt_for): Check that the new type tag has the same alias | |
21921 | set as the pointed-to type. | |
21922 | (group_aliases): Only regular variables need to be removed | |
21923 | from the alias set of a name tag. | |
21924 | * tree-ssa-copy.c (may_propagate_copy): Do not allow copy | |
21925 | propagation if the two types are not compatible. | |
21926 | (merge_alias_info): Rename from replace_ssa_names_ann. | |
21927 | Add more checking. | |
21928 | (replace_exp_1): If both arguments are SSA_NAMEs, check that | |
21929 | the propagation can be done. | |
21930 | Only call merge_alias_info on pointers. | |
21931 | (propagate_value): Likewise. | |
21932 | * tree-ssa-copyrename.c: Include langhooks.h. | |
21933 | (copy_rename_partition_coalesce): Call replace_ssa_name_symbol | |
21934 | to do the merging. | |
21935 | Do not coalesce variables with incompatible types. | |
21936 | (rename_ssa_copies): Call replace_ssa_name_symbol. | |
21937 | * tree-ssa.c (verify_ssa_name): Verify that the SSA_NAME has | |
21938 | the same type as the underlying _DECL. | |
21939 | * tree-ssanames.c (replace_ssa_name_symbol): New function. | |
21940 | * tree.h (replace_ssa_name_symbol): Declare. | |
21941 | ||
21942 | 2004-07-23 Richard Henderson <rth@redhat.com> | |
21943 | ||
21944 | PR c++/16277 | |
21945 | * gimplify.c (gimplify_cond_expr): Gimplify TARGET to a min_lval; | |
21946 | unshare it properly. | |
21947 | (gimplify_modify_expr_rhs): Push assignment from a conditional into | |
21948 | the conditional for all non-register types. | |
21949 | ||
21950 | 2004-07-23 Richard Henderson <rth@redhat.com> | |
21951 | ||
21952 | * expr.c (expand_expr_real_1): Don't handle non-local variables. | |
21953 | * expr.h (fix_lexical_addr): Remove. | |
21954 | * function.c (NEED_SEPARATE_AP): Remove. | |
21955 | (fix_lexical_addr): Remove. | |
21956 | * tree-alias-common.c (get_alias_var_decl): Check TREE_STATIC, | |
21957 | not null decl_function_context. | |
21958 | (create_alias_vars): Likewise. | |
21959 | * tree-cfg.c (make_ctrl_stmt_edges): Don't check for non-local labels. | |
21960 | (simple_goto_p): Likewise. | |
21961 | * tree-dfa.c (add_referenced_var): Don't check for non-local variables. | |
21962 | * tree-ssa-ccp.c (get_default_value): Likewise. | |
21963 | * tree-tailcall.c (suitable_for_tail_opt_p): Likewise. | |
21964 | * tree.c (needs_to_live_in_memory): Likewise. | |
21965 | * tree-flow-inline.h (may_be_aliased): Move... | |
21966 | * tree-ssa-alias.c (may_be_aliased): ... here. Enhance check for | |
21967 | when TREE_STATIC variables may be addressable. | |
21968 | ||
21969 | 2004-07-24 Jakub Jelinek <jakub@redhat.com> | |
21970 | ||
21971 | * Makefile.in (site.exp): Add HOSTCC and HOSTCFLAGS to site.exp. | |
21972 | ||
21973 | 2004-07-23 Zack Weinberg <zack@codesourcery.com> | |
21974 | ||
21975 | * print-rtl.c (print_rtx <case 'b'>): Don't attempt to print | |
21976 | bitmap contents if GENERATOR_FILE is defined. | |
21977 | * Makefile.in (BUILD_RTL): Remove $(BUILD_PREFIX)bitmap.o. | |
21978 | ($(BUILD_PREFIX_1)bitmap.o): Delete rule. | |
21979 | ||
21980 | 2004-07-23 Joseph S. Myers <jsm@polyomino.org.uk> | |
21981 | ||
21982 | * c-decl.c (start_function): Form composite type of function types | |
21983 | rather than copying type from previous prototype declaration. | |
21984 | ||
21985 | 2004-07-23 Janis Johnson <janis187@us.ibm.com> | |
21986 | ||
21987 | * config/rs6000/altivec.h (vec_lvewx, vec_lvehx, vec_lvwbx): Remove | |
21988 | the const qualifier for the second argument in the C++ functions. | |
21989 | ||
21990 | * config/rs6000/altivec.h (vec_stvewx, vec_stvehx, vec_stvebx): Use | |
21991 | specific pointer types. | |
21992 | ||
21993 | * config/rs6000/altivec.h (vec_vadduwm): (vec_vadduwm, vec_vadduhm, | |
21994 | vec_vaddubm, vec_vsubuwm, vec_vsubuhm, vec_vsububm): Fix types used | |
21995 | for vector bool and/or vector pixel, add C++ and C missing support. | |
21996 | (vec_vaddsws, vec_vaddshs, vec_vaddsbs, vec_vmaxsw, vec_vmaxsh, | |
21997 | vec_vmaxsb, vec_vmrghw, vec_vmrghh, vec_vmrghb, vec_vmrglw, vec_vmrglh, | |
21998 | vec_vmrglb, vec_vminsw, vec_vminsh, vec_vminsb, vec_vpkuwum, | |
21999 | vec_vpkuhum, vec_vspltw, vec_vsplth, vec_vspltb, vec_vsubsws, | |
22000 | vec_vsubshs, vec_vsubsbs, vec_vupklsh, vec_vupkhsh, vec_vupklsb): Add | |
22001 | missing C++ and C support for vector bool and/or vector pixel. | |
22002 | (vec_vadduws, vec_vadduhs, vec_vaddubs, vec_vcmpeqfp, vec_vcmpequw, | |
22003 | vec_vcmpequh, vec_vcmpequb, vec_vcmpgtfp, vec_vcmpgtsw, vec_vcmpgtuw, | |
22004 | vec_vcmpgtsh, vec_vcmpgtuh, vec_vcmpgtsb, vec_vcmpgtub, vec_vmaxuw, | |
22005 | vec_vmaxuh, vec_vmaxub, vec_vminuw, vec_vminuh, vec_vminub, | |
22006 | vec_vsubuws, vec_vsubuhs, vec_vsububs, vec_vupkhpx, vec_vupklpx): Fix | |
22007 | C++ and C types used for vector bool and/or vector pixel. | |
22008 | (vec_st, vec_stl): Add C++ support for vector pixel. | |
22009 | (vec_unpackh, vec_unpackl, vec_any_ge): Fix C++ support for vector bool. | |
22010 | (vec_all_ne): Add C++ support for vector pixel. | |
22011 | ||
22012 | * config/rs6000/altivec.h (vec_vcmpgtsh): Fix C++ function name. | |
22013 | (vec_vmulesb): Add missing C++ function. | |
22014 | (vec_perm): Fix type of third argument in C++ function. | |
22015 | (vec_vsum4shs): Fix C++ function name. | |
22016 | (vec_any_ge): Remove C++ functions for unsupported arg combinations. | |
22017 | (vec_vcmpgtsw, vec_vcmpgtuw, vec_minsb, vec_vmsummbm): Fix the | |
22018 | argument passed to the error handler in C macro. | |
22019 | (vec_nmsub): Remove extra parens around argument names in C macro. | |
22020 | (vec_packpx): Add missing parens in C macro. | |
22021 | ||
22022 | 2004-07-22 Paolo Bonzini <bonzini@gnu.org> | |
22023 | ||
22024 | * machmode.def: Remove vector modes. | |
22025 | * config/alpha/alpha-modes.def: Add supported vector modes. | |
22026 | * config/arm/arm-modes.def: Likewise. | |
22027 | * config/frv/frv-modes.def: Likewise. | |
22028 | * config/i386/i386-modes.def: Likewise. | |
22029 | * config/rs6000/rs6000-modes.def: Likewise. | |
22030 | * config/sh/sh-modes.def: Likewise. | |
22031 | ||
22032 | 2004-07-23 Matthias Klose <doko@debian.org> | |
22033 | ||
22034 | * intl.c (gcc_init_libintl): Use PACKAGE for the text domain. | |
22035 | * configure.ac: Add AC_DEFINE_UNQUOTED for PACKAGE. | |
22036 | * config.h: Regenerate. | |
22037 | * configure: Likewise. | |
22038 | ||
22039 | 2004-07-22 Mark Mitchell <mark@codesourcery.com> | |
22040 | ||
22041 | * dwarf2out.c (output_call_frame_info): Set SYMBOL_FLAG_LOCAL on | |
22042 | generated SYMBOL_REFs for labels. | |
22043 | * config/darwin-protos.h (machopic_validate_stub_or_non_lazy_ptr): | |
22044 | Change prototype. | |
22045 | (machopic_stub_name): Remove. | |
22046 | (machopic_indirection_name): New function. | |
22047 | (machopic_mcount_stub_name): Likewise. | |
22048 | (machopic_classify_name): Remove. | |
22049 | (machopic_function_base_sym): New function. | |
22050 | (machpoic_classify_symbol): Likewise. | |
22051 | (machopic_classify_ident): Remove. | |
22052 | (machopic_define_ident): Likewise. | |
22053 | (machopic_define_name): Likewise. | |
22054 | (machopic_name_defined_p): Likewise. | |
22055 | (machopic_ident_defined_p): Likewise. | |
22056 | (darwin_strip_name_encoding): Likewise. | |
22057 | (machopic_define_symbol): New function. | |
22058 | * config/darwin.c (hashtab.h): Include. | |
22059 | (machopic_defined_list): Remove. | |
22060 | (machopic_classify_ident): Likewise. | |
22061 | (machopic_classify_name): Likewise. | |
22062 | (machopic_ident_defined_p): Likewise. | |
22063 | (machopic_define_ident): Likewise. | |
22064 | (machopic_define_name): Likewise. | |
22065 | (machopic_symbol_defined_p): New function. | |
22066 | (machopic_classify_symbol): Likewise. | |
22067 | (machopic_data_defined_p): Use machopic_classify_symbol. | |
22068 | (machopic_define_symbol): New function. | |
22069 | (machopic_function_base_sym): New function. | |
22070 | (machopic_non_lazy_pointers): Remove. | |
22071 | (machopic_non_lazy_ptr_name): Likewise. | |
22072 | (machopic_stubs): Likewise. | |
22073 | (machopic_stub_name): Likewise. | |
22074 | (NON_LAZY_POINTER_SUFFIX): New macro. | |
22075 | (STUB_SUFFIX): Likewise. | |
22076 | (machopic_indirection): New structure. | |
22077 | (machopic_indirections): New variable. | |
22078 | (machopic_indirection_hash): New function. | |
22079 | (machopic_indirection_eq): Likewise. | |
22080 | (machopic_indirection_name): Likewise. | |
22081 | (machopic_mcount_stub_name): New function. | |
22082 | (machopic_validate_stub_or_non_lazy_pointer): Reimplement to use | |
22083 | hash table. | |
22084 | (machopic_indirect_data_reference): Rework to use new functions. | |
22085 | (machopic_indirect_call_target): Likewise. | |
22086 | (machopic_legitimize_pic_address): Likewise. | |
22087 | (machopic_output_indirection): New function. | |
22088 | (machopic_finish): Use it. | |
22089 | (machopic_operand_p): Rework to use new functions. | |
22090 | (darwin_encode_seciton_info): Use SYMBOL_REF_FLAGS. | |
22091 | (darwin_strip_name_encoding): Remove. | |
22092 | (update_non_lazy_ptrs): Remove. | |
22093 | (update_stubs): Likewise. | |
22094 | (darwin_non_lazy_pcrel): Use new functions. | |
22095 | * config/darwin.h (ASM_DECLARE_OBJECT_NAME): Likewise. | |
22096 | (ASM_OUTPUT_LABELREF): Likewise. | |
22097 | (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Likewise. | |
22098 | (MACHO_SYMBOL_FLAG_VARIABLE): New macro. | |
22099 | (MACHO_SYMBOL_FLAG_DEFINED): Likewise. | |
22100 | (TARGET_STRIP_NAME_ENCODING): Do not use | |
22101 | darwin_strip_name_encoding. | |
22102 | (GEN_LAZY_PTR_NAME_FOR_SYMBOL): Do not use | |
22103 | darwin_strip_name_encoding. | |
22104 | * config/i386/darwin.h (FUNCTION_PROFILER): Use | |
22105 | machopic_mcount_stub_name. | |
22106 | * config/i386/i386.c (x86_output_mi_thunk): Use | |
22107 | machopic_indirection_name, not machopic_stub_name. | |
22108 | * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Use | |
22109 | machopic_function_base_sym. | |
22110 | (print_operand): Use machopic_classify_symbol. | |
22111 | (rs6000_emit_prologue): Use machopic_function_base_sym. | |
22112 | (output_profile_hook): Do not use machopic_stub_name. | |
22113 | (macho_branch_isalnds): Do not use darwin_strip_name_encoding. | |
22114 | ||
22115 | 2004-07-22 Joseph S. Myers <jsm@polyomino.org.uk> | |
22116 | ||
22117 | PR c/7284 | |
22118 | * fold-const.c (extract_muldiv_1): Do not treat signed left shift | |
22119 | as multiplication. | |
22120 | ||
22121 | 2004-07-22 Joseph S. Myers <jsm@polyomino.org.uk> | |
22122 | ||
22123 | * doc/implement-c.texi: New file. | |
22124 | * doc/extend.texi (C Implementation): Move to there. | |
22125 | * doc/gcc.texi: Include implement-c.texi. | |
22126 | * Makefile.in (TEXI_GCC_FILES): Add implement-c.texi. | |
22127 | ||
22128 | 2004-07-22 Jason Merrill <jason@redhat.com> | |
22129 | ||
22130 | * integrate.c (copy_decl_for_inlining): Remove invisible reference | |
22131 | handling. | |
22132 | * tree-inline.c (setup_one_parameter): Likewise. | |
22133 | ||
22134 | 2004-07-22 Brian Booth <bbooth@redhat.com> | |
22135 | ||
22136 | * tree-ssa-ccp.c (latticevalue): Add UNKNOWN_VAL. | |
22137 | (substitute_and_fold): Propigate into VUSE operands when possible. | |
22138 | (visit_phi_node): Handle UNKNOWN_VAL latticevalue. | |
22139 | (cp_lattice_meet): Handle merging of latticevalues when | |
22140 | UNKNOWN_VAL is present. | |
22141 | (visit_stmt): Visit assignments with V_MUST_DEFs. | |
22142 | (visit_assignment): Gather ccp information for V_MUST_DEF operands. | |
22143 | (ccp_fold): Deal with RHS' that are constant and virtual. | |
22144 | (evaluate_stmt): Handle UNKNOWN_VAL likely values. | |
22145 | (dump_lattice_value): Dump UNKNOWN_VAL latticevalues. | |
22146 | (initialize): Mark statements with V_MUST_DEFs as VARYING only if the | |
22147 | V_MUST_DEF operand is VARYING. Fix comment and include VOPS when | |
22148 | computing immediate uses. | |
22149 | (set_lattice_value): Disallow a UNKNOWN_VAL->UNDEFINED state | |
22150 | transition. | |
22151 | (replace_vuse_in): New function. | |
22152 | (likely_value): Add check of vuse operands. | |
22153 | (get_default_value): Set the default value of virtually defined | |
22154 | variables to UKNOWN_VAL instead of VARYING. | |
22155 | ||
22156 | 2004-07-22 Richard Henderson <rth@redhat.com> | |
22157 | ||
22158 | * expr.c (emit_push_insn): Don't use set_mem_attributes. | |
22159 | ||
22160 | 2004-07-22 Richard Henderson <rth@redhat.com> | |
22161 | ||
22162 | * tree-ssa-live.c (create_ssa_var_map): Avoid defined-but-not-used | |
22163 | variables due to conditional compilation. | |
22164 | ||
22165 | 2004-07-22 Diego Novillo <dnovillo@redhat.com> | |
22166 | ||
22167 | * tree-into-ssa.c (set_livein_block): Fix typo in comment. | |
22168 | (rewrite_ssa_into_ssa): Start iterating over SSA names at 1. | |
22169 | Release SSA names that have been re-renamed. | |
22170 | * tree-phinodes.c (make_phi_node): Set same TREE_TYPE as the | |
22171 | variable. | |
22172 | * tree-ssa-alias.c (init_alias_info): If aliases have been | |
22173 | computed before, clear existing alias information. | |
22174 | (create_name_tags): Do no fixup PT_ANYTHING pointers. | |
22175 | If the new name tag for a pointer is different than the one it | |
22176 | had before, mark the old tag for renaming. | |
22177 | (replace_may_alias): New function. | |
22178 | (group_aliases): Call it. | |
22179 | (setup_pointers_and_addressables): Always call get_tmt_for. | |
22180 | (maybe_create_global_var): Don't create .GLOBAL_VAR more than | |
22181 | once. | |
22182 | (set_pt_anything): New local function. | |
22183 | (set_pt_malloc): New local function. | |
22184 | (merge_pointed_to_info): Don't merge pointed-to variables from | |
22185 | the original pointer if the destination is pointing to an | |
22186 | unknown location. | |
22187 | (add_pointed_to_expr): Call set_pt_anything and set_pt_malloc. | |
22188 | (add_pointed_to_var): Do not add a variable to the points-to | |
22189 | set if the pointer is already pointing to anywhere. | |
22190 | (collect_points_to_info_r): If the defining statement is a PHI | |
22191 | node, only merge pointed-to information if the argument has | |
22192 | already been visited. | |
22193 | (get_tmt_for): Only create a new tag if the pointer didn't | |
22194 | have one already. | |
22195 | (dump_alias_info): Emit more information. | |
22196 | (dump_points_to_info_for): Likewise. | |
22197 | * tree-ssa-dom.c (redirect_edges_and_update_ssa_graph): Don't | |
22198 | try to get the annotation of an SSA_NAME. | |
22199 | * tree-ssa-operands.c (add_stmt_operand): Only check for empty | |
22200 | alias sets when checking is enabled. | |
22201 | * tree-ssa-pre.c (need_eh_cleanup): New local variable. | |
22202 | (eliminate): Mark basic blocks that will need | |
22203 | EH information cleaned up. | |
22204 | (init_pre): Split ENTRY_BLOCK->0 if block 0 has more than one | |
22205 | predecessor. | |
22206 | Initialize need_eh_cleanup. | |
22207 | (fini_pre): Call tree_purge_all_dead_eh_edges and | |
22208 | cleanup_tree_cfg if needed. | |
22209 | Free need_eh_cleanup. | |
22210 | * tree-ssa.c (verify_ssa_name): New function. | |
22211 | (verify_def): Call it. | |
22212 | Re-arrange to avoid printing too many error messages. | |
22213 | (verify_use): Likewise. | |
22214 | (verify_phi_args): Likewise. | |
22215 | (verify_flow_insensitive_alias_info): New function. | |
22216 | (verify_flow_sensitive_alias_info): New function. | |
22217 | (verify_alias_info): New function. | |
22218 | (verify_ssa): Call verify_alias_info. | |
22219 | Clear TREE_VISITED on all the SSA_NAMEs before scanning the | |
22220 | program. | |
22221 | Re-arrange to avoid printing too many error messages. | |
22222 | * tree-ssanames.c (make_ssa_name): Clear | |
22223 | SSA_NAME_IN_FREE_LIST. | |
22224 | (release_ssa_name): Never release a default definition. | |
22225 | (release_defs): New function. | |
22226 | * tree.h: Declare it. | |
22227 | * tree-ssa-dce.c (remove_dead_stmt): Call it. | |
22228 | ||
22229 | 2004-07-22 Diego Novillo <dnovillo@redhat.com> | |
22230 | ||
22231 | * tree-ssa.c (walk_use_def_chains_1): Add new argument IS_DFS. | |
22232 | If true, do a depth-first search. Do a breadht-first search, | |
22233 | otherwise. | |
22234 | (walk_use_def_chains): Add new argument IS_DFS. | |
22235 | Update all users. | |
22236 | * tree-flow.h (walk_use_def_chains): Update prototype. | |
22237 | ||
22238 | 2004-07-22 Hans-Peter Nilsson <hp@axis.com> | |
22239 | ||
22240 | * config/cris/cris.md: Tweak formatting. | |
22241 | (asrandb, asrandw, lsrandb, lsrandw, moversideqi, movemsideqi) | |
22242 | (mover2side, moverside, movemside, movei, op3, andu): Replace | |
22243 | live define_peephole:s with define_peephole2 near-equivalents. | |
22244 | Delete the rest. | |
22245 | ("*mov_sidesisf_biap"): Rename from "*mov_sidesi_biap". Match all | |
22246 | word-size modes. | |
22247 | ("*mov_sidesisf", "*mov_sidesisf_biap_mem", "*mov_sidesisf_mem"): | |
22248 | Similar for "*mov_sidesi", "*mov_sidesi_biap_mem" and | |
22249 | "*mov_sidesi_mem" respectively. | |
22250 | ||
22251 | 2004-07-22 Paolo Bonzini <bonzini@gnu.org> | |
22252 | ||
22253 | * tree-cfg.c (gimplify_val): Move from tree-complex.c. | |
22254 | (gimplify_build1): Move from tree-complex.c do_unop. | |
22255 | (gimplify_build2): Move from tree-complex.c do_binop. | |
22256 | (gimplify_build3): New. | |
22257 | * tree-complex.c (gimplify_val, do_unop, do_binop): Remove. | |
22258 | Adjust throughout to call the functions above. | |
22259 | * tree-flow.h: Declare the functions above. | |
22260 | * tree-nested.c (gimplify_val): Rename to... | |
22261 | (tsi_gimplify_val): ... this. | |
22262 | ||
22263 | * Makefile.in (tree_complex.o): Update dependencies. | |
22264 | (stor-layout.o): Depend on regs.h. | |
22265 | * c-common.c (handle_vector_size_attribute): Update for | |
22266 | vector types without corresponding vector modes. | |
22267 | * expr.c (expand_expr): Treat VECTOR_CST's like CONSTRUCTORS if | |
22268 | a corresponding vector mode is not available. | |
22269 | * print-tree.c (print_node): Print nunits for vector types | |
22270 | * regclass.c (have_regs_of_mode): New. | |
22271 | (init_reg_sets_1): Initialize it and use it instead | |
22272 | of allocatable_regs_of_mode. | |
22273 | * regs.h (have_regs_of_mode): Declare it. | |
22274 | * stor-layout.c (layout_type): Pick a mode for vector types. | |
22275 | * tree-complex.c (build_word_mode_vector_type, tree_vec_extract, | |
22276 | build_replicated_const, do_unop, do_binop, do_plus_minus, | |
22277 | do_negate, expand_vector_piecewise, expand_vector_parallel, | |
22278 | expand_vector_addition, expand_vector_operations_1, | |
22279 | expand_vector_operations, tree_lower_operations, | |
22280 | pass_lower_vector_ssa, pass_pre_expand): New. | |
22281 | (expand_complex_operations, pass_lower_complex): Remove. | |
22282 | * tree-optimize.c (init_tree_optimization_passes): Adjust | |
22283 | pass ordering for changes in tree-complex.c. | |
22284 | * tree-pass.h: Declare new passes. | |
22285 | * tree.c (finish_vector_type): Remove. | |
22286 | (make_vector_type): New. | |
22287 | (build_vector_type_for_mode, build_vector_type): Rewritten. | |
22288 | * tree.def (VECTOR_TYPE): Document where the number of | |
22289 | subparts is stored. | |
22290 | * tree.h (TYPE_VECTOR_SUBPARTS): Use TYPE_PRECISION field. | |
22291 | (make_vector): Remove declaration. | |
22292 | ||
22293 | 2004-07-21 Richard Henderson <rth@redhat.com> | |
22294 | ||
22295 | * gimple-low.c (expand_var_p): Don't look at TREE_ADDRESSABLE, | |
22296 | TREE_THIS_VOLATILE, may_aliases, or optimization level. | |
22297 | (remove_useless_vars): Dump debugging info. | |
22298 | (expand_used_vars): Move ... | |
22299 | * cfgexpand.c (expand_used_vars): ... here. Make static. | |
22300 | * tree-flow-inline.h (set_is_used): New. | |
22301 | (set_default_def): Use get_var_ann. | |
22302 | * tree-flow.h: Update decls. | |
22303 | * tree-ssa-live.c (mark_all_vars_used_1, mark_all_vars_used): New. | |
22304 | (create_ssa_var_map): Use it. | |
22305 | * tree-ssa.c (set_is_used): Remove. | |
22306 | ||
22307 | 2004-07-22 Ben Elliston <bje@au.ibm.com> | |
22308 | ||
22309 | * gdbinit.in: Set a breakpoint on internal_error. | |
22310 | ||
22311 | 2004-07-21 Richard Henderson <rth@redhat.com> | |
22312 | ||
22313 | * cfgexpand.c (expand_gimple_tailcall): Fix case where we need | |
22314 | to create a new basic block. | |
22315 | ||
22316 | 2004-07-22 Joseph S. Myers <jsm@polyomino.org.uk> | |
22317 | ||
22318 | PR c/15052 | |
22319 | * c-decl.c (grokdeclarator): Only pedwarn for qualified void | |
22320 | return type on function definitions. Move other warnings for | |
22321 | qualified return type to -Wreturn-type. Do not condition any such | |
22322 | warnings on -pedantic. Update comments. | |
22323 | (start_function): Only copy function type from previous prototype | |
22324 | declaration if return types are compatible. | |
22325 | * c-typeck.c (function_types_compatible_p): Don't condition | |
22326 | warning for incompatibility of volatile qualifiers on the return | |
22327 | type on -pedantic. Update comment. | |
22328 | * doc/invoke.texi (-Wreturn-type, -Wextra): Update. | |
22329 | ||
22330 | 2004-07-22 Joseph S. Myers <jsm@polyomino.org.uk> | |
22331 | ||
22332 | * c-typeck.c (set_init_index): Require designator to be of integer | |
22333 | type. | |
22334 | ||
22335 | 2004-07-22 Joseph S. Myers <jsm@polyomino.org.uk> | |
22336 | ||
22337 | PR c/11250 | |
22338 | * c-parse.in (init): Change to exprtype. | |
22339 | (primary): Set original_code for STRING to STRING_CST. | |
22340 | Call maybe_warn_string_init for compound literals. | |
22341 | (initdcl, notype_initdcl): Call maybe_warn_string_init. | |
22342 | (initval): Update. | |
22343 | * c-tree.h (maybe_warn_string_init): New. | |
22344 | (pop_init_level, process_init_element): Use struct c_expr. | |
22345 | (struct c_expr): Update comment. | |
22346 | * c-typeck.c (maybe_warn_string_init): New function. | |
22347 | (digest_init): Call it. Additional parameter strict_string. All | |
22348 | callers changed. | |
22349 | (output_init_element): Likewise. | |
22350 | (struct constructor_stack): Use struct c_expr for | |
22351 | replacement_value. | |
22352 | (really_start_incremental_init, push_init_level): Update. | |
22353 | (pop_init_level): Update. Return struct c_expr. | |
22354 | (process_init_level): Update. Take struct c_expr argument. | |
22355 | ||
22356 | 2004-07-21 David S. Miller <davem@nuts.davemloft.net> | |
22357 | ||
22358 | * config/sparc/sparc.c (sparc_rtx_costs): Fix typo in previous | |
22359 | commit. | |
22360 | ||
22361 | 2004-07-21 Eric Christopher <echristo@redhat.com> | |
22362 | ||
22363 | * builtins.c (expand_builtin_setjmp_receiver): Fix comment for code | |
22364 | removal. | |
22365 | * c-decl.c (pop_scope): Ditto. | |
22366 | * calls.c (expand_call): Remove call to current_nesting_level, | |
22367 | update comment accordingly. Remove calls to expand_start_target_temps | |
22368 | and expand_end_target_temps. | |
22369 | * cfgexpand.c (construct_init_block): Remove call to | |
22370 | expand_start_bindings_and_block. | |
22371 | (construct_exit_block): Remove call to expand_end_bindings. | |
22372 | * expr.c (safe_from_p): Remove BIND_EXPR handling. | |
22373 | (expand_expr_real_1): Ditto. Fix formatting. | |
22374 | (expand_vars): Delete. | |
22375 | * stmt.c (POPSTACK): Remove block_stack. | |
22376 | (stmt_status): Remove x_block_stack. | |
22377 | (block_stack): Delete. | |
22378 | (expand_start_bindings_and_block): Ditto. | |
22379 | (expand_start_target_temps): Ditto. | |
22380 | (expand_end_target_temps): Ditto. | |
22381 | (current_nesting_level): Ditto. | |
22382 | (warn_about_unused_variables): Ditto. | |
22383 | (expand_end_bindings): Ditto. | |
22384 | * tree.h: Remove declarations for above. | |
22385 | ||
22386 | 2004-07-21 Steven Bosscher <stevenb@suse.de> | |
22387 | ||
22388 | * rtl.h (insn_note): Remove NOTE_INSN_PREDICTION. | |
22389 | * rtl.c (note_insn_name): Likewise. | |
22390 | * print-rtl.c (print_rtx): Don't print it. | |
22391 | * cfgrtl.h (can_delete_note_p): Don't handle it. | |
22392 | (rtl_delete_block): Likewise. | |
22393 | * passes.c (rest_of_handle_guess_branch_prob): Remove. | |
22394 | (rest_of_compilation): Don't call it. | |
22395 | * predict.c (process_note_predictions, process_note_prediction, | |
22396 | note_prediction_to_br_prob): Remove. | |
22397 | * basic-block.c (note_prediction_to_br_prob): Remove prototype. | |
22398 | * stmt.c (return_prediction): Remove. | |
22399 | (expand_value_return): Don't call it. Don't add prediction | |
22400 | notes for return statements. | |
22401 | ||
22402 | 2004-07-21 Josef Zlomek <zlomekj@suse.cz> | |
22403 | ||
22404 | * var-tracking.c (vt_find_locations): Set the in_pending bitmap at | |
22405 | once. | |
22406 | ||
22407 | 2004-07-21 Paolo Bonzini <bonzini@gnu.org> | |
22408 | ||
22409 | * c-common.c (vector_types_convertible_p): Use vector types' | |
22410 | TYPE_SIZE and TREE_TYPE instead of their mode. | |
22411 | * convert.c (convert_to_integer): Likewise. | |
22412 | (convert_to_vector): Likewise. | |
22413 | * fold-const.c (fold_convert): Likewise. | |
22414 | * varasm.c (output_constant): Likewise. | |
22415 | * expr.c (store_constructor): Split ARRAY_TYPE and VECTOR_TYPE. | |
22416 | Allow a VECTOR_TYPE initializer to be made of several vectors. | |
22417 | For ARRAY_TYPEs and VECTOR_TYPES, simplify a bit the handling | |
22418 | of cleared and need_to_clear, and use fold_convert. | |
22419 | * c-typeck.c (build_binary_op): Do not use RDIV_EXPR for | |
22420 | integer vectors. | |
22421 | ||
22422 | 2004-07-20 Richard Henderson <rth@redhat.com> | |
22423 | ||
22424 | * cfgexpand.c (expand_gimple_cond_expr, expand_gimple_tailcall): Split, | |
22425 | (expand_gimple_basic_block): out from here. Renamed from expand_block. | |
22426 | ||
22427 | 2004-07-20 David S. Miller <davem@nuts.davemloft.net> | |
22428 | ||
22429 | * config/sparc/sparc.c (sparc_rtx_costs case MULT): Emit | |
22430 | enormous cost if not TARGET_HARD_MUL. | |
22431 | ||
22432 | 2004-07-20 Andrew Pinski <apinski@apple.com> | |
22433 | ||
22434 | PR target/16557 | |
22435 | * config/i386/darwin.h (CC1_SPEC): Move the -g SPECs from ... | |
22436 | (ASM_SPEC): here. | |
22437 | ||
22438 | 2004-07-21 Paul brook <paul@codesourcery.com> | |
22439 | ||
22440 | * config/arm/arm.c (thumb_expand_prologue): Remove bogus GEN_INT. | |
22441 | ||
22442 | 2004-07-20 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
22443 | ||
22444 | * fold-const.c (operand_equal_p): Temporarily support NULL args. | |
22445 | (operand_equal_p, case ARRAY_REF): Compare args 2 and 3. | |
22446 | (operand_equal_p, case COMPONENT_REF): Likewise, for arg 2. | |
22447 | ||
22448 | 2004-07-20 Zack Weinberg <zack@codesourcery.com> | |
22449 | ||
22450 | * rtl.h (plus_constant): Delete. | |
22451 | (plus_constant_wide): Rename to plus_constant. | |
22452 | (plus_constant_for_output_wide): Delete vestigial prototype. | |
22453 | (GEN_INT): Remove unnecessary cast. | |
22454 | * tree.h (build_int_2, size_int_type): Delete. | |
22455 | (build_int_2_wide): Rename to build_int_2. | |
22456 | (size_int_wide): Rename to size_int_kind. | |
22457 | (size_int_type_wide): Rename to size_int_type. | |
22458 | (size_int, ssize_int, bitsize_int, sbitsize_int): Use size_int_kind. | |
22459 | Remove unnecessary cast. | |
22460 | * tree.c (build_int_2_wide): Rename build_int_2; update comment. | |
22461 | * explow.c (plus_constant_wide): Rename plus_constant; update comment. | |
22462 | * fold-const.c (size_int_wide): Rename size_int_kind. Use size_int_type. | |
22463 | (size_int_type_wide): Rename size_int_type. | |
22464 | (int_const_binop): Use size_int_type. | |
22465 | * c-lex.c (interpret_integer): Use build_int_2. | |
22466 | * final.c (split_double): Remove unnecessary casts. | |
22467 | * tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): Use build_int_2. | |
22468 | ||
22469 | 2004-07-20 Richard Henderson <rth@redhat.com> | |
22470 | ||
22471 | * gimplify.c (is_gimple_tmp_var): Move to tree-gimple.c. | |
22472 | (gimplify_compound_lval): Use is_gimple_tmp_reg. | |
22473 | * tree-gimple.c (is_gimple_tmp_var): Move from gimplify.c. | |
22474 | (is_gimple_tmp_reg): New. | |
22475 | * tree-gimple.h (is_gimple_tmp_reg): Declare. | |
22476 | ||
22477 | 2004-07-20 Richard Henderson <rth@redhat.com> | |
22478 | ||
22479 | * tree-pretty-print.c (dump_generic_node): Dump | |
22480 | CALL_EXPR_HAS_RETURN_SLOT_ADDR. | |
22481 | ||
22482 | 2004-07-20 Frank Ch. Eigler <fche@redhat.com> | |
22483 | ||
22484 | * tree-mudflap.c (mf_set_options_fndecl): New tree. | |
22485 | (mudflap_init): Set it. | |
22486 | (mudflap_register_call): Remove __mf_init call. | |
22487 | (mudflap_finish_file): Emit call to __mf_init here. Emit a call to | |
22488 | to pass "-ignore-reads" option to libmudflap if needed. | |
22489 | ||
22490 | 2004-07-20 John David Anglin <dava.anglin@nrc-cnrc.gc.ca> | |
22491 | ||
22492 | PR c++/14607 | |
22493 | * config/pa/pa-hpux10.h (SUPPORTS_ONE_ONLY): Define. | |
22494 | (MAKE_DECL_ONE_ONLY): Undefine. | |
22495 | * pa-protos.h (som_text_section_asm_op, one_only_readonly_data_section, | |
22496 | readonly_data, one_only_data_section, forget_section): New prototypes. | |
22497 | * pa.c (pa_init_machine_status, som_text_section_asm_op): New | |
22498 | functions. | |
22499 | (pa_select_section): Add one-only (COMDAT) support. | |
22500 | * pa.h (struct machine_function): Define. | |
22501 | * som.h (ASM_OUTPUT_FUNCTION_PREFIX): Delete. | |
22502 | (TEXT_SECTION_ASM_OP): Call som_text_section_asm_op. | |
22503 | (DEFAULT_TEXT_SECTION_ASM_OP, NEW_TEXT_SECTION_ASM_OP, | |
22504 | ONE_ONLY_TEXT_SECTION_ASM_OP, ONE_ONLY_READONLY_DATA_SECTION_ASM_OP, | |
22505 | ONE_ONLY_DATA_SECTION_ASM_OP): New defines. | |
22506 | (EXTRA_SECTIONS): Add in_one_only_readonly_data and in_one_only_data. | |
22507 | (EXTRA_SECTION_FUNCTIONS): Rework to use individual function macros. | |
22508 | (READONLY_DATA_FUNCTION, ONE_ONLY_READONLY_DATA_SECTION_FUNCTION, | |
22509 | ONE_ONLY_DATA_SECTION_FUNCTION, FORGET_SECTION_FUNCTION): New defines | |
22510 | for EXTRA_SECTION_FUNCTIONS. | |
22511 | * doc/install.texi: Update binutils requirements. | |
22512 | ||
22513 | 2004-07-20 Nathan Sidwell <nathan@codesourcery.com> | |
22514 | ||
22515 | * vec.h (VEC_T_length, VEC_T_index, VEC_T_iterate, VEC_T_truncate, | |
22516 | VEC_T_replace, VEC_T_quick_insert, VEC_T_safe_insert, | |
22517 | VEC_T_ordered_remove, VEC_T_unordered_remove): Use unsigned, not | |
22518 | size_t. | |
22519 | (struct VEC): Use unsigned for num and alloc. | |
22520 | * vec.c (struct vec_prefix): Likewise. | |
22521 | (vec_o_reserve): Adjust. | |
22522 | ||
22523 | * dbxout.c (dbxout_type): Fix printf format. | |
22524 | ||
22525 | * tree.h (binfo_member): Remove. | |
22526 | * tree.c (binfo_member): Remove. | |
22527 | ||
22528 | 2004-07-20 Nathan Sidwell <nathan@codesourcery.com> | |
22529 | ||
22530 | * tree.h: Include vec.h | |
22531 | (DEF_VEC_P(tree)): New type. | |
22532 | (BINFO_BASE_BINFOS, BINFO_N_BASE_BINFOS, BINFO_BASE_BINFO): Adjust. | |
22533 | (BINFO_BASE_APPEND, BINFO_BASE_ITERATE): New. | |
22534 | (BINFO_LANG_SLOT): Remove. | |
22535 | (BINFO_SUBVTT_INDEX, BINFO_VPTR_INDEX, BINFO_PRIMARY_BASE_OF): New. | |
22536 | (struct tree_binfo): Turn base_binfos into a trailing | |
22537 | VEC(tree). Add vtt_subvtt, vtt_vptr, primary fields. | |
22538 | (binfo_lang_slots): Remove. | |
22539 | * tree.c (binfo_lang_slots): Remove. | |
22540 | (make_tree_binfo_stat): Take a base binfo count, not a | |
22541 | lang slot count. Adjust. | |
22542 | * Makefile.in (TREE_H): Add vec.h | |
22543 | * alias.c (record_component_aliases): Adjust BINFO access. | |
22544 | * dbxout.c (dbxout_type): Likewise. | |
22545 | * dwarf2out.c (gen_member_die): Likewise. | |
22546 | * sdbout.c (sdbout_one_type): Likewise. | |
22547 | * tree-dump.c (deque_and_dump): Likewise. | |
22548 | * config/i386/i386.c (classify_argument, | |
22549 | contains_128bit_aligned_vector_p): Likewise. | |
22550 | * config/sh/symbian.c (symbian_export_vtable_and_rtti_p): Likewise. | |
22551 | * doc/c-tree.texi (Classes): Update BINFO documentation. | |
22552 | ||
22553 | 2004-07-20 Steven Bosscher <stevenb@suse.de> | |
22554 | ||
22555 | * c-common.h (check_case_value): Remove prototype. | |
22556 | (c_add_case_label): Adjust prototype. | |
22557 | * c-common.c (check_case_value): Make static. | |
22558 | (check_case_bounds): New function. | |
22559 | (c_add_case_label): Use it. Take new argument orig_type. | |
22560 | * c-typeck.c (struct c_switch): New orig_type field. | |
22561 | (c_start_case): Set it. | |
22562 | (do_case): Pass it to c_add_case_label. | |
22563 | * expr.c (expand_expr_real_1): Don't warn for out-of-bounds | |
22564 | cases from here. Add the labels in reverse order. | |
22565 | * stmt.c (struct case_node): Adjust comment. Remove balance field. | |
22566 | (add_case_node): Return nothing, don't check for duplicate cases. | |
22567 | Insert new case nodes in a list, not in an AVL tree. | |
22568 | (expand_end_case_type): Don't turn a case tree into a case list. | |
22569 | (case_tree2list): Remove. | |
22570 | * tree.h (add_case_node): Adjust prototype. | |
22571 | ||
22572 | 2004-07-19 Paolo Bonzini <bonzini@gnu.org> | |
22573 | ||
22574 | * genattr.c (struct range, struct function_unit, | |
22575 | write_units, extend_range, init_range): Remove them. | |
22576 | (main): Remove code dealing with DEFINE_FUNCTION_UNIT. | |
22577 | Output "#define INSN_SCHEDULING" here. | |
22578 | * genattrtab.c (struct range, struct function_unit_op, | |
22579 | struct function_unit, struct dimension, enum operator, | |
22580 | operate_exp, expand_units, simplify_knowing, | |
22581 | encode_units_mask, simplify_by_exploding, | |
22582 | find_and_mark_used_attributes, unmark_used_attributes, | |
22583 | add_values_to_cover, increment_current_value, | |
22584 | test_for_current_value, simplify_with_current_value, | |
22585 | simplify_with_current_value_aux, gen_unit, | |
22586 | write_unit_name, write_function_unit_info, | |
22587 | write_complex_function, write_toplevel_expr, | |
22588 | find_single_value, extend_range): Remove. | |
22589 | (write_attr_get): Do not handle common_av->value | |
22590 | being an FFS. | |
22591 | (struct attr_desc): Remove func_units_p and blockage_p. | |
22592 | (write_attr_valueq): Do not handle them. | |
22593 | (find_attr): Do not clear them. | |
22594 | (make_internal_attr): Do not initialize them. | |
22595 | (main): Remove code dealing with DEFINE_FUNCTION_UNIT. | |
22596 | * sched-vis.c (init_target_units, insn_print_units, | |
22597 | init_block_visualization, print_block_visualization, | |
22598 | visualize_scheduled_insns, visualize_no_unit, | |
22599 | visualize_stall_cycles, visualize_alloc, | |
22600 | visualize_free, target_units, get_visual_tbl_length, | |
22601 | MAX_VISUAL_LINES, INSN_LEN, n_visual_lines, | |
22602 | visual_tbl_line_length, visual_tbl, n_vis_no_unit, | |
22603 | MAX_VISUAL_NO_UNIT, vis_no_unit): Remove. | |
22604 | * haifa-sched.c (blockage_range, clear_units, | |
22605 | schedule_unit, actual_hazard, potential_hazard, | |
22606 | insn_unit, unit_last_insn, unit_tick, | |
22607 | actual_hazard_this_instance, potential_hazard, | |
22608 | schedule_unit, max_insn_queue_index_value): Remove. | |
22609 | (MAX_INSN_QUEUE_INDEX): Removed, renamed throughout to | |
22610 | max_insn_queue_index. | |
22611 | * rtl.def (DEFINE_FUNCTION_UNIT): Remove. | |
22612 | * doc/md.texi (Processor pipeline description): Remove | |
22613 | references to old pipeline descriptions. | |
22614 | (Automaton pipeline description): Merge with the above. | |
22615 | (Old pipeline description, Comparison of the two descriptions): | |
22616 | Remove. | |
22617 | ||
22618 | * bt-load.c (migrate_btr_def): Remove references to | |
22619 | use_pipeline_interface. | |
22620 | * haifa-sched.c (insn_cost, schedule_insn, | |
22621 | schedule_block, advance_one_cycle, sched_init, | |
22622 | queue_to_ready, sched_finish): Likewise. | |
22623 | * modulo-sched.c (sms_schedule, advance_one_cycle, | |
22624 | ps_has_conflicts): Likewise. | |
22625 | * sched-rgn.c (init_ready): Likewise. | |
22626 | (debug_dependencies): Likewise, and remove an "if (1)". | |
22627 | * target.h (use_dfa_pipeline_interface): Remove. | |
22628 | * config/alpha/alpha.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. | |
22629 | * config/arc/arc.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. | |
22630 | * config/arm/arm.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. | |
22631 | * config/c4x/c4x.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. | |
22632 | * config/frv/frv.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. | |
22633 | * config/i386/i386.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. | |
22634 | * config/ia64/ia64.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. | |
22635 | * config/iq2000/iq2000.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. | |
22636 | * config/m32r/m32r.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. | |
22637 | * config/mcore/mcore.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. | |
22638 | * config/mips/mips.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. | |
22639 | * config/pa/pa.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. | |
22640 | * config/rs6000/rs6000.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. | |
22641 | * config/s390/s390.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. | |
22642 | * config/sh/sh.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. | |
22643 | * config/sparc/sparc.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. | |
22644 | * config/v850/v850.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. | |
22645 | * config/xtensa/xtensa.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. | |
22646 | * doc/tm.texi (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. | |
22647 | ||
22648 | 2004-07-19 Roger Sayle <roger@eyesopen.com> | |
22649 | ||
22650 | * rtlanal.c (reg_set_p): Add check for regs_invalidated_by_call. | |
22651 | ||
22652 | 2004-07-19 Jeff Law <law@redhat.com> | |
22653 | ||
22654 | * tree-ssa-dom.c (single_incoming_edge_ignoring_loop_edges): New. | |
22655 | (get_eq_expr_value): Use it. Simplify slightly. | |
22656 | ||
22657 | 2004-07-19 Maciej W. Rozycki <macro@linux-mips.org> | |
22658 | ||
22659 | * config/mips/mips.md (mulsidi3_32bit_r4000): Fix the clobber list. | |
22660 | (umulsidi3_32bit_r4000): Likewise. | |
22661 | ||
22662 | 2004-07-19 Nathan Sidwell <nathan@codesourcery.com> | |
22663 | ||
22664 | * vec.h: Propagate location information properly. | |
22665 | (VEC_T_iterate): Add result pointer parameter. | |
22666 | (VEC_T_space): New. | |
22667 | (VEC_T_reserve): Use it. | |
22668 | ||
22669 | 2004-07-19 Daniel Jacobowitz <dan@debian.org> | |
22670 | ||
22671 | * Makefile.in (c-format.o): Depend on c-format.h. | |
22672 | * c-format.h: New file. | |
22673 | (struct format_char_info): Add CHAIN member. | |
22674 | * c-format.c: Move some types and constants to c-format.h. | |
22675 | (format_type_error): Set to -1. | |
22676 | (struct function_format_info): Use an int for format_type. | |
22677 | (decode_format_type): Return an int. Return format_type_error | |
22678 | on error. | |
22679 | (print_char_table, asm_fprintf_char_table, gcc_diag_char_table) | |
22680 | (gcc_diag_char_table, gcc_cdiag_char_table, gcc_cxxdiag_char_table) | |
22681 | (scan_char_table, time_char_table, monetary_char_table): Initialize | |
22682 | CHAIN to NULL. | |
22683 | (n_format_types): New variable. | |
22684 | (check_format_info_main): Handle CHAIN in format_char_info. | |
22685 | (handle_format_attribute): Handle TARGET_FORMAT_TYPES and | |
22686 | TARGET_N_FORMAT_TYPES. | |
22687 | * config.gcc (i[34567]86-*-solaris2*, sparc64-*-solaris2*) | |
22688 | (sparc-*-solaris2*): Include config/t-sol2 and config/sol2-c.c. | |
22689 | * config/sol2-c.c: New file. | |
22690 | * config/t-sol2: New file. | |
22691 | * config/sol2.h (TARGET_N_FORMAT_TYPES, TARGET_FORMAT_TYPES): Define. | |
22692 | * config/sparc/elf.h, config/sparc/sp64-elf.h: Undefine | |
22693 | TARGET_N_FORMAT_TYPES and TARGET_FORMAT_TYPES. | |
22694 | ||
22695 | * doc/extend.texi (Target Format Checks): New section. | |
22696 | (Function Attributes): Mention it. | |
22697 | * doc/invoke.texi: Mention target format checks. | |
22698 | * doc/sourcebuild.texi: Mention target format checks. | |
22699 | * dc/tm.texi (Misc): Document TARGET_N_FORMAT_TYPES and | |
22700 | TARGET_FORMAT_TYPES. | |
22701 | ||
22702 | 2004-07-19 Andreas Krebbel <krebbel1@de.ibm.com> | |
22703 | ||
22704 | * config/s390/s390-protos.h (s390_return_address_offset): Prototype | |
22705 | added. | |
22706 | * config/s390/s390.c (regclass_map initializer): Register 35 added to | |
22707 | ADDR_REGS. | |
22708 | (load_multiple_operation, store_multiple_operation): Removed | |
22709 | pointless sanity check. | |
22710 | (s390_decompose_address): Added check for return_address_pointer_rtx. | |
22711 | (s390_return_addr_rtx): Use return_address_pointer_rtx for count == 0. | |
22712 | (s390_return_address_offset): New function. | |
22713 | * config/s390/s390.h (FIRST_PSEUDO_REGISTER): Increased to 36. | |
22714 | (FRAME_REGNO_P): Added check for register 35. | |
22715 | (FIXED_REGISTERS, CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS, | |
22716 | REG_ALLOC_ORDER): Appended entry for register 35. | |
22717 | (REG_CLASS_CONTENTS): Adjusted class masks for register 35. | |
22718 | (EH_RETURN_HANDLER_RTX): Use return_address_pointer_rtx. | |
22719 | (RETURN_ADDRESS_POINTER_REGNUM): New macro. | |
22720 | (ELIMINABLE_REGS, INITIAL_ELIMINATION_OFFSET): Return address pointer | |
22721 | is eliminable using stack pointer or hard frame pointer. | |
22722 | (REGISTER_NAMES): Added name for register 35. | |
22723 | * config/s390/s390.md ("load_multiple", "store_multiple"): Removed | |
22724 | pointless sanity check. | |
22725 | ||
22726 | 2004-07-19 Roger Sayle <roger@eyesopen.com> | |
22727 | ||
22728 | * fold-const.c (tree_expr_nonzero_p): Add function prototype. | |
22729 | (fold) <EQ_EXPR>: Move tree_expr_nonzero_p optimization from | |
22730 | fold_relational_const to here, i.e. "(x | 5) == 0" -> false. | |
22731 | (fold) (UNEQ_EXPR>: Add optimizations for unordered comparisons | |
22732 | of the form "x op x" where op is UNLE, UNGE, UNEQ or LTGT. | |
22733 | (fold_relational_const): Tidy up handling of floating point | |
22734 | comparisons by calling real_compare. Remove tree_expr_nonzero_p | |
22735 | transformation; fold_relational_const assumes constant operands. | |
22736 | ||
22737 | 2004-07-19 Gabriel Dos Reis <gdr@integrable-solution.net> | |
22738 | ||
22739 | * doc/sourcebuild.texi: Add libcpp, now that CPP has its own | |
22740 | directory. | |
22741 | ||
22742 | 2004-07-19 Joseph S. Myers <jsm@polyomino.org.uk> | |
22743 | ||
22744 | * c-tree.h (struct c_expr): Define. | |
22745 | (C_SET_EXP_ORIGINAL_CODE): Remove. | |
22746 | (parser_build_binary_op, build_compound_expr): Update prototypes. | |
22747 | * c-parse.in (%union): Add exprtype. | |
22748 | (FUNC_NAME): Mark as ttype. | |
22749 | (expr, expr_no_commas, cast_expr, unary_expr, primary): Change to | |
22750 | exprtype. | |
22751 | (expr): Update. Define directly in terms of expr_no_commas | |
22752 | instead of using nonnull_exprlist. | |
22753 | (nonnull_exprlist, unary_expr, cast_expr, expr_no_commas, primary, | |
22754 | offsetof_member_designator, typespec_nonreserved_nonattr, init, | |
22755 | initval, designator, component_declarator, | |
22756 | component_notype_declarator, enumerator, array_declarator, | |
22757 | condition, exexpr, switch_statement, stmt_nocomp, stmt, | |
22758 | nonnull_asm_operands, ivar_declarator, receiver): Update. Don't | |
22759 | set C_EXP_ORIGINAL_CODE. Use TREE_NO_WARNING for assignments | |
22760 | where appropriate. | |
22761 | * c-common.h (C_EXP_ORIGINAL_CODE): Remove. | |
22762 | * c-common.c (c_common_truthvalue_conversion): Don't check | |
22763 | C_EXP_ORIGINAL_CODE. | |
22764 | * c-typeck.c (parser_build_binary_op): Use c_expr structures. | |
22765 | Don't use C_EXP_ORIGINAL_CODE. | |
22766 | (default_conversion, default_function_array_conversion): Don't use | |
22767 | C_EXP_ORIGINAL_CODE. Preserve TREE_NO_WARNING. | |
22768 | (internal_build_compound_expr): Merge into build_compound_expr. | |
22769 | (build_compound_expr): Take two operands instead of a TREE_LIST. | |
22770 | * objc/objc-act.c (get_super_receiver): Update calls to | |
22771 | build_compound_expr. | |
22772 | ||
22773 | 2004-07-18 Paolo Bonzini <bonzini@gnu.org> | |
22774 | ||
22775 | * config/sh/sh.c (sh_use_dfa_interface): Remove. | |
22776 | (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Set to | |
22777 | hook_int_void_1. | |
22778 | * config/sh/sh.md: Extract pipeline descriptions | |
22779 | into separate files. | |
22780 | * config/sh/sh1.md: New file, extracted from sh.md. | |
22781 | * config/sh/sh4.md: New file, extracted from sh.md. | |
22782 | * config/sh/shmedia.md: New file, extracted from sh.md | |
22783 | and rewritten using new-style pipeline description. | |
22784 | ||
22785 | 2004-07-18 Zack Weinberg <zack@codesourcery.com> | |
22786 | ||
22787 | * config/pa/pa.md: Delete the two remaining define_peephole | |
22788 | patterns. | |
22789 | ||
22790 | 2004-07-18 Steven Bosscher <stevenb@suse.de> | |
22791 | Joseph S. Myers <jsm@polyomino.org.uk> | |
22792 | ||
22793 | * c-common.c (c_common_truthvalue_conversion): Don't warn if | |
22794 | TREE_NO_WARNING is set. | |
22795 | ||
22796 | 2004-07-18 Roger Sayle <roger@eyesopen.com> | |
22797 | ||
22798 | * builtins.c (simplify_builtin_memcmp, simplify_builtin_strcmp, | |
22799 | simplify_builtin_strncmp): Delete. | |
22800 | (fold_builtin_memcmp, fold_builtin_strcmp, fold_builtin_strncmp): | |
22801 | Change argument to accept an arglist instead of an "exp". Assume | |
22802 | that the return type is always integer_type_node. Copy missing | |
22803 | transformations from their now obsolete simplify_builtin_* | |
22804 | equivalents. | |
22805 | (fold_builtin_1): Pass arglist instead of exp to fold_builtin_memcmp, | |
22806 | fold_builtin_strcmp and fold_builtin_strncmp. | |
22807 | (simplify_builtin): Call fold_builtin_memcmp, fold_builtin_strcmp | |
22808 | and fold_builtin_strncmp instead of simplify_builtin_memcmp, | |
22809 | simplify_builtin_strcmp and simplify_builtin_strncmp respectively. | |
22810 | ||
22811 | 2004-07-18 Daniel Jacobowitz <dan@debian.org> | |
22812 | ||
22813 | * Makefile.in (tree-alias-common.o): Update dependencies. | |
22814 | ||
22815 | 2004-07-17 Sebastian Pop <pop@cri.ensmp.fr> | |
22816 | ||
22817 | * cfgloop.c (flow_loop_nested_p): Fix comment. | |
22818 | ||
22819 | 2004-07-17 Jason Merrill <jason@redhat.com> | |
22820 | ||
22821 | PR c++/16115 | |
22822 | * stor-layout.c (relayout_decl): New fn. | |
22823 | * tree.h: Declare it. | |
22824 | (DECL_BY_REFERENCE): New macro. | |
22825 | ||
22826 | 2004-07-17 Eric Botcazou <ebotcazou@act-europe.fr> | |
22827 | ||
22828 | * libgcc2.c (__enable_execute_stack): New symbol. | |
22829 | * libgcc-std.ver (GCC_3.4.2): New version. Inherit from GCC_3.4 | |
22830 | and declare __enable_execute_stack. | |
22831 | * mklibgcc.in (lib2funcs): Add _enable_execute_stack. | |
22832 | * config/netbsd.h (NETBSD_ENABLE_EXECUTE_STACK): ANSIfy. | |
22833 | * config/sol2.h (TRANSFER_FROM_TRAMPOLINE): Rename into | |
22834 | ENABLE_EXECUTE_STACK. | |
22835 | * config/alpha/alpha.c (alpha_initialize_trampoline): Conditionalize | |
22836 | on ENABLE_EXECUTE_STACK instead of TRANSFER_FROM_TRAMPOLINE. | |
22837 | * config/alpha/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Rename into | |
22838 | ENABLE_EXECUTE_STACK. | |
22839 | * config/alpha/osf.h (TRANSFER_FROM_TRAMPOLINE): Likewise. | |
22840 | * config/i386/i386.c (x86_initialize_trampoline): Conditionalize | |
22841 | on ENABLE_EXECUTE_STACK instead of TRANSFER_FROM_TRAMPOLINE. | |
22842 | * config/i386/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Rename into | |
22843 | ENABLE_EXECUTE_STACK. | |
22844 | * config/i386/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Likewise. | |
22845 | * config/i386/netbsd64.h (TRANSFER_FROM_TRAMPOLINE): Likewise. | |
22846 | * config/sparc/freebsd.h (TRANSFER_FROM_TRAMPOLINE): Likewise. | |
22847 | * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Likewise. | |
22848 | * config/sparc/sparc.c (sparc_initialize_trampoline): Conditionalize | |
22849 | on ENABLE_EXECUTE_STACK instead of TRANSFER_FROM_TRAMPOLINE. | |
22850 | (sparc64_initialize_trampoline): Likewise. | |
22851 | * doc/tm.texi (trampolines): Add ENABLE_EXECUTE_STACK macro. | |
22852 | ||
22853 | 2004-07-17 Joseph S. Myers <jsm@polyomino.org.uk> | |
22854 | ||
22855 | * langhooks.h (builtin_function): New langhook. | |
22856 | * langhooks-def.h (LANG_HOOKS_BUILTIN_FUNCTION): New. | |
22857 | (LANG_HOOKS_INITIALIZER): Update. | |
22858 | * tree.h (builtin_function): Remove. | |
22859 | * doc/tm.texi: Update. | |
22860 | * c-tree.h (builtin_function): Declare. | |
22861 | * c-common.c, config/alpha/alpha.c, config/arm/arm.c, | |
22862 | config/c4x/c4x.c, config/frv/frv.c, config/i386/i386.c, | |
22863 | config/ia64/ia64.c, config/iq2000/iq2000.c, | |
22864 | config/rs6000/rs6000.c, config/s390/s390.c, config/sh/sh.c, | |
22865 | config/stormy16/stormy16.c: All callers of builtin_function | |
22866 | changed. | |
22867 | ||
22868 | 2004-07-17 Andrew Pinski <pinskia@physics.uc.edu> | |
22869 | ||
22870 | PR target/16556 | |
22871 | * config/i386/darwin.h (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): | |
22872 | Remove white space after the backslash. | |
22873 | ||
22874 | 2004-07-17 Eric Botcazou <ebotcazou@libertysurf.fr> | |
22875 | ||
22876 | PR rtl-optimization/16294 | |
22877 | * resource.c (return_insn_p): New predicate. | |
22878 | (mark_target_live_regs): Use it. Special-case return insns. | |
22879 | (init_resource_info): Use it. Don't scan the epilogue past | |
22880 | a return. | |
22881 | ||
22882 | 2004-07-17 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> | |
22883 | ||
22884 | * loop-init.c (loop_optimizer_init, loop_optimizer_finalize): Do not | |
22885 | destroy dominance information. | |
e8366202 | 22886 | * passes.c (rest_of_handle_loop2): Free dominance information. |
7a4515d7 SB |
22887 | * tree-cfg.c (cleanup_tree_cfg): Remove unreachable blocks before |
22888 | jump threading. | |
22889 | (thread_jumps): Update dominance information and remove unreachable | |
22890 | blocks. | |
e8366202 | 22891 | * tree-ssa-phiopt.c (replace_phi_with_stmt): Update dominance |
7a4515d7 SB |
22892 | information and remove the unreachable block. |
22893 | ||
22894 | 2004-07-17 Graham Stott <graham.stott@btinternet.com> | |
22895 | ||
22896 | * emit-rtl.c (reorder_insns): Don't set BB for a BARRIER insn. | |
22897 | ||
22898 | 2004-07-17 Toon Moene <toon@moene.indiv.nluug.nl> | |
22899 | ||
22900 | * doc/sourcebuild.texi: Remove libf2c entry. | |
22901 | ||
22902 | 2004-07-17 Paolo Bonzini <bonzini@gnu.org> | |
22903 | ||
22904 | * config/i386/i386.md (movv16qi_internal): Fix typo. | |
22905 | ||
22906 | 2004-07-17 Steven Bosscher <stevenb@suse.de> | |
22907 | ||
22908 | * final.c (final_scan_insn): Fix broken commit from previous | |
22909 | patch. | |
22910 | ||
22911 | 2004-07-17 Joseph S. Myers <jsm@polyomino.org.uk> | |
22912 | ||
22913 | * c-typeck.c (parser_build_binary_op): Condition warnings for | |
22914 | X<=Y<=Z on -Wparentheses instead of -Wextra. | |
22915 | * doc/invoke.texi: Update. Document that most of -Wparentheses is | |
22916 | supported for C only. | |
22917 | ||
22918 | 2004-07-17 Steven Bosscher <stevenb@suse.de> | |
22919 | ||
22920 | * cfgcleanup.c (try_simplify_condjump): Don't remove line | |
22921 | notes to avoid unreachable code warnings. | |
22922 | * toplev.c (backend_init): Don't emit line notes for | |
22923 | unreachable code warnings. | |
22924 | ||
22925 | * combine.c (distribute_notes): Don't distribute a | |
22926 | REG_VTABLE_REF note. | |
22927 | * final.c (final_scan_insn): Don't handle it. | |
22928 | * rtl.c (reg_note_name): Remove it. | |
22929 | * rtl.h (enum reg_node): Dito. | |
22930 | ||
22931 | * emit-rtl.c (force_line_numbers, restore_line_number_status): | |
22932 | Remove. | |
22933 | * rtl.h (force_line_numbers, restore_line_number_status): | |
22934 | Remove prototypes. | |
22935 | ||
22936 | * stmt.c (using_eh_for_cleanups_p, using_eh_for_cleanups): Move... | |
22937 | * tree-eh.c (using_eh_for_cleanups_p): ...here. Make static. | |
22938 | (using_eh_for_cleanups): Also moved here. | |
22939 | ||
22940 | * expr.c (expand_expr_real_1) <CASE_LABEL_EXPR>: Die if we see one. | |
22941 | <SWITCH_EXPR>: Die if we have a non-NULL SWITCH_BODY. Update calls | |
22942 | to expand_start_case and add_case_node. | |
22943 | * stmt.c (struct nesting): Cleanup unused fields condition_code, | |
22944 | last_unconditional_cleanup, nominal_type, printname, and | |
22945 | line_number_status. | |
22946 | (struct fixup_goto): Remove. | |
22947 | (struct stmt_status): Remove x_goto_fixup_chain field. | |
22948 | (goto_fixup_chain): Remove. | |
22949 | (strip_default_case_nodes, group_case_nodes, emit_jump_if_reachable, | |
22950 | pushcase, pushcase_range): Remove. | |
22951 | (expand_start_bindings_and_block): Don't set unused fields in | |
22952 | the nesting stack. | |
22953 | (expand_start_case, add_case_node): Cleanup unused formal arguments. | |
22954 | (expand_end_case_type): Don't simplify the case-list. Use emit_jump | |
22955 | instead of emit_jump_if_reachable. | |
22956 | (emit_case_nodes): Likewise. | |
22957 | * tree-cfg.c (group_case_labels, cleanup_dead_labels): No longer | |
22958 | static. | |
22959 | (update_eh_label): Work around left-over exception handing regions. | |
22960 | * tree-flow.h (group_case_labels, cleanup_dead_labels): Add protos. | |
22961 | * tree-optimize.c (execute_cleanup_cfg_post_optimizing): New function. | |
22962 | (pass_cleanup_cfg_post_optimizing): New pass. | |
22963 | (init_tree_optimization_passes): Run the new pass after all | |
22964 | optimizations. | |
22965 | * tree.h (pushcase, pushcase_range): Remove prototypes. | |
22966 | (expand_start_case, add_case_node): Update prototypes. | |
22967 | ||
22968 | 2004-07-16 Krister Walfridsson <cato@df.lth.se> | |
22969 | ||
22970 | * tree-inline.c (estimate_num_insns_1): Correct increase of count. | |
22971 | ||
22972 | 2004-07-16 Richard Henderson <rth@redhat.com> | |
22973 | ||
22974 | * builtins.c (std_expand_builtin_va_arg): Remove. | |
22975 | (expand_builtin_va_arg): Remove. | |
22976 | * expr.h: Don't declare them. | |
22977 | * gimplify.c (mark_decls_volatile_r): Remove. | |
22978 | (copy_if_shared_r): Don't call it. | |
22979 | * target-def.h: Don't test EXPAND_BUILTIN_VA_ARG. | |
22980 | * expr.c (expand_expr_real_1): Don't handle VA_ARG_EXPR. | |
22981 | * gimple-low.c (lower_stmt): Likewise. | |
22982 | * tree-cfg.c (cfg_remove_useless_stmts_bb): Likewise. | |
22983 | * tree-gimple.c (is_gimple_tmp_rhs, is_gimple_stmt): Likewise. | |
22984 | * tree-ssa-operands.c (get_expr_operands): Likewise. | |
22985 | * doc/tm.texi (TARGET_GIMPLIFY_VA_ARG_EXPR): Don't mention | |
22986 | EXPAND_BUILTIN_VA_ARG. | |
22987 | * system.h (EXPAND_BUILTIN_VA_ARG): Poison. | |
22988 | * config/alpha/alpha.h, config/alpha/unicosmk.h, config/i386/i386.h, | |
22989 | config/ia64/ia64.h, config/rs6000/rs6000.h, config/s390/s390.h, | |
22990 | config/sparc/sparc.h (EXPAND_BUILTIN_VA_ARG): Remove. | |
22991 | ||
22992 | 2004-07-16 Daniel Berlin <dberlin@dberlin.org> | |
22993 | ||
22994 | * tree-ssa-pre.c (insert_aux): Break out if we hit | |
22995 | a critical edge. | |
22996 | ||
22997 | 2004-07-16 Richard Henderson <rth@redhat.com> | |
22998 | ||
22999 | * basic-block.h (remove_fake_exit_edges): Declare. | |
23000 | * cfganal.c (remove_fake_predecessors): Rename from | |
23001 | remove_fake_successors; iterate over predecessors. | |
23002 | (remove_fake_exit_edges): New. | |
23003 | * cfgcleanup.c (try_optimize_cfg): Use it. | |
23004 | * gcse.c (one_pre_gcse_pass, store_motion): Likewise. | |
23005 | * predict.c (estimate_probability): Likewise. | |
23006 | (tree_estimate_probability, note_prediction_to_br_prob): Likewise. | |
23007 | * tree-cfg.c (make_edges): Likewise. | |
23008 | * tree-ssa-pre.c (fini_pre): Likewise. | |
23009 | * profile.c (instrument_edges): Don't remove_fake_edges. | |
23010 | (branch_prob): Do it earlier here. | |
23011 | ||
23012 | 2004-07-16 Richard Henderson <rth@redhat.com> | |
23013 | ||
23014 | * tree-ssa-operands.c (get_expr_operands): Fix 2004-07-15 | |
23015 | switchification wrt CONSTRUCTOR. Document the reason. | |
23016 | ||
23017 | 2004-07-16 Frank Ch. Eigler <fche@redhat.com> | |
23018 | ||
23019 | * tree-mudflap.c (mf_file_function_line_tree): Correct typo | |
23020 | that prevented descriptive __mf_check source location strings. | |
23021 | ||
23022 | 2004-07-16 Richard Henderson <rth@redhat.com> | |
23023 | ||
23024 | * tree-def (WITH_SIZE_EXPR): New. | |
23025 | * explow.c (expr_size, int_expr_size): Handle WITH_SIZE_EXPR. | |
23026 | * expr.c (expand_expr_real_1): Likewise. | |
23027 | * gimplify.c (maybe_with_size_expr): New. | |
23028 | (gimplify_arg, gimplify_modify_expr): Use it. | |
23029 | (gimplify_modify_expr_to_memcpy): Take size parameter. | |
23030 | (gimplify_modify_expr_to_memset): Likewise. | |
23031 | (gimplify_expr): Handle WITH_SIZE_EXPR. | |
23032 | * tree-alias-common.c (find_func_aliases): Likewise. | |
23033 | * tree-eh.c (tree_could_trap_p): Likewise. | |
23034 | (tree_could_throw_p): Likewise. | |
23035 | * tree-gimple.c (is_gimple_lvalue): Likewise. | |
23036 | (get_call_expr_in): Likewise. | |
23037 | * tree-inline.c (estimate_num_insns_1): Likewise. | |
23038 | (expand_calls_inline): Likewise. | |
23039 | * tree-nested.c (convert_call_expr): Likewise. | |
23040 | * tree-pretty-print.c (dump_generic_node): Likewise. | |
23041 | * tree-sra.c (sra_walk_expr): Likewise. | |
23042 | * tree-ssa-alias.c (add_pointed_to_expr): Likewise. | |
23043 | * tree-ssa-ccp.c (get_rhs, set_rhs): Likewise. | |
23044 | * tree-ssa-operands.c (get_expr_operands): Likewise. | |
23045 | * tree-tailcall.c (find_tail_calls): Likewise. | |
23046 | ||
23047 | * calls.c (expand_call): Reset old_stack_allocated after | |
23048 | calling emit_stack_restore. | |
23049 | ||
23050 | 2004-07-16 Richard Henderson <rth@redhat.com> | |
23051 | ||
23052 | * langhooks-def.h (LANG_HOOKS_TREE_INLINING_COPY_RES_DECL_FOR_INLINING, | |
23053 | lhd_tree_inlining_copy_res_decl_for_inlining): Remove. | |
23054 | * langhooks.c (lhd_tree_inlining_copy_res_decl_for_inlining): Remove. | |
23055 | * langhooks.h (struct lang_hooks_for_tree_inlining): Remove | |
23056 | copy_res_decl_for_inlining. | |
23057 | ||
23058 | * tree-inline.c (declare_return_variable): New modify_dest argument. | |
23059 | Use it as the return value, when possible or manditory. Handle | |
23060 | TREE_ADDRESSABLE types. | |
23061 | (expand_call_inline): Extract MODIFY_EXPR lhs for call. Simplify | |
23062 | replacement of CALL_EXPR. | |
23063 | ||
23064 | 2004-07-16 Richard Henderson <rth@redhat.com> | |
23065 | ||
23066 | * tree-flow.h (struct var_ann_d): Remove has_hidden_use. | |
23067 | * gimple-low.c (expand_var_p): Don't check it. | |
23068 | * tree-ssa-alias.c (setup_pointers_and_addressables): Likewise. | |
23069 | * tree-ssa-copyrename.c (rename_ssa_copies): Likewise. | |
23070 | * tree-ssa-operands.c (add_stmt_operand): Likewise. | |
23071 | * tree-dfa.c (find_hidden_use_vars, find_hidden_use_vars_r): Kill. | |
23072 | (find_referenced_vars): Don't call them. | |
23073 | * tree-flow-inline.h (has_hidden_use, set_has_hidden_use): Kill. | |
23074 | ||
23075 | 2004-07-16 Richard Henderson <rth@redhat.com> | |
23076 | ||
23077 | * function.c (pass_by_reference): True for all variable sized types. | |
23078 | ||
23079 | 2004-07-16 Sebastian Pop <pop@cri.ensmp.fr> | |
23080 | ||
23081 | * Makefile.in (tree-pretty-print.o): Depend on tree-chrec.h. | |
23082 | * tree-pretty-print.c: Include tree-chrec.h. | |
23083 | (dump_generic_node): Pretty print SCEV_KNOWN, SCEV_NOT_KNOWN | |
23084 | and POLYNOMIAL_CHREC nodes. | |
23085 | ||
23086 | 2004-07-16 Steve Ellcey <sje@cup.hp.com> | |
23087 | ||
23088 | * builtins.c (expand_builtin_stpcpy): Do not create temporary | |
23089 | reg with VOIDmode. | |
23090 | ||
23091 | 2004-07-16 Segher Boessenkool <segher@kernel.crashing.org> | |
23092 | ||
23093 | * config/rs6000/eabi.asm (__eabi_convert): Fix typo (cmpi vs. cmpwi). | |
23094 | ||
23095 | 2004-07-16 Andreas Krebbel <krebbel1@de.ibm.com> | |
23096 | ||
23097 | * config/s390/s390.md: Changed every occurence of BASE_REGISTER | |
23098 | to BASE_REGNUM. | |
23099 | * config/s390/s390.c: Likewise. | |
23100 | * config/s390/s390.h: Likewise. | |
23101 | ||
23102 | 2004-07-16 Richard Sandiford <rsandifo@redhat.com> | |
23103 | ||
23104 | * config/mips/mips.md (addsi3, adddi3): Remove special handling | |
23105 | of $sp adds. Remove REGNO checks from mips16 patterns. | |
23106 | ||
23107 | 2004-07-16 Richard Sandiford <rsandifo@redhat.com> | |
23108 | ||
23109 | * config/mips/mips.md: Delete outdated comment. | |
23110 | ||
23111 | 2004-07-16 Richard Sandiford <rsandifo@redhat.com> | |
23112 | ||
23113 | * config/mips/mips.c (get_float_compare_codes): Delete. | |
23114 | (mips_emit_compare): New function, mostly extracted from | |
23115 | get_float_compare_codes and gen_conditional_branch. | |
23116 | (gen_conditional_branch, gen_conditional_move): Use it. | |
23117 | ||
23118 | 2004-07-16 Segher Boessenkool <segher@kernel.crashing.org> | |
23119 | ||
23120 | * genautomata.c (add_vect): Speedup by using integers as | |
23121 | bit-vectors for walking through the comb_vect and finding | |
23122 | a match. | |
23123 | ||
23124 | 2004-07-16 Richard Sandiford <rsandifo@redhat.com> | |
23125 | ||
23126 | * config/mips/mips.c (mips_zero_if_equal): Only use XORs if the second | |
23127 | operand is an uns_arith_operand; use subtraction otherwise. | |
23128 | * config/mips/mips.md (cmpsi, cmpdi): Allow any nonmemory_operand, | |
23129 | not just arith_operands. | |
23130 | ||
23131 | 2004-07-16 Richard Sandiford <rsandifo@redhat.com> | |
23132 | ||
23133 | * config/mips/mips-protos.h (gen_int_relational): Delete. | |
23134 | (mips_emit_scc): Declare. | |
23135 | * config/mips/mips.c (internal_test): Delete. | |
23136 | (sle_operand, sleu_operand): New functions. | |
23137 | (map_test_to_internal_test, gen_int_relational): Delete. | |
23138 | (mips_emit_binary, mips_relational_operand_ok_p) | |
23139 | (mips_emit_int_relational, mips_zero_if_equal) | |
23140 | (mips_emit_scc): New functions. | |
23141 | (gen_conditional_branch): Rework to use mips_emit_int_relational. | |
23142 | * config/mips/mips.h (PREDICATE_CODES): Add sle_operand and | |
23143 | sleu_operand. | |
23144 | * config/mips/mips.md (seq, sne, sgt, sge, slt, sle, sgtu, sgeu) | |
23145 | (sltu, sleu): Use mips_emit_scc. | |
23146 | (*sge_[sd]i, *sgeu_[sd]i): New patterns. | |
23147 | (*sle_[sd]i, *sle_[sd]i_mips16): Use sle_operand. | |
23148 | (*sleu_[sd]i, *sleu_[sd]i_mips16): Use sleu_operand. | |
23149 | ||
23150 | 2004-07-16 Richard Sandiford <rsandifo@redhat.com> | |
23151 | ||
23152 | * config/mips/mips.md (*sgt_di_mips16): Fix destination constraint. | |
23153 | ||
23154 | 2004-07-16 Richard Sandiford <rsandifo@redhat.com> | |
23155 | ||
23156 | * config/mips/mips.md (*seq_[sd]i): Renamed from seq_[sd]i_zero. | |
23157 | (*sne_[sd]i): Likewise sne_[sd]i_zero. | |
23158 | (*sgt_[sd]i): ...and sgt_[sd]i. | |
23159 | (*slt_[sd]i): ...and slt_[sd]i. | |
23160 | (*sgtu_[sd]i): ...and sgtu_[sd]i. | |
23161 | (*sltu_[sd]i): ...and sltu_[sd]i. | |
23162 | (*sleu_[sd]i): ...and sleu_[sd]i_const. | |
23163 | Name previously unnamed mips16 patterns. Formatting fixes. | |
23164 | ||
23165 | 2004-07-16 Richard Sandiford <rsandifo@redhat.com> | |
23166 | ||
23167 | * config/mips/mips.c (cmp_operands): Renamed from branch_cmp. | |
23168 | (branch_type): Delete. | |
23169 | (gen_conditional_branch, gen_conditional_move) | |
23170 | (mips_gen_conditional_trap): Update after name change. Get the | |
23171 | comparison mode from cmp_operands[0]. | |
23172 | * config/mips/mips.h (cmp_type, branch_type): Delete. | |
23173 | (cmp_operands): Renamed from branch_cmp. | |
23174 | * config/mips/mips.md (cmpsi, cmpdi, cmpsf, cmpdf): Update after | |
23175 | name change. Don't set branch_type. | |
23176 | (seq, sne, sgt, sge, slt, sle, sgtu, sgeu, sltu, sleu): Check the | |
23177 | mode class of cmp_operands[0] rather than branch_type. Update after | |
23178 | name change. | |
23179 | ||
23180 | 2004-07-16 Richard Sandiford <rsandifo@redhat.com> | |
23181 | ||
23182 | * config/mips/mips.c (mips_rtx_costs): In mips16 code, set the cost | |
23183 | of 0...255 to 0 when inside a SET. | |
23184 | ||
23185 | 2004-07-16 Richard Sandiford <rsandifo@redhat.com> | |
23186 | ||
23187 | * config/mips/mips.md: Remove mips16 define_peepholes. | |
23188 | ||
23189 | 2004-07-16 Daniel Berlin <dberlin@dberlin.org> | |
23190 | ||
23191 | * tree-ssa-pre.c (init_pre): Connect infinite loops to exit. | |
23192 | (fini_pre): Remove fake edges. | |
23193 | ||
23194 | 2004-07-15 Richard Henderson <rth@redhat.com> | |
23195 | ||
23196 | * tree-ssa-operands.c (get_expr_operands): Use a switch. Split out... | |
23197 | (get_indirect_ref_operands, get_call_expr_operands): ... these. | |
23198 | ||
23199 | 2004-07-15 Nathan Sidwell <nathan@codesourcery.com> | |
23200 | ||
23201 | * vec.h (VEC_address): New function. | |
23202 | ||
23203 | 2004-07-14 Jason Merrill <jason@redhat.com> | |
23204 | ||
23205 | PR middle-end/15885 | |
23206 | * gimplify.c (gimplify_arg): New fn, split out from... | |
23207 | (gimplify_call_expr): Here. Special-case BUILT_IN_VA_START. | |
23208 | ||
23209 | 2004-07-15 Roman Zippel <zippel@linux-m68k.org> | |
23210 | ||
23211 | * config/m68k/m68k.c (output_move_qimode): Abort on an attempt to | |
23212 | generate code which is generated by pushqi1 now | |
23213 | * config/m68k/m68k.h (MOVE_BY_PIECES_P): Remove. | |
23214 | ||
23215 | 2004-07-15 Roman Zippel <zippel@linux-m68k.org> | |
23216 | ||
23217 | * combine.c (simplify_set): match the mode of the constant 0 with | |
23218 | the tested operand to match the compare behaviour and the | |
23219 | simplify_relational_operation() expectation. | |
23220 | ||
23221 | 2004-07-15 Aldy Hernandez <aldyh@redhat.com> | |
23222 | ||
23223 | * config/rs6000/rs6000.md ("bunordered"): Disable for e500. | |
23224 | ("bordered"): Same. | |
23225 | ||
23226 | 2004-07-15 Aldy Hernandez <aldyh@redhat.com> | |
23227 | ||
23228 | * config/rs6000/rs6000.md ("*cceq_ior_compare"): Allow | |
23229 | unconditionally. | |
23230 | * config/rs6000/spe.md ("e500_cceq_ior_compare"): Remove. | |
23231 | ||
23232 | 2004-07-15 Richard Sandiford <rsandifo@redhat.com> | |
23233 | ||
23234 | * config/mips/mips.c (mips_adjust_insn_length): Fix handling of | |
23235 | calls in mips16 code. | |
23236 | ||
23237 | 2004-07-15 Richard Sandiford <rsandifo@redhat.com> | |
23238 | ||
23239 | * config/mips/mips.md: In the mips16 li/neg splitter, use SImode for | |
23240 | the destination of the li as well as for the neg. | |
23241 | ||
23242 | 2004-07-15 Frank Ch. Eigler <fche@redhat.com> | |
23243 | ||
23244 | g++/15861 | |
23245 | * cgraphunit.c (cgraph_build_static_cdtor): Add priority argument. | |
23246 | * cgraph.h: Update declaration. | |
23247 | * c-decl.c (build_cdtor): Update call with default priority. | |
23248 | * coverage.c (create_coverage): Ditto. | |
23249 | * tree-mudflap.c (mf_init_fndecl): New tree. | |
23250 | (mudflap_init): Set it. | |
23251 | (mudflap_register_call): Arrange to call __mf_init before the first | |
23252 | __mf_register call. | |
23253 | (mudflap_finish_file): Mark the mudflap static initializer as extra | |
23254 | high priority, to beat all C++ static constructors. | |
23255 | ||
23256 | 2004-07-15 Jeff Law <law@redhat.com> | |
23257 | ||
23258 | * loop.c (check_insn_for_givs): Restore check for code labels that was | |
23259 | accidentally deleted by a recent checkin. | |
23260 | ||
23261 | 2004-07-15 Nathan Sidwell <nathan@codesourcery.com> | |
23262 | ||
23263 | * vec.h (VEC_T_truncate): Allow truncation of an empty vector. | |
23264 | (VEC_T_quick_insert, VEC_T_ordered_remove): Fix sizeof(T) thinko. | |
23265 | ||
23266 | 2004-07-14 Richard Henderson <rth@redhat.com> | |
23267 | ||
23268 | * print-tree.c (print_node): Fix casts last change. | |
23269 | ||
23270 | 2004-07-15 Paul Brook <paul@codesourcery.com> | |
23271 | ||
23272 | * dwarf2out.c (dwarf2out_begin_prologue): Rename IA64_UNWIND_INFO | |
23273 | to TARGET_UNWIND_INFO. | |
23274 | * except.c (output_function_exception_table): Ditto. | |
23275 | * except.h: Ditto. | |
23276 | * opts.c (decode_options): Ditto. | |
23277 | * passes.c (rest_of_handle_final): Ditto. | |
23278 | * final.c (final_start_function): Ditto. | |
23279 | (final_scan_insn, final_scan_insn): Replace IA64_UNWIND_EMIT with | |
23280 | target hook. | |
23281 | * targhooks.h (default_unwind_emit): Declare. | |
23282 | * targhooks.c (default_unwind_emit): New function. | |
23283 | * target-def.h: Define and use TARGET_UNWIND_EMIT. | |
23284 | * target.h (struct gcc_target): Add unwind_emit. | |
23285 | * config/ia64/ia64.c (TARGET_UNWIND_EMIT): Define. | |
23286 | * config/ia64/ia64.h: Rename IA64_UNWIND_INFO to TARGET_UNWIND_INFO. | |
23287 | Remove IA64_UNWIND_EMIT. | |
23288 | * doc/tm.texi: Document TARGET_UNWIND_EMIT and TARGET_UNWIND_INFO. | |
23289 | ||
23290 | 2004-07-14 Richard Henderson <rth@redhat.com> | |
23291 | ||
23292 | * print-tree.c (print_node): Handle SSA_NAME. | |
23293 | ||
23294 | 2004-07-14 James E Wilson <wilson@specifixinc.com> | |
23295 | ||
23296 | PR target/16325 | |
23297 | * config/mips/mips.h (STARTING_FRAME_OFFSET): When flag_profile_value | |
23298 | and ! TARGET_64BIT, include REG_PARM_STACK_SPACE. | |
23299 | ||
23300 | 2004-07-15 Jakub Jelinek <jakub@redhat.com> | |
23301 | ||
23302 | * expr.c (expand_assignment): Reenable bitfield += optimizations. | |
23303 | Use alias set 0 for memory, do proper mode calculations and adjust | |
23304 | address for memories. | |
23305 | ||
23306 | 2004-07-14 Per Bothner <per@bothner.com> | |
23307 | ||
e8366202 | 23308 | * input.h: If USE_MAPPED_LOCATION, define separate expanded_location |
7a4515d7 | 23309 | structure with extra column field. |
e8366202 MS |
23310 | * tree.c (expand_location): Also fill in column field. |
23311 | * gengtype-lex.l: Ignore expanded_location typedef, sinze gengtype | |
7a4515d7 SB |
23312 | gets confused by the two conditionally-compiled definitions. |
23313 | ||
23314 | 2004-07-14 Eric Christopher <echristo@redhat.com> | |
23315 | ||
23316 | * calls.c (expand_call): Fix typo in comment. | |
23317 | ||
23318 | 2004-07-14 Steve Ellcey <sje@cup.hp.com> | |
23319 | ||
23320 | * config/ia64/ia64.c (ia64_expand_compare): Allow ORDERED | |
23321 | comparision of TFmode. | |
23322 | ||
23323 | 2004-07-14 Richard Henderson <rth@redhat.com> | |
23324 | ||
23325 | * config/alpha/alpha.c (alpha_gimplify_va_arg_1): Move indirect ... | |
23326 | (alpha_gimplify_va_arg): ... handling here. Use pass_by_reference. | |
23327 | * config/c4x/c4x.c (c4x_gimplify_va_arg_expr): Use pass_by_reference. | |
23328 | * config/i386/i386.c (ix86_gimplify_va_arg): Likewise. | |
23329 | * config/i860/i860.c (i860_gimplify_va_arg_expr): Likewise. | |
23330 | * config/ia64/ia64.c (ia64_gimplify_va_arg): Likewise. | |
23331 | * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Likewise. | |
23332 | * config/sh/sh.c (sh_gimplify_va_arg_expr): Likewise. | |
23333 | * config/xtensa/xtensa.c (xtensa_gimplify_va_arg_expr): Likewise. | |
23334 | ||
23335 | 2004-07-14 Mike Stump <mrs@apple.com> | |
23336 | ||
23337 | * config/darwin.h (WINT_TYPE): Define to be int to match | |
23338 | system header files. | |
23339 | ||
23340 | 2004-07-14 Bob Wilson <bob.wilson@acm.org> | |
23341 | ||
23342 | * config/xtensa/xtensa.c (function_arg_advance): Check for args | |
23343 | that must be passed in the stack. | |
23344 | (xtensa_gimplify_va_arg_expr): Skip special-case padding for small | |
23345 | arguments if the size is not a constant. | |
23346 | ||
23347 | 2004-07-14 Per Bothner <per@bothner.com> | |
23348 | ||
e8366202 | 23349 | * c-typeck.c (emit_side_effect_warnings): Use EXPR_HAS_LOCATION |
7a4515d7 SB |
23350 | instead of EXPR_LOCUS in a boolean context, which is always true |
23351 | if --enable-mapped-location. | |
e8366202 | 23352 | * stmt.c (warn_if_unused_value): Likewise. Also use EXPR_LOCATION. |
7a4515d7 SB |
23353 | |
23354 | 2004-07-14 Richard Henderson <rth@redhat.com> | |
23355 | ||
23356 | * dominance.c (struct dom_info): Add fake_exit_edge. | |
23357 | (init_dom_info): Allocate it. | |
23358 | (free_dom_info): Free it. | |
23359 | (calc_dfs_tree): Set it. Handle noreturn and infinite loops | |
23360 | in two passes. | |
23361 | (calc_idoms): Honor fake_exit_edge. | |
23362 | ||
23363 | 2004-07-13 Jason Merrill <jason@redhat.com> | |
23364 | ||
23365 | * tree-gimple.c (is_gimple_reg_rhs, is_gimple_mem_rhs): New fns. | |
23366 | (rhs_test_for): New fn. | |
23367 | (is_gimple_tmp_rhs): Rename from is_gimple_rhs. | |
23368 | * tree-gimple.h: Declare them. | |
23369 | * gimplify.c (gimplify_modify_expr): Use the new fns. | |
23370 | ||
23371 | 2004-07-14 Richard Henderson <rth@redhat.com> | |
23372 | ||
23373 | * config/arm/arm-protos.h (arm_va_arg): Remove. | |
23374 | * config/arm/arm.c (arm_va_arg): Remove. | |
23375 | (arm_init_expanders): Fix alignment of arg_pointer_rtx. | |
23376 | * config/arm/arm.h (EXPAND_BUILTIN_VA_ARG): Remove. | |
23377 | ||
23378 | 2004-07-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
23379 | ||
23380 | * pa.c (fix_range): New function to mark a range(s) of registers as | |
23381 | fixed registers. | |
23382 | (override_options): Call fix_range if the -mfixed-range option string | |
23383 | is not empty. | |
23384 | * pa.h (TARGET_OPTIONS): Add -mfixed-range option. | |
23385 | * doc/invoke.texi (-mfixed-range): Document new option. | |
23386 | ||
23387 | 2004-07-14 David Edelsohn <edelsohn@gnu.org> | |
23388 | ||
23389 | * config/rs6000/rs6000.c (function_arg_padding): Do not pad SFmode | |
23390 | for TARGET_64BIT. | |
23391 | (rs6000_gimplify_va_arg): Use size_int instead of build_int_2. | |
23392 | ||
23393 | 2004-07-14 Roger Sayle <roger@eyesopen.com> | |
23394 | ||
23395 | * expmed.c (expand_sdiv_pow2): New function to expand signed division | |
23396 | by a positive power of two, split out from expand_divmod. Provide | |
23397 | an alternate implementation when shifts are expensive. Lower the | |
23398 | threshold for using a branchless implementation to BRANCH_COST >= 2. | |
23399 | (expand_divmod): Call expand_sdiv_pow2 for suitable divisions. | |
23400 | ||
23401 | 2004-07-14 Paolo Bonzini <bonzini@gnu.org> | |
23402 | ||
23403 | * tree-dfa.c (make_rename_temp): *Really* work just | |
23404 | like create_tmp_var if called while outside SSA form. | |
23405 | ||
23406 | 2004-07-14 Ulrich Weigand <uweigand@de.ibm.com> | |
23407 | ||
23408 | * config/s390/s390.md ("udivsi3"): Ensure trap is generated | |
23409 | for division by zero. | |
23410 | ("umodsi3"): Likewise. | |
23411 | ||
23412 | 2004-07-14 Richard Sandiford <rsandifo@redhat.com> | |
23413 | ||
23414 | * config/mips/mips.c (mips_output_move): When generating mips16 code, | |
23415 | force loads of negative constants to be split. | |
23416 | * config/mips/mips.md (*movhi_mips16, *movqi_mips16): Likewise. | |
23417 | Generalize SImode li/neg splitter to cope with other modes. | |
23418 | ||
23419 | 2004-07-14 Paolo Bonzini <bonzini@gnu.org> | |
23420 | ||
23421 | * expmed.c: Remove more references to QUEUED in the comments. | |
23422 | * expr.c: Likewise. | |
23423 | ||
23424 | 2004-07-14 Richard Sandiford <rsandifo@redhat.com> | |
23425 | ||
23426 | Revert: | |
23427 | 2004-07-13 Richard Henderson <rth@redhat.com> | |
23428 | * config/mips/mips.c (mips_pass_by_reference): Handle mode sizes | |
23429 | correctly. | |
23430 | ||
23431 | 2004-07-14 Paolo Bonzini <bonzini@gnu.org> | |
23432 | ||
23433 | * tree-dfa.c (make_rename_temp): Work just like | |
23434 | create_tmp_var if called while outside SSA form. | |
23435 | ||
23436 | 2004-07-14 Paolo Bonzini <bonzini@gnu.org> | |
23437 | ||
23438 | * expr.c (enqueue_insn, finish_expr_for_function, | |
23439 | protect_from_queue, queued_subexp_p, mark_queue, | |
23440 | emit_insns_enqueued_after_mark, emit_queue, | |
23441 | expand_increment): Remove. | |
23442 | (store_constructor): Expand increment as an assignment. | |
23443 | (expand_expr_real_1 <case PREINCREMENT_EXPR, | |
23444 | case PREDECREMENT_EXPR, case POSTINCREMENT_EXPR, | |
23445 | case POSTDECREMENT_EXPR>): Abort. | |
23446 | * expr.h (QUEUED_VAR, QUEUED_INSN, QUEUED_COPY, | |
23447 | QUEUED_BODY, QUEUED_NEXT, finish_expr_for_function, | |
23448 | protect_from_queue, emit_queue, queued_subexp_p): Remove. | |
23449 | * function.h (pending_chain, x_pending_chain): Remove. | |
23450 | * rtl.def (QUEUED): Remove. | |
23451 | ||
23452 | * emit-rtl.c (copy_insn_1, copy_most_rtx, | |
23453 | set_used_flags, verify_rtx_sharing): Remove references to QUEUED. | |
23454 | * genattrtab.c (attr_copy_rtx, clear_struct_flag, | |
23455 | encode_units_mask): Likewise. | |
23456 | * local-alloc.c (equiv_init_varies_p): Likewise. | |
23457 | * rtl.c (copy_rtx): Likewise. | |
23458 | * rtlanal.c (rtx_unstable_p, rtx_varies_p): Likewise. | |
23459 | * simplify-rtx.c (simplify_gen_subreg): Likewise. | |
23460 | * config/mn10300/mn10300.c (legitimate_pic_operand_p): Likewise. | |
23461 | ||
23462 | * builtins.c (expand_builtin, expand_builtin_apply, | |
23463 | expand_builtin_mathfn, expand_builtin_mathfn_2, | |
23464 | expand_builtin_mathfn_3, expand_builtin_setjmp_setup): | |
23465 | Remove calls to emit_queue and protect_from_queue. | |
23466 | * calls.c (expand_call, precompute_arguments, | |
23467 | precompute_register_parameters, rtx_for_function_call, | |
23468 | store_one_arg): Likewise. | |
23469 | * dojump.c (do_compare_and_jump, do_jump): Likewise. | |
23470 | * explow.c (memory_address): Likewise. | |
23471 | * expmed.c (clear_by_pieces_1, clear_storage, | |
23472 | clear_storage_via_libcall, emit_group_load, | |
23473 | emit_group_store, emit_store_flag, | |
23474 | expand_expr_real_1, store_by_pieces, | |
23475 | store_constructor, store_expr, try_casesi, | |
23476 | try_tablejump): Likewise. | |
23477 | * function.c (expand_pending_sizes): Likewise. | |
23478 | * optabs.c (emit_cmp_and_jump_insns, | |
23479 | emit_conditional_add, emit_conditional_move, | |
23480 | expand_fix, expand_float, prepare_cmp_insn): Likewise. | |
23481 | * stmt.c (emit_case_bit_tests, | |
23482 | expand_asm_expr, expand_computed_goto, | |
23483 | expand_decl_init, expand_end_case_type, | |
23484 | expand_end_stmt_expr, expand_expr_stmt_value, | |
23485 | expand_return, expand_start_case, | |
23486 | optimize_tail_recursion): Likewise. | |
23487 | * config/c4x/c4x.c (c4x_expand_builtin): Likewise. | |
23488 | * config/s390/s390.c (s390_expand_cmpmem): Likewise. | |
23489 | ||
23490 | 2004-07-14 Ben Elliston <bje@au.ibm.com> | |
23491 | ||
23492 | * vec.h: Comment fix. | |
23493 | ||
23494 | 2004-07-13 Richard Henderson <rth@redhat.com> | |
23495 | ||
23496 | * target.h (struct gcc_target): Add calls.pass_by_reference. | |
23497 | * target-def.h (TARGET_PASS_BY_REFERENCE): New. | |
23498 | * function.c (pass_by_reference): Use the hook. | |
23499 | * system.h (FUNCTION_ARG_PASS_BY_REFERENCE): Poison. | |
23500 | * targhooks.c, targhooks.h (hook_pass_by_reference_false): New. | |
23501 | (hook_pass_by_reference_must_pass_in_stack): New. | |
23502 | * config/alpha/alpha.c (function_arg): Don't query pass-by-ref. | |
23503 | (alpha_pass_by_reference): New. | |
23504 | (TARGET_PASS_BY_REFERENCE): New. | |
23505 | * config/alpha/alpha.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. | |
23506 | * config/arc/arc.c (arc_pass_by_reference): New. | |
23507 | (TARGET_PASS_BY_REFERENCE): New. | |
23508 | * config/arc/arc.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. | |
23509 | (FUNCTION_ARG_CALLEE_COPIES): True. | |
23510 | * config/arm/arm-protos.h (arm_function_arg_pass_by_reference): Remove. | |
23511 | * config/arm/arm.c (TARGET_PASS_BY_REFERENCE): New. | |
23512 | (arm_pass_by_reference): Rename from arm_function_arg_pass_by_reference. | |
23513 | * config/arm/arm.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. | |
23514 | * config/c4x/c4x.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. | |
23515 | * config/cris/cris.c (cris_pass_by_reference): New. | |
23516 | (TARGET_PASS_BY_REFERENCE): New. | |
23517 | * config/cris/cris.h (FUNCTION_ARG): Don't query pass-by-ref. | |
23518 | (FUNCTION_INCOMING_ARG, FUNCTION_ARG_ADVANCE): Likewise. | |
23519 | (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. | |
23520 | * config/fr30/fr30.c (TARGET_PASS_BY_REFERENCE): New. | |
23521 | * config/fr30/fr30.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. | |
23522 | * config/frv/frv-protos.h (frv_function_arg_pass_by_reference): Kill. | |
23523 | * config/frv/frv.c (TARGET_PASS_BY_REFERENCE): New. | |
23524 | (frv_function_arg_pass_by_reference): Remove. | |
23525 | * config/frv/frv.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. | |
23526 | * config/i386/i386-protos.h (function_arg_pass_by_reference): Remove. | |
23527 | * config/i386/i386.c (TARGET_PASS_BY_REFERENCE): New. | |
23528 | (ix86_pass_by_reference): Rename from function_arg_pass_by_reference. | |
23529 | * config/i386/i386.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. | |
23530 | * config/ia64/ia64-protos.h (ia64_function_arg_pass_by_reference): Kill. | |
23531 | * config/ia64/ia64.c (TARGET_PASS_BY_REFERENCE): New. | |
23532 | (ia64_pass_by_reference): Rename from | |
23533 | ia64_function_arg_pass_by_reference. | |
23534 | * config/ia64/ia64.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. | |
23535 | * config/ip2k/ip2k.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. | |
23536 | * config/iq2000/iq2000-protos.h (function_arg_pass_by_reference): Kill. | |
23537 | * config/iq2000/iq2000.c (TARGET_PASS_BY_REFERENCE): New. | |
23538 | (iq2000_pass_by_reference): Rename from function_arg_pass_by_reference. | |
23539 | * config/iq2000/iq2000.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. | |
23540 | (FUNCTION_ARG_CALLEE_COPIES): Don't reference pass-by-ref. | |
23541 | * config/m32r/m32r-protos.h (m32r_pass_by_reference): Remove. | |
23542 | * config/m32r/m32r.c (TARGET_PASS_BY_REFERENCE): New. | |
23543 | (m32r_pass_by_reference): Adjust prototype. Make static. | |
23544 | Handle mode sizes correctly. | |
23545 | * config/m32r/m32r.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. | |
23546 | * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c | |
23547 | (m68hc11_function_arg_pass_by_reference): Remove. | |
23548 | * config/m68hc11/m68hc11.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. | |
23549 | (FUNCTION_ARG_CALLEE_COPIES): Don't reference pass-by-ref. | |
23550 | * config/mcore/mcore.c (TARGET_PASS_BY_REFERENCE): New. | |
23551 | * config/mcore/mcore.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. | |
23552 | * config/mips/mips-protos.h (function_arg_pass_by_reference): Remove. | |
23553 | * config/mips/mips.c (TARGET_PASS_BY_REFERENCE): New. | |
23554 | (mips_va_arg): Use pass_by_reference. | |
23555 | (mips_pass_by_reference): Rename from function_arg_pass_by_reference. | |
23556 | Handle mode sizes correctly. | |
23557 | * config/mips/mips.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. | |
23558 | (FUNCTION_ARG_CALLEE_COPIES): Don't reference pass-by-ref. | |
23559 | * config/mmix/mmix-protos.h (mmix_function_arg_pass_by_reference): Kill. | |
23560 | * config/mmix/mmix.c (TARGET_PASS_BY_REFERENCE): New. | |
23561 | (mmix_pass_by_reference): Rename from | |
23562 | mmix_function_arg_pass_by_reference. | |
23563 | * config/mmix/mmix.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. | |
23564 | (FUNCTION_ARG_CALLEE_COPIES): True. | |
23565 | * config/mn10300/mn10300.c (TARGET_PASS_BY_REFERENCE): New. | |
23566 | (mn10300_pass_by_reference): New. | |
23567 | * config/mn10300/mn10300.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. | |
23568 | (FUNCTION_ARG_CALLEE_COPIES): True. | |
23569 | * config/pa/pa.c (pa_pass_by_reference): New. | |
23570 | (TARGET_PASS_BY_REFERENCE): New. | |
23571 | * config/pa/pa.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. | |
23572 | (FUNCTION_ARG_CALLEE_COPIES): True. | |
23573 | * config/rs6000/rs6000-protos.h (function_arg_pass_by_reference): Kill. | |
23574 | * config/rs6000/rs6000.c (TARGET_PASS_BY_REFERENCE): New. | |
23575 | (rs6000_pass_by_reference): Rename from function_arg_pass_by_reference. | |
23576 | * config/rs6000/rs6000.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. | |
23577 | * config/s390/s390-protos.h (s390_function_arg_pass_by_reference): Kill. | |
23578 | * config/s390/s390.c (TARGET_PASS_BY_REFERENCE): New. | |
23579 | (s390_pass_by_reference): Rename from | |
23580 | s390_function_arg_pass_by_reference. | |
23581 | (s390_function_arg_advance): Don't query pass-by-ref. | |
23582 | (s390_function_arg): Likewise. | |
23583 | (s390_gimplify_va_arg): Use pass_by_reference. | |
23584 | (s390_call_saved_register_used): Likewise. | |
23585 | * config/s390/s390.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. | |
23586 | * config/sh/sh.c (TARGET_PASS_BY_REFERENCE): New. | |
23587 | (shcompact_byref, sh_pass_by_reference): New. | |
23588 | * config/sh/sh.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. | |
23589 | (SHCOMPACT_BYREF): Remove. | |
23590 | * config/sparc/sparc-protos.h (function_arg_pass_by_reference): Kill. | |
23591 | * config/sparc/sparc.c (TARGET_PASS_BY_REFERENCE): New. | |
23592 | (sparc_pass_by_reference): Rename from function_arg_pass_by_reference. | |
23593 | (sparc_gimplify_va_arg): Use pass_by_reference. | |
23594 | * config/sparc/sparc.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. | |
23595 | * config/stormy16/stormy16.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. | |
23596 | * config/v850/v850.c (TARGET_PASS_BY_REFERENCE): New. | |
23597 | (v850_pass_by_reference): New. | |
23598 | * config/v850/v850.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. | |
23599 | (FUNCTION_ARG_CALLEE_COPIES): True. | |
23600 | * doc/tm.texi (TARGET_PASS_BY_REFERENCE): Update from | |
23601 | FUNCTION_ARG_PASS_BY_REFERENCE docs. | |
23602 | ||
23603 | 2004-07-14 Richard Henderson <rth@redhat.com> | |
23604 | Richard Sandiford <rsandifo@redhat.com> | |
23605 | ||
23606 | * config/mips/mips-protos.h (mips_va_arg): Delete. | |
23607 | * config/mips/mips.h (EXPAND_BUILTIN_VA_ARG): Delete. | |
23608 | * config/mips/mips.c: Include tree-gimple.h. | |
23609 | (TARGET_GIMPLIFY_VA_ARG_EXPR): Define. | |
23610 | (mips_arg_info): Remove special handling of must_pass_in_stck args. | |
23611 | (mips_gimplify_va_arg_expr): Rewritten from mips_va_arg. | |
23612 | (function_arg_pass_by_reference): Return true if must_pass_in_stack. | |
23613 | ||
23614 | 2004-07-13 Bob Wilson <bob.wilson@acm.org> | |
23615 | ||
23616 | * config/xtensa/xtensa.c (xtensa_gimplify_va_arg_expr): Swap | |
23617 | arguments for COND_EXPR in big-endian adjustment code. | |
23618 | ||
23619 | 2004-07-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
23620 | ||
23621 | * pa-64.h (ARG_POINTER_REGNUM, STATIC_CHAIN_REGNUM): Delete. | |
23622 | * pa.h (ARG_POINTER_REGNUM, STATIC_CHAIN_REGNUM): Modify for hppa64. | |
23623 | * pa32-regs.h (REG_ALLOC_ORDER): Reorder caller-saved registers. | |
23624 | * pa64-regs.h (REG_ALLOC_ORDER): Likewise. | |
23625 | ||
23626 | 2004-07-13 Diego Novillo <dnovillo@redhat.com> | |
23627 | ||
23628 | PR tree-optimization/16443 | |
23629 | * tree-ssa-alias.c: Add more description for | |
23630 | CALL_CLOBBERED_VARS and ADDRESSABLE_VARS. | |
23631 | * tree-ssa-operands.c (get_asm_expr_operands): Re-order the | |
23632 | clobbering of call-clobbered and addressable variables. If | |
23633 | there are any before aliases have been computed, add them. | |
23634 | ||
23635 | 2004-07-13 Diego Novillo <dnovillo@redhat.com> | |
23636 | ||
23637 | * tree-optimize.c (execute_todo): Flush DUMP_FILE before | |
23638 | verification. | |
23639 | ||
23640 | 2004-07-13 Ulrich Weigand <uweigand@de.ibm.com> | |
23641 | ||
23642 | * config/s390/s390.c (s390_gimplify_va_arg): Use size_int instead | |
23643 | of build_int_2. Convert both operands of PLUS_EXPR and MULT_EXPR | |
23644 | to the same type. | |
23645 | ||
23646 | 2004-07-13 Per Bothner <per@bothner.com> | |
23647 | ||
e8366202 | 23648 | * collect2.c (main): Handle --no-demangle and --demangle flags. |
7a4515d7 SB |
23649 | |
23650 | 2004-07-13 Sebastian Pop <pop@cri.ensmp.fr> | |
23651 | ||
23652 | * Makefile.in (OBJS-common): Add tree-data-ref.o. | |
23653 | (tree-scalar-evolution.o): Add missing dependences on tree-pass.h flags.h. | |
23654 | (tree-data-ref.o): New rule. | |
23655 | * lambda.h: New file. | |
23656 | * tree-data-ref.c: New file. | |
23657 | * tree-data-ref.h: New file. | |
23658 | * tree.c (int_cst_value, tree_fold_gcd): New functions. | |
23659 | * tree.h (int_cst_value, tree_fold_gcd): Declared here. | |
23660 | ||
23661 | 2004-07-13 Eric Botcazou <ebotcazou@libertysurf.fr> | |
23662 | ||
23663 | PR target/13926 | |
23664 | * config/sparc/sparc-protos.h (output_ubranch): New prototype. | |
23665 | * config/sparc/sparc.c (output_ubranch): New function. | |
23666 | * config/sparc/sparc.md (jump pattern): Use it. | |
23667 | ||
23668 | 2004-07-13 Eric Botcazou <ebotcazou@libertysurf.fr> | |
23669 | ||
23670 | PR target/16494 | |
23671 | * config/sparc/sparc.c (output_cbranch): Properly guard | |
23672 | the code handling far branches with TARGET_V9. | |
23673 | * config/sparc/sparc.md (length attribute): Document the | |
23674 | side-effect of having a length greater or equal to 3. | |
23675 | ||
23676 | 2004-07-13 Eric Botcazou <ebotcazou@libertysurf.fr> | |
23677 | Lloyd Parkes <lloyd@must-have-coffee.gen.nz> | |
23678 | ||
23679 | PR target/15186 | |
23680 | * config/sparc/sol2-bi.h (LINK_ARCH64_SPEC_BASE): Pass | |
23681 | /usr/ucblib/sparcv9 as -R path when -compat-bsd is specified. | |
23682 | ||
23683 | 2004-07-13 Eric Botcazou <ebotcazou@libertysurf.fr> | |
23684 | Martin Sebor <sebor@roguewave.com> | |
23685 | ||
23686 | PR target/12602 | |
23687 | * doc/invoke.texi (SPARC options): Document -threads | |
23688 | and -pthreads on Solaris. | |
23689 | ||
23690 | 2004-07-13 Richard Henderson <rth@redhat.com> | |
23691 | ||
23692 | * builtins.c (std_gimplify_va_arg_expr): Handle types passed | |
23693 | by reference. | |
23694 | (ind_gimplify_va_arg_expr): Remove. | |
23695 | * tree.h (ind_gimplify_va_arg_expr): Remove. | |
23696 | * config/pa/pa.c (hppa_gimplify_va_arg_expr): Don't use it. | |
23697 | * config/mmix/mmix.c (mmix_function_arg_pass_by_reference): Allow | |
23698 | argsp to be null. | |
23699 | ||
23700 | * config/arc/arc.c (arc_gimplify_va_arg_expr): Remove. | |
23701 | (TARGET_GIMPLIFY_VA_ARG_EXPR): Remove. | |
23702 | * config/cris/cris.c, config/fr30/fr30.c, config/frv/frv.c, | |
23703 | config/iq2000/iq2000.c, config/m32r/m32r.c, config/mmix/mmix.c, | |
23704 | config/mn10300/mn10300.c, config/v850/v850.c: Similarly. | |
23705 | ||
23706 | 2004-07-13 Richard Henderson <rth@redhat.com> | |
23707 | ||
23708 | * function.c (pass_by_reference): New. | |
23709 | (assign_parm_find_data_types): Use it. | |
23710 | * calls.c (initialize_argument_information): Likewise. | |
23711 | (emit_library_call_value_1): Likewise. | |
23712 | * expr.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. | |
23713 | * function.h (pass_by_reference): Declare. | |
23714 | ||
23715 | 2004-07-13 Richard Henderson <rth@redhat.com> | |
23716 | ||
23717 | * target-def.h (TARGET_MUST_PASS_IN_STACK): New. | |
23718 | * target.h (struct gcc_target): Add calls.must_pass_in_stack. | |
23719 | * expr.h (MUST_PASS_IN_STACK): Remove. | |
23720 | * system.h (MUST_PASS_IN_STACK): Poison. | |
23721 | * tree.h (must_pass_in_stack_var_size): Declare. | |
23722 | (must_pass_in_stack_var_size_or_pad): Declare. | |
23723 | * calls.c (must_pass_in_stack_var_size): New. | |
23724 | (must_pass_in_stack_var_size_or_pad): Rename from | |
23725 | default_must_pass_in_stack. | |
23726 | * config/alpha/alpha.c (unicosmk_must_pass_in_stack): New. | |
23727 | (TARGET_MUST_PASS_IN_STACK): New. | |
23728 | * config/alpha/unicosmk.h (MUST_PASS_IN_STACK): Remove. | |
23729 | * config/fr30/fr30.c (fr30_must_pass_in_stack): New. | |
23730 | (TARGET_MUST_PASS_IN_STACK): New. | |
23731 | * config/fr30/fr30.h (MUST_PASS_IN_STACK): Remove. | |
23732 | * config/frv/frv.c (frv_must_pass_in_stack): New. | |
23733 | (TARGET_MUST_PASS_IN_STACK): New. | |
23734 | * config/frv/frv.h (MUST_PASS_IN_STACK): Remove. | |
23735 | * config/i386/i386-protos.h (ix86_must_pass_in_stack): Remove. | |
23736 | * config/i386/i386.c (TARGET_MUST_PASS_IN_STACK): New. | |
23737 | (ix86_must_pass_in_stack): Make static. | |
23738 | * config/i386/i386.h (MUST_PASS_IN_STACK): Remove. | |
23739 | * config/ia64/ia64.c (TARGET_MUST_PASS_IN_STACK): New. | |
23740 | * config/ia64/ia64.h (MUST_PASS_IN_STACK): Remove. | |
23741 | * config/m32r/m32r.c (TARGET_MUST_PASS_IN_STACK): New. | |
23742 | * config/m32r/m32r.h (MUST_PASS_IN_STACK): Remove. | |
23743 | * config/mcore/mcore-protos.h (mcore_must_pass_on_stack): Remove. | |
23744 | * config/mcore/mcore.c (TARGET_MUST_PASS_IN_STACK): New. | |
23745 | (mcore_must_pass_on_stack): Remove. | |
23746 | * config/mcore/mcore.h (MUST_PASS_IN_STACK): Remove. | |
23747 | * config/mips/mips.c (TARGET_MUST_PASS_IN_STACK): New. | |
23748 | * config/mips/mips.h (MUST_PASS_IN_STACK): Remove. | |
23749 | * config/pa/pa.c (TARGET_MUST_PASS_IN_STACK): New. | |
23750 | * config/pa/pa.h (MUST_PASS_IN_STACK): Remove. | |
23751 | * config/rs6000/aix.h (MUST_PASS_IN_STACK): Remove. | |
23752 | * config/rs6000/linux64.h (MUST_PASS_IN_STACK): Remove. | |
23753 | * config/rs6000/rs6000.c (rs6000_must_pass_in_stack): New. | |
23754 | (TARGET_MUST_PASS_IN_STACK): New. | |
23755 | * config/sh/sh.c (TARGET_MUST_PASS_IN_STACK): New. | |
23756 | * config/sh/sh.h (MUST_PASS_IN_STACK): Remove. | |
23757 | * config/sparc/sparc.c (TARGET_MUST_PASS_IN_STACK): New. | |
23758 | * config/sparc/sparc.h (MUST_PASS_IN_STACK): Remove. | |
23759 | * config/xtensa/xtensa.c (TARGET_MUST_PASS_IN_STACK): New. | |
23760 | * config/xtensa/xtensa.h (MUST_PASS_IN_STACK): Remove. | |
23761 | * doc/tm.texi (TARGET_MUST_PASS_IN_STACK): Update from | |
23762 | MUST_PASS_IN_STACK. | |
23763 | ||
23764 | * calls.c, function.c, config/alpha/alpha.c, config/alpha/alpha.h, | |
23765 | config/alpha/unicosmk.h, config/alpha/vms.h, config/c4x/c4x.c, | |
23766 | config/cris/cris.h, config/fr30/fr30.c, config/fr30/fr30.h, | |
23767 | config/frv/frv.c, config/i386/i386.c, config/iq2000/iq2000.c, | |
23768 | config/mcore/mcore.c, config/mcore/mcore.h, config/mips/mips.c, | |
23769 | config/mmix/mmix.c, config/mmix/mmix.h, config/rs6000/rs6000.c, | |
23770 | config/sh/sh.c, config/sh/sh.h, config/stormy16/stormy16.c, | |
23771 | config/xtensa/xtensa.c: Use target hook. | |
23772 | ||
23773 | 2004-07-13 Anthony Heading <aheading@jpmorgan.com> | |
23774 | ||
23775 | * configure.ac (gcc_cv_as_offsetable_lo10): Fix a typo. | |
23776 | * configure: Rebuilt. | |
23777 | ||
23778 | 2004-07-13 Richard Sandiford <rsandifo@redhat.com> | |
23779 | ||
23780 | * doc/invoke.texi: Remove documentation for MIPS -mrnames option. | |
23781 | * config/mips/mips.h (mips_reg_names): Don't declare. | |
23782 | (MASK_NAME_REGS): Delete. Shuffle other MASK_* values down. | |
23783 | (TARGET_NAME_REGS): Delete. | |
23784 | (TARGET_SWITCHES): Remove -mrnames. | |
23785 | (REGISTER_NAMES): Initialise with the old contents of mips_reg_names[]. | |
23786 | (ADDITIONAL_REGISTER_NAMES): Remove entries for names mentioned | |
23787 | in REGISTER_NAMES. | |
23788 | * config/mips/mips.c (mips_reg_names, mips_sw_reg_names): Delete. | |
23789 | (override_options): Remove handling of TARGET_NAME_REGS. | |
23790 | ||
23791 | 2004-07-13 Richard Sandiford <rsandifo@redhat.com> | |
23792 | ||
23793 | * config/mips/mips.h (TARGET_*): Boolify. | |
23794 | ||
23795 | 2004-07-12 Nick Clifton <nickc@redhat.com> | |
23796 | ||
23797 | * config.gcc: Add sh-*-symbianelf target. | |
23798 | * config/sh/sh.c: Add new target macros: | |
23799 | TARGET_ENCODE_SECTION_INFO, TARGET_STRIP_NAME_ENCODING, | |
23800 | TARGET_CXX_IMPORT_EXPORT_CLASS. | |
23801 | (sh_file_start): Create a definition of the .directive section. | |
23802 | (sh_attribute): Add dllimport and dllexport attributes. | |
23803 | * config/sh/symbian-pre.h: New file. | |
23804 | * config/sh/symbian-post.h: New file. | |
23805 | * config/sh/symbian.c: New file. Contains Symbian specific | |
23806 | functions. | |
23807 | * config/sh/sh-protos.h: Add prototypes for new functions | |
23808 | provided by symbian.c. | |
23809 | * config/sh/t-symbian: New file. | |
23810 | * doc/extend.texi: Document support for dllimport and dllexport | |
23811 | attributes by the sh-symbianelf target. | |
23812 | ||
23813 | 2004-07-12 James E Wilson <wilson@specifixinc.com> | |
23814 | ||
23815 | * Makefile.in (AR): Use @AR@ not ar. | |
23816 | (NM): New. | |
23817 | (AR_FOR_TARGET): Use $(AR) not ar for native. | |
23818 | (NM_FOR_TARGET): Use $(NM) not nm for native. | |
23819 | * configure.ac: Add AC_CHECK_PROG calls for NM and AR. | |
23820 | * configure: Regenerate. | |
23821 | ||
23822 | 2004-07-12 David S. Miller <davem@nuts.davemloft.net> | |
23823 | ||
23824 | * config/sparc/sparc.md (ashlsi3): Eliminate const 1 | |
23825 | special case. | |
23826 | (ashldi3_sp64): Likewise. | |
23827 | ||
23828 | 2004-07-12 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
23829 | ||
23830 | PR target/16477 | |
23831 | * pa.c (function_arg): Update comment. | |
23832 | * pa.h (BLOCK_REG_PADDING): Define. | |
23833 | ||
23834 | 2004-07-12 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> | |
23835 | ||
23836 | PR tree-optimization/16461 | |
23837 | * tree-tailcall.c (independent_of_stmt_p): Handle non-SSA name | |
23838 | arguments of phi nodes. | |
23839 | ||
23840 | 2004-07-12 Devang Patel <dpatel@apple.com> | |
23841 | ||
23842 | * doc/invoke.texi (Darwin Options): Document -gused and -gfull. | |
23843 | ||
23844 | 2004-07-12 Steve Ellcey <sje@cup.hp.com> | |
23845 | ||
23846 | * function.c (expand_function_start): Ensure r_save is in Pmode. | |
23847 | * calls.c (prepare_call_address): Ensure static_chain_value is | |
23848 | in Pmode. | |
23849 | * builtins.c (expand_builtin_nonlocal_goto): Ensure r_label and | |
23850 | r_save_area are in Pmode. | |
23851 | * config/ia64/ia64.c (ia64_initialize_trampoline): Ensure addr, | |
23852 | fnaddr, and static_chain are in Pmode. | |
23853 | ||
23854 | 2004-07-12 Vladimir Makarov <vmakarov@redhat.com> | |
23855 | ||
23856 | PR target/16445 | |
23857 | * config/ia64/ia64.c (bundling): Don't count ignored insns. | |
23858 | ||
23859 | 2004-07-12 Richard Henderson <rth@redhat.com> | |
23860 | ||
23861 | * target.h (struct gcc_target): Move gimplify_va_arg_expr | |
23862 | next to build_builtin_va_list. | |
23863 | * target-def.h (TARGET_GIMPLIFY_VA_ARG_EXPR): Update to match. | |
23864 | * builtins.c (gimplify_va_arg_expr): Likewise. | |
23865 | * gimplify.c (copy_if_shared_r): Likewise. | |
23866 | ||
23867 | 2004-07-12 Alexandre Oliva <aoliva@redhat.com> | |
23868 | ||
23869 | * passes.c (rest_of_decl_compilation): Don't defer call of | |
23870 | assemble_variable if its DECL_RTL is already set. | |
23871 | ||
23872 | 2004-07-12 Sebastian Pop <pop@cri.ensmp.fr> | |
23873 | ||
23874 | * cfgloop.h (struct loop): Add nb_iterations field. | |
23875 | (current_loops): Declare. | |
23876 | * tree-chrec.c (chrec_not_analyzed_yet, | |
23877 | chrec_dont_know, chrec_known, count_ev_in_wider_type, | |
23878 | chrec_contains_symbols_defined_in_loop): Remove the temporary | |
23879 | hooks. | |
23880 | * tree-flow-inline.h (loop_containing_stmt): New function. | |
23881 | * tree-scalar-evolution.c: Add implementation. | |
23882 | * tree-scalar-evolution.h: Add declarations. | |
23883 | ||
23884 | 2004-07-12 Vladimir Makarov <vmakarov@redhat.com> | |
23885 | ||
23886 | PR rtl-optimization/15921 | |
23887 | * Makefile.in (global.o): Add recog.h. | |
23888 | ||
23889 | * global.c (recog.h): Add the include-clause. | |
23890 | (bb_info): New member earlyclobber. | |
23891 | (allocate_bb_info, free_bb_info): Initialize/finish the new | |
23892 | member. | |
23893 | (earlyclobber_regclass, earlyclobber_regclass_length): The new | |
23894 | global variables. | |
23895 | (check_earlyclobber, regclass_intersect, | |
23896 | mark_reg_use_for_earlyclobber, mark_reg_use_for_earlyclobber_1): | |
23897 | New functions. | |
23898 | (calculate_local_reg_bb_info): Calculate value of earlyclobber. | |
23899 | (make_accurate_live_analysis): Modify pavin. | |
23900 | ||
23901 | 2004-07-12 Diego Novillo <dnovillo@redhat.com> | |
23902 | ||
23903 | * tree-cfg.c (find_taken_edge): Statically compute the truth | |
23904 | value of a predicate comparing an SSA_NAME to itself. | |
23905 | ||
23906 | 2004-07-12 Roger Sayle <roger@eyesopen.com> | |
23907 | ||
23908 | * config/rs6000/rs6000.c (rs6000_rtx_costs): Indicate that the | |
23909 | rs6000 doesn't have shift-and-add or shift-and-sub instructions | |
23910 | by returning the cost of a multiplication plus an addition. | |
23911 | ||
23912 | 2004-07-12 Paolo Bonzini <bonzini@gnu.org> | |
23913 | ||
23914 | PR tree-optimization/14107 | |
23915 | * gimplify.c (gimplify_return_expr): Accept a | |
23916 | RETURN_EXPR with an error argument. | |
23917 | * tree-optimize.c (init_tree_optimization_passes): | |
23918 | Run pass_warn_function_return at -O0. | |
23919 | ||
23920 | 2004-07-12 Roger Sayle <roger@eyesopen.com> | |
23921 | ||
23922 | * doc/invoke.texi: Correct -fasynchronous-unwind-tables option | |
23923 | index entry. | |
23924 | ||
23925 | 2004-07-12 Richard Sandiford <rsandifo@redhat.com> | |
23926 | ||
23927 | * config/mips/mips.c (mips_use_dfa_pipeline_interface): Delete. | |
23928 | (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define to hook_int_void_1. | |
23929 | * config/mips/3000.md: Add copyright notice. Remove automota and | |
23930 | function units; use generic ones instead. Only define reservations | |
23931 | for things that are different from generic.md. Extend each clause | |
23932 | to include r3900. | |
23933 | * config/mips/{4000,4100,4300,4600,5000,6000,generic}.md: New files. | |
23934 | * config/mips/mips.md: Include them. Remove define_function_units. | |
23935 | (alu, imuldiv): New automata and units. | |
23936 | ||
23937 | 2004-07-12 Ben Elliston <bje@au.ibm.com> | |
23938 | ||
23939 | * doc/invoke.texi (Optimize Options): Document -frename-registers | |
23940 | not being enabled by default at -O3. | |
23941 | ||
23942 | 2004-07-11 Roger Sayle <roger@eyesopen.com> | |
23943 | ||
23944 | * fold-const.c (fold) <PLUS_EXPR>: Canonicalize X + -C as X - C for | |
23945 | floating point additions, to keep real immediate constant positive. | |
e8366202 | 23946 | <MINUS_EXPR>: For floating point subtractions, only transform X - -C |
7a4515d7 SB |
23947 | into X + C, and leave positive real constants as X - C. |
23948 | ||
23949 | 2004-07-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
23950 | ||
23951 | * pa.c (hppa_gimplify_va_arg_expr): Remove comment. | |
23952 | ||
23953 | 2004-07-11 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> | |
23954 | ||
23955 | PR tree-optimization/15654 | |
23956 | * tree-tailcall.c (eliminate_tail_call): Remove unreachable code. | |
23957 | ||
23958 | 2004-07-11 Roger Sayle <roger@eyesopen.com> | |
23959 | ||
23960 | * builtins.c (fold_builtin_fputs): Don't bother converting the | |
23961 | return type to integer_type_node, as we've already checked that | |
23962 | the result will be ignored. | |
23963 | ||
23964 | * tree-eh.c (tree_could_trap_p): Add support for -ftrapv such | |
23965 | that signed addition, subtraction, multiplication, division, | |
23966 | remainder, negation and absolute value may potentially trap. | |
23967 | ||
23968 | * fold-const.c (fold_ignored_result): New function to strip | |
23969 | non-side-effecting tree nodes from an expression whose result | |
23970 | is ignored. | |
23971 | (fold_convert): Call fold_ignored_result when casting a value | |
23972 | to VOID_TYPE. | |
e8366202 | 23973 | (omit_one_operand): Call fold_ignored_result on the "omitted" |
7a4515d7 SB |
23974 | operand when building a COMPOUND_EXPR. |
23975 | (pedantic_omit_one_operand): Likewise. | |
23976 | * tree.h (fold_ignored_result): Prototype here. | |
23977 | * tree-ssa-ccp.c (ccp_fold_builtin): Call fold_ignored_result | |
23978 | when we're going to ignore the result. | |
23979 | ||
23980 | 2004-07-11 Richard Henderson <rth@redhat.com> | |
23981 | ||
23982 | PR tree-opt/16383 | |
23983 | * tree-ssa-ccp.c (fold_stmt_r): Split out... | |
23984 | * tree.c (fields_compatible_p, find_compatible_field): ... new. | |
23985 | * tree.h (fields_compatible_p, find_compatible_field): Declare. | |
23986 | * tree-sra.c (sra_hash_tree): Hash fields by offset. | |
23987 | (sra_elt_eq): Use fields_compatible_p. | |
23988 | (generate_one_element_ref): Use find_compatible_field. | |
23989 | ||
23990 | 2004-07-11 Richard Henderson <rth@redhat.com> | |
23991 | ||
23992 | PR tree-opt/16422 | |
23993 | * tree-sra.c (generate_one_element_init): New. | |
23994 | (generate_element_init): Use it. | |
23995 | (scalarize_init): Push/pop gimplify context around it. | |
23996 | (find_new_referenced_vars_1, find_new_referenced_vars): New. | |
23997 | * gimplify.c (gimplify_expr): Allow SSA_NAME. | |
23998 | ||
23999 | 2004-07-11 Roger Sayle <roger@eyesopen.com> | |
24000 | ||
24001 | * rtlanal.c (insn_rtx_cost): New function, moved and renamed from | |
24002 | combine.c's combine_insn_cost. | |
24003 | * rtl.h (insn_rtx_cost): Prototype here. | |
24004 | * combine.c (combine_insn_cost): Delete function. | |
24005 | (combine_validate_cost): Update callers of combine_insn_cost to | |
24006 | call insn_rtx_cost instead. | |
24007 | (combine_instructions): Likewise. Use NONJUMP_INSN_P to avoid | |
24008 | requesting the rtx_cost of call and/or jump instructions. | |
24009 | ||
24010 | * ifcvt.c (total_bb_rtx_cost): Use insn_rtx_cost instead of calling | |
24011 | rtx_cost directly. Don't request/use the cost of call or jump | |
24012 | instructions. Return -1 if the cost of any instruction can't be | |
24013 | determined (or the BB contains a function call). | |
24014 | (find_if_case_1): Abort transformation if total_bb_rtx_cost returns | |
24015 | -1 (i.e. can't determine the cost of any instruction or the basic | |
24016 | block contains a subroutine call). | |
24017 | (find_if_case_2): Likewise. | |
24018 | ||
24019 | 2004-07-11 Roger Sayle <roger@eyesopen.com> | |
24020 | ||
24021 | * rs6000.c (struct processor_costs): Change semantics of fields to | |
24022 | include the COST_N_INSNS scaling, and update all initializers. | |
24023 | (rs6000_rtx_costs): Don't use COSTS_N_INSNS on rs6000_cost fields. | |
24024 | Use COSTS_N_INSNS(1) for NOT, SIGN_EXTEND, ZERO_EXTEND and COMPARE. | |
24025 | Use rs6000_cost->fp for both FLOAT_TRUNCATE and UNSPEC_FRSP. When | |
24026 | optimizing for size, use COSTS_N_INSNS(1) for CALL and IF_THEN_ELSE. | |
24027 | ||
24028 | 2004-07-11 Joseph S. Myers <jsm@polyomino.org.uk> | |
24029 | ||
24030 | * LANGUAGES: Remove obsolete information. | |
24031 | ||
24032 | 2004-07-11 Ulrich Weigand <uweigand@de.ibm.com> | |
24033 | ||
24034 | * config/s390/linux.h (MD_FALLBACK_FRAME_STATE_FOR): For SIGSEGV and | |
24035 | SIGBUS signal frames, the PSW address points *to* the faulting | |
24036 | instruction, not after it. | |
24037 | ||
24038 | 2004-07-11 Ulrich Weigand <uweigand@de.ibm.com> | |
24039 | ||
24040 | * config/s390/s390.c (legitimize_tls_address): Handle constant offsets | |
24041 | added to TLS symbol addresses. | |
24042 | ||
24043 | 2004-07-11 Richard Henderson <rth@redhat.com> | |
24044 | ||
24045 | * expmed.c (init_expmed): Use stack-local structures for | |
24046 | temporary rtl. Don't recognize shifts. | |
24047 | ||
24048 | 2004-07-11 Richard Henderson <rth@redhat.com> | |
24049 | ||
24050 | * expr.c (store_expr): Don't fiddle subreg promotion for types | |
24051 | with precision smaller than the mode. | |
24052 | ||
24053 | 2004-07-11 Joseph S. Myers <jsm@polyomino.org.uk> | |
24054 | ||
24055 | * tree.h (all_types_permanent): Remove. | |
24056 | ||
24057 | 2004-07-11 Joseph S. Myers <jsm@polyomino.org.uk> | |
24058 | ||
24059 | * langhooks.h (estimate_num_insns, pushlevel, poplevel, set_block, | |
24060 | maybe_build_cleanup, update_decl_after_saving): Remove hooks. | |
24061 | * langhooks.c (lhd_clear_binding_stack): Remove. | |
24062 | * langhooks-def.h (lhd_clear_binding_stack, | |
24063 | LANG_HOOKS_MAYBE_BUILD_CLEANUP, | |
24064 | LANG_HOOKS_UPDATE_DECL_AFTER_SAVING, | |
24065 | LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS, LANG_HOOKS_PUSHLEVEL, | |
24066 | LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK): Remove. | |
24067 | (LANG_HOOKS_CLEAR_BINDING_STACK): Define to lhd_do_nothing. | |
24068 | * system.h (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS, | |
24069 | LANG_HOOKS_PUSHLEVEL, LANG_HOOKS_SET_BLOCK, | |
24070 | LANG_HOOKS_MAYBE_BUILD_CLEANUP, | |
24071 | LANG_HOOKS_UPDATE_DECL_AFTER_SAVING, LANG_HOOKS_POPLEVEL): Poison. | |
24072 | * tree.h (poplevel): Don't declare. | |
24073 | * c-lang.c (LANG_HOOKS_CLEAR_BINDING_STACK, LANG_HOOKS_PUSHLEVEL, | |
24074 | LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK): Remove. | |
24075 | * objc/objc-lang.c (LANG_HOOKS_CLEAR_BINDING_STACK, | |
24076 | LANG_HOOKS_PUSHLEVEL, LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK): | |
24077 | Remove. | |
24078 | ||
24079 | 2004-07-11 Joseph S. Myers <jsm@polyomino.org.uk> | |
24080 | ||
24081 | PR tree-optimization/16437 | |
24082 | * c-common.c (shorten_compare): Don't mark result of conversion to | |
24083 | narrower signed type as overflowing. | |
24084 | * fold-const.c (decode_field_reference): Determine whether | |
24085 | signedness comes from outer type using precision rather than size. | |
24086 | ||
24087 | 2004-07-11 Phil Edwards <phil@codesourcery.com> | |
24088 | ||
e8366202 | 24089 | * configure.ac: Alphabetize --enable-checking list, add |
7a4515d7 | 24090 | missing valgrind entry. |
e8366202 | 24091 | * configure: Regenerate. |
7a4515d7 SB |
24092 | |
24093 | 2004-07-11 Phil Edwards <phil@codesourcery.com> | |
24094 | ||
e8366202 | 24095 | * doc/install.texi (Testing): Fix syntax in "make check" example. |
7a4515d7 SB |
24096 | |
24097 | 2004-07-10 James E Wilson <wilson@specifixinc.com> | |
24098 | ||
24099 | * config/gofast.h (gofast_maybe_init_libfuncs): Use SImode for litodp. | |
24100 | ||
24101 | 2004-07-10 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> | |
24102 | ||
24103 | PR rtl-optimization/16001 | |
24104 | * loop-iv.c (iv_number_of_iterations): Prevent copy propagation in | |
24105 | niter_expr. | |
24106 | ||
24107 | 2004-07-10 Geoffrey Keating <geoffk@apple.com> | |
24108 | ||
24109 | * config/darwin.h (LINK_COMMAND_SPEC): Don't call c++filt. | |
24110 | ||
24111 | 2004-07-10 Steve Kargl <sgk@troutmask.apl.washington.edu> | |
24112 | James Morrison <phython@gcc.gnu.org> | |
24113 | ||
24114 | * doc/contrib.texi (Contributors): Add gfortran contributors and | |
24115 | fix a couple of typos. | |
24116 | ||
24117 | 2004-07-10 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> | |
24118 | ||
24119 | PR rtl-optimization/15387 | |
24120 | * calls.c (check_sibcall_argument_overlap_1): Handle pointers | |
24121 | to incoming args space correctly. | |
24122 | ||
24123 | 2004-07-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
24124 | ||
24125 | * pa.c (output_indirect_call): Only use %r2 as the link register in | |
24126 | indirect calls with the long PA 2.0 pc-relative branch. | |
24127 | ||
24128 | 2004-07-10 Daniel Jacobowitz <dan@debian.org> | |
24129 | ||
24130 | * config/i386/i386.c (override_options): Pick a 64-bit CPU | |
24131 | for the default tuning if TARGET_64BIT. | |
24132 | ||
24133 | 2004-07-10 Richard Henderson <rth@redhat.com> | |
24134 | ||
24135 | * builtins.c (std_gimplify_va_arg_expr): Widen align/boundary | |
24136 | to HOST_WIDE_INT. Fold pad-args-down arithmetic. | |
24137 | ||
24138 | 2004-07-10 Jakub Jelinek <jakub@redhat.com> | |
24139 | ||
24140 | * expr.h (store_bit_field, extract_bit_field): Remove last argument. | |
24141 | * expmed.c (store_bit_field, extract_bit_field): Remove last | |
24142 | argument. | |
24143 | * builtins.c (expand_builtin_signbit): Adjust callers. | |
24144 | * optabs.c (expand_vector_binop, expand_vector_unop): Likewise. | |
24145 | * calls.c (store_unaligned_arguments_into_pseudos): Likewise. | |
24146 | * ifcvt.c (noce_emit_move_insn): Likewise. | |
24147 | * stmt.c (expand_return): Likewise. | |
24148 | * expr.c (emit_group_load, emit_group_store, copy_blkmode_from_reg, | |
24149 | store_field, expand_expr_real_1): Likewise. | |
24150 | ||
24151 | 2004-07-10 Richard Henderson <rth@redhat.com> | |
24152 | ||
24153 | * builtins.c (std_gimplify_va_arg_expr): Fix borked BIT_AND_EXPR. | |
24154 | ||
24155 | 2004-07-09 Mike Stump <mrs@apple.com> | |
24156 | ||
24157 | * config/darwin.c (no_dead_strip): Add. | |
24158 | (HAVE_DEAD_STRIP): Add. | |
24159 | (darwin_emit_unwind_label): Ensure that we don't dead code strip | |
24160 | the .eh label. | |
24161 | ||
24162 | 2004-07-09 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> | |
24163 | ||
24164 | * tree-ssa-loop-im.c: New file. | |
24165 | * Makefile.in (tree-ssa-loop-im.o): Add. | |
24166 | * cfgloop.c (superloop_at_depth): New function. | |
24167 | * cfgloop.h (superloop_at_depth): Declare. | |
24168 | * common.opt (ftree-lim): New flag. | |
24169 | * expr.c (array_ref_up_bound): New function. | |
24170 | * params.def (PARAM_LIM_EXPENSIVE): New parameter. | |
24171 | * timevar.def (TV_LIM): New timevar. | |
24172 | * tree-dfa.c (compute_immediate_uses): Respect TDFA_USE flags when | |
24173 | computing immediate uses of a phi node. | |
24174 | * tree-flow.h (struct tree_ann_common_d): Add aux field. | |
24175 | (loop_commit_inserts, for_each_index, tree_ssa_lim): Declare. | |
24176 | * tree-optimize.c (init_tree_optimization_passes): Add pass_lim. | |
24177 | * tree-pass.h (pass_lim): Declare. | |
24178 | * tree-ssa-loop.c (tree_ssa_loop_im, gate_tree_ssa_loop_im): New | |
24179 | functions. | |
24180 | (pass_lim): New pass structure. | |
24181 | * tree-eh.c (tree_could_trap_p): Handle ARRAY_REFs correctly. | |
24182 | * tree.c (in_array_bounds_p): New function. | |
24183 | * tree.h (TREE_THIS_NOTRAP): Define also for ARRAY_REFs. | |
24184 | (in_array_bounds_p, array_ref_up_bound): Declare. | |
24185 | * doc/invoke.texi (-ftree-lim, --param lim-expensive): Document. | |
24186 | * doc/passes.texi (tree-ssa-loop-im.c): Document. | |
24187 | ||
24188 | 2004-07-09 Richard Henderson <rth@redhat.com> | |
24189 | ||
24190 | * builtins.c (expand_builtin_stpcpy): Don't modify len. | |
24191 | ||
24192 | * tree-ssa-ccp.c (ccp_fold_builtin): Strip conversion exprs | |
24193 | with prejudice. | |
24194 | ||
24195 | 2004-07-10 Kelley Cook <kcook@gcc.gnu.org> | |
24196 | ||
24197 | * flags.h: Delete redundant prototypes that are being generated | |
24198 | in options.h from common.opt. | |
24199 | * common.opt: Add in the expository comments formerly in flags.h. | |
24200 | ||
24201 | 2004-07-09 Jan Beulich <jbeulich@novell.com> | |
24202 | ||
24203 | * config/i386/i386.c (init_cumulative_args): Set mmx/sse registers | |
24204 | available for use only when TARGET_MMX/_SSE is set, and check for | |
24205 | variable argument function if any register count is non-zero. | |
24206 | (function_arg): Correctly suppress repeated warnings for passing SSE | |
24207 | vectors are arguments without SSE enabled. | |
24208 | (ix86_function_arg_boundary): Without SSE enabled, the use of what | |
24209 | would be SSE register modes does no longer influence the alignment. | |
24210 | ||
24211 | 2004-07-09 Richard Henderson <rth@redhat.com> | |
24212 | ||
24213 | * builtins.c (std_gimplify_va_arg_expr): Deny ARGS_GROW_DOWNWARD. | |
24214 | Always align upward to arg boundary. Use size_in_bytes/round_up. | |
24215 | Maintain type-correctness of constants. | |
24216 | * stor-layout.c (round_up, round_down): Special-case powers of 2. | |
24217 | ||
24218 | 2004-07-09 David S. Miller <davem@nuts.davemloft.net> | |
24219 | ||
24220 | * config/sparc/sparc.c (*_costs): Scale instruction costs | |
24221 | by COSTS_N_INSNS. | |
24222 | (sparc_rtx_costs): Adjust as appropriate. | |
24223 | ||
24224 | 2004-07-09 Jan Beulich <jbeulich@novell.com> | |
24225 | ||
24226 | * config/i386/mm3dnow.h: New. | |
24227 | * config.gcc: Add mm3dnow.h to extra_headers for i?86 and x86-64. | |
24228 | ||
24229 | 2004-07-09 Richard Henderson <rth@redhat.com> | |
24230 | ||
24231 | * simplify-rtx.c (simplify_const_relational_operation): Only | |
24232 | look at bounds of scalar integers. | |
24233 | ||
24234 | 2004-07-09 Jan Beulich <jbeulich@novell.com> | |
24235 | ||
24236 | * config/i386/i386.md (sse2_clflush): Use correct operand for clflush. | |
24237 | ||
24238 | 2004-07-09 Andrew Pinski <apinski@apple.com> | |
24239 | ||
24240 | * objc/objc-act.c (build_module_descriptor): Mark UOBJC_MODULES_decl as | |
24241 | always referenced. | |
24242 | (synth_forward_declarations): Likewise for UOBJC_CLASS_decl and | |
24243 | UOBJC_METACLASS_decl. | |
24244 | ||
24245 | 2004-07-09 James E Wilson <wilson@specifixinc.com> | |
24246 | ||
24247 | PR target/16364 | |
24248 | * config/ia64/ia64.c (ia64_function_arg): For a single element HFA, | |
24249 | do return a parallel if hfa_mode == XFmode and mode == TImode. | |
24250 | ||
24251 | 2004-07-09 Jan Beulich <jbeulich@novell.com> | |
24252 | ||
24253 | * c-typeck.c (build_unary_op): include VECTOR_TYPE in set of codes | |
24254 | permissible for unary plus. | |
24255 | ||
24256 | 2004-07-09 Jan Beulich <jbeulich@novell.com> | |
24257 | ||
24258 | * builtin-types.def (BT_UINT): Rename from BT_UNSIGNED. | |
24259 | (BT_FN_UINT): Rename from BT_FN_UNSIGNED. | |
24260 | (BT_FN_PTR_UINT): Rename from BT_FN_PTR_UNSIGNED. | |
24261 | (BT_ULONG, BT_ULONGLONG, BT_UINTMAX, BT_FN_INT_UINT, BT_FN_INT_ULONG, | |
24262 | BT_FN_INT_ULONGLONG, BT_FN_INT_INTMAX, BT_FN_INT_UINTMAX): New. | |
24263 | * builtins.def (BUILTIN_CLZxxx, BUILTIN_CTXxxx, BUILTIN_PARITYxxx, | |
24264 | BUILTIN_POPCOUNTxxx): Arguments are unsigned. | |
24265 | (BUILTIN_xxxIMAX): New. | |
24266 | * builtins.c (expand_builtin): Handle BUILT_IN_FFSIMAX, | |
24267 | BUILT_IN_CLZIMAX, BUILT_IN_CTZIMAX, BUILT_IN_POPCOUNIMAX, and | |
24268 | BUILT_IN_PARITYIMAX. | |
24269 | ||
24270 | 2004-07-09 David S. Miller <davem@nuts.davemloft.net> | |
24271 | ||
24272 | * config/sparc/sparc.h (processor_costs): Define. | |
24273 | (sparc_costs): Declare. | |
24274 | * config/sparc/sparc.c (cypress_costs, supersparc_costs, | |
24275 | hypersparc_costs, sparclet_costs, ultrasparc_costs, | |
24276 | ultrasparc3_costs): New. | |
24277 | (sparc_override_options): Set sparc_costs as appropriate. | |
24278 | (sparc_rtx_costs): Use sparc_costs instead of messy | |
24279 | conditionals. | |
24280 | ||
24281 | 2004-07-09 Steven Bosscher <stevenb@suse.de> | |
24282 | ||
24283 | * doc/md.texi (Processor pipeline description): Mention that | |
24284 | the old pipeline description is deprecated. | |
24285 | ||
24286 | * config/rs6000/7450.md (automaton ppc7450): Split up, move | |
24287 | mciu_7450 function unit to... | |
24288 | (automaton ppc7450mciu): ...new automaton. | |
24289 | ||
24290 | * haifa-sched.c (insert_schedule_bubbles_p): Remove. | |
24291 | (schedule_block): Don't consider inserting bubbles. | |
24292 | (sched_init): Don't initialize DFA bubbles. | |
24293 | * target-def.h (TARGET_SCHED_INIT_DFA_BUBBLES, | |
24294 | TARGET_SCHED_DFA_BUBBLE): Remove. | |
24295 | * target.h (init_dfa_bubbles, dfa_bubble): Remove hooks. | |
24296 | * doc/tm.texi (TARGET_SCHED_INIT_DFA_BUBBLES, | |
24297 | TARGET_SCHED_DFA_BUBBLE): Remove documentation. | |
24298 | ||
24299 | * stmt.c (conditional_context): Remove prototype. | |
24300 | * tree.h (conditional_context): Remove. | |
24301 | * tree-cfg.c (pre_insert_on_edge): Remove. | |
24302 | ||
24303 | * c-common.h (c_expand_asm_operands): Remove prototype. | |
24304 | * c-typeck.c (c_expand_asm_operands): Remove. | |
24305 | ||
24306 | 2004-07-09 Jan Beulich <jbeulich@novell.com> | |
24307 | ||
24308 | * config/i386/i386.c (classify_argument): Treat V1xx modes the same as | |
24309 | their base modes. CTImode, TCmode, and XCmode must be passed in memory. | |
24310 | TFmode (__float128) must be is an SSE/SSEUP pair. V2SImode, V4HImode, | |
24311 | and V8QI are class SSE. All sufficiently small remaining vector modes | |
24312 | must be passed in one or two integer registers. | |
24313 | (ix86_libcall_value): TFmode must be returned in xmm0, XCmode must be | |
24314 | returned in memory. | |
24315 | (bdesc_2arg, ix86_init_mmx_sse_builtins): __builtin_ia32_pmuludq and | |
24316 | __builtin_ia32_pmuludq128 have non-uniform argument and return types | |
24317 | and must thus be handled explicitly. | |
24318 | * config/i386/i386.md (*movdi_1_rex64): Add cases for moving between | |
24319 | MMX and XMM regs. | |
24320 | (movv8qi_internal, movv4hi_internal, movv2si_internal, | |
24321 | movv2sf_internal): Permit moving between MMX and XMM registers (since | |
24322 | MMX areguments and return values are passed in XMM registers). | |
24323 | (sse2_umulsidi3): Correct type and mode. | |
24324 | ||
24325 | 2004-07-09 Richard Henderson <rth@redhat.com> | |
24326 | ||
24327 | * tree-cfg.c (dump_cfg_stats): Fix 64-bit format mismatch errors. | |
24328 | ||
24329 | 2004-07-09 Eric Christopher <echristo@redhat.com> | |
24330 | ||
24331 | * config/rs6000/40x.md: Split into two automatons. | |
24332 | ||
24333 | 2004-07-09 Zack Weinberg <zack@codesourcery.com> | |
24334 | Andrew Pinski <apinski@apple.com> | |
24335 | ||
24336 | * c-opts.c (c_common_post_options): Force unit-at-a-time mode | |
24337 | on when we have more than one input file. | |
24338 | (c_common_parse_file): Restore loop over all input files. | |
24339 | Clarify diagnostic for -dy when YYDEBUG wasn't defined. | |
24340 | ||
24341 | * c-decl.c (set_type_context): New function. | |
24342 | (pop_scope): Use it to set context of types. When we | |
24343 | encounter a TYPE_DECL, set the context of the attached type too. | |
24344 | (pop_file_scope): Don't call cpp_undef_all here. | |
24345 | (diagnose_mismatched_decls): Do not complain about a second | |
24346 | definition of an 'extern inline' function if it's not in the | |
24347 | same translation unit. Do not complain about inline | |
24348 | declaration after use if the use was in a different | |
24349 | translation unit. | |
24350 | (merge_decls): Don't clobber olddecl's DECL_CONTEXT. | |
24351 | (pushdecl): Do not put DECL_EXTERNAL, !TREE_PUBLIC decls in | |
24352 | the external scope. | |
24353 | (pushdecl_top_level): Likewise. | |
24354 | (grokdeclarator): Clarify what is going on with setting | |
24355 | DECL_EXTERNAL on function types, a little. | |
24356 | (c_write_global_declarations): Don't do anything if | |
24357 | -fsyntax-only or errors have been encountered. | |
24358 | ||
24359 | 2004-07-09 Zack Weinberg <zack@codesourcery.com> | |
24360 | ||
24361 | * vec.c, vec.h (vec_assert_fail): Use unsigned int for LINE argument. | |
24362 | ||
24363 | 2004-07-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
24364 | ||
24365 | PR target/16459 | |
24366 | * pa.c (output_indirect_call): Use %r2 as the link register when | |
24367 | calling $$dyncall with a pc-relative branch. | |
24368 | ||
24369 | 2004-07-08 Gerald Pfeifer <gerald@pfeifer.com> | |
24370 | ||
24371 | * doc/install.texi (Binaries): Mention OpenPKG. | |
24372 | ||
24373 | 2004-07-09 Diego Novillo <dnovillo@redhat.com> | |
24374 | ||
24375 | Fix PR tree-optimization/15555 | |
24376 | * tree-dfa.c (dump_variable): If the variable is a pointer | |
24377 | SSA_NAME, also dump its points-to information. | |
24378 | * tree-flow.h (struct ptr_info_def): Add field | |
24379 | is_dereferenced. | |
24380 | (dump_points_to_info_for): Declare. | |
24381 | (debug_points_to_info_for): Declare. | |
24382 | * tree-optimize.c (init_tree_optimization_passes): Add a | |
24383 | second alias analysis pass after DOM2. | |
24384 | Move pass_del_pta to a later spot. | |
24385 | * tree-ssa-alias.c (compute_points_to_and_addr_escape): Do not | |
24386 | create a name tags when we find a dereferenced pointer. Just | |
24387 | mark the pointer dereferenced. | |
24388 | (collect_points_to_info_for): Move code to clear points-to | |
24389 | information to create_name_tags. | |
24390 | (create_name_tags): New function. | |
24391 | (compute_flow_sensitive_aliasing): Call it. | |
24392 | (setup_pointers_and_addressables): Mark type tags for renaming | |
24393 | here instead of ... | |
24394 | (create_memory_tag): ... here. | |
24395 | (merge_pointed_to_info): Do not merge PT_MALLOC attributes. | |
24396 | (dump_points_to_info_for): Declare extern. | |
24397 | (debug_points_to_info_for): New function. | |
24398 | ||
24399 | 2004-07-09 Paolo Bonzini <bonzini@gnu.org> | |
24400 | ||
24401 | * config/arc/arc.md: Switch to DFA-based scheduler description. | |
24402 | * config/arc/arc.c: Switch to DFA-based scheduler description. | |
24403 | ||
24404 | 2004-07-09 Richard Earnshaw <rearnsha@arm.com> | |
24405 | ||
24406 | * arm/unknown-elf.h (TARGET_DEFAULT): Don't require an APCS frame | |
24407 | pointer. | |
24408 | ||
24409 | 2004-07-09 Richard Henderson <rth@redhat.com> | |
24410 | ||
24411 | * config/xtensa/xtensa-protos.h (xtensa_va_arg): Remove. | |
24412 | * config/xtensa/xtensa.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New. | |
24413 | (xtensa_gimplify_va_arg_expr): Rewrite from xtensa_va_arg. | |
24414 | * config/xtensa/xtensa.h (EXPAND_BUILTIN_VA_ARG): Remove. | |
24415 | ||
24416 | * config/v850/v850-protos.h (v850_va_arg): Remove. | |
24417 | * config/v850/v850.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New. | |
24418 | (v850_gimplify_va_arg_expr): Rewrite from v850_va_arg. | |
24419 | * config/v850/v850.h (EXPAND_BUILTIN_VA_ARG): Remove. | |
24420 | (FUNCTION_ARG_PASS_BY_REFERENCE): Handle variable size types. | |
24421 | (FUNCTION_ARG_CALLEE_COPIES): Use FUNCTION_ARG_PASS_BY_REFERENCE. | |
24422 | ||
24423 | 2004-07-09 Richard Earnshaw <rearnsha@arm.com> | |
24424 | ||
24425 | PR target/12133 | |
24426 | * arm.c (arm_legitimate_index_p) Allow DFmode for soft-float | |
24427 | and DImode to use +/-4k offset. | |
24428 | ||
24429 | 2004-07-09 Richard Henderson <rth@redhat.com> | |
24430 | ||
24431 | * config/stormy16/stormy16-protos.h (xstormy16_expand_builtin_va_arg): | |
24432 | Remove. | |
24433 | * config/stormy16/stormy16.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New. | |
24434 | (xstormy16_gimplify_va_arg_expr): Rewrite from | |
24435 | xstormy16_expand_builtin_va_arg. | |
24436 | * config/stormy16/stormy16.h (EXPAND_BUILTIN_VA_ARG): Remove. | |
24437 | ||
24438 | * config/sparc/sparc-protos.h (sparc_va_arg): Remove. | |
24439 | * config/sparc/sparc.c (sparc_gimplify_va_arg): Mark static. | |
24440 | ||
24441 | * config/sh/sh-protos.h (sh_va_arg): Remove. | |
24442 | * config/sh/sh.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New. | |
24443 | (sh_gimplify_va_arg_expr): Rewrite from sh_va_arg. | |
24444 | * config/sh/sh.h (EXPAND_BUILTIN_VA_ARG): Remove. | |
24445 | ||
24446 | * config/pa/pa-protos.h (hppa_va_arg): Remove. | |
24447 | * config/pa/pa.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New. | |
24448 | (hppa_gimplify_va_arg_expr): Rewrite from hppa_va_arg. | |
24449 | * config/pa/pa.h (EXPAND_BUILTIN_VA_ARG): Remove. | |
24450 | ||
24451 | * config/mn10300/mn10300-protos.h (mn10300_va_arg): Remove. | |
24452 | * config/mn10300/mn10300.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New. | |
24453 | (mn10300_gimplify_va_arg_expr): Rewrite from mn10300_va_arg. | |
24454 | * config/mn10300/mn10300.h (EXPAND_BUILTIN_VA_ARG): Remove. | |
24455 | ||
24456 | 2004-07-09 Eric Botcazou <ebotcazou@libertysurf.fr> | |
24457 | ||
24458 | * config/sparc/sparc.md (return): Rewrite length formula. | |
24459 | * config/sparc/sparc.c (output_return): Pass 1 as 5th | |
24460 | argument to final_scan_insn when in a delay slot. | |
24461 | (output_sibcall): Likewise. | |
24462 | ||
24463 | 2004-07-09 Richard Earnshaw <rearnsha@arm.com> | |
24464 | ||
24465 | * arm.c (arm_cpp_interwork): New variable. | |
24466 | (arm_override_options): Set it if TARGET_INTERWORK was on the command | |
24467 | line. | |
24468 | * arm.h (arm_cpp_interwork): Declare it. | |
24469 | (TARGET_CPU_CPP_BUILTINS): Use it to control definition of | |
24470 | __THUMB_INTERWORK__ in the preprocessor. | |
24471 | ||
24472 | 2004-07-09 Nathan Sidwell <nathan@codesourcery.com> | |
24473 | ||
24474 | * vec.h (VEC_T_alloc): Fix MEM_STAT_DECL pasto. | |
24475 | ||
24476 | 2004-07-09 Eric Botcazou <ebotcazou@libertysurf.fr> | |
24477 | ||
24478 | PR target/16416 | |
24479 | * config/sparc/sol2-bi.h (OPTION_DEFAULT_SPECS): New macro. | |
24480 | Override default settings to account for -m32 and -m64. | |
24481 | ||
24482 | 2004-07-08 Randolph Chung <tausq@debian.org> | |
24483 | ||
24484 | * pa32-linux.h (MD_FALLBACK_FRAME_STATE_FOR): Define. | |
24485 | ||
24486 | 2004-07-09 Alexandre Oliva <aoliva@redhat.com> | |
24487 | ||
24488 | * builtins.c (fold_builtin_strncpy): Make sure len is a constant | |
24489 | before comparing it as such. | |
24490 | ||
24491 | 2004-07-08 Richard Henderson <rth@redhat.com> | |
24492 | ||
24493 | * builtins.c (std_gimplify_va_arg_expr): Hoist valist into a | |
24494 | temporary. Use bit arithmetic to align. | |
24495 | ||
24496 | 2004-07-08 Jerry Quinn <jlquinn@optonline.net> | |
24497 | ||
24498 | * alias.c (nonlocal_mentioned_p, nonlocal_referenced_p, | |
24499 | nonlocal_set_p, init_alias_analysis): Use, LABEL_P, JUMP_P, CALL_P, | |
24500 | NONJUMP_INSN_P, INSN_P, NOTE_P, BARRIER_P. | |
24501 | * bb-reorder.c (mark_bb_for_unlikely_executed_section, | |
24502 | add_labels_and_missing_jumps, find_jump_block, | |
24503 | fix_crossing_unconditional_branches, add_reg_crossing_jump_notes): | |
24504 | Likewise. | |
24505 | * bt-load.c (btr_referenced_p, compute_defs_uses_and_gen, | |
24506 | link_btr_uses, move_btr_def): Likewise. | |
24507 | * builtins.c (expand_builtin_longjmp, expand_builtin_nonlocal_goto, | |
24508 | expand_builtin_expect_jump): Likewise. | |
24509 | * caller-save.c (save_call_clobbered_regs, insert_one_insn): Likewise. | |
24510 | * calls.c (expand_call, emit_library_call_value_1): Likewise. | |
24511 | * cfganal.c (forwarder_block_p): Likewise. | |
24512 | * cfgbuild.c (inside_basic_block_p, count_basic_blocks, | |
24513 | make_label_edge, rtl_make_eh_edge, make_edges, find_basic_blocks_1, | |
24514 | find_bb_boundaries): Likewise. | |
24515 | * cfgcleanup.c (try_simplify_condjump, try_forward_edges, | |
24516 | merge_blocks_move_predecessor_nojumps, | |
24517 | merge_blocks_move_successor_nojumps, insns_match_p, | |
24518 | flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge, | |
24519 | try_optimize_cfg): Likewise. | |
24520 | * cfgexpand.c (expand_block, construct_exit_block): Likewise. | |
24521 | * cfglayout.c (skip_insns_after_block, label_for_bb, | |
24522 | record_effective_endpoints, insn_locators_initialize, | |
24523 | fixup_reorder_chain, update_unlikely_executed_notes): Likewise. | |
24524 | * cfgmainloop.c (create_loop_notes): Likewise. | |
24525 | * cfgrtl.c (delete_insn, delete_insn_chain, | |
24526 | create_basic_block_structure, rtl_delete_block, free_bb_for_insn, | |
24527 | update_bb_for_insn, rtl_merge_blocks, rtl_can_merge_blocks, | |
24528 | block_label, try_redirect_by_replacing_jump, last_loop_beg_note, | |
24529 | redirect_branch_edge, force_nonfallthru_and_redirect, | |
24530 | rtl_tidy_fallthru_edge, back_edge_of_syntactic_loop_p, | |
24531 | rtl_split_edge, commit_one_edge_insertion, print_rtl_with_bb, | |
24532 | update_br_prob_note, rtl_verify_flow_info_1, rtl_verify_flow_info, | |
24533 | purge_dead_edges, cfg_layout_redirect_edge_and_branch, | |
24534 | cfg_layout_delete_block, cfg_layout_can_merge_blocks_p, | |
24535 | cfg_layout_merge_blocks, rtl_block_ends_with_call_p, | |
24536 | need_fake_edge_p, rtl_flow_call_edges_add): Likewise. | |
24537 | * combine.c (combine_instructions, can_combine_p, try_combine, | |
24538 | find_split_point, record_dead_and_set_regs, reg_dead_at_p, | |
24539 | distribute_notes, distribute_links, insn_cuid): Likewise. | |
24540 | * cse.c (fold_rtx, cse_insn, cse_around_loop, | |
24541 | invalidate_skipped_block, cse_set_around_loop, | |
24542 | cse_end_of_basic_block, cse_main, cse_basic_block, | |
24543 | cse_condition_code_reg): Likewise. | |
24544 | * cselib.c (cselib_process_insn): Likewise. | |
24545 | * ddg.c (create_ddg): Likewise. | |
24546 | * df.c (df_insn_refs_record, df_bb_rd_local_compute, df_insns_modify): | |
24547 | Likewise. | |
24548 | * dwarf2out.c (dwarf2out_stack_adjust, dwarf2out_frame_debug, | |
24549 | gen_label_die, dwarf2out_var_location): Likewise. | |
24550 | * emit-rtl.c (get_first_nonnote_insn, get_last_nonnote_insn, | |
24551 | next_insn, previous_insn, next_nonnote_insn, prev_nonnote_insn, | |
24552 | last_call_insn, active_insn_p, next_label, prev_label, | |
24553 | link_cc0_insns, next_cc0_user, try_split, add_insn_after, | |
24554 | add_insn_before, remove_insn, add_function_usage_to, | |
24555 | reorder_insns, find_line_note, remove_unnecessary_notes, | |
24556 | emit_insn_after_1, classify_insn): Likewise. | |
24557 | * except.c (convert_from_eh_region_ranges_1, emit_to_new_bb_before, | |
24558 | connect_post_landing_pads, sjlj_mark_call_sites, | |
24559 | sjlj_emit_function_enter, sjlj_emit_function_exit, reachable_handlers, | |
24560 | can_throw_internal, can_throw_external, set_nothrow_function_flags, | |
24561 | convert_to_eh_region_ranges): Likewise. | |
24562 | * explow.c (optimize_save_area_alloca): Likewise. | |
24563 | * expr.c (expand_expr_real): Likewise. | |
24564 | * final.c (insn_current_reference_address, compute_alignments, | |
24565 | shorten_branches, final, scan_ahead_for_unlikely_executed_note, | |
24566 | final_scan_insn, output_asm_label, leaf_function_p): Likewise. | |
24567 | * flow.c (first_insn_after_basic_block_note, delete_dead_jumptables, | |
24568 | propagate_block_delete_insn, propagate_one_insn, | |
24569 | init_propagate_block_info, propagate_block, libcall_dead_p, | |
24570 | mark_set_1, attempt_auto_inc, find_auto_inc, try_pre_increment): | |
24571 | Likewise. | |
24572 | * function.c (instantiate_virtual_regs, reorder_blocks_1, | |
24573 | expand_function_start, expand_function_end, contains, | |
24574 | thread_prologue_and_epilogue_insns, | |
24575 | reposition_prologue_and_epilogue_notes): Likewise. | |
24576 | * gcse.c (constprop_register, bypass_conditional_jumps, | |
24577 | insert_insn_end_bb, gcse_after_reload): Likewise. | |
24578 | * genemit.c (gen_expand, gen_split): Likewise. | |
24579 | * genpeep.c (gen_peephole, main): Likewise. | |
24580 | * global.c (build_insn_chain): Likewise. | |
24581 | * graph.c (node_data, print_rtl_graph_with_bb): Likewise. | |
24582 | * haifa-sched.c (unlink_other_notes, unlink_line_notes, | |
24583 | get_block_head_tail, no_real_insns_p, rm_line_notes, save_line_notes, | |
24584 | restore_line_notes, rm_redundant_line_notes, rm_other_notes, | |
24585 | ok_for_early_queue_removal, set_priorities, sched_init): Likewise. | |
24586 | * ifcvt.c (count_bb_insns, first_active_insn, last_active_insn, | |
24587 | cond_exec_process_insns, end_ifcvt_sequence, noce_process_if_block, | |
24588 | merge_if_block, block_jumps_and_fallthru_p, find_if_block, | |
24589 | dead_or_predicable): Likewise. | |
24590 | * integrate.c (try_constants): Likewise. | |
24591 | * jump.c (rebuild_jump_labels, cleanup_barriers, | |
24592 | purge_line_number_notes, init_label_info, mark_all_labels, | |
24593 | squeeze_notes, get_label_before, get_label_after, | |
24594 | reversed_comparison_code_parts, simplejump_p, pc_set, | |
24595 | returnjump_p, onlyjump_p, follow_jumps, mark_jump_label, | |
24596 | delete_barrier, delete_prior_computation, delete_computation, | |
24597 | delete_related_insns, delete_for_peephole, redirect_jump): | |
24598 | Likewise. | |
24599 | * lcm.c (optimize_mode_switching): Likewise. | |
24600 | * local-alloc.c (validate_equiv_mem, update_equiv_regs, block_alloc): | |
24601 | Likewise. | |
24602 | * loop-doloop.c (doloop_valid_p, doloop_optimize): Likewise. | |
24603 | * loop-invariant.c (find_exits, find_invariants_bb): Likewise. | |
24604 | * loop-iv.c (simplify_using_assignment): Likewise. | |
24605 | * loop.c (compute_luids, loop_optimize, scan_loop, libcall_other_reg, | |
24606 | libcall_benefit, skip_consec_insns, move_movables, prescan_loop, | |
24607 | find_and_verify_loops, labels_in_range_p, for_each_insn_in_loop, | |
24608 | loop_bivs_init_find, strength_reduce, check_insn_for_bivs, | |
24609 | check_insn_for_givs, check_final_value, update_giv_derive, | |
24610 | basic_induction_var, product_cheap_p, check_dbra_loop, | |
24611 | loop_insn_first_p, last_use_this_basic_block, | |
24612 | canonicalize_condition, get_condition, loop_regs_scan, load_mems, | |
24613 | try_copy_prop, LOOP_BLOCK_NUM, loop_dump_aux): Likewise. | |
24614 | * modulo-sched.c (doloop_register_get, find_line_note, sms_schedule, | |
24615 | sms_schedule_by_order): Likewise. | |
24616 | * optabs.c (emit_no_conflict_block, emit_libcall_block): Likewise. | |
24617 | * postreload.c (reload_cse_simplify_operands, reload_combine, | |
24618 | reload_cse_move2add): Likewise. | |
24619 | * predict.c (can_predict_insn_p, estimate_probability, | |
24620 | expected_value_to_br_prob, process_note_predictions): Likewise. | |
24621 | * print-rtl.c (print_rtx, print_rtl, print_rtl_single): Likewise. | |
24622 | * profile.c (branch_prob): Likewise. | |
24623 | * ra-build.c (live_out_1, livethrough_conflicts_bb, | |
24624 | detect_webs_set_in_cond_jump): Likewise. | |
24625 | * ra-debug.c (ra_print_rtx_object, ra_debug_insns, | |
24626 | ra_print_rtl_with_bb): Likewise. | |
24627 | * ra-rewrite.c (insert_stores, rewrite_program2): Likewise. | |
24628 | * recog.c (next_insn_tests_no_inequality, find_single_use, | |
24629 | split_all_insns, peephole2_optimize, if_test_bypass_p): Likewise. | |
24630 | * reg-stack.c (next_flags_user, record_label_references, | |
24631 | emit_swap_insn, swap_rtx_condition, subst_stack_regs, | |
24632 | compensate_edge, convert_regs_1): Likewise. | |
24633 | * regclass.c (scan_one_insn): Likewise. | |
24634 | * regmove.c (optimize_reg_copy_1, optimize_reg_copy_2, fixup_match_2, | |
24635 | regmove_optimize, fixup_match_1, single_set_for_csa, | |
24636 | combine_stack_adjustments_for_block): Likewise. | |
24637 | * regrename.c (build_def_use, copyprop_hardreg_forward_1): Likewise. | |
24638 | * reload.c (find_reloads, find_reloads_address_1, subst_reloads, | |
24639 | find_equiv_reg): Likewise. | |
24640 | * reload1.c (reload, calculate_needs_all_insns, set_label_offsets, | |
24641 | reload_as_needed, emit_input_reload_insns, do_output_reload, | |
24642 | delete_output_reload, delete_address_reloads_1, fixup_abnormal_edges): | |
24643 | Likewise. | |
24644 | * reorg.c (find_end_label, emit_delay_sequence, | |
24645 | delete_from_delay_slot, delete_scheduled_jump, optimize_skip, | |
24646 | get_jump_flags, rare_destination, mostly_true_jump, | |
24647 | try_merge_delay_insns, redundant_insn, own_thread_p, | |
24648 | fill_simple_delay_slots, fill_slots_from_thread, | |
24649 | fill_eager_delay_slots, relax_delay_slots, make_return_insns, | |
24650 | dbr_schedule): Likewise. | |
24651 | * resource.c (find_basic_block, next_insn_no_annul, | |
24652 | find_dead_or_set_registers, mark_target_live_regs): Likewise. | |
24653 | * rtl.h (RTX_PREV): Likewise. | |
24654 | * rtlanal.c (global_reg_mentioned_p, no_labels_between_p, | |
24655 | no_jumps_between_p, reg_used_between_p, reg_referenced_between_p, | |
24656 | reg_set_p, find_last_value, dead_or_set_regno_p, find_reg_fusage, | |
24657 | find_regno_fusage, pure_call_p, replace_label, rtx_referenced_p_1, | |
24658 | tablejump_p, computed_jump_p, insns_safe_to_move_p, | |
24659 | find_first_parameter_load, can_hoist_insn_p): Likewise. | |
24660 | * sched-deps.c (get_condition, add_dependence, sched_analyze_2, | |
24661 | sched_analyze_insn, sched_analyze, add_forward_dependence): Likewise. | |
24662 | * sched-ebb.c (fix_basic_block_boundaries, add_deps_for_risky_insns, | |
24663 | schedule_ebbs): Likewise. | |
24664 | * sched-rgn.c (is_cfg_nonregular, find_conditional_protection, | |
24665 | is_conditionally_protected, can_schedule_ready_p, | |
24666 | add_branch_dependences, debug_dependencies): Likewise. | |
24667 | * stmt.c (emit_nop, expand_start_case, emit_jump_if_reachable): | |
24668 | Likewise. | |
24669 | * unroll.c (unroll_loop, copy_loop_body, back_branch_in_range_p, | |
24670 | reg_dead_after_loop, loop_find_equiv_value, loop_iterations, | |
24671 | set_dominates_use, ujump_to_loop_cont): Likewise. | |
24672 | * var-tracking.c (prologue_stack_adjust, vt_initialize): Likewise. | |
24673 | * varasm.c (output_constant_pool_1): Likewise. | |
24674 | ||
24675 | 2004-07-08 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> | |
24676 | ||
24677 | * tree-scalar-evolution.c: New file. | |
24678 | * tree-scalar-evolution.h: New file. | |
24679 | * tree-ssa-loop-niter.c: New file. | |
24680 | * Makefile.in (SCEV_H): New. | |
24681 | (tree-scalar-evolution.o, tree-ssa-loop-niter.o): Add new files. | |
24682 | * cfgloop.h (struct loop): Add bounds field. | |
24683 | * tree-flow.h (struct tree_niter_desc): New type. | |
24684 | (number_of_iterations_cond, number_of_iterations_exit, | |
24685 | loop_niter_by_eval, find_loop_niter_by_eval, | |
24686 | estimate_numbers_of_iterations, can_count_iv_in_wider_type, | |
24687 | free_numbers_of_iterations_estimates): Declare. | |
24688 | * tree.h (lower_bound_in_type, upper_bound_in_type): Declare. | |
24689 | * params.def (PARAM_MAX_ITERATIONS_TO_TRACK): New parameter. | |
24690 | * doc/invoke.texi (max-iterations-to-track): Document. | |
24691 | ||
24692 | 2004-07-08 Kaz Kojima <kkojima@gcc.gnu.org> | |
24693 | ||
24694 | * config/sh/sh.c (sh_va_arg): Initinalize lab_over. | |
24695 | * config/sh/sh.h (CONST_OK_FOR_J16): Use parentheses. | |
24696 | (MODE_AFTER): Add cast appropriately. | |
24697 | * config/sh/sh.md (movdi splitter): Likewise. | |
24698 | (casesi_worker_2): Add const qualifier appropriately. | |
24699 | (eh_return): Remove unused variable. | |
24700 | (insv): Initialize v; | |
24701 | ||
24702 | 2004-07-08 Richard Henderson <rth@redhat.com> | |
24703 | ||
24704 | * config/mmix/mmix-protos.h (mmix_expand_builtin_va_arg): Remove. | |
24705 | * config/mmix/mmix.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New. | |
24706 | (mmix_gimplify_va_arg_expr): Rewrite from mmix_expand_builtin_va_arg. | |
24707 | * config/mmix/mmix.h (EXPAND_BUILTIN_VA_ARG): Remove. | |
24708 | (FRAME_POINTER_REQUIRED): Use current_function_has_nonlocal_label. | |
24709 | ||
24710 | * config/m32r/m32r-protos.h (m32r_va_arg): Remove. | |
24711 | * config/m32r/m32r.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New. | |
24712 | (m32r_gimplify_va_arg_expr): Rewrite from m32r_va_arg. | |
24713 | * config/m32r/m32r.h (EXPAND_BUILTIN_VA_ARG): Remove. | |
24714 | ||
24715 | * config/iq2000/iq2000-protos.h (iq2000_va_arg): Remove. | |
24716 | * config/iq2000/iq2000.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New. | |
24717 | (iq2000_gimplify_va_arg_expr): Rewrite from iq2000_va_arg. | |
24718 | * config/iq2000/iq2000.h (EXPAND_BUILTIN_VA_ARG): Remove. | |
24719 | ||
24720 | * config/frv/frv-protos.h (frv_expand_builtin_va_arg): Remove. | |
24721 | * config/frv/frv.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New. | |
24722 | (frv_gimplify_va_arg_expr): Rewrite from frv_expand_builtin_va_arg. | |
24723 | * config/frv/frv.h (EXPAND_BUILTIN_VA_ARG): Remove. | |
24724 | ||
24725 | * config/i860/i860-protos.h (i860_va_arg): Remove. | |
24726 | * config/i860/i860.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New. | |
24727 | (i860_gimplify_va_arg_expr): Rewrite from i860_va_arg. | |
24728 | * config/i860/i860.h (EXPAND_BUILTIN_VA_ARG): Remove. | |
24729 | ||
24730 | 2004-05-31 Aaron W. LaFramboise <aaronraolete36@aaronwl.com> | |
24731 | ||
24732 | * system.h: Prototype getpagesize if missing. | |
24733 | * configure.ac: Add getpagesize to gcc_AC_CHECK_DECLS. | |
24734 | * configure: Regenerate. | |
24735 | * config.in: Regenerate. | |
24736 | ||
24737 | 2004-07-08 Richard Henderson <rth@redhat.com> | |
24738 | ||
24739 | * config/fr30/fr30-protos.h (fr30_va_arg): Remove. | |
24740 | * config/fr30/fr30.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New. | |
24741 | (fr30_gimplify_va_arg_expr): New. | |
24742 | (fr30_pass_by_reference, fr30_pass_by_value, fr30_va_arg): Remove. | |
24743 | * config/fr30/fr30.h (EXPAND_BUILTIN_VA_ARG): Remove. | |
24744 | ||
24745 | 2004-07-08 Vladimir Makarov <vmakarov@redhat.com> | |
24746 | ||
24747 | PR target/16414 | |
24748 | * config/ia64/ia64.c (ia64_dfa_new_cycle): Fix typo in comparison | |
24749 | of asm_noperands result. | |
24750 | ||
24751 | 2004-07-08 Richard Henderson <rth@redhat.com> | |
24752 | ||
24753 | * config/cris/cris-protos.h (cris_expand_builtin_va_arg): Remove. | |
24754 | * config/cris/cris.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New. | |
24755 | (cris_gimplify_va_arg_expr): Rewrite from cris_expand_builtin_va_arg. | |
24756 | * config/cris/cris.h (EXPAND_BUILTIN_VA_ARG): Remove. | |
24757 | ||
24758 | 2004-07-08 Richard Henderson <rth@redhat.com> | |
24759 | ||
24760 | * builtins.c (ind_gimplify_va_arg_expr): New. | |
24761 | * tree.h (ind_gimplify_va_arg_expr): Declare. | |
24762 | * config/arc/arc.c (arc_gimplify_va_arg_expr): Use it. | |
24763 | ||
24764 | 2004-07-08 Jan Beulich <jbeulich@novell.com> | |
24765 | ||
24766 | * expmed.c (extract_bit_field): Correct condition to use vec_extract | |
24767 | patterns also on vector elements other than the first one. | |
24768 | * config/i386/i386.md (vec_extractv2df, vec_extractv4sf): Add missing | |
24769 | break statements. | |
24770 | ||
24771 | 2004-07-08 Geoffrey Keating <geoffk@apple.com> | |
24772 | ||
24773 | * config/rs6000/darwin-ldouble.c: Correct reference | |
24774 | to the Linnainmaa paper. | |
24775 | ||
24776 | 2004-07-08 Richard Henderson <rth@redhat.com> | |
24777 | ||
24778 | * config/arc/arc-protos.h (arc_va_arg): Remove. | |
24779 | * config/arc/arc.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New. | |
24780 | (arc_gimplify_va_arg_expr): Rewrite from arc_va_arg. | |
24781 | * config/arc/arc.h (EXPAND_BUILTIN_VA_ARG): Remove. | |
24782 | ||
24783 | * config/c4x/c4x-protos.h (c4x_va_arg): Remove. | |
24784 | * config/c4x/c4x.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New. | |
24785 | (c4x_gimplify_va_arg_expr): Rewrite from c4x_va_arg. | |
24786 | * config/c4x/c4x.h (EXPAND_BUILTIN_VA_ARG): Remove. | |
24787 | ||
24788 | 2004-07-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
24789 | ||
24790 | * pa.md (prefetch_32, prefetch_64): Simplify constraint checks. | |
24791 | ||
24792 | 2004-07-08 Zack Weinberg <zack@codesourcery.com> | |
24793 | ||
24794 | * c-decl.c (static_ctors, static_dtors): Make static. | |
24795 | (pop_file_scope): Call c_common_write_pch and | |
24796 | cgraph_finalize_compilation_unit here. | |
24797 | (build_cdtor): Moved here from c-objc-common.c; simplify. | |
24798 | (c_write_global_declarations_1): Clarify comment. | |
24799 | (c_write_global_declarations): Close the external scope before | |
24800 | doing anything else. Call build_cdtor, cgraph_optimize, and | |
24801 | mudflap_finish_file here. | |
24802 | * c-lang.c (finish_file): Don't call c_objc_common_finish_file. | |
24803 | Clarify comment. | |
24804 | * c-objc-common.c: No need to include cgraph.h. | |
24805 | (build_cdtor): Moved to c-decl.c. | |
24806 | (c_objc_common_finish_file): Delete. | |
24807 | * c-tree.h: Update to match. | |
24808 | * objc/objc-act.c (finish_file): Don't call c_objc_common_finish_file. | |
24809 | (generate_static_references): Set TREE_USED before calling finish_decl. | |
24810 | Eliminate unnecessary dummy declaration. Call rest_of_decl_compilation | |
24811 | on the static_instances_decl. | |
24812 | ||
24813 | 2004-07-08 Zack Weinberg <zack@codesourcery.com> | |
24814 | ||
24815 | * c-decl.c (pop_scope): Do not set DECL_CONTEXT on file-scope | |
24816 | decls when there is only one input translation unit. | |
24817 | * langhooks.c (lhd_set_decl_assembler_name): Partially revert | |
24818 | change of 2004-07-05; do not treat declarations with | |
24819 | DECL_CONTEXT a TRANSLATION_UNIT_DECL specially. | |
24820 | * opts.c (cur_in_fname): Delete. | |
24821 | * opts.h: Likewise. | |
24822 | * tree.c: Revert changes of 2004-07-05; no special treatment | |
24823 | for TRANSLATION_UNIT_DECLs. | |
24824 | * Makefile.in (tree.o): Update dependencies. | |
24825 | ||
24826 | 2004-07-08 Roger Sayle <roger@eyesopen.com> | |
24827 | ||
24828 | * builtins.c (fold_builtin_strcpy): Merge functionality from | |
24829 | simplify_builtin_strcpy. Add additional len argument. No longer | |
24830 | static. Remove function prototype. | |
24831 | (fold_builtin_strncpy): Likewise integrate functionality from | |
24832 | simplify_builtin_strncpy. Add additional slen argument. No | |
24833 | longer static. Remove function prototype. | |
24834 | (simplify_builtin_strcy, simplify_builtin_strncpy): Delete. | |
24835 | (simplify_builtin_fputs): Rename to fold_builtin_fputs. Change | |
24836 | types of "ignore" and "unlocked" parameters to bool. | |
e8366202 | 24837 | (fold_builtin_1): Add additional ignore argument. Call renamed |
7a4515d7 SB |
24838 | fold_builtin_fputs to simplify GCC "fputs" and "fputs_unlocked" |
24839 | builtins. Update arguments to fold_builtin_strncpy and | |
24840 | fold_builtin_strcpy. Add function prototype. | |
24841 | (fold_builtin): Add additional Boolean ignore argument to pass | |
24842 | to fold_builtin_1. | |
24843 | (simplify_builtin): Call fold_builtin_fputs, fold_builtin_strcpy | |
24844 | and fold_builtin_strncpy instead of simplify_builtin_fputs, | |
24845 | simplify_builtin_strcpy and simplify_builtin_strncpy respectively. | |
24846 | ||
24847 | * expr.h (simplify_builtin_fputs, simplify_builtin_strcpy, | |
24848 | simplify_builtin_strncpy): Delete function prototypes. | |
24849 | * tree.h (fold_builtin_fputs, fold_builtin_strcpy, | |
24850 | fold_builtin_strncpy): Add function prototypes here. | |
24851 | (fold_builtin): Update function prototype with new "bool ignore". | |
24852 | ||
24853 | * tree-ssa-ccp.c (ccp_fold): Update call to fold_builtin. | |
e8366202 | 24854 | (ccp_fold_builtin): Update call to fold_builtin. Call |
7a4515d7 SB |
24855 | fold_builtin_fputs, fold_builtin_strcpy and fold_builtin_strncpy |
24856 | instead of simplify_builtin_fputs, simplify_builtin_strcpy and | |
24857 | simplify_builtin_strncpy respectively. | |
24858 | * fold-const.c (fold): Update call to fold_builtin. | |
24859 | ||
24860 | 2004-07-08 Alexandre Oliva <aoliva@redhat.com> | |
24861 | ||
24862 | * builtins.c (expand_builtin_stpcpy): Un-simplify decay of stpcpy | |
24863 | to strcpy. | |
24864 | ||
24865 | * expr.h (FUNCTION_ARG_PARTIAL_NREGS): Default to 0. | |
24866 | (FUNCTION_ARG_PASS_BY_REFERENCE): Likewise. | |
24867 | (FUNCTION_ARG_CALLEE_COPIES): Likewise. | |
24868 | * calls.c: Remove ifdefs of macros above. | |
24869 | * functions.c: Likewise. | |
24870 | * expr.c: Likewise. | |
24871 | ||
24872 | 2004-07-08 Eric Botcazou <ebotcazou@libertysurf.fr> | |
24873 | ||
24874 | * config/sparc/sparc.md (UNSPECV_GOTO_V9): Delete. | |
24875 | (arch attribute): Delete. | |
24876 | (current_function_calls_alloca attribute): Rename into calls_alloca. | |
24877 | (calls_eh_return): New attribute. | |
24878 | (leaf_function): Likewise. | |
24879 | (length attribute): Fix formula for sibcalls. | |
24880 | (return insn): Correctly compute the 'length' attribute. | |
24881 | (do_builtin_setjmp_setup): Adjust use of current_function_calls_alloca. | |
24882 | ||
24883 | 2004-07-08 Richard Henderson <rth@redhat.com> | |
24884 | ||
24885 | * tree-cfg.c (make_exit_edges): Use get_call_expr_in. | |
24886 | (remove_useless_stmts_1, is_ctrl_altering_stmt): Likewise. | |
24887 | (tree_block_ends_with_call_p, need_fake_edge_p): Likewise. | |
24888 | * tree-eh.c (lower_eh_constructs_1): Likewise. | |
24889 | * tree-sra.c (sra_walk_modify_expr): Likewise. | |
24890 | * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise. | |
24891 | (eliminate_unnecessary_stmts): Likewise. | |
24892 | * tree-ssa-dse.c (dse_optimize_stmt): Likewise. | |
24893 | * tree-tailcall.c (optimize_tail_call): Likewise. | |
24894 | * tree-ssa-ccp.c (get_rhs, set_rhs): Reorg to use switch. | |
24895 | ||
24896 | 2004-07-08 Paolo Bonzini <bonzini@gnu.org> | |
24897 | Jakub Jelinek <jakub@redhat.com> | |
24898 | ||
24899 | * config/i386/i386.c (override_options): Enable | |
24900 | SSE prefetches with -mtune, as long as we are | |
24901 | compiling for i686 or higher. All i686 processors | |
24902 | accept SSE prefetches as NOPS, some i586's don't. | |
24903 | ||
24904 | 2004-07-08 Eric Botcazou <ebotcazou@libertysurf.fr> | |
24905 | ||
24906 | PR target/10567 | |
24907 | * config/sparc/sparc.md (update_return): Honor flag_delayed_branch. | |
24908 | ||
24909 | 2004-07-08 Diego Novillo <dnovillo@redhat.com> | |
24910 | ||
24911 | * tree-ssa-operands.c (get_asm_expr_operands): Fix thinkos in | |
24912 | the handling of clobbering ASM_EXPRs. | |
24913 | ||
24914 | 2004-07-08 Eric Botcazou <ebotcazou@libertysurf.fr> | |
24915 | ||
24916 | PR target/16430 | |
24917 | * config/sparc/sparc.c (function_value): In 64-bit mode, | |
24918 | return the aggregates larger than 16 bytes like unions. | |
24919 | ||
24920 | 2004-07-08 Eric Botcazou <ebotcazou@libertysurf.fr> | |
24921 | ||
24922 | PR target/16199 | |
24923 | * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): When | |
24924 | 'temp' is zero, generate new pseudos as needed and emit the | |
24925 | sequence of insns in single-assignment form. Resync comments | |
24926 | with code. | |
24927 | (sparc_emit_set_const64): Pass zero as 'temp' argument to above | |
24928 | function before reload. | |
24929 | ||
24930 | 2004-07-08 Nathan Sidwell <nathan@codesourcery.com> | |
24931 | ||
24932 | * vec.c (vec_assert_fail): Remove duplicate 'function'. | |
24933 | ||
24934 | * vec.c (vec_p_reserve, vec_o_reserve): Allocation is signed. | |
24935 | ||
24936 | * vec.h (VEC_alloc, VEC_embedded_size, VEC_embedded_init): | |
24937 | Allocation is signed. | |
24938 | (VEC_reserve): Return flag, allocation is signed. | |
24939 | ||
24940 | 2004-07-08 Richard Henderson <rth@redhat.com> | |
24941 | ||
24942 | * tree-ssa-ccp.c (fold_stmt): Get type directly from | |
24943 | OBJ_TYPE_REF_OBJECT. | |
24944 | ||
24945 | 2004-07-08 Joseph S. Myers <jsm@polyomino.org.uk> | |
24946 | Neil Booth <neil@daikokuya.co.uk> | |
24947 | ||
24948 | PR c/2511 | |
24949 | PR c/3325 | |
24950 | * c-decl.c (finish_struct): Ensure bit-fields are given the | |
24951 | correct type. | |
24952 | * c-common.c (c_common_signed_or_unsigned_type): For C, require | |
24953 | the precision to match as well as the mode. | |
24954 | * expr.c (reduce_to_bit_field_precision): New function. | |
24955 | (expand_expr_real_1): Reduce expressions of bit-field type to | |
24956 | proper precision. | |
24957 | * langhooks.h (reduce_bit_field_operations): New hook. | |
24958 | * langhooks-def.h (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS): | |
24959 | Define. | |
24960 | * c-lang.c, objc/objc-lang.c | |
24961 | (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS): Define. | |
24962 | * objc/objc-act.c (check_ivars): Convert types to bit-field types | |
24963 | before checking. | |
24964 | * tree.c (build_nonstandard_integer_type): New function. | |
24965 | * tree.h (build_nonstandard_integer_type): New prototype. | |
24966 | * tree-ssa.c (tree_ssa_useless_type_conversion_1): Don't treat | |
24967 | conversions between integer and boolean types as useless. | |
24968 | ||
24969 | 2004-07-08 Paolo Bonzini <bonzini@gnu.org> | |
24970 | ||
24971 | * c-common.c (c_common_nodes_and_builtins): Do not | |
24972 | create __builtin_ptrdiff_t and __builtin_size_t. | |
24973 | ||
24974 | 2004-07-08 Andrew Pinski <apinski@apple.com> | |
24975 | ||
24976 | * Makefile.in (libbackend.o): Add -combine to the gcc | |
24977 | command line. | |
24978 | ||
24979 | 2004-07-08 Nick Clifton <nickc@redhat.com> | |
24980 | ||
24981 | * config/stormy16/t-stormy16 (TARGET_LIBGCC2_CFLAGS): Define. | |
24982 | Set to -Os. | |
24983 | ||
24984 | 2004-07-08 Richard Henderson <rth@redhat.com> | |
24985 | ||
24986 | * except.c (expand_eh_region_start, expand_eh_region_end, | |
24987 | expand_eh_handler, expand_eh_region_end_cleanup, | |
24988 | expand_start_all_catch, expand_start_catch, expand_end_catch, | |
24989 | expand_end_all_catch, expand_eh_region_end_allowed, | |
24990 | expand_eh_region_end_must_not_throw, expand_eh_region_end_throw, | |
24991 | expand_eh_region_end_fixup): Remove. | |
24992 | * stmt.c (struct nesting): Remove stack_level, innermost_stack_block, | |
24993 | cleanups, outer_cleanups, label_chain, exception_region. | |
24994 | (struct goto_fixup): Remove stack_level, cleanup_list_list. | |
24995 | (struct label_chain): Remove. | |
24996 | (struct stmt_status): Remove x_stack_block_stack. | |
24997 | (stack_block_stack, expand_goto_internal, expand_fixup, expand_fixups, | |
24998 | fixup_gotos, save_stack_pointer, expand_decl_cleanup, | |
24999 | expand_decl_cleanup_eh, expand_cleanups, start_cleanup_deferral, | |
25000 | end_cleanup_deferral, last_cleanup_this_contour, | |
25001 | containing_blocks_have_cleanups_or_stack_level, | |
25002 | any_pending_cleanups): Remove. | |
25003 | (expand_null_return_1): Take no arguments. | |
25004 | (expand_label, expand_naked_return, expand_return, | |
25005 | expand_start_bindings_and_block, expand_end_bindings, expand_decl, | |
25006 | expand_anon_union_decl, expand_start_case, pushcase, pushcase_range, | |
25007 | expand_end_case_type): Don't use any of them. | |
25008 | * calls.c (expand_call): Likewise. | |
25009 | * dojump.c (do_jump): Likewise. | |
25010 | * function.c (expand_function_end): Likewise. | |
25011 | * expr.c (store_expr, expand_expr_real_1): Likewise. | |
25012 | (safe_from_p): Don't handle WITH_CLEANUP_EXPR, CLEANUP_POINT_EXPR. | |
25013 | (expand_expr_real_1): Don't handle WITH_CLEANUP_EXPR, | |
25014 | CLEANUP_POINT_EXPR, TARGET_EXPR, TRY_CATCH_EXPR, CATCH_EXPR, | |
25015 | EH_FILTER_EXPR, TRY_FINALLY_EXPR, GOTO_SUBROUTINE_EXPR. | |
25016 | * fold-const.c (fold_checksum_tree): Use first_rtl_op. | |
25017 | * gengtype.c (adjust_field_tree_exp): Remove rtl op handling. | |
25018 | * gimplify.c (gimplify_cleanup_point_expr): Renumber operands | |
25019 | for WITH_CLEANUP_EXPR. | |
25020 | (gimple_push_cleanup): Likewise. | |
25021 | * integrate.c (copy_decl_for_inlining): Don't DECL_TOO_LATE. | |
25022 | * print-tree.c (print_node): Likewise. | |
25023 | * tree-pretty-print.c (dump_generic_node): Remove GOTO_SUBROUTINE_EXPR. | |
25024 | * tree.c (first_rtl_op): Always just TREE_CODE_LENGTH. | |
25025 | (has_cleanups): Remove GOTO_SUBROUTINE_EXPR. | |
25026 | * tree.def (WITH_CLEANUP_EXPR): Remove op1 and op2. | |
25027 | (GOTO_SUBROUTINE_EXPR): Remove. | |
25028 | * tree.h (WITH_CLEANUP_EXPR_RTL): Remove. | |
25029 | (DECL_TOO_LATE): Remove. | |
25030 | * except.h, tree.h: Update decls. | |
25031 | ||
25032 | 2004-07-08 Paolo Bonzini <bonzini@gnu.org> | |
25033 | ||
25034 | * explow.c (optimize_save_area_alloca): Do not accept parameters. | |
25035 | * passes.c (rest_of_handle_final): Handle symout. | |
25036 | (rest_of_handle_new_regalloc, rest_of_handle_old_regalloc): | |
25037 | Push timevar here. | |
25038 | (rest_of_handle_sched): Break out SMS. Remove ifs for | |
25039 | flag_schedule_insns and flag_modulo_sched. | |
25040 | (rest_of_handle_addressof, rest_of_handle_cse2): Garbage | |
25041 | collect at the end. | |
25042 | (rest_of_handle_gcse2): Put under timevar TV_RELOAD_CSE_REGS. | |
25043 | (rest_of_handle_partition_blocks, rest_of_handle_sms, | |
25044 | rest_of_handle_if_after_reload, rest_of_handle_peephole2, | |
25045 | rest_of_handle_mode_switching, rest_of_handle_jump, | |
25046 | rest_of_handle_guess_branch_prob, rest_of_handle_eh, | |
25047 | rest_of_handle_jump2, rest_of_handle_postreload, | |
25048 | rest_of_handle_flow2, rest_of_clean_state, | |
25049 | rest_of_handle_shorten_branches, | |
25050 | rest_of_handle_prologue_epilogue, | |
25051 | rest_of_handle_branch_target_load_optimize): New. | |
25052 | (rest_of_compilation): Call the above. Remove ggc_collect | |
25053 | calls moved to rest_of_handle_*. | |
25054 | * rtl.h (optimize_save_area_alloca): Do not accept parameters. | |
25055 | ||
25056 | * dwarf2out.c (dwarf2out_begin_prologue): Use TREE_NOTHROW. | |
25057 | * except.c (set_nothrow_function_flags): Set TREE_NOTHROW. | |
25058 | * except.h (set_nothrow_function_flags): Update comment. | |
25059 | * function.c (current_function_nothrow): Remove. | |
25060 | * output.h (current_function_nothrow): Remove. | |
25061 | * passes.c (rest_of_compilation): Do not set TREE_NOTHROW. | |
25062 | * config/arm/arm.c (arm_compute_func_type): Use TREE_NOTHROW. | |
25063 | ||
25064 | 2004-07-08 Eric Botcazou <ebotcazou@libertysurf.fr> | |
25065 | ||
25066 | PR bootstrap/16326 | |
25067 | * reorg.c: Revert 2004-06-30 change. | |
25068 | (find_end_label): If HAVE_epilogue and !HAVE_return, | |
25069 | return 0 instead of creating a label at the end of the insn chain. | |
25070 | (optimize_skip): Account for the failure mode of find_end_label. | |
25071 | (fill_simple_delay_slots): Likewise. | |
25072 | (fill_slots_from_thread): Likewise. | |
25073 | (relax_delay_slots): Likewise. | |
25074 | ||
25075 | 2004-07-08 Diego Novillo <dnovillo@redhat.com> | |
25076 | ||
25077 | * tree-flow.h (addressable_vars): Declare. | |
25078 | * tree-ssa-alias.c (addressable_vars): Define. | |
25079 | (setup_pointers_and_addressables): Add addressable variables | |
25080 | to addressable_vars. | |
25081 | * tree-ssa-operands.c (get_stmt_operands): Move | |
25082 | handling of ASM_EXPRs ... | |
25083 | (get_asm_expr_operands): ... here. | |
25084 | When the ASM_EXPR clobbers memory, also clobber addressable | |
25085 | variables. | |
25086 | * tree-ssa.c (init_tree_ssa): Initialize addressable_vars. | |
25087 | (delete_tree_ssa): Reset addressable_vars. | |
25088 | ||
25089 | 2004-07-07 Jan Beulich <jbeulich@novell.com> | |
25090 | Richard Henderson <rth@redhat.com> | |
25091 | ||
25092 | * varasm.c (assemble_variable): Use assemble_zeros for | |
25093 | zero-initialized variables. | |
25094 | (categorize_decl_for_section): Honor flag_zero_initialized_in_bss | |
25095 | for SECCAT_BSS and SECCAT_TBSS. | |
25096 | ||
25097 | 2004-07-07 Jan Beulich <jbeulich@novell.com> | |
25098 | ||
25099 | * varasm.c (asm_output_bss): Don't declare unless BSS_SECTION_ASM_OP. | |
25100 | ||
25101 | * expmed.c (emit_store_flag): Also special-case double-word | |
25102 | (in-)equality comparison against -1. | |
25103 | ||
25104 | * config/i386/i386.c (ix86_gimplify_va_arg): Don't need temporary for | |
25105 | passing arguments the containers for which are registers. | |
25106 | ||
25107 | * calls.c (emit_library_call_value_1): Use mode of function parameter | |
25108 | rather than that of argument since constants have none. | |
25109 | ||
25110 | 2004-07-08 Alexandre Oliva <aoliva@redhat.com> | |
25111 | ||
25112 | Introduce H8SX support. | |
25113 | * expr.c (expand_strcpy): Renamed and moved to... | |
25114 | * builtins.c (expand_movstr): ... here. Tweak. | |
25115 | (expand_builtin_strcpy): Adjust. Use movstr if len can't be | |
25116 | computed or has side effects. | |
25117 | (expand_builtin_stpcpy): Likewise. Use strcpy if return value is | |
25118 | unused, or if mempcpy fails. Adjust the return value in the | |
25119 | latter case. Use movstr if everything else fails. | |
25120 | * doc/md.texi (movstr): Document. | |
25121 | (movmemM, clrmemM): Fix explanation of memory block operands. | |
25122 | * config/h8300/h8300.md (stpcpy): Renamed to... | |
25123 | (movstr): ... this. Adjust. | |
25124 | 2004-07-07 Alexandre Oliva <aoliva@redhat.com> | |
25125 | * config/h8300/h8300.md: Rename movstr*, except for movstrict*, to | |
25126 | movmem* and clrstr* to clrmem*. | |
25127 | 2004-06-27 Alexandre Oliva <aoliva@redhat.com> | |
25128 | * config/h8300/h8300.c (h8300_reg_class_from_letter): Map 'D' to | |
25129 | GENERAL_REGS, always. | |
25130 | (h8300_swap_into_er6, h8300_swap_into_er6): Handle the case of | |
25131 | getting the stack pointer as addr. | |
25132 | * config/h8300/h8300.h (PREDICATE_CODES): Remove constant rtxes | |
25133 | from general_operand_dst. | |
25134 | * config/h8300/h8300.md (movmd_internal_normal): New, normal-mode | |
25135 | variant of... | |
25136 | (movmd_internal): ... this. Add modes to operands. Disparage `D' | |
25137 | instead of requiring it to match only before reload. | |
25138 | (stpcpy_internal_normal): New, normal-mode variant of... | |
25139 | (stpcpy_internal): ... this. Add modes to operands. Disparage | |
25140 | `D' instead of requiring it to match only before reload. | |
25141 | * config/h8300/h8300-protos.h (h8300_legitimate_address_p): Add | |
25142 | mode argument. | |
25143 | * config/h8300/h8300.h (GO_IF_LEGITIMATE_ADDRESS): Pass it to... | |
25144 | * config/h8300/h8300.c (h8300_legitimate_address_p): Pass it to | |
25145 | h8300_get_index. | |
25146 | * config/h8300/h8300.md (attr type): Add call. | |
25147 | (attr can_delay): If type is call, set it no. | |
25148 | (call, call_value): Set type to call. | |
25149 | 2004-06-21 Alexandre Oliva <aoliva@redhat.com> | |
25150 | * config/h8300/h8300.md (logicalhi3_sn, logicalsi3_sn): New. | |
25151 | 2004-06-16 Alexandre Oliva <aoliva@redhat.com> | |
25152 | * tree.c (get_narrower): Don't narrow integral types into | |
25153 | non-integral types. | |
25154 | * config/h8300/h8300.c (h8300_expand_epilogue): Initialize | |
25155 | frame_size *before* the first use. | |
25156 | * config/h8300/h8300.md (movstrictqi): Reintroduce post-increment | |
25157 | on input. | |
25158 | (peephole2): Don't widen instructions that push SP. Move | |
25159 | decrement of SP to the end of all stm-generating peepholes. | |
25160 | 2003-07-24 Richard Sandiford <rsandifo@redhat.com> | |
25161 | * config/h8300/h8300.md (insv): Prefer to use AND to clear a bitfield | |
25162 | and OR to set it to all ones. | |
25163 | 2003-07-24 Richard Sandiford <rsandifo@redhat.com> | |
25164 | * config/h8300/h8300.md (can_delay): Default to "no" for bit branches. | |
25165 | (call, call_value): Set can_delay to "no". | |
25166 | 2003-07-22 Richard Sandiford <rsandifo@redhat.com> | |
25167 | * config/h8300/h8300.md (extzv): Make subreg check more robust. | |
25168 | 2003-07-21 Richard Sandiford <rsandifo@redhat.com> | |
25169 | * config/h8300/h8300.md (*brabit): Remove. | |
25170 | * config/h8300/h8300.md (*brabc, *brabs): Remove mode from | |
25171 | zero_extract. Use bit_memory_operand as the predicate for | |
25172 | operand 1 and 'WU' as the constraint. Check the difference | |
25173 | between the base length and the final one when deciding which | |
25174 | type of branch to use. | |
25175 | 2003-07-21 Richard Sandiford <rsandifo@redhat.com> | |
25176 | * config/h8300/h8300.md (extzv): Remove mode from operands 0 and 1. | |
25177 | Use convert_move to extend the result for TARGET_H8300SX. Check | |
25178 | for QImode memory references. Optimize the case where the | |
25179 | destination is a paradoxical subreg. | |
25180 | 2003-07-21 Richard Sandiford <rsandifo@redhat.com> | |
25181 | * config/h8300/h8300.md (*movsf_h8sx): Add an r <- G alternative. | |
25182 | * config/h8300/h8300.md (andqi): Remove bclr from h8sx version. | |
25183 | 2003-07-21 Richard Sandiford <rsandifo@redhat.com> | |
25184 | * config/h8300/h8300.md: Include mova.md | |
25185 | (length_table): Add mova and mova_zero. | |
25186 | * config/h8300/h8300.c (print_operand): Handle '%o'. Print a length | |
25187 | after all constant addresses for '%R', '%X', '%T' and '%S'. | |
25188 | (h8300_mova_length): New function. | |
25189 | (h8300_insn_length_from_table): Use it to handle mova and mova_zero. | |
25190 | * config/h8300/t-h8300 (mova.md): Generate from genmova.sh. Add to | |
25191 | dependencies for s-config, etc. | |
25192 | * config/h8300/gemova.sh: New file. | |
25193 | * config/h8300/mova.md: Generated. | |
25194 | 2003-07-20 Alexandre Oliva <aoliva@redhat.com> | |
25195 | * config/h8300/h8300.c (h8300_bitfield_length): New. | |
25196 | (nibble_operand): Adjust. | |
25197 | (h8300_binary_length): Handle conditional binary op. | |
25198 | (h8300_insn_length_from_table): Handle bitfield and bitbranch. | |
25199 | * config/h8300/h8300.h: Change constraints W# and Y# to P#>X and | |
25200 | P#<X, respectively. The original P is now IP4>X. Introduced P#>0 | |
25201 | and P#<0, unused so far. W and Y are now prefixes to multi-letter | |
25202 | constraints. WU is introduced as a variant of U that requires a | |
25203 | mem, and is therefore considered an EXTRA_MEMORY_CONSTRAINT. | |
25204 | * config/h8300/h8300.md (attr type): Added bitbranch. | |
25205 | (attr length_table): Added bitfield and bitbranch. | |
25206 | (attr length): Compute bitbranch length. | |
25207 | (andqi): Separate pattern for H8300SX. Use bfld for loading the | |
25208 | least-significant bit of a byte. | |
25209 | (brabit, brabc, brabs): New. | |
25210 | (insv, extzv): Emit bfst and bfld on H8300SX. | |
25211 | (bfld, bfst, seq, sne): New. | |
25212 | (bstzhireg, cmpstz, bstz, bistz): New. | |
25213 | (cmpcondbset, condbset, cmpcondbclr, condbclr): New. | |
25214 | (cmpcondbsetreg, condbsetreg, cmpcondbclrreg, condbclrreg): New. | |
25215 | 2003-07-11 Richard Sandiford <rsandifo@redhat.com> | |
25216 | * config/h8300/h8300.c (h8sx_binary_memory_operator): New function. | |
25217 | (h8sx_unary_memory_operator): New function. | |
25218 | * config/h8300/h8300.h (EXTRA_MEMORY_CONSTRAINT): Disable. | |
25219 | (PREDICATE_CODES): Add h8sx_{unary,binary}_memory_operator. | |
25220 | * config/h8300/h8300.md: Add peepholes to combine reloads and | |
25221 | arithmetic insns. | |
25222 | 2003-07-10 Richard Sandiford <rsandifo@redhat.com> | |
25223 | * config/h8300/h830.md (cmpqi): Use 'i' rather than 'n' in constraints. | |
25224 | (*cmphi_h8300hs, *addqi3, *addhi3_h8sx, subhi3): Likewise. | |
25225 | (and?i, ior?i, xor?i): Likewise. | |
25226 | 2003-07-10 Richard Sandiford <rsandifo@redhat.com> | |
25227 | * config/h8300/h8300.c: Move enums and prototypes to head of file. | |
25228 | Various whitespace fixes. | |
25229 | (h8300_constant_length): New function, split out from... | |
25230 | (h8300_displacement_size): ...here. Rename h8300_displacement_length. | |
25231 | (h8300_classify_operand): Use IN_RANGE. | |
25232 | (h8300_classify_operand): Use h8300_constant_length. | |
25233 | (h8300_short_move_mem_p): Tighten size check. | |
25234 | (h8sx_mergeable_memrefs_p): Tighten equality check. | |
25235 | 2003-06-30 Richard Sandiford <rsandifo@redhat.com> | |
25236 | * config/h8300/h8300.h (TARGET_CPU_CPP_BUILTINS): Define __H8300SX__ | |
25237 | for -msx. | |
25238 | * config/h8300/crti.asm: Use .h8300sx or .h8300sxn for -msx code. | |
25239 | * config/h8300/crtn.asm: Likewise. | |
25240 | * config/h8300/lib1funcs.asm: Likewise. Use 32-bit pointers | |
25241 | if __H8300SX__ is defined. | |
25242 | 2003-06-27 Richard Sandiford <rsandifo@redhat.com> | |
25243 | * config/h8300/h8300-protos.h (h8300_get_index): Add mode parameter. | |
25244 | * config/h8300/h8300.h (GO_IF_LEGITIMATE_ADDRESS): Update accordingly. | |
25245 | (GO_IF_MODE_DEPENDENT_ADDRESS): Treat POST_DEC, PRE_INC and indexed | |
25246 | addresses as mode-dependent. | |
25247 | * config/h8300/h8300.c (print_operand_address): Update call to | |
25248 | h8300_get_index. | |
25249 | (h8300_get_index): Take a mode argument. Rework to fix an | |
25250 | earlier misunderstanding. | |
25251 | 2003-06-26 Richard Sandiford <rsandifo@redhat.com> | |
25252 | * config/h8300/h8300.c (zero_extendqisi2): Force the source operand | |
25253 | into a register if TARGET_H8300SX. | |
25254 | (*zero_extendqisi2_h8300hs, *extendqisi2_h8300): Disable for | |
25255 | TARGET_H8300SX. Also disable related define_splits. | |
25256 | (*zero_extendqisi2_h8sx, *extendqisi2_h8sx): New patterns. | |
25257 | 2003-06-23 Richard Sandiford <rsandifo@redhat.com> | |
25258 | * config/h8300/h8300.c (h8300_rtx_costs): Add h8sx handling. | |
25259 | 2003-06-20 Richard Sandiford <rsandifo@redhat.com> | |
25260 | * config/h8300/h8300.h (OK_FOR_Z): New macro. | |
25261 | (EXTRA_CONSTRAINT_STR): Check it. | |
25262 | * config/h8300/h8300.c (h8300_classify_operand): Accept null | |
25263 | class arguments. | |
25264 | (h8300_insn_length_from_table): Handle LENGTH_TABLE_MOV_IMM4. | |
25265 | * config/h8300/h8300.md (length_table): Add mov_imm4. | |
25266 | (movqi, movhi): Add Z <- W4 alternatives to h8sx patterns. | |
25267 | 2003-06-20 Richard Sandiford <rsandifo@redhat.com> | |
25268 | * genattrtab.c (write_eligible_delay): Allow candidate_insn to | |
25269 | be a label. | |
25270 | * config/h8300/h8300.h (DELAY_SLOT_LENGTH): New macro. | |
25271 | * config/h8300/h8300.c (h8300_reorg): New function. | |
25272 | (TARGET_MACHINE_DEPENDENT_REORG): Define. | |
25273 | * config/h8300/h8300.md (length): Subtract the length of the | |
25274 | delay slot from (pc) when checking the range of forward branches. | |
25275 | (delay_slot, can_delay): New attributes. | |
25276 | (define_delay): Add bra/s handling. | |
25277 | (movmd_internal, return_h8sx, *return_1): Set can_delay to no. | |
25278 | (jump): Add delayed-branch handling. | |
25279 | 2003-06-17 Richard Sandiford <rsandifo@redhat.com> | |
25280 | * expr.c (expand_strcpy): New function. | |
25281 | * builtins.c (expand_builtin_strcpy): Fall back on expand_strcpy. | |
25282 | (expand_builtin_stpcpy): Likewise. | |
25283 | * config/h8300/h8300-protos.h (h8sx_split_movmd): Remove. | |
25284 | (h8300_swap_into_er6, h8300_swap_out_of_er6): Declare. | |
25285 | * config/h8300/h8300.c (h8300_reg_class_from_letter): Tweak 'd' | |
25286 | handling to improve register allocation for -fno-omit-frame-pointer. | |
25287 | (h8sx_split_movmd): Delete, moving er6 handling into... | |
25288 | (h8300_swap_into_er6, h8300_swap_out_of_er6): ...these new functions. | |
25289 | * config/h8300/h8300.md (UNSPEC_STPCPY): New unspec constant. | |
25290 | (movmd): Add calls to copy_rtx. | |
25291 | (movmd_internal): In the second alternative, allow the initial and | |
25292 | final destination registers to be different . Update the splitter | |
25293 | accordingly. Call h8300_swap_into_er6 and h8300_swap_out_of_er6 | |
25294 | instead of h8sx_split_movmd. | |
25295 | (stpcpy, movsd): New expanders. | |
25296 | (movsd_internal): New define_insn. | |
25297 | 2003-06-13 Richard Sandiford <rsandifo@redhat.com> | |
25298 | * config/h8300/h8300-protos.h (h8300_reg_class_from_letter): Declare. | |
25299 | (h8sx_emit_movmd, h8sx_split_movmd): Declare. | |
25300 | * config/h8300/h8300.h (reg_class): Add COUNTER_REGS, SOURCE_REGS | |
25301 | and DESTINATION_REGS. | |
25302 | (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update accordingly. | |
25303 | (REGNO_REG_CLASS): Map er4, er5 and er6 to the new classes. | |
25304 | (REG_CLASS_FROM_LETTER): Use h8300_reg_class_from_letter. | |
25305 | (h8300_move_ratio): Declare. | |
25306 | (MOVE_RATIO): Use it. | |
25307 | * config/h8300/h8300.c (h8300_move_ratio): New variable. | |
25308 | (h8300_init_once): Initialize it. | |
25309 | (h8300_reg_class_from_letter): New function. | |
25310 | (print_operand): Add an 'm' prefix for printing ".b", ".w" or ".l". | |
25311 | (h8sx_emit_movmd, h8sx_split_movmd): New functions. | |
25312 | * config/h8300/h8300.md (UNSPEC_MOVMD): New unspec constant. | |
25313 | (COUNTER_REG, SOURCE_REG, DESTINATION_REG): New register constants. | |
25314 | (movstrsi, movmd): New expanders. | |
25315 | (movmd_internal): New insn. | |
25316 | 2003-06-06 Richard Sandiford <rsandifo@redhat.com> | |
25317 | * config/h8300/h8300.h (EXTRA_MEMORY_CONSTRAINT): Define. | |
25318 | 2003-06-04 Richard Sandiford <rsandifo@redhat.com> | |
25319 | * config/h8300/elf.h (LINK_SPEC): Use -m h8300sxnelf for -msx -mn. | |
25320 | * config/h8300/h8300.c (asm_file_start): Use .h8300sxn likewise. | |
25321 | 2003-06-03 Richard Sandiford <rsandifo@redhat.com> | |
25322 | * config/h8300/h8300.c (nibble_operand): Fix warning. | |
25323 | * config/h8300/h8300.md (movstricthi): Set adjust_length to no. | |
25324 | (movsi_h8sx): Likewise here and the normal h8sx movhi pattern. | |
25325 | (movsf_h8300h): Disable for TARGET_H8300SX. | |
25326 | 2003-06-03 Richard Sandiford <rsandifo@redhat.com> | |
25327 | * config/h8300/h8300.h (PREDICATE_CODES): Add h8300_ldm_parallel, | |
25328 | h8300_stm_parallel and h8300_return_parallel. | |
25329 | * config/h8300/h8300.c (h8300_push_pop, h8300_stack_offset_p, | |
25330 | h8300_ldm_stm_regno, h8300_ldm_stm_parallel, h8300_ldm_parallel, | |
25331 | h8300_stm_parallel, h8300_return_parallel): New functions. | |
25332 | (h8300_expand_prologue): Don't enforce ldm/stm register alignment | |
25333 | if TARGET_H8300SX. Use h8300_push_pop. | |
25334 | (h8300_expand_epilogue): Likewise. Try to merge the return insn | |
25335 | and final pop when generating h8sx code. Always emit some form | |
25336 | of return insn. | |
25337 | * config/h8300/h8300.md: Don't enforce register alignment in | |
25338 | stm peepholes if TARGET_H8300SX. | |
25339 | (ldm_h8300s, stm_h8300s, return_h8sx): New patterns. | |
25340 | (ldm_h8300s_[234], stm_h8300_[234]): Disable. | |
25341 | (epilogue): Expect h8300_expand_epilogue to emit a return insn. | |
25342 | 2003-06-03 Richard Sandiford <rsandifo@redhat.com> | |
25343 | * config/h8300/t-h8300 (MULTILIB_OPTIONS): Add a -msx multilib. | |
25344 | (MULTILIB_DIRNAMES): Add a directory for it. | |
25345 | (MULTILIB_MATCHES): Delete. | |
25346 | 2003-05-28 Richard Sandiford <rsandifo@redhat.com> | |
25347 | * final.c (walk_alter_subreg): Handle addresses with subregs | |
25348 | inside a ZERO_EXTEND or AND. | |
25349 | * config/h8300/h8300-protos.h (h8300_get_index): Declare. | |
25350 | * config/h8300/h8300.h (INDEX_REG_CLASS): Set to GENERAL_REGS | |
25351 | if TARGET_H8300SX. | |
25352 | (GO_IF_LEGITIMATE_ADDRESS): Use h8300_get_index. | |
25353 | * config/h8300/h8300.c (print_operand_address): Handle @(dd,RnL.b), | |
25354 | @(dd,Rn.w) and @(dd,ERn.L). | |
25355 | (h8300_displacement_size): Take the whole address as argument. | |
25356 | (h8300_classify_operand, h8300_short_move_mem_p): Adjust accordingly. | |
25357 | 2003-05-28 Richard Sandiford <rsandifo@redhat.com> | |
25358 | * config/mips/mips-protos.h (h8300_operands_match_p): Declare. | |
25359 | (h8sx_mergeable_memrefs_p): Declare. | |
25360 | * config/h8300/h8300.h (HAVE_POST_DECREMENT): Define to TARGET_H8300SX. | |
25361 | (HAVE_PRE_INCREMENT): Likewise. | |
25362 | (GO_IF_LEGITIMATE_ADDRESS): Accept pre/post increment/decrement | |
25363 | addresses for TARGET_H8300SX, | |
25364 | * config/h8300/h8300.c (print_operand_address): Deal with PRE_INC | |
25365 | and POST_DEC. | |
25366 | (movb_length_table, movl_length_table): New tables. | |
25367 | (movw_length_table): Define to movb_length_table. | |
25368 | (h8300_displacement_size): New, split out from... | |
25369 | (h8300_classify_address): ...here. Handle pre/post inc/dec. | |
25370 | (h8300_short_immediate_length): Allow H8OP_MEM_COMPLEX operands. | |
25371 | (h8300_insn_length_from_table): Add cases for movb, movw and movl. | |
25372 | (h8sx_mergeable_memrefs_p, h8300_operands_match_p): New functions. | |
25373 | (output_plussi): Use add.l #xx:3,Rn and sub.l #xx:3,Rn for h8sx. | |
25374 | (compute_plussi_length, compute_plussi_cc): Update accordingly. | |
25375 | (h8sx_unary_shift_operator): Get the mode from the operator. | |
25376 | (binary_shift_operator): Likewise. | |
25377 | * config/h8300/h8300.md: If a peephole2 applies gen_lowpart to | |
25378 | a memory reference, check whether the reference is offsettable. | |
25379 | (length_table): Add movb, movw and movl. | |
25380 | (movqi): Add new h8sx pattern. Don't force one operand to be a | |
25381 | register when generating h8sx code. | |
25382 | (movhi, movsi, movsf): Likewise. | |
25383 | (movstrictqi): Use the length_table attribute. | |
25384 | (movstricthi): Likewise. Add h8sx alternative for mov.w #xx:3,Rn. | |
25385 | (addqi3): Split into a define_expand and define_insn. Don't accept | |
25386 | memory operands in the expander. Use h8300_operands_match_p to | |
25387 | check for matching operands in the define_insn. | |
25388 | (subqi3, negqi2, one_cmplqi2): Likewise. | |
25389 | (add[hs]i3): Don't accept memory operands in the expander. Likewise | |
25390 | in any patterns that are unused in h8sx code. In the h8sx patterns, | |
25391 | use h8300_operands_match_p to check whether operands match. | |
25392 | (sub[hs]i3, and[hi]3, ior[hs]i3, xor[hs]i3, neg[hsi]3, | |
25393 | one_cmpl[hs]i3): Likewise. | |
25394 | (andqi3, iorqi3, xorqi3): Likewise. Don't call fix_bit_operand | |
25395 | in the expander. | |
25396 | 2003-05-23 Richard Sandiford <rsandifo@redhat.com> | |
25397 | * config/h8300/h8300-protos.h (expand_a_shift): Return a bool. | |
25398 | (h8300_insn_length_from_table): Add a second parameter. | |
25399 | (output_h8sx_shift): Declare. | |
25400 | * config/h8300/h8300.h (OK_FOR_W, OK_FOR_Y): New macros. | |
25401 | (EXTRA_CONSTRAINT): Replace with... | |
25402 | (EXTRA_CONSTRAINT_STR): ...this. Use OK_FOR_W and OK_FOR_Y. | |
25403 | (CONSTRAINT_LEN): Define, returning 2 for 'W' and 'Y'. | |
25404 | (PREDICATE_CODES): Add entries for h8sx_unary_shift_operator | |
25405 | and h8sx_binary_shift_operator. | |
25406 | * config/h8300/h8300.c (two_insn_adds_subs_operand): Return false | |
25407 | for TARGET_H8300SX. | |
25408 | (bit_operand): Replace use of EXTRA_CONSTRAINT with OK_FOR_U. | |
25409 | (bit_memory_operand, fix_bit_operand): Likewise. | |
25410 | (h8300_length_table_for_insn): Remove. | |
25411 | (h8300_classify_operand): Fix check for 16-bit operands in 32-bit | |
25412 | instructions. | |
25413 | (h8300_short_immediate_length, h8300_binary_length): New functions. | |
25414 | (h8300_insn_length_from_table): Add an opcodes parameter. Rework. | |
25415 | (output_plussi): Use sub to add negative constants. | |
25416 | (compute_plussi_length): Adjust accordingly. | |
25417 | (h8sx_single_shift_type): New enum. | |
25418 | (h8sx_single_shift, h8sx_unary_shift_operator, | |
25419 | h8sx_binary_shift_operator, output_h8sx_shift): New functions. | |
25420 | (expand_a_shift, expand_a_rotate): Emit nothing if the shift is a | |
25421 | single h8sx instruction. Return false in this case. | |
25422 | * config/h8300/h8300.md (length_table): Add short_immediate. | |
25423 | (length): Pass the operand array to h8300_insn_length_from_table. | |
25424 | (adjust_length): Assume "no" for insns with a length_table attribute. | |
25425 | (*cmphi_h8300hs, cmpsi): Add alternatives for #xx:3. | |
25426 | (*addhi3_h8300hs): Don't use for h8sx. | |
25427 | (*addhi3_h8sx): New pattern, with alternatives for add.w #xx:3 | |
25428 | and sub.w #xx:3. | |
25429 | (ashl[qhs]i3, lshr[qhs]i3, ashr[qhs]i3, rotl[qhs]i3): Change operand | |
25430 | 1's predicate to nonimmediate_operand. Only skip default expansion | |
25431 | if expand_a_shift or expand_a_rotate returns true. Add new patterns | |
25432 | for single h8sx shift instructions. | |
25433 | 2003-05-22 Alexandre Oliva <aoliva@redhat.com> | |
25434 | * config/h8300/h8300.c (nibble_operand): Split out of... | |
25435 | (reg_or_nibble_operand): ... this. | |
25436 | * config/h8300/h8300.h (PREDICATE_CODES): Added nibble_operand. | |
25437 | * config/h8300/h8300.md: (mulqihi3, mulhisi3, umulqihi3, | |
25438 | umulhisi3): Introduce expand, and introduce separate insns for | |
25439 | sign- or zero-extended REG and already-extended CONST_INT. | |
25440 | 2003-05-20 Richard Sandiford <rsandifo@redhat.com> | |
25441 | * config/h8300/h8300.c (h8300_unary_length): Fix miscounting. | |
25442 | * config/h8300/h8300.md (subqi3): Generalize for h8sx. | |
25443 | (subhi3): Likewise. Don't accept immediates for operand 1. | |
25444 | Remove the early clobber from second alternative of the h8300s pattern. | |
25445 | (subsi3): Generalize for h8sx. Force operand 2 into a register | |
25446 | on plain h8300 targets. | |
25447 | (subsi3_h8300): Use h8300_dst_operand for consistency with expander. | |
25448 | (subsi3_h8300h): Generalize for h8sx. | |
25449 | (one_cmplqi2, one_cmplhi2, one_cmplsi2): Likewise. | |
25450 | 2003-05-19 Alexandre Oliva <aoliva@redhat.com> | |
25451 | * config/h8300/h8300.c (reg_or_nibble_operand): New. | |
25452 | * config/h8300/h8300.h (PREDICATE_CODES): Adjust. | |
25453 | (TARGET_H8300SXMUL): New. | |
25454 | (CONST_OK_FOR_P): New. | |
25455 | (CONST_OK_FOR_LETTER_P): Adjust. | |
25456 | * config/h8300/h8300.md (mulqihi3, mulhisi3, umulqihi3, | |
25457 | umulhisi3): Accept 4-bit immediate on H8SX. | |
25458 | (mulhi3, mulsi3, smulsi3_highpart, umulsi3_highpart): New. | |
25459 | (udivsi3, divhi3, udivsi3, divsi3): New. | |
25460 | 2003-05-19 Richard Sandiford <rsandifo@redhat.com> | |
25461 | * config/h8300/h8300-protos.h (h8300_insn_length_from_table): Declare. | |
25462 | * config/h8300/h8300.h (OK_FOR_Q): New macro. | |
25463 | (EXTRA_CONSTRAINT): Use it to check the 'Q' constraint. | |
25464 | (PREDICATE_CODES): Add h8300_src_operand and h8300_dst_operand. | |
25465 | Add ADDRESSOF to the bit_operand entry. | |
25466 | * config/h8300/h8300.c (h8300_dst_operand): New predicate. | |
25467 | (h8300_src_operand): Likewise. | |
25468 | (bit_operand): Check nonimmediate_operand rather than general_operand. | |
25469 | Accept any nonimmediate_operand in h8sx code. | |
25470 | (h8300_and_costs): Initialize operands[1]. | |
25471 | (h8300_rtx_costs) <AND>: Return false if the operands aren't valid. | |
25472 | (h8300_operand_class): New enum. | |
25473 | (h8300_length_table): New typedef. | |
25474 | (addb_length_table, addw_length_table, addl_length_table, | |
25475 | logicl_length_table): New tables. | |
25476 | (logicb_length_table, logicw_length_table): New macros. | |
25477 | (h8300_classify_operand, h8300_length_from_table, | |
25478 | h8300_length_table_for_insn, h8300_unary_length, | |
25479 | h8300_insn_length_from_table): New functions. | |
25480 | (output_plussi): Only use adds and subs for register destinations. | |
25481 | Disable redundant clause. | |
25482 | (compute_plussi_cc): Likewise. | |
25483 | (compute_plussi_length): Likewise. Use h8300_length_from_table | |
25484 | to work out the length of an insn. | |
25485 | (output_logical_op): Only use narrower immediate instructions | |
25486 | if the destination is a register. | |
25487 | (compute_logical_op_cc): Likewise. | |
25488 | (compute_logical_op_length): Likewise. Use h8300_length_from_table. | |
25489 | (h8300_adjust_insn_length): Tighten check for reg<->mem moves. | |
25490 | * config/h8300/h8300.md (length_table): New attribute. | |
25491 | (length): When an instruction has a length_table attribute, use | |
25492 | h8300_insn_length_from_table to calculate its default length. | |
25493 | (cmpqi): Use h8300_dst_operand for the first operand and | |
25494 | h8300_src_operand for the second. | |
25495 | (cmphi, *cmphi_h8300hs, cmpsi, negqi2, neghi2, neghi2_h8300h, negsi2, | |
25496 | negsi2_h8300h, addqi3, addhi3, *addhi3_h8300, *addhi3_h8300hs, addsi3, | |
25497 | addsi_h8300, addsi_h8300h, andhi3, andsi3, iorhi3, | |
25498 | iorsi3, xorhi3, xorsi3): Likewise. | |
25499 | (andqi3): Use h8300_src_operand for operand 2. Adjust the condition | |
25500 | so that it allows any combination of operands for TARGET_H8300SX. | |
25501 | (iorqi3, xorqi3): Likewise. | |
25502 | (cmpqi): Use the length_table attribute. | |
25503 | (*cmphi_h8300hs, cmpsi, addqi, *addhi3_h8300hs, andqi3, iorqi3, | |
25504 | xorqi3, negqi2, neghi2_h8300h, negsi2_h8300h): Likewise. | |
25505 | (cmpqi): Add 'Q' constraint. | |
25506 | (*cmphi_h8300hs, cmpsi, addqi, *addhi3_h8300hs, addsi_h8300h, andqi3, | |
25507 | iorqi3, xorqi3, negqi2, neghi2_h8300h, negsi2_h8300h): Likewise. | |
25508 | 2003-05-14 Richard Sandiford <rsandifo@redhat.com> | |
25509 | * config/h8300/h8300.h (MASK_H8300SX): New macro. | |
25510 | (TARGET_H8300S): True for both -ms and -msx. | |
25511 | (TARGET_H8300SX): New macro. | |
25512 | (TARGET_SWITCHES): Add entries for -msx and -mno-sx. | |
25513 | * config/h8300/h8300.c (asm_file_start): Write .h8300sx for -msx. | |
25514 | * config/h8300/elf.h (LINK_SPEC): Use -m h8300sxelf for -msx. | |
25515 | * config/h8300/t-h8300 (MULTILIB_MATCHES): Use -ms multilibs for -msx. | |
25516 | [Temporary change.] | |
25517 | 2003-02-28 Alexandre Oliva <aoliva@redhat.com> | |
25518 | * config/h8300/h8300.h (SIZE_TYPE, PTRDIFF_TYPE): Use short with | |
25519 | 16-bit pointers and 32-bit ints. | |
25520 | * config/h8300/h8300.h (LEGITIMATE_CONSTANT_P): Accept | |
25521 | CONST_DOUBLE with mode no wider than SImode. | |
25522 | * config/h8300/h8300.md (extendqisi2_h8300): Add constraints for | |
25523 | output operand. | |
25524 | 2003-02-27 Alexandre Oliva <aoliva@redhat.com> | |
25525 | * config/h8300/h8300.c (general_operand_src): Match CONSTANT_P_RTX | |
25526 | or SUBREG thereof. | |
25527 | * config/h8300/h8300.h (PREDICATE_CODES): Adjust. | |
25528 | 2003-02-22 Alexandre Oliva <aoliva@redhat.com> | |
25529 | * config/h8300/h8300.c (dosize): Truncate sign * size to Pmode. | |
25530 | ||
25531 | 2004-05-28 Aaron W. LaFramboise <aaronraolete36@aaronwl.com> | |
25532 | ||
25533 | * config.gcc (i[34567]86-*-mingw32*): Enable threads by default. | |
25534 | ||
25535 | 2004-07-07 Per Bothner <per@bothner.com> | |
25536 | ||
e8366202 | 25537 | * flow.c (attempt_auto_inc): Remove now-redundant PUT_CODE. |
7a4515d7 SB |
25538 | |
25539 | 2004-07-07 Mike Stump <mrs@apple.com> | |
25540 | ||
25541 | * darwin.h (ASM_OUTPUT_LABELREF): Fix -fno-leading-underscore. | |
25542 | * darwin.c (machopic_non_lazy_ptr_name, machopic_stub_name) | |
25543 | (machopic_finish): Likewise. | |
25544 | ||
25545 | 2004-07-07 Richard Henderson <rth@redhat.com> | |
25546 | ||
25547 | * tree-ssa-dom.c (simplify_switch_and_lookup_avail_expr): Look | |
25548 | through any value-preserving cast. | |
25549 | ||
25550 | 2004-07-07 Alexandre Oliva <aoliva@redhat.com> | |
25551 | ||
25552 | * function.c (assign_parm_find_data_types): Call | |
25553 | FUNCTION_ARG_PASS_BY_REFERENCE only if it's defined. | |
25554 | ||
25555 | 2004-07-07 Steven Bosscher <stevenb@suse.de> | |
25556 | ||
25557 | * tree-cfg.c (group_case_labels): Remove case labels that have | |
25558 | the same target as the default case. | |
25559 | ||
25560 | 2004-07-07 Steven Bosscher <stevenb@suse.de> | |
25561 | ||
25562 | * tree-inline.c (optimize_inline_calls): Set DECL_INLINED_FNS | |
25563 | regardless of DECL_LANG_SPECIFIC being present or not. | |
25564 | * tree.h (DECL_NUM_STMTS): Purge. | |
25565 | ||
25566 | 2004-07-07 Andrew Pinski <apinski@apple.com> | |
25567 | ||
25568 | * configure: Regenerate with the right autoconf. | |
25569 | ||
25570 | 2004-07-07 David Edelsohn <edelsohn@gnu.org> | |
25571 | ||
25572 | * ifcvt.c (total_bb_rtx_cost): New function. | |
25573 | (find_if_case_1): Compare rtx_cost of basic block to cost of | |
25574 | BRANCH_COST insns. | |
25575 | (find_if_case_2): Same. | |
25576 | ||
25577 | 2004-07-07 Eric Botcazou <ebotcazou@libertysurf.fr> | |
25578 | ||
25579 | PR target/10567 | |
25580 | * config/sparc/sparc.c (load_pic_register): Honor flag_delayed_branch. | |
25581 | (output_return): Likewise. | |
25582 | (output_sibcall): Abort if !flag_delayed_branch. | |
25583 | (sparc_function_ok_for_sibcall): Return 0 if !flag_delayed_branch. | |
25584 | (emit_and_preserve): New function. | |
25585 | (sparc_output_mi_thunk): Use it. Honor flag_delayed_branch. Emit an | |
25586 | indirect jump to the thunked-to function if !flag_delayed_branch. | |
25587 | * config/sparc/sparc.md (delayed_branch): New attribute. | |
25588 | (load_pcrel_sym): Honor flag_delayed_branch. Use above | |
25589 | attribute to compute the length of the insn. | |
25590 | (goto_handler_and_restore): Likewise. | |
25591 | ||
25592 | 2004-07-07 Andrew Pinski <apinski@apple.com> | |
25593 | ||
25594 | PR tree-optimization/15777 | |
25595 | * fold-const.c (fold_single_bit_test): Fold the x^1 expression. | |
25596 | ||
25597 | * expr.c (expand_expr_real_1): Fix formating. | |
25598 | BUFFER_REF and IN_EXPR are dead. | |
25599 | * fold-const.c (non_lvalue): BUFFER_REF is dead. | |
25600 | * tree-inline.c (estimate_num_insns_1): Likewise. | |
25601 | * tree-pretty-print.c (dump_generic_node): BUFFER_REF, | |
25602 | IN_EXPR, SET_LE_EXPR, and CARD_EXPR are dead. | |
25603 | * tree.def (BUFFER_REF, IN_EXPR, SET_LE_EXPR, CARD_EXPR): Kill. | |
25604 | ||
25605 | 2004-07-07 H.J. Lu <hongjiu.lu@intel.com> | |
25606 | ||
25607 | * collect2.c (dump_file): Don't call cplus_demangle if | |
25608 | HAVE_LD_DEMANGLE is defined. | |
25609 | (main): Pass "--demangle" to ld if no_demangle is not 0 and | |
25610 | HAVE_LD_DEMANGLE is defined. Don't set current_demangling_style | |
25611 | if HAVE_LD_DEMANGLE is defined. | |
25612 | ||
25613 | * configure.ac (--with-demangler-in-ld): Added | |
25614 | (HAVE_LD_DEMANGLE): Define if ld supports --demangle when | |
25615 | --with-demangler-in-ld is used. | |
25616 | * config.in: Regenerated. | |
25617 | * configure: Likewise. | |
25618 | ||
25619 | 2004-07-07 Roger Sayle <roger@eyesopen.com> | |
25620 | ||
25621 | * config/rs6000/rs6000.c (struct processor_costs): Add new fields | |
25622 | for simple floating point operations "fp", double precision | |
25623 | multiplication "dmul", and single and double precision division | |
25624 | "sdiv" and "ddiv". Update all CPU variant tables as appropriate. | |
25625 | (ppc630_cost): New table split from ppc620_cost, to distinguish | |
25626 | differences in floating point latencies. | |
25627 | (rs6000_override_options): Use ppc630_cost for PROCESSOR_PPC630. | |
25628 | (rs6000_rtx_costs): Add support for single and double precision | |
25629 | floating point addition, subtraction, multiplication, division, | |
25630 | fused-multiply-add, fused-multiply-sub, negation, absolute value | |
25631 | and negative absolute value. Tweak MEM case to use prefered idiom. | |
25632 | ||
25633 | 2004-07-07 Richard Henderson <rth@redhat.com> | |
25634 | ||
25635 | * tree-flow-inline.h (may_propagate_copy): Move... | |
25636 | * tree-ssa-copy.c (may_propagate_copy): ... here. Fail if we | |
25637 | attempt to copy between types requiring conversion. | |
25638 | * tree-flow.h (may_propagate_copy): Update decl. | |
25639 | * tree-ssa-dom.c (cprop_operand): Tidy redundant tests. | |
25640 | ||
25641 | 2004-07-07 Jakub Jelinek <jakub@redhat.com> | |
25642 | ||
25643 | * config/i386/i386.c (override_options): Don't set x86_prefetch_sse | |
25644 | from -mtune= option. | |
25645 | ||
25646 | 2004-07-07 Alexandre Oliva <aoliva@redhat.com> | |
25647 | ||
25648 | * builtins.c: Rename movstr*, except for movstrict*, to | |
25649 | movmem* and clrstr* to clrmem*. | |
25650 | * expr.c: Likewise. | |
25651 | * expr.h: Likewise. | |
25652 | * genopinit.c: Likewise. | |
25653 | * integrate.c: Likewise. | |
25654 | * local-alloc.c: Likewise. | |
25655 | * optabs.c: Likewise. | |
25656 | * optabs.h: Likewise. | |
25657 | * config/alpha/alpha.h: Likewise. | |
25658 | * config/alpha/alpha.md: Likewise. | |
25659 | * config/arm/arm-protos.h: Likewise. | |
25660 | * config/arm/arm.c: Likewise. | |
25661 | * config/arm/arm.md: Likewise. | |
25662 | * config/avr/avr.md: Likewise. | |
25663 | * config/c4x/c4x.c: Likewise. | |
25664 | * config/c4x/c4x.md: Likewise. | |
25665 | * config/frv/frv.md: Likewise. | |
25666 | * config/i386/i386-protos.h: Likewise. | |
25667 | * config/i386/i386.c: Likewise. | |
25668 | * config/i386/i386.h: Likewise. | |
25669 | * config/i386/i386.md: Likewise. | |
25670 | * config/i860/i860.c: Likewise. | |
25671 | * config/i860/i860.md: Likewise. | |
25672 | * config/ip2k/ip2k.md: Likewise. | |
25673 | * config/ip2k/libgcc.S: Likewise. | |
25674 | * config/ip2k/t-ip2k: Likewise. | |
25675 | * config/m32r/m32r.c: Likewise. | |
25676 | * config/m32r/m32r.md: Likewise. | |
25677 | * config/mcore/mcore.md: Likewise. | |
25678 | * config/mips/mips.c: Likewise. | |
25679 | * config/mips/mips.md: Likewise. | |
25680 | * config/ns32k/ns32k.c: Likewise. | |
25681 | * config/ns32k/ns32k.h: Likewise. | |
25682 | * config/ns32k/ns32k.md: Likewise. | |
25683 | * config/pa/pa.c: Likewise. | |
25684 | * config/pa/pa.md: Likewise. | |
25685 | * config/pdp11/pdp11.h: Likewise. | |
25686 | * config/pdp11/pdp11.md: Likewise. | |
25687 | * config/rs6000/rs6000.c: Likewise. | |
25688 | * config/rs6000/rs6000.md: Likewise. | |
25689 | * config/s390/s390-protos.h: Likewise. | |
25690 | * config/s390/s390.c: Likewise. | |
25691 | * config/s390/s390.md: Likewise. | |
25692 | * config/sh/lib1funcs.asm: Likewise. | |
25693 | * config/sh/sh.c: Likewise. | |
25694 | * config/sh/sh.md: Likewise. | |
25695 | * config/sh/t-sh: Likewise. | |
25696 | * config/sparc/sparc.h: Likewise. | |
25697 | * config/vax/vax.md: Likewise. | |
25698 | * config/xtensa/xtensa.c: Likewise. | |
25699 | * config/xtensa/xtensa.md: Likewise. | |
25700 | * doc/invoke.texi: Likewise. | |
25701 | * doc/md.texi: Likewise. | |
25702 | * doc/rtl.texi: Likewise. | |
25703 | ||
25704 | 2004-07-07 Richard Sandiford <rsandifo@redhat.com> | |
25705 | ||
25706 | PR target/16407 | |
25707 | * config/mips/mips-protos.h (mips_declare_common_object): Declare. | |
25708 | * config/mips/mips.c (mips_declare_common_object): New function, | |
25709 | mostly split out from... | |
25710 | (mips_output_aligned_decl_common): ...here. | |
25711 | * config/mips/mips.h (ASM_OUTPUT_LOCAL): Remove in favor of... | |
25712 | (ASM_OUTPUT_ALIGNED_LOCAL): ...this new definition. | |
25713 | * config/mips/iris6.h (ASM_OUTPUT_ALIGNED_LOCAL): Undefine this | |
25714 | rather than ASM_OUTPUT_LOCAL. Call mips_declare_common_object. | |
25715 | ||
25716 | 2004-07-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
25717 | ||
25718 | PR c/16392 | |
25719 | * function.c (assign_parms): Fix typo from previous change. | |
25720 | ||
25721 | 2004-07-07 Jason Merrill <jason@redhat.com> | |
25722 | ||
25723 | PR c++/15815 | |
25724 | * doc/extend.texi (C++ Interface): Correct information and | |
25725 | discourage use. | |
25726 | ||
25727 | 2004-07-07 Vladimir Makarov <vmakarov@redhat.com> | |
25728 | ||
25729 | PR target/16130 | |
25730 | PR target/16142 | |
25731 | PR target/16143 | |
25732 | * config/ia64/ia64.c (ia64_dfa_new_cycle): Reset DFA state for asm | |
25733 | insn. | |
25734 | ||
25735 | 2004-07-06 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com> | |
25736 | ||
25737 | PR target/1679. | |
25738 | * config/m32r/m32r.c (m32r_function_symbol): New function: | |
25739 | Generate a symbol name RTX with the correct m32r specific flags | |
25740 | set. | |
25741 | (block_move_call): Use new function to generate correct symbol. | |
25742 | * config/m32r/m32r-protos.h: Add prototype for new funcion. | |
25743 | * config/m32r/m32r.h (INITIALIZE_TRAMPOLINE): Use the new | |
25744 | function. | |
25745 | ||
25746 | 2004-07-07 Nathan Sidwell <nathan@codesourcery.com> | |
25747 | ||
25748 | * tree.h (TYPE_BINFO_OFFSET, TYPE_BINFO_VTABLE, | |
25749 | TYPE_BINFO_VIRTUALS, TYPE_BINFO_BASETYPES, | |
25750 | TYPE_BINFO_BASETYPE): Remove. | |
25751 | (BINFO_BASETYPES, BINFO_N_BASETYPES, BINFO_BASETYPE): Rename | |
25752 | to ... | |
25753 | (BINFO_BASE_BINFOS, BINFO_N_BASE_BINFOS, BINFO_BASE_BINFO): ... | |
25754 | here. | |
25755 | (BINFO_BASEACCESSES, BINFO_BASEACCESS): Rename to ... | |
25756 | (BINFO_BASE_ACCESSES, BINFO_BASE_ACCESS): ... here. | |
25757 | (BINFO_INHERITANCE_CHAIN): Redocument as it is actually used. | |
25758 | (struct tree_binfo): Rename base_types to base_binfos. | |
25759 | * alias.c (record_component_aliases): Adjust BINFO macros. | |
25760 | * dbxout.c (dbxout_type): Likewise. | |
25761 | * dwarf2out.c (gen_member_die): Likewise. | |
25762 | * sdbout.c (sdbout_one_type): Likewise. | |
25763 | * tree-dump.c (deque_and_dump): Likewise. | |
25764 | * config/i386/i386.c (classify_argument, | |
25765 | contains_128bit_aligned_vector_p): Likewise. | |
25766 | ||
25767 | 2004-07-07 Nick Clifton <nickc@redhat.com> | |
25768 | ||
25769 | * config/fr30/fr30.c (fr30_setup_incoming_varargs): Change | |
25770 | arguments to match TARGET_SETUP_INCOMING_VARARGS prototype. | |
25771 | ||
25772 | 2004-07-07 Nathan Sidwell <nathan@codesourcery.com> | |
25773 | ||
25774 | * vec.h: Fix the example use. | |
25775 | ||
25776 | 2004-07-06 Richard Henderson <rth@redhat.com> | |
25777 | ||
25778 | * langhooks-def.h (LANG_HOOKS_GIMPLE_BEFORE_INLINING): Remove. | |
25779 | * langhooks.h (struct lang_hooks): Remove gimple_before_inlining. | |
25780 | * tree-inline.c (copy_body_r, setup_one_parameter, | |
25781 | initialize_inlined_parameters, expand_call_inline, | |
25782 | declare_inline_vars): Don't check it. | |
25783 | (expand_calls_inline): Remove old version, rename new version | |
25784 | from gimple_expand_calls_inline. | |
25785 | * tree-optimize.c (execute_gimple): Remove. | |
25786 | (pass_gimple): Don't run anything. | |
25787 | ||
25788 | 2004-07-06 Joseph S. Myers <jsm@polyomino.org.uk> | |
25789 | ||
25790 | * doc/sourcebuild.texi: Use semicolons instead of commas in | |
25791 | section title. | |
25792 | ||
25793 | 2004-07-06 Richard Henderson <rth@redhat.com> | |
25794 | ||
25795 | * tree-sra.c (struct sra_walk_fns): Revert 2004-07-05 change. | |
25796 | (sra_walk_modify_expr, scan_init): Likewise. | |
25797 | (generate_element_zero): Check visited before scanning children. | |
25798 | (generate_element_init): Set visited on error. | |
25799 | (scalarize_init): Handle generate_element_init failure similar | |
25800 | to use_block_copy. | |
25801 | ||
25802 | 2004-07-06 Joseph S. Myers <jsm@polyomino.org.uk> | |
25803 | ||
25804 | * toplev.h (NO_FRONT_END_DIAG, ATTRIBUTE_GCC_FE_DIAG): Define. | |
25805 | (warning, error, pedwarn, sorry): Use ATTRIBUTE_GCC_FE_DIAG. | |
25806 | ||
25807 | 2004-07-06 Richard Henderson <rth@redhat.com> | |
25808 | ||
25809 | * config/i386/i386.c (legitimize_pic_address): Make static. | |
25810 | (legitimize_address): Handle CONST with TLS operand. | |
25811 | (ix86_expand_move): Don't call legitimize_pic_address directly. | |
25812 | * config/i386/i386-protos.h (legitimize_pic_address): Remove. | |
25813 | ||
25814 | 2004-07-06 Roger Sayle <roger@eyesopen.com> | |
25815 | ||
25816 | * ifcvt.c (struct noce_if_info): Add a Boolean b_unconditional field. | |
25817 | (noce_try_sign_mask): Tweak rtx_cost check if t is evaluated anyway. | |
25818 | (noce_process_if_block): Initialize if_info.b_unconditional if insn_b | |
25819 | is currently executed unconditionally, i.e. not in "else_bb". | |
25820 | ||
25821 | 2004-07-06 Steven Bosscher <stevenb@suse.de> | |
25822 | ||
25823 | * config/alpha/alpha.c (alpha_use_dfa_pipeline_interface): Remove. | |
25824 | (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define to hook_int_void_1. | |
25825 | * config/arm/arm.c (arm_use_dfa_pipeline_interface): Remove. | |
25826 | (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define to hook_int_void_1. | |
25827 | * config/frv/frv.c (frv_use_dfa_pipeline_interface): Remove. | |
25828 | (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define to hook_int_void_1. | |
25829 | * config/i386/i386.c (ia32_use_dfa_pipeline_interface): Remove. | |
25830 | (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define to hook_int_void_1. | |
25831 | * config/ia64/ia64.c (ia64_use_dfa_pipeline_interface): Remove. | |
25832 | (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define to hook_int_void_1. | |
25833 | * config/pa/pa.c (hhpa_use_dfa_pipeline_interface): Remove. | |
25834 | (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define to hook_int_void_1. | |
25835 | * config/sparc/sparc.c (sparc_use_dfa_pipeline_interface): Remove. | |
25836 | (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define to hook_int_void_1. | |
25837 | * config/v850/v850.c (v850_use_dfa_pipeline_interface): Remove. | |
25838 | (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define to hook_int_void_1. | |
25839 | ||
25840 | 2004-07-06 Daniel Berlin <dberlin@dberlin.org> | |
25841 | ||
25842 | * dojump.c (do_jump): REFERENCE_EXPR is dead. | |
25843 | * expr.c (expand_expr_real_1): Ditto. | |
25844 | * tree-inline.c (estimate_num_insns_1): Ditto. | |
25845 | * tree-pretty-print.c (dump_generic_node): Ditto. | |
25846 | (op_symbol): Ditto. | |
25847 | * tree.def: Ditto. | |
25848 | ||
25849 | 2004-07-06 Daniel Berlin <dberlin@dberlin.org> | |
25850 | ||
25851 | * tree-ssa-pre.c (reference_node_pool): New pool. | |
25852 | (find_or_generate_expression): Class 'r' is okay too. | |
25853 | (create_value_expr_from): Ditto. | |
25854 | (add_to_sets): LHS should not include vuses. | |
25855 | (eliminate): Ditto. | |
25856 | (compute_avail): Reverse ordering of tests. | |
25857 | Valuize INDIRECT_REF as well. | |
25858 | ||
25859 | 2004-07-06 Richard Sandiford <rsandifo@redhat.com> | |
25860 | ||
25861 | PR rtl-optimization/16380 | |
25862 | * loop.c (check_dbra_loop): Sink comparison instructions if they | |
25863 | do something other than set cc0. | |
25864 | ||
25865 | 2004-07-06 James E Wilson <wilson@specifixinc.com> | |
25866 | ||
25867 | * doc/interface.texi (longjmp and automatic variables): Delete | |
25868 | paragraph recommending taking the address of a variable. | |
25869 | ||
25870 | 2004-07-06 Nathan Sidwell <nathan@codesourcery.com> | |
25871 | ||
25872 | * vec.h (VEC_embedded_alloc): Remove. | |
25873 | (VEC_embedded_size, VEC_embedded_init): New. | |
25874 | (VEC_alloc, VEC_reserve, VEC_safe_push, VEC_safe_insert): Add | |
25875 | MEM_STAT_INFO. | |
25876 | (VEC_truncate): New. | |
25877 | (vec_p_reserve, vec_o_reserve): Add MEM_STAT_DECL. | |
25878 | (vec_embedded_alloc): Remove. | |
25879 | * vec.c (vec_p_reserve, vec_o_reserve): Add MEM_STAT_DECL, adjust. | |
25880 | (vec_embedded_alloc): Remove. | |
25881 | ||
25882 | 2004-07-06 Mark Mitchell <mark@codesourcery.com> | |
25883 | ||
25884 | * Makefile.in (langhooks.o): Do not depend on gt-langhooks.h. | |
25885 | (gt-langhooks.h): Remove. | |
25886 | ||
25887 | 2004-07-06 George Helffrich <george@gly.bris.ac.uk> | |
25888 | ||
25889 | * xcoffout.h (DBX_FINISH_SYMBOL): Fix typo. | |
25890 | ||
25891 | 2004-07-06 Eric Botcazou <ebotcazou@libertysurf.fr> | |
25892 | ||
25893 | * config/sparc/sparc.c (get_pc_symbol): Rename into | |
25894 | add_pc_to_pic_symbol. | |
25895 | (get_pc_symbol_name): Rename into add_pc_to_pic_symbol_name. | |
25896 | (load_pic_register): Account for previous changes. | |
25897 | Use reg_names. Don't create the label twice. | |
25898 | * config/sparc/sparc.md (UNSPEC_GET_PC): Rename into | |
25899 | UNSPEC_LOAD_PCREL_SYM. | |
25900 | (get_pc): Rename into load_pcrel_sym. Add predicate to | |
25901 | operands. Remove condition. | |
25902 | ||
25903 | 2004-07-06 Nathan Sidwell <nathan@codesourcery.com> | |
25904 | ||
25905 | * dbxout.c (dbxout_type): Don't test whether the binfo slot of | |
25906 | RECORD, UNION & QUAL_UNION is actually a binfo. | |
25907 | ||
25908 | * tree.h (TREE_VIA_VIRTUAL): Rename to ... | |
25909 | (BINFO_VIRTUAL_P): ... here. Require TREE_BINFO only. | |
25910 | (BINFO_MARKED, BINFO_FLAG_[16]): New binfo flags. | |
25911 | * dbxout.c (dbxout_type): Use BINFO_VIRTUAL_P. | |
25912 | * dwarf2out.c (add_data_member_location_attribute): Likewise. | |
25913 | (gen_inheritance_die): Likewise. | |
25914 | * tree-dump.c (deque_and_dump): Likewise. | |
25915 | * doc/c-tree.texi (Binfos): Add under reconstruction note. | |
25916 | ||
25917 | 2004-07-06 Steven Bosscher <stevenb@suse.de> | |
25918 | ||
25919 | * config/mcore/mcore.c (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): | |
25920 | Define. | |
25921 | * config/mcore/mcore.md: Model memory latency with a simple DFA | |
25922 | pipeline description instead of a define_function_unit. | |
25923 | ||
25924 | 2004-07-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
25925 | ||
25926 | * langhooks-def.h (LANG_HOOKS_TREE_INLINING_VAR_MOD_TYPE_P): Extra arg. | |
25927 | * langhooks.h (var_mod_type_p): Likewise. | |
25928 | * c-decl.c (finish_decl): Add extra arg to variably_modified_type_p. | |
25929 | * expr.c (count_type_elements): Properly handle return from | |
25930 | array_type_nelts and properly test for overflow. | |
25931 | * gimplify.c (gimplify_init_constructor): Properly handle return | |
25932 | from array_type_nelts. | |
25933 | (gimplify_addr_expr): Remove redundant clear of TREE_SIDE_EFFECTS. | |
25934 | * integrate.c (copy_decl_for_inlining): Correct comments. | |
25935 | * tree-inline.c (remap_decl): Update comments, remove dead code, | |
25936 | and copy DECL_FIELD_OFFSET and DECL_QUALIFIER, if they exist. | |
25937 | (remap_type): Only remap if variably modified by vars in function | |
25938 | being inlined. | |
25939 | (copy_body_r): Use compatible_type langhooks to see when can fold. | |
25940 | (setup_one_parameter): Don't remap type. | |
25941 | (inline_forbidden_p_1): Add arg to variably_modified_type_p. | |
25942 | * tree.c (recompute_tree_invarant_for_addr_expr): Properly | |
25943 | compute TREE_INVARIANT for decl case. | |
25944 | (find_var_from_fn): New function. | |
25945 | (variably_modified_type_p): Add arg and call new function. | |
25946 | * tree.h (variably_modified_type_p): Add extra arg. | |
25947 | ||
25948 | 2004-07-05 Eric Botcazou <ebotcazou@libertysurf.fr> | |
25949 | ||
25950 | * config/sparc/sparc.md (nonlocal_goto): Remove disabled code. | |
25951 | (goto_handler_and_restore_v9): Delete disabled insn. | |
25952 | (goto_handler_and_restore_v9_sp64): Likewise. | |
25953 | ||
25954 | 2004-07-05 Roger Sayle <roger@eyesopen.com> | |
25955 | ||
25956 | * calls.c (load_register_parameters): Call expand_shift instead | |
25957 | of expand_binop with ashl_optab (or other shift optab) directly. | |
25958 | * expr.c (emit_group_load, emit_group_store): Likewise. | |
25959 | * function.c (assign_parm_setup_block): Likewise. | |
25960 | * stmt.c (shift_return_value): Likewise. | |
25961 | ||
25962 | 2004-07-05 Jakub Jelinek <jakub@redhat.com> | |
25963 | ||
25964 | * expr.c (expand_assignment): Disable the bitfield += optimizations. | |
25965 | ||
25966 | 2004-07-05 Joseph S. Myers <jsm@polyomino.org.uk> | |
25967 | ||
25968 | * doc/sourcebuild.texi: Revert previous patch. | |
25969 | ||
25970 | 2004-07-05 Joseph S. Myers <jsm@polyomino.org.uk> | |
25971 | ||
25972 | * c-decl.c, config/m32r/m32r.c, expr.c, optabs.c: Don't check | |
25973 | TARGET_MEM_FUNCTIONS. | |
25974 | * system.h: Poison TARGET_MEM_FUNCTIONS. | |
25975 | * libfuncs.h (LTI_bcopy, LTI_bcmp, LTI_bzero, bcopy_libfunc, | |
25976 | bcmp_libfunc, bzero_libfunc): Remove. | |
25977 | * optabs.c (init_obtabs): Don't set bcopy_libfunc, bcmp_libfunc or | |
25978 | bzero_libfunc. | |
25979 | * doc/tm.texi (TARGET_MEM_FUNCTIONS): Remove. | |
25980 | * doc/standards.texi: Don't mention calling BSD string functions. | |
25981 | * doc/invoke.texi: Likewise. Mention that memmove may be called. | |
25982 | * config/vax/t-memfuncs: New. | |
25983 | * config/memcmp.c, config/memcpy.c, config/memmove.c, | |
25984 | config/memset.c: New. | |
25985 | * config/pdp11/t-pdp11 (LIB2FUNCS_EXTRA): Use these files. | |
25986 | * config.gcc (vax-*-bsd*, vax-*-sysv*, vax-*-ultrix*): Use | |
25987 | vax/t-memfuncs. | |
25988 | * config/alpha/alpha.h, config/arc/arc.h, config/arm/arm.h, | |
25989 | config/avr/avr.h, config/c4x/c4x.h, config/cris/aout.h, | |
25990 | config/elfos.h, config/gnu.h, config/h8300/h8300.h, | |
25991 | config/i386/gas.h, config/ia64/ia64.h, config/interix.h, | |
25992 | config/ip2k/ip2k.h, config/lynx-ng.h, config/m32r/m32r.h, | |
25993 | config/mcore/mcore.h, config/mips/mips.h, config/mmix/mmix.h, | |
25994 | config/netbsd.h, config/openbsd.h, config/pa/pa.h, | |
25995 | config/rs6000/rs6000.h, config/rtems.h, config/s390/s390.h, | |
25996 | config/sh/sh.h, config/sparc/sparc.h, config/stormy16/stormy16.h, | |
25997 | config/svr3.h: Don't define TARGET_MEM_FUNCTIONS. | |
25998 | ||
25999 | 2004-07-05 Richard Henderson <rth@redhat.com> | |
26000 | ||
26001 | * function.c (assign_parm_setup_reg): Properly rename variables in | |
26002 | FUNCTION_ARG_CALLEE_COPIES section. | |
26003 | ||
26004 | 2004-07-05 Zack Weinberg <zack@codesourcery.com> | |
26005 | ||
26006 | * tree-mudflap.c: Include cgraph.h. | |
26007 | (mf_init_extern_trees): Rename to mudflap_init. Export. | |
26008 | Rewrite to create synthetic declarations instead of looking | |
26009 | up declarations from mf-runtime.h. | |
26010 | (mf_make_builtin, mf_make_cache_struct_type): New functions. | |
26011 | (mf_cache_shift_decl, mf_cache_mask_decl, mf_unregister_fndecl): | |
26012 | Correct commentary. | |
26013 | (execute_mudflap_function_decls, mudflap_register_call): | |
26014 | Don't call mf_init_extern_trees. | |
26015 | (mudflap_finish_file): Use cgraph_build_static_cdtor. | |
26016 | ||
26017 | * tree-mudflap.h: Update prototypes. | |
26018 | * c-mudflap.c: Delete file. | |
26019 | * c-common.c: Include tree-mudflap.h. | |
26020 | (c_common_nodes_and_builtins): Call mudflap_init if appropriate. | |
26021 | * Makefile.in: Remove all references to c-mudflap.o. | |
26022 | Update dependencies. | |
26023 | ||
26024 | 2004-07-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
26025 | ||
26026 | * pa.md (prefetch, prefetch_32, prefetch_64): Only allow short | |
26027 | displacements with the spatial-locality cache-control completer. | |
26028 | ||
26029 | 2004-07-05 Zack Weinberg <zack@codesourcery.com> | |
26030 | ||
26031 | * langhooks.c: Don't include gt-langhooks.h. | |
26032 | (var_labelno): Delete. | |
26033 | (lhd_set_decl_assembler_name): Do not append a distinguishing | |
26034 | number to file-scope internal-linkage declarations for the first | |
26035 | input file, even if they have DECL_CONTEXT set. Use DECL_UID of | |
26036 | the declaration itself (if at block scope), or its containing | |
26037 | TRANSLATION_UNIT_DECL (if at file scope) for the distinguishing | |
26038 | number. | |
26039 | ||
26040 | * opts.c (cur_in_fname): New global. | |
26041 | * opts.h: Declare it. | |
26042 | * tree.c: Include opts.h. | |
26043 | (make_node_stat): If creating a TRANSLATION_UNIT_DECL, give it | |
26044 | DECL_UID equal to cur_in_fname. | |
26045 | (copy_node_stat): Do not change DECL_UID when copying a | |
26046 | TRANSLATION_UNIT_DECL. | |
26047 | (build_common_tree_nodes): Adjust next_decl_uid to reserve the | |
26048 | range 0 .. num_in_fnames-1 for TRANSLATION_UNIT_DECLs. | |
26049 | ||
26050 | * c-decl.c (c_static_assembler_name): Delete. | |
26051 | * c-tree.h (c_static_assembler_name): Delete prototype. | |
26052 | * c-lang.c, objc/objc-lang.c: Don't override | |
26053 | LANG_HOOKS_SET_DECL_ASSEMBLER_NAME. | |
26054 | ||
26055 | * Makefile.in (tree.o): Update dependencies. | |
26056 | (GTFILES): Remove langhooks.c. | |
26057 | ||
26058 | 2004-07-05 Roger Sayle <roger@eyesopen.com> | |
26059 | ||
26060 | * fold-const.c (fold) <TRUNC_MOD_EXPR>: Optimize unsigned modulus | |
26061 | by a power of two into a bit-wise AND, i.e. "X % C" as "X & (C-1)". | |
26062 | Normalize "X % C" as "X % -C" for signed modulus and negative C. | |
26063 | Optimize "X % -Y" as "X % Y" for signed modulus. | |
26064 | <EQ_EXPR>: Recursively call "fold" when transforming "(X % Y) == 0" | |
26065 | into "((unsigned) X % Y) == 0". | |
26066 | ||
26067 | 2004-07-05 Joseph S. Myers <jsm@polyomino.org.uk> | |
26068 | ||
26069 | * sourcebuild.texi (Config Fragments): Use @comma{} in | |
26070 | cross-reference to section title. | |
26071 | ||
26072 | 2004-07-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
26073 | ||
26074 | * tree.h (DECL_SEEN_IN_BIND_EXPR_P): New macro. | |
26075 | * gimplify.c (gimple_add_tmp_var, gimplify_bind_expr): Use it. | |
26076 | (gimplify_target_expr, gimplify_expr): Likewise. | |
26077 | (copy_if_shared_r): No longer need special case for BIND_EXPR. | |
26078 | (unshare_body, unvisit_body): Only look at nested if BODY_P is | |
26079 | whole function. | |
26080 | (gimplify_compound_lval): See if we can strip any useless conversion. | |
26081 | (gimplify_modify_expr, gimplify_modify_expr_to_memcpy): Take size | |
26082 | from RHS, not LHS. | |
26083 | (gimplify_modify_expr_to_memset): Likewise. | |
26084 | (gimplify_expr, case CONSTRUCTOR): Handle use as statement. | |
26085 | * tree-inline.c (setup_one_parameter): Use DECL_SEEN_IN_BIND_EXPR_P. | |
26086 | (declare_inline_vars): Likewise. | |
26087 | (walk_type_fields): New function. | |
26088 | (walk_tree): Use it. | |
26089 | * tree-nested.c (create_tmp_var_for): Show seen in BIND_EXPR. | |
26090 | ||
26091 | * tree-sra.c (struct sra_walk_fns): Init function now returns bool. | |
26092 | (sra_walk_modify_expr): Allow init function to fail. | |
26093 | (scan_init): Now returns bool. | |
26094 | (generate_element_init): If can't understand INIT, return false. | |
26095 | (scalarize_init): Return false if generate_element_init does. | |
26096 | ||
26097 | * tree-pretty-print.c (dump_generic_node, case ARRAY_TYPE): Properly | |
26098 | print bounds. | |
26099 | ||
26100 | * expr.c (expand_expr_real_1, case SWITCH_EXPR): Don't check against | |
26101 | bounds if bounds aren't constant. | |
26102 | ||
26103 | * tree-cfg.c (verify_expr): Use CHECK_OP in binary case. | |
26104 | ||
26105 | * function.c, langhooks-def.h, langhooks.h: Move max_size hook | |
26106 | to type hooks; remove bogus PARAMS. | |
26107 | ||
26108 | 2004-07-05 Nathan Sidwell <nathan@codesourcery.com> | |
26109 | ||
26110 | * c-tree.h (TYPE_ACTUAL_ARG_TYPES): Use TYPE_LANG_SLOT_1. | |
26111 | * dwarf2out.c (add_data_member_location_attribute): Check for | |
26112 | TREE_BINFO. | |
26113 | * tree.c (tree_node_kinds): Add "binfos". | |
26114 | (binfo_lang_slots): New. | |
26115 | (make_node_stat): Add TREE_BINFO. | |
26116 | (make_tree_binfo_stat): New. | |
26117 | (tree_node_structure): Add TREE_BINFO. | |
26118 | * tree.def (TREE_BINFO): New. | |
26119 | * tree.h (REC_OR_UNION_CHECK): Rename to ... | |
26120 | (RECORD_OR_UNION_CHECK): ... here. | |
26121 | (NOT_RECORD_OR_UNION_CHECK): New. | |
26122 | (TRE_VIA_VIRTUAL): Allow TREE_LIST or TREE_BINFO. | |
26123 | (TYPE_FIELDS, TYPE_METHODS, TYPE_VFIELD): Adjust for | |
26124 | RECORD_OR_UNION_CHECK. | |
26125 | (TYPE_BINFO): Use RECORD_OR_UNION_CHECK. | |
26126 | (TYPE_LANG_SLOT_1): New. | |
26127 | (BINFO_TYPE, BINFO_OFFSET, BINFO_VTABLE, BINFO_VIRTUALS, | |
26128 | BINFO_BASETYPES, TYPE_BINFO_BASETYPES, BINFO_VPTR_FIELD, | |
26129 | BINFO_BASEACCESSES, BINFO_INHERITANCE_CHAIN): Adjust. | |
26130 | (BINFO_ELTS): Remove. | |
26131 | (BINFO_LANG_SLOT): New. | |
26132 | (struct tree_binfo): New. | |
26133 | (binfo_lang_slots): Declare. | |
26134 | (enum tree_node_structure_enum): Add TS_BINFO. | |
26135 | (union tree_node): Add binfo. | |
26136 | (make_tree_binfo_stat): Declare. | |
26137 | (make_tree_binfo): New. | |
26138 | (enum tree_node_kind): Add binfo_kind. | |
26139 | ||
26140 | * objc/objc-act.c (start_class, objc_declare_protocols, | |
26141 | start_protocols): Use TYPE_LANG_SLOT_1. | |
26142 | * objc/objc-act.h (CLASS_BINFO_ELTS, PROTOCOL_BINFO_ELTS): Rename | |
26143 | to ... | |
26144 | (CLASS_LANG_SLOT_ELTS, PROTOCOL_LANG_SLOT_ELTS): ... here. | |
26145 | (CLASS_IVARS, CLASS_RAW_IVARS, CLASS_STATIC_TEMPLATE, | |
26146 | CLASS_CATEGORY_LIST, CLASS_PROTOCOL_LIST, CLASS_OWN_IVARS, | |
26147 | PROTOCOL_LIST, PROTOCOL_FORWARD_DECL): Use TYPE_LANG_SLOT_1. | |
26148 | ||
26149 | 2004-07-05 Steven Bosscher <stevenb@suse.de> | |
26150 | ||
26151 | * rtl.h (struct rtx_def): Remove the integrated flag. | |
26152 | Use the return_val flag for MEM_SCALAR_P. | |
26153 | Reshuffle and update flags in CLEAR_RTX_FLAGS. | |
26154 | ||
26155 | 2004-07-05 Richard Sandiford <rsandifo@redhat.com> | |
26156 | ||
26157 | PR target/16357 | |
26158 | * config/mips/mips.c (mips_block_move_straight): Pass BLKmode memrefs | |
26159 | to mips_expand_unaligned_load, mips_expand_unaligned_store, and | |
26160 | move_by_pieces. | |
26161 | ||
26162 | 2004-07-05 Josef Zlomek <zlomekj@suse.cz> | |
26163 | ||
26164 | * var-tracking.c: Fix some comments. | |
26165 | (frame_stack_adjust): New. | |
26166 | (vt_stack_adjustments): Init stack_adjust of entry block to | |
26167 | minus stack adjustment of function prologue. | |
26168 | (adjust_stack_reference): Do not adjust if adjustment == 0. | |
26169 | (compute_bb_dataflow): Use plus_constant instead of gen_rtx_PLUS. | |
26170 | (emit_notes_in_bb): Likewise. | |
26171 | (vt_add_function_parameters): Do not adjust locations of | |
26172 | function arguments. | |
26173 | (vt_initialize): Compute the stack adjustment of function | |
26174 | prologue and offset the initial "location" of frame_base_decl | |
26175 | from the stack pointer after prologue. | |
26176 | ||
26177 | 2004-07-04 Richard Henderson <rth@redhat.com> | |
26178 | ||
26179 | * function.c (struct assign_parm_data_all): New. | |
26180 | (struct assign_parm_data_one): New. | |
26181 | (assign_parms_initialize_all, assign_parms_augmented_arg_list, | |
26182 | assign_parm_find_data_types, assign_parms_setup_varargs, | |
26183 | assign_parm_find_entry_rtl, assign_parm_is_stack_parm, | |
26184 | assign_parm_find_stack_rtl, assign_parm_adjust_entry_rtl, | |
26185 | assign_parm_adjust_stack_rtl, assign_parm_setup_block_p, | |
26186 | assign_parm_setup_block, assign_parm_setup_reg, | |
26187 | assign_parm_setup_stack, assign_parms_unsplit_complex): Split from ... | |
26188 | (assign_parms): ... here. | |
26189 | ||
26190 | 2004-07-04 Daniel Berlin <dberlin@dberlin.org> | |
26191 | ||
26192 | * tree-ssa-pre.c (bb_value_sets): phi_gen, tmp_gen, new_sets | |
26193 | now are bitmap_set_t's. | |
26194 | (bitmap_insert_into_set): No point in inserting the value if | |
26195 | it's invariant. | |
26196 | (bitmap_set_contains): New function. | |
26197 | (bitmap_set_replace_value): Add comment on why we do it | |
26198 | this way. | |
26199 | (set_contains): Removed. | |
26200 | (bitmap_set_subtract_from_value_set): New name of | |
26201 | set_subtract now that it's arguments are two different | |
26202 | types of sets. | |
26203 | Update callers. | |
26204 | (bitmap_find_leader): Change algorithm used. | |
26205 | (find_or_generate_expression): Update use of functions for new | |
26206 | bitmap sets. | |
26207 | (create_expression_by_pieces): Ditto. | |
26208 | (insert_aux): Ditto. | |
26209 | (insert): Ditto. | |
26210 | (add_to_sets): Ditto. | |
26211 | (init_pre): Ditto. | |
26212 | (execute_pre): Ditto. | |
26213 | (compute_avail): Ditto. | |
26214 | Also ignore virtual phis. | |
26215 | ||
26216 | 2004-07-04 Richard Sandiford <rsandifo@redhat.com> | |
26217 | ||
26218 | * combine.c (simplify_comparison): Fix comment typo. | |
26219 | ||
26220 | 2004-07-04 Eric Botcazou <ebotcazou@libertysurf.fr> | |
26221 | ||
26222 | * config/sparc/sparc.c (SIBCALL_SLOT_EMPTY_P): Rename | |
26223 | into LEAF_SIBCALL_SLOT_RESERVED_P after negation. | |
26224 | (eligible_for_sibcall_delay): Adjust use of SIBCALL_SLOT_EMPTY_P. | |
26225 | (output_restore): Change parameter from 'insn' to 'pat'. | |
26226 | (output_return): Adjust call to output_restore. | |
26227 | (output_sibcall): Adjust use of SIBCALL_SLOT_EMPTY_P. | |
26228 | Adjust call to output_restore. | |
26229 | ||
26230 | 2004-07-04 Neil Booth <neil@duron.akihabara.co.uk> | |
26231 | ||
26232 | * config/netbsd.h (NETBSD_OS_CPP_BUILTINS_COMMON): Define __unix__ | |
26233 | and assert system is bsd. | |
26234 | ||
26235 | 2004-07-04 Richard Sandiford <rsandifo@redhat.com> | |
26236 | ||
26237 | * config/mips/mips.h (MASK_DEBUG_C, TARGET_DEBUG_C_MODE): Delete. | |
26238 | (TARGET_SWITCHES): Remove -mdebugc. | |
26239 | * config/mips/mips.md (seq, sne, sgt, sge, slt, sle, sgtu, sgeu) | |
26240 | (sltu, sleu): Remove TARGET_DEBUG_C_MODE handling. | |
26241 | (seq_[sd]i, sne_[sd]i, sge_[sd]i, sle_[sd]i_reg, sgeu_[sd]i) | |
26242 | (sle_[sd]i_reg): Delete. | |
26243 | ||
26244 | 2004-07-04 Steven Bosscher <stevenb@suse.de> | |
26245 | ||
26246 | * config/iq2000/iq2000.c (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): | |
26247 | Define. | |
26248 | * config/iq2000/iq2000.md: Translate old pipeline description to an | |
26249 | equivalent new one. | |
26250 | ||
26251 | 2004-07-04 Roger Sayle <roger@eyesopen.com> | |
26252 | ||
26253 | * tree-ssa-ccp.c (set_rhs): Change function to return a bool. | |
26254 | Ensure the replacement rhs is valid gimple before performing | |
26255 | the substitution. Return false if these sanity checks fail. | |
26256 | (fold_stmt): Only set changed to true, if set_rhs returns true. | |
26257 | (execute_fold_all_builtins): Only call modify_stmt if set_rhs | |
26258 | succeeds. | |
26259 | ||
26260 | 2004-07-04 Richard Henderson <rth@redhat.com> | |
26261 | ||
26262 | PR c/16348 | |
26263 | * c-typeck.c (c_finish_loop): Don't clear cond for cond_is_first loops. | |
26264 | ||
26265 | 2004-07-04 Mark Mitchell <mark@codesourcery.com> | |
26266 | ||
26267 | * configure.ac (ranlib_flags): New variable. | |
26268 | * Makefile.in (RANLIB_FLAGS): New variable. | |
26269 | (libbackend.a): Use it. | |
26270 | * configure: Regenerated. | |
26271 | ||
26272 | 2004-07-04 Roger Sayle <roger@eyesopen.com> | |
26273 | ||
26274 | * ifcvt.c (noce_try_sign_mask): Call emit_store_flag to generate | |
26275 | a "sign mask" instead of using ashr_optab directly. | |
26276 | ||
26277 | 2004-07-04 Neil Booth <neil@duron.akihabara.co.uk> | |
26278 | ||
26279 | * doc/cpp.texi: Don't document what we do for ill-formed expressions. | |
26280 | * doc/cppopts.texi: Clarify processing of command-line defines. | |
26281 | ||
26282 | 2004-07-04 Gerald Pfeifer <gerald@pfeifer.com> | |
26283 | ||
26284 | * doc/contrib.texi (Contributors): Adjust link for GNU Classpath. | |
26285 | ||
26286 | 2004-07-04 Richard Henderson <rth@redhat.com> | |
26287 | ||
26288 | * rtl.def (ADDRESSOF): Remove. | |
26289 | * alias.c (rtx_equal_for_memref_p): Don't handle addressof. | |
26290 | (find_base_term, memrefs_conflict_p): Likewise. | |
26291 | * cse.c (fixed_base_plus_p, find_best_addr: Likewise. | |
26292 | (fold_rtx, cse_insn, set_live_p): Likewise. | |
26293 | * dwarf2out.c (mem_loc_descriptor): Likewise. | |
26294 | (add_location_or_const_value_attribute): Likewise. | |
26295 | * emit-rtl.c (copy_insn_1): Likewise. | |
26296 | * explow.c (memory_address): Likewise. | |
26297 | * expmed.c (store_split_bit_field): Likewise. | |
26298 | * expr.c (expand_expr_real_1): Likewise. | |
26299 | * function.c (instantiate_decl | |
26300 | (instantiate_virtual_regs_1, fix_lexical_addr): Likewise. | |
26301 | * genrecog.c (preds, validate_pattern): Likewise. | |
26302 | * integrate.c (copy_rtx_and_substitute): Likewise. | |
26303 | * recog.c (general_operand, register_operand): Likewise. | |
26304 | (memory_address_p): Likwise. | |
26305 | * reload1.c (eliminate_regs, elimination_effects): Likewise. | |
26306 | * rtl.c (copy_rtx): Likewise. | |
26307 | * rtlanal.c (rtx_unstable_p, rtx_varies_p): Likewise. | |
26308 | (rtx_addr_can_trap_p, nonzero_address_p, address_cost): Likewise. | |
26309 | * rtlhooks.c (gen_lowpart_general): Likewise. | |
26310 | * stmt.c (expand_asm_operands): Likewise. | |
26311 | * web.c (entry_register, replace_ref, web_main): Likewise. | |
26312 | * config/alpha/alpha.c (input_operand, alpha_legitimate_address_p, | |
26313 | alpha_expand_block_move, alpha_expand_block_clear): Likewise. | |
26314 | * config/arm/arm.c (thumb_rtx_costs): Likewise. | |
26315 | * config/c4x/c4x.c (c4x_valid_operands): Likewise. | |
26316 | * config/frv/frv.c (move_destination_operand, move_source_operand, | |
26317 | condexec_dest_operand, condexec_source_operand, | |
26318 | condexec_memory_operand): Likewise. | |
26319 | * config/h8300/h8300.h (PREDICATE_CODES): Likewise. | |
26320 | * config/ia64/ia64.c (general_xfmode_operand): Likewise. | |
26321 | (destination_xfmode_operand): Likewise. | |
26322 | * config/mips/mips.h (PREDICATE_CODES): Likewise. | |
26323 | * config/mn10300/mn10300.c (mn10300_address_cost_1): Likewise. | |
26324 | * config/s390/s390.c (general_s_operand): Likewise. | |
26325 | * config/s390/s390.md (mov*): Likewise. | |
26326 | * config/sparc/sparc.h (PREDICATE_CODES): Likewise. | |
26327 | ||
26328 | * c-typeck.c (c_mark_addressable): Don't put_var_into_stack. | |
26329 | * expr.c (expand_expr_real_1): Likewise. | |
26330 | * stmt.c (expand_decl): Likewise. | |
26331 | * config/c4x/c4x.c (c4x_expand_builtin): Likewise. | |
26332 | ||
26333 | * function.c (struct fixup_replacement, struct insns_for_mem_entry, | |
26334 | postponed_insns, put_var_into_stack, put_reg_into_stack, | |
26335 | schedule_fixup_var_refs, fixup_var_refs, find_fixup_replacement, | |
26336 | fixup_var_refs_insns, fixup_var_refs_insns_with_hash, | |
26337 | fixup_var_refs_insn, fixup_var_refs_1, fixup_memory_subreg, | |
26338 | walk_fixup_memory_subreg, fixup_stack_1, optimize_bit_field, | |
26339 | gen_mem_addressof, flush_addressof, put_addressof_into_stack, | |
26340 | purge_bitfield_addressof_replacements, purge_addressof_replacements, | |
26341 | purge_addressof_1, insns_for_mem_hash, insns_for_mem_comp, | |
26342 | struct insns_for_mem_walk_info, insns_for_mem_walk, | |
26343 | compute_insns_for_mem, is_addressof, purge_addressof, setjmp_protect, | |
26344 | setjmp_protect_args): Remove. | |
26345 | (push_function_context_to): Don't handle var_refs_queue. | |
26346 | (pop_function_context_from, free_after_compilation): Likewise. | |
26347 | (instantiate_virtual_regs): Don't handle parm_reg_stack_loc. | |
26348 | (assign_parms, allocate_struct_function): Likewise. | |
26349 | (use_register_for_decl): New. | |
26350 | (expand_function_end): Don't setjmp_protect. | |
26351 | * function.h (struct emit_status): Update commentary. | |
26352 | (struct function): Remove x_max_parm_reg, x_parm_reg_stack_loc. | |
26353 | (max_parm_reg, parm_reg_stack_loc): Remove. | |
26354 | * passes.c (DFI_addressof): Remove. | |
26355 | (dump_file_info): Remove addressof. | |
26356 | (rest_of_handle_addressof): Remove. | |
26357 | (rest_of_compilation): Don't call it. | |
26358 | * rtl.h (ADDRESSOF_REGNO, ADDRESSOF_DECL): Remove. | |
26359 | * stmt.c (expand_decl): Use use_register_for_decl. | |
26360 | * tree.h: Update decls. | |
26361 | * web.c (mark_addressof): Remove. | |
26362 | * doc/invoke.texi (-dF): Remove. | |
26363 | ||
26364 | 2004-07-03 Richard Henderson <rth@redhat.com> | |
26365 | ||
26366 | * config/ia64/ia64.c (spill_xfmode_operand): Use assign_stack_temp | |
26367 | instead of gen_mem_addressof. | |
26368 | * config/ia64/ia64.md (movxf): Use assign_stack_temp to handle | |
26369 | TImode output register. | |
26370 | ||
26371 | 2004-07-03 Richard Henderson <rth@redhat.com> | |
26372 | ||
26373 | PR tree-optimization/16341 | |
26374 | * tree-sra.c (sra_walk_function): Increment to next stmt before | |
26375 | processing the current stmt. | |
26376 | (sra_insert_after): Always use BSI_SAME_STMT. | |
26377 | ||
26378 | 2004-07-03 Richard Henderson <rth@redhat.com> | |
26379 | ||
26380 | * tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Don't fold | |
26381 | fp plus with minus. | |
26382 | ||
26383 | 2004-07-03 Joseph S. Myers <jsm@polyomino.org.uk> | |
26384 | ||
26385 | * tree.c (type_hash_eq): Allow TYPE_MIN_VALUE which compares equal | |
26386 | with tree_int_cst_equal. | |
26387 | ||
26388 | 2004-07-03 Andreas Schwab <schwab@suse.de> | |
26389 | ||
26390 | * config/ia64/ia64.md: Define new attribute "empty". | |
26391 | (prologue_use, nop_x, insn_group_barrier): Set it. | |
26392 | ||
26393 | * config/ia64/ia64.c (ia64_reorg): When looking for trailing call | |
26394 | skip over "empty" insns. | |
26395 | ||
26396 | 2004-07-03 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
26397 | ||
26398 | * tree-inline.c (initialize_inlined_parameters): Pass proper function | |
26399 | context to gimplify_body. | |
26400 | (walk_tree): Don't walk into types twice. | |
26401 | (walk_tree, case POINTER_TYPE): Deal with mutually recursive pointers. | |
26402 | ||
26403 | * tree-sra.c (generate_element_init): Remove any useless conversions. | |
26404 | ||
26405 | * gimplify.c (gimplify_conversion): Remove stripping useless | |
26406 | conversions from here. | |
26407 | (gimplify_expr): Put it here, in place of call to STRIP_MAIN_TYPE_NOPS. | |
26408 | (gimplify_modify_expr_to_memcpy, gimplify_variable_sized_compare): | |
26409 | Unshare before substituting PLACEHOLDER_EXPR. | |
26410 | (gimplify_modify_expr_to_memset): Likewise. | |
26411 | Pass address of TO to memset, not TO itself. | |
26412 | (gimplify_init_constructor): Make copy of OBJECT so we have it each | |
26413 | time we make an expression (to match a PLACEHOLDER_EXPR). | |
26414 | ||
26415 | * tree-ssa.c (tree_ssa_useless_type_conversion): Also look at | |
26416 | VIEW_CONVERT_EXPR and NON_LVALUE_EXPR. | |
26417 | * tree-ssa-ccp.c (fold_stmt): Call just STRIP_USELESS_TYPE_CONVERSION. | |
26418 | * tree-ssa-dom.c (local_fold): Likewise. | |
26419 | ||
26420 | * langhooks-def.h (LANG_HOOKS_TYPE_MAX_SIZE): New langhook. | |
26421 | * langhooks.h (strct lang_hooks): New field type_max_size. | |
26422 | * function.c (assign_temp): Call it. | |
26423 | ||
26424 | 2004-07-03 Steven Bosscher <stevenb@suse.de> | |
26425 | ||
26426 | * config/sh/sh.c (sh_use_dfa_interface): Add TARGET_SH1. | |
26427 | * config/sh/sh.md: Convert the SH1 pipeline description to | |
26428 | a DFA model. | |
26429 | ||
26430 | 2004-07-02 Zack Weinberg <zack@codesourcery.com> | |
26431 | ||
26432 | * c-decl.c (struct c_binding): Remove contour field; add | |
26433 | depth, invisible, nested fields. | |
26434 | (B_IN_SCOPE, B_IN_CURRENT_SCOPE, B_IN_FILE_SCOPE) | |
26435 | (B_IN_EXTERNAL_SCOPE): New convenience macros. | |
26436 | (bind): Add invisible and nested arguments. Initialize | |
26437 | new fields of struct c_binding; adjust loop scanning for | |
26438 | insertion point. | |
26439 | (free_binding_and_advance): Clear structure with memset. | |
26440 | (pop_scope): Adjust to match. Set DECL_CONTEXT on everything | |
26441 | in file scope, even if it's in external scope too. | |
26442 | (pushdecl): Adjust to match. Create invisible file-scope | |
26443 | declarations for block-scope forward declarations of static functions. | |
26444 | (pushtag, warn_if_shadowing, pushdecl_top_level, implicitly_declare) | |
26445 | (undeclared_variable, lookup_label, declare_label, define_label) | |
26446 | (lookup_tag, lookup_name, lookup_name_in_scope, builtin_function) | |
26447 | (c_make_fname_decl, store_parm_decls_newstyle, identifier_global_value) | |
26448 | (store_parm_decls_oldstyle): Adjust to match. | |
26449 | (diagnose_mismatched_decls): Correct handling of linkage clashes. | |
26450 | (merge_decls): No need to copy C_DECL_IN_EXTERNAL_SCOPE. | |
26451 | ||
26452 | * c-tree.h (C_DECL_IN_EXTERNAL_SCOPE): Delete. | |
26453 | (C_DECL_DECLARED_BUILTIN, C_DECL_REGISTER): Slide down one. | |
26454 | ||
26455 | 2004-07-02 Richard Henderson <rth@redhat.com> | |
26456 | ||
26457 | * c-decl.c (grokdeclarator): Don't frob current_function_decl | |
26458 | around variable_size. | |
26459 | (set_decl_nonlocal): Remove. | |
26460 | (store_parm_decls): Add stmts for pending sizes. | |
26461 | * calls.c (calls_function, calls_function_1): Remove. | |
26462 | (precompute_arguments): Don't call it. | |
26463 | * cfgexpand.c (set_save_expr_context): Remove. | |
26464 | (tree_expand_cfg): Don't call it. | |
26465 | * dwarf2out.c (add_bound_info): Don't handle SAVE_EXPR. | |
26466 | (dwarf2out_finish): Likewise. | |
26467 | * expr.c (emit_block_move): Adjust addresses to BLKmode. | |
26468 | (store_constructor): Don't pre-evaluate SAVE_EXPR. | |
26469 | (safe_from_p): Don't queue SAVE_EXPRs. | |
26470 | (expand_expr_real_1 <case SAVE_EXPR>): Rewrite to expect, | |
26471 | or build plain VAR_DECLs. | |
26472 | * fold-const.c (twoval_comparison_p): Don't look at SAVE_EXPR_RTL. | |
26473 | (fold): Likewise. | |
26474 | (fold_checksum_tree): Don't special-case SAVE_EXPR. | |
26475 | * function.c (free_after_compilation): Don't clear x_save_expr_regs. | |
26476 | (put_var_into_stack): Don't handle SAVE_EXPR. | |
26477 | (gen_mem_addressof): Likewise. | |
26478 | * function.h (struct function): Remove x_save_expr_regs. | |
26479 | (save_expr_regs): Remove. | |
26480 | * gengtype.c (adjust_field_tree_exp): Don't special-case SAVE_EXPR. | |
26481 | * print-tree.c (print_node): Don't dump SAVE_EXPR_NOPLACEHOLDER. | |
26482 | * stor-layout.c (variable_size): Don't set it. | |
26483 | (force_type_save_exprs, force_type_save_exprs_1): Remove. | |
26484 | * tree-inline.c (remap_save_expr): Remove fn argument. Update | |
26485 | all callers. Don't set SAVE_EXPR_CONTEXT. | |
26486 | * tree-inline.h (remap_save_expr): Update decl. | |
26487 | * tree.c (save_expr): Update build size. | |
26488 | (first_rtl_op): Don't handle SAVE_EXPR. | |
26489 | (unsave_expr_1, contains_placeholder_p): Likewise. | |
26490 | (decl_function_context): Likewise. | |
26491 | * tree.def (SAVE_EXPR): Remove args 1 and 2. | |
26492 | * tree.h (SAVE_EXPR_CONTEXT, SAVE_EXPR_RTL): Remove. | |
26493 | (SAVE_EXPR_NOPLACEHOLDER, SAVE_EXPR_PERSISTENT_P): Remove. | |
26494 | ||
26495 | 2004-07-03 Joseph S. Myers <jsm@polyomino.org.uk> | |
26496 | ||
26497 | * doc/bugreport.texi, doc/configterms.texi, doc/contrib.texi, | |
26498 | doc/contribute.texi, doc/cpp.texi, doc/cppinternals.texi, | |
26499 | doc/extend.texi, doc/install.texi, doc/invoke.texi, doc/md.texi, | |
26500 | doc/portability.texi, doc/tree-ssa.texi, doc/trouble.texi: Avoid | |
26501 | some first-person references and patronizing comments. Based on | |
26502 | printed manual. | |
26503 | * doc/invoke.texi: Don't reference fortran@gnu.org. | |
26504 | * doc/trouble.texi (Warning when a non-void function value is | |
26505 | ignored): Rewrite. From Russ Allbery and Chris Devers. | |
26506 | ||
26507 | 2004-07-02 Daniel Berlin <dberlin@dberlin.org) | |
26508 | ||
26509 | * tree-ssa-pre.c (bitmap_set_t): New. | |
26510 | (bb_value_sets): avail_out is now a bitmap_set_t. | |
26511 | (bitmap_find_leader): New function. | |
26512 | (bitmap_value_insert_into_set): Ditto. | |
26513 | (bitmap_set_copy): Ditto. | |
26514 | (bitmap_value_replace_in_set): Ditto. | |
26515 | (bitmap_set_contains_value): Ditto. | |
26516 | (bitmap_set_new): Ditto. | |
26517 | (bitmap_set_pool): New pool. | |
26518 | (find_or_generate_expression): Use bitmap_ functions on AVAIL sets. | |
26519 | (insert_aux): Ditto. | |
26520 | (add_to_sets): Ditto. | |
26521 | (compute_avail): Ditto | |
26522 | (eliminate): Ditto. | |
26523 | (init_pre): Ditto. | |
26524 | (fini_pre): Ditto. | |
26525 | (execute_pre): Ditto. | |
26526 | ||
26527 | 2004-07-02 Roger Sayle <roger@eyesopen.com> | |
26528 | ||
26529 | * config/rs6000/rs6000.c (struct processor_costs): New structure | |
26530 | used to hold instruction latencies/sizes for processor types. | |
26531 | (rs6000_cost): New global variable pointing to current CPU's costs. | |
26532 | (rs6000_override_options): Initialize rs6000_cost to point to the | |
26533 | appropriate cost table based upon rs6000_cpu and optimize_size. | |
26534 | (rs6000_rtx_costs): Use rs6000_cost to avoid hardcoding processor | |
26535 | timings inline. | |
26536 | ||
26537 | 2004-07-02 Richard Henderson <rth@redhat.com> | |
26538 | ||
26539 | * expmed.c (make_tree): Don't use SET_DECL_RTL. | |
26540 | ||
26541 | 2004-07-02 Steven Bosscher <stevenb@suse.de> | |
26542 | ||
26543 | * tree-flow.h (bb_ann_d): Remove ephi_nodes field. | |
26544 | ||
26545 | 2004-07-01 Richard Henderson <rth@redhat.com> | |
26546 | ||
26547 | * config/alpha/alpha.c (struct machine_function): Add gp_save_rtx. | |
26548 | (alpha_gp_save_rtx): Use assign_stack_local instead of | |
26549 | gen_mem_addressof. | |
26550 | ||
26551 | 2004-07-01 Richard Henderson <rth@redhat.com> | |
26552 | ||
26553 | * config/alpha/alpha.c (struct alpha_rtx_cost_data): Add int_div. | |
26554 | (alpha_rtx_cost_data): Update to match. | |
26555 | (alpha_rtx_cost_size): New. | |
26556 | (alpha_rtx_costs): Honor optimize_size. | |
26557 | ||
26558 | 2004-07-01 Richard Henderson <rth@redhat.com> | |
26559 | ||
26560 | * gimple-low.c (lower_function_body): Don't reset_block_changes here. | |
26561 | * cfgexpand.c (tree_expand_cfg): Do it here. | |
26562 | * config/alpha/alpha.c (alpha_output_mi_thunk_osf): And here. | |
26563 | * config/ia64/ia64.c (ia64_output_mi_thunk): And here. | |
26564 | * config/mips/mips.c (mips_output_mi_thunk): And here. | |
26565 | * config/rs6000/rs6000.c (rs6000_output_mi_thunk): And here. | |
26566 | * config/sh/sh.c (sh_output_mi_thunk): And here. | |
26567 | * config/sparc/sparc.c (sparc_output_mi_thunk): And here. | |
26568 | ||
26569 | 2004-07-01 Richard Henderson <rth@redhat.com> | |
26570 | ||
26571 | * tree.def (RTL_EXPR): Remove. | |
26572 | * c-typeck.c (lvalue_p): Don't handle it. | |
26573 | * expr.c (safe_from_p): Likewise. | |
26574 | (expand_expr_real_1): Likewise. | |
26575 | * fold-const.c (non_lvalue, operand_equal_p, fold): Likewise. | |
26576 | (fold_checksum_tree, tree_expr_nonnegative_p): Likewise. | |
26577 | * gengtype.c (adjust_field_tree_exp): Likewise. | |
26578 | * stmt.c (warn_if_unused_value): Likewise. | |
26579 | * tree-gimple.c (recalculate_side_effects): Likewise. | |
26580 | * tree-pretty-print.c (dump_generic_node): Likewise. | |
26581 | * tree.c (make_node_stat, first_rtl_op, unsave_expr_1): Likewise. | |
26582 | (unsafe_for_reeval, stabilize_reference, build1_stat): Likewise. | |
26583 | * tree.h (RTL_EXPR_SEQUENCE, RTL_EXPR_RTL, RTL_EXPR_ALT_RTL): Remove. | |
26584 | ||
26585 | * stmt.c (struct stmt_status): Remove x_last_expr_type, | |
26586 | x_last_expr_value, x_last_expr_alt_rtl, x_expr_stmts_for_value. | |
26587 | (last_expr_type, last_expr_value, last_expr_alt_rtl): Remove. | |
26588 | (expand_expr_stmt): Merge with expand_expr_stmt_value. Remove | |
26589 | all the bits that tracked last_expr. | |
26590 | (expand_end_bindings): Don't track last_expr. | |
26591 | (expand_start_stmt_expr, expand_end_stmt_expr): Remove. | |
26592 | (clear_last_expr): Remove. | |
26593 | (expand_asm): Don't call it. | |
26594 | (expand_asm_operands, expand_end_cond): Likewise. | |
26595 | (expand_naked_return, expand_null_return_1): Likewise. | |
26596 | * c-typeck.c (c_begin_compound_stmt): Likewise. | |
26597 | * cfgexpand.c (expand_block): Use expand_expr_stmt. | |
26598 | * expr.c (expand_expr_real_1): Likewise. | |
26599 | * tree.h: Update prototypes. | |
26600 | ||
26601 | * function.h (struct sequence_stack): Remove sequence_rtl_expr. | |
26602 | (struct emit_status): Remove sequence_rtl_expr. | |
26603 | (struct function): Remove x_rtl_expr_chain. | |
26604 | (seq_rtl_expr, rtl_expr_chain): Remove. | |
26605 | * function.c (struct temp_slot): Remove rtl_expr. | |
26606 | (assign_stack_temp_for_type): Don't set it. | |
26607 | (free_temp_slots, pop_temp_slots): Don't check it. | |
26608 | (free_after_compilation): Don't clear x_rtl_expr_chain. | |
26609 | (fixup_var_refs): Don't search it. | |
26610 | (preserve_rtl_expr_result, free_temps_for_rtl_expr): Remove. | |
26611 | * emit-rtl.c (start_sequence): Don't use sequence_rtl_expr | |
26612 | or seq_rtl_expr. | |
26613 | (push_topmost_sequence): Likewise. | |
26614 | (end_sequence, init_emit): Likewise. | |
26615 | (start_sequence_for_rtl_expr): Remove. | |
26616 | * expmed.c (make_tree): Build a VAR_DECL instead of an RTL_EXPR. | |
26617 | * rtl.h (preserve_rtl_expr_result): Remove. | |
26618 | ||
26619 | 2004-07-02 Kazu Hirata <kazu@cs.umass.edu> | |
26620 | ||
26621 | * ifcvt.c, modulo-sched.c, tree-alias-common.c, tree-sra.c, | |
26622 | tree-ssa-copy.c, tree-ssa-dom.c, tree-ssa-pre.c: Fix comment | |
26623 | typos. | |
26624 | ||
26625 | 2004-07-02 Aaron W. LaFramboise <aaronraolete36@aaronwl.com> | |
26626 | ||
26627 | * gcc.c (STANDARD_STARTFILE_PREFIX_1): Define. | |
26628 | (STANDARD_STARTFILE_PREFIX_2): Define. | |
26629 | (standard_startfile_prefix_1): Initialize to | |
26630 | STANDARD_STARTFILE_PREFIX_1. | |
26631 | (standard_startfile_prefix_2): Initialize to | |
26632 | STANDARD_STARTFILE_PREFIX_2. | |
26633 | * config/i386/mingw32.h (MD_STARTFILE_PREFIX): Remove. | |
26634 | (STANDARD_STARTFILE_PREFIX_1): Define. | |
26635 | (STANDARD_STARTFILE_PREFIX_2): Define. | |
26636 | * doc/tm.texi (STANDARD_STARTFILE_PREFIX_1): Document. | |
26637 | (STANDARD_STARTFILE_PREFIX_2): Document. | |
26638 | ||
26639 | 2004-07-01 Richard Henderson <rth@redhat.com> | |
26640 | ||
26641 | * tree-sra.c (sra_walk_expr): Don't maybe_lookup_element_for_expr | |
26642 | in order to disable scalarization. Instead set a flag and wait | |
26643 | for a candidate decl. | |
26644 | ||
26645 | 2004-07-01 Joseph S. Myers <jsm@polyomino.org.uk> | |
26646 | ||
26647 | * doc/cppinternals.texi, doc/install.texi, doc/invoke.texi, | |
26648 | doc/md.texi, doc/sourcebuild.texi, doc/tm.texi, doc/trouble.texi: | |
26649 | Use terminology "testsuite" and "enumerated". | |
26650 | ||
26651 | 2004-07-01 Richard Henderson <rth@redhat.com> | |
26652 | ||
26653 | * dwarf2out.c (reg_save): Use INVALID_REGNUM. | |
26654 | (dwarf2out_reg_save, dwarf2out_return_save): Likewise. | |
26655 | (initial_return_save): Likewise. | |
26656 | (flush_queued_reg_saves): Remap register numbers. | |
26657 | (dwarf2out_return_reg): Likewise. | |
26658 | ||
26659 | 2004-07-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
26660 | ||
26661 | * gimplify.c (gimplify_one_sizepos): Don't do anything if any VAR_DECL. | |
26662 | ||
26663 | * tree-pretty-print.c (dump_generic_node, case ARRAY_REF): Use | |
26664 | access functions for lower bound and element size and only output | |
26665 | if lower bound nonzero or element size not same as that of type. | |
26666 | (dump_generic_node, case COMPONENT_REF): Use access func. for offset. | |
26667 | ||
26668 | 2004-07-01 Paolo Bonzini <bonzini@gnu.org> | |
26669 | ||
26670 | * c-pretty-print.c (pp_c_postfix_expression): Fix pasto. | |
26671 | ||
26672 | 2004-07-01 Per Bothner <per@bothner.com> | |
26673 | ||
e8366202 | 26674 | * final.c (final): Fix typo reported by Aaron W. LaFramboise. |
7a4515d7 SB |
26675 | |
26676 | 2004-07-01 Jakub Jelinek <jakub@redhat.com> | |
26677 | ||
26678 | * expr.c (expand_assignment): Optimize bitfld += cst for 1 bit | |
26679 | bitfields as well. STRIP_NOPS from src operand and PLUS_EXPR's | |
26680 | first operand. Don't optimize if the bitfield is volatile. | |
26681 | ||
26682 | 2004-07-01 Paolo Bonzini <bonzini@gnu.org> | |
26683 | ||
26684 | * c-pretty-print.c (pp_c_postfix_expression): Handle | |
26685 | floating-point comparison operators. | |
26686 | (pp_c_expression): Pass floating-point comparison | |
26687 | operators to pp_c_postfix_expression. | |
26688 | ||
26689 | 2004-07-01 Roger Sayle <roger@eyesopen.com> | |
26690 | ||
26691 | * simplify-rtx.c (simplify_binary_operation) <PLUS, MINUS>: Use | |
26692 | rtx_cost instead of "had_mult" to determine whether the transformed | |
26693 | expression is cheaper than the original. | |
26694 | ||
26695 | 2004-07-01 Jerry Quinn <jlquinn@optonline.net> | |
26696 | ||
26697 | * alias.c (get_alias_set, canon_rtx, get_addr, | |
26698 | nonoverlapping_memrefs_p, nonlocal_referenced_p_1, memory_modified_1): | |
26699 | Use MEM_P. | |
26700 | * builtins.c (expand_builtin_prefetch, expand_builtin_profile_func, | |
26701 | expand_builtin): Likewise. | |
26702 | * calls.c (expand_call, emit_library_call_value_1, store_one_arg): | |
26703 | Likewise. | |
26704 | * combine.c (can_combine_p, combinable_i3pat, try_combine, | |
26705 | find_split_point, combine_simplify_rtx, simplify_set, make_extraction, | |
26706 | rtx_equal_for_field_assignment_p, gen_lowpart_for_combine, | |
26707 | record_dead_and_set_regs_1, get_last_value_validate, | |
26708 | mark_used_regs_combine, move_deaths, unmentioned_reg_p_1): Likewise. | |
26709 | * cse.c (check_dependence, canon_hash, equiv_constant, | |
26710 | gen_lowpart_if_possible, cse_insn, invalidate_from_clobbers, | |
26711 | cse_around_loop, cse_check_loop_start, cse_set_around_loop, | |
26712 | count_reg_usage): Likewise. | |
26713 | * cselib.c (rtx_equal_for_cselib_p, add_mem_for_addr, cselib_lookup, | |
26714 | cselib_invalidate_mem, cselib_invalidate_rtx, cselib_record_set, | |
26715 | cselib_record_sets): Likewise. | |
26716 | * dbxout.c (PARM_PASSED_IN_MEMORY, dbxout_symbol, | |
26717 | dbxout_symbol_location, dbxout_parms, dbxout_reg_parms): Likewise. | |
26718 | * ddg.c (mark_mem_use, mark_mem_store, rtx_mem_access_p): Likewise. | |
26719 | * df.c (df_uses_record): Likewise. | |
26720 | * dojump (do_jump): Likewise. | |
26721 | * dwarf2out.c (stack_adjust_offset, mem_loc_descriptor, | |
26722 | loc_descriptor_from_tree, rtl_for_decl_location, add_bound_info, | |
26723 | decl_start_label): Likewise. | |
26724 | * emit-rtl.c (gen_complex_constant_part, gen_highpart, | |
26725 | operand_subword, change_address_1, make_safe_from): Likewise. | |
26726 | * explow.c (break_out_memory_refs, copy_all_regs, validize_mem, | |
26727 | stabilize, force_not_mem): Likewise. | |
26728 | * expmed.c (store_bit_field, store_split_bit_field, extract_bit_field, | |
26729 | expand_mult_const, expand_divmod, emit_store_flag): Likewise. | |
26730 | * expr.c (convert_move, convert_modes, emit_block_move, | |
26731 | emit_group_load, emit_group_store, clear_storage, emit_move_insn, | |
26732 | emit_move_insn_1, expand_assignment, store_expr, | |
26733 | store_constructor_field, store_constructor, store_field, | |
26734 | force_operand, safe_from_p, expand_expr_real_1, expand_increment): | |
26735 | Likewise. | |
26736 | * final.c (cleanup_subreg_operands, alter_subreg, | |
26737 | get_mem_expr_from_op): Likewise. | |
26738 | * flow.c (notice_stack_pointer_modification_1, | |
26739 | init_propagate_block_info, insn_dead_p, mark_set_1, mark_used_regs): | |
26740 | Likewise. | |
26741 | * function.c (mark_temp_addr_taken, preserve_temp_slots, | |
26742 | preserve_rtl_expr_result, put_var_into_stack, fixup_var_refs_1, | |
26743 | optimize_bit_field, flush_addressof, purge_addressof_1, | |
26744 | instantiate_decl, instantiate_virtual_regs_1, assign_parms, | |
26745 | setjmp_protect, setjmp_protect_args, fix_lexical_addr, | |
26746 | keep_stack_depressed): Likewise. | |
26747 | * ifcvt.c (noce_try_cmove_arith, noce_try_abs, noce_operand_ok, | |
26748 | noce_process_if_block, find_memory): Likewise. | |
26749 | * integrate.c (subst_constants, allocate_initial_values): Likewise. | |
26750 | * local-alloc.c (validate_equiv_mem_from_store, memref_referenced_p, | |
26751 | update_equiv_regs): Likewise. | |
26752 | * loop.c (scan_loop, prescan_loop, note_addr_stored, check_store, | |
26753 | maybe_eliminate_biv_1, find_mem_in_note_1): Likewise. | |
26754 | * optabs.c (expand_abs, emit_unop_insn): Likewise. | |
26755 | * passes.c (rest_of_handle_final): Likewise. | |
26756 | * postreload.c (reload_cse_simplify_set, reload_cse_simplify_operands, | |
26757 | move2add_note_store): Likewise. | |
26758 | * ra-build.c (detect_remat_webs): Likewise. | |
26759 | * ra-debug.c (dump_static_insn_cost): Likewise. | |
26760 | * ra-rewrite.c (slots_overlap_p, insert_stores): Likewise. | |
26761 | * recog.c (validate_change, apply_change_group, cancel_changes, | |
26762 | validate_replace_rtx_1, general_operand, register_operand, | |
26763 | nonmemory_operand, push_operand, pop_operand, memory_operand, | |
26764 | indirect_operand, asm_operand_ok, offsettable_memref_p, | |
26765 | offsettable_nonstrict_memref_p, constrain_operands, | |
26766 | store_data_bypass_p): Likewise. | |
26767 | * reg-stack.c (subst_stack_regs_pat): Likewise. | |
26768 | * regclass.c (record_operand_costs, scan_one_insn, record_reg_classes, | |
26769 | copy_cost, reg_scan_mark_refs): Likewise. | |
26770 | * regmove.c (optimize_reg_copy_3, stack_memref_p, | |
26771 | combine_stack_adjustments_for_block): Likewise. | |
26772 | * regrename.c (copyprop_hardreg_forward_1): Likewise. | |
26773 | * reload.c (can_reload_into, push_reload, decompose, immune_p, | |
26774 | find_reloads, find_reloads_address, find_reloads_address_1, | |
26775 | reg_overlap_mentioned_for_reload_p, refers_to_mem_for_reload_p, | |
26776 | find_equiv_reg): Likewise. | |
26777 | * reload1.c (reload, eliminate_regs, eliminate_regs_in_insn, | |
26778 | reload_as_needed, choose_reload_regs, emit_input_reload_insns, | |
26779 | do_input_reload, emit_reload_insns, gen_reload, delete_output_reload, | |
26780 | delete_address_reloads): Likewise. | |
26781 | * resource.c (mark_referenced_resources): Likewise. | |
26782 | * rtlanal.c (get_jump_table_offset, count_occurrences, | |
26783 | reg_referenced_p, reg_set_p, set_of_1, set_noop_p, | |
26784 | reg_overlap_mentioned_p, note_uses, replace_regs, nonzero_bits1, | |
26785 | num_sign_bit_copies1): Likewise. | |
26786 | * rtlhooks.c (gen_lowpart_general): Likewise. | |
26787 | * sched-deps.c (sched_analyze_1, sched_analyze_2): Likewise. | |
26788 | * sdbout.c (PARM_PASSED_IN_MEMORY, sdbout_symbol, | |
26789 | sdbout_toplevel_data, sdbout_parms, sdbout_reg_parms, | |
26790 | sdbout_global_decl): Likewise. | |
26791 | * simplify-rtx.c (simplify_subreg): Likewise. | |
26792 | * stmt.c (expand_asm_operands, expand_expr_stmt_value, expand_decl, | |
26793 | expand_anon_union_decl, expand_end_case_type): Likewise. | |
26794 | * unroll.c (calculate_giv_inc): Likewise. | |
26795 | * var-tracking.c (stack_adjust_offset_pre_post, | |
26796 | bb_stack_adjust_offset, track_expr_p, count_uses, add_uses, | |
26797 | add_stores, compute_bb_dataflow, vt_get_decl_and_offset, | |
26798 | vt_add_function_parameters): Likewise. | |
26799 | * varasm.c (make_var_volatile, notice_global_symbol, | |
26800 | assemble_external, decode_addr_const, mark_weak, | |
26801 | default_encode_section_info): Likewise. | |
26802 | ||
26803 | 2004-07-01 Steven Bosscher <stevenb@suse.de> | |
26804 | ||
26805 | * stmt.c (check_seenlabel): Remove. | |
26806 | (pushcase, pushcase_range, expand_end_case_type): Don't call it. | |
26807 | ||
26808 | 2004-07-01 Richard Henderson <rth@redhat.com> | |
26809 | ||
26810 | * function.h (struct function): Remove x_function_call_count. | |
26811 | (function_call_count): Remove. | |
26812 | * calls.c (expand_call): Don't set it. | |
26813 | * integrate.c (copy_rtx_and_substitute): Likewise. | |
26814 | ||
26815 | * function.h (struct function): Remove x_cleanup_label. | |
26816 | (cleanup_label): Remove. | |
26817 | * stmt.c (expand_value_return): Don't use it. | |
26818 | * function.c (free_after_compilation): Don't set it. | |
26819 | (expand_function_start): Likewise. Remove parms_have_cleanups arg. | |
26820 | * cfgexpand.c (tree_expand_cfg): Update call. | |
26821 | * tree.h (expand_function_start): Update decl. | |
26822 | ||
26823 | 2004-07-01 Joseph S. Myers <jsm@polyomino.org.uk> | |
26824 | ||
26825 | PR c/1027 | |
26826 | * c-lang.c (c_initialize_diagnostics): Move from here ... | |
26827 | * c-objc-common.c: ... to here. Include "c-pretty-print.h". | |
26828 | (c_tree_printer): Use pretty-printer to format %T. | |
26829 | * c-pretty-print.c (pp_c_specifier_qualifier_list): Include space | |
26830 | before '*' if not C++. | |
26831 | (pp_c_direct_abstract_declarator): Don't try to print array upper | |
26832 | bound for flexible array members. | |
26833 | * c-tree.h: Include "diagnostic.h". | |
26834 | (c_initialize_diagnostics): Declare. | |
26835 | * objc/objc-lang.c (LANG_HOOKS_INITIALIZE_DIAGNOSTICS): Define. | |
26836 | * c-format.c (format_type_warning): New function. Improve | |
26837 | diagnostics for incorrect format argument types. | |
26838 | (check_format_types): Use it. Add two parameters. Use the | |
26839 | TYPE_MAIN_VARIANT of wanted_type. | |
26840 | (check_format_info_main): Pass new parameters to | |
26841 | check_format_types. | |
26842 | (struct format_wanted_type): Update comment. | |
26843 | ||
26844 | 2004-07-01 Nick Clifton <nickc@redhat.com> | |
26845 | ||
26846 | * target.h (struct gcc_target): Add new field to struct cxx: | |
26847 | import_export_class. | |
26848 | * target-def.h (TARGET_CXX): Initialise the new field. | |
26849 | (TARGET_CXX_IMPORT_EXPORT_CLASS): Provide a default value for | |
26850 | the new field. | |
26851 | * doc/tm.texi: Document the new target hook. | |
26852 | ||
26853 | 2004-07-01 Paolo Bonzini <bonzini@gnu.org> | |
26854 | ||
26855 | * builtins.c (fold_builtin_classify): Fix typo. | |
26856 | ||
26857 | 2004-07-01 Richard Henderson <rth@redhat.com> | |
26858 | ||
26859 | * function.c (identify_blocks, identify_blocks_1): Remove. | |
26860 | * function.h (identify_blocks): Remove. | |
26861 | * rtl.h (NOTE_INSN_BLOCK_BEG): Update comment. | |
26862 | ||
26863 | 2004-07-01 Paolo Bonzini <bonzini@gnu.org> | |
26864 | ||
26865 | * builtins.c (fold_builtin_classify): New. | |
26866 | (fold_builtin_unordered_cmp): Fix commentary. | |
26867 | (fold_builtin): Use it. | |
26868 | * builtins.def: Define builtins for isnan, | |
26869 | isnanf, isnanl, finite, finitef, finitel, | |
26870 | isinf, isinff, isinfl. | |
26871 | ||
26872 | 2004-07-01 Richard Henderson <rth@redhat.com> | |
26873 | ||
26874 | * function.h (struct function): Remove dont_emit_block_notes. | |
26875 | * gimple-low.c (lower_function_body): Don't set it. | |
26876 | * cfgexpand.c (expand_block): Don't check it. | |
26877 | * cfglayout.c (insn_locators_initialize): Likewise. | |
26878 | * expr.c (expand_expr_real, expand_expr_real_1): Likewise. | |
26879 | * passes.c (rest_of_compilation): Likewise. | |
26880 | * stmt.c (expand_start_bindings_and_block): Likewise. | |
26881 | (expand_end_bindings): Likewise. | |
26882 | ||
26883 | 2004-07-01 Richard Henderson <rth@redhat.com> | |
26884 | ||
26885 | * cgraph.h (cgraph_build_static_cdtor): Declare. | |
26886 | * cgraphunit.c (cgraph_build_static_cdtor): New. | |
26887 | * c-objc-common.c (build_cdtor): Use it. | |
26888 | * coverage.c (create_coverage): Likewise. | |
26889 | * libfuncs.h (LTI_gcov_init, gcov_init_libfunc): Remove. | |
26890 | * optabs.c (init_optabs): Don't set gcov_init_libfunc. | |
26891 | ||
3eb54e5f ILT |
26892 | 2004-06-30 Roger Sayle <roger@eyesopen.com> |
26893 | ||
26894 | * expmed.c (expand_shift): Consider expanding LSHIFT_EXPR by a | |
26895 | constant as a sequence of additions depending upon the rtx_costs. | |
26896 | (synth_mult): Update the "observed" cost of a shift, based upon | |
26897 | the above optimization. | |
26898 | ||
26899 | 2004-06-28 Geoffrey Keating <geoffk@apple.com> | |
26900 | Andreas Tobler <a.tobler@schweiz.ch> | |
26901 | ||
26902 | PR 15813 | |
26903 | * dwarf2out.c (reg_save): Output DW_CFA_same_value when a | |
26904 | register is saved in itself. | |
26905 | (initial_return_save): If the return address is a register, | |
26906 | it's already there, don't bother to mention it in the CFI. | |
26907 | (struct queued_reg_save): Add field saved_reg. | |
26908 | (struct reg_saved_in_data): New. | |
26909 | (regs_saved_in_regs): New. | |
26910 | (num_regs_saved_in_regs): New. | |
26911 | (queue_reg_save): Add extra parameter to specify register saved | |
26912 | in register. Remove duplicate entries from queue. Add comment | |
26913 | for function. | |
26914 | (flush_queued_reg_saves): Handle registers saved in registers. | |
26915 | Update regs_saved_in_regs. Add comment for function. | |
26916 | (clobbers_queued_reg_save): Add comment for function. Allow | |
26917 | for regs_saved_in_regs. | |
26918 | (reg_saved_in): New. | |
26919 | (dwarf2out_frame_debug_expr): Handle saving registers in other | |
26920 | registers. | |
26921 | (dwarf2out_frame_debug): Reset regs_saved_in_regs. | |
26922 | * unwind-dw2.c (execute_cfa_program): Correct handling of | |
26923 | DW_CFA_same_value. Add FIXME comment about incorrect implementation | |
26924 | of DW_CFA_restore_extended. | |
26925 | * config/rs6000/rs6000.c (rs6000_emit_prologue): Let | |
26926 | dwarf2out_frame_debug_expr see instructions that save registers | |
26927 | in other registers or save those other registers in memory. | |
26928 | ||
26929 | * unwind-dw2.c (DWARF_FRAME_REGISTERS): Move to unwind-dw2.h. | |
26930 | (_Unwind_FrameState): Likewise. | |
26931 | * unwind-dw2.h: New. | |
26932 | * Makefile.in (LIB2ADDEHDEP): Add unwind-dw2.h. | |
26933 | * config/rs6000/darwin-fallback.c: New file. | |
26934 | * config/rs6000/darwin.h (MD_FALLBACK_FRAME_STATE_FOR): Define. | |
26935 | * config/rs6000/t-darwin (LIB2FUNCS_EXTRA): Add darwin-fallback.o. | |
26936 | ||
26937 | 2004-07-01 Alan Modra <amodra@bigpond.net.au> | |
26938 | ||
26939 | * config/rs6000/rs6000.c (rs6000_mixed_function_arg): Rewrite. | |
26940 | (function_arg): Use rs6000_arg_size rather than CLASS_MAX_NREGS in | |
26941 | calculating gpr size for altivec. Simplify and correct | |
26942 | rs6000_mixed_function_arg calls. Call rs6000_mixed_function_arg | |
26943 | for ABI_V4 gpr case too. Fix off-by-one error in long double | |
26944 | reg test. Generate the correct PARALLEL to handle long double | |
26945 | for ABI_AIX 32-bit. Use this for -m32 -mpowerpc64 fpr case too. | |
26946 | (function_arg_partial_nregs): Align before calculating regs left. | |
26947 | Don't return info on partial fprs when we need info on gprs. | |
26948 | Correct long double fpr off-by-one error. | |
26949 | ||
26950 | 2004-06-30 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
26951 | ||
26952 | * pa-protos.h (prefetch_operand): Add prototype. | |
26953 | * pa.c (prefetch_operand): New function. | |
26954 | * pa.h (prefetch_operand): Add to PREDICATE_CODES. | |
26955 | * pa.md (prefetch, prefetch_32, prefetch_64): New prefetch patterns. | |
26956 | ||
26957 | 2004-06-30 Richard Henderson <rth@redhat.com> | |
26958 | ||
26959 | * function.h (struct function): Remove x_whole_function_mode_p. | |
26960 | * c-decl.c (store_parm_decls): Don't set it. | |
26961 | * tree-optimize.c (tree_rest_of_compilation): Likewise. | |
26962 | * passes.c (rest_of_compilation): Don't check it. | |
26963 | * stmt.c (expand_fixup): Likewise. | |
26964 | * function.c (fixup_var_refs_insn): Remove unused variable. | |
26965 | ||
26966 | 2004-06-30 Richard Henderson <rth@redhat.com> | |
26967 | ||
26968 | * tree.h (immediate_size_expand): Delete. | |
26969 | * stor-layout.c (immediate_size_expand): Delete. | |
26970 | (variable_size): Don't look at it. | |
26971 | * c-decl.c (push_parm_decl): Don't frob immediate_size_expand. | |
26972 | (start_function): Likewise. | |
26973 | * cfgexpand.c (construct_exit_block): Likewise. | |
26974 | * function.c (init_function_start, expand_function_end): Likewise. | |
26975 | * tree-optimize.c (tree_rest_of_compilation): Likewise. | |
26976 | ||
26977 | 2004-06-30 Richard Henderson <rth@redhat.com> | |
26978 | ||
26979 | * gimplify.c (gimplify_compound_lval): Take fallback argument | |
26980 | instead of want_lvalue. | |
26981 | (gimplify_call_expr): Take want_value argument instead of test | |
26982 | function. Gimplify arguments to val only if reg_type; otherwise | |
26983 | allow lvalue forms. | |
26984 | (gimplify_expr): Update gimplify_compound_lval and gimplify_call_expr | |
26985 | calls. | |
26986 | * tree-gimple.c: Update GIMPLE grammer. Use true/false not 1/0. | |
26987 | Tidy commentary globally. | |
26988 | (get_call_expr_in): Remove RETURN_EXPR handling. Tidy. | |
26989 | * tree-gimple.h (is_gimple_call_addr): Mark extern. | |
26990 | ||
26991 | * gimplify.c (gimplify_modify_expr_to_memcpy): Fix typo. | |
26992 | ||
26993 | 2004-06-30 Richard Henderson <rth@redhat.com> | |
26994 | ||
26995 | * tree-gimple.c (right_assocify_expr): Kill | |
26996 | (rationalize_compound_expr): Kill. | |
26997 | * tree-gimple.h: Likewise. | |
26998 | * tree-inline.c (expand_call_inline): Don't call it. | |
26999 | ||
27000 | * function.h (struct function): Remove x_last_parm_insn, | |
27001 | inl_last_parm_insn. | |
27002 | (last_parm_insn): Remove. | |
27003 | * function.c (free_after_compilation): Don't clear them. | |
27004 | (fixup_var_refs_insn, assign_parms): Don't set them. | |
27005 | ||
27006 | * function.c, rtl.h (get_first_nonparm_insn): Remove. | |
27007 | ||
27008 | 2004-06-30 Joseph S. Myers <jsm@polyomino.org.uk> | |
27009 | ||
27010 | * c-common.h (check_function_format): Remove first parameter. | |
27011 | * c-format.c (format_check_context): Remove status. | |
27012 | (check_format_info, check_format_info_main, | |
27013 | maybe_read_dollar_number, avoid_dollar_number, | |
27014 | finish_dollar_format_checking, check_format_types, | |
27015 | check_function_format): Remove first parameter. Don't use | |
27016 | status_warning. | |
27017 | (check_format_arg): Don't use status_warning. | |
27018 | (status_warning): Remove. | |
27019 | * c-common.c (check_function_arguments): Update call to | |
27020 | check_function_format. | |
27021 | ||
27022 | 2004-06-30 Eric Botcazou <ebotcazou@libertysurf.fr> | |
27023 | ||
27024 | * config/sparc/sparc-protos.h (output_cbranch): Constify return | |
27025 | value. | |
27026 | (output_v9branch): Likewise. | |
27027 | (sparc_v8plus_shift): Likewise. Rename into output_v8plus_shift. | |
27028 | * config/sparc/sparc.c (output_cbranch): Constify return value. | |
27029 | Prettify output for delay slots. | |
27030 | (output_v9branch): Likewise. | |
27031 | (sparc_v8plus_shift): Constify return value. Rename into | |
27032 | output_v8plus_shift. | |
27033 | * config/sparc/sparc.md (ashldi3_v8plus): Adjust call to | |
27034 | sparc_v8plus_shift. | |
27035 | (ashrdi3_v8plus): Likewise. | |
27036 | (lshrdi3_v8plus): Likewise. | |
27037 | (call_address_struct_value_sp32): Prettify output for delay slots. | |
27038 | (call_symbolic_struct_value_sp32): Likewise. | |
27039 | (call_address_untyped_struct_value_sp32): Likewise. | |
27040 | (call_symbolic_untyped_struct_value_sp32): Likewise. | |
27041 | ||
27042 | 2004-06-30 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> | |
27043 | ||
27044 | * common.opt (ftree-loop-optimize): New flag. | |
27045 | * tree-flow.h (kill_redundant_phi_nodes): Declare. | |
27046 | * tree-optimize.c (init_tree_optimization_passes): Add pass_loop. | |
27047 | * tree-pass.h (pass_loop_init, pass_loop_done): Declare. | |
27048 | * tree-ssa-loop.c (current_loops): New variable. | |
27049 | (tree_loop_optimizer_init, gate_loop, tree_ssa_loop_init, | |
27050 | tree_ssa_loop_done): New functions. | |
27051 | (pass_loop, pass_loop_init, pass_loop_done): New passes. | |
27052 | * tree-ssa.c (kill_redundant_phi_nodes): Export. | |
27053 | * doc/invoke.texi (-ftree-loop-optimize): Document. | |
27054 | ||
27055 | 2004-06-30 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> | |
27056 | ||
27057 | * tree-ssa-loop-ch.c: New file. | |
27058 | * Makefile.in (tree-ssa-loop-ch.o): Add. | |
27059 | (tree-into-ssa.o): Add GGC_H dependency. | |
27060 | * tree-cfg.c (tree_duplicate_bb): Copy virtual arguments. | |
27061 | * tree-flow.h (rewrite_into_ssa): Declaration changed. | |
27062 | (rewrite_ssa_into_ssa, compute_global_livein, duplicate_ssa_name): | |
27063 | Declare. | |
27064 | * tree-into-ssa.c: Include ggc.h. | |
27065 | (struct def_blocks_d): Add phi_blocks field. | |
27066 | (struct mark_def_sites_global_data): Add names_to_rename field. | |
27067 | (struct ssa_name_info): New. | |
27068 | (compute_global_livein): Export. | |
27069 | (set_def_block, insert_phi_nodes, mark_def_sites, set_livein_block, | |
27070 | insert_phi_nodes_1, rewrite_finalize_block, insert_phi_nodes_for, | |
27071 | register_new_def, get_reaching_def, def_blocks_free, | |
27072 | get_def_blocks_for, rewrite_into_ssa): Modified to work with | |
27073 | rewrite_ssa_into_ssa. | |
27074 | (get_ssa_name_ann, get_phi_state, set_phi_state, get_current_def, | |
27075 | set_current_def, ssa_mark_def_sites_initialize_block, | |
27076 | ssa_mark_phi_uses, ssa_mark_def_sites, duplicate_ssa_name, | |
27077 | ssa_register_new_def, ssa_rewrite_initialize_block, | |
27078 | ssa_rewrite_phi_arguments, ssa_rewrite_finalize_block, | |
27079 | ssa_rewrite_stmt, rewrite_ssa_into_ssa, rewrite_all_into_ssa): New | |
27080 | functions. | |
27081 | (pass_build_ssa): Call rewrite_all_into_ssa. | |
27082 | * tree-optimize.c (execute_todo, execute_one_pass, | |
27083 | tree_rest_of_compilation): Allocate vars_to_rename only once. | |
27084 | * tree-ssa-dom.c (tree_ssa_dominator_optimize): Provide parameter | |
27085 | to rewrite_into_ssa. | |
27086 | * tree-ssa-loop.c (should_duplicate_loop_header_p, | |
27087 | mark_defs_for_rewrite, duplicate_blocks, do_while_loop_p, | |
27088 | copy_loop_headers, gate_ch, pass_ch): Moved to tree-ssa-loop-ch.c. | |
27089 | Use rewrite_ssa_into_ssa. | |
27090 | * tree-ssa-operands.c (copy_virtual_operands): New function. | |
27091 | * tree-ssa-operands.h (copy_virtual_operands): Declare. | |
27092 | * tree.h (struct tree_ssa_name): Add aux field. | |
27093 | (SSA_NAME_AUX): New macro to access it. | |
27094 | ||
27095 | 2004-05-28 Aaron W. LaFramboise <aaronraolete36@aaronwl.com> | |
27096 | ||
27097 | * prefix.c (lookup_key): Cast buffer to LPBYTE. | |
27098 | ||
27099 | 2004-06-30 Per Bothner <per@bothner.com> | |
27100 | ||
27101 | Conditionally compile support for --enable-mapped_location. | |
e8366202 | 27102 | * input.h: #include line-map.h for source_location typedef. |
3eb54e5f | 27103 | (BUILTINS_LOCATION, UNKNOWN_LOCATION, expand_location, |
e8366202 MS |
27104 | LOCATION_FILE, LOCATION_LINE): New macros and functions. |
27105 | (expanded_location, source_locus): New typedefs. | |
27106 | (push_srcloc): Change parameter list if USE_MAPPED_LOCATION. | |
27107 | * rtl.def (NOTE, ASM_OPERANDS): Modify specifcation, if | |
3eb54e5f | 27108 | USE_MAPPED_LOCATION. |
e8366202 | 27109 | * rtl.h (NOTE_DELETED_LABEL_NAME): New macro. |
3eb54e5f ILT |
27110 | (NOTE_SOURCE_LOCATION, NOTE_EXPNDED_LOCATION, SET_INSN_DELETED): |
27111 | New conditional macros. | |
e8366202 | 27112 | (ASM_OPERANDS_SOURCE_FILE, ASM_OPERANDS_SOURCE_LINE): Replace |
3eb54e5f ILT |
27113 | by ASM_OPERANDS_SOURCE_LOCATION if USE_MAPPED_LOCATION. |
27114 | * tree.h (EXPR_LOCATION, SET_EXPR_LOCATION, EXPR_HAS_LOCATION, | |
27115 | EXPR_LOCUS, SET_EXPR_LOCUS, EXPR_FILENAME, EXPR_LINENO, | |
e8366202 MS |
27116 | DECL_IS_BUILTIN): New macros, most depending on USE_MAPPED__LOCATION. |
27117 | (tree_exp): Change type of locus to use new source_locus typedef. | |
27118 | * tree.c (build1_stat): Use SET_EXPR_LOCATION. | |
27119 | (annotate_with_locus, annotate_with_file_line): Conditionalize. | |
27120 | (expand_location): New function. | |
27121 | * toplev.c (unknown_location): New static, when USE_MAPPED_LOCATION. | |
27122 | (push_srcloc, pop_loc): Adjust parameter handling. | |
27123 | (process_options): Don't set input_filename by itself. | |
27124 | (lang_dependent_init): Save, set input_location to <built-in>. | |
27125 | (warn_deprecated_use): Use expand_location. | |
27126 | ||
27127 | * basic-block.h (struct edge_def): Use new source_locus typedef. | |
27128 | * c-common.c (fname_decl): Update save/clear/store of input_location. | |
27129 | (c_do_switch_warnings): Update for USE_MAPPED_LOCATION case. | |
27130 | * c-decl.c: Likewise. | |
27131 | * c-dump.c (dump_stmt): Likewise. | |
27132 | * c-gimplify.c (c-gimplify.c): Generalize using SET_EXPR_LOCATION. | |
27133 | * c-lex.c (cb_line_change): If USE_MAPPED_LOCATION use token's src_loc | |
3eb54e5f | 27134 | to set input_location direction, rather than using linemap_lookup. |
e8366202 MS |
27135 | (fe_file_change, cb_def_pragma): Again use source_location directly. |
27136 | * c-opts.c (saved_lineno): Remove static variable. | |
27137 | (c_common_post_options, c_common_init): Don't bothner to save, | |
3eb54e5f | 27138 | clear and restore input_Location - now handled by lang_dependent_init. |
e8366202 MS |
27139 | * function.c (init_function_start): Use new DECL_IS_BUILTIN macro. |
27140 | * xcoffout.c (xcoff_assign_fundamental_type_number): Likewise. | |
27141 | * tree-mudflap.c (mf_file_function_line_tree): Take a location_t | |
3eb54e5f | 27142 | rather than a pointer to one. Use expand_location. |
e8366202 MS |
27143 | (mf_varname_tree): Use expand_location. |
27144 | * tree-dump.c: Use expand_location on DECL_SOURCE_LOCATION. | |
27145 | * coverage.c: Likewise. | |
27146 | * print-tree.c: Likewise. | |
27147 | * c-aux-info.c (gen_aux_info_record): Likewise. | |
27148 | * c-parse.in: Use SET_EXPR_LOCATION macro. | |
27149 | * gimple-low.c: Likewise. | |
27150 | * tree-mudflap.c: Likewise. | |
27151 | * gimplify.c: Likewise. Also use EXPR_LOCATION and EXPR_HAS_LOCATION. | |
27152 | * c-ppoutput.c: Use new source_location typedef instead of fileline. | |
27153 | * c-semantics.c: Use new macros. | |
27154 | * c-typeck.c: Likewise. | |
27155 | * cfgexpand.c: Handle USE_MAPPED_LOCATION case for function_end_locus. | |
27156 | * cfglayout.c (insn_locators_initialize): Const cleanup. New macros. | |
27157 | * cfgrtl.c (delete_insn): Use new NOTE_DELETED_LABEL_NAME macro. | |
27158 | * print-rtl.c (print_rtx): Likewise. | |
27159 | * emit-rtl.c: Don't clear NOTE_SOURCE_FILE if USE_MAPPED_LOCATION. | |
27160 | * combine.c: Use new SET_INSN_DELETED macro. | |
27161 | * flow.c: Likewise. | |
27162 | * haifa-sched.c: Likewise. | |
27163 | * ifcvt.c: Likewise. | |
27164 | * recog.c: Likewise. | |
27165 | * reload1.c: Likewise. | |
27166 | * diagnostic.c: Use expand_location macro. | |
27167 | * pretty-print.c (pp_base_format_text): Likewise. | |
27168 | * profile.c: Likewise. | |
27169 | * dwarf2out.c: Likewise. Also use expand_location, DECL_IS_BUILTIN. | |
27170 | * dwarf2out.c (dwarf2out_decl: Use BUILTINS_LOCATION. | |
27171 | * emit-rtl.c (emit_line_note): Simplify if USE_MAPPED_LOCATION. | |
27172 | (force_next_line_note, insn_emit): Handle USE_MAPPED_LOCATION case. | |
27173 | * final.c (final): Likewise. | |
27174 | * haifa-sched.c: Likewise. | |
27175 | * integrate.c: Likewise. | |
27176 | * jump.c: Likewise. | |
27177 | * rtl-error.c: Likewise. | |
27178 | * stmt.c (check_seenlabel): Likewise. | |
27179 | * tree-pretty-print.c: Likewise. | |
27180 | * gengtype-lex.l: Temporary kludge to avoid duplicate typedef. | |
27181 | * gengtype.c: Update for now typdefs in input.h. More kludges. | |
27182 | * modulo-sched.c (sms_schedule): Use NOTE_EXPANDED_LOCATION macro. | |
27183 | * ra-debug.c (ra_print_rtl): Likewise. | |
27184 | * sched-rgn.c: Likewise. | |
27185 | * sched-vis.c: Likewise. | |
27186 | * rtl.h (gen_rtx_ASM_OPERANDS): Redefine if USE_MAPPED_LOCATION. | |
27187 | * stmt.c (expand_asm_operands): Adjust calls to gen_rtx_ASM_OPERANDS. | |
27188 | * tree-cfg.c: Use new macros and typedefs. | |
27189 | * tree-flow-inline.h: Likewise. | |
3eb54e5f ILT |
27190 | |
27191 | 2004-06-30 Richard Sandiford <rsandifo@redhat.com> | |
27192 | Eric Christopher <echristo@redhat.com> | |
27193 | ||
27194 | * config/mips/3000.md: Improve description. | |
27195 | ||
27196 | 2004-06-30 Paul Brook <paul@codesourcery.com> | |
27197 | ||
27198 | * config/arm/cirrus.md (cirrus_arm_movdi, cirrus_movsf_hard_insn, | |
27199 | cirrus_movdf_hard_insn): Set pool ranges for coprocessor loads. | |
27200 | ||
27201 | 2004-06-30 Sebastian Pop <pop@cri.ensmp.fr> | |
27202 | ||
27203 | * Makefile.in (OBJS-common): Add tree-chrec.o. | |
27204 | (tree-chrec.o): New rule. | |
27205 | (GTFILES): Add tree-chrec.h. | |
27206 | * gengtype.c (open_base_files): Add tree-chrec.h. | |
27207 | * tree-chrec.c: New file. | |
27208 | * tree-chrec.h: New file. | |
27209 | * tree.def (SCEV_KNOWN, SCEV_NOT_KNOWN, POLYNOMIAL_CHREC): New nodes. | |
27210 | ||
27211 | 2004-06-30 Roger Sayle <roger@eyesopen.com> | |
27212 | ||
27213 | * combine.c: Include "output.h" to define dump_file. | |
27214 | (uid_insn_cost, last_insn_cost): New global variables. | |
27215 | (combine_insn_cost): New function to estimate cost of an insn. | |
27216 | (combine_validate_cost): New function to determine whether a | |
27217 | try_combine replacement sequence is cheaper than the original. | |
27218 | (combine_instructions): Allocate and populate uid_insn_cost | |
27219 | array at the start of the combine pass, and deallocate it after. | |
27220 | (try_combine): Check combine_validate_cost to determine whether | |
27221 | a "recombination" should be rejected as being more expensive. | |
27222 | * Makefile.in (combine.o): Add dependency upon output.h. | |
27223 | ||
27224 | 2004-06-30 Roger Sayle <roger@eyesopen.com> | |
27225 | ||
27226 | * config/rs6000/rs6000.c (rs6000_rtx_costs) <MINUS_EXPR>: Handle | |
27227 | subtractions identically to additions, always COSTS_N_INSNS (1). | |
27228 | ||
27229 | 2004-06-30 J"orn Rennecke <joern.rennecke@superh.com> | |
27230 | ||
27231 | * expmed.c (expand_smod_pow2): Fix sign of mask. | |
27232 | ||
27233 | 2004-06-29 Diego Novillo <dnovillo@redhat.com> | |
27234 | ||
27235 | * tree-ssa-pre.c (phi_trans_add): Use is_gimple_min_invariant | |
27236 | to check for constants. | |
27237 | (set_remove): Likewise. | |
27238 | (value_replace_in_set): Likewise. | |
27239 | (find_leader): Likewise. | |
27240 | * tree-vn.c (set_value_handle): Likewise. | |
27241 | (vn_lookup): Likewise. | |
27242 | (vn_lookup_or_add): Likewise. | |
27243 | ||
27244 | 2004-06-30 Eric Botcazou <ebotcazou@libertysurf.fr> | |
27245 | ||
27246 | RTL prologue/epilogue for SPARC | |
27247 | * config/sparc/sparc-protos.h (sparc_emitting_epilogue): Delete. | |
27248 | (sparc_skip_caller_unimp): Likewise. | |
27249 | (load_pic_register): Likewise. | |
27250 | (leaf_return_peephole_ok): Likewise. | |
27251 | (compute_frame_size): Rename into sparc_compute_frame_size. | |
27252 | (sparc_expand_prologue): New prototype. | |
27253 | (sparc_expand_epilogue): Likewise. | |
27254 | (output_return): Likewise. | |
27255 | (eligible_for_epilogue_delay): Rename into eligible_for_return_delay. | |
27256 | * config/sparc/sparc.h (INITIAL_ELIMINATION_OFFSET): Adjust call to | |
27257 | compute_frame_size. Move comment up. | |
27258 | (DELAY_SLOTS_FOR_EPILOGUE): Delete. | |
27259 | (ELIGIBLE_FOR_EPILOGUE_DELAY): Likewise. | |
27260 | (EPILOGUE_USES): Return true for %g1 if the function uses EH return. | |
27261 | * config/sparc/sparc.md (UNSPECV_SAVEW): New constant. | |
27262 | (type attribute): Add 'return' and 'savew'. | |
27263 | (eligible_for_return_delay): New attribute. | |
27264 | (return): New delay_slot. | |
27265 | (sibcall_epilogue): Call sparc_expand_epilogue. | |
27266 | (prologue): Likewise. Move up. | |
27267 | (save_register_window): New expander. | |
27268 | (save_register_windowsi): New pattern. | |
27269 | (save_register_windowdi): Likewise. | |
27270 | (epilogue): New expander. | |
27271 | (return_internal): New pattern. | |
27272 | (Return peepholes): Delete. | |
27273 | * config/sparc/sparc.c (SIBCALL_SLOT_EMPTY_P): New macro. | |
27274 | (sparc_emitting_epilogue): Delete. | |
27275 | (sparc_skip_caller_unimp): Likewise. | |
27276 | (sparc_sr_alias_set): New global variable. | |
27277 | (frame_base_name): Delete. | |
27278 | (frame_base_reg): New global variable. | |
27279 | (sparc_override_options): Get new alias set for save/restore. | |
27280 | (leaf_return_peephole_ok): Delete. | |
27281 | (eligible_for_epilogue_delay): Rename into eligible_for_return_delay. | |
27282 | Factor out code into eligible_for_restore_insn_delay. | |
27283 | (eligible_for_restore_insn_delay): New function extraced from above. | |
27284 | Use IN_UNCOND_BRANCH_DELAY_TRUE instead of IN_BRANCH_DELAY_TRUE. | |
27285 | (eligible_for_sibcall_delay): Use SIBCALL_SLOT_EMPTY_P. | |
27286 | Factor out code into eligible_for_restore_insn_delay. | |
27287 | (load_pic_register): Make static. Remove check. | |
27288 | (save_regs): Delete. | |
27289 | (restore_regs): Likewise. | |
27290 | (compute_frame_size): Rename into sparc_compute_frame_size. | |
27291 | Rename leaf_function into leaf_function_p. | |
27292 | (build_big_number): Delete. | |
27293 | (save_or_restore_regs): New function. | |
27294 | (emit_save_regs): Likewise. | |
27295 | (emit_restore_regs): Likewise. | |
27296 | (emit_stack_pointer_increment ): Likewise. | |
27297 | (emit_stack_pointer_decrement): Likewise. | |
27298 | (sparc_expand_prologue): Likewise. | |
27299 | (sparc_function_prologue): Rename into sparc_asm_function_prologue. | |
27300 | Remove all code to emit instructions. | |
27301 | (sparc_expand_epilogue): New function. | |
27302 | (sparc_function_epilogue): Rename into sparc_asm_function_epilogue. | |
27303 | Remove all code to emit instructions. | |
27304 | (output_restore): New function. | |
27305 | (output_return): Likewise. | |
27306 | (output_sibcall): Factor out code into output_restore. | |
27307 | (print_operand): Adjust for frame_base_reg. | |
27308 | * target.h (struct gcc_target): New field 'late_rtl_prologue_epilogue'. | |
27309 | * target-def.h (TARGET_LATE_RTL_PROLOGUE_EPILOGUE): New define. | |
27310 | (TARGET_INITIALIZER): Add it. | |
27311 | * passes.c (rest_of_compilation): Set the conditional predicate | |
27312 | 'current_function_uses_only_leaf_regs' before sched2. If target | |
27313 | has 'late_rtl_prologue_epilogue', emit RTL prologue/epilogue right | |
27314 | before sched2. | |
27315 | * reorg.c (return_insn_p): New predicate. | |
27316 | (find_end_label): Use it. | |
27317 | (relax_delay_slots): Do not thread an unconditional jump that points | |
27318 | to the end return label. | |
27319 | * doc/tm.texi (Registers) <Leaf Functions>: Clarify the validity | |
27320 | domain of 'current_function_uses_only_leaf_regs'. | |
27321 | (Stack and Calling) <Function Entry>: Document new target hook | |
27322 | TARGET_LATE_RTL_PROLOGUE_EPILOGUE. | |
27323 | ||
27324 | 2004-06-30 Jakub Jelinek <jakub@redhat.com> | |
27325 | ||
27326 | * simplify-rtx.c (simplify_binary_operation): Simplify | |
27327 | ((A & N) + B) & M -> (A + B) & M if M is pow2 minus 1 constant and | |
27328 | N has at least all bits in M set as well. | |
27329 | ||
27330 | PR tree-optimization/15310 | |
27331 | * expr.c (expand_assignment): Optimize += or -= on a bit field in | |
27332 | most significant bits. | |
27333 | ||
27334 | 2004-06-30 Steven Bosscher <stevenb@suse.de> | |
27335 | ||
27336 | * config/c4x/c4x.md: Fix comment. | |
27337 | ||
27338 | 2004-06-30 Akos Kiss <akiss@inf.u-szeged.hu> | |
27339 | ||
27340 | * arm.md (cond_return_inverted): Add "length" attribute. | |
27341 | ||
27342 | 2004-06-29 Per Bothner <per@bothner.com> | |
27343 | ||
e8366202 | 27344 | * config/i386/winnt.c (i386_pe_encode_section_info): Smash rtlname's |
3eb54e5f ILT |
27345 | XSTR in place, so we don't lose SYMBOL_REF_DECL info. |
27346 | ||
27347 | 2004-06-29 Zack Weinberg <zack@codesourcery.com> | |
27348 | ||
27349 | * config/ia64/hpux.h: Target does too support thread-local storage. | |
27350 | ||
27351 | 2004-06-29 Zack Weinberg <zack@codesourcery.com> | |
27352 | ||
27353 | * combine.c (distribute_notes): Don't look at global_regs for | |
27354 | pseudos. | |
27355 | ||
27356 | 2004-06-29 Richard Henderson <rth@redhat.com> | |
27357 | ||
27358 | * gimplify.c (gimplify_modify_expr_rhs): Move immediately before | |
27359 | gimplify_modify_expr. | |
27360 | (gimplify_init_constructor): Likewise. Gimplify the null | |
27361 | CONSTRUCTOR assignment. | |
27362 | (gimplify_modify_expr_to_memcpy): New. | |
27363 | (gimplify_modify_expr_to_memset): New. | |
27364 | (gimplify_modify_expr): Use them. | |
27365 | ||
27366 | 2004-06-29 Roman Zippel <zippel@linux-m68k.org> | |
27367 | ||
27368 | * web.c (union_defs): use all defs of an instruction to create a | |
27369 | union with a read/write use | |
27370 | ||
27371 | 2004-06-29 Richard Henderson <rth@redhat.com> | |
27372 | ||
27373 | PR middle-end/16216 | |
27374 | * builtins.c (gimplify_va_arg_expr): Check for valist being | |
27375 | an error_mark_node. | |
27376 | ||
27377 | 2004-06-29 Jakub Jelinek <jakub@redhat.com> | |
27378 | ||
27379 | PR target/16195 | |
27380 | * config/rs6000/rs6000.c (rs6000_conditional_register_usage): Make | |
27381 | r30 fixed if TARGET_TOC && TARGET_MINIMAL_TOC. | |
27382 | (first_reg_to_save): Pretend call_used_regs[30] is 0 if | |
27383 | TARGET_TOC && TARGET_MINIMAL_TOC. | |
27384 | (rs6000_emit_prologue, rs6000_emit_epilogue): Likewise. | |
27385 | ||
27386 | 2004-06-29 J"orn Rennecke <joern.rennecke@superh.com> | |
27387 | ||
27388 | Fix gcc.dg/builtin-apply2.c failures: | |
27389 | * sh.h (TARGET_VARARGS_PRETEND_ARGS): Define. | |
27390 | * sh.c (extra_push): Delete. | |
27391 | (sh_expand_prologue): Don't do extra stack adjustment for | |
27392 | current_function_pretend_args_size if it comes from varargs setup. | |
27393 | Use TARGET_VARARGS_PRETEND_ARGS. Don't set extra_push. | |
27394 | (sh_expand_epilogue): Don't use extra_push. | |
27395 | (sh_setup_incoming_varargs): Set pretend_arg_size when necessary. | |
27396 | ||
27397 | 2004-06-29 Roger Sayle <roger@eyesopen.com> | |
27398 | ||
27399 | * expmed.c (expand_smod_pow2): Provide alternate implementations | |
27400 | that avoid conditional jumps, and choose between them based upon | |
27401 | the target's rtx_costs. | |
27402 | ||
27403 | 2004-06-29 Andrew Pinski <apinski@apple.com> | |
27404 | ||
27405 | * tree-sra.c: Include expr.h for definition of MOVE_RATIO. | |
27406 | * Makefile.in (tree-sra.c): Update dependencies. | |
27407 | ||
27408 | 2004-06-29 Richard Henderson <rth@redhat.com> | |
27409 | ||
27410 | * tree-sra.c: Rewrite from scratch. Handle nested aggregates. | |
27411 | ||
27412 | 2004-06-29 Nathan Sidwell <nathan@codesourcery.com> | |
27413 | ||
27414 | * vec.h (VEC_T_safe_push, VEC_T_safe_insert): Tweak for when | |
27415 | size_t is bigger than int. | |
27416 | ||
27417 | 2004-06-29 Paul Brook <paul@codesourcery.com> | |
27418 | ||
27419 | * target-def.h (TARGET_CXX_GET_COOKIE_SIZE, | |
27420 | TARGET_CXX_COOKIE_HAS_SIZE): Define. | |
27421 | (TARGET_CXX): Use them. | |
27422 | * target.h (struct gcc_target): Add cxx.get_cookie_size and | |
27423 | cxx.cookie_has_size. | |
27424 | * targhooks.c (default_cxx_get_cookie_size): New fucntion. | |
27425 | * targhooks.h (default_cxx_get_cookie_size): Add prototype. | |
27426 | * config/arm/arm.c (TARGET_CXX_GET_COOKIE_SIZE, | |
27427 | TARGET_CXX_COOKIE_HAS_SIZE): Define. | |
27428 | (arm_get_cookie_size, arm_cookie_has_size): New functions. | |
27429 | * Make-lang.in (cp/init.o): Add dependency on $(TARGET_H). | |
27430 | * doc/tm.texi: Document TARGET_CXX_GET_COOKIE_SIZE and | |
27431 | TARGET_CXX_COOKIE_HAS_SIZE. | |
27432 | ||
27433 | 2004-06-29 J"orn Rennecke <joern.rennecke@superh.com> | |
27434 | ||
27435 | * cfglayout.c (fixup_reorder_chain): Don't do anything for | |
27436 | e_fall->dest == EXIT_BLOCK_PTR. | |
27437 | ||
27438 | 2004-06-28 Richard Henderson <rth@redhat.com> | |
27439 | ||
27440 | * tree-cfg.c (verify_stmt): Add last_in_block parameter. Verify | |
27441 | that eh stmts can throw. | |
27442 | (verify_stmts): Update verify_stmt call. | |
27443 | (tree_purge_dead_eh_edges, tree_purge_all_dead_eh_edges): New. | |
27444 | * tree-eh.c (remove_stmt_from_eh_region): New. | |
27445 | (lower_eh_constructs): Fix throw_stmt_table delete routine. | |
27446 | (tree_could_trap_p): Match may_trap_p. | |
27447 | (maybe_clean_eh_stmt): New. | |
27448 | * tree-flow.h: Update decls. | |
27449 | * tree-ssa-ccp.c (pass_ccp): Add TODO_verify_stmts. | |
27450 | (substitute_and_fold): Clean eh edges. | |
27451 | * tree-ssa-dce.c (mark_control_dependent_edges_necessary): Handle | |
27452 | empty basic blocks. | |
27453 | * tree-ssa-dom.c (need_eh_cleanup): New. | |
27454 | (tree_ssa_dominator_optimize): Allocate it. Cleanup eh edges. | |
27455 | (optimize_stmt): Cleanup eh stmts; set need_eh_cleanup. | |
27456 | ||
27457 | 2004-06-29 Alan Modra <amodra@bigpond.net.au> | |
27458 | ||
27459 | * function.c (assign_parms): Don't abort with zero size stack | |
27460 | parm failing the PARM_BOUNDARY check. | |
27461 | ||
27462 | 2004-06-28 Diego Novillo <dnovillo@redhat.com> | |
27463 | ||
27464 | * common.opt (ftree-fre): New flag. | |
27465 | * flags.h (flag_tree_fre): Declare. | |
27466 | * opts.c (decode_options): Set. | |
27467 | * timevar.def (TV_TREE_FRE): Define. | |
27468 | * tree-flow-inline.h (may_propagate_copy): Re-arrange for | |
27469 | readability. Handle destinations that are not SSA_NAMEs. | |
27470 | * tree-flow.h (struct ptr_info_def): Move from tree.h | |
27471 | (cprop_into_stmt, cprop_into_successor_phis): Remove. | |
27472 | (vn_compute, vn_lookup_or_add, vn_add, vn_lookup): Add | |
27473 | vuse_optype parameter. | |
27474 | * tree-pass.h (pass_fre): Declare. | |
27475 | * tree-ssa-copy.c (cprop_operand): Move to tree-ssa-dom.c | |
27476 | (cprop_into_stmt): Likewise. | |
27477 | (cprop_into_successor_phis): Likewise. | |
27478 | * tree-ssa-dom.c (eliminate_redundant_computations): Fix | |
27479 | argument ordering in call to may_propagate_copy. | |
27480 | * tree-ssa-pre.c (is_undefined_value): Assume hard registers | |
27481 | to be always defined. | |
27482 | (add_to_sets): New local function. | |
27483 | (create_value_expr_from): New local function. | |
27484 | (compute_avail): Call them. | |
27485 | (eliminate): Don't ignore statements with virtual operands. | |
27486 | (init_pre): New local function. | |
27487 | (fini_pre): New local function. | |
27488 | (execute_pre): Call them. | |
27489 | Add argument DO_FRE. Don't do insertion if DO_FRE is true. | |
27490 | (do_pre): New function. | |
27491 | (do_fre): New function. | |
27492 | (gate_fre): New function. | |
27493 | (pass_fre): Declare. | |
27494 | * tree-ssa.c (init_tree_ssa): Don't call vn_init. | |
27495 | (delete_tree_ssa): Don't call vn_delete. | |
27496 | * tree-vn.c (val_expr_pair_d): Add documentation. | |
27497 | (vn_compute): Add VUSES argument to incorporate in computing | |
27498 | hash values. Update all callers. | |
27499 | (expressions_equal_p): Call operand_equal_p with | |
27500 | OEP_PURE_SAME. | |
27501 | (vn_add): Add VUSES argument. Update all callers. | |
27502 | (vn_lookup): Likewise. | |
27503 | (vn_lookup_or_add): Likewise. | |
27504 | * doc/invoke.texi: Document -ftree-fre and -fdump-tree-fre. | |
27505 | ||
27506 | 2004-06-28 Steven Bosscher <stevenb@suse.de> | |
27507 | ||
27508 | * config/m32r/m32r.c (m32r_sched_odd_word_p, m32r_adjust_cost, | |
27509 | m32r_sched_init, m32r_sched_reorder, m32r_variable_issue): Remove. | |
27510 | (TARGET_SCHED_ADJUST_COST, TARGET_SCHED_VARIABLE_ISSUE, | |
27511 | TARGET_SCHED_INIT, TARGET_SCHED_REORDER): Don't define. | |
27512 | * config/m32r/m32r.md: Rewrite the pipeline description as a DFA. | |
27513 | ||
27514 | 2004-06-28 Richard Henderson <rth@redhat.com> | |
27515 | ||
27516 | * tree.def (REALPART_EXPR, IMAGPART_EXPR): Change class to 'r'. | |
27517 | * fold-const.c (operand_equal_p <case 'r'>): Add REALPART_EXPR, | |
27518 | IMAGPART_EXPR. | |
27519 | * tree-dump.c (dequeue_and_dump): Handle REALPART_EXPR and | |
27520 | IMAGPART_EXPR explicitly. | |
27521 | * tree-inline.c (estimate_num_insns_1): Don't handle REALPART_EXPR | |
27522 | and IMAGPART_EXPR specially. | |
27523 | * tree.c (build1_stat): Copy TREE_THIS_VOLATILE into class 'r'. | |
27524 | ||
27525 | 2004-06-28 J"orn Rennecke <joern.rennecke@superh.com> | |
27526 | ||
27527 | * config.gcc (sh*-*elf*): Remove dead assignment of sh_multilibs. | |
27528 | ||
27529 | 2004-06-28 Joseph S. Myers <jsm@polyomino.org.uk> | |
27530 | ||
27531 | * builtins.def (execl, execlp, execle, execv, execvp, execve, | |
27532 | fork): Change to DEF_EXT_LIB_BUILTIN. | |
27533 | ||
27534 | 2004-06-28 Roger Sayle <roger@eyesopen.com> | |
27535 | ||
27536 | * expmed.c (expand_smod_pow2): New function to expand signed | |
27537 | remainder by a constant power of 2, such as "x % 16". | |
27538 | (expand_divmod): Call new expand_smod_pow2 when appropriate. | |
27539 | Minor corrections to comments, e.g. wrapping long lines. | |
27540 | ||
27541 | 2004-06-28 Ulrich Weigand <uweigand@de.ibm.com> | |
27542 | ||
27543 | * Makefile.in (vec.o): Fix dependencies. | |
27544 | ||
27545 | 2004-06-28 Andreas Tobler <a.tobler@schweiz.ch> | |
27546 | ||
27547 | * Makefile.in: Fix parallel make dependency problem on vec.o. | |
27548 | ||
27549 | 2004-06-28 Dhananjay Deshpande <dhananjayd@kpitcummins.com> | |
27550 | ||
27551 | PR target/14041 | |
27552 | * config/h8300/h8300.h (ASM_OUTPUT_ALIGNED_BSS): Define. | |
27553 | ||
27554 | 2004-06-28 Nathan Sidwell <nathan@codesourcery.com> | |
27555 | ||
27556 | * tree.h (tree_check_failed): Make varadic. | |
27557 | (tree_not_check_failed): New prototype. | |
27558 | (tree_check2_failed, tree_check3_failed, | |
27559 | tree_check4_failed, tree_check5_failed): Remove. | |
27560 | (TREE_CHECK, TREE_CHECK2, TREE_CHECK3, TREE_CHECK4, | |
27561 | TREE_CHECK5): Adjust. | |
27562 | (TREE_NOT_CHECK, TREE_NOT_CHECK2, TREE_NOT_CHECK3, TREE_NOT_CHECK4, | |
27563 | TREE_NOT_CHECK5): New. | |
27564 | (TREE_VEC_ELT_CHECK, PHI_NODE_ELT_CHECK, TREE_OPERAND_CHECK_CODE, | |
27565 | TREE_RTL_OPERAND_CHECK): Adjust. | |
27566 | * tree.c (tree_check_failed): Make varadic. | |
27567 | (tree_not_check_failed): New. | |
27568 | (tree_check2_failed, tree_check3_failed, | |
27569 | tree_check4_failed, tree_check5_failed): Remove. | |
27570 | ||
27571 | 2004-06-28 Ulrich Weigand <uweigand@de.ibm.com> | |
27572 | ||
27573 | * combine.c (can_combine_p): Do not prevent building insns that use | |
27574 | and clobber the same fixed hard register. | |
27575 | (reg_dead_at_p): Likewise. | |
27576 | ||
27577 | 2004-06-28 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
27578 | ||
27579 | * tree-sra.c (is_sra_candidate_ref): Remove second arg; all callers | |
27580 | changed. | |
27581 | (is_sra_candidate_complex_ref): New function. | |
27582 | (scalarize_modify_expr): Call it and check for LHS also. | |
27583 | ||
27584 | * tree-pretty-print.c (dump_function_declaration): New. | |
27585 | (dump_generic_node, case FUNCTION_TYPE): Call it. | |
27586 | (dump_generic_node, case RECORD_TYPE): Don't output dup semicolon. | |
27587 | (dump_generic_node, case DECL_EXPR): New case. | |
27588 | (dump_generic_node, case PLACEHOLDER_EXPR): Handle. | |
27589 | (print_declaration): Handle type and function declarations. | |
27590 | ||
27591 | * tree-nested.c (create_tmp_var_for): Allow ARRAY_TYPE. | |
27592 | (convert_nonlocal_reference, convert_local_reference): Properly | |
27593 | convert nest of handled component references. | |
27594 | ||
27595 | 2004-06-28 Nathan Sidwell <nathan@codesourcery.com> | |
27596 | ||
27597 | * vec.h, vec.c: New, type safe vector API. | |
27598 | * Makefile.in (OBJS-common): Add vec.o. | |
27599 | (vec.o): New target. | |
27600 | (gengtype-lex.o): Depend on vec.h. | |
27601 | ||
27602 | 2004-06-28 Paolo Bonzini <bonzini@gnu.org> | |
27603 | ||
27604 | * fold-const.c (fold_cond_expr_with_comparison): Add ARG1 | |
27605 | parameter. Use it instead of ARG00 to produce the result. | |
27606 | ||
27607 | 2004-06-28 Alexandre Oliva <aoliva@redhat.com> | |
27608 | ||
27609 | * config/mn10300/mn10300-protos.h (legitimate_address_p): Declare. | |
27610 | * config/mn10300/mn10300.c (legitimate_address_p): New. Test that | |
27611 | index is legitimate, compared with code moved from... | |
27612 | * config/mn10300/mn10300.h (GO_IF_LEGITIMATE_ADDRESS): here. | |
27613 | (REG_STRICT): Define, according to REG_OK_STRICT. | |
27614 | (REGNO_IN_RANGE_P, REGNO_DATA_P, REGNO_ADDRESS_P, REGNO_SP_P, | |
27615 | REGNO_EXTENDED_P, REGNO_AM33_P, REGNO_FP_P): Introduce strict | |
27616 | argument. | |
27617 | (REGNO_STRICT_OK_FOR_BASE_P, REGNO_STRICT_OK_FOR_BIT_BASE_P, | |
27618 | REGNO_STRICT_OK_FOR_INDEX_P): New. | |
27619 | (REGNO_OK_FOR_BASE_P, REG_OK_FOR_BASE_P, REGNO_OK_FOR_BIT_BASE_P, | |
27620 | REG_OK_FOR_BIT_BASE_P, REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P, | |
27621 | RTX_OK_FOR_BASE_P): Use them. | |
27622 | ||
27623 | 2004-06-28 Ben Elliston <bje@au.ibm.com> | |
27624 | ||
27625 | * doc/cfg.texi (Basic Blocks): Define dominators. | |
27626 | ||
27627 | 2004-06-27 Andrew Pinski <pinskia@physics.uc.edu> | |
27628 | ||
27629 | PR c++/16205 | |
27630 | * c-common.c (warn_for_collisions_1): Warn for only decls which | |
27631 | have a name. | |
27632 | ||
27633 | PR c++/15145 | |
27634 | * c.opt (Wsequence-point): Enable for C++ and ObjC++. | |
27635 | ||
27636 | PR c/14963 | |
27637 | * c-decl.c (start_decl): Check for null types. | |
27638 | ||
27639 | 2004-06-27 David Edelsohn <edelsohn@gnu.org> | |
27640 | ||
27641 | * config/rs6000/rs6000.c (rs6000_legitimate_offset_address_p): | |
27642 | Accept TOC addresses. | |
27643 | ||
27644 | 2004-06-27 Ulrich Weigand <uweigand@de.ibm.com> | |
27645 | ||
27646 | * config/s390/s390-protos.h (s390_load_got): Update prototype. | |
27647 | * config/s390/s390.c (struct machine_function): Add member base_reg. | |
27648 | (s390_decompose_address): Accept UNSPEC_LTREF. Simplify logic. | |
27649 | (s390_split_branches): Annotate late pool references. | |
27650 | (annotate_constant_pool_refs): New function. | |
27651 | (find_constant_pool_ref): Work on annotated pool references. | |
27652 | (replace_constant_pool_ref): Likewise. Use explicit base. | |
27653 | (replace_ltrel_base): Use explicit base. | |
27654 | (s390_mainpool_start): Reflect main_pool pattern change. | |
27655 | (s390_mainpool_finish): Use base register from main_pool. | |
27656 | Update calls to replace_ltrel_base and replace_constant_pool_ref. | |
27657 | (s390_chunkify_start): Use base_reg from struct machine_function. | |
27658 | (s390_chunkify_finish): Remove base_reg argument. Update calls | |
27659 | to replace_ltrel_base and replace_constant_pool_ref. | |
27660 | (s390_reorg): Don't decide upon base register. Update calls. | |
27661 | (s390_load_got): Remove MAYBE_DEAD handling. Do not emit insns | |
27662 | but return sequence instead. | |
27663 | (s390_emit_prologue): Decide upon base register to use. Annotate | |
27664 | all literal pool references. Adapt to main_pool pattern change. | |
27665 | Update s390_load_got call; move MAYBE_DEAD handling here. | |
27666 | (s390_emit_epilogue): Annotate late literal pool references. | |
27667 | Remove barrier before register restore instruction. | |
27668 | * config/s390/s390.md (UNSPEC_LTREF): New constant. | |
27669 | ("builtin_setjmp_receiver"): Update s390_load_got call. | |
27670 | ("main_pool"): Explicitly reference base register. | |
27671 | ||
27672 | 2004-06-27 Roger Sayle <roger@eyesopen.com> | |
27673 | ||
27674 | * fold-const.c (fold) <BIT_IOR_EXPR>: Optimize ~X|X and X|~X as -1. | |
27675 | <BIT_XOR_EXPR>: Optimize ~X|X and X|~X as -1. | |
27676 | <BIT_AND_EXPR>: Optimize ~X&X and X&~X as 0. | |
27677 | <TRUTH_AND_EXPR, TRUTH_ANDIF_EXPR>: Optimize !X&&X and X&&!X as false. | |
27678 | <TRUTH_OR_EXPR, TRUTH_ORIF_EXPR>: Optimize !X||X and !X||X as true. | |
27679 | <TRUTH_XOR_EXPR>: Optimize !X^X and X^X! as true. Now that | |
27680 | TRUTH_XOR_EXPR is a commutative tree code, don't test whether arg0 | |
27681 | is a constant. | |
27682 | ||
27683 | 2004-06-26 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
27684 | ||
27685 | * c-common.c (c_safe_from_p, c_walk_subtrees): Deleted. | |
27686 | * c-common.def (DECL_STMT): Remove. | |
27687 | * c-common.h (DECL_STMT_DECL): Deleted. | |
27688 | (COMPOUNT_LITERAL_EXPR_DECL): Use DECL_EXPR_DECL. | |
27689 | (c_safe_from_p, c_walk_subtrees): Deleted. | |
27690 | * c-decl.c, c-parse.in, c-pretty-print.c: DECL_STMT now DECL_EXPR. | |
27691 | * c-dump.c (c_dump_tree, case DECL_STMT): Deleted. | |
27692 | * c-gimplify.c (gimplify_decl_stmt): Deleted. | |
27693 | (gimplify_compound_literal_expr): Use DECL_EXPR_DECL | |
27694 | and gimplify_and_add. | |
27695 | (c_gimplify_expr, case DECL_EXPR): New case. | |
27696 | (c_gimplify_expr, case DECL_STMT): Deleted. | |
27697 | * c-lang.c (LANG_HOOKS_SAFE_FROM_P): Likewise. | |
27698 | (LANG_HOOKS_TREE_INLINING_WALK_SUBTREES): Likewise. | |
27699 | * expr.c (safe_from_p, case 's'): New case. | |
27700 | * gimplify.c (gimplify_decl_expr): New function. | |
27701 | (gimplify_expr, case DECL_EXPR): New case. | |
27702 | * tree-inline.c (walk_tree): Walk into all fields of a type and | |
27703 | decl only if they are in a DECL_EXPR. | |
27704 | (mark_local_for_remap_r): Minor code cleanup. | |
27705 | * tree-outof-ssa.c (discover_nonconstant_array_refs_r): Add else. | |
27706 | * tree.c (has_cleanups, case DECL_EXPR): New case. | |
27707 | * tree.def (DECL_EXPR): New code. | |
27708 | * tree.h (DECL_EXPR_DECL): New macro. | |
27709 | ||
27710 | * objc/objc-lang.c (LANG_HOOKS_SAFE_FROM_P): Deleted. | |
27711 | ||
27712 | 2004-06-26 Andrew Pinski <pinskia@physics.uc.edu> | |
27713 | ||
27714 | PR 13334 | |
27715 | * doc/install.texi: Document non-standard CFLAGS and bootstrap | |
27716 | failures and warnings. | |
27717 | ||
27718 | 2004-06-26 Andrew Haley <aph@redhat.com> | |
27719 | ||
27720 | * emit-rtl.c (set_mem_attributes_minus_bitpos): Check | |
27721 | TREE_THIS_NOTRAP when setting MEM_NOTRAP_P. | |
27722 | * tree-eh.c (tree_could_trap_p): Check TREE_THIS_NOTRAP. | |
27723 | * tree.h (TREE_THIS_NOTRAP): New. | |
27724 | ||
27725 | 2004-06-26 Kaz Kojima <kkojima@gcc.gnu.org> | |
27726 | ||
27727 | * genattrtab.c (write_test_expr): Put a unsigned cast before | |
27728 | the first operand for GEU, GTU, LEU and LTU. | |
27729 | ||
27730 | 2004-06-26 Kazu Hirata <kazu@cs.umass.edu> | |
27731 | ||
27732 | * c-typeck.c, cfgexpand.c, ddg.c, ddg.h, df.c, fold-const.c, | |
27733 | gcov.c, gimplify.c, modulo-sched.c, passes.c, tree-cfg.c, | |
27734 | tree-mudflap.c, tree-nrv.c, tree-outof-ssa.c, tree-ssa-dom.c, | |
27735 | tree-ssa-dse.c, tree-ssa-operands.c, tree-ssa-pre.c, | |
27736 | tree-tailcall.c: Fix comment typos. Follow spelling | |
27737 | conventions. | |
27738 | ||
27739 | 2004-06-25 Eric Christopher <echristo@redhat.com> | |
27740 | ||
27741 | * config/mips/mips.md: Add back scheduling exclusion info. | |
27742 | ||
27743 | 2004-06-25 Roger Sayle <roger@eyesopen.com> | |
27744 | ||
27745 | * ifcvt.c (seq_contains_jump): Delete function. | |
27746 | (end_ifcvt_sequence): Replace call to seq_contains_jump with an | |
27747 | inline test for a jump instruction in the existing "insn" loop. | |
27748 | (block_fallthru): Document function. | |
27749 | ||
27750 | 2004-06-25 Philip Blundell <philb@gnu.org> | |
27751 | ||
27752 | PR wrong-code/15089 | |
27753 | * loop.c (scan_loop): Do not move user-specified register | |
27754 | assignments. | |
27755 | ||
27756 | 2004-06-25 DJ Delorie <dj@redhat.com> | |
27757 | ||
27758 | * c-common.h (warn_cast_qual, warn_missing_format_attribute, | |
27759 | warn_pointer_arith, warn_missing_prototypes, warn_parentheses, | |
27760 | warn_missing_braces, warn_sign_compare, warn_long_long, | |
27761 | warn_redundant_decls, warn_float_equal, warn_char_subscripts, | |
27762 | warn_conversion, warn_format_y2k, warn_format_extra_args, | |
27763 | warn_format_zero_length, warn_format_nonliteral, | |
27764 | warn_format_security, mesg_implicit_function_declaration, | |
27765 | warn_bad_function_cast, warn_traditional, | |
27766 | warn_declaration_after_statement, warn_strict_prototypes, | |
27767 | warn_missing_declarations, warn_nested_externs, | |
27768 | warn_sequence_point, warn_init_self, warn_div_by_zero, | |
27769 | warn_implicit_int, warn_nonnull, warn_old_style_definition, | |
27770 | warn_selector, warn_undeclared_selector, warn_protocol, | |
27771 | warn_abi, warn_invalid_offsetof, warn_ctor_dtor_privacy, | |
27772 | warn_overloaded_virtual, warn_nonvdtor, warn_reorder, | |
27773 | warn_synth, warn_pmf2ptr, warn_ecpp, warn_sign_promo, | |
27774 | warn_old_style_cast, warn_nontemplate_friend, | |
27775 | warn_deprecated): Remove explicit declarations. | |
27776 | * c-common.c: Likewise, remove explicit definitions. | |
27777 | * c-opts.c: Likewise, remove explicit assignments. | |
27778 | * c.opts: Likewise, add implicit declare/define/assign. | |
27779 | ||
27780 | 2004-06-25 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
27781 | ||
27782 | * gimplify.c (lookup_tmp_var): Set TREE_READONLY in is_formal case. | |
27783 | (build_addr_expr_with_type): Deleted. | |
27784 | (build_addr_expr): Deleted; callers changed to build_fold_addr_expr. | |
27785 | (gimplify_compound_lval): Make two passes over reference nest. | |
27786 | ||
27787 | * tree-nested.c (build_addr): Merge real/imagpart with | |
27788 | handled_component_p. | |
27789 | (convert_nonlocal_reference, convert_local_reference): Process extra | |
27790 | args to COMPONENT_REF and ARRAY_REF. | |
27791 | * tree-outof-ssa.c (discover_nonconstant_array_refs_r): Check for | |
27792 | lower bound and field offset being constant. | |
27793 | ||
27794 | 2004-06-25 Mark Mitchell <mark@codesourcery.com> | |
27795 | ||
27796 | PR wrong-code/16129 | |
27797 | * alias.c (get_alias_set): Adjust setting of | |
27798 | DECL_POINTER_ALIAS_SET for pointers to aggregates. | |
27799 | ||
27800 | 2004-06-24 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
27801 | ||
27802 | * tree-inline.c (remap_type): Arrange to have just one pointer type | |
27803 | for each type, mode, and 'can alias' value. | |
27804 | (setup_one_parameter): Remap type when making VAR_DECL for PARM_DECL. | |
27805 | (estimate_num_insns_1): Minor code reformatting. | |
27806 | (inline_forbidden_p_1): Likewise; add; missing return statement. | |
27807 | ||
27808 | 2004-06-25 Roger Sayle <roger@eyesopen.com> | |
27809 | ||
27810 | PR middle-end/15825 | |
27811 | * ifcvt.c (unshare_ifcvt_sequence): Rename to end_ifcvt_sequence. | |
27812 | Use get_isns and end_sequence instead of accepting a seq argument. | |
27813 | Scan the instruction sequence for unrecognizable or jump insns. | |
27814 | (noce_try_move, noce_try_store_flag, noce_try_store_flag_constants, | |
27815 | noce_try_addcc, noce_try_store_flag_mask, noce_try_cmove, | |
27816 | noce_try_cmove_arith, noce_try_minmax, noce_try_abs, | |
27817 | noce_try_sign_mask): Use end_ifcvt_sequence to factor common code. | |
27818 | ||
27819 | 2004-06-24 Jeff Law <law@redhat.com> | |
27820 | ||
27821 | * gimplify.c (gimplify_compound_lval): Reset TREE_SIDE_EFFECTS | |
27822 | after gimplifying the innermost component. | |
27823 | ||
27824 | 2004-06-25 Richard Sandiford <rsandifo@redhat.com> | |
27825 | ||
27826 | PR target/16176 | |
27827 | * config/mips/mips.c (mips_expand_unaligned_load): Use a temporary | |
27828 | register for the destination of the lwl or ldl. | |
27829 | ||
27830 | 2004-06-25 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
27831 | ||
27832 | * tree-dfa.c (get_virtual_var): Merge real/imaginary parts with | |
27833 | handled_component_p handling. | |
27834 | * tree-gimple.c (get_base_address): Likewise and fix typo that | |
27835 | caused both recursion and looping. | |
27836 | ||
27837 | * tree-cfg.c (verify_expr): Add macro CHECK_OK. | |
27838 | Properly test for nest of handled_components in LHS context. | |
27839 | ||
27840 | 2004-06-25 Devang Patel <dpatel@apple.com> | |
27841 | ||
27842 | * doc/tree-ssa.texi: Document info about MODIFY_EXPR's type | |
27843 | ||
27844 | 2004-06-25 Paul Brook <paul@codesourcery.com> | |
27845 | ||
27846 | * target-def.h (TARGET_CXX_GUARD_TYPE, TARGET_CXX_GUARD_MASK_BIT, | |
27847 | TARGET_CXX): Define. | |
27848 | (TARGET_INITIALIZER): Use TARGET_CXX. | |
27849 | * target.h (struct gcc_target): Add struct cxx. | |
27850 | * targhooks.h (default_cxx_guard_type): Add prototype. | |
27851 | * targhooks.c (default_cxx_guard_type): New function. | |
27852 | * config/arm/arm.c (TARGET_CXX_GUARD_TYPE, TARGET_CXX_GUARD_MASK_BIT): | |
27853 | Define. | |
27854 | (arm_cxx_guard_type, arm_cxx_guard_mask_bit): New functions. | |
27855 | * doc/tm.texi: Document TARGET_CXX_GUARD_TYPE and | |
27856 | TARGET_CXX_GUARD_MASK_BIT. | |
27857 | ||
27858 | 2004-06-25 Devang Patel <dpatel@apple.com> | |
27859 | ||
27860 | * config/rs6000/darwin.h (CC1_SPEC): Handle -gused and -gfull. | |
27861 | * config/i386/darwin.h (CC1_SPEC): Same. | |
27862 | ||
27863 | 2004-06-25 Mark G. Adams <mark.g.adams@sympatico.ca> | |
27864 | ||
27865 | * dbxout.h: Add include guards | |
27866 | ||
27867 | 2004-06-25 Paul Brook <paul@codesourcery.com> | |
27868 | ||
27869 | * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __ARM_EABI__. | |
27870 | ||
27871 | 2004-06-25 Richard Earnshaw <rearnsha@arm.com> | |
27872 | ||
27873 | * arm.c (arm_arch4t): New variable. | |
27874 | (arm_override_options): Initialize it. If compiling for armv5 or | |
27875 | higher clear TARGET_INTERWORK. | |
27876 | (output_call): Abort if called for armv5. Use BX if it's available. | |
27877 | (output_call_mem): Use BLX if available and ensure that all armv5 | |
27878 | code is interworking safe. | |
27879 | (output_return_instruction): Always use BX in preference to MOV if | |
27880 | it's available. | |
27881 | (arm_output_epilogue): Likewise. | |
27882 | (arm_final_prescan_insn): Never conditionally call a subroutine | |
27883 | on armv5. | |
27884 | * arm.h (arm_arch4t): Declare. | |
27885 | * arm.md (call_reg_armv5, call_value_reg_armv5): New. | |
27886 | (call_reg_arm, call_value_reg_arm): Renamed from call_reg and | |
27887 | call_value_reg respectively. | |
27888 | (call_reg_thumb_v5, call_value_reg_thumb_v5): New. | |
27889 | (call_reg_thumb, call_value_reg_thumb): Renamed from call_indirect | |
27890 | and call_value_indirect respectively. | |
27891 | ||
27892 | 2004-06-25 Richard Sandiford <rsandifo@redhat.com> | |
27893 | ||
27894 | * config/mips/mips.c (reg_or_const_float_1_operand): Reimplement | |
27895 | in terms of const_float_1_operand. | |
27896 | ||
27897 | 2004-06-25 Richard Sandiford <rsandifo@redhat.com> | |
27898 | ||
27899 | PR target/16144 | |
27900 | * config/mips/mips.md (divsf, divdf): Don't FAIL if the first operand | |
27901 | is 1.0; force it into a register instead. | |
27902 | ||
27903 | 2004-06-25 Bernardo Innocenti <bernie@develer.com> | |
27904 | ||
27905 | * config/m68k/m68k.h: Restore valid comment removed by mistake with | |
27906 | the recent m68k comments cleanup. | |
27907 | ||
27908 | 2004-06-24 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
27909 | ||
27910 | * c-gimplify.c (gimplify_for_stmt): Use gimplify_and_add. | |
27911 | * gimplify.c (internal_get_tmp_var, gimplify_return_expr): Likewise. | |
27912 | (gimplify_loop_expr, gimplify_init_constructor): Likewise. | |
27913 | (gimplify_self_mod_expr, gimplify_cond_expr): Likewise. | |
27914 | ||
27915 | PR/16131 | |
27916 | * gimplify.c (voidify_wrapper_expr): Allow TARGET_EXPR. | |
27917 | ||
27918 | * gimplify.c: Remove unneeded forward declarations. | |
27919 | ||
27920 | * gimplify.c (append_to_compound_expr): Deleted. | |
27921 | * tree-gimple.h (append_to_compound_expr): Deleted. | |
27922 | ||
27923 | * fold-const.c (fold_addr_expr_with_type): Look through all | |
27924 | valid LHS modifiers to find a base to mark addressable. | |
27925 | ||
27926 | * tree.h (debug_find_tree): Add declaration. | |
27927 | * tree-inline.c (debug_find_tree): Remove extern declaration. | |
27928 | ||
27929 | 2004-06-24 Eric Christopher <echristo@redhat.com> | |
27930 | ||
27931 | * config/rs6000/rs6000.md: Apply change mistakenly | |
27932 | deleted with 2004-06-22 patch. | |
27933 | ||
27934 | 2004-06-24 Richard Henderson <rth@redhat.com> | |
27935 | ||
27936 | * c-decl.c (c_in_iteration_stmt, c_in_case_stmt): Remove. | |
27937 | (c_break_label, c_cont_label): New. | |
27938 | (start_function): Update initializations. | |
27939 | (c_push_function_context): Update saves. | |
27940 | (c_pop_function_context): Update restores. | |
27941 | * c-parse.in: Update expected conflicts. | |
27942 | (stmt_count, compstmt_count): Remove. Remove all updates. | |
27943 | (if_prefix, simple_if, do_stmt_start): Remove. | |
27944 | (lineno_labeled_stmt): Remove. | |
27945 | (lineno_labels): New. | |
27946 | (c99_block_lineno_labeled_stmt): Use it. | |
27947 | (lineno_stmt, lineno_label): Don't clear EXPR_LOCUS before calling | |
27948 | annotate_with_locus. | |
27949 | (select_or_iter_stmt): Replace by ... | |
27950 | (condition, if_statement_1, if_statement_2, if_statement, | |
27951 | start_break, start_continue, while_statement, do_statement, | |
27952 | for_cond_expr, for_incr_expr, for_statement, switch_statement): New. | |
27953 | (stmt): Split out ... | |
27954 | (stmt_nocomp): ... this. Use c_finish_bc_stmt, c_finish_goto_label, | |
27955 | c_finish_goto_ptr. | |
27956 | * c-semantics.c (add_stmt): Don't add line numbers to labels. | |
27957 | * c-tree.h: Update prototypes. | |
27958 | (struct language_function): Remove x_in_iteration_stmt, x_in_case_stmt; | |
27959 | add x_break_label, x_cont_label, x_switch_stack. | |
27960 | (c_switch_stack): Declare. | |
27961 | * c-typeck.c (c_finish_goto_label, c_finish_goto_ptr): New. | |
27962 | (c_finish_return): Return the statement. | |
27963 | (c_switch_stack): Rename from switch_stack; export. | |
27964 | (if_elt, if_stack, if_stack_space, if_stack_pointer): Remove. | |
27965 | (c_begin_if_stmt, c_finish_if_cond, c_finish_then, c_begin_else, | |
27966 | c_finish_else): Remove. | |
27967 | (c_finish_if_stmt): Rewrite to perform the entire operation. | |
27968 | (c_begin_while_stmt, c_finish_while_stmt_cond, c_finish_while_stmt, | |
27969 | c_begin_for_stmt, c_finish_for_stmt_init, c_finish_for_stmt_cond, | |
27970 | c_finish_for_stmt_incr, c_finish_for_stmt): Remove. | |
27971 | (c_finish_loop): New. | |
27972 | (c_finish_bc_stmt): New. | |
27973 | (c_finish_expr_stmt): Return the statement. Split out... | |
27974 | (c_process_expr_stmt): ... this. Don't add locus to error marks. | |
27975 | * gimplify.c (gimplify_cond_expr): Accept NULL type statements. | |
27976 | * tree-gimple.c (is_gimple_stmt): Likewise. | |
27977 | * tree-pretty-print.c (dump_generic_node <COND_EXPR>): Likewise. | |
27978 | (print_struct_decl): Delete empty compound statement. | |
27979 | * objc/objc-act.c (objc_build_throw_stmt): Return the statement. | |
27980 | * objc/objc-act.h: Update decl. | |
27981 | ||
27982 | 2004-06-24 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
27983 | ||
27984 | * tree-pretty-print.c (dump_generic_node, case TYPE_DECL): | |
27985 | Don't look at TYPE_METHODS unless RECORD_TYPE or UNION_TYPE. | |
27986 | ||
27987 | 2004-06-24 Andrew Pinski <apinski@apple.com> | |
27988 | ||
27989 | * objc-act.c (build_objc_method_call): Save the lookup_object | |
27990 | so we do not call it twice. | |
27991 | ||
27992 | 2004-06-24 Richard Henderson <rth@redhat.com> | |
27993 | ||
27994 | * tree-ssa-dom.c (real_avail_expr_hash): New. | |
27995 | (tree_ssa_dominator_optimize): Use it in the htab. | |
27996 | ||
27997 | 2004-06-24 Frank Ch. Eigler <fche@redhat.com> | |
27998 | ||
27999 | * tree-mudflap.c (mx_register_decls): Add third (type) argument | |
28000 | to synthesized __mf_unregister call. | |
28001 | ||
28002 | 2004-06-24 Roger Sayle <roger@eyesopen.com> | |
28003 | ||
28004 | PR middle-end/15239 | |
28005 | * expmed.c (expand_mult): Remove artificial restriction on the | |
28006 | maximum cost of a synthetic multiplication sequence. | |
28007 | ||
28008 | 2004-06-24 Eric Christopher <echristo@redhat.com> | |
28009 | ||
28010 | * combine.c (distribute_notes): Don't delete sets to | |
28011 | global register variables. | |
28012 | ||
28013 | 2004-06-24 Jakub Jelinek <jakub@redhat.com> | |
28014 | ||
28015 | * config/i386/i386.md (ffsdi2, clzdi2): New expanders. | |
28016 | (ffs_rex64): New splitter. | |
28017 | (ffsdi_1, ctzdi2, bsr_rex64): New instructions. | |
28018 | ||
28019 | 2004-06-24 Andrew Pinski <apinski@apple.com> | |
28020 | ||
28021 | * config/darwin7.h (MATH_LIBRARY): Remove. | |
28022 | (LIB_SPEC): Define. | |
28023 | * config/darwin.h (MATH_LIBRARY): Define always to empty. | |
28024 | (LIB_SPEC): Only define if not already defined. | |
28025 | ||
28026 | 2004-06-24 Revital Eres <eres@il.ibm.com> | |
28027 | ||
28028 | * loop-iv.c (iv_analyze, simple_set_p): Support for identifying | |
28029 | shifts of induction variable. | |
28030 | (iv_shift): New function. | |
28031 | ||
28032 | 2004-06-24 Richard Henderson <rth@redhat.com> | |
28033 | ||
28034 | * gimplify.c (gimplify_body): Watch for body vanishing. | |
28035 | ||
28036 | 2004-06-24 Jeff Law <law@redhat.com> | |
28037 | ||
28038 | * tree-ssa-dom.c (record_dominating_conditions): New function. | |
28039 | (dom_opt_finalize_block, get_eq_expr_value): Use it. | |
28040 | ||
28041 | 2004-06-24 Richard Sandiford <rsandifo@redhat.com> | |
28042 | ||
28043 | * calls.c (shift_returned_value): Fix handling of non-integer | |
28044 | TYPE_MODEs. | |
28045 | ||
28046 | 2004-06-24 Ulrich Weigand <uweigand@de.ibm.com> | |
28047 | ||
28048 | * c-decl.c (finish_function): Do not check for DEFAULT_MAIN_RETURN. | |
28049 | * system.h (DEFAULT_MAIN_RETURN): Poison. | |
28050 | * doc/tm.texi (DEFAULT_MAIN_RETURN): Remove documentation. | |
28051 | ||
28052 | 2004-06-24 Ben Elliston <bje@au.ibm.com> | |
28053 | ||
28054 | * doc/cfg.texi (Edges): Fix typo. | |
28055 | ||
28056 | 2004-06-24 Paul Brook <paul@codesourcery.com> | |
28057 | ||
28058 | * config/arm/arm.c (arm_output_epilogue): Remove excess checks. | |
28059 | ||
28060 | 2004-06-23 Andrew Pinski <apinski@apple.com> | |
28061 | ||
28062 | PR middle-end/15988 | |
28063 | * fold-const.c (fold_convert): Types which are compatible | |
28064 | can be converted with only a NOP_EXPR. | |
28065 | ||
28066 | 2004-06-24 Alan Modra <amodra@bigpond.net.au> | |
28067 | ||
28068 | * calls.c (expand_call): Call INIT_CUMULATIVE_ARGS earlier, and | |
28069 | pass raw n_named_args to it. | |
28070 | * targhooks.c: Formatting. | |
28071 | (hook_bool_CUMULATIVE_ARGS_false): Correct comment. | |
28072 | ||
28073 | 2004-06-23 Richard Henderson <rth@redhat.com> | |
28074 | ||
28075 | * c-gimplify.c (gimplify_decl_stmt): Push gimplify_one_sizepos inside | |
28076 | non-constant size check. Gimplify the type too. Tidy building | |
28077 | BUILT_IN_STACK_ALLOC call. | |
28078 | ||
28079 | 2004-06-23 Roger Sayle <roger@eyesopen.com> | |
28080 | ||
28081 | * c-common.c (expand_unordered_cmp): Delete. | |
28082 | (expand_tree_builtin): Delete. | |
28083 | * c-common.h (expand_tree_builtin): Delete function prototype. | |
28084 | * c-typeck.c (build_function_call): Don't call expand_tree_builtin. | |
28085 | ||
28086 | 2004-06-23 Richard Henderson <rth@redhat.com> | |
28087 | ||
28088 | * gimplify.c (gimplify_compound_lval): Don't set ARRAY_REF or | |
28089 | COMPONENT_REF variable fields unless they're non-constant. | |
28090 | ||
28091 | 2004-06-23 Robert Millan <robertmh@gnu.org> | |
28092 | ||
28093 | * config.gcc: Merge kfreebsd*-gnu with linux* and add knetbsd*-gnu. | |
28094 | * config/i386/linux.h: Allow overriding of LINK_EMULATION, | |
28095 | DYNAMIC_LINKER and register names in sc_ structure. | |
28096 | * config/kfreebsd-gnu.h: New. kfreebsd-gnu followup for linux.h. | |
28097 | * config/i386/kfreebsd-gnu.h: New. Ditto for i386-kfreebsd-gnu. | |
28098 | * config/knetbsd-gnu.h: New. Ditto for knetbsd-gnu. | |
28099 | * config/i386/knetbsd-gnu.h: New. Ditto for i386-knetbsd-gnu. | |
28100 | ||
28101 | * config/kfreebsdgnu.h: Remove. | |
28102 | * config/t-kfreebsd-gnu: Likewise. | |
28103 | * config/i386/kfreebsdgnu.h: Likewise. | |
28104 | ||
28105 | 2004-06-23 Eric Christopher <echristo@redhat.com> | |
28106 | ||
28107 | * fold-const.c (make_range): Cleanup type checking through function. | |
28108 | Remove orig_type. Replace with checks to exp_type and arg0_type. | |
28109 | Clarify comment when converting from unsigned to signed. | |
28110 | ||
28111 | 2004-06-23 Eric Christopher <echristo@redhat.com> | |
28112 | ||
28113 | * config/mips/mips.c (mips_use_dfa_pipeline_interface): Add R3000. | |
28114 | * config/mips/mips.md: Remove R3000 scheduling description. | |
28115 | * config/mips/3000.md: New file. | |
28116 | ||
28117 | 2004-06-23 Ulrich Weigand <uweigand@de.ibm.com> | |
28118 | ||
28119 | * config/s390/s390-protos.h (s390_emit_compare): Add prototype. | |
28120 | (s390_emit_jump): Likewise. | |
28121 | * config/s390/s390.c (s390_emit_compare): New function. | |
28122 | (s390_emit_jump): Likewise. | |
28123 | * config/s390/s390.md ("beq", "bne", "bgt", "bgtu", "blt", "bltu", | |
28124 | "bge", "bgeu", "ble", "bleu", "bunordered", "bordered", "buneq", | |
28125 | "bungt", "bunlt", "bunge", "bunle", "bltgt"): Use s390_emit_compare | |
28126 | and s390_emit_jump. | |
28127 | ("cjump"): Remove, replace by ... | |
28128 | ("*cjump_64", "*cjump_31"): ... these insns. Improve length default. | |
28129 | ("icjump", "*icjump_64", "*icjump_31"): Likewise. | |
28130 | ("trap"): Fix type attribute. | |
28131 | ("conditional_trap"): Use s390_emit_compare. | |
28132 | ("doloop_si"): Remove, replace by ... | |
28133 | ("doloop_si64", "doloop_si31"): ... these new insn_and_split. | |
28134 | Merge existing splitter into insn_and_split. Improve length default. | |
28135 | ("doloop_di"): Merge with existing splitter into insn_and_split. | |
28136 | ("doloop"): Adapt. | |
28137 | ("jump"): Convert to expander. Use s390_emit_jump. | |
28138 | ("*jump_64", "*jump_31"): New insns. Improve length default. | |
28139 | ||
28140 | 2004-06-23 Wu Yongwei <adah@sh163.net> | |
28141 | ||
28142 | * gthr-win32.h (__GTHREAD_MUTEX_INIT_DEFAULT): Adjust. | |
28143 | (__gthr_i486_lock_cmp_xchg): New inline assembly function. | |
28144 | (__GTHR_W32_InterlockedCompareExchange): New macro to choose a | |
28145 | suitable function for interlocked compare-and-exchange. | |
28146 | (__gthread_mutex_trylock): Use | |
28147 | __GTHR_W32_InterlockedCompareExchange. | |
28148 | (__gthread_mutex_init_function, __gthread_mutex_lock, | |
28149 | __gthread_mutex_trylock, __gthread_mutex_unlock): Adjust the | |
28150 | initial counter value to work correctly under Windows 95. | |
28151 | * config/i386/gthr-win32.c: Adjust include order. | |
28152 | Define __GTHREAD_I486_INLINE_LOCK_PRIMITIVES before including | |
28153 | gthr-win32.h. | |
28154 | (__gthr_win32_mutex_init_function, __gthr_win32_mutex_lock, | |
28155 | __gthr_win32_mutex_trylock, __gthr_win32_mutex_unlock): Adjust | |
28156 | to match inline versions in gthr-win32.h. | |
28157 | ||
28158 | 2004-06-23 David Edelsohn <edelsohn@gnu.org> | |
28159 | ||
28160 | * config/rs6000/rs6000.c (rs6000_use_dfa_pipeline_interface): Delete. | |
28161 | (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Redefine a hook_int_void_1. | |
28162 | (insvdi_rshift_rlwimi_p): New function. | |
28163 | * config/rs6000/rs6000.md (insvdi_internal2/3): New patterns. | |
28164 | (extendsfdf2): Convert to define_insn_and_split. | |
28165 | * config/rs6000/rs6000-protos.h (insvdi_rshift_rlwimi_p): Prototype. | |
28166 | ||
28167 | 2004-06-23 Andrew Pinski <apinski@apple.com> | |
28168 | ||
28169 | * c-typeck.c (composite_type, <case ARRAY_TYPE>): Abort if we have | |
28170 | type qualifiers at all. | |
28171 | If both of the type domains are null and the new element type is | |
28172 | the same as one of the, return the one which the element type. | |
28173 | matches. | |
28174 | Do not call qualify_type on the new type. | |
28175 | ||
28176 | 2004-06-23 Ulrich Weigand <uweigand@de.ibm.com> | |
28177 | ||
28178 | * config/s390/s390.h (DEFAULT_MAIN_RETURN): Remove. | |
28179 | ||
28180 | 2004-06-23 Roger Sayle <roger@eyesopen.com> | |
28181 | ||
28182 | * convert.c (strip_float_extension): Skip both NOP_EXPR and | |
28183 | CONVERT_EXPR floating point extensions. | |
28184 | ||
28185 | 2004-06-23 Diego Novillo <dnovillo@redhat.com> | |
28186 | ||
28187 | * Makefile.in (tree-vn.o): New. | |
28188 | (tree-ssa-pre.o): Don't depend on RTL_H. | |
28189 | * tree-dfa.c (find_referenced_vars): Don't call init_tree_ssa. | |
28190 | * tree-flow.h (struct var_ann_d): Remove field expr_set. | |
28191 | (add_to_value, expressions_equal_p, get_value_handle, vn_compute, | |
28192 | vn_lookup_or_add, vn_add, vn_lookup, vn_init, vn_delete): Declare. | |
28193 | * tree-optimize.c (execute_init_datastructures): New local function. | |
28194 | (pass_init_datastructures): New local variable. | |
28195 | (init_tree_optimization_passes): Sequence pass_init_datastructures. | |
28196 | * tree-pretty-print.c (MASK_POINTER): Remove. | |
28197 | (dump_generic_node): Handle VALUE_HANDLE. | |
28198 | * tree-ssa-pre.c: Move all value numbering routines to tree-vn.c. | |
28199 | Update callers to use new function names. | |
28200 | Use VALUE_HANDLE_ID and VALUE_HANDLE_EXPR_SET instead of | |
28201 | variable annotations. | |
28202 | * tree-ssa.c (init_tree_ssa): Call vn_init. | |
28203 | (delete_tree_ssa): Call vn_delete. | |
28204 | * tree-vn.c: New file. | |
28205 | * tree.c (tree_size): Handle VALUE_HANDLE. | |
28206 | (tree_node_structure): Likewise. | |
28207 | (iterative_hash_expr): Likewise. | |
28208 | * tree.def (VALUE_HANDLE): New code. | |
28209 | * tree.h (struct tree_value_handle): New. | |
28210 | (VALUE_HANDLE_ID): Define. | |
28211 | (VALUE_HANDLE_EXPR_SET): Define. | |
28212 | (enum tree_node_structure_enum): Add TS_VALUE_HANDLE. | |
28213 | (union tree_node): Add struct tree_value_handle. | |
28214 | ||
28215 | 2004-06-23 Andrew Pinski <apinski@apple.com> | |
28216 | ||
28217 | * c-typeck.c (composite_type): | |
28218 | <case POINTER_TYPE>: Build a qualified type of | |
28219 | the new type. | |
28220 | <case ARRAY_TYPE>: Likewise. | |
28221 | <case FUNCTION_TYPE>: Likewise. | |
28222 | ||
28223 | 2004-06-23 Pat Haugen <pthaugen@us.ibm.com> | |
28224 | ||
28225 | PR optimization/15633 | |
28226 | * value-prof.c (divmod_fixed_value_transform): Compute probability | |
28227 | of taking optimal path and pass along to gen_ routine. | |
28228 | (mod_pow2_value_transform): Same. | |
28229 | (mod_subtract_transform): Same. | |
28230 | (gen_divmod_fixed_value): Add new probability parameter. | |
28231 | Add probability to newly created jump. | |
28232 | (gen_mod_pow2): Same. | |
28233 | (gen_mod_subtract): Same. | |
28234 | ||
28235 | 2004-06-23 Richard Earnshaw <rearnsha@arm.com> | |
28236 | ||
28237 | * PR target/15948 | |
28238 | * arm.md (bicsi3_cbranch): Add alternative to handle tying operands | |
28239 | one and two. | |
28240 | ||
28241 | 2004-06-23 Richard Earnshaw <rearnsha@arm.com> | |
28242 | ||
28243 | PR target/15927 | |
28244 | * arm.h (THUMB_SECONDARY_OUTPUT_RELOAD_CLASS): Don't need a secondary | |
28245 | reload if CLASS is BASE_REGS. | |
28246 | ||
28247 | 2004-06-23 Richard Sandiford <rsandifo@redhat.com> | |
28248 | ||
28249 | * gengtype-yacc.y (option): Avoid use of non-constant struct | |
28250 | initializer. | |
28251 | ||
28252 | 2004-06-23 Nathan Sidwell <nathan@codesourcery.com> | |
28253 | ||
28254 | * doc/extend.texi (Function Attributes): Alphabetize. | |
28255 | ||
28256 | 2004-06-23 Richard Henderson <rth@redhat.com> | |
28257 | ||
28258 | * c-gimplify.c (gimplify_decl_stmt): Update gimplify_type_sizes call. | |
28259 | Use gimplify_and_add. | |
28260 | * c-typeck.c (c_finish_if_stmt): Use NULL instead of empty stmt. | |
28261 | * gimplify.c (build_and_jump, gimplify_exit_expr, | |
28262 | gimplify_init_constructor, gimplify_save_expr, gimple_push_cleanup, | |
28263 | gimplify_stmt, gimplify_expr): Likewise. | |
28264 | (shortcut_cond_expr): Handle NULL arms of COND_EXPR. | |
28265 | (gimplify_statement_list): Remove NULL entries. | |
28266 | (gimplify_to_stmt_list): Handle NULL results. | |
28267 | (gimplify_type_sizes): Add list_p argument. | |
28268 | (gimplify_one_sizepos): Don't use internal pre/post queue. | |
28269 | * tree-gimple.h (gimplify_type_sizes): Update. | |
28270 | ||
28271 | 2004-06-22 Eric Christopher <echristo@redhat.com> | |
28272 | ||
28273 | * config/rs6000/rs6000.md (*insvsi_internal5/6): New patterns. | |
28274 | ||
28275 | 2004-06-22 Pat Haugen <pthaugen@us.ibm.com> | |
28276 | ||
28277 | * cfghooks.c (make_forwarder_block): Decrement count on fallthru edge | |
28278 | when redirecting back edges. | |
28279 | ||
28280 | * cfghooks.c (split_block): Call make_single_succ_edge so that edge | |
28281 | count/probability are set correctly. | |
28282 | ||
28283 | 2004-06-22 Richard Henderson <rth@redhat.com> | |
28284 | ||
28285 | * c-typeck.c (emit_side_effect_warnings): Ignore error marks. | |
28286 | (c_finish_stmt_expr): Likewise. | |
28287 | ||
28288 | * config/i386/i386.c (TARGET_STRUCT_VALUE_RTX): New. | |
28289 | (ix86_return_in_memory): Move SSE vector return warning ... | |
28290 | (ix86_struct_value_rtx): ... here. New. | |
28291 | ||
28292 | 2004-06-22 Richard Henderson <rth@redhat.com> | |
28293 | ||
28294 | * tree.def (VTABLE_REF): Remove. | |
28295 | (OBJ_TYPE_REF): New. | |
28296 | (TRY_CATCH_EXPR, TRY_FINALLY_EXPR): Set type 's'. | |
28297 | * expr.c (expand_expr_real_1): Replace VTABLE_REF with OBJ_TYPE_REF. | |
28298 | * fold-const.c (non_lvalue): Likewise. | |
28299 | * gimplify.c (gimplify_expr): Likewise. | |
28300 | (gimplify_call_expr): Use is_gimple_call_addr. | |
28301 | * langhooks-def.h (LANG_HOOKS_FOLD_OBJ_TYPE_REF): New. | |
28302 | * langhooks.h (fold_obj_type_ref): New. | |
28303 | * tree-gimple.c (is_gimple_call_addr): New. | |
28304 | * tree-gimple.h (is_gimple_call_addr): Declare. | |
28305 | * tree-inline.c (inlinable_function_p): Fix merge error. | |
28306 | (estimate_num_insns_1): Replace VTABLE_REF with OBJ_TYPE_REF. | |
28307 | * tree-pretty-print.c (dump_generic_node): Likewise. | |
28308 | (print_call_name): Handle OBJ_TYPE_REF. | |
28309 | * tree-ssa-ccp.c (fold_stmt): Fold OBJ_TYPE_REF. | |
28310 | * tree-ssa-operands.c (get_expr_operands): Handle OBJ_TYPE_REF. | |
28311 | * tree.h (OBJ_TYPE_REF_EXPR): New. | |
28312 | (OBJ_TYPE_REF_OBJECT, OBJ_TYPE_REF_TOKEN): New. | |
28313 | * doc/c-tree.texi (VTABLE_REF): Remove. | |
28314 | * objc/objc-act.c (build_objc_method_call): Build an OBJ_TYPE_REF. | |
28315 | ||
28316 | 2004-06-22 Richard Henderson <rth@redhat.com> | |
28317 | ||
28318 | PR middle-end/16026 | |
28319 | * function.c (assign_parms): Don't abort for overaligned PARALLEL. | |
28320 | ||
28321 | 2004-06-22 Joseph S. Myers <jsm@polyomino.org.uk> | |
28322 | ||
28323 | * Makefile.in (distclean): Don't try to remove empty directories. | |
28324 | ||
28325 | 2004-06-22 Richard Sandiford <rsandifo@redhat.com> | |
28326 | ||
28327 | PR target/15869 | |
28328 | * config/mips/mips.c (mips_avoid_hazards): Call split_all_insns_noflow. | |
28329 | ||
28330 | 2004-06-22 Alexandre Oliva <aoliva@redhat.com> | |
28331 | ||
28332 | * config/mn10300/mn10300.md (movdi, movdf): Use high/low for movu | |
28333 | operands. | |
28334 | ||
28335 | 2004-06-22 Dale Johannesen <dalej@apple.com> | |
28336 | ||
28337 | * config/rs6000/rs6000.c (legitimate_offset_address_p): Make | |
28338 | global, rename rs6000_legitimate_offset_address_p. | |
28339 | (rs6000_legitimate_address_p): Adjust calls to it. | |
28340 | (lmw_operation): Ditto. | |
28341 | (stmw_operation): Ditto. | |
28342 | * config/rs6000/rs6000-protos.h: Declare it. | |
28343 | * config/rs6000/rs6000.md (*movdf_hardfloat32): Use it | |
28344 | instead of offsettable_memref_p. | |
28345 | ||
28346 | 2004-06-22 Dale Johannesen <dalej@apple.com> | |
28347 | ||
28348 | * config/rs6000/rs6000.c (rs6000_legitimate_address): Disallow | |
28349 | [reg+reg] mode for TFmode memory accesses. | |
28350 | (rs6000_eliminate_indexed_memrefs): New. | |
28351 | (rs6000_emit_move): Call preceding for TImode and TFmode. | |
28352 | ||
28353 | 2004-06-22 Paolo Bonzini <bonzini@gnu.org> | |
28354 | ||
28355 | * tree-cfg.c (pass_warn_function_return): It needs | |
28356 | CFG, not SSA. | |
28357 | ||
28358 | 2004-06-22 Nathan Sidwell <nathan@codesourcery.com> | |
28359 | ||
28360 | * doc/invoke.texi (Machine Dependent Options): Alphabetize. | |
28361 | (Submodel Options): Likewise. | |
28362 | ||
28363 | 2004-06-21 Andrew Pinski <apinski@apple.com> | |
28364 | ||
28365 | Radar #: 3701874 | |
28366 | * c-decl.c (push_file_scope): Return early if we already | |
28367 | have a file scope. | |
28368 | ||
28369 | 2004-06-21 Geoffrey Keating <geoffk@apple.com> | |
28370 | ||
28371 | * c-opts.c (c_common_handle_option): Handle -fpch-preprocess. | |
28372 | * c-common.h (flag_pch_preprocess): Declare. | |
28373 | (c_common_pch_pragma): Likewise. | |
28374 | * c-common.c (flag_pch_preprocess): New. | |
28375 | * c-pch.c (c_common_read_pch): Support -fpreprocess-only. | |
28376 | (c_common_pch_pragma): New. | |
28377 | * c-ppoutput.c (cb_read_pch): New. | |
28378 | (init_pp_output): Support -fpch-preprocess. | |
28379 | * c-pragma.c (init_pragma): Support #pragma GNUC pch_preprocess. | |
28380 | * c.opt (fpch-preprocess): New. | |
28381 | * gcc.c (cpp_options): When save-temps, pass -fpch-preprocess. | |
28382 | * doc/cppopts.texi: Document -fpch-preprocess. | |
28383 | * doc/invoke.texi (Precompiled Headers): Mention that | |
28384 | -fpreprocessed is safe for PCH. Mention that if an option is | |
28385 | listed as safe that doesn't mean it does what you expect. | |
28386 | ||
28387 | 2004-06-22 Ben Elliston <bje@au.ibm.com> | |
28388 | ||
28389 | * tree-ssa.c (ssa_redirect_edge): Correct leading comment. | |
28390 | ||
28391 | 2004-06-21 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
28392 | ||
28393 | * Makefile.in (gimplify.o): Add cgraph.h. | |
28394 | * alias.c (adjust_offset_for_component_ref): Use | |
28395 | component_ref_field_offset. | |
28396 | * c-decl.c (build_array_declarator): Add news args for ARRAY_REF. | |
28397 | * c-gimplify.c (gimplify_expr_stmt): Use alloc_stmt_list. | |
28398 | (gimplify_decl_stmt): Call gimplify_type_sizes for type. | |
28399 | For decl, call gimplify_one_sizepos and use statement list. | |
28400 | (gimplify_compound_literal_expr): New arg PRE_P. | |
28401 | Add statement to PRE_P list and return DECL. | |
28402 | (c_gimplify_expr, case COMPOUND_LITERAL_EXPR): Add arg to | |
28403 | gimplify_compound_literal_expr. | |
28404 | * c-tree.h (getdecls): Deleted. | |
28405 | * c-typeck.c (build_component_ref): Add operand for COMPONENT_REF. | |
28406 | (build_array_ref): Add two operands for ARRAY_REF. | |
28407 | (build_unary_op): Set TREE_INVARIANT and TREE_CONSTANT for | |
28408 | COMPOUND_LITERAL_EXPR. | |
28409 | * coverage.c (tree_coverage_counter_ref): Add new operands | |
28410 | for ARRAY_REF. | |
28411 | * emit-rtl.c (component_ref_for_mem_expr): Add new operand | |
28412 | for COMPONENT_REF. | |
28413 | (set_mem_attributes_minus_bitpos): Use array_ref_low_bound | |
28414 | and array_ref_element_size. | |
28415 | (widen_memory_access):Use component_ref_field_offset. | |
28416 | * explow.c (update_nonlocal_goto_save_area): Add two operands | |
28417 | for ARRAY_REF. | |
28418 | * expr.c (array_ref_element_size, array_ref_low_bound): New functions. | |
28419 | (component_ref_field_offset): Likewise. | |
28420 | (get_inner_reference): Use them. | |
28421 | (expand_expr_real_1, case ARRAY_REF): Use array_ref_low_bound. | |
28422 | * fold-const.c (fold, case EQ_EXPR): Properly handle DECL_SIZE. | |
28423 | (fold_read_from_constant_string): Use array_ref_low_bound. | |
28424 | Verify that result is a character type. | |
28425 | (build_fold_indirect_ref): Add two operands for ARRAY_REF. | |
28426 | * function.c (expand_function_start): Likewise. | |
28427 | * gimple-low.c (expand_var_p): Delete duplicated line. | |
28428 | * gimplify.c: Add static decls for local functions. | |
28429 | (cgraph.h): Now included. | |
28430 | (create_tmp_var): Remove check for ARRAY_TYPE. | |
28431 | (copy_if_shared_r): Look at bounds and sizes of types. | |
28432 | (build_and_jump): Return alloc_stmt_list instead of build_empty_stmt. | |
28433 | (gimplify_exit_expr, shortcut_cond_expr): Likewise. | |
28434 | (gimplify_save_expr, gimple_push_cleanup): Likewise. | |
28435 | (gimplify_init_constructor): Likewise. | |
28436 | WANT_VALUE now bool. | |
28437 | If empty list with no result wanted, return GS_UNHANDLED. | |
28438 | Add additional operands for ARRAY_REF and COMPONENT_REF. | |
28439 | (canonicalize_component_ref): Convert to &array[L]. | |
28440 | (gimplify_array_ref_to_plus): Use array_ref_element_size and | |
28441 | array_ref_lower_bound. | |
28442 | (build_addr_expr_with_type, build_addr_expr): New functions. | |
28443 | (gimplify_compound_lval): WANT_LVALUE now bool. | |
28444 | Major rework to allow handle_component_p and initialize and | |
28445 | gimplify new operands for ARRAY_REF, ARRAY_RANGE_REF, and | |
28446 | COMPONENT_REF. | |
28447 | (gimplify_array_ref): Deleted. | |
28448 | (gimplify_self_mod_expr): WANT_VALUE now bool. | |
28449 | (gimplify_modify_expr): Gimplify to_p and from_p later. | |
28450 | Factor out code into gimplify_modify_expr_rhs and call twice. | |
28451 | Move variable-size code earlier and handle PLACEHOLDER_EXPR. | |
28452 | (gimplify_modify_expr_rhs, gimplify_variable_sized_compare): New fns. | |
28453 | (gimplify_addr_expr, case VIEW_CONVERT_EXPR): New case. | |
28454 | (gimplify_expr, case ARRAY_REF): Delete special case. | |
28455 | Instead handle like COMPONENT_REF; also do ARRAY_RANGE_REF, | |
28456 | IMAGPART, and REALPART the same way. | |
28457 | (gimplify_expr, case VIEW_CONVERT_EXPR): New case. | |
28458 | (gimplify_expr): Call gimplify_variable_sized_compare if applicable. | |
28459 | Call alloc_stmt_list instead of build_empty_stmt. | |
28460 | Deal with _REF that's volatile. | |
28461 | (gimplify_type_sizes, gimplify_one_sizepos): New functions. | |
28462 | (unshare_body, unvisit_body): New functions. | |
28463 | (gimplify_body): Call them. | |
28464 | * stmt.c (expand_stack_alloc): Don't expand TYPE_MAX_VALUE. | |
28465 | * stor-layout.c (get_pending_sizes): Don't change SAVE_EXPR_CONTEXT. | |
28466 | * tree-alias-common.c (get_alias_var): Also skip ARRAY_RANGE_REF. | |
28467 | * tree-cfg.c (tree_node_can_be_shared): Treat ARRAY_RANGE_REF | |
28468 | like ARRAY_REF. | |
28469 | (verify_expr, case ADDR_EXPR): Use handled_component_p. | |
28470 | * tree-dfa.c (get_virtual_var): Likewise. | |
28471 | * tree-dump.c (dequeue_and_dump, case COMPONENT_REF, ARRAY_REF): | |
28472 | New cases to dump new operands; likewise for ARRAY_RANGE_REF. | |
28473 | * tree-eh.c (tree_could_trap, case ARRAY_RANGE_REF): Like ARRAY_REF. | |
28474 | * tree-gimple.c (is_gimple_addr_expr_arg): Add ARRAY_RANGE_REF | |
28475 | and INDIRECT_REF. | |
28476 | (get_base_address): Use handled_component_p. | |
28477 | * tree-gimple.h (gimplify_type_sizes, gimplify_one_sizepos): New. | |
28478 | * tree-inline.c (walk_tree): Walk more things for types and decls. | |
28479 | * tree-mudflap.c (mf_build_check_statement_for): Add new operands | |
28480 | for ARRAY_REF and COMPONENT_REF. | |
28481 | (mx_xform_derefs_1): Clean up usage of decl sizes. | |
28482 | * tree-nested.c (build_addr): Use handled_component_p. | |
28483 | (walk_stmts, case CATCH_EXPR): Add missing "break". | |
28484 | (get_static_chain, get_frame_field): Add new operand for COMPONENT_REF. | |
28485 | (finalize_nesting_tree_1): Likewise. | |
28486 | (convert_nonlocal_reference, case ARRAY_RANGE_REF): Like ARRAY_REF | |
28487 | and process additional operands. | |
28488 | (convert_local_reference): Likewise. | |
28489 | * tree-outof-ssa.c (discover_nonconstant_array_refs_r): Treat | |
28490 | ARRAY_RANGE_REF similarly to ARRAY_REF. | |
28491 | * tree-pretty-print.c (dump_generic_node, case QUAL_UNION_TYPE): Handle | |
28492 | like RECORD_TYPE. | |
28493 | (dump_generic_node, case COMPONENT_REF): Print offset operand. | |
28494 | (dump_generic_node, case ARRAY_RANGE_REF): Treat like ARRAY_REF | |
28495 | and print lower bound and element size for both. | |
28496 | (op_prio, case ARRAY_RANGE_REF): Like ARRAY_REF. | |
28497 | * tree-sra.c (csc_build_component_ref): Add new operand. | |
28498 | (scalarize_call_expr): Use get_base_address. | |
28499 | * tree-ssa-ccp.c (widen_bitfield): Clean up size handling. | |
28500 | (maybe_fold_offset_to_array_ref): Rework to handle input having an | |
28501 | ARRAY_REF, refine handling of lower bound, and add new operands | |
28502 | for ARRAY_REF. | |
28503 | (maybe_fold_to_component_ref): Add new operand for COMPONENT_REF. | |
28504 | (maybe_fold_stmt_indirect): Only fold *&B to B if types match. | |
28505 | (maybe_fold_stmt_addition): Only handle constant lower bound. | |
28506 | * tree-ssa-operands.c (get_expr_operands): Minor rearrangements. | |
28507 | Treat ARRAY_REF and ARRAY_RANGE_REF the same; look at extra operands. | |
28508 | Look at new offset operand of COMPONENT_REF. | |
28509 | * tree-ssa.c (set_is_used): Use handled_component_p. | |
28510 | * tree.c (substitute_in_expr, case COMPONENT_REF): Add new operand. | |
28511 | (stabilize_reference, case COMPONENT_REF): Likewise. | |
28512 | (stabilize_reference, case ARRAY_RANGE_REF, ARRAY_REF): Similarly. | |
28513 | (recompute_tree_invariant_for_addr_expr): Completely rework to | |
28514 | be more precise. Also set TREE_SIDE_EFFECTS. | |
28515 | (build1_stat, case ARRAY_EXPR): Don't handle TREE_SIDE_EFFECTS here. | |
28516 | (build2_stat, build3_stat, build4_stat): For references, | |
28517 | propagate TREE_THIS_VOLATILE. | |
28518 | (get_unwidened): Add new operand for COMPONENT_REF. | |
28519 | (get_narrower): Likewise; use host_integerp for DECL_SIZE. | |
28520 | * tree.def (COMPONENT_REF): Add new operand. | |
28521 | (ARRAY_REF, ARRAY_RANGE_REF): Add two new operands. | |
28522 | * tree.h (array_ref_element_size, array_ref_low_bound): New decls. | |
28523 | (component_ref_field_offset): Likewise. | |
28524 | * config/alpha/alpha.c (alpha_va_start): Add new op for COMPONENT_REF. | |
28525 | (alpha_gimplify_va_arg): Likewise. | |
28526 | * config/i386/i386.c (ix86_va_start, ix86_gimplify_va_arg): Likewise. | |
28527 | * config/i860/i860.c (i860_va_start, i860_va_arg): Likewise. | |
28528 | * config/iq2000/iq2000.c (iq2000_va_arg): Likewise. | |
28529 | * config/mips/mips.c (mips_va_start, mips_va_arg): Likewise. | |
28530 | * config/rs6000/rs6000.c (rs6000_va_start, rs6000_gimplify_va_arg): | |
28531 | Likewise. | |
28532 | * config/s390/s390.c (s390_va_start, s390_gimplify_va_arg): Likewise. | |
28533 | * config/sh/sh.c (sh_va_start, sh_va_arg): Likewise. | |
28534 | * config/stormy16/stormy16.c (xstormy1_expand_builin_va_start): | |
28535 | Likewise. | |
28536 | (xstormy16_expand_builtin_va_arg): Likewise. | |
28537 | * config/xtensa/xtensa.c (xtensa_va_start, xtensa_va_arg): Likewise. | |
28538 | * objc/objc-act.c (generate_static_references): Likewise. | |
28539 | (generate_strings, build_method_prototype_list_template): Likewise. | |
28540 | (generate_protocol_list): Likewise. | |
28541 | ||
28542 | 2004-06-21 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
28543 | ||
28544 | PR rtl-optimization/14782 | |
28545 | * pa.c (emit_move_sequence): Use SFmode for 4-byte modes when doing | |
28546 | the address checks for secondary reloads for loads from and stores | |
28547 | to floating-point registers. | |
28548 | * pa.h (EXTRA_CONSTRAINT, case T): Use SFmode for 4-byte modes | |
28549 | in the address check. Move work around for ELF32 targets to | |
28550 | GO_IF_LEGITIMATE_ADDRESS. | |
28551 | (GO_IF_LEGITIMATE_ADDRESS): Require constant offsets to be | |
28552 | correctly aligned for DImode loads and stores. Don't allow long | |
28553 | SFmode displacements on ELF32. | |
28554 | ||
28555 | 2004-06-21 Richard Henderson <rth@redhat.com> | |
28556 | ||
28557 | PR rtl-opt/16114 | |
28558 | * cse.c (merge_equiv_classes): Also rehash in response to | |
28559 | delete_reg_equiv changes. | |
28560 | (rehash_using_reg): Don't exclude REGs from rehashing. | |
28561 | ||
28562 | 2004-06-21 Richard Henderson <rth@redhat.com> | |
28563 | ||
28564 | * c-common.def (RETURN_STMT): Remove. | |
28565 | * c-common.h (RETURN_STMT_EXPR): Remove. | |
28566 | (c_expand_return, build_return_stmt): Remove. | |
28567 | (c_common_stmt_codes): Remove RETURN_STMT. | |
28568 | * c-dump.c (dump_next_stmt): Remove. | |
28569 | (c_dump_tree): Remove RETURN_STMT. | |
28570 | * c-decl.c (finish_function): Use c_finish_return. | |
28571 | * c-parse.in (stmt): Likewise. | |
28572 | * c-gimplify.c (gimplify_return_stmt): Remove. | |
28573 | (c_gimplify_expr): Remove RETURN_STMT. | |
28574 | * c-pretty-print.c (pp_c_statement): Likewise. | |
28575 | * c-semantics.c (build_return_stmt): Remove. | |
28576 | * c-tree.h (c_finish_return): Declare. | |
28577 | * c-typeck.c (c_finish_return): Rename from c_expand_return. | |
28578 | Return void. Build RETURN_EXPR directly. | |
28579 | * tree-dump.h (dump_next_stmt): Remove. | |
28580 | ||
28581 | 2004-06-21 Zack Weinberg <zack@codesourcery.com> | |
28582 | ||
28583 | * c-decl.c (start_function): Don't call make_decl_rtl. Don't | |
28584 | look at TREE_ADDRESSABLE of symbol name. | |
28585 | ||
28586 | 2004-06-21 Kelley Cook <kcook@gcc.gnu.org> | |
28587 | ||
28588 | PR target/15551 | |
28589 | * config/i386/i386.md: Change UNSPEC_STACK_PROBE to UNSPECV_STACK_PROBE. | |
28590 | (allocate_stack_worker): Make unspec_volatile. | |
e8366202 MS |
28591 | (allocate_stack_worker_rex64): Likewise. |
28592 | (allocate_stack_worker_postreload): Likewise. | |
28593 | (allocate_stack_worker_rex64_postreload): Likewise. | |
3eb54e5f ILT |
28594 | |
28595 | 2004-06-21 Daniel Berlin <dberlin@dberlin.org> | |
28596 | ||
28597 | Fix PR optimization/15982 | |
28598 | * tree-ssa-pre.c: Update a few comments and todos to | |
28599 | reflect constants change. | |
28600 | (get_value_handle): Constants now value number to themselves. | |
28601 | (lookup): Constants lookup to themselves. | |
28602 | (add_to_value): Adjust to always be on. | |
28603 | (set_contains_value): Adjust for constants change. | |
28604 | (find_leader): Ditto. | |
28605 | (phi_translate): 'r' nodes are never ANTIC right now. | |
28606 | (valid_in_set): Ditto. | |
28607 | (get_expr_set): New function. | |
28608 | (find_or_generate_expression): New function, broken out from | |
28609 | insert_aux. | |
28610 | (create_expression_by_pieces): Ditto, plus additional | |
28611 | machinery to handle complex values. | |
28612 | (compute_avail): Remove dead RETURN_EXPR handling. | |
28613 | ||
28614 | 2004-06-21 Steven Bosscher <stevenb@suse.de> | |
28615 | ||
28616 | * config/i386/i386.c: Include insn-codes.h | |
28617 | * config/i386/i386.h (FLAGS_REG, FPSR_REG, DIRFLAG_REG): Don't | |
28618 | define here. | |
28619 | * config/i386/i386.md (BP_REG, SP_REG, FLAGS_REG, FPSR_REG, | |
28620 | DIRFLAG_REG): New define_constants. Use them everywhere. | |
28621 | ||
28622 | 2004-06-21 Kaz Kojima <kkojima@gcc.gnu.org> | |
28623 | ||
28624 | * config/sh/t-linux (MULTILIB_OPTIONS): Remove. | |
28625 | ||
28626 | 2004-06-21 J"orn Rennecke <joern.rennecke@superh.com> | |
28627 | ||
28628 | * sh.h (SUPPORT_SH1, SUPPORT_SH2E, SUPPORT_SH4): Conditionally define. | |
28629 | (SUPPORT_SH4_SINGLE): Likewise. | |
28630 | (TARGET_SWITCHES): Break out switches for cpu subtargets: | |
28631 | (TARGET_SWITCH_SH1, TARGET_SWITCH_SH2, TARGET_SWITCH_SH2E): Define. | |
28632 | (TARGET_SWITCH_SH3, TARGET_SWITCH_SH3E): Likewise. | |
28633 | (TARGET_SWITCH_SH4_SINGLE_ONLY, TARGET_SWITCH_SH4_SINGLE): Likewise. | |
28634 | (TARGET_SWITCH_SH4_NOFPU, TARGET_SWITCH_SH4): Likewise. | |
28635 | (TARGET_SWITCH_SH5_64MEDIA, TARGET_SWITCH_SH5_64MEDIA_NOFPU): Likewise. | |
28636 | (TARGET_SWITCHES_SH5_32MEDIA): Likewise. | |
28637 | (TARGET_SWITCHES_SH5_32MEDIA_NOFPU): Likewise. | |
28638 | (SELECT_SH5_64, SELECT_SH5_64_NOFPU): Rename to: | |
28639 | (SELECT_SH5_64MEDIA, SELECT_SH5_64MEDIA_NOFPU) | |
28640 | (SELECT_SH5_32, SELECT_SH5_32_NOFPU): Rename to: | |
28641 | (SELECT_SH5_32MEDIA, SELECT_SH5_32MEDIA_NOFPU). | |
28642 | (SH_MULTILIB_CPU_DEFAULT, MULTILIB_DEFAULTS): Define. | |
28643 | (ASM_ISA_SPEC_DEFAULT, ASM_ISA_DEFAULT_SPEC): Likewise. | |
28644 | * sh64.h (ASM_SPEC, LINK_DEFAULT_CPU_EMUL): Don't redefine. | |
28645 | (TARGET_DEFAULT): Likewise. | |
28646 | * config/sh/t-elf: Amend comment. | |
28647 | * config/sh/t-1e, config/sh/t-mlib-sh1: New files. | |
28648 | * config/sh/t-mlib-sh2, config/sh/t-mlib-sh2e: Likewise. | |
28649 | * config/sh/t-mlib-sh3, config/sh/t-mlib-sh3e: Likewise. | |
28650 | * config/sh/t-mlib-sh4, config/sh/t-mlib-sh4-nofpu: Likewise. | |
28651 | * config/sh/t-mlib-sh4-single: Likewise. | |
28652 | * config/sh/t-mlib-sh4-single-only: Likewise. | |
28653 | * config/sh/t-mlib-sh5-32media: Likewise. | |
28654 | * config/sh/t-mlib-sh5-32media-nofpu: Likewise. | |
28655 | * config/sh/t-mlib-sh5-64media: Likewise. | |
28656 | * config/sh/t-mlib-sh5-64media-nofpu: Likewise. | |
28657 | * config/sh/t-mlib-sh5-compact: Likewise. | |
28658 | * config/sh/t-mlib-sh5-compact-nofpu: Likewise. | |
28659 | * config/sh/t-sh: (MULTILIB_ENDIAN): Add mb. | |
28660 | (MULTILIB_CPUS): Define. | |
28661 | (MULTILIB_OPTIONS): Use MULTILIB_CPUS. | |
28662 | (MULTILIB_MATCHES): Use some shell code to calculate it. | |
28663 | (MULTILIB_EXCEPTIONS): Change to ml/m1. | |
28664 | * config/sh/elf.h (SUBTARGET_ASM_ISA_SPEC): Use ASM_ISA_DEFAULT_SPEC. | |
28665 | * config/sh/netbsd-elf.h: Update code which sets TARGET_VERSION_CPU. | |
28666 | (LINK_DEFAULT_CPU_EMUL): Don't redefine. | |
28667 | (NO_PROFILE_COUNTERS): Define to 1. | |
28668 | * config/sh/t-netbsd (MULTILIB_OPTIONS): Don't append to. | |
28669 | (MULTILIB_DIRNAMES, MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Don't zap. | |
28670 | * config/sh/t-netbsd-sh5-64 (MULTILIB_OPTIONS): Don't redefine. | |
28671 | (MULTILIB_MATCHES): Don't zap. | |
28672 | (MULTILIB_DIRNAMES): Use MULTILIB_RAW_DIRNAMES. | |
28673 | * config/sh/t-sh64 (MULTILIB_OPTIONS): Don't redefine. | |
28674 | (MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Don't zap. | |
28675 | (MULTILIB_RAW_DIRNAMES): Define. | |
28676 | (MULTILIB_DIRNAMES): Use it. | |
28677 | * config.gcc: Also set cpu_type / need_64bit_hwint for sh[be]*-*-*. | |
28678 | (sh*linux configurations): Merge into: | |
28679 | (sh*elf / sh*kaos configurations). Support --with-endian, --with-cpu, | |
28680 | --with-multilib-list options. Support sh-superh-elf configuration. | |
28681 | (sh*-netbsd*): Use SELECT_SH* macros. | |
28682 | (supported_defaults): sh[123456ble]-*-* | sh-*-* support "cpu". | |
28683 | Merge sh*-*-netbsd* configurations into sh-elf configurations. | |
28684 | * config/sh/t-netbsd-sh5, config/sh/t-be, config/sh/t-le: Delete. | |
28685 | * config/sh/t-monolib: Likewise. | |
28686 | ||
28687 | 2004-06-21 Paul Brook <paul@codesourcery.com> | |
28688 | ||
28689 | * config/arm/arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Soft-float need | |
28690 | not imply FPA. | |
28691 | ||
28692 | 2004-06-21 Roger Sayle <roger@eyesopen.com> | |
28693 | ||
28694 | * fold-const.c (operand_equal_p): Pass flags in recursive calls for | |
28695 | binary and relational operations. Add support for TRUTH_ANDIF_EXPR, | |
28696 | TRUTH_ORIF_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR and TRUTH_XOR_EXPR. | |
28697 | * tree.c (commutative_tree_code): Also list UNORDERED_EXPR, | |
28698 | ORDERED_EXPR, UNEQ_EXPR, LTGT_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR | |
28699 | and TRUTH_XOR_EXPR. | |
28700 | ||
28701 | 2004-06-21 Paolo Bonzini <bonzini@gnu.org> | |
28702 | ||
28703 | * rtlanal.c (may_trap_p): Mark LTGT as trapping. | |
28704 | ||
28705 | 2004-06-21 Joseph S. Myers <jsm@polyomino.org.uk> | |
28706 | ||
28707 | * tree-alias-common.h (struct tree_alias_ops): Change ip and | |
28708 | ip_partial to unsigned int. | |
28709 | ||
28710 | 2004-06-21 Richard Henderson <rth@redhat.com> | |
28711 | ||
28712 | * c-common.c (verify_sequence_points): Export. | |
28713 | (c_expand_expr_stmt): Move to c-typeck.c. | |
28714 | * c-common.h (c_expand_expr_stmt): Remove. | |
28715 | (verify_sequence_points): Declare. | |
28716 | * c-mudflap.c (mflang_flush_calls): Use c_finish_expr_stmt. | |
28717 | * c-parse.in (for_init_stmt, stmt): Likewise. | |
28718 | * c-tree.h (c_finish_expr_stmt): Declare. | |
28719 | (c_tree_expr_nonnegative_p): Remove. | |
28720 | * c-typeck.c (c_tree_expr_nonnegative_p): Remove. | |
28721 | (build_conditional_expr, build_binary_op): Use tree_expr_nonnegative_p. | |
28722 | (emit_side_effect_warnings): New. | |
28723 | (c_finish_expr_stmt): Rename from c_expand_expr_stmt. Use it. | |
28724 | (c_finish_stmt_expr): Work without EXPR_STMT. Handle eh regions. | |
28725 | Use emit_side_effect_warnings. | |
28726 | (push_cleanup): Copy STATEMENT_LIST_STMT_EXPR. | |
28727 | * fold-const.c (tree_expr_nonnegative_p): Handle TARGET_EXPR. | |
28728 | * gimplify.c (gimplify_modify_expr): Don't discard TARGET_EXPR | |
28729 | with void initializer. | |
28730 | (gimplify_target_expr): Handle void BIND_EXPR initializer. | |
28731 | * tree-inline.c (estimate_num_insns_1): Fix type lookup for | |
28732 | INIT_EXPR and MODIFY_EXPR. | |
28733 | * objc/objc-act.c (build_module_descriptor): Use add_stmt | |
28734 | instead of c_expand_expr_stmt. | |
28735 | ||
28736 | 2004-06-21 Paolo Bonzini <bonzini@gnu.org> | |
28737 | ||
28738 | * fold-const.c (fold_cond_expr_with_comparison): | |
28739 | New function, extracted from fold. | |
28740 | (fold): Extract code to fold A op B ? A : C, use | |
28741 | it to fold A op B ? C : A. Really optimize | |
28742 | A & N ? N : 0 where N is a power of two. Avoid | |
28743 | relying on canonicalization and recursion for | |
28744 | foldings of COND_EXPR to happen. | |
28745 | ||
28746 | 2004-06-20 David Ayers <d.ayers@inode.at> | |
28747 | ||
28748 | * objc/objc-act.h (get_object_reference): Rename to | |
28749 | get_protocol_reference. | |
28750 | (super_type): Rename to objc_super_type. | |
28751 | (selector_type): Rename to objc_selector_type. | |
28752 | (id_type): Rename to objc_id_type. | |
28753 | (instance_type): Rename to objc_instance_type. | |
28754 | (protocol_type): Rename to objc_protocol_type. | |
28755 | (IS_ID): Update reference to id_type. | |
28756 | * objc/objc-act.c (get_object_reference): Rename to | |
28757 | get_protocol_reference; add documentation; update references to | |
28758 | id_type. | |
28759 | (lookup_method_in_protocol_list): Rename class_meth to | |
28760 | is_class; add documentation. | |
28761 | (finish_message_expr): Rename is_class to class_tree. | |
28762 | (synth_module_prologue, objc_is_object_ptr, objc_build_exc_ptr, | |
28763 | next_sjlj_build_try_catch_finally, objc_begin_catch_clause, | |
28764 | build_next_objc_exception_stuff, get_arg_type_list, | |
28765 | build_objc_method_call): Update references to id_type. | |
28766 | (synth_module_prologue, build_objc_symtab_template, | |
28767 | build_selector_reference_decl, build_selector, | |
28768 | build_selector_translation_table, build_typed_selector_reference, | |
28769 | get_arg_type_list, synth_self_and_ucmd_args, get_arg_type_list, | |
28770 | synth_self_and_ucmd_args): Update references to selector_type. | |
28771 | (build_private_template, build_ivar_reference): Update references | |
28772 | to instance_type. | |
28773 | (synth_module_prologue, build_protocol_reference, | |
28774 | build_protocol_expr, start_protocol): Update references to | |
28775 | protocol_type. | |
28776 | (synth_module_prologue, get_arg_type_list, build_objc_method_call): | |
28777 | Update references to super_type. | |
28778 | * c-parse.in: (typespec_nonreserved_nonattr): Update | |
28779 | references to get_object_reference. | |
28780 | * objc/objc-tree.def: Add C mode identifier sequence. | |
28781 | ||
28782 | 2004-06-20 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> | |
28783 | ||
28784 | * loop-invariant.c: New file. | |
28785 | * Makefile.in (loop-invariant.o): New. | |
28786 | * cfgloop.h (global_cost_for_size, init_set_costs, | |
28787 | move_loop_invariants): Declare. | |
28788 | * cfgloopanal.c (seq_cost, init_set_costs, global_cost_for_size): New | |
28789 | functions. | |
28790 | (avail_regs, res_regs, small_cost, pres_cost, spill_cost): New | |
28791 | variables. | |
28792 | * common.opt (floop-optimize2, fmove-loop-invariants): New options. | |
28793 | * loop-init.c (loop_optimizer_init): Call init_set_costs. | |
28794 | * passes.c (rest_of_handle_loop2): Call move_loop_invariants. | |
28795 | (rest_of_compilation): Check flag_loop_optimize2. | |
28796 | * toplev.c (process_options): Handle flag_loop_optimize2. | |
28797 | * doc/invoke.texi (-floop-optimize2, -fmove-loop-invariants): Document. | |
28798 | * doc/passes.texi (loop-invariant.c): Document. | |
28799 | ||
28800 | 2004-06-20 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> | |
28801 | ||
28802 | * tree-ssa-pre.c (compute_antic): Keep BB_VISITED flag zeroed. | |
28803 | ||
28804 | 2004-06-20 Richard Henderson <rth@redhat.com> | |
28805 | ||
28806 | * stmt.c (warn_if_unused_value): Add locus argument. | |
28807 | * tree.h (warn_if_unused_value): Update decl. | |
28808 | * c-typeck.c (internal_build_compound_expr): Update call. | |
28809 | * c-gimplify.c (gimplify_expr_stmt): Likewise. | |
28810 | ||
28811 | 2004-06-20 Andrew Pinski <pinskia@physics.uc.edu> | |
28812 | ||
28813 | PR middle-end/16089 | |
28814 | * builtins.c (entry_of_function): Move to ... | |
28815 | * cfgrtl.c (entry_of_function): Here and make non-static. | |
28816 | * integrate.c (emit_initial_value_sets): Use entry_of_function. | |
28817 | * rtl.h (entry_of_function): Prototype. | |
28818 | ||
28819 | 2004-06-20 Roger Sayle <roger@eyesopen.com> | |
28820 | ||
28821 | * config/i386/i386.c (pentium4_cost): Increase "lea" cost from 1 to 3. | |
28822 | (ix86_rtx_costs) <ASHIFT, PLUS>: Consider ix86_cost->lea even when | |
28823 | TARGET_DECOMPOSE_LEA. | |
28824 | ||
28825 | 2004-06-20 Richard Henderson <rth@redhat.com> | |
28826 | ||
28827 | * c-common.h (add_decl_stmt): Move to cp-tree.h. | |
28828 | * c-decl.c (finish_decl): Don't use add_decl_stmt. | |
28829 | * c-parse.in: Likewise. | |
28830 | * c-gimplify.c (gimplify_expr_stmt): Don't build CLEANUP_POINT_EXPR. | |
28831 | (gimplify_c_loop, gimplify_return_stmt, gimplify_decl_stmt): Likewise. | |
28832 | * c-semantics.c (add_decl_stmt): Move to cp/semantics.c. | |
28833 | ||
28834 | 2004-06-20 Richard Henderson <rth@redhat.com> | |
28835 | ||
28836 | * c-common.def (IF_STMT, CLEANUP_STMT): Move to cp-tree.def. | |
28837 | * c-common.h (IF_COND, THEN_CLAUSE, ELSE_CLAUSE, CLEANUP_BODY, | |
28838 | CLEANUP_EXPR, CLEANUP_DECL): Move to cp-tree.h. | |
28839 | (c_common_stmt_codes): Remove IF_STMT, CLEANUP_STMT. | |
28840 | * c-dump.c (c_dump_tree): Move IF_STMT, CLEANUP_STMT to cp_dump_tree. | |
28841 | * c-pretty-print.c (pp_c_statement): Similarly. | |
28842 | * c-gimplify.c (gimplify_cleanup_stmt, gimplify_cleanup_stmts, | |
28843 | gimplify_if_stmt): Move to cp-gimplify.c. | |
28844 | (c_genericize, c_gimplify_expr): Don't call them. | |
28845 | * c-semantics.c (push_cleanup): Move to cp/semantics.c. | |
28846 | * c-typeck.c (push_cleanup): New. | |
28847 | (c_begin_if_stmt, c_finish_if_cond, c_finish_then, c_finish_else, | |
28848 | c_finish_if_stmt): Use COND_EXPR. | |
28849 | * tree.h (CLEANUP_EH_ONLY): Update documentation. | |
28850 | ||
28851 | 2004-06-20 Zack Weinberg <zack@codesourcery.com> | |
28852 | ||
28853 | * c-common.h (has_c_linkage): New interface. | |
28854 | * c-cppbuiltin.c: Include target.h. | |
28855 | (c_cpp_builtins): Define __PRAGMA_REDEFINE_EXTNAME and | |
28856 | __PRAGMA_EXTERN_PREFIX when appropriate. | |
28857 | * c-pragma.c: Include target.h. | |
28858 | Document clarified semantics of symbol-renaming #pragmas. | |
28859 | (handle_pragma_redefine_extname, handle_pragma_extern_prefix) | |
28860 | (maybe_apply_renaming_pragma): Rewrite according to clarified | |
28861 | semantics. Always recognize, but do not necessarily execute. | |
28862 | (init_pragma): Unconditionally register symbol-renaming pragmas. | |
28863 | * system.h: Poison HANDLE_PRAGMA_REDEFINE_EXTNAME | |
28864 | and HANDLE_PRAGMA_EXTERN_PREFIX. | |
28865 | * target.h (struct gcc_target): Add handle_pragma_redefine_extname | |
28866 | and handle_pragma_extern_prefix flags. | |
28867 | * target-def.h: Add defaults for TARGET_HANDLE_PRAGMA_REDEFINE_EXTNAME | |
28868 | and TARGET_HANDLE_PRAGMA_EXTERN_PREFIX. | |
28869 | * Makefile.in (c-pragma.o, c-cppbuiltin.o): Update dependencies. | |
28870 | * config/sol2.h: Define TARGET_HANDLE_PRAGMA_REDEFINE_EXTNAME, | |
28871 | not HANDLE_PRAGMA_REDEFINE_EXTNAME. | |
28872 | (TARGET_OS_CPP_BUILTINS): No need to define __PRAGMA_REDEFINE_EXTNAME. | |
28873 | (TRANSFER_FROM_TRAMPOLINE): Prototype mprotect. | |
28874 | * config/alpha/osf.h: Define TARGET_HANDLE_PRAGMA_EXTERN_PREFIX, | |
28875 | not HANDLE_PRAGMA_EXTERN_PREFIX. | |
28876 | (TARGET_OS_CPP_BUILTINS): No need to define __PRAGMA_EXTERN_PREFIX. | |
28877 | * doc/extend.texi (Solaris Pragmas, Tru64 Pragmas): Combine | |
28878 | into one section "Symbol-Renaming Pragmas"; clarify; document | |
28879 | adjusted semantics. | |
28880 | ||
28881 | * builtins.c (expand_builtin): Do not issue error for a builtin | |
28882 | with no special case code and no DECL_ASSEMBLER_NAME; just do the | |
28883 | library call. | |
28884 | * c-decl.c (builtin_function): Don't call make_decl_rtl. | |
28885 | * c-objc-common.c (has_c_linkage): Stub implementation. | |
28886 | * cgraphunit.c (cgraph_expand_function) | |
28887 | (cgraph_remove_unreachable_nodes): Don't clear DECL_ARGUMENTS. | |
28888 | ||
28889 | 2004-06-19 Roger Sayle <roger@eyesopen.com> | |
28890 | ||
28891 | * builtins.c (fold_builtin_unordered_cmp): Take an EXP argument | |
28892 | instead of both an ARGLIST and a result TYPE. Handle these C99 | |
28893 | comparison functions as "polymorphic" builtins. Also handle | |
28894 | lowering of BUILT_IN_ISUNORDERED to an UNORDERED_EXPR tree node. | |
28895 | (fold_builtin_1): Update calls to fold_builtin_unordered_cmp. | |
28896 | Move handling of BUILT_IN_ISUNORDERED from here to there. | |
28897 | ||
28898 | 2004-06-19 Richard Henderson <rth@redhat.com> | |
28899 | ||
28900 | * c-common.c, c-common.h (lang_gimplify_stmt): Remove. | |
28901 | * c-gimplify.c: Remove unnecessary prototypes. | |
28902 | (c_gimplify_stmt): Merge into ... | |
28903 | (c_gimplify_expr): ... here. Don't play with prep_stmt. | |
28904 | * c-semantics.c (prep_stmt): Remove. | |
28905 | * gimplify.c (annotate_one_with_locus): Break out from ... | |
28906 | (annotate_all_with_locus): ... here. | |
28907 | (gimplify_expr): Add locus to expressions even if pre/post queues | |
28908 | are not present. | |
28909 | ||
28910 | 2004-06-19 Richard Henderson <rth@redhat.com> | |
28911 | ||
28912 | PR target/15941 | |
28913 | * function.c (assign_parms): If not padding upward or intentionally | |
28914 | forcing upward padding, take offset_rtx into account when determining | |
28915 | the alignment for stack_parm. | |
28916 | ||
28917 | 2004-06-19 Richard Henderson <rth@redhat.com> | |
28918 | ||
28919 | PR target/15550 | |
28920 | * ifcvt.c (noce_try_move): Recognize all generated instructions. | |
28921 | ||
28922 | 2004-06-19 Jan Hubicka <jh@suse.cz> | |
28923 | ||
28924 | * function.c (free_after_compilation): Do not free computed_goto_common*. | |
28925 | * function.h (struct function): Kill computed_goto_common*. | |
28926 | * stmt.c (expand_computed_goto): Do not commonize the computed gotos. | |
28927 | * tree-cfg.c (disband_implicit_edges): Do not forward across the | |
28928 | commonized computed goto. | |
28929 | ||
28930 | 2004-06-19 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
28931 | ||
28932 | * doc/invoke.texi: Remove obsolete comment regarding PA 2.0 support | |
28933 | in binutils. | |
28934 | ||
28935 | 2004-06-19 Andrew Pinski <apinski@apple.com> | |
28936 | ||
28937 | PR c++/15721 | |
28938 | * toplev.c (wrapup_global_declarations): Do not check | |
28939 | TREE_SYMBOL_REFERENCED of the DECL_ASSEMBLER_NAME but check | |
28940 | cgraph_varpool_node's needed field. | |
28941 | ||
28942 | 2004-06-19 Jan Hubicka <jh@suse.cz> | |
28943 | Steven Bosscher <stevenb@suse.de> | |
28944 | ||
28945 | CFG transparent RTL expansion: | |
28946 | * Makefile.in (cfgexpand.o): New object file. | |
28947 | (builtins.o): Add dependency on basic-block.h | |
28948 | * builtins.c: Include basic-block.h | |
28949 | (entry_of_function): New function. | |
28950 | (expand_builtin_apply_args, expand_builtin_saveargs): Use it. | |
28951 | * cfgexpand.c: New file. | |
28952 | * expr.c (execute_expand, pass_expand): Kill. | |
28953 | * pass.c (rest_of_compilation): Do not build CFG unless called from | |
28954 | coverage code. | |
28955 | * tree-cfg.c (delete_tree_cfg): Rename to.. | |
28956 | (delete_tree_cfg_annotations): ... this one; Do not remove the CFG itself. | |
28957 | * tree-flow.h (delete_tree_cfg_annotations): Declare. | |
28958 | (dleete_tree_cfg): Kill. | |
28959 | * tree-optimize.c (execute_rebuild_bind, pass_rebuild_bind): Kill. | |
28960 | (execute_del_cfg): Rename to... | |
28961 | (execute_free_datastructures): This one... | |
28962 | (pass_del_cfg): Rename to... | |
28963 | (pass_free_datastructures): ... this one; Do not kill PROP_cfg. | |
28964 | (init_tree_optimization_passes): Make cfg build and profiling to happen | |
28965 | unconditionally. | |
28966 | ||
28967 | 2004-06-19 Steven Bosscher <stevenb@suse.de> | |
28968 | ||
28969 | * tree-mudflap.c (mf_decl_cache_locals): Skip labels before | |
28970 | inserting the cache variables. | |
28971 | ||
28972 | * tree-mudflap.c: Include headers to make basic_block available. | |
28973 | Move functions around such that related functions are near each | |
28974 | other. Add prototypes for all static functions. Add comments | |
28975 | briefly explaining what IR the mudflap1 and mudflap2 work on and | |
28976 | what they do. | |
28977 | (mudflap_function_decls): Rename to execute_mudflap_function_decls. | |
28978 | (mudflap_function_ops): Rename to execute_mudflap_function_ops. | |
28979 | (pass_mudflap_1, pass_mudflap_2): Update. | |
28980 | (mf_decl_cache_locals): Make it work on the CFG instead of the saved | |
28981 | function tree. | |
28982 | (mf_build_check_statement_for): Make it work on the CFG. | |
28983 | (mf_xform_derefs_1): Likewise. Cleanup code style. | |
28984 | (mf_xform_derefs): Likewise. | |
28985 | ||
28986 | 2004-06-19 Jan Hubicka <jh@suse.cz> | |
28987 | ||
28988 | * tree-cfg.c (label_to_block): Invent the label destination for | |
28989 | undefined labels. | |
28990 | (cleanup_dead_labels): Update table in the case label_to_block added | |
28991 | new label. | |
28992 | ||
28993 | 2004-06-18 Richard Henderson <rth@redhat.com> | |
28994 | ||
28995 | PR c++/16036 | |
28996 | * gimple-low.c (lower_function_body): Generate return statement for | |
28997 | fall off the end of the function here ... | |
28998 | * tree-cfg.c (make_edges): ... instead of here. | |
28999 | * gimplify.c (gimplify_return_expr): Mark return temp TREE_NO_WARNING. | |
29000 | ||
29001 | 2004-06-18 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> | |
29002 | ||
29003 | * tree-ssa.c (raise_value): Removed. | |
29004 | (get_eq_name, check_phi_redundancy): New functions. | |
29005 | (kill_redundant_phi_nodes): Use standard ssa minimalization algorithm. | |
29006 | ||
29007 | 2004-06-18 Roger Sayle <roger@eyesopen.com> | |
29008 | ||
29009 | * fold-const.c (fold) <UNORDERED_EXPR, ORDERED_EXPR, UNLT_EXPR, | |
29010 | UNLE_EXPR, UNGT_EXPR, UNGE_EXPR, UNEQ_EXPR, LTGT_EXPR>: Add | |
29011 | constant folding for unordered comparison tree nodes. If both | |
29012 | operands are real constants, call fold_relational_const. If either | |
29013 | operand is a NaN, evaluate the other for side-effects and return a | |
29014 | constant. Optimize (double)float1 CMP (double)float2 into the | |
29015 | equivalent float1 CMP float2. | |
29016 | (nondestructive_fold_binary_to_constant) <UNORDERED_EXPR, | |
29017 | ORDERED_EXPR, UNLT_EXPR, UNLE_EXPR, UNGT_EXPR, UNGE_EXPR, UNEQ_EXPR, | |
29018 | LTGT_EXPR>: Call fold_relational_const for constant operands. | |
29019 | (fold_relational_const): Add support for unordered comparison tree | |
29020 | nodes. Don't constant fold "ordered" floating point comparisons | |
29021 | against NaN if when flag_trapping_math is set. | |
29022 | ||
29023 | 2004-06-19 Jakub Jelinek <jakub@redhat.com> | |
29024 | ||
29025 | * fold-const.c (build_range_check): If !in_p and recursive call | |
29026 | fails, exit immediately. If high - low overflows and etype is | |
29027 | a signed type, retry with unsigned etype. | |
29028 | (merge_ranges): If !in0_p and !in1_p, handle even range2 adjacent | |
29029 | to range1 at TYPE_MAX_VALUE and TYPE_MIN_VALUE. | |
29030 | ||
29031 | 2004-06-18 Richard Henderson <rth@redhat.com> | |
29032 | ||
29033 | * c-gimplify.c (gimplify_condition): Remove. | |
29034 | (gimplify_c_loop, gimplify_if_stmt, gimplify_switch_stmt): Don't | |
29035 | call it. | |
29036 | ||
29037 | 2004-06-18 Richard Henderson <rth@redhat.com> | |
29038 | ||
29039 | * tree-eh.c (decide_copy_try_finally): Fix scaling of copy and | |
29040 | switch estimates. | |
29041 | ||
29042 | 2004-06-18 Andrew Pinski <pinskia@physics.uc.edu> | |
29043 | ||
29044 | * config/i386/darwin.h (HOT_TEXT_SECTION_NAME): Define. | |
29045 | (NORMAL_TEXT_SECTION_NAME): Define. | |
29046 | (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Define. | |
29047 | (SECTION_FORMAT_STRING): Define. | |
29048 | ||
29049 | 2004-06-18 Steven Bosscher <stevenb@suse.de> | |
29050 | ||
29051 | * config/xtensa/xtensa.c | |
29052 | (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define. | |
29053 | * xtensa.md: Replace the old pipeline description with a DFA model. | |
29054 | ||
29055 | 2004-06-18 Steven Bosscher <stevenb@suse.de> | |
29056 | Ulrich Weigand <Ulrich.Weigand@de.ibm.com> | |
29057 | ||
29058 | * config/s390/s390.md: Remove the generic pipeline description. | |
29059 | * config/s390/2064.md: Make all insn reservations apply to | |
29060 | the z900, g5 and g6. | |
29061 | * config/s390/s390.c (s390_use_dfa_pipeline_interface): Remove. | |
29062 | (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): | |
29063 | Define to hook_int_void_1. | |
29064 | (s390_adjust_cost): Cleanup. Don't check address dependency here. | |
29065 | (s390_first_cycle_multipass_dfa_lookahead): Always return 4. | |
29066 | ||
29067 | 2004-06-18 Daniel Berlin <dberlin@dberlin.org> | |
29068 | Diego Novillo <dnovillo@redhat.com> | |
29069 | ||
29070 | * tree-dfa.c (create_var_ann): tree_ann -> tree_ann_t. | |
29071 | (create_stmt_ann): Ditto. | |
29072 | (create_tree_ann): New function. | |
29073 | (create_cst_ann): Remove. | |
29074 | (create_expr_ann): Ditto. | |
29075 | ||
29076 | * tree-flow-inline.h (cst_ann): Remove. | |
29077 | (get_cst_ann): Ditto. | |
29078 | (get_expr_ann): Ditto. | |
29079 | (expr_ann): Ditto. | |
29080 | (get_tree_ann): New function. | |
29081 | (tree_ann): Ditto. | |
29082 | (ann_type): tree_ann -> tree_ann_t. | |
29083 | * tree-flow.h (tree_ann_type): CST_ANN, EXPR_ANN removed. | |
29084 | (struct cst_ann_d): Removed. | |
29085 | (struct expr_ann_d): Ditto. | |
29086 | (union tree_ann_d): Removed cst and expr. | |
29087 | (tree_ann): Renamed to tree_ann_t. | |
29088 | * tree-ssa-ccp.c (set_rhs): tree_ann -> tree_ann_t. | |
29089 | * tree-ssa-pre.c (get_value_handle): Rewrite for single common | |
29090 | annotation. | |
29091 | (set_value_handle): Ditto. | |
29092 | (phi_translate): Ditto. | |
29093 | * tree-tailcall.c (adjust_return_value): tree_ann -> tree_ann_t. | |
29094 | ||
29095 | 2004-06-18 Kaz Kojima <kkojima@gcc.gnu.org> | |
29096 | ||
29097 | * config/sh/t-linux64: New file. | |
29098 | * config.gcc: Add it to tmake_file for sh64*-*-linux*. | |
29099 | ||
29100 | 2004-06-18 Paolo Bonzini <bonzini@gnu.org> | |
29101 | ||
29102 | * emit-rtl.c (unshare_all_rtl_1): New name of unshare_all_rtl. | |
29103 | (unshare_all_rtl_again): Call unshare_all_rtl_1. | |
29104 | (unshare_all_rtl): New. | |
29105 | * function.c (instantiate_virtual_regs): Remove parameters. | |
29106 | * function.h (instantiate_virtual_regs): Add prototype. | |
29107 | * rtl.h (unshare_all_rtl): Add prototype. | |
29108 | * tree.h (instantiate_virtual_regs, unshare_all_rtl): Remove | |
29109 | prototype. | |
29110 | * passes.c: Remove assertions on the parameters to | |
29111 | rest_of_handle_* functions. Remove the parameters to | |
29112 | the functions, replacing decl with current_function_decl | |
29113 | and insns with get_insns (). | |
29114 | ||
29115 | 2004-06-17 Roger Sayle <roger@eyesopen.com> | |
29116 | ||
29117 | * fold-const.c (constant_boolean_node): Handle boolean_type_node | |
29118 | directly, return either boolean_true_node or boolean_false_node. | |
29119 | ||
29120 | 2004-06-18 Kelley Cook <kcook@gcc.gnu.org> | |
29121 | ||
29122 | * opts.sh: Delete. Break out generated code to next four files. | |
29123 | * opt-gather.awk: New file. | |
29124 | * optc-gen.awk: New file. | |
29125 | * opth-gen.awk: New file. | |
29126 | * opt-functions.awk: New common file. | |
29127 | * Makefile.in: Update for above. | |
29128 | * configure.ac: Update comment. | |
29129 | * configure: Regenerate. | |
29130 | ||
29131 | 2004-06-17 Richard Henderson <rth@redhat.com> | |
29132 | ||
29133 | * c-common.c (flag_objc_sjlj_exceptions): New. | |
29134 | * c-common.h (flag_objc_sjlj_exceptions): Declare. | |
29135 | * c-opts.c (c_common_handle_option): Set it. | |
29136 | (c_common_post_options): Handle interation of different | |
29137 | objective-c exception and runtime switches. | |
29138 | * c-decl.c (c_eh_initialized_p): New. | |
29139 | (finish_decl): Use it instead of local eh_initialized_p. | |
29140 | * c-parse.in (nested_function, notype_nested_function): Record | |
29141 | the result of compstmt. | |
29142 | (compstmt_or_error): Likewise. | |
29143 | (compstmt): Don't add_stmt the result. | |
29144 | (stmt): Don't return anything. Rewrite objc try and sync rules. | |
29145 | (objc_try_stmt, objc_catch_list): Remove. | |
29146 | (objc_catch_block, objc_finally_block): Remove. | |
29147 | (objc_catch_prefix, objc_catch_clause, objc_opt_catch_list): New. | |
29148 | (objc_try_catch_clause, objc_finally_clause): New. | |
29149 | (objc_try_catch_stmt): Rewrite. | |
29150 | * c-tree.h (c_eh_initialized_p): Declare. | |
29151 | * c-opt (fobjc-sjlj-exceptions): New. | |
29152 | * except.c (output_function_exception_table): Don't call cgraph | |
29153 | on non-decls. | |
29154 | * objc/objc-act.c (UTAG_EXCDATA_VAR, UTAG_CAUGHTEXC_VAR, | |
29155 | UTAG_RETHROWEXC_VAR, UTAG_EVALONCE_VAR, struct val_stack, | |
29156 | catch_count_stack, exc_binding_stack, if_nesting_count, | |
29157 | blk_nesting_count, objc_enter_block, objc_exit_block, | |
29158 | objc_declare_variable, val_stack_push, val_stack_pop, | |
29159 | objc_build_try_enter_fragment, objc_build_extract_expr, | |
29160 | objc_build_try_exit_fragment, objc_build_extract_fragment, | |
29161 | objc_build_try_prologue, objc_build_try_epilogue, | |
29162 | objc_build_catch_stmt, objc_build_catch_epilogue, | |
29163 | objc_build_finally_prologue, objc_build_finally_epilogue, | |
29164 | objc_build_try_catch_finally_stmt, objc_build_synchronized_prologue, | |
29165 | objc_build_synchronized_epilogue): Remove. | |
29166 | (objc_create_temporary_var, struct objc_try_context, cur_try_context, | |
29167 | objc_eh_runtime_type, objc_init_exceptions, objc_build_exc_ptr, | |
29168 | next_sjlj_build_try_exit, next_sjlj_build_enter_and_setjmp, | |
29169 | next_sjlj_build_exc_extract, next_sjlj_build_catch_list, | |
29170 | next_sjlj_build_try_catch_finally, objc_begin_try_stmt, | |
29171 | objc_begin_catch_clause, objc_finish_catch_clause, | |
29172 | objc_build_finally_clause, objc_finish_try_stmt, | |
29173 | objc_build_synchronized): New. | |
29174 | (objc_is_object_id, objc_is_class_id): New. | |
29175 | (objc_comptypes): Use them. | |
29176 | (build_next_objc_exception_stuff): Break NeXT sjlj out from | |
29177 | build_objc_exception_stuff. | |
29178 | (synth_module_prologue): Update to match. | |
29179 | (objc_build_throw_stmt): Use cur_try_context to decide if | |
29180 | we're in a @catch. | |
29181 | * objc/objc-act.h: Update prototypes. | |
29182 | (OCTI_EXCEPTION_BLK_STACK, objc_exception_block_stack): Remove. | |
29183 | ||
29184 | 2004-06-17 Andrew Pinski <apinski@apple.com> | |
29185 | ||
29186 | * c-typeck.c (tagged_types_tu_compatible_p <case UNION_TYPE>): | |
29187 | Use TYPE_FIELDS instead of TYPE_VALUES. | |
29188 | ||
29189 | 2004-06-17 Jason Merrill <jason@redhat.com> | |
29190 | ||
29191 | PR c++/16015 | |
29192 | * gimplify.c (gimplify_target_expr): Handle void initializer. | |
29193 | * expr.c (expand_expr_real_1) [TARGET_EXPR]: Likewise. | |
29194 | * doc/c-tree.texi (Expression trees): Update TARGET_EXPR | |
29195 | and AGGR_INIT_EXPR. | |
29196 | ||
29197 | 2004-06-17 Roger Sayle <roger@eyesopen.com> | |
29198 | ||
29199 | * fold-const.c (fold_relational_const): Use constant_boolean_node. | |
29200 | ||
29201 | 2004-06-17 Jan Hubicka <jh@suse.cz> | |
29202 | ||
29203 | PR target/15433 | |
29204 | * i386.md (SSE SF cmov 0 splitter): The conditional is VOIDmode; fix | |
29205 | operand numbering in the output template. | |
29206 | (SSE DF cmov 0 splitter): The conditional is VOIDmode. | |
29207 | ||
29208 | 2004-06-17 Jan Hubicka <jh@suse.cz> | |
29209 | ||
29210 | * except.c (can_throw_internal): Recognize RESX expresisons. | |
29211 | ||
29212 | 2004-06-17 Jan Hubicka <jh@suse.cz> | |
29213 | ||
29214 | * cfgbuild.c (make_edges): Do not use label_value_list. | |
29215 | (find_basic_blocks_1): Do not collect label_value_list. | |
29216 | (find_sub_basic_blocks): Update call of make_edges. | |
29217 | ||
29218 | 2004-06-17 Andrew MacLeod <amacleod@redhat.com> | |
29219 | ||
e8366202 MS |
29220 | * tree-cfg.c (tree_make_forwarder_block): Use SET_PHI_RESULT. |
29221 | * tree-flow-inline.h (get_use_op_ptr): Return a use_operand_p. | |
29222 | (get_use_from_ptr, get_def_from_ptr): New. Return operand pointers. | |
29223 | (get_def_op_ptr): Return a def_operand_p instead of a 'tree *'. | |
29224 | (get_v_may_def_result_ptr): Return a def_operand_p. | |
29225 | (get_v_may_def_op_ptr, get_vuse_op_ptr): Return a use_operand_p. | |
29226 | (get_v_must_def_op_ptr): Return a def_operand_p. | |
29227 | (get_phi_result_ptr): New. Return a pointer to the result of a PHI. | |
29228 | (get_phi_arg_def_ptr): New. Return a pointer to an argument of a PHI. | |
29229 | (phi_element_for_edge): Remove. | |
29230 | * tree-flow.h (propagate_value, replace_exp): Change prototype. | |
29231 | (propagate_tree_value): Add new prototype. | |
29232 | (phi_element_for_edge): Remove prototype. | |
29233 | * tree-into-ssa.c (mark_def_sites): Use new operand types. | |
29234 | (prepare_operand_for_rename): Split into two functions. | |
29235 | (prepare_use_operand_for_rename): Prepare use operands. | |
29236 | (prepare_def_operand_for_rename): Prepare def operands. | |
29237 | (rewrite_stmt): Use new operand types. | |
29238 | (rewrite_operand): Use new operand types, change parameter type. | |
29239 | * tree-outof-ssa.c (replace_variable): Split into two functions. | |
29240 | (replace_use_variable): Rewrite uses. | |
29241 | (replace_def_variable): Rewrite defs. | |
29242 | (rewrite_trees, rewrite_vars_out_of_ssa): Use new operand types. | |
29243 | * tree-phinodes.c (make_phi_node, resize_phi_node): Use new types. | |
29244 | (add_phi_arg, remove_phi_arg_num): Use new operand types. | |
29245 | * tree-ssa-ccp.c (substitute_and_fold): Use new operand types. | |
29246 | (ccp_fold, replace_uses_in): Use new operand types. | |
29247 | * tree-ssa-copy.c (replace_ssa_names): Rename to replace_ssa_names_ann | |
3eb54e5f | 29248 | and no longer set the value, change parameter type. |
e8366202 MS |
29249 | (replace_exp_1): Use new operand types. |
29250 | (propagate_value): Change parameter type, use new operand types. | |
29251 | (propagate_tree_value): Propagate_value without SSA operands. | |
29252 | (replace_exp, cprop_operand, cprop_into_stmt): Use new operand types. | |
29253 | (cprop_into_successor_phis): Use new operand types. | |
29254 | * tree-ssa-dom.c (thread_across_edge): Use new operand types. | |
29255 | (eliminate_redundant_computations): Use new operand types. | |
29256 | * tree-ssa-dse.c (fix_phi_uses): Use new operand_types. | |
29257 | (fix_stmt_v_may_defs): Use new operand_types. | |
29258 | * tree-ssa-live.c (create_ssa_var_map): Use new operand_types. | |
29259 | (build_tree_conflict_graph): Use new operand_types. | |
29260 | * tree-ssa-loop.c (duplicate_blocks): Use PHI_ARG_DEF_FROM_EDGE. | |
29261 | * tree-ssa-operands.c (struct freelist_d): Remove. | |
29262 | (check_optype_freelist, add_optype_freelist): Remove. | |
3eb54e5f | 29263 | (allocate_def_optype, allocate_use_optype, allocate_v_may_def_optype, |
e8366202 | 29264 | allocate_vuse_optype, allocate_v_must_def_optype): Call ggc_alloc. |
3eb54e5f ILT |
29265 | (free_uses, free_defs, free_vuses, free_v_may_defs, free_v_must_defs): |
29266 | Call ggc_free instead of add_optype_freelist. | |
e8366202 MS |
29267 | (init_ssa_operands, fini_ssa_operands): Remove free list code. |
29268 | (finalize_ssa_defs, finalize_ssa_uses): Set new use/def operands. | |
29269 | * tree-ssa-operands.h (struct def_optype_d): Change underlying type. | |
29270 | (struct use_optype_d): Change underlying type. | |
29271 | (def_operand_p, use_operand_p): New types for pointers to operands. | |
3eb54e5f | 29272 | (USE_OP, DEF_OP, V_MAY_DEF_RESULT, V_MAY_DEF_OP, VUSE_OP, |
e8366202 MS |
29273 | V_MUST_DEF_OP): Use new pointer type instead of dereferencing directly. |
29274 | (USE_FROM_PTR, DEF_FROM_PTR): New macros to "dereference" operand | |
3eb54e5f | 29275 | pointer types. |
e8366202 | 29276 | (SET_USE, SET_DEF): New macros to set operands from their pointer. |
3eb54e5f ILT |
29277 | (SET_USE_OP, SET_DEF_OP, SET_V_MAY_DEF_RESULT, SET_V_MAY_DEF_OP, |
29278 | SET_VUSE_OP, SET_V_MUST_DEF_OP): New SET routines for operands. | |
e8366202 | 29279 | (PHI_RESULT_PTR, PHI_RESULT, SET_PHI_RESULT): Macros to manage the |
3eb54e5f ILT |
29280 | PHI result as an operand. |
29281 | (PHI_ARG_DEF_PTR, PHI_ARG_DEF, SET_PHI_ARG_DEF, PHI_ARG_DEF_FROM_EDGE, | |
e8366202 MS |
29282 | PHI_ARG_DEF_PTR_FROM_EDGE): Macros to manage the PHI arguments. |
29283 | * tree-ssa-pre.c (eliminate): Call propagate_tree_value. | |
29284 | * tree-tailcall.c (independent_of_stmt_p, propagate_through_phis): Use | |
3eb54e5f | 29285 | PHI_ARG_DEF_FROM_EDGE. |
e8366202 MS |
29286 | * tree.h (PHI_RESULT): Renamed to PHI_RESULT_TREE. |
29287 | (PHI_ARG_DEF): Renamed to PHI_ARG_DEF_TREE. | |
3eb54e5f ILT |
29288 | |
29289 | 2004-06-17 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> | |
29290 | ||
29291 | PR tree-optimization/15991 | |
29292 | * tree-cfg.c (tree_block_label): Export. | |
29293 | * tree-flow-inline.h (bsi_after_labels): New function. | |
29294 | * tree-flow.h (bsi_after_labels, tree_block_label): Declare. | |
29295 | * tree-ssa.c (propagate_into_addr): New function. | |
29296 | (replace_immediate_uses): Handle propagation of pointer constants. | |
29297 | (raise_value): Do not restrict propagation of pointer constants. | |
29298 | * tree-ssanames.c (duplicate_ssa_name): New function. | |
29299 | * tree.h (duplicate_ssa_name): Declare. | |
29300 | ||
29301 | 2004-06-17 David Ayers <d.ayers@inode.at> | |
29302 | ||
29303 | * c-parse.in: Unify Objective-C token names. | |
29304 | ||
29305 | 2004-06-17 Zack Weinberg <zack@codesourcery.com> | |
29306 | ||
29307 | Bug 14610 | |
29308 | * Makefile.in (min-insn-modes.o): Correct dependencies. | |
29309 | * real.c (encode_ieee_extended, decode_ieee_extended): Always | |
29310 | produce/consume 12-byte little-endian Intel format. | |
29311 | (encode_ieee_extended_128, decode_ieee_extended_128): Delete. | |
29312 | (encode_ieee_extended_motorola, decode_ieee_extended_motorola) | |
29313 | (encode_ieee_extended_intel_96, decode_ieee_extended_intel_96) | |
29314 | (encode_ieee_extended_intel_128, decode_ieee_extended_intel_128): | |
29315 | New functions which convert between 12-byte little-endian Intel | |
29316 | format and the desired format. | |
29317 | (ieee_extended_motorola_format, ieee_extended_intel_96_round_53_format) | |
29318 | (ieee_extended_intel_96_format, ieee_extended_intel_128_format): | |
29319 | Update. | |
29320 | ||
29321 | 2004-06-17 Zack Weinberg <zack@codesourcery.com> | |
29322 | ||
29323 | * expmed.c (expand_mult_const): In sanity check, compare only | |
29324 | the bits of val and val_so_far that are significant in the | |
29325 | result mode. | |
29326 | ||
29327 | 2004-06-17 Daniel Berlin <dberlin@dberlin.org> | |
29328 | ||
e8366202 | 29329 | * tree-ssa-pre.c: Update comments. |
3eb54e5f ILT |
29330 | (val_expr_pair_eq): Factor code from here. |
29331 | (expr_pred_trans_eq): and here. | |
29332 | (expressions_equal_p): To here. | |
29333 | (print_value_set): Print value for expression. | |
29334 | (phi_trans_lookup): Rename some variables. | |
29335 | (lookup): Ditto. | |
29336 | (value_exists_in_set_bitmap): Ditto. | |
29337 | (value_remove_from_set_bitmap): Ditto. | |
29338 | (value_insert_into_set_bitmap): Ditto. | |
29339 | ||
29340 | 2004-06-17 Ulrich Weigand <uweigand@de.ibm.com> | |
29341 | ||
29342 | * config/s390/s390-modes.def (CCL3mode): New machine mode. | |
29343 | * config/s390/s390.c (s390_match_ccmode_set): Support CCL3mode. | |
29344 | (s390_alc_comparison, s390_slb_comparison): Likewise. | |
29345 | (s390_branch_condition_mask): Likewise. | |
29346 | * config/s390/s390.md ("*subdi3_cc2", "*subdi3_cconly2"): New. | |
29347 | ("*subsi3_cc2", "*subsi3_cconly2"): New. | |
29348 | ||
29349 | * config/s390/s390.h (PREDICATE_CODE): Accept SIGN_EXTEND and | |
29350 | ZERO_EXTEND for s390_alc_comparison and s390_slb_comparison. | |
29351 | * config/s390/s390.c (s390_alc_comparison, s390_slb_comparison): | |
29352 | Handle SIGN_EXTEND and ZERO_EXTEND. | |
29353 | ||
29354 | * config/s390/s390-protos.h (s390_expand_addcc): New prototype. | |
29355 | * config/s390/s390.c (s390_expand_addcc): New function. | |
29356 | * config/s390/s390.md ("adddicc", "addsicc"): New expanders. | |
29357 | ("*sconddi", "*scondsi", "*sconddi_neg", "*scondsi_neg"): New insns. | |
29358 | ("sltu", "sgtu", "sleu", "sgeu"): New expanders. | |
29359 | ||
29360 | 2004-06-17 Ben Elliston <bje@au.ibm.com> | |
29361 | ||
29362 | * tree-alias-common.c: Add whitespace. | |
29363 | * tree-inline.c: Correct comment about this file's purpose. | |
29364 | * tree-optimize.c: Likewise. | |
29365 | * tree-tailcall.c: Likewise. | |
29366 | ||
29367 | * tree-alias-ander.h: Add standard top-of-file comment. | |
29368 | * tree-alias-common.h: Likewise. | |
29369 | * tree-alias-type.h: Likewise. | |
29370 | ||
29371 | 2004-06-16 Daniel Berlin <dberlin@dberlin.org> | |
29372 | ||
29373 | * tree-ssa-pre.c (compute_avail): Value number uses as well. | |
29374 | Strip useless type conversions. | |
29375 | Casts have to be treated slightly different than normal unaries. | |
29376 | ||
29377 | 2004-06-16 Richard Henderson <rth@redhat.com> | |
29378 | ||
29379 | * c-common.def (COMPOUND_STMT): Remove. | |
29380 | * c-common.c (finish_fname_decls): Don't look through it. | |
29381 | * c-typeck.c (c_tree_expr_nonnegative_p): Likewise. | |
29382 | * c-common.h (COMPOUND_BODY): Remove. | |
29383 | (c_common_stmt_codes): Remove COMPOUND_STMT. | |
29384 | * c-dump.c (c_dump_tree): Likewise. | |
29385 | * c-gimplify.c (c_gimplify_stmt): Likewise. | |
29386 | * c-pretty-print.c (pp_c_statement): Likewise. | |
29387 | * tree.h (DECL_SAVED_TREE): Update commentary. | |
29388 | * doc/c-tree.texi (ASM_EXPR): Rename from ASM_STMT. | |
29389 | (CASE_LABEL_EXPR): Rename from CASE_LABEL. | |
29390 | (GOTO_EXPR): Rename from GOTO_STMT. | |
29391 | (GOTO_FAKE_P): Remove. | |
29392 | (COMPOUND_STMT): Remove. | |
29393 | (HANDLER): Update wrt COMPOUND_STMT. | |
29394 | (STMT_EXPR): Likewise. | |
29395 | (LABEL_EXPR): Rename from LABEL_STMT. | |
29396 | (SCOPE_STMT): Remove. | |
29397 | * objc/objc-act.c (objc_build_try_catch_finally_stmt): Don't look | |
29398 | through COMPOUND_STMT. | |
29399 | ||
29400 | 2004-06-16 Richard Henderson <rth@redhat.com> | |
29401 | ||
29402 | * c-common.h (c_begin_if_stmt, c_begin_while_stmt, | |
29403 | c_finish_while_stmt_cond): Remove decls. | |
29404 | * c-parse.in (if_prefix): Don't save c_begin_if_stmt result. | |
29405 | * c-typeck.c (c_begin_if_stmt): Return void. | |
29406 | (c_begin_else): Tidy. Save stmt_count. | |
29407 | * c-tree.h (c_begin_if_stmt): Update decl. | |
29408 | ||
29409 | * objc/objc-act.c (objc_build_try_enter_fragment, | |
29410 | objc_build_extract_fragment, objc_build_try_epilogue, | |
29411 | objc_build_catch_stmt, objc_build_catch_epilogue, | |
29412 | objc_build_finally_prologue, objc_build_finally_epilogue): Update | |
29413 | for if builder function changes. | |
29414 | ||
29415 | 2004-06-16 Ulrich Weigand <uweigand@de.ibm.com> | |
29416 | ||
e8366202 | 29417 | * config/s390/s390.c (struct machine_function): New member |
3eb54e5f ILT |
29418 | last_restore_gpr. |
29419 | (s390_frame_info): Add BASE_USED and RETURN_ADDR_USED parameters. | |
29420 | Do not modify machine->save_return_addr_p or regs_ever_live. | |
29421 | Fill in machine->last_restore_gpr. | |
29422 | (s390_optimize_prolog): Use s390_frame_info to compute registers | |
29423 | to save/restore, remove duplicated code. | |
29424 | (s390_arg_frame_offset): Use s390_frame_info to compute frame | |
29425 | size, remove duplicated code. | |
29426 | (s390_emit_prologue): Adapt s390_frame_info call. Update | |
29427 | machine->save_return_addr_p and regs_ever_live. | |
29428 | (s390_emit_epilogue): Use machine->last_restore_gpr instead of | |
29429 | machine->last_save_gpr. | |
29430 | ||
29431 | 2004-06-16 Richard Henderson <rth@redhat.com> | |
29432 | ||
29433 | * c-parse.in (if_stmt_locus): Remove. | |
29434 | (if_prefix): Increment stmt_count; pass it to c_finish_if_cond. | |
29435 | (select_or_iter_stmt): Move empty if warnings to c-typeck.c. | |
29436 | * c-typeck.c (if_elt): Sort by expected size. Rename locus to | |
29437 | empty_locus. Add stmt_count, saw_else. | |
29438 | (c_begin_if_stmt): Push if_stack here. | |
29439 | (c_finish_if_cond): Rename from c_expand_end_cond. Record stmt_count. | |
29440 | (c_finish_then, c_finish_else): Record empty_locus. | |
29441 | (c_begin_else): Rename from c_expand_start_else. Record stmt_count. | |
29442 | (c_finish_if_stmt): Rename from c_expand_end_cond. Warn for empty | |
29443 | if or else body. | |
29444 | * c-tree.h: Update prototypes. | |
29445 | ||
29446 | 2004-06-16 Steven Bosscher <stevenb@suse.de> | |
29447 | ||
29448 | * tree.h (PHI_CHAIN): New. | |
29449 | * (tree-cfg.c, tree-dfa.c, tree-flow-inline.h, tree-into-ssa.c, | |
29450 | tree-outof-ssa.c, tree-phinodes.c, tree-pretty-print.c, | |
29451 | tree-ssa-alias.c, tree-ssa-ccp.c, tree-ssa-dom.c, tree-ssa-dse.c, | |
29452 | tree-ssa-live.c, tree-ssa-loop.c, tree-ssa-phiopt.c, tree-ssa-pre.c, | |
29453 | tree-ssa.c, tree-tailcall.c): Use PHI_CHAIN instead of TREE_CHAIN | |
29454 | when traversing a list of PHI_NODEs. | |
29455 | ||
29456 | 2004-06-16 Bernardo Innocenti <bernie@develer.com> | |
29457 | ||
29458 | PR target/13292 | |
29459 | * config/m68k/m68k.h (TARGET_SWITCHES): Don't remove MASK_68040_ONLY | |
29460 | on -msoft-float. | |
29461 | (TARGET_FLT_EVAL_METHOD): Don't advertise extended precision for | |
29462 | 68040 and soft-float. | |
29463 | * config/m68k/m68k.md (truncdfsf2): Explicitly require TARGET_68881 | |
29464 | in the TARGET_68040_ONLY case. | |
29465 | ||
29466 | 2004-06-16 Peter Barada <peter@the-baradas.com> | |
29467 | ||
29468 | * config/m68k/m68k.md (movsi_cfv4): New pattern to allow mov3q. | |
29469 | (movsi_cf): Make named, don't match TARGET_CFV4. | |
29470 | (pushexthisi_const): Use mov3q if possible. | |
29471 | (extendhisi2, cvf4_extendhisi2): Split extendhisi2 pattern | |
29472 | to special case mvz.w for ColdFire V4. | |
29473 | (extendqisi2, cvf4_extendqisi2): Split extendhisi2 pattern | |
29474 | to special case mvz.b for ColdFire V4. | |
29475 | (udivmodhi4, divmodhi4): Use mvz to zero extend arg for | |
29476 | divide. | |
29477 | (iorsi3, xorsi3, andsi3): Use bitfield instructions if possible. | |
e8366202 | 29478 | * config/m68k/m68k.c(valid_mov3q_const): New function. |
3eb54e5f ILT |
29479 | (const_method): SWAP is valid for ColdFire. |
29480 | (MULL_COST, MULW_COST): Fix costs for ColdFire V3/V4. | |
29481 | * config/m68k/m68k-protos.h (valid_mov3q_const): Prototype here. | |
29482 | ||
29483 | 2004-06-16 Richard Henderson <rth@redhat.com> | |
29484 | ||
29485 | * c-common.def (CASE_LABEL): Remove. | |
29486 | * c-common.c (c_add_case_label): Use CASE_LABEL, not CASE_LABEL_DECL. | |
29487 | (match_case_to_enum_1): Likewise. | |
29488 | * c-common.h (c_common_stmt_codes): Remove CASE_LABEL. | |
29489 | * c-dump.c (c_dump_tree): Likewise. | |
29490 | * c-gimplify.c (c_gimplify_stmt): Likewise. | |
29491 | * c-pretty-print.c (pp_c_statement): Likewise. | |
29492 | * c-semantics.c (build_case_label): Use CASE_LABEL_EXPR. | |
29493 | * tree.h (CASE_LOW): Update commentary. | |
29494 | ||
29495 | 2004-06-16 Richard Henderson <rth@redhat.com> | |
29496 | ||
29497 | * c-common.def (ASM_STMT): Remove. | |
29498 | * c-common.h (c_common_stmt_codes): Remove ASM_STMT. | |
29499 | * c-dump.c (c_dump_tree): Likewise. | |
29500 | * c-gimplify.c (c_gimplify_stmt): Likewise. | |
29501 | * c-pretty-print.c (pp_c_statement): Likewise. | |
29502 | * c-typeck.c (build_asm_expr): Use ASM_EXPR. | |
29503 | * tree.h: Fix commentary. | |
29504 | ||
29505 | 2004-06-16 Richard Henderson <rth@redhat.com> | |
29506 | ||
29507 | * c-common.def (GOTO_STMT, LABEL_STMT): Remove. | |
29508 | * c-common.c (c_add_case_label): Use LABEL_EXPR. | |
29509 | * c-common.h (GOTO_FAKE_P, LABEL_STMT_LABEL): Remove. | |
29510 | (c_common_stmt_codes): Remove GOTO_STMT, LABEL_STMT. | |
29511 | * c-dump.c (c_dump_tree): Likewise. | |
29512 | * c-gimplify.c (c_gimplify_stmt): Likewise. | |
29513 | * c-pretty-print.c (pp_c_statement): Likewise. | |
29514 | * c-parse.in (stmt): Use GOTO_EXPR. | |
29515 | (label): Use LABEL_EXPR. | |
29516 | * c-semantics.c (build_stmt): Set TREE_TYPE to void. | |
29517 | * tree-inline.c (copy_body_r): Don't build empty BLOCKs. | |
29518 | ||
29519 | 2004-06-16 J"orn Rennecke <joern.rennecke@superh.com> | |
29520 | ||
29521 | * cfgcleanup.c (try_simplify_condjump): Update test to make | |
29522 | sure we have a conditional branch around am unconditional branch. | |
29523 | ||
29524 | 2004-06-16 Daniel Berlin <dberlin@dberlin.org> | |
29525 | ||
29526 | * tree-cfg.c (pass_split_crit_edge): Give it a name and a dump file. | |
29527 | ||
29528 | 2004-06-16 Dale Johannesen <dalej@apple.com> | |
29529 | ||
29530 | * loop.c (loop_givs_reduce): Avoid miscompilation of | |
29531 | loops entered at bottom. | |
29532 | ||
29533 | 2004-06-16 J"orn Rennecke <joern.rennecke@superh.com> | |
29534 | ||
29535 | * cfglayout.c (fixup_reorder_chain): Handle case where the | |
29536 | destination of E_FALL is EXIT_BLOCK_PTR. | |
29537 | ||
29538 | 2004-06-16 Vladimir Makarov <vmakarov@redhat.com> | |
29539 | ||
29540 | PR target/15653 | |
29541 | * config/ia64/ia64.c (ia64_dfa_new_cycle): Do not insert nops | |
29542 | after shifts before asm. | |
29543 | ||
29544 | 2004-06-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> | |
29545 | ||
29546 | PR tree-optimization/15993 | |
29547 | * tree-ssa-dom.c (thread_across_edge): Do not thread edge if its | |
29548 | destination is unchanged. | |
29549 | ||
29550 | 2004-06-16 Andreas Jaeger <aj@suse.de> | |
29551 | ||
29552 | * doc/install.texi (Configuration): Update description for | |
29553 | --enable-version-specific-runtime-libs. | |
29554 | ||
29555 | 2004-06-16 Paolo Bonzini <bonzini@gnu.org> | |
29556 | ||
29557 | * doc/install.texi: boehm-gc now uses automake 1.8.5. | |
29558 | ||
29559 | 2004-06-16 Paolo Bonzini <bonzini@gnu.org> | |
29560 | ||
29561 | * toplev.h (rest_of_compilation): Adjust prototype. | |
29562 | ||
29563 | 2004-06-16 Paolo Bonzini <bonzini@gnu.org> | |
29564 | ||
29565 | * coverage.c: Remove argument to rest_of_compilation. | |
29566 | * expr.c (execute_expand, set_save_expr_context, pass_expand): New. | |
29567 | * passes.c (rest_of_compilation): Remove argument. | |
29568 | (pass_rest_of_compilation): New. | |
29569 | (rest_of_handle_final, rest_of_handle_delay_slots, | |
29570 | rest_of_handle_stack_regs, rest_of_handle_variable_tracking | |
29571 | rest_of_handle_machine_reorg, rest_of_handle_regrename | |
29572 | rest_of_handle_sched, rest_of_handle_sched2, rest_of_handle_gcse2 | |
29573 | rest_of_handle_regmove, rest_of_handle_tracer | |
29574 | rest_of_handle_if_conversion, rest_of_handle_if_after_combine | |
29575 | rest_of_handle_web, rest_of_handle_branch_prob | |
29576 | rest_of_handle_value_profile_transformations, rest_of_handle_cfg | |
29577 | rest_of_handle_addressof, rest_of_handle_jump_bypass | |
29578 | rest_of_handle_life, rest_of_handle_cse, rest_of_handle_cse2): | |
29579 | Check that the two arguments are actually superfluous. | |
29580 | * tree-optimize.c (register_dump_files): Add properties argument. | |
29581 | Track validity of passes. Only initialize dump files for | |
29582 | tree-based passes. Store the full set of provided passes in | |
29583 | the pass. | |
29584 | (init_tree_optimization_passes): Register pass_expand and | |
29585 | pass_rest_of_compilation. | |
29586 | (execute_one_pass): Do not track the presence of required properties | |
29587 | here. Set in_gimple_form. Do not update current_properties. | |
29588 | (current_properties): Remove. | |
29589 | (set_save_expr_context): Remove. | |
29590 | (tree_rest_of_compilation): Do not set in_gimple_form. Do not | |
29591 | expand to RTL here, and do not call rest_of_compilation. Push | |
29592 | GGC context even before gimplification. | |
29593 | * tree-pass.h (PROP_rtl, PROP_trees): New flags. | |
29594 | (pass_expand, pass_rest_of_compilation): Declare. | |
29595 | ||
29596 | 2004-06-15 Jeff Law <law@redhat.com> | |
29597 | ||
29598 | * fold-const.c (swap_tree_comparison): No longer static. | |
29599 | (tree_swap_operands_p): Similarly. Return true if both operands | |
29600 | are SSA_NAMEs and the first operand has a higher version number than | |
29601 | the second operand. | |
29602 | * tree.h (swap_tree_comparison): Prototype. | |
29603 | (tree_swap_operands_p): Prototype. | |
29604 | * tree-ssa-operands.c (get_expr_operands): For commutative | |
29605 | operators and relational comparisons, canonicalize the | |
29606 | order of the operands. | |
29607 | ||
29608 | 2004-06-15 Richard Henderson <rth@redhat.com> | |
29609 | ||
29610 | * c-common.c (lang_gimplify_stmt): Remove next_p argument. | |
29611 | (if_elt, if_stack, if_stack_space, c_expand_start_cond, c_finish_then, | |
29612 | c_expand_end_cond, c_expand_start_else, c_finish_else, c_begin_if_stmt, | |
29613 | c_begin_while_stmt, c_finish_while_stmt_cond): Move to c-typeck.c. | |
29614 | (finish_fname_decls, fname_decl): Use statement_lists. | |
29615 | (c_expand_expr_stmt): Don't set last_expr_type. | |
29616 | (c_type_hash): Fix indentation. | |
29617 | (c_safe_from_p): Don't follow TREE_CHAIN. | |
29618 | (c_tree_chain_matters_p): Remove. | |
29619 | * c-common.def (SCOPE_STMT): Remove. | |
29620 | (CLEANUP_STMT): Redefine to contain its own body. | |
29621 | * c-common.h (struct stmt_tree_s): Remove x_last_stmt, | |
29622 | x_last_expr_type, x_last_expr_filename, x_scope_stmt_stack. | |
29623 | Add x_cur_stmt_list. | |
29624 | (last_tree, last_expr_type, last_expr_filename, RECHAIN_STMTS): Remove. | |
29625 | (cur_stmt_list): New. | |
29626 | (STATEMENT_LIST_STMT_EXPR): New. | |
29627 | (SCOPE_BEGIN_P, SCOPE_END_P, SCOPE_STMT_BLOCK, SCOPE_NULLIFIED_P, | |
29628 | SCOPE_NO_CLEANUPS_P, SCOPE_PARTIAL_P, NEW_FOR_SCOPE_P): Remove. | |
29629 | (CLEANUP_BODY): New. | |
29630 | (CLEANUP_DECL): Move to operand 2. | |
29631 | (c_common_stmt_codes): Remove SCOPE_STMT. | |
29632 | (COMPOUND_STMT_NO_SCOPE, COMPOUND_STMT_BODY_BLOCK): Remove. | |
29633 | * c-decl.c (c_scope_stmt_stack, current_scope_stmt_stack): Remove. | |
29634 | (c_push_function_context, c_pop_function_context): Don't save it. | |
29635 | (finish_decl): Set TREE_USED on the decl for a cleanup. | |
29636 | Use push_cleanup. | |
29637 | (store_parm_decls): Use statement lists. | |
29638 | (finish_function): Remove compstmt rule workaround. Use statement | |
29639 | lists. Call finish_fname_decls after finalizing the body. | |
29640 | (c_begin_compound_stmt): Move to c-typeck.c. | |
29641 | * c-dump.c (c_dump_tree): Remove SCOPE_STMT. | |
29642 | * c-gimplify.c (gimplify_cleanup_stmt, gimplify_cleanup_stmts): New. | |
29643 | (c_genericize): Invoke them. | |
29644 | (c_gimplify_stmt): Don't look through TREE_CHAIN. Kill SCOPE_STMT. | |
29645 | (c_build_bind_expr): Export. | |
29646 | (gimplify_block, gimplify_cleanup): Remove. | |
29647 | (gimplify_condition): Use gimplify_stmt. | |
29648 | (gimplify_for_stmt): Remove FOR_INIT_STMT chaining hack. | |
29649 | (gimplify_if_stmt): Remove recursion hack. | |
29650 | (c_gimplify_expr): Remove STMT_EXPR handling. | |
29651 | (stmt_expr_last_stmt, gimplify_stmt_expr): Remove. | |
29652 | (is_last_stmt_of_scope): Remove. | |
29653 | * c-lang.c (LANG_HOOKS_TREE_INLINING_TREE_CHAIN_MATTERS_P): Remove. | |
29654 | * c-mudflap.c (mflang_flush_calls): Use c_begin_compound_stmt, | |
29655 | c_end_compound_stmt. | |
29656 | * c-objc-common.c (build_cdtor): Likewise. | |
29657 | * c-parse.in (primary): Use c_finish_stmt_expr. | |
29658 | (push_scope, pop_scope): Remove. | |
29659 | (c99_block_start, compstmt_start): Use c_begin_compound_stmt. | |
29660 | (c99_block_end, compstmt): Use c_end_compound_stmt. | |
29661 | (c99_block_lineno_labeled_stmt): Likewise. | |
29662 | (compstmt_primary_start): Use c_begin_stmt_expr. | |
29663 | (simple_if, select_or_iter_stmt): Update calls to stmt builders. | |
29664 | (do_stmt_start): Fill in body directly. | |
29665 | (lineno_stmt): Avoid setting lineno on constants. | |
29666 | * c-pretty-print.c (pp_c_statement): Handle STATEMENT_LIST. | |
29667 | Remove SCOPE_STMT. | |
29668 | * c-semantics.c (begin_stmt_tree): Remove. | |
29669 | (push_stmt_list, re_push_stmt_list, pop_stmt_list): New. | |
29670 | (add_stmt): Use statement lists. | |
29671 | (add_scope_stmt, finish_stmt_tree): Remove. | |
29672 | (push_cleanup): New. | |
29673 | * c-tree.h: Move some decls from c-common.h. | |
29674 | * c-typeck.c (c_tree_expr_nonnegative_p): Simplify for statement lists. | |
29675 | (do_case, c_finish_case): Likewise. | |
29676 | (c_finish_then): Take body for then as argument. | |
29677 | (c_finish_else): Similarly. | |
29678 | (c_begin_for_stmt, c_finish_for_stmt_init, c_finish_for_stmt_cond, | |
29679 | c_finish_for_stmt_incr, c_finish_for_stmt): New. | |
29680 | (c_begin_stmt_expr, c_finish_stmt_expr): New. | |
29681 | (c_begin_compound_stmt): Do scope management. | |
29682 | (c_end_compound_stmt): New. | |
29683 | * fold-const.c (tree_expr_nonnegative_p): Fix BIND_EXPR. | |
29684 | * gimplify.c (voidify_wrapper_expr): Accept temporary argument. | |
29685 | Look through exception handling constructs. | |
29686 | (gimplify_bind_expr): Accept temporary argument. | |
29687 | (gimplify_target_expr): Special case BIND_EXPR bodies. | |
29688 | (gimplify_expr): Handle fallback == fb_none like a statement. | |
29689 | * langhooks-def.h (LANG_HOOKS_TREE_INLINING_TREE_CHAIN_MATTERS_P): Kill. | |
29690 | * langhooks.c (lhd_tree_inlining_tree_chain_matters_p): Remove. | |
29691 | * langhooks.h (tree_chain_matters_p): Remove. | |
29692 | * stub-objc.c (objc_clear_super_receiver): New. | |
29693 | * tree-gimple.h (voidify_wrapper_expr): Update decl. | |
29694 | (append_to_statement_list, append_to_statement_list_force): Move | |
29695 | to tree-iterator.h. | |
29696 | * tree-inline.c (expand_call_inline): Update call. | |
29697 | (clone_body): Use statement lists. | |
29698 | (walk_tree): Don't check tree_chain_matters_p. | |
29699 | (copy_tree_r): Likewise. | |
29700 | * tree-iterator.c (alloc_stmt_list): Clear lang bits. | |
29701 | (tsi_link_before, tsi_link_after): Set TREE_SIDE_EFFECTS properly. | |
29702 | * tree-iterator.h (append_to_statement_list, | |
29703 | append_to_statement_list_force): Moved from tree-gimple.h. | |
29704 | * tree-pretty-print.c (dump_generic_node): Clean up TARGET_EXPR dump. | |
29705 | * objc/objc-act.c (build_module_descriptor): Use c_begin_compound_stmt. | |
29706 | (objc_enter_block): Likewise. | |
29707 | (objc_exit_block): Use c_end_compound_stmt. | |
29708 | (objc_build_try_enter_fragment): Add #error and comment for | |
29709 | rewriting for OBJCPLUS. | |
29710 | (objc_build_extract_fragment, objc_build_try_epilogue, | |
29711 | objc_build_catch_stmt, objc_build_finally_prologue, | |
29712 | objc_build_finally_epilogue): Update for C statement builders. | |
29713 | * objc/objc-lang.c (LANG_HOOKS_TREE_INLINING_TREE_CHAIN_MATTERS_P): | |
29714 | Remove. | |
29715 | ||
29716 | 2004-06-15 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> | |
29717 | ||
29718 | * df.c (df_reg_clobber_gen): Removed. | |
29719 | (df_bb_rd_local_compute, df_insn_refs_record, df_rd_local_compute): | |
29720 | Make more effective for hard regs. | |
29721 | * ra-build.c (livethrough_conflicts_bb): Check contains_call. | |
29722 | ||
29723 | 2004-06-15 Alexandre Oliva <aoliva@redhat.com> | |
29724 | ||
29725 | * c-pragma.h (c_lex_string_translate): Change type to int. | |
29726 | * c-parse.in: Change all assignments of c_lex_string_translate | |
29727 | to true and false to 1 and 0. | |
29728 | * c-lex.c (c_lex_string_translate): Likewise. | |
29729 | (lex_string): Convert string without translation in the -1 | |
29730 | case. | |
29731 | ||
29732 | 2004-06-15 Mark G. Adams <mark.g.adams@sympatico.ca> | |
29733 | ||
29734 | * convert.h: Add include guards | |
29735 | ||
29736 | 2004-06-15 Daniel Berlin <dberlin@dberlin.org> | |
29737 | ||
29738 | * tree-flow-inline.h: Document all functions. | |
29739 | ||
29740 | 2004-06-15 Daniel Berlin <dberlin@dberlin.org> | |
29741 | ||
29742 | * tree-flow-inline.h (stmt_ann): Remove use of is_essa_node. | |
29743 | * tree-dfa.c (create_stmt_ann): Ditto. | |
29744 | * tree-pretty-print.c (dump_generic_node): Remove E* node handling. | |
29745 | * tree-inline.c (estimate_num_insns_1): Ditto. | |
29746 | * tree.c (tree_size): Ditto. | |
29747 | (make_node_stat): Ditto. | |
29748 | (tree_node_structure): Ditto. | |
29749 | (ephi_node_elt_check_failed): Remove. | |
29750 | (is_essa_node): Ditto. | |
29751 | * tree.def (EPHI_NODE): Ditto. | |
29752 | (EEXIT_NODE): Ditto. | |
29753 | (EUSE_NODE): Ditto. | |
29754 | (EKILL_NODE): Ditto. | |
29755 | * tree.h (EREF_NODE_CHECK): Remove. | |
29756 | (EPHI_NODE_ELT_CHECK): Ditto. | |
29757 | (struct tree_eref_common): Ditto. | |
29758 | (struct tree_euse_node): Ditto. | |
29759 | (struct ephi_arg_d): Ditto. | |
29760 | (struct tree_ephi_node): Ditto. | |
29761 | (ephi_node_elt_check_failed): Remove prototype. | |
29762 | (is_essa_node): Ditto. | |
29763 | (enum tree_node_structure_enum): Remove TS_E*_NODE. | |
29764 | (union tree_node): Remove E*_NODE uses. | |
29765 | ||
29766 | 2004-06-15 Jerry Quinn <jlquinn@optonline.net> | |
29767 | ||
29768 | * alias.c (record_set, record_base_value, canon_rtx, get_addr, | |
29769 | nonlocal_mentioned_p_1, init_alias_analysis): Use REG_P. | |
29770 | * bt-load.c (find_btr_reference, insn_sets_btr_p, note_btr_set): | |
29771 | Likewise. | |
29772 | * builtins.c (expand_builtin_setjmp, expand_builtin_apply, | |
29773 | expand_builtin_mathfn, expand_builtin_strlen, expand_builtin_memcmp, | |
29774 | expand_builtin_strcmp, expand_builtin_strncmp, | |
29775 | expand_builtin_frame_address): Likewise. | |
29776 | * caller-save.c (mark_set_regs, add_stored_regs, mark_referenced_regs, | |
29777 | insert_one_insn): Likewise. | |
29778 | * calls.c (prepare_call_address, precompute_register_parameters, | |
29779 | precompute_arguments, expand_call, emit_library_call_value_1): Likewise. | |
29780 | * cfganal.c (flow_active_insn_p): Likewise. | |
29781 | * combine.c (set_nonzero_bits_and_sign_copies, can_combine_p, | |
29782 | combinable_i3pat, try_combine, find_split_point, COMBINE_RTX_EQUAL_P, | |
29783 | subst, combine_simplify_rtx, simplify_if_then_else, simplify_set, | |
29784 | make_extraction, recog_for_combine, gen_lowpart_for_combine, | |
29785 | simplify_comparison, record_dead_and_set_regs_1, | |
29786 | record_dead_and_set_regs, record_promoted_value, | |
29787 | check_promoted_subreg, get_last_value_validate, get_last_value, | |
29788 | reg_dead_at_p_1, reg_bitfield_target_p, distribute_notes, | |
29789 | unmentioned_reg_p_1): Likewise. | |
29790 | * conflict.c (mark_reg): Likewise. | |
29791 | * cse.c (HASH, COST, COST_IN, approx_reg_cost_1, notreg_cost, | |
29792 | mention_regs, insert_regs, lookup, lookup_for_remove, insert, | |
29793 | merge_equiv_classes, flush_hash_table, invalidate, | |
29794 | remove_invalid_refs, remove_invalid_subreg_refs, rehash_using_reg, | |
29795 | invalidate_for_call, use_related_value, canon_hash, exp_equiv_p, | |
29796 | cse_rtx_varies_p, canon_reg, find_best_addr, fold_rtx, equiv_constant, | |
29797 | record_jump_cond, cse_insn, addr_affects_sp_p, | |
29798 | invalidate_from_clobbers, cse_process_notes, cse_around_loop, | |
29799 | cse_set_around_loop, count_reg_usage, set_live_p, cse_change_cc_mode, | |
29800 | cse_cc_succs, cse_condition_code_reg): Likewise. | |
29801 | * cselib.c (cselib_reg_set_mode, rtx_equal_for_cselib_p, | |
29802 | cselib_lookup, cselib_invalidate_regno, cselib_invalidate_rtx, | |
29803 | cselib_record_set, cselib_record_sets): Likewise. | |
29804 | * dbxout.c (dbxout_symbol_location, dbxout_parms, dbxout_reg_parms, | |
29805 | dbxout_block): Likewise. | |
29806 | * df.c (df_ref_record, df_def_record_1, df_uses_record): Likewise. | |
29807 | * dojump.c (do_jump): Likewise. | |
29808 | * dwarf2out.c (dwarf2out_frame_debug_expr, is_pseudo_reg, | |
29809 | is_based_loc, rtl_for_decl_location): Likewise. | |
29810 | * emit-rtl.c (set_reg_attrs_for_parm, set_decl_rtl, | |
29811 | set_decl_incoming_rtl, mark_user_reg): Likewise. | |
29812 | * explow.c (copy_all_regs, copy_all_regs, memory_address, force_reg, | |
29813 | copy_to_suggested_reg, allocate_dynamic_stack_space, | |
29814 | probe_stack_range, hard_function_value): Likewise. | |
29815 | * expmed.c (store_bit_field, store_fixed_bit_field, | |
29816 | store_split_bit_field, extract_bit_field, extract_fixed_bit_field, | |
29817 | extract_split_bit_field, expand_divmod, emit_store_flag_force): | |
29818 | Likewise. | |
29819 | * expr.c (convert_move, convert_modes, | |
29820 | block_move_libcall_safe_for_call_parm, emit_group_load, use_reg, | |
29821 | use_group_regs, emit_move_insn, emit_move_insn_1, | |
29822 | compress_float_constant, push_block, emit_single_push_insn, | |
29823 | emit_push_insn, get_subtarget, expand_assignment, store_expr, | |
29824 | store_constructor, store_field, force_operand, safe_from_p, | |
29825 | expand_expr_real_1, expand_increment, do_store_flag, do_tablejump): | |
29826 | Likewise. | |
29827 | * final.c (profile_function, final_scan_insn, alter_subreg, | |
29828 | get_mem_expr_from_op, output_asm_operand_names, output_operand, | |
29829 | only_leaf_regs_used, leaf_renumber_regs_insn): Likewise. | |
29830 | * flow.c (verify_wide_reg_1, mark_regs_live_at_end, | |
29831 | find_regno_partial, propagate_one_insn, init_propagate_block_info, | |
29832 | insn_dead_p, libcall_dead_p, mark_set_1, not_reg_cond, | |
29833 | attempt_auto_inc, find_auto_inc, mark_used_regs, | |
29834 | count_or_remove_death_notes_bb): Likewise. | |
29835 | * function.c (find_temp_slot_from_address, update_temp_slot_address, | |
29836 | preserve_temp_slots, put_var_into_stack, fixup_var_refs_insn, | |
29837 | fixup_var_refs_1, fixup_stack_1, optimize_bit_field, flush_addressof, | |
29838 | put_addressof_into_stack, purge_addressof_1, insns_for_mem_walk, | |
29839 | purge_single_hard_subreg_set, instantiate_decl, | |
29840 | instantiate_virtual_regs_1, aggregate_value_p, assign_parms, | |
29841 | promoted_input_arg, setjmp_vars_warning, setjmp_args_warning, | |
29842 | setjmp_protect, setjmp_protect_args, fix_lexical_addr, | |
29843 | expand_function_start, diddle_return_value, clobber_return_register, | |
29844 | expand_function_end, keep_stack_depressed, handle_epilogue_set, | |
29845 | update_epilogue_consts): Likewise. | |
29846 | * genemit.c (gen_exp, gen_insn): Likewise. | |
29847 | * genrecog.c (make_insn_sequence): Likewise. | |
29848 | * global.c (global_conflicts, expand_preferences, mark_reg_store, | |
29849 | mark_reg_conflicts, set_preference, reg_becomes_live, | |
29850 | build_insn_chain, mark_reg_change): Likewise. | |
29851 | * haifa_sched.c (CONST_BASED_ADDRESS_P, find_set_reg_weight): | |
29852 | Likewise. | |
29853 | * ifcvt.c (noce_try_abs, noce_get_condition, noce_process_if_block): | |
29854 | Likewise. | |
29855 | * integrate.c (copy_rtx_and_substitute, try_constants, | |
29856 | subst_constants, mark_stores, allocate_initial_values): Likewise. | |
29857 | * jump.c (reversed_comparison_code_parts, delete_prior_computation, | |
29858 | delete_computation, rtx_renumbered_equal_p, true_regnum, | |
29859 | reg_or_subregno): Likewise. | |
29860 | * lcm.c (reg_dies, reg_becomes_live): Likewise. | |
29861 | * local-alloc.c (validate_equiv_mem_from_store, validate_equiv_mem, | |
29862 | update_equiv_regs, no_equiv, block_alloc, combine_regs, reg_is_set, | |
29863 | wipe_dead_reg, no_conflict_p): Likewise. | |
29864 | * loop-iv.c (simple_reg_p, simple_set_p, kill_sets, | |
29865 | iv_get_reaching_def, iv_analyze_biv, altered_reg_used, mark_altered, | |
29866 | simple_rhs_p, simplify_using_assignment, implies_p): Likewise. | |
29867 | * loop.c (scan_loop, combine_movables, rtx_equal_for_loop_p, | |
29868 | move_movables, note_set_pseudo_multiple_uses, consec_sets_invariant_p, | |
29869 | find_single_use_in_loop, count_one_set, loop_bivs_init_find, | |
29870 | loop_givs_rescan, check_insn_for_bivs, check_insn_for_givs, | |
29871 | valid_initial_value_p, simplify_giv_expr, consec_sets_giv, | |
29872 | loop_regs_update, check_dbra_loop, maybe_eliminate_biv, | |
29873 | maybe_eliminate_biv_1, record_initial, update_reg_last_use, | |
29874 | canonicalize_condition, loop_regs_scan, load_mems, try_copy_prop, | |
29875 | try_swap_copy_prop): Likewise. | |
29876 | * optabs.c (expand_binop, expand_vector_binop, expand_vector_unop, | |
29877 | expand_abs, emit_no_conflict_block, emit_libcall_block, expand_float): | |
29878 | Likewise. | |
29879 | * postreload.c (reload_cse_simplify, reload_cse_simplify_set, | |
29880 | reload_cse_simplify_operands, reload_combine, | |
29881 | reload_combine_note_store, reload_combine_note_use, | |
29882 | reload_cse_move2add, move2add_note_store): Likewise. | |
29883 | * print-rtl.c (print_rtx): Likewise. | |
29884 | * ra-build.c (copy_insn_p, remember_move, init_one_web_common, | |
29885 | contains_pseudo, handle_asm_insn): Likewise. | |
29886 | * ra-debug.c (ra_print_rtx_object, dump_constraints, | |
29887 | dump_static_insn_cost): Likewise. | |
29888 | * ra-rewrite.c (slots_overlap_p, emit_colors, | |
29889 | remove_suspicious_death_notes): Likewise. | |
29890 | * recog.c (validate_replace_rtx_1, find_single_use_1, find_single_use, | |
29891 | register_operand, scratch_operand, nonmemory_operand, | |
29892 | constrain_operands): Likewise. | |
29893 | * reg-stack (check_asm_stack_operands, remove_regno_note, | |
29894 | emit_swap_insn, swap_rtx_condition, subst_stack_regs_pat, | |
29895 | subst_asm_stack_regs): Likewise. | |
29896 | * regclass.c (scan_one_insn, record_reg_classes, copy_cost, | |
29897 | record_address_regs, reg_scan_mark_refs): Likewise. | |
29898 | * regmove.c (discover_flags_reg, replacement_quality, | |
29899 | copy_src_to_dest, reg_is_remote_constant_p, regmove_optimize, | |
29900 | fixup_match_1): Likewise. | |
29901 | * regrename.c (note_sets, clear_dead_regs, build_def_use, kill_value, | |
29902 | kill_set_value, copyprop_hardreg_forward_1): Likewise. | |
29903 | * reload.c (MATCHES, push_secondary_reload, find_reusable_reload, | |
29904 | reload_inner_reg_of_subreg, can_reload_into, push_reload, | |
29905 | combine_reloads, find_dummy_reload, hard_reg_set_here_p, | |
29906 | operands_match_p, decompose, find_reloads, find_reloads_toplev, | |
29907 | find_reloads_address, subst_indexed_address, find_reloads_address_1, | |
29908 | find_reloads_subreg_address, find_replacement, | |
29909 | refers_to_regno_for_reload_p, reg_overlap_mentioned_for_reload_p, | |
29910 | refers_to_mem_for_reload_p, find_equiv_reg, regno_clobbered_p): Likewise. | |
29911 | * reload1.c (replace_pseudos_in, reload, calculate_needs_all_insns, | |
29912 | find_reg, delete_dead_insn, alter_reg, eliminate_regs, | |
29913 | elimination_effects, eliminate_regs_in_insn, scan_paradoxical_subregs, | |
29914 | forget_old_reloads_1, reload_reg_free_for_value_p, choose_reload_regs, | |
29915 | emit_input_reload_insns, emit_output_reload_insns, do_input_reload, | |
29916 | do_output_reload, emit_reload_insns, gen_reload, | |
29917 | delete_address_reloads_1, inc_for_reload): Likewise. | |
29918 | * reorg.c (update_reg_dead_notes, fix_reg_dead_note, | |
29919 | update_reg_unused_notes, fill_slots_from_thread): Likewise. | |
29920 | * resource.c (update_live_status, mark_referenced_resources, | |
29921 | mark_set_resources, mark_target_live_regs): Likewise. | |
29922 | * rtlanal.c (nonzero_address_p, get_jump_table_offset, | |
29923 | global_reg_mentioned_p_1, reg_mentioned_p, reg_referenced_p, | |
29924 | reg_set_p, set_noop_p, find_last_value, refers_to_regno_p, | |
29925 | note_stores, dead_or_set_p, dead_or_set_regno_p, find_regno_note, | |
29926 | find_reg_fusage, find_regno_fusage, replace_regs, regno_use_in, | |
29927 | parms_set, find_first_parameter_load, keep_with_call_p, | |
29928 | hoist_test_store, hoist_update_store, address_cost, nonzero_bits1, | |
29929 | num_sign_bit_copies1): Likewise. | |
29930 | * rtlhooks.c (gen_lowpart_general): Likewise. | |
29931 | * sched-deps.c (deps_may_trap_p, sched_analyze_1, sched_analyze_insn, | |
29932 | sched_analyze): Likewise. | |
29933 | * sched-rgn.c (check_live_1, update_live_1, sets_likely_spilled_1): | |
29934 | Likewise. | |
29935 | * sdbout.c (sdbout_symbol, sdbout_parms, sdbout_reg_parms): Likewise. | |
29936 | * simplify-rtx.c (simplify_replace_rtx, simplify_unary_operation, | |
29937 | simplify_binary_operation, simplify_const_relational_operation, | |
29938 | simplify_subreg): Likewise. | |
29939 | * stmt.c (decl_conflicts_with_clobbers_p, expand_asm_operands, | |
29940 | expand_end_stmt_expr, expand_return, expand_decl, | |
29941 | expand_anon_union_decl): Likewise. | |
29942 | * unroll.c (precondition_loop_p, calculate_giv_inc, copy_loop_body, | |
29943 | find_splittable_regs, find_splittable_givs, find_common_reg_term, | |
29944 | loop_iterations): Likewise. | |
29945 | * var-tracking.c (variable_union, variable_part_different_p, | |
29946 | variable_different_p, count_uses, add_uses, add_stores, | |
29947 | compute_bb_dataflow, set_variable_part, delete_variable_part, | |
29948 | emit_notes_in_bb, vt_get_decl_and_offset, vt_add_function_parameters): | |
29949 | Likewise. | |
29950 | * varasm.c (assemble_variable): Likewise. | |
29951 | ||
29952 | 2004-06-15 Chris Demetriou <cgd@broadcom.com> | |
29953 | ||
29954 | * config/mips/linux.h (ASM_PREFERRED_EH_DATA_FORMAT): Remove | |
29955 | definition. | |
29956 | * config/mips/linux64.h (ASM_PREFERRED_EH_DATA_FORMAT): Remove | |
29957 | #undef and #if 0'd definition. | |
29958 | ||
29959 | 2004-06-15 J"orn Rennecke <joern.rennecke@superh.com> | |
29960 | ||
29961 | * combine.c (distribute_notes): Comment typo fix. | |
29962 | ||
29963 | 2004-06-15 Roger Sayle <roger@eyesopen.com> | |
29964 | ||
29965 | * expmed.c (synth_mult): Mask bits of the multiplier to the | |
29966 | machine mode of the multiplication. Don't consider shifts | |
29967 | by more than (or equal to) the width of the operation's mode. | |
29968 | ||
29969 | 2004-06-15 Paolo Bonzini <bonzini@gnu.org> | |
29970 | ||
29971 | * doc/install.texi: Yet another update for autoconf | |
29972 | and automake versions. | |
29973 | ||
29974 | 2004-06-15 Paolo Bonzini <bonzini@gnu.org> | |
29975 | ||
29976 | * function.h (struct function): Remove cannot_inline field. | |
29977 | (current_function_cannot_inline): Remove. | |
29978 | * passes.c (rest_of_compilation): Reset DECL_DEFER_OUTPUT. | |
29979 | Simplify conditionals to ignore warn_return_type. | |
29980 | * tree-optimize.c (tree_rest_of_compilation): Do not reset | |
29981 | DECL_DEFER_OUTPUT. | |
29982 | * objc/objc-act.c (build_module_descriptor, finish_method_def): | |
29983 | Do not set current_function_cannot_inline. | |
29984 | ||
29985 | 2004-06-15 J"orn Rennecke <joern.rennecke@superh.com> | |
29986 | ||
29987 | * cfglayout.c (fixup_reorder_chain): Handle case where the | |
29988 | destination of E_TAKEN is EXIT_BLOCK_PTR. | |
29989 | ||
29990 | 2004-06-15 Diego Novillo <dnovillo@redhat.com> | |
29991 | ||
29992 | * tree-ssa-copy.c (cprop_into_successor_phis): Fix typo. | |
29993 | ||
29994 | 2004-06-15 Paolo Bonzini <bonzini@gnu.org> | |
29995 | ||
29996 | * fold-const.c (operand_equal_p): Update comment. | |
29997 | ||
29998 | 2004-06-15 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com> | |
29999 | ||
30000 | * config/m32r/m32r.h (RETURN_ADDR_RTX): Define. | |
30001 | (INCOMING_RETURN_ADDR_RTX): Define. | |
30002 | * config/m32r/m32r-protos.h (m32r_return_addr): Added. | |
30003 | * config/m32r/m32r.c (m32r_exppand_prologue): Changed for | |
30004 | __builtin_return_address(0). | |
30005 | (m32r_return_addr): Added for __builtin_return_address(0). | |
30006 | (m32r_reload_lr): Ditto. | |
30007 | ||
30008 | * longlong.h: Fix macros for m32r add_ssaaaa and sub_ddmmss. | |
30009 | ||
30010 | 2004-06-15 Paolo Bonzini <bonzini@gnu.org> | |
30011 | ||
30012 | * doc/install.texi (Prerequisites): Update libbanshee, | |
30013 | fastjar, libcpp, libjava/libltdl entries to | |
30014 | automake 1.8.5. | |
30015 | ||
30016 | 2004-06-15 Eric Botcazou <ebotcazou@act-europe.fr> | |
30017 | Olivier Hainque <hainque@act-europe.fr> | |
30018 | ||
30019 | * function.c (fixup_var_refs): Also adjust the start of sequence | |
30020 | after fixing up the insns. | |
30021 | ||
30022 | 2004-06-15 Giovanni Bajo <giovannibajo@gcc.gnu.org> | |
30023 | ||
30024 | * gccbug.in: Update optimization -> tree-optimization/rtl-optimization. | |
30025 | ||
30026 | 2004-06-14 Benjamin Kosnik <bkoz@redhat.com> | |
30027 | ||
30028 | * doc/install.texi (Prerequisites): Update libstdc++ entry to | |
30029 | automake 1.8.5. | |
30030 | ||
30031 | 2004-06-14 Eric Christopher <echristo@redhat.com> | |
30032 | ||
30033 | * config/s390/s390.h (TARGET_SWITCHES): Change -mtpf (-mno-tpf) | |
30034 | to -mtpf-trace (-mno-tpf-trace). | |
30035 | * doc/invoke.texi (S/390 and zSeries Options): Add tpf option | |
30036 | documentation. | |
30037 | ||
30038 | 2004-06-14 Eric Botcazou <ebotcazou@libertysurf.fr> | |
30039 | ||
30040 | * real.c: Fix bit count in head comment. | |
30041 | ||
30042 | 2004-06-14 Jeff Law <law@redhat.com> | |
30043 | ||
30044 | * tree-ssa.c (kill_redundant_phi_nodes): More correctly handle | |
30045 | PHIs where the destination or an argument is marked with | |
30046 | SSA_NAME_OCCURS_IN_ABNORMAL_PHI. | |
30047 | ||
30048 | 2004-06-14 Jakub Jelinek <jakub@redhat.com> | |
30049 | ||
30050 | PR middle-end/15945 | |
30051 | * simplify-rtx.c (simplify_binary_operation): Don't optimize out | |
30052 | Inf + -Inf, Inf - Inf, Inf / Inf and 0 * Inf if flag_trapping_math. | |
30053 | ||
30054 | 2004-06-14 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> | |
30055 | ||
30056 | * opts.sh (var_args): Fix regexp. | |
30057 | ||
30058 | 2004-06-14 Jakub Jelinek <jakub@redhat.com> | |
30059 | ||
30060 | PR target/15178 | |
30061 | * config/i386/sol2.h (ASM_OUTPUT_DEF_FROM_DECLS): Define. | |
30062 | ||
30063 | 2004-06-14 Paul Brook <paul@codesourcery.com> | |
30064 | ||
30065 | * dwarf2out.c (output_call_frame_info): Support dwarf3 cie entries. | |
30066 | ||
30067 | 2004-06-14 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> | |
30068 | ||
30069 | * Makefile.in (FLAGS_H): New. | |
30070 | (flags.h): Replace by FLAGS_H. | |
30071 | * c.opt: Document Var, VarExists, Init and Report attributes. | |
30072 | * common.opt: Fill the values of the attributes. | |
30073 | * diagnostic.c (flag_fatal_errors): Do not define. | |
30074 | * except.c (flag_non_call_exceptions): Do not define. | |
30075 | * flags.h: Include options.h. Remove declarations conflicting with | |
30076 | the automatically defined ones. | |
30077 | * opts.c: Remove automatically defined variables. | |
30078 | (handle_option): Perform default initialization. | |
30079 | (common_handle_option): Do not handle options covered by the | |
30080 | default initialization. | |
30081 | * opts.h (struct cl_option): Add flag_var, has_set_value and set_value | |
30082 | fields. | |
30083 | (CL_REPORT): New. | |
30084 | * opts.sh: Generate variable declarations, handle CL_REPORT. | |
30085 | * toplev.c: Remove automatically defined variables. | |
30086 | (f_options): Removed. | |
30087 | (print_switch_values): Use cl_options instead of f_options. | |
30088 | * toplev.h (version_flag): Declaration removed. | |
30089 | ||
30090 | 2004-06-14 Ian Lance Taylor <ian@wasabisystems.com> | |
30091 | ||
30092 | * config/sparc/sparc.h: Correct comment about availability of | |
30093 | little endian option. | |
30094 | ||
30095 | * config.gcc: Remove sparc64-*-aout*. | |
30096 | * config/sparc/sparc.c (sparc_aout_select_rtx_section): Remove. | |
30097 | * config/sparc/sp64-aout.h: Remove. | |
30098 | * config/sparc/aout.h: Remove. | |
30099 | ||
30100 | 2004-06-14 Ulrich Weigand <uweigand@de.ibm.com> | |
30101 | ||
30102 | * config/s390/s390.c: Include "tree-gimple.h". | |
30103 | (s390_gimplify_va_arg): New function. | |
30104 | (TARGET_GIMPLIFY_VA_ARG_EXPR): Define. | |
30105 | (s390_va_arg): Remove. | |
30106 | * config/s390/s390-protos.h (s390_va_arg): Remove. | |
30107 | * config/s390/s390.h (EXPAND_BUILTIN_VA_ARG): Call abort (). | |
30108 | ||
30109 | 2004-06-14 J"orn Rennecke <joern.rennecke@superh.com> | |
30110 | ||
30111 | * basic-block.h (could_fall_through): Declare. | |
30112 | * cfganal.c (can_fallthru): Succeed if the target is EXIT_BLOCK_PTR. | |
30113 | Fail if the source already has a fallthrough edge to the exit | |
30114 | block pointer. | |
30115 | (could_fall_through): New function. | |
30116 | * cfgbuild.c (make_edges): Check if we already have a fallthrough | |
30117 | edge to the exit block pointer. | |
30118 | * cfglayout.c (fixup_fallthru_exit_predecessor): Check that it is | |
30119 | not called before reload has completed. | |
30120 | Handle special case of first block having a fall-through exit edge. | |
30121 | (cfg_layout_finalize): Don't call it before reload or if we have | |
30122 | rtl epilogues. | |
30123 | (fixup_reorder_chain): A fall through to the exit block does not | |
30124 | require the block to come last. Add sanity checks. | |
30125 | * cfgrtl.c (rtl_split_edge): Add special handling of fall through | |
30126 | edges to the exit block. | |
30127 | * function.c (cfglayout.h): #include. | |
30128 | (thread_prologue_and_epilogue_insns): If we have neither return nor | |
30129 | epilogue, but a fall through to the exit block from mid-function, | |
30130 | force a non-fall-through exit. | |
30131 | * Makefile.in (function.o): Depend on CFGLAYOUT_H. | |
30132 | ||
30133 | 2004-06-14 Alan Modra <amodra@bigpond.net.au> | |
30134 | ||
30135 | * config/rs6000/rs6000.h (ASM_CPU_SPEC): Handle -mpowerpc64 and -mcpu | |
30136 | for power5 and rs64a. Correct condition for default. Correct power3, | |
30137 | 620, 630, 7400, 7450, G4, 970 and G5 -mcpu entries. Add -many. | |
30138 | ||
30139 | 2004-06-13 Steven Bosscher <stevenb@suse.de> | |
30140 | ||
30141 | * gcse.c (hash_scan_set, hash_scan_insn, mark_set, mark_oprs_set): | |
30142 | Revert previous change, don't use CALL_P. | |
30143 | ||
30144 | 2004-06-13 Jason Merrill <jason@redhat.com> | |
30145 | ||
30146 | * tree.h: Move std_gimplify_va_arg_expr protoype here. | |
30147 | * tree-gimple.h: From here. | |
30148 | ||
30149 | 2004-06-13 Daniel Berlin <dberlin@dberlin.org> | |
30150 | ||
30151 | Fix PR tree-optimization/15979 | |
30152 | Fix PR tree-optimization/15981 | |
30153 | * tree-ssa-pre.c (insert_aux): Fix faulty logic so that we don't | |
30154 | try to insert values undefined along some path. | |
30155 | ||
30156 | 2004-06-13 Daniel Berlin <dberlin@dberlin.org> | |
30157 | ||
30158 | * tree-ssa-pre.c (add_to_value): is_gimple_min_invariant things | |
30159 | are available everywhere too. | |
30160 | ||
30161 | 2004-06-13 Andrew Pinski <pinskia@physics.uc.edu> | |
30162 | ||
30163 | * fold-const.c (fold_checksum_tree <case 't'>): Only | |
30164 | look at TREE_VALUES if the EXPR is an ENUMERAL_TYPE. | |
30165 | Only look at TYPE_MIN_VALUE and TYPE_MAX_VALUE if | |
30166 | EXPR is an INTEGERAL_TYPE or a scalar float type. | |
30167 | ||
30168 | 2004-06-13 Diego Novillo <dnovillo@redhat.com> | |
30169 | ||
30170 | * tree-sra.c (tree_sra): Update documentation. | |
30171 | ||
30172 | 2004-06-13 Joseph S. Myers <jsm@polyomino.org.uk> | |
30173 | ||
30174 | * c-typeck.c (comptypes, tagged_types_tu_compatible_p, | |
30175 | function_types_compatible_p, type_lists_compatible_p): Remove | |
30176 | flags parameter. | |
30177 | * c-tree.h (comptypes): Likewise. | |
30178 | (COMPARE_STRICT): Remove. | |
30179 | * c-decl.c, c-lang.c, c-parse.in, c-typeck.c, objc/objc-act.c: All | |
30180 | callers changed. | |
30181 | ||
30182 | 2004-06-13 Eric Christopher <echristo@redhat.com> | |
30183 | ||
30184 | * c-decl.c (diagnose_mismatched_decls): Improve error message. | |
30185 | Remove unused code. | |
30186 | * c-typeck.c (comptypes): Add location in standard we're checking. | |
30187 | ||
30188 | 2004-06-13 Kaz Kojima <kkojima@gcc.gnu.org> | |
30189 | ||
30190 | * config/sh/libgcc-std.ver: Add __unorddf2 and __unordsf2 with | |
30191 | version 3.3.4. | |
30192 | ||
30193 | 2004-06-12 Roger Sayle <roger@eyesopen.com> | |
30194 | ||
30195 | * expmed.c (shift_cost, shiftadd_cost, shiftsub_cost): Additionally | |
30196 | index by machine mode. | |
30197 | (init_expmed): Initialize shift_cost, shiftadd_cost and shiftsub_cost | |
30198 | tables inside the loop over machine modes. | |
30199 | (synth_mult, expand_mult_highpart_optab, expand_mult_highpart, | |
30200 | expand_divmod): Index shift*_cost by the appropriate machine mode. | |
30201 | ||
30202 | 2004-06-12 Eric Christopher <echristo@redhat.com> | |
30203 | ||
30204 | * config/s390/s390.h: Rename TARGET_TPF to TARGET_TPF_PROFILING. | |
30205 | * config/s390/s390.md: Ditto. | |
30206 | * config/s390/s390.c: Ditto. | |
30207 | (s390_frame_info): Conditionalize frame and setup info on | |
30208 | TARGET_TPF_PROFILING. | |
30209 | (s390_arg_frame_offset): Ditto. | |
30210 | ||
30211 | 2004-06-12 Roger Sayle <roger@eyesopen.com> | |
30212 | ||
30213 | * fold-const.c (omit_two_operands): New function. | |
30214 | * tree.h (omit_two_operands): Prototype here. | |
30215 | * builtins.c (fold_builtin_unordered_cmp): New function to lower | |
30216 | C99 unordered comparison builtins to the appropriate tree nodes. | |
30217 | (fold_builtin_1): Use fold_builtin_unordered_cmp to lower | |
30218 | BUILT_IN_ISGREATER, BUILT_IN_ISGREATEREQUAL, BUILT_IN_ISLESS, | |
30219 | BUILT_IN_ISLESSEQUAL and BUILT_IN_ISLESSGREATER. Manually lower | |
30220 | BUILT_IN_ISUNORDERED comparisons to an UNORDERED_EXPR tree node. | |
30221 | (simplify_builtin_memcmp, simplify_builtin_strncmp, | |
30222 | simplify_builtin_strncat, simplify_builtin_strspn): Use the new | |
30223 | omit_two_operands function to build the required COMPOUND_EXPRs. | |
30224 | ||
30225 | 2004-06-12 Steven Bosscher <stevenb@suse.de>, | |
30226 | Andreas Jaeger <aj@suse.de> | |
30227 | ||
30228 | * gcse.c (record_set_info): Use predicates like REG_P. | |
30229 | (mems_conflict_for_gcse_p): Likewise. | |
30230 | (load_killed_in_block_p): Likewise. | |
30231 | (hash_expr_1): Likewise. | |
30232 | (insert_set_in_table): Likewise. | |
30233 | (gcse_constant_p): Likewise. | |
30234 | (hash_scan_set): Likewise. | |
30235 | (hash_scan_insn): Likewise. | |
30236 | (canon_list_insert): Likewise. | |
30237 | (record_last_mem_set_info): Likewise. | |
30238 | (record_last_set_info): Likewise. | |
30239 | (compute_hash_table_work): Likewise. | |
30240 | (mark_set): Likewise. | |
30241 | (mark_clobber): Likewise. | |
30242 | (mark_oprs_set): Likewise. | |
30243 | (compute_transp): Likewise. | |
30244 | (find_avail_set): Likewise. | |
30245 | (cprop_insn): Likewise. | |
30246 | (do_local_cprop): Likewise. | |
30247 | (cprop): Likewise. | |
30248 | (find_implicit_sets): Likewise. | |
30249 | (find_bypass_set): Likewise. | |
30250 | (bypass_conditional_jumps): Likewise. | |
30251 | (insert_insn_end_bb): Likewise. | |
30252 | (pre_insert_copy_insn): Likewise. | |
30253 | (compute_transpout): Likewise. | |
30254 | (next_ls_expr): Likewise. | |
30255 | (invalidate_any_buried_refs): Likewise. | |
30256 | (compute_ld_motion_mems): Likewise. | |
30257 | (reg_set_info): Likewise. | |
30258 | (reg_clear_last_set): Likewise. | |
30259 | (find_moveable_store): Likewise. | |
30260 | (compute_store_table): Likewise. | |
30261 | (find_loads): Likewise. | |
30262 | (store_killed_in_insn): Likewise. | |
30263 | (insert_insn_start_bb): Likewise. | |
30264 | (reg_set_between_after_reload_p): Likewise. | |
30265 | (reg_used_between_after_reload_p): Likewise. | |
30266 | (is_jump_table_basic_block): Likewise. | |
30267 | (gcse_after_reload): Likewise. | |
30268 | (hash_scan_set_after_reload): Likewise. | |
30269 | (compute_hash_table_after_reload): Likewise. | |
30270 | ||
30271 | 2004-06-12 Steven Bosscher <stevenb@suse.de> | |
30272 | ||
30273 | * rtl.h (MEM_P, NONJUMP_INSN_P, CALL_INSN_P): New predicates. | |
30274 | (INSN_P): Don't look at the rtx code class, just explicitly | |
30275 | check for one of the tree RTX_INSN codes. | |
30276 | ||
30277 | 2004-06-11 Zack Weinberg <zack@codesourcery.com> | |
30278 | ||
30279 | * c-typeck.c (default_function_array_conversion): Use | |
30280 | build_pointer_type not TYPE_POINTER_TO. | |
30281 | ||
30282 | 2004-06-11 Zack Weinberg <zack@codesourcery.com> | |
30283 | ||
30284 | * configure.ac: Don't invoke ACX_HEADER_STDBOOL. | |
30285 | * configure, config.in: Regenerate. | |
30286 | * system.h: Unconditionally define bool as unsigned char, | |
30287 | BOOL_BITFIELD as unsigned int. | |
30288 | * domwalk.h: Use BOOL_BITFIELD. | |
30289 | ||
30290 | 2004-06-12 Andreas Jaeger <aj@suse.de> | |
30291 | ||
30292 | * libgcc-std.ver: Add __unorddf2 and __unordsf2 with version 3.3.4. | |
30293 | * libgcc-darwin.ver: Likewise. | |
30294 | ||
30295 | 2004-06-12 Peter Jakubek <peter@laseranimation.com> | |
30296 | ||
30297 | * reload.c (find_reloads): Force reload for pseudo registers on big | |
30298 | endian machines. | |
30299 | ||
30300 | 2004-06-11 Steven Bosscher <stevenb@suse.de> | |
30301 | ||
30302 | * tree-ssa-dce.c (mark_control_dependent_edges_necessary): | |
30303 | Don't try to mark anything control dependent on the entry or | |
30304 | exit blocks. | |
30305 | ||
30306 | 2004-06-11 Daniel Berlin <dberlin@dberlin.org> | |
30307 | ||
30308 | Fix Bug 15899 | |
30309 | Fix Bug 15460 | |
30310 | * tree.h (SSA_NAME_VALUE): New macro. | |
30311 | (struct tree_ssa_name): Add value_handle member. | |
30312 | * tree-ssa-pre.c: Replaced. | |
30313 | * tree-flow.h (tree_ann_type): Add CST_ANN, EXPR_ANN. | |
30314 | (struct cst_ann_d): New. | |
30315 | (struct expr_ann_d): New. | |
30316 | (union tree_ann_d): Add cst_ann, expr_ann. | |
30317 | * tree-dfa.c (create_cst_ann): New function. | |
30318 | (create_expr_ann): Ditto. | |
30319 | * tree-flow-inline.h (cst_ann): New function. | |
30320 | (expr_ann): Ditto. | |
30321 | (get_cst_ann): Ditto. | |
30322 | (get_expr_ann): Ditto.. | |
30323 | ||
30324 | 2004-06-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
30325 | ||
30326 | * pa.c (pa_hpux_init_libfunc): Add support for unord_optab. | |
30327 | * pa/quadlib.c (enum qfcmp_magic): Define magic values for call to | |
30328 | _U_Qfcmp library function. | |
30329 | (_U_Qfltgt, _U_Qfunle, _U_Qfunlt, _U_Qfunge, _U_Qfungt, _U_Qfuneq, | |
30330 | _U_Qfunord, _U_Qford): Add more TFmode builtin compare functions. | |
30331 | ||
30332 | * pa.c (legitimize_pic_address): Use UNSPEC_DLTIND14R to identify | |
30333 | unspec used for loading address from DLT. | |
30334 | * pa.md: Define constants for the uses of UNSPEC and UNSPEC_VOLATILE. | |
30335 | Change all users of UNSPEC and UNSPEC_VOLATILE to use new constants. | |
30336 | Don't use short code sequence when loading the address of a nonlocal | |
30337 | label. | |
30338 | (nonlocal_goto): New expander. | |
30339 | (indirect_goto): New jump pattern for nonlocal gotos. | |
30340 | (short_jump): Remove extra whitespace. | |
30341 | (builtin_longjmp): Clobber memory and hard frame pointer. Restore | |
30342 | frame pointer via virtual_stack_vars_rtx when we have a nonlocal goto | |
30343 | pattern. | |
30344 | ||
30345 | 2004-06-11 Roger Sayle <roger@eyesopen.com> | |
30346 | ||
30347 | * expmed.c (synth_mult): Add an additional MODE argument for the | |
30348 | machine mode of the multiplication. Update recursive calls. Use | |
30349 | mode instead of word_mode for determining operation costs. | |
30350 | (choose_mult_variant): Update calls to synth_mult with "mode". | |
30351 | ||
30352 | 2004-06-11 Richard Henderson <rth@redhat.com> | |
30353 | ||
30354 | * tree-ssa-operands.c (get_stmt_operands): Clear makes_aliased_loads | |
30355 | and makes_aliased_stores. | |
30356 | ||
30357 | 2004-06-11 Andrew Pinski <pinskia@physics.uc.edu> | |
30358 | ||
30359 | * doc/install.text (--enable-shared): Fix typo. | |
30360 | ||
30361 | 2004-06-11 Richard Henderson <rth@redhat.com> | |
30362 | ||
30363 | * config/alpha/alpha.c (alpha_gimplify_va_arg_1): Remove post_p | |
30364 | argument. Use internal post for call to gimplify_expr. Tidy | |
30365 | rounded type size computation. | |
30366 | (alpha_gimplify_va_arg): Use get_formal_tmp_var and | |
30367 | get_initialized_tmp_var. | |
30368 | ||
30369 | 2004-06-11 Andrew Pinski <pinskia@physics.uc.edu> | |
30370 | ||
30371 | * doc/install.texi (--enable-shared): Update libobjc's shared library | |
30372 | status. Remove reference to libf2c. | |
30373 | ||
30374 | 2004-06-11 Jason Merrill <jason@redhat.com> | |
30375 | ||
30376 | * config/i386/i386.h (EXPAND_BUILTIN_VA_ARG): Just abort. | |
30377 | * config/i386/i386.c (ix86_va_arg): Remove. | |
30378 | * config/rs6000/rs6000.h (EXPAND_BUILTIN_VA_ARG): Just abort. | |
30379 | * config/rs6000/rs6000.c (rs6000_va_arg): Remove. | |
30380 | * config/alpha/alpha.h (EXPAND_BUILTIN_VA_ARG): Just abort. | |
30381 | * config/alpha/alpha.c (alpha_va_arg): Remove. | |
30382 | * config/sparc/sparc.h (EXPAND_BUILTIN_VA_ARG): Just abort. | |
30383 | * config/sparc/sparc.c (sparc_va_arg): Remove. | |
30384 | ||
30385 | * tree-ssa-operands.c (get_stmt_operands): Use a V_MAY_DEF if the | |
30386 | assignment might throw. | |
30387 | * tree-eh.c (tree_could_throw_p): Support non-call exceptions in | |
30388 | expressions. | |
30389 | ||
30390 | 2004-06-11 J"orn Rennecke <joern.rennecke@superh.com> | |
30391 | ||
30392 | PR 15886: | |
30393 | * sh.h (ALLOCATE_INITIAL_VALUE): Use return_address_pointer_rtx. | |
30394 | ||
30395 | 2004-06-11 Joseph S. Myers <jsm@polyomino.org.uk> | |
30396 | ||
30397 | * doc/install.texi (Prerequisites): Update documentation of | |
30398 | required versions of autoconf and automake. Remove mention of | |
30399 | libf2c. | |
30400 | ||
30401 | 2004-06-11 Jason Merrill <jason@redhat.com> | |
30402 | ||
30403 | * config/sparc/sparc.c (sparc_gimplify_va_arg): New fn. | |
30404 | (TARGET_GIMPLIFY_VA_ARG_EXPR): Define. | |
30405 | ||
30406 | 2004-06-11 Jerry Quinn <jlquinn@optonline.net> | |
30407 | ||
30408 | * typeclass.h: Add GPL plus exception license. Add include | |
30409 | guard. | |
30410 | ||
30411 | 2004-06-10 Jason Merrill <jason@redhat.com> | |
30412 | ||
30413 | * gimplify.c (gimplify_modify_expr): Don't force a temporary | |
30414 | of an aggregate_value_p type. | |
30415 | ||
30416 | 2004-06-10 Jeff Law <law@redhat.com> | |
30417 | ||
30418 | * fold-const.c (fold_inf_compare): Avoid creating non-gimple | |
30419 | code when we are in gimple form. | |
30420 | ||
30421 | 2004-06-10 Diego Novillo <dnovillo@redhat.com> | |
30422 | ||
30423 | * Makefile.in (tree-ssanames.o): Depend on TREE_FLOW_H. | |
30424 | * tree-flow.h (ssa_names, num_ssa_names, ssa_name): Declare. | |
30425 | (highest_ssa_version): Remove. | |
30426 | * tree-outof-ssa.c (new_temp_expr_table): Replace | |
30427 | highest_ssa_version with num_ssa_names. | |
30428 | (dump_replaceable_exprs): Likewise. | |
30429 | (rewrite_vars_out_of_ssa): Likewise. | |
30430 | * tree-ssa-ccp.c (initialize): Likewise | |
30431 | * tree-ssa-copyrename.c (rename_ssa_copies): Likewise. | |
30432 | * tree-ssa-dce.c (tree_dce_init): Likewise. | |
30433 | * tree-ssa-dom.c (tree_ssa_dominator_optimize): Likewise. | |
30434 | * tree-ssa-live.c (create_ssa_var_map): Likewise. | |
30435 | (dump_var_map): Likewise. | |
30436 | * tree-ssa.c (verify_ssa): Likewise. | |
30437 | (kill_redundant_phi_nodes): Likewise. | |
30438 | Do not build a local array of SSA_NAMEs. Use the ssa_names table. | |
30439 | * tree-ssanames.c: Include tree-flow.h | |
30440 | (ssa_names): New varray. | |
30441 | (init_ssa_names): Initialize ssa_names. | |
30442 | Reserve the first slot of the ssa_names table. | |
30443 | (make_ssa_name): Push the newly created SSA_NAME into ssa_names. | |
30444 | Assign version numbers using num_ssa_names. | |
30445 | ||
30446 | 2004-06-10 Joseph S. Myers <jsm@polyomino.org.uk> | |
30447 | ||
30448 | * doc/sourcebuild.texi (Front End): Add details of more | |
30449 | installation documentation required. | |
30450 | ||
30451 | 2004-06-10 Brian Booth <bbooth@redhat.com> | |
30452 | ||
30453 | * doc/tree-ssa.texi: Remove references to VDEF and add descriptions | |
30454 | of V_MAY_DEF and V_MUST_DEF. | |
30455 | * tree-dfa.c (dfa_stats_d): Add num_v_must_defs and rename | |
30456 | num_vdefs to num_v_may_defs. | |
30457 | (compute_immediate_uses_for_stmt): Rename occurences of vdef | |
30458 | to v_may_def. | |
30459 | (redirect_immediate_uses): Ditto. | |
30460 | (dump_dfa_stats): Ditto. Also added code to dump num_v_must_defs. | |
30461 | (collect_dfa_stats_r): Rename occurences of vdef to v_may_def. | |
30462 | Also add code to sum up the number of v_must_defs. | |
30463 | (vdefs_disappeared_p): Replace with... | |
30464 | (v_may_defs_disappeared_p): This. | |
30465 | (v_must_defs_disappeared_p): New function. | |
30466 | (mark_new_vars_to_rename): Rename occurences of vdef to v_may_def. | |
30467 | Also add code to mark new variables found in V_MUST_DEFs for | |
30468 | renameing. | |
30469 | * tree-flow.h (stmt_ann_d): Add v_must_def_ops and replace | |
30470 | vdef_ops to v_may_def_ops. | |
30471 | (get_vdef_ops): Replace with... | |
30472 | (get_v_may_def_ops): This. | |
30473 | * tree-flow-inline.h (get_vdef_ops): Replace with... | |
30474 | (get_v_may_def_ops): This. | |
30475 | (get_v_must_def_ops): New function. | |
30476 | (get_vdef_result_ptr): Replace with... | |
30477 | (get_v_may_def_result_ptr): This. | |
30478 | (get_vdef_op_ptr): Ditto with... | |
30479 | (get_v_may_def_op_ptr); This. | |
30480 | (get_v_must_def_op_ptr): New function. | |
30481 | * tree-into-ssa.c (mark_def_sites): Rename occurences of vdef | |
30482 | to v_may_def. Also add code to mark statements with | |
30483 | V_MUST_DEFs as definition sites. | |
30484 | (rewrite_stmt): Rename occurences of vdef to v_may_def. Also | |
30485 | add code to register new V_MUST_DEFs made by the statement. | |
30486 | * tree-outof-ssa.c (VIRTUAL_PARTITION): Update comments. | |
30487 | (check_replaceable): Rename occurences of vdef to v_may_def. Also | |
30488 | add check for V_MUST_DEFs. | |
30489 | (find_replaceable_in_bb): Ditto. | |
30490 | * tree-pretty-print.c (dump_vops): Rename occurences of vdef | |
30491 | to v_may_def. Also add code to dump V_MUST_DEFs. | |
30492 | * tree-sra.c (mark_all_vdefs): Replace with... | |
30493 | (mark_all_v_may_defs): This. | |
30494 | (mark_all_v_must_defs): New function. | |
30495 | (create_scalar_copies): Replace call to mark_all_vdefs with | |
30496 | calls to mark_all_v_may_defs and mark_all_v_must_defs. | |
30497 | (scalarize_structures): Rename occurences of vdef to v_may_def. | |
30498 | Also add a check for V_MUST_DEFs. | |
30499 | (scalarize_modify_expr): Rename occurences of vdef to v_may_def. | |
30500 | * tree-ssa-alias.c (global_var): Update comment. | |
30501 | (compute_may_aliases): Ditto. | |
30502 | (compute_points_to_and_addr_escape): Rename occurences of vdef | |
30503 | to v_may_def. Also add code to mark variables in V_MUST_DEF | |
30504 | operands as being written to. | |
30505 | (group_aliases): Update comment. | |
30506 | (maybe_create_global_var): Ditto. | |
30507 | * tree-ssa.c (verify_ssa): Rename occurences of vdef to v_may_def. | |
30508 | Also add a check for V_MUST_DEFs on GIMPLE registers. | |
30509 | (replace_immediate_uses): Rename occurences of vdef to v_may_def. | |
30510 | * tree-ssa-ccp.c (visit_stmt): Rename occurences of vdef | |
30511 | to v_may_def. Also add code to mark all V_MUST_DEF operands | |
30512 | VARYING. | |
30513 | (initialize): Ditto. | |
30514 | (set_rhs): Rename occurences of vdef to v_may_def. Also add | |
30515 | code to update SSA_NAMEs in V_MUST_DEFs. | |
30516 | * tree-ssa-copy.c (cprop_into_stmt): Rename occurences of vdef | |
30517 | to v_may_def. | |
30518 | * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Rename | |
30519 | occurences of vdef to v_may_def. Also add code to mark statements | |
30520 | with V_MUST_DEFs as necessary. | |
30521 | (propagate_necessity): Rename occurences of vdef to v_may_def. | |
30522 | * tree-ssa-dom.c (redirect_edges_and_update_ssa_graph): Rename | |
30523 | occurences of vdef to v_may_def. Also add code to mark operands | |
30524 | in V_MUST_DEFs for renaming. | |
30525 | (eliminate_redundant_computations): Rename occurences of vdef | |
30526 | to v_may_def. | |
30527 | (record_equivalences_from_stmt): Rename occurences of vdef | |
30528 | to v_may_def. Also add code to record VUSEs for V_MUST_DEFs. | |
30529 | (optimize_stmt): Remove unnesessary variable vdefs. Update | |
30530 | comment. | |
30531 | (register_definitions_for_stmt): Rename occurences of vdef | |
30532 | to v_may_def. Also add code to register definitions made with | |
30533 | V_MUST_DEFs. | |
30534 | * tree-ssa-dse.c (fix_stmt_vdefs): Replace with... | |
30535 | (fix_stmt_v_may_defs): This. | |
30536 | (fix_phi_uses): Rename occurences of vdef to v_may_def. | |
30537 | (dse_optimize_stmt): Ditto. | |
30538 | * tree-ssa-live.c (create_ssa_var_map): Rename occurences of vdef | |
30539 | to v_may_def. Also add code to mark V_MUST_DEF operands as being | |
30540 | used in virtual operators. | |
30541 | * tree-ssa-loop.c (mark_defs_for_rewrite): Rename occurences of | |
30542 | vdef to v_may_def. Also add code to mark V_MUST_DEF operands for | |
30543 | renaming. | |
30544 | * tree-ssa-operands.c (opf_kill_def): New flag for killing | |
30545 | definitions. | |
30546 | (build_vdefs): Renamed to... | |
30547 | (build_v_may_defs): This. | |
30548 | (build_v_must_defs): New variable. | |
30549 | (voperands_d): Add v_must_def_ops and replace vdef_ops with | |
30550 | v_may_def_ops. | |
30551 | (append_vdef): Replace with... | |
30552 | (append_v_may_def): This. | |
30553 | (append_v_must_def): New function. | |
30554 | (NUM_FREE): Increment for V_MUST_DEF | |
30555 | (optype_freelist): Increment its size for V_MUST_DEF | |
30556 | (allocate_vdef_optype): Replace with... | |
30557 | (allocate_v_may_def_optype): This. | |
30558 | (allocate_v_must_def_optype): New function. | |
30559 | (free_vdefs): Replace with... | |
30560 | (free_v_may_defs): This. | |
30561 | (free_v_must_defs): New function. | |
30562 | (remove_vdefs): Replace with... | |
30563 | (remove_v_may_defs): This. | |
30564 | (remove_v_must_defs): New function. | |
30565 | (init_ssa_operands): Rename occurences of vdef to v_may_def. Also | |
30566 | add code to initialize build_v_must_defs. | |
30567 | (finalize_ssa_vdefs): Replace with... | |
30568 | (finalize_ssa_v_may_defs): This. | |
30569 | (finalize_ssa_vuses): Rename occurences of vdef to v_may_def. | |
30570 | (finalize_ssa_v_must_defs): New function. | |
30571 | (finalize_ssa_stmt_operands): Replace call to finalize_ssa_vdefs | |
30572 | with calls to finalize_ssa_v_may_defs and finalize_ssa_v_must_defs. | |
30573 | (verify_start_operands): Rename occurences of vdef to v_may_def. | |
30574 | Also add check for build_v_must_defs. | |
30575 | (get_stmt_operands): Rename occurences of vdef to v_may_def. | |
30576 | Also add code to handle V_MUST_DEFs and to use opf_kill_def for | |
30577 | killing definitions. | |
30578 | (get_expr_operands): Update comment and use opf_kill_def for | |
30579 | killing definitions. | |
30580 | (add_stmt_operand): Replace code that appends VDEFs with code | |
30581 | that appends V_MUST_DEFs when opf_kill_def is set and V_MAY_DEFs | |
30582 | otherwise. | |
30583 | (add_call_clobber_ops): Update comments. | |
30584 | * tree-ssa-operands.h (vdef_optype_d): Replace with... | |
30585 | (v_may_def_optype_d): This. | |
30586 | (v_must_def_optype_d): New structure. | |
30587 | (VDEF_OPS): Replace with... | |
30588 | (V_MAY_DEF_OPS): This. | |
30589 | (STMT_VDEF_OPS): Same with... | |
30590 | (STMT_V_MAY_DEF_OPS): This. | |
30591 | (NUM_VDEFS): And... | |
30592 | (NUM_V_MAY_DEFS): This. | |
30593 | (VDEF_RESULT_PTR): As well as... | |
30594 | (V_MAY_DEF_RESULT_PTR): This. | |
30595 | (VDEF_RESULT): Same goes for... | |
30596 | (V_MAY_DEF_RESULT): This. | |
30597 | (VDEF_OP_PTR): And... | |
30598 | (V_MAY_DEF_OP_PTR): This. | |
30599 | (VDEF_OP): And... | |
30600 | (V_MAY_DEF_OP): This. | |
30601 | (V_MUST_DEF_OPS): New macro. | |
30602 | (STMT_V_MUST_DEF_OPS): Ditto. | |
30603 | (NUM_V_MUST_DEFS): Ditto. | |
30604 | (V_MUST_DEF_OP_PTR): Ditto. | |
30605 | (V_MUST_DEF_OP): Ditto. | |
30606 | (remove_vdefs): Replace signature with... | |
30607 | (remove_v_may_defs): This. | |
30608 | (remove_v_must_defs): New function signature. | |
30609 | * tree-ssa-pre.c (subst_phis): Replace call to remove_vdefs | |
30610 | with calls to remove_v_may_defs and remove_v_must_defs. | |
30611 | (process_left_occs_and_kills): Rename occurences of vdef to v_may_def. | |
30612 | Also add code that marks left occurences of operands in V_MUST_DEFs. | |
30613 | * tree-tailcall.c (find_tail_calls): Rename occurences of vdef | |
30614 | to v_may_def. Also add check for V_MUST_DEFs. | |
30615 | (eliminate_tail_call):Rename occurences of vdef to v_may_def. | |
30616 | ||
30617 | 2004-06-10 Vladimir Makarov <vmakarov@redhat.com> | |
30618 | ||
30619 | PR target/15653 | |
30620 | * haifa-sched.c (schedule_block): Finish cycle after issuing asm | |
30621 | insn. | |
30622 | ||
30623 | 2004-06-10 Volker Reichelt <reichelt@igpm.rwth-aachen.de> | |
30624 | ||
30625 | PR web/15263 | |
30626 | * doc/install.texi: Remove superfluous linebreak. | |
30627 | ||
30628 | 2004-06-10 Roger Sayle <roger@eyesopen.com> | |
30629 | ||
30630 | * builtins.c (expand_builtin): Fall back to library function call for | |
30631 | conj, conjf, conjl, creal, crealf, creall, cimag, cimagf and cimagl. | |
30632 | (fold_builtin_1): Lower built-ins BUILT_IN_CONJ{,F,L} to CONJ_EXPR, | |
30633 | BUILT_IN_CREAL{,F,L} to REALPART_EXPR, and BUILT_IN_CIMAG{,F,L} to | |
30634 | IMAGPART_EXPR respectively. | |
30635 | ||
30636 | 2004-06-10 J"orn Rennecke <joern.rennecke@superh.com> | |
30637 | ||
30638 | * sh.c (dump_table): New argument start. Changed caller. | |
30639 | (fixup_mova): New function. | |
30640 | (find_barrier): Use it. | |
30641 | (sh_reorg): Likewise. Check for CODE_FOR_casesi_worker_2. | |
30642 | If the label a mova refers to is above the mova itself, change | |
30643 | the mova into a load. | |
30644 | * sh.md (*casesi_worker): Rename to: | |
30645 | (casesi_worker_1). | |
30646 | (casesi_worker_2): New insn. | |
30647 | ||
30648 | 2004-06-10 Jason Merrill <jason@redhat.com> | |
30649 | ||
30650 | * target.h (struct gcc_target): Change gimplify_va_arg_expr | |
30651 | hook signature. | |
30652 | * tree-gimple.h: Adjust. | |
30653 | * config/alpha/alpha.c (alpha_gimplify_va_arg): Adjust. | |
30654 | * config/i386/i386.c (ix86_gimplify_va_arg): Adjust. | |
30655 | Use fold_convert. | |
30656 | * config/ia64/ia64.c (ia64_gimplify_va_arg): Adjust. | |
30657 | * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Adjust. | |
30658 | Use COMPLEX_EXPR for complex numbers. Use fold_convert. | |
30659 | * builtins.c (std_gimplify_va_arg_expr): Adjust. Use fold_convert. | |
30660 | (gimplify_va_arg_expr): Return GS_ERROR in error case. | |
30661 | Gimplify valist rather than calling stabilize_va_list. | |
30662 | ||
30663 | 2004-06-10 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> | |
30664 | ||
30665 | * Makefile.in (df.o): Remove fibheap dependency. | |
30666 | * df.h: Do not include sbitmap.h. | |
30667 | (struct ref): New field "data". | |
30668 | (DF_REF_DATA): New accessor macro. | |
30669 | (struct df): Field "dom" removed. | |
30670 | (df_analyze_subcfg): New function. | |
30671 | (transfer_function_sbitmap, transfer_function_bitmap): Replaced by ... | |
30672 | (transfer_function): ... new type. | |
30673 | (iterative_dataflow_sbitmap, iterative_dataflow_bitmap): Replaced by ... | |
30674 | (iterative_dataflow): ... new function. | |
30675 | (enum set_representation, struct dataflow): New. | |
30676 | * df.c: Do not include fibheap.h. | |
30677 | ||
30678 | (df_reg_def_chain_clean, df_reg_use_chain_clean, | |
30679 | (df_bb_table_realloc, df_analyse_subcfg, free_reg_ref_chain, | |
30680 | prune_to_subcfg, df_bb_modify): New functions. | |
30681 | (df_bitmaps_alloc, df_reg_def_chain_create, df_reg_use_chain_create, | |
30682 | df_refs_update, df_reg_table_realloc, df_ref_create, | |
30683 | df_bb_reg_def_chain_create, df_bb_reg_use_chain_create, | |
30684 | df_bb_rd_local_compute, df_bb_ru_local_compute, df_bb_lr_local_compute, | |
30685 | df_analyse_1, df_insn_modify): Support analysing only a part of the cfg. | |
30686 | ||
30687 | (dataflow_set_a_op_b, dataflow_set_copy): New functions. | |
30688 | (df_rd_transfer_function, df_ru_transfer_function, | |
30689 | df_lr_transfer_function): Type of bitmaps changed to void *. | |
30690 | (hybrid_search_bitmap, hybrid_search_sbitmap): Merge into ... | |
30691 | (hybrid_search): ... new function. | |
30692 | (iterative_dataflow_bitmap, iterative_dataflow_sbitmap): Merge into ... | |
30693 | (iterative_dataflow): ... new function. Avoid use of fibheaps for | |
30694 | a worklist. Do not process basic blocks unnecessarily. | |
30695 | ||
30696 | 2004-06-10 Roger Sayle <roger@eyesopen.com> | |
30697 | ||
30698 | * fold-const.c (fold_abs_const): Make extern. | |
30699 | * tree.h (fold_abs_const): Prototype here. | |
30700 | * builtins.c (fold_builtin_fabs): New function to transform | |
30701 | fabs, fabsf and fabsl builtins into ABS_EXPR tree nodes. | |
30702 | (fold_builtin_abs): New function to transform abs, labs, llabs | |
30703 | and imaxabs builtins into ABS_EXPR tree nodes. | |
30704 | (expand_builtin): Fall back to a function call for abs, labs, | |
30705 | llabs and imaxabs builtins that survive constant folding. | |
30706 | (fold_builtin_1): Call fold_builtin_fabs for FABS, FABSF and | |
30707 | FABSL, and fold_builtin_abs for ABS, LABS, LLABS and IMAXABS. | |
30708 | ||
30709 | 2004-06-10 Jakub Jelinek <jakub@redhat.com> | |
30710 | ||
30711 | * config/ia64/unwind-ia64.c (uw_frame_state_for): Don't assume a | |
30712 | leaf function without unwind info at RP 0. | |
30713 | ||
30714 | 2004-06-10 Jakub Jelinek <jakub@redhat.com> | |
30715 | ||
30716 | PR c++/14791 | |
30717 | * tree.h (enum tree_index): Add TI_FILEPTR_TYPE. | |
30718 | (fileptr_type_node): Define. | |
30719 | * tree.c (build_common_tree_nodes_2): Initialize | |
30720 | fileptr_type_node to ptr_type_node. | |
30721 | * c-common.c (c_common_nodes_and_builtins): For C++, make | |
30722 | fileptr_type_node a distinct type copy. | |
30723 | * builtin-types.def (BT_FILEPTR, BT_FN_INT_CONST_STRING_FILEPTR, | |
30724 | BT_FN_INT_INT_FILEPTR, BT_FN_INT_FILEPTR_CONST_STRING_VALIST_ARG, | |
30725 | BT_FN_SIZE_CONST_PTR_SIZE_SIZE_FILEPTR, | |
30726 | BT_FN_INT_FILEPTR_CONST_STRING_VAR): Add. | |
30727 | (BT_FN_INT_CONST_STRING_PTR, BT_FN_INT_INT_PTR, | |
30728 | BT_FN_SIZE_CONST_PTR_SIZE_SIZE_PTR, BT_FN_INT_PTR_CONST_STRING_VAR, | |
30729 | BT_FN_INT_PTR_CONST_STRING_VALIST_ARG): Remove. | |
30730 | * builtins.def (BUILT_IN_FPRINTF, BUILT_IN_FPRINTF_UNLOCKED, | |
30731 | BUILT_IN_FPUTC, BUILT_IN_FPUTC_UNLOCKED, BUILT_IN_FPUTS, | |
30732 | BUILT_IN_FPUTS_UNLOCKED, BUILT_IN_FSCANF, BUILT_IN_FWRITE, | |
30733 | BUILT_IN_FWRITE_UNLOCKED, BUILT_IN_VFPRINTF, BUILT_IN_VFSCANF): Use | |
30734 | the above *FILEPTR* types instead of *PTR*. | |
30735 | ||
30736 | 2004-06-09 Daniel Berlin <dberlin@dberlin.org> | |
30737 | ||
30738 | * tree-ssa.c (verify_ssa): Verify that vdefs/makes_aliased_stores | |
30739 | match. | |
30740 | ||
30741 | 2004-06-09 Roger Sayle <roger@eyesopen.com> | |
30742 | ||
30743 | * fold-const.c (fold_not_const): New function. | |
30744 | (fold) <ABS_EXPR>: Don't bother testing wins. | |
30745 | (fold) <BIT_NOT_EXPR>: Call fold_not_const. | |
30746 | (nondestructive_fold_unary_to_constant) <BIT_NOT_EXPR>: Likewise. | |
30747 | ||
30748 | 2004-06-09 Richard Henderson <rth@redhat.com> | |
30749 | ||
30750 | PR middle-end/15228 | |
30751 | * function.c (assign_parms): Always set_mem_align with the computed | |
30752 | FUNCTION_ARG_BOUNDARY. Don't clear stack_parm if !STRICT_ALIGNMENT. | |
30753 | ||
30754 | 2004-06-09 Richard Henderson <rth@redhat.com> | |
30755 | ||
30756 | PR opt/15108 | |
30757 | * tree-tailcall.c (find_tail_calls): Don't check early for | |
30758 | tail_recursion failure. | |
30759 | ||
30760 | 2004-06-09 Diego Novillo <dnovillo@redhat.com> | |
30761 | ||
30762 | Move SSA_NAME annotations into tree_ssa_name. | |
30763 | ||
30764 | * tree-dfa.c (create_ssa_name_ann): Remove. | |
30765 | * tree-flow-inline.h (ssa_name_ann, get_ssa_name_ann): Remove. | |
30766 | * tree-flow.h (enum tree_ann_type): Remove SSA_NAME_ANN. | |
30767 | (struct ssa_name_ann_d): Remove. | |
30768 | (union tree_ann_d): Update. | |
30769 | (ssa_name_ann_t): Remove. | |
30770 | * tree-ssa-alias.c: (get_ptr_info): New local function. | |
30771 | Replace references to ssa_name_ann_t with struct ptr_info_def. | |
30772 | * tree-ssa-operands.c (get_expr_operands): Likewise. | |
30773 | * tree.h (SSA_NAME_PTR_INFO): Define. | |
30774 | (struct ptr_info_def): Declare. | |
30775 | (struct tree_ssa_name): Add field 'ptr_info'. | |
30776 | ||
30777 | 2004-06-09 Danny Smith <dannysmith@users.sourceforge.net> | |
30778 | ||
30779 | * config/i386/winnt.c (i386_pe_output_labelref): Correct | |
30780 | misplaced ')'. | |
30781 | ||
30782 | 2004-06-09 Steven Bosscher <stevenb@suse.de> | |
30783 | ||
30784 | * config/i386/k6.md: Rewrite using the DFA model. | |
30785 | * config/i386/i386.c (ix86_adjust_cost): Don't increase the | |
30786 | cost of load-operation insns for the K6. | |
30787 | (ia32_use_dfa_pipeline_interface): Add TARGET_K6. | |
30788 | (ia32_multipass_dfa_lookahead): Likewise. | |
30789 | ||
30790 | 2004-06-09 Richard Henderson <rth@redhat.com> | |
30791 | ||
30792 | * config/alpha/alpha.c (alpha_gimplify_va_arg_1, | |
30793 | alpha_gimplify_va_arg, TARGET_GIMPLIFY_VA_ARG_EXPR): New. | |
30794 | ||
30795 | 2004-06-09 Richard Henderson <rth@redhat.com> | |
30796 | ||
30797 | * expmed.c (emit_store_flag): Cope with FLOAT_STORE_FLAG_VALUE. | |
30798 | ||
30799 | 2004-06-09 Geoffrey Keating <geoffk@apple.com> | |
30800 | ||
30801 | * Makefile.in (CPPLIB_H): Put files in order of inclusion. | |
30802 | (CPP_ID_DATA_H): New. | |
30803 | (gtype-desc.o): Update dependencies. | |
30804 | (GTFILES): Use CPP_ID_DATA_H. | |
30805 | ||
30806 | 2004-06-09 Mark Mitchell <mark@codesourcery.com> | |
30807 | ||
30808 | Revert: | |
30809 | PR c++/15815 | |
30810 | 2004-06-07 Mark Mitchell <mark@codesourcery.com> | |
30811 | * doc/extend.texi: Deprecate #pragma interface and #pragma | |
30812 | implementation. | |
30813 | ||
30814 | 2004-06-09 David S. Miller <davem@nuts.davemloft.net> | |
30815 | ||
30816 | * config/sparc/sparc.h (MOVE_RATIO): New definition. | |
30817 | ||
30818 | 2004-06-09 Richard Henderson <rth@redhat.com> | |
30819 | ||
30820 | * basic-block.h (struct edge_def): Add goto_locus. | |
30821 | * tree-cfg.c (make_goto_expr_edges): Set it. | |
30822 | (disband_implicit_edges): Use it. | |
30823 | * tree-pretty-print.c (dump_implicit_edges): Print it. | |
30824 | ||
30825 | 2004-06-08 Anil Paranjpe <anilp1@kpitcummins.com> | |
30826 | ||
30827 | * h8300.md (ldm_h8300s_4): Fix condition for expander. | |
30828 | ||
30829 | 2004-06-08 Jason Merrill <jason@redhat.com> | |
30830 | ||
30831 | Gimplify VA_ARG_EXPR into simpler forms. | |
30832 | * target.h: Add gimplify_va_arg_expr hook. | |
30833 | * target-def.h: Add TARGET_GIMPLIFY_VA_ARG_EXPR. | |
30834 | * fold-const.c (build_fold_addr_expr) | |
30835 | (build_fold_addr_expr_with_type): Move from gimplify.c. | |
30836 | * tree.h: Declare them. | |
30837 | * gimplify.c (gimplify_and_add): New fn. | |
30838 | (build_addr_expr, build_addr_expr_with_type): Move to fold-const.c. | |
30839 | (gimplify_array_ref_to_plus, gimplify_modify_expr) | |
30840 | (gimplify_expr): Use build_fold_*. | |
30841 | (copy_if_shared_r): Only mark VA_ARG_EXPR volatile if we | |
30842 | don't know how to gimplify it. | |
30843 | * builtins.c (std_gimplify_va_arg_expr): New fn. | |
30844 | (dummy_object): New static fn. | |
30845 | (gimplify_va_arg_expr): New fn. | |
30846 | (stabilize_va_list): Use build_fold_*. | |
30847 | * tree-gimple.h: Declare new fns. | |
30848 | * config/i386/i386.c (TARGET_GIMPLIFY_VA_ARG_EXPR): Define. | |
30849 | (ix86_gimplify_va_arg): New fn. | |
30850 | * config/ia64/ia64.c (TARGET_GIMPLIFY_VA_ARG_EXPR): Define. | |
30851 | (ia64_gimplify_va_arg): New fn. | |
30852 | * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): New fn. | |
30853 | (TARGET_GIMPLIFY_VA_ARG_EXPR): Define. | |
30854 | * alias.c (get_varargs_alias_set): Just return 0 for now. | |
30855 | ||
30856 | * c-objc-common.c (c_tree_printer): Improve handling of %T. | |
30857 | ||
30858 | 2004-06-09 Andrew Pinski <pinskia@physics.uc.edu> | |
30859 | ||
30860 | * tree-complex.c (expand_complex_comparison): Use fold_convert instead | |
30861 | of convert. | |
30862 | * tree-inline.c (setup_one_parameter): Likewise. | |
30863 | * tree-sra.c (csc_build_component_ref): Likewise. | |
30864 | * tree-ssa-ccp.c (ccp_fold): Likewise. | |
30865 | * tree-ssa-copy.c (cprop_operand): Likewise. | |
30866 | * tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Likewise. | |
30867 | * tree-tailcall.c (tree_optimize_tail_calls_1): Likewise. | |
30868 | ||
30869 | 2004-06-09 J"orn Rennecke <joern.rennecke@superh.com> | |
30870 | ||
30871 | PR rtl-optimization/15521: | |
30872 | * sched-int.h (in_post_call_group_p): Change type to enum. | |
30873 | * sched-deps.c (sched_analyze_insn): | |
30874 | (sched_analyze): When in_post_call_group_p is post_call_initial, | |
30875 | don't add a dependency, but still set SCHED_GROUP_P and CANT_MOVE, | |
30876 | and also reset in_post_call_group_p to post_call. | |
30877 | (sched_analyze): When the previous basic block ended in a CALL_INSN, | |
30878 | initialize in_post_call_group_p as post_call_initial. | |
30879 | (init_deps): initialize in_post_call_group_p to not_post_call. | |
30880 | ||
30881 | 2004-06-09 Arnaud Charlet <charlet@act-europe.fr> | |
30882 | ||
30883 | PR ada/6637 | |
30884 | * doc/install.texi: List ada, libada as options to --enable-shared | |
30885 | ||
30886 | 2004-06-09 Paolo Bonzini <bonzini@gnu.org> | |
30887 | ||
30888 | * aclocal.m4 (gcc_AC_PROG_LN): Remove. | |
30889 | (gcc_AC_CHECK_DECLS): Use AH_TEMPLATE to generate | |
30890 | config.in entries. | |
30891 | * configure.ac: Call ACX_PROG_LN, falling back to $LN_S | |
30892 | if hard links are not available. | |
30893 | * configure: Regenerate. | |
30894 | * config.in: Regenerate. | |
30895 | ||
30896 | 2004-06-08 Per Bothner <per@bothner.com> | |
30897 | ||
e8366202 | 30898 | * configure.ac: New --enable-mapped-location sets USE_MAPPED_LOCATION. |
3eb54e5f ILT |
30899 | |
30900 | 2004-06-08 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
30901 | ||
30902 | * toplev.c (floor_log2_wide): Correct casts for 64-bit hosts. | |
30903 | Correct formatting. | |
30904 | ||
30905 | 2004-06-08 James E Wilson <wilson@specifixinc.com> | |
30906 | ||
30907 | PR target/15790 | |
30908 | * config/i386/i386-coff.h (ASM_OUTPUT_ALIGN): Define. | |
30909 | ||
30910 | 2004-06-08 Andrew Pinski <pinskia@physics.uc.edu> | |
30911 | ||
30912 | * fold-const.c (fold_convert): Treat OFFSET_TYPE like | |
30913 | POINTER_TYPE and INTEGER_TYPE. | |
30914 | ||
30915 | 2004-06-08 Bernardo Innocenti <bernie@develer.com> | |
30916 | ||
30917 | * modulo-sched.c: Compile only when INSN_SCHEDULING is | |
30918 | defined. | |
30919 | ||
30920 | 2004-06-08 Jeff Law <law@redhat.com> | |
30921 | ||
30922 | * doc/contrib.texi: Add entries for Stefan Olsson and | |
30923 | Ola Ronnerup. | |
30924 | ||
30925 | 2004-06-08 DJ Delorie <dj@redhat.com> | |
30926 | ||
30927 | * toplev.c (floor_log2_wide): Replace loop with faster bit | |
30928 | operations. | |
30929 | (exact_log2_wide): Define in terms of the above. | |
30930 | * toplev.h (floor_log2): Use _builtin_clz family of builtins if | |
30931 | available. | |
30932 | ||
30933 | 2004-06-08 Andrew Pinski <pinskia@physics.uc.edu> | |
30934 | ||
30935 | * config/rs6000/rs6000.c (print_operand, <case 'z'>): | |
30936 | Make sure that we are in INDIRECT mode when getting the | |
30937 | stub name. | |
30938 | ||
30939 | 2004-06-08 Anil Paranjpe <anilp1@kpitcummins.com> | |
30940 | ||
30941 | * h8300.md (extendqisi2_h8300): Add constraints. | |
30942 | (ldm_h8300s_4_normal): Fix typo. | |
30943 | ||
30944 | 2004-06-08 Richard Henderson <rth@redhat.com> | |
30945 | ||
30946 | * gimple-low.c (struct lower_data): Replace the_return_label and | |
30947 | one_return_stmt with return_statements. | |
30948 | (lower_function_body): Process the entire list of return_statements. | |
30949 | (lower_return_expr): Check source value before unifying return_exprs. | |
30950 | * gimplify.c (gimplify_return_expr): Force the use of a temporary | |
30951 | for !aggregate_value_p. | |
30952 | * tree-gimple.c: Update RETURN_EXPR grammer. | |
30953 | ||
30954 | 2004-06-08 Vladimir Makarov <vmakarov@redhat.com> | |
30955 | ||
30956 | PR target/15598 | |
30957 | * config/ia64/ia64.c (bundling): Add missed TYPE_A. | |
30958 | ||
30959 | 2004-06-08 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> | |
30960 | ||
30961 | PR rtl-optimization/15717 | |
30962 | * config/i386/i386.c (legitimate_constant_p): Do not allow | |
30963 | x - symbol_ref. | |
30964 | ||
30965 | 2004-06-08 Alexandre Oliva <aoliva@redhat.com> | |
30966 | ||
30967 | * gimplify.c (copy_if_shared_r): Revert: | |
30968 | 2004-05-21 Richard Henderson <rth@redhat.com> | |
30969 | * gimplify.c [...] Don't mark VA_ARG_EXPRs volatile here. | |
30970 | ||
30971 | 2004-06-07 Roger Sayle <roger@eyesopen.com> | |
30972 | ||
30973 | * expmed.c (add_cost, neg_cost, sdiv_pow2_cheap, smod_pow2_cheap): | |
30974 | Make arrays indexed by machine mode. Rename negate_cost to neg_cost. | |
30975 | (init_expmed): Initialize these cost arrays as appropriate. | |
30976 | (store_bit_field, extract_bit_field): Correct whitespace. | |
30977 | (synth_mult, choose_mult_variant, expand_mult, expand_mult_highpart, | |
30978 | expand_mult_highpart_optab, expand_divmod): Update uses of add_cost, | |
30979 | neg_cost, sdiv_pow2_cheap, smod_pow2_cheap to index with mode, | |
30980 | word_mode or compute_mode as appropriate. | |
30981 | ||
30982 | 2004-06-07 Eric Botcazou <ebotcazou@libertysurf.fr> | |
30983 | ||
30984 | PR target/15783 | |
30985 | * config/sparc/sparc.c (function_arg_union_value): Add 'mode' | |
30986 | parameter. Enumerate the registers inside the PARALLEL. | |
30987 | (function_arg): Adjust call to function_arg_union_value. | |
30988 | (function_value): Likewise. | |
30989 | ||
30990 | * config/sparc/sparc.c (sparc_function_epilogue): Properly format. | |
30991 | ||
30992 | 2004-06-07 Roger Sayle <roger@eyesopen.com> | |
30993 | ||
30994 | * real.c (real_copysign): New function to implement libm's copysign. | |
30995 | * real.h (real_copysign): Prototype here. | |
30996 | * fold-const.c (tree_expr_nonnegative_p): The result of sqrt, sqrtf | |
30997 | and sqrtl can be negative, as sqrt(-0.0) = -0.0. Correct whitespace. | |
30998 | * builtins.c (fold_builtin_isascii, fold_builtin_toascii, | |
30999 | fold_builtin_isdigit): Add function prototypes. | |
31000 | (fold_builtin_copysign): New function to fold copysign, copysignf | |
31001 | and copysignl. Optimize copysign(x,x) as x. Evaluate copysign of | |
31002 | constant arguments at compile-time using real_copysign. Fold | |
31003 | copysign(X,Y) as fabs(X) if Y is always non-negative. | |
31004 | (fold_builtin_1): Correct minor whitespace/style issues. Call | |
31005 | fold_builtin_copysign for BUILT_IN_COPYSIGN{,F,L}. | |
31006 | ||
31007 | 2004-06-07 J"orn Rennecke <joern.rennecke@superh.com> | |
31008 | ||
31009 | * tree.c (iterative_hash_expr): Use real_hash. | |
31010 | ||
31011 | 2004-06-07 Joseph S. Myers <jsm@polyomino.org.uk> | |
31012 | ||
31013 | PR c/14765 | |
31014 | * c-parse.in (compstmt_primary_start): Set last_expr_type to | |
31015 | NULL_TREE. | |
31016 | ||
31017 | 2004-06-07 Mark Mitchell <mark@codesourcery.com> | |
31018 | ||
31019 | PR c++/15815 | |
31020 | * doc/extend.texi: Deprecate #pragma interface and #pragma | |
31021 | implementation. | |
31022 | ||
31023 | 2004-06-07 Alexandre Oliva <aoliva@redhat.com> | |
31024 | ||
31025 | PR middle-end/15666 | |
31026 | * c-decl.c (finish_decl): Use change_decl_assembler_name for the | |
31027 | builtin decl as well. | |
31028 | ||
31029 | 2004-06-07 Roger Sayle <roger@eyesopen.com> | |
31030 | ||
31031 | PR c/14649 | |
31032 | * c-typeck.c (require_constant_value, require_constant_elements): | |
31033 | Move declarations to the top of the file. | |
31034 | (build_function_call): If we require a constant value, fold with | |
31035 | fold_initializer. If the result is a constant, and the function | |
31036 | wasn't called using __builtin_foo, issue a pedantic warning. | |
31037 | (build_unary_op): If we require a constant value, fold tree with | |
31038 | fold_initializer. | |
31039 | (build_binary_op): Use require_constant_value to determine whether | |
31040 | to call fold or fold_initializer. | |
31041 | ||
31042 | 2004-06-07 Richard Henderson <rth@redhat.com> | |
31043 | ||
31044 | * gimple-low.c (struct lower_data): Add the_return_label and | |
31045 | one_return_stmt. | |
31046 | (lower_function_body): Initialize and use them. | |
31047 | (lower_return_expr): New. | |
31048 | (lower_stmt): Call it. | |
31049 | * gimplify.c (gimplify_return_expr): Force the argument to be either | |
31050 | null or a result_decl. | |
31051 | * tree-gimple.c: Update gimple grammer to match. | |
31052 | * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Deny | |
31053 | coalescing of result_decls. | |
31054 | ||
31055 | 2004-06-07 Richard Henderson <rth@redhat.com> | |
31056 | ||
31057 | PR rtl-opt/15193 | |
31058 | * expmed.c (extract_bit_field): Fix vector_extract return. | |
31059 | ||
31060 | * config/i386/i386.md (negv4sf2): New pattern. | |
31061 | ||
31062 | 2004-06-07 Mark Mitchell <mark@codesourcery.com> | |
31063 | ||
31064 | PR c++/15337 | |
31065 | * c-common.c (c_sizeof_or_alignof_type): Use more detailed error | |
31066 | message. | |
31067 | ||
31068 | 2004-06-06 Paolo Bonzini <bonzini@gnu.org> | |
31069 | ||
31070 | * config.in: Regenerate. | |
31071 | ||
31072 | 2004-06-06 Steven Bosscher <stevenb@suse.de> | |
31073 | ||
31074 | * tree-cfg.c (tree_verify_flow_info): Make sure that labels in | |
31075 | SWITCH_LABELS are always sorted. | |
31076 | ||
31077 | 2004-06-06 Steven Bosscher <stevenb@suse.de> | |
31078 | ||
31079 | * hooks.c (hook_int_void_1): New generic hook. | |
31080 | * hooks.h (hook_int_void_1): Add prototype. | |
31081 | * config/c4x/c4x.c (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): | |
31082 | Define to hook_int_void_1. | |
31083 | * config/c4x/c4x.md: Replace dummies for the old pipeline model | |
31084 | with dummies for the new one. | |
31085 | ||
31086 | 2004-06-06 Roger Sayle <roger@eyesopen.com> | |
31087 | ||
31088 | * tree.h (lvalue_or_else): Delete function prototype. | |
31089 | * c-typeck.c (lvalue_or_else): Make static. Add static prototype. | |
31090 | ||
31091 | 2004-06-06 Stephane Carrez <stcarrez@nerim.fr> | |
31092 | ||
31093 | PR target/14542 | |
31094 | * config/m68hc11/m68hc11.md (move peephole2): Emit a use note to avoid | |
31095 | a live change of a register after peephole replacement. | |
31096 | ||
31097 | 2004-06-06 Joseph S. Myers <jsm@polyomino.org.uk> | |
31098 | ||
31099 | PR c/13519 | |
31100 | * c-typeck.c (composite_type, common_pointer_type): New functions. | |
31101 | (common_type): Split parts into composite_type and | |
31102 | common_pointer_type. Ensure that arithmetic operations return | |
31103 | unqualified types without attributes. Don't make composite type | |
31104 | of signed enum and compatible integer be unsigned. | |
31105 | (build_conditional_expr, build_binary_op): Use | |
31106 | common_pointer_type. | |
31107 | * c-decl.c (merge_decls): Use composite_type. | |
31108 | * c-tree.h (composite_type): Declare. | |
31109 | ||
31110 | 2004-06-06 Stephane Carrez <stcarrez@nerim.fr> | |
31111 | ||
31112 | PR target/14457 | |
31113 | * config/m68hc11/m68hc11.c (splitable_operand): New predicate. | |
31114 | * config/m68hc11/m68hc11-protos.h (splitable_operand): Declare. | |
31115 | * config/m68hc11/m68hc11.h (PREDICATE_CODES): Register it. | |
31116 | (inhibit_libc): Must define. | |
31117 | * config/m68hc11/m68hc11.md ("movhi_const0"): Use splitable_operand. | |
31118 | ("*andhi3_gen", "iorhi3", "*iorhi3_gen"): Likewise. | |
31119 | ("xorhi3"): Likewise. | |
31120 | ||
31121 | 2004-06-06 Eric Botcazou <ebotcazou@libertysurf.fr> | |
31122 | ||
31123 | * cgraphunit.c (cgraph_decide_inlining): Adjust dump lines in | |
31124 | always_inline pass. | |
31125 | ||
31126 | 2004-06-05 David S. Miller <davem@nuts.davemloft.net> | |
31127 | ||
31128 | * config/sparc/linux.h (TARGET_C99_FUNCTIONS): Set. | |
31129 | * config/sparc/linux64.h (TARGET_C99_FUNCTIONS): Likewise. | |
31130 | ||
31131 | 2004-06-05 Bernardo Innocenti <bernie@develer.com> | |
31132 | ||
31133 | * regclass.c (init_reg_sets): Check for missing registers in target | |
31134 | initializer macros FIXED_REGISTERS and CALL_USED_REGISTERS. | |
31135 | ||
31136 | 2004-06-05 Zack Weinberg <zack@codesourcery.com> | |
31137 | ||
31138 | * Makefile.in (MKDEPS_H): New shorthand. | |
31139 | (c-opts.o): Update dependencies. | |
31140 | * c-opts.c: Include mkdeps.h. | |
31141 | (handle_deferred_opts): Use cpp_get_deps and deps_add_target, | |
31142 | not cpp_add_dependency_target. | |
31143 | ||
31144 | 2004-06-05 Steven Bosscher <stevenb@suse.de> | |
31145 | ||
31146 | * config/v850/v850.c (v850_use_dfa_pipeline_interface): New. | |
31147 | * config/v850/v850.md: Convert to DFA scheduler description. | |
31148 | ||
31149 | 2004-06-05 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> | |
31150 | ||
31151 | PR fortran/15478 | |
31152 | * doc/install.texi: Document GMP as prerequisite. Document | |
31153 | --with-gmp and --with-gmp-dir configure options. | |
31154 | * fortran/gfortran.texi: Remove section "Compiling and testing", | |
31155 | remove TOC reference to it. | |
31156 | ||
31157 | 2004-06-05 Graham Stott <graham.stott@btinternet.com> | |
31158 | ||
31159 | * combine.c(simplify_shift_const): Check shift amount is a | |
31160 | CONST_INT. | |
31161 | ||
31162 | 2004-06-05 Danny Smith <dannysmith@users.sourceforge.net> | |
31163 | ||
31164 | * toplev.c (init_asm_output): Add explicit 'b' to mode when | |
31165 | opening asm_out_file. | |
31166 | * c-pch.c (c_common_write_pch): Remove unnecessary fflush before | |
31167 | reading asm_out_file. Replace fflush after reading asm_out_file | |
31168 | with fseek. | |
31169 | * hosthooks-def.h (HOST_HOOKS_GT_PCH_ALLOC_GRANULARITY): Define | |
31170 | default and add to HOST_HOOKS_INITIALIZER. | |
31171 | * hosthooks.h (gt_pch_alloc_granularity): Declare hook function. | |
31172 | * ggc-common.c (default_gt_pch_alloc_granularity): New function. | |
31173 | (gt_pch_save): Use host_hooks.gt_pch_alloc_granularity | |
31174 | to set mmi.offset padding. | |
31175 | * config.gcc (i[34567]86-*-mingw32*): Set target_gtfiles to | |
31176 | $(srcdir)/config/i386/winnt.c. | |
31177 | (i[34567]86-*-pe | i[34567]86-*-cygwin*): Likewise. | |
31178 | (i[34567]86-*-uwin*): Likewise. | |
31179 | *i[34567]86-*-interix3*): Likewise. | |
31180 | * config.host (i[34567]86-*-mingw32*): Set out_host_hook_obj. | |
31181 | * config/i386/host-mingw32.c: New file. | |
31182 | * config/i386/x-mingw32: Add rule for host-mingw32.o. | |
31183 | * config/i386/winnt.c: (struct extern_list) Tag as GTY. | |
31184 | (extern_head): Likewise. | |
31185 | (struct export_list) Likewise. | |
31186 | (export_head): Likewise. | |
31187 | (i386_pe_record_external_function): Use ggc_alloc. | |
31188 | (i386_pe_record_exported_symbol): Likewise. | |
31189 | Include "gt-winnt.h" at end. | |
31190 | * doc/hostconfig.texi: Document | |
31191 | HOST_HOOKS_GT_PCH_ALLOC_GRANULARITY. | |
31192 | ||
31193 | 2004-06-04 Bernardo Innocenti <bernie@develer.com> | |
31194 | ||
31195 | * config/m68k/m68k.h: Remove comments copied over from tm.texi. | |
31196 | Rename 68000 and 68k to m68k for consistency in comments. Remove | |
31197 | trailing whitespace before EOLs and before TABs. | |
31198 | (MAX_CODE_ALIGN): Remove unused macro. | |
31199 | (CALL_USED_REGISTERS): Reformat and add comments. | |
31200 | ||
31201 | 2004-06-04 Frank Ch. Eigler <fche@redhat.com> | |
31202 | ||
31203 | * gcc.c (MFLIB_SPEC): Remove library references, to require users | |
31204 | to enumerate -lmudflap* and dependencies when linking. | |
31205 | ||
31206 | 2004-06-04 Paolo Bonzini <bonzini@gnu.org> | |
31207 | ||
31208 | PR target/15822 | |
31209 | * dojump.c (do_jump): Fix uninitialized variable tcode1. | |
31210 | ||
31211 | 2004-06-04 Jerry Quinn <jlquinn@optonline.net> | |
31212 | ||
31213 | * Makefile.in (insn-conditions.o): Back out removal of reload.h. | |
31214 | * genconditions.c (write_header): Back out removal of reload.h. | |
31215 | ||
31216 | 2004-06-04 Jan Hubicka <jh@suse.cz> | |
31217 | ||
31218 | Re-apply hopefully fixed patch: | |
31219 | * i386.md (UNSPECV_EH_RETURN): Kill. | |
31220 | (eh_return): Use jump_insn. | |
31221 | (eh_return_si, eh_return_di): Change pattern to jump instruction. | |
31222 | ||
31223 | 2004-06-04 Jeff Law <law@redhat.com> | |
31224 | ||
31225 | * cfgrtl.c (try_redirect_by_replacing_jump): Fix return value. | |
31226 | ||
31227 | 2004-06-04 Steven Bosscher <stevenb@suse.de> | |
31228 | ||
31229 | * except.c (for_each_eh_region): New function. | |
31230 | * except.h (for_each_eh_region): Add a prototype for it. | |
31231 | * tree-cfg.c (update_eh_labels): New function, callback for | |
31232 | for_each_eh_region. | |
31233 | (label_for_bb): Make global static, unfortunately. | |
31234 | (cleanup_dead_labels): Also update label references for | |
31235 | exception regions. | |
31236 | ||
31237 | 2004-06-03 Chris Demetriou <cgd@broadcom.com> | |
31238 | ||
31239 | * config/mips/mips.c (struct irix_section_align_entry): Fix | |
31240 | GTY marker. | |
31241 | ||
31242 | 2004-06-03 Geoffrey Keating <geoffk@apple.com> | |
31243 | ||
31244 | * toplev.c (check_global_declarations): Don't ask for | |
31245 | DECL_ASSEMBLER_NAME unless the function really is declared | |
31246 | static and not defined. | |
31247 | ||
31248 | 2004-06-03 Matt Austern <austern@apple.com> | |
31249 | ||
31250 | PR c++/15428 | |
31251 | * default.h (TARGET_WEAK_NOT_IN_ARCHIVE_TOC): New name | |
31252 | for TARGET_EXPLICIT_INSTANTIATIONS_ONE_ONLY, with reversed sense. | |
31253 | * config/darwin.h (TARGET_WEAK_NOT_IN_ARCHIVE_TOC): Likewise. | |
31254 | * doc/tm.texi (TARGET_WEAK_NOT_IN_ARCHIVE_TOC): Rewrite | |
31255 | documentation to reflect the new macro name and to clarify its | |
31256 | meaning. | |
31257 | ||
31258 | 2004-06-03 Steven Bosscher <stevenb@suse.de> | |
31259 | ||
31260 | * rtl.def (VAR_LOCATION): Make RTX_EXTRA. | |
31261 | ||
31262 | 2004-06-03 Andrew Pinski <pinskia@physics.uc.edu> | |
31263 | ||
31264 | * config/darwin.c (machopic_indirect_data_reference): Copy | |
31265 | the SYMBOL_REF_DECL from the original RTX for the new | |
31266 | non-lazy pointer RTX. | |
31267 | ||
31268 | 2004-06-03 Mark G. Adams <mark.g.adams@sympatico.ca> | |
31269 | ||
31270 | * tree.h: Remove include of version.h | |
31271 | * c-cppbuiltin.c: Include version.h | |
31272 | * diagnostic.c: Include version.h | |
31273 | * dwarf2out.c: Include version.h | |
31274 | * toplev.c: Include version.h | |
31275 | * vmsdbgout.c: Include version.h | |
31276 | * Makefile.in: Remove dependency on version.h from TREE_H, and | |
31277 | add dependencies to required .o targets | |
31278 | ||
31279 | 2004-06-03 Jerry Quinn <jlquinn@optonline.net> | |
31280 | ||
31281 | * Makefile.in (RA_H, RESOURCE_H, SCHED_INT_H, CFGLAYOUT_H, | |
31282 | CFGLOOP_H, DF_H, DDG_H, TREE_SSA_LIVE_H): New. | |
31283 | (TARGET_H): Add insn-modes.h. | |
31284 | (tree-ssa.o, tree-cfg.o, tree-ssa-loop.o, toplev.o, passes.o, | |
31285 | loop.o, loop-doloop.o, unroll.o, cfgloop.o, cfgloopanal.o, | |
31286 | loop-iv.o, cfgloopmanip.o, loop-init.o, loop-unswitch.o, | |
31287 | loop-unroll.o, ddg.o, modulo-sched.o, predict.o, | |
31288 | cfglayout.o, ifcvt.o): Replace cfgloop.h with CFGLOOP_H. | |
31289 | (toplev.o, passes.o, cfghooks.o, cfgloopmanip.o, loop-init.o, | |
31290 | loop-unswitch.o, loop-unroll.o, ddg.o, modulo-sched.o, | |
31291 | bb-reorder.o, tracer.o, cfglayout.o): Replace cfglayout.h with | |
31292 | CFGLAYOUT_H. | |
31293 | (ra.o, ra-build.o, ra-colorize.o, ra-debug.o, ra-rewrite.o): | |
31294 | Replace ra.h with RA_H. | |
31295 | (resource.o, regrename.o, insn-conditions.o, insn-emit.o, | |
31296 | insn-recog.o): Replace resource.h with RESOURCE_H. | |
31297 | (ddg.o, modulo-sched.o, haifa-sched.o, sched-deps.o, sched-rgn.o, | |
e8366202 | 31298 | sched-ebb.o, sched-vis.o, out_object_file): Replace sched-int.h |
3eb54e5f ILT |
31299 | with SCHED_INT_H. |
31300 | (web.o, lcm.o, df.o, ra.o, ra-build.o, ra-colorize.o, ra-debug.o, | |
31301 | ra-rewrite.o): Replace df.h with DF_H. | |
31302 | (ddg.o, modulo-sched.o): Replace ddf.h with DDG_H. | |
31303 | (tree-outof-ssa.o, tree-ssa-live.o, tree-ssa-copyrename.o): | |
31304 | Replace tree-ssa-live.h with TREE_SSA_LIVE_H. | |
31305 | (insn-conditions.o): Remove unused reload.h. | |
31306 | * cfglayout.h: Add include guard. Include basic-block.h. | |
31307 | * cfgloop.h: Add include guard. Include basic-block.h, rtl.h. | |
31308 | * ddg.h: Include sbitmap.h, basic-block.h, df.h. | |
31309 | * df.h: Add include guard. Include bitmap.h, sbitmap.h, | |
31310 | basic-block.h. | |
e8366202 | 31311 | * genconditions.c: Remove reload.h. |
3eb54e5f ILT |
31312 | * ra.h: Add include guard. Include bitmap.h, sbitmap.h, |
31313 | hard-reg-set.h, insn-modes.h. | |
31314 | * resource.h: Add include guard. Include hard-reg-set.h. | |
e8366202 | 31315 | * sched-int.h: Add include guard. Include insn-attr.h, |
3eb54e5f ILT |
31316 | basic-block.h, rtl.h. |
31317 | * target.h: Add include guard. Include insn-modes.h. | |
31318 | * tree-ssa-live.h: Include partition.h. | |
31319 | ||
31320 | 2004-06-03 Daniel Berlin <dberlin@dberlin.org> | |
31321 | Kenneth Zadeck <zadeck@naturalbridge.com> | |
31322 | ||
31323 | * tree-ssa-ccp.c (varying_ssa_edges): New worklist. | |
31324 | (add_var_to_ssa_edges_worklist): Add value argument. | |
31325 | Update callers. | |
31326 | Use new worklist. | |
31327 | (process_ssa_edge_worklist): New function. | |
31328 | (tree_ssa_ccp): Move worklist processing core to | |
31329 | process_ssa_edge_worklist, and just call that for the two worklists. | |
31330 | ||
31331 | 2004-06-03 Steven Bosscher <stevenb@suse.de> | |
31332 | ||
31333 | * basic-block.c (tail_recursion_label_list): Don't declare. | |
31334 | (CLEANUP_PRE_SIBCALL): Remove. Renumber the other CLEANUP_* | |
31335 | accordingly. | |
31336 | * cfgbuild.c (find_label_refs): Remove. | |
31337 | (find_basic_blocks_1): Don't handle CALL_PLACEHOLDER insns. | |
31338 | * cfgcleanup.c (tail_recursion_label_p): Remove. | |
31339 | (merge_blocks_move): Do not check for tail recursion. | |
31340 | (try_optimize_cfg): Likewise. | |
31341 | (cleanup_cfg): Never handle CLEANUP_PRE_SIBCALL. | |
31342 | * cfgrtl.c (tail_recursion_label_list): Remove. | |
31343 | * except.c (remove_unreachable_regions): Don't handle | |
31344 | CALL_PLACEHOLDER insns. | |
31345 | (convert_from_eh_region_ranges_1, can_throw_internal, | |
31346 | can_throw_external): Likewise. | |
31347 | * function.c (free_after_compilation): Don't clear | |
31348 | x_tail_recursion_label. | |
31349 | (fixup_var_refs_insns): Don't handle CALL_PLACEHOLDER insns. | |
31350 | (identify_blocks_1): Don't recurse for CALL_PLACEHOLDER insns. | |
31351 | (reorder_blocks_1): Likewise. | |
31352 | * function.h (struct function): Remove x_tail_recursion_label | |
31353 | member. Don't define tail_recursion_label. | |
31354 | * jump.c (mark_all_labels): Don't handle CALL_PLACEHOLDER insns. | |
31355 | * print-rtl.c (print_rtx): Likewise. | |
31356 | * rtl.def (CALL_PLACEHOLDER): Remove. | |
31357 | * rtl.h (sibcall_use_t): Remove enum. | |
31358 | (optimize_sibling_and_tail_recursive_calls, | |
31359 | replace_call_placeholder): Remove function prototypes. | |
31360 | * stmt.c (tail_recursion_args): Remove. | |
31361 | (optimize_tail_recursion): Remove. | |
31362 | (expand_return): Don't check for possible tail recursion. | |
31363 | * tree.h (optimize_tail_recursion): Remove prototype. | |
31364 | ||
31365 | 2004-06-02 Jan Hubicka <jh@suse.cz> | |
31366 | ||
e8366202 | 31367 | * tree-cfg.c (tree_find_edge_insert_loc): Allow inserting before |
3eb54e5f ILT |
31368 | return_stmt. |
31369 | ||
31370 | 2004-06-02 Jason Merrill <jason@redhat.com> | |
31371 | ||
31372 | * Makefile.in (TAGS): Don't mess with c-parse.[ch]. | |
31373 | Do include c-parse.in. | |
31374 | ||
31375 | 2004-06-02 Eric Christopher <echristo@redhat.com> | |
31376 | ||
31377 | * c-typeck.c (common_type): Don't lose type qualifiers | |
31378 | when creating new variants. | |
31379 | ||
31380 | 2004-06-02 Andrew Pinski <pinskia@physics.uc.edu> | |
31381 | ||
31382 | PR tree-optimization/14042 | |
31383 | PR tree-optimization/14729 | |
31384 | PR tree-optimization/14736 | |
31385 | * tree-ssa.c (tree_ssa_useless_type_conversion_1): | |
31386 | Check the type which the pointer points to | |
31387 | instead of the pointer types. | |
31388 | ||
31389 | 2004-06-02 Kazu Hirata <kazu@cs.umass.edu> | |
31390 | ||
31391 | PR tree-optimization/15738. | |
31392 | * builtins.c (fold_builtin_strchr): Transform | |
31393 | strrchr (s, '\0') to strchr (s, '\0'). | |
31394 | ||
31395 | 2004-06-02 Steven Bosscher <stevenb@suse.de> | |
31396 | ||
31397 | * i386.c (ix86_adjust_cost): Don't increase the cost for | |
31398 | load+operation for PROCESSOR_PENTIUMPRO, it is already | |
31399 | modelled in the DFA description | |
31400 | ||
31401 | 2004-06-01 Jerry Quinn <jlquinn@optonline.net> | |
31402 | ||
31403 | * Makefile.in (EXPR_H): Add insn-config.h, function.h, | |
31404 | $(RTL_H), flags.h, $(TREE_H), $(MACHMODE_H), $(EXPR_H). | |
31405 | (ALIAS_H, EMIT_RTL_H): New. | |
31406 | (cselib.o): Replace EXPR_H with EMIT_RTL_H. | |
31407 | (cfgcleanup.o): Add EMIT_RTL_H. | |
31408 | (alias.o): Replace EXPR_H with EMIT_RTL_H and ALIAS_H. | |
31409 | * alias.c: Replace expr.h with emit-rtl.h and alias.h. | |
31410 | * attribs.c, c-lex.c, c-obj-common.c, c-semantics.c: Remove expr.h. | |
31411 | * cfgcleanup.c, cselib.c: Replace expr.h with emit-rtl.h. | |
31412 | * expr.h: Add include guard. Include function.h, rtl.h, flags.h, | |
31413 | tree.h, machmode.h, insn-config.h, alias.h, emit-rtl.h. | |
31414 | (get_varargs_alias_set, get_frame_alias_set, record_base_value, | |
31415 | record_alias_subset, new_alias_set, can_address_p): Move to alias.h. | |
31416 | (set_mem_alias_set, set_mem_align, set_mem_expr, set_mem_offset, | |
31417 | set_mem_size): Move to emit-rtl.h. | |
31418 | * emit-rtl.h: New. | |
31419 | * alias.h: New. | |
31420 | ||
31421 | 2004-06-01 Eric Botcazou <ebotcazou@act-europe.fr> | |
31422 | ||
31423 | * function.c (walk_fixup_memory_subreg): New parameter 'var'. | |
31424 | Call fixup_memory_subreg only if the MEM is equal to 'var'. | |
31425 | Adjust recursive calls to self. | |
31426 | (fixup_var_refs_insn): Pass 'var' to walk_fixup_memory_subreg. | |
31427 | ||
31428 | 2004-06-01 Richard Henderson <rth@redhat.com> | |
31429 | Andrew Pinski <pinskia@physics.uc.edu> | |
31430 | ||
31431 | * c-parse.in (OFFSETOF, offsetof_member_designator): New. | |
31432 | (primary): Handle offsetof. Add error productions for faux functions. | |
31433 | Move component_ref objc checking to build_component_ref. | |
31434 | (reswords): Add offsetof. | |
31435 | (rid_to_yy): Add offsetof. | |
31436 | * c-tree.h (build_offsetof): Declare. | |
31437 | * c-common.h (objc_is_public): Declare. | |
31438 | * c-typeck.c (build_component_ref): Check objc_is_public. | |
31439 | (build_offsetof): New. | |
31440 | * stub-objc.c (objc_is_public): New. | |
31441 | * objc/objc-act.c, objc/objc-act.h (objc_is_public): Rename | |
31442 | from is_public. | |
31443 | * ginclude/stddef.h (offsetof): Use __builtin_offsetof. | |
31444 | * doc/extend.texi (Offsetof): Move from C++ section to C section | |
31445 | and rewrite for __builtin_offsetof. | |
31446 | ||
31447 | 2004-06-01 Peter Barada <peter@the-baradas.com> | |
31448 | Peter Jakubek <peter@laseranimation.com> | |
31449 | ||
e8366202 | 31450 | * config/m68k/m68k.c(m68k_output_mi_thunk): For ColdFire, use %d0 as |
3eb54e5f ILT |
31451 | a scratch to perform an add to memory. |
31452 | ||
31453 | 2004-06-01 Bernardo Innocenti <bernie@develer.com> | |
31454 | ||
31455 | PR target/14018 | |
31456 | * config/m68k/m68k.c (m68k_align_loops_string, m68k_align_jumps_string, | |
31457 | m68k_align_funcs_string, m68k_align_loops, m68k_align_jumps, | |
31458 | m68k_align_funcs): Remove. | |
31459 | (override_options): Remove code to handle -malign-* options. | |
31460 | * config/m68k/m68k.h (TARGET_OPTIONS): Remove -malign-* options. | |
31461 | (FUNCTION_BOUNDARY, LOOP_ALIGN, LOOP_ALIGN_AFTER_BARRIER): Remove. | |
31462 | (m68k_align_loops_string, m68k_align_jumps_string, | |
31463 | m68k_align_funcs_string, m68k_align_loops, m68k_align_jumps, | |
31464 | m68k_align_funcs): Remove definitions. | |
31465 | ||
31466 | 2004-06-01 Paul Eggert <eggert@cs.ucla.edu> | |
31467 | ||
31468 | PR target/15626 | |
31469 | * doc/install.texi (sparc-sun-solaris2*): Document messages issued | |
31470 | by the Sun linker in conjunction with the Sun assembler. | |
31471 | (sparc-sun-solaris2.7): Update revision info for Sun patch 106950. | |
31472 | ||
31473 | 2004-06-01 Jeff Law <law@redhat.com> | |
31474 | ||
31475 | * stmt.c (expand_decl): Be more selective about calling | |
31476 | mark_reg_pointer. | |
31477 | ||
31478 | 2004-06-01 Nicola Pero <nicola@brainstorm.co.uk> | |
31479 | ||
31480 | PR objc/7993 | |
31481 | * objc-act.c (is_private): Do not emit the 'instance variable %s | |
31482 | is declared private' error. | |
31483 | (is_public): Emit the error after calling is_private. | |
31484 | (lookup_objc_ivar): If the instance variable is private, return 0 | |
31485 | - the instance variable is invisible here. | |
31486 | ||
31487 | 2004-06-01 Eric Botcazou <ebotcazou@libertysurf.fr> | |
31488 | ||
31489 | * doc/invoke.texi (-static-libgcc): Explicitly mention | |
31490 | non-GNU linkers. | |
31491 | ||
31492 | 2004-06-01 Bernardo Innocenti <bernie@develer.com> | |
31493 | ||
31494 | PR target/12968 | |
31495 | * doc/invoke.texi: Document stack alignment side-effect of -mshort. | |
31496 | ||
31497 | 2004-05-31 Joseph S. Myers <jsm@polyomino.org.uk> | |
31498 | ||
31499 | PR c/15749 | |
31500 | * c-decl.c (grokdeclarator, finish_struct): Don't pedwarn for | |
31501 | misuses of structures with flexible array members if | |
31502 | in_system_header. | |
31503 | ||
31504 | 2004-05-31 Eric Botcazou <ebotcazou@libertysurf.fr> | |
31505 | ||
31506 | PR target/15693 | |
31507 | * config/sparc/sparc.c (compare_operand): New predicate. | |
31508 | * config/sparc/sparc.h (PREDICATE_CODES): Add it. | |
31509 | * config/sparc/sparc.md (cmpsi expander): Use it. If the first | |
31510 | operand is a ZERO_EXTRACT and the second operand is not zero, | |
31511 | force the former to a register. | |
31512 | (cmpdi expander): Likewise. | |
31513 | ||
31514 | 2004-05-31 Geoffrey Keating <geoffk@apple.com> | |
31515 | ||
31516 | * gengtype-lex.l: Catch stray GTY markers in the files gengtype | |
31517 | looks at. | |
31518 | * alias.c (alias_invariant_size): Make alias_invariant_size | |
31519 | static, fix GTY marker. | |
31520 | ||
31521 | 2004-05-31 Kazu Hirata <kazu@cs.umass.edu> | |
31522 | ||
31523 | PR tree-optimization/15743. | |
31524 | * builtins.c (fold_builtin_1): Fold index() and rindex(). | |
31525 | ||
31526 | 2004-05-31 Roger Sayle <roger@eyesopen.com> | |
31527 | ||
31528 | PR middle-end/15069 | |
31529 | * fold-const.c (fold_single_bit_test): Only perform "(X & C) != 0" | |
31530 | into "X < 0" (where C is the signbit) if X's type is a full mode. | |
31531 | ||
31532 | 2004-05-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
31533 | ||
31534 | * pa.md: Disable the peephole2 patterns that generate indexed | |
31535 | floating-point stores when indexing is disabled. | |
31536 | ||
31537 | 2004-05-31 Gabriel Dos Reis <gdr@integrable-solutions.net> | |
31538 | ||
31539 | * c-pretty-print.c (pp_c_left_bracket): Make a function. | |
31540 | (pp_c_right_bracket): Likewise. | |
31541 | (pp_c_star): Likewise. | |
31542 | (pp_c_ampersand): Define. | |
31543 | * c-pretty-print.h (pp_c_left_bracket): Declare. | |
31544 | (pp_c_right_bracket): Likewise. | |
31545 | (pp_c_star): Likewise. | |
31546 | (pp_c_ampersand): Likewise. | |
31547 | ||
31548 | 2004-05-31 Eric Botcazou <ebotcazou@libertysurf.fr> | |
31549 | ||
31550 | * config/sol2.h (__enable_execute_stack): ANSIfy function | |
31551 | definition. | |
31552 | ||
31553 | 2004-05-31 Danny Smith <dannysmith@users.sourceforge.net> | |
31554 | ||
31555 | * c-incpath.c (add_path): Canonicalize paths to use '/' if | |
31556 | HAVE_DOS_BASED_FILESYSTEM. | |
31557 | ||
31558 | 2004-05-31 Steven Bosscher <stevenb@suse.de> | |
31559 | ||
31560 | * tree-ssa-dom.c (record_equivalences_from_incoming_edge): | |
31561 | Only look at case labels if the immediate dominator is also | |
31562 | the only predecessor. Don't look for more case labels if the | |
31563 | first seen is a case range. | |
31564 | ||
31565 | 2004-05-31 Kazu Hirata <kazu@cs.umass.edu> | |
31566 | ||
31567 | * builtins.c: Add a prototype for fold_builtin_strchr(). | |
31568 | ||
31569 | 2004-05-31 Paolo Bonzini <bonzini@gnu.org> | |
31570 | ||
31571 | Revert this patch: | |
31572 | 2004-05-27 Paolo Bonzini <bonzini@gnu.org> | |
31573 | ||
31574 | * combine.c (gen_binary): Remove. | |
31575 | (known_cond, simplify_shift_const | |
31576 | find_split_point, combine_simplify_rtx, | |
31577 | simplify_if_then_else, simplify_set, | |
31578 | simplify_logical, expand_field_assignment, | |
31579 | extract_left_shift, force_to_mode, | |
31580 | if_then_else_cond, apply_distributive_law, | |
31581 | simplify_and_const_int, simplify_shift_const, | |
31582 | gen_lowpart_for_combine, simplify_comparison, | |
31583 | reversed_comparison): Replace with | |
31584 | simplify_gen_binary, simplify_gen_relational or | |
31585 | distribute_and_simplify_rtx. | |
31586 | (distribute_and_simplify_rtx): New function. | |
31587 | ||
31588 | 2004-05-30 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
31589 | ||
31590 | * pa.c (emit_move_sequence): Fix loading of non 14-bit CONST operands | |
31591 | when generating PIC code. | |
31592 | ||
31593 | 2004-05-30 Andrew Pinski <pinskia@physics.uc.edu> | |
31594 | ||
31595 | * c-decl.c (c_expand_body_1): Remove and fold back into ... | |
31596 | (c_expand_body): here. | |
31597 | (c_expand_decl): Move to ... | |
31598 | * c-common.c (c_expand_decl): Here and remove check for nested | |
31599 | functions. | |
31600 | * c-common.h (c_expand_decl): Add prototype. | |
31601 | * c-tree.h (c_expand_decl): Remove. | |
31602 | ||
31603 | 2004-05-30 Roger Sayle <roger@eyesopen.com> | |
31604 | ||
31605 | * fold-const.c (combine_comparisons, optimize_bit_field_compare, | |
31606 | range_binop, fold_truthop, fold_binary_op_with_conditional_arg, | |
31607 | fold_mathfn_compare, fold_inf_compare, fold, | |
31608 | fold_relational_hi_lo, nondestructive_fold_binary_to_constant): | |
31609 | Use constant_boolean_node where appropriate. Don't bother using | |
31610 | fold_convert on the second argument to omit_one_operand. | |
31611 | ||
31612 | 2004-05-30 Roger Sayle <roger@eyesopen.com> | |
31613 | ||
31614 | * doc/c-tree.texi (Expressions): Document FLOOR_DIV_EXPR, | |
31615 | CEIL_DIV_EXPR, ROUND_DIV_EXPR, FLOOR_MOD_EXPR, CEIL_MOD_EXPR, | |
31616 | ROUND_MOD_EXPR, EXACT_DIV_EXPR. Improve documentation of | |
31617 | TRUNC_DIV_EXPR, TRUNC_MOD_EXPR and comparison operations. | |
31618 | Add missing (but documented) tree nodes to the index. | |
31619 | ||
31620 | 2004-05-30 Steven Bosscher <stevenb@suse.de> | |
31621 | ||
31622 | PR tree-optimization/14819 | |
31623 | * builtins.c (fold_builtin_strchr): New. | |
31624 | (fold_builtin_1): Handle BUILT_IN_STRCHR and BUILT_IN_STRRCHR | |
31625 | with fold_builtin_strchr(). | |
31626 | ||
31627 | 2004-05-30 Kazu Hirata <kazu@cs.umass.edu> | |
31628 | ||
31629 | * bb-reorder.c, builtins.c, c-common.c, c-gimplify.c, | |
31630 | c-incpath.c, cgraphunit.c, ddg.c, defaults.h, dwarf2out.c, | |
31631 | expmed.c, flags.h, gcc.c, gensupport.c, gimplify.c, global.c, | |
31632 | passes.c, reg-stack.c, target.h, toplev.c, tree-alias-ander.c, | |
31633 | tree-alias-common.c, tree-cfg.c, tree-complex.c, tree-dfa.c, | |
31634 | tree-eh.c, tree-mudflap.c, tree-mudflap.h, tree-outof-ssa.c, | |
31635 | tree-phinodes.c, tree-pretty-print.c, tree-ssa-alias.c, | |
31636 | tree-ssa-ccp.c, tree-ssa-live.c, tree-ssa-live.h, | |
31637 | tree-ssa-pre.c, tree.h, value-prof.h, varasm.c: Fix comment | |
31638 | formatting. | |
31639 | ||
31640 | 2004-05-30 Steven Bosscher <stevenb@suse.de> | |
31641 | ||
31642 | * gimplify.c (sort_case_labels): New. Split out from... | |
31643 | (gimplify_switch_expr): ...here. Use it. | |
31644 | * tree-eh.c (lower_try_finally_switch): Sort the labels of | |
31645 | the SWITCH_EXPR created here before leaving the function. | |
31646 | * tree.c (sort_case_labels): Add prototype. | |
31647 | ||
31648 | 2004-05-30 Andrew Pinski <pinskia@physics.uc.edu> | |
31649 | ||
31650 | * fold-const.c (fold) [case TRUTH_NOT_EXPR]: Make sure the type is | |
31651 | of BOOLEAN_TYPE. | |
31652 | ||
31653 | 2004-05-30 Kazu Hirata <kazu@cs.umass.edu> | |
31654 | ||
31655 | * c-common.c, calls.c, cfgcleanup.c, cgraph.c, cgraphunit.c, | |
31656 | ddg.c, ddg.h, df.c, df.h, except.c, expr.c, flags.h, | |
31657 | fold-const.c, gcc.c, gimplify.c, haifa-sched.c, | |
31658 | modulo-sched.c, tree-inline.c, tree-into-ssa.c, tree-nested.c, | |
31659 | tree-nrv.c, tree-ssa-ccp.c, tree-ssa-dom.c, tree-ssa-live.c, | |
31660 | tree-ssa-loop.c, tree-ssa-pre.c, tree-tailcall.c, tree.h: Fix | |
31661 | comment typos. Follow spelling conventions. | |
31662 | ||
31663 | 2004-05-29 Geoffrey Keating <geoffk@apple.com> | |
31664 | ||
31665 | * gengtype-yacc.y: Add NESTED_PTR token. | |
31666 | (option): Record `nested_ptr' option. | |
31667 | * gengtype-lex.l: Handle `nested_ptr' keyword. | |
31668 | * gengtype.c (walk_type): Process `nested_ptr' option. | |
31669 | * gengtype.h (struct nested_ptr_data): New. | |
31670 | * doc/gty.texi (GTY Options): Document `nested_ptr' option. | |
31671 | * stringpool.c (struct string_pool_data): Make 'entries' point to | |
31672 | ht_identifier instead of tree. | |
31673 | (gt_pch_save_stringpool): Don't adjust pointers. | |
31674 | (gt_pch_restore_stringpool): Call ht_load. | |
31675 | ||
31676 | 2004-05-29 Jason Merrill <jason@redhat.com> | |
31677 | ||
31678 | * gimplify.c (gimplify_expr): Don't build a statement list | |
31679 | if no gimplification was necessary. | |
31680 | ||
31681 | 2004-05-29 Joseph S. Myers <jsm@polyomino.org.uk> | |
31682 | ||
31683 | * pretty-print.c (pp_base_format_text): Support %< instead of %` | |
31684 | and %> as well as %'. | |
31685 | * c-format.c: Use %< and %>. | |
31686 | (gcc_diag_char_table, gcc_cdiag_char_table, | |
31687 | gcc_cxxdiag_char_table): Update. | |
31688 | ||
31689 | 2004-05-29 Joseph S. Myers <jsm@polyomino.org.uk> | |
31690 | ||
31691 | * c-typeck.c (common_type): Correct comment. | |
31692 | ||
31693 | 2004-05-29 Peter Barada <peter@the-baradas.com> | |
31694 | ||
31695 | * config/m68k/m68k.c (CONST_METHOD): Add MVZ, MVS. | |
31696 | * config/m68k/m68k.c (const_method): Likewise. | |
31697 | * config/m68k/m68k.c (const_int_cost): Likewise. | |
31698 | * config/m68k/m68k.c (const_int_cost): Likewise. | |
31699 | * config/m68k/m68k.c (output_move_const_into_data_reg): Likewise. | |
31700 | ||
31701 | 2004-05-29 Peter Barada <peter@the-baradas.com> | |
31702 | ||
31703 | * config/m68k/m68k.h (EXTRA_CONSTRAINT): add 'U' for register offset | |
31704 | addressing. | |
31705 | * config/m68k/m68k.md: Add 'U,U' alternative to ColdFire variants of | |
31706 | movsi,movhi,movqi insn patterns. | |
31707 | ||
31708 | 2004-05-28 Andrew Pinski <pinskia@physics.uc.edu> | |
31709 | ||
31710 | * c-semantics.c (emit_local_var): Remove code for DECL_INITIAL. | |
31711 | ||
31712 | PR target/15720 | |
31713 | * config/darwin.c (machopic_indirect_call_target): Copy | |
31714 | the SYMBOL_REF_DECL from the original RTX for the new | |
31715 | stub RTX. | |
31716 | ||
31717 | 2004-05-28 DJ Delorie <dj@redhat.com> | |
31718 | ||
31719 | * stor-layout.c (place_field): Revert erroneous commit. | |
31720 | ||
31721 | 2004-05-28 Ziemowit Laski <zlaski@apple.com> | |
31722 | ||
31723 | * config/rs6000/altivec.h (vec_ctf, vec_vcfsx, vec_vcfux, vec_cts, | |
31724 | vec_ctu, vec_dss, vec_dst, vec_dstst, vec_dststt, vec_dstt, vec_ld, | |
31725 | vec_ldl, vec_lvsl, vec_lvsr, vec_sld, vec_splat, vec_vspltw, | |
31726 | vec_vsplth, vec_vspltb, vec_splat_s8, vec_splat_s16, vec_splat_s32, | |
31727 | vec_splat_u8, vec_splat_u16, vec_splat_u32, vec_st, vec_stl, | |
31728 | vec_ste): Remove type checks for integral parameters and literals | |
31729 | from '..._args_eq' macros. | |
31730 | ||
31731 | 2004-05-28 Aldy Hernandez <aldyh@redhat.com> | |
31732 | ||
31733 | * c-common.c (fname_as_string): Fix xcalloc to xmalloc. | |
31734 | ||
31735 | 2004-05-28 Aldy Hernandez <aldyh@redhat.com> | |
31736 | ||
31737 | * testsuite/g++.dg/charset/function.cc: New. | |
31738 | ||
31739 | * testsuite/gcc.dg/charset/function.c: New. | |
31740 | ||
31741 | * c-decl.c (c_make_fname_decl): Free return value from | |
31742 | fname_as_string. | |
31743 | ||
31744 | * cp/decl.c (cp_make_fname_decl): Free return value from | |
31745 | fname_as_string. | |
31746 | ||
31747 | * c-common.c (fname_as_string): Translate if necessary. | |
31748 | ||
31749 | 2004-05-28 Geoffrey Keating <geoffk@apple.com> | |
31750 | ||
31751 | * stringpool.c: Add comments to PCH saving/restoring routines. | |
31752 | ||
31753 | 2004-05-28 Andrew Pinski <pinskia@physics.uc.edu> | |
31754 | ||
31755 | * c-common.c (c_estimate_num_insns_1): Kill. | |
31756 | (c_estimate_num_insns): Kill. | |
31757 | * c-common.h (c_estimate_num_insns): Kill. | |
31758 | ||
31759 | * gthr-posix.h: Check for _POSIX_PRIORITY_SCHEDULING | |
31760 | when checking for _POSIX_THREAD_PRIORITY_SCHEDULING. | |
31761 | Remove comment about not checking for | |
31762 | _POSIX_PRIORITY_SCHEDULING. | |
31763 | * gthr-posix.c: Likewise. | |
31764 | ||
31765 | 2004-05-28 Paolo Bonzini <bonzini@gnu.org> | |
31766 | Roger Sayle <roger@eyesopen.com> | |
31767 | ||
31768 | PR rtl-optimization/15649 | |
31769 | Add LTGT_EXPR and improve pretty-printing of unordered | |
31770 | comparisons. | |
31771 | * c-common.c (c_common_truthvalue_conversion): | |
31772 | Handle LTGT_EXPR. | |
31773 | * c-typeck.c (build_binary_op): Likewise. | |
31774 | * dojump.c (do_jump): Likewise. | |
31775 | * expr.c (expand_expr_real_1, do_store_flag): Likewise. | |
31776 | * predict.c (tree_predict_by_opcode): Likewise. | |
31777 | * real.c (real_compare): Likewise. | |
31778 | * tree-cfg.c (verify_expr): Likewise. | |
31779 | * tree-inline.c (estimate_num_insns_1): Likewise. | |
31780 | * tree-pretty-print.c (dump_generic_node): Likewise. | |
31781 | Handle ORDERED_EXPR, UNORDERED_EXPR. | |
31782 | (op_symbol): Print unordered comparisons differently | |
31783 | than ordered ones. | |
31784 | * tree.def (LTGT_EXPR): New '<' tree code. | |
31785 | * doc/c-tree.texi (Expressions): Document floating-point | |
31786 | comparison nodes. | |
31787 | ||
31788 | Fold comparisons between floating point values. | |
31789 | * fold-const.c (enum comparison_code): New, from | |
31790 | #define'd constants. Define compcodes for unordered | |
31791 | comparisons and for invalid transformations. | |
31792 | (invert_tree_comparison): Add "honor_nans" parameter. | |
31793 | (fold_truthop): Revamp to work on floating-point types too. | |
31794 | (comparison_to_compcode): Support unordered comparisons. | |
31795 | Use new enum comparison_code. | |
31796 | (compcode_to_comparison): Likewise. | |
31797 | (combine_compcodes): New function. | |
31798 | (invert_truthvalue): Let invert_tree_comparison decide | |
31799 | whether it is valid to fold the comparison. Fold ORDERED | |
31800 | and UNORDERED even if flag_unsafe_math_optimizations is off, | |
31801 | and the remaining even if flag_unsafe_math_optimizations | |
31802 | is off but we are under -fno-trapping-math. | |
31803 | (fold_relational_const): Integer modes do not honor NaNs. | |
31804 | ||
31805 | 2004-05-28 Paul Brook <paul@codesourcery.com> | |
31806 | ||
31807 | * config/arm/arm.c (arm_output_epilogue): Remove redundant code. | |
31808 | ||
31809 | 2004-05-28 Paul Brook <paul@codesourcery.com> | |
31810 | ||
31811 | * config/arm/arm.c (thumb_force_lr_save): New function. | |
31812 | (arm_get_frame_offsets, thumb_unexpanded_epilogue, | |
31813 | thumb_output_function_prologue): Use it. | |
31814 | (thumb_expand_prologue): Set lr_save_eliminated. | |
31815 | ||
31816 | 2004-05-28 Richard Sandiford <rsandifo@redhat.com> | |
31817 | ||
31818 | * config/mips/mips.md (extendsidi2): Tie the source and destination | |
31819 | of the register alternative. Split it into nothing. | |
31820 | ||
31821 | 2004-05-28 Richard Sandiford <rsandifo@redhat.com> | |
31822 | ||
31823 | * rtl.h (skip_consecutive_labels): Declare. | |
31824 | * emit-rtl.c (skip_consecutive_labels): New function. | |
31825 | * reorg.c (relax_delay_slots, dbr_schedule): Use it. | |
31826 | * jump.c (follow_jumps): Say what null return values mean. | |
31827 | ||
31828 | 2004-05-28 Kaz Kojima <kkojima@gcc.gnu.org> | |
31829 | ||
31830 | PR target/13250 | |
31831 | * config/sh/sh.md (rotlsi3): Use emit_move_insn. | |
31832 | ||
31833 | 2004-05-27 Kaz Kojima <kkojima@gcc.gnu.org> | |
31834 | ||
31835 | * config/sh/t-linux (SHLIB_MAPFILES): Use sh specific | |
31836 | libgcc-std.ver. | |
31837 | * config/sh/libgcc-std.ver: New file. | |
31838 | ||
31839 | 2004-05-27 Bryce McKinlay <mckinlay@redhat.com> | |
31840 | ||
31841 | * except.c: Revert change of 2004-05-26. | |
31842 | * config/i386/i386.md: Revert change of 2004-05-27. | |
31843 | ||
31844 | 2004-05-27 Bryce McKinlay <mckinlay@redhat.com> | |
31845 | ||
31846 | * configure.ac: Remove --enable-tree-browser option. | |
31847 | Define TREEBROWSER when ac_tree_checking is defined. | |
31848 | * configure: Rebuilt. | |
31849 | ||
31850 | 2004-05-27 Olivier Hainque <hainque@act-europe.fr> | |
31851 | ||
31852 | * expr.c (store_constructor): Restore sanity check on | |
31853 | the size of the type before clearing. | |
31854 | ||
31855 | 2004-05-27 Jan Hubicka <jh@suse.cz> | |
31856 | ||
e8366202 | 31857 | * cfgbuild.c (control_flow_insn_p): Notice noreturn call |
3eb54e5f ILT |
31858 | |
31859 | 2004-05-27 Paolo Bonzini <bonzini@gnu.org> | |
31860 | ||
31861 | * combine.c (gen_binary): Remove. | |
31862 | (known_cond, simplify_shift_const | |
31863 | find_split_point, combine_simplify_rtx, | |
31864 | simplify_if_then_else, simplify_set, | |
31865 | simplify_logical, expand_field_assignment, | |
31866 | extract_left_shift, force_to_mode, | |
31867 | if_then_else_cond, apply_distributive_law, | |
31868 | simplify_and_const_int, simplify_shift_const, | |
31869 | gen_lowpart_for_combine, simplify_comparison, | |
31870 | reversed_comparison): Replace with | |
31871 | simplify_gen_binary, simplify_gen_relational or | |
31872 | distribute_and_simplify_rtx. | |
31873 | (distribute_and_simplify_rtx): New function. | |
31874 | * simplify-rtx.c (simplify_binary_operation): | |
31875 | Use nonzero_bits to simplify ANDs where we are | |
31876 | turning off bits already known to be off in OP0. | |
31877 | ||
31878 | 2004-05-27 Alan Modra <amodra@bigpond.net.au> | |
31879 | ||
31880 | PR target/14478 | |
31881 | * config/rs6000/rs6000.c (reg_or_neg_short_operand): Don't allow zero. | |
31882 | ||
31883 | 2004-05-27 Josef Zlomek <zlomekj@suse.cz> | |
31884 | ||
31885 | PR middle-end/14084 | |
31886 | * emit-rtl.c (gen_rtx_REG_offset): Adjust the offset according | |
31887 | to size of decl. | |
31888 | ||
31889 | 2004-05-26 Aldy Hernandez <aldyh@redhat.com> | |
31890 | ||
31891 | PR/14924 | |
31892 | * config/rs6000/rs6000.c (spe_expand_stv_builtin): New. | |
31893 | ||
31894 | 2004-05-26 Roger Sayle <roger@eyesopen.com> | |
31895 | ||
31896 | * tree.h: Fix comment typo. | |
31897 | ||
31898 | 2004-05-27 Steven Bosscher <stevenb@suse.de> | |
31899 | ||
31900 | * gimplify.c (compare_case_labels): New function. | |
31901 | (gimplify_switch_expr): Sort case labels, and make sure the | |
31902 | last label in the label vector is the default case. | |
31903 | * tree-cfg.c (group_case_labels): New function. | |
31904 | (build_tree_cfg): Cleanup redundant labels and group case labels | |
31905 | before creating edges. | |
31906 | (cleanup_dead_labels): Handle GOTO_EXPRs. | |
31907 | (find_case_label_for_value): Use a binary search to find the | |
31908 | case label for the given value. | |
31909 | * tree-gimple.c: Mention that labels are sorted, and that the | |
31910 | last label must be the default. | |
31911 | ||
31912 | 2004-05-27 Jan Hubicka <jh@suse.cz> | |
31913 | ||
31914 | * cfgcleanup.c (try_optimize_cfg): Do not merge across jumptables. | |
31915 | ||
31916 | 2004-05-27 Jan Hubicka <jh@suse.cz> | |
31917 | ||
31918 | * i386.md (UNSPECV_EH_RETURN): Kill. | |
31919 | (eh_return): Use jump_insn. | |
31920 | (eh_return_si, eh_return_di): Change pattern to jump instruction. | |
31921 | ||
31922 | 2004-05-26 Jan Hubicka <jh@suse.cz> | |
31923 | ||
e8366202 | 31924 | * cfgcleanup.c (try_forward_edges): Do not check loop structure when |
3eb54e5f ILT |
31925 | not loop optimizing. |
31926 | ||
31927 | 2004-05-26 Jan Hubicka <jh@suse.cz> | |
31928 | ||
e8366202 | 31929 | * except.c (can_throw_internal): Notice RESX instructions. |
3eb54e5f ILT |
31930 | |
31931 | 2004-05-26 Eric Botcazou <ebotcazou@act-europe.fr> | |
31932 | ||
31933 | * varasm.c (output_constant) <INTEGER_TYPE>: Pass the minimum | |
31934 | of the two sizes to assemble_integer. | |
31935 | ||
31936 | 2004-05-25 Paul Brook <paul@codesourcery.com> | |
31937 | ||
31938 | * config/arm/arm.c (thumb_exit, thumb_unexpanded_epilogue): Remove | |
31939 | pointless #ifdef. | |
31940 | ||
31941 | 2004-04-25 Paolo Bonzini <bonzini@gnu.org> | |
31942 | ||
31943 | * Makefile.in (top_builddir): Define to . | |
31944 | ||
31945 | 2004-05-25 Alexandre Oliva <aoliva@redhat.com> | |
31946 | ||
31947 | * configure.ac (gcc_cv_ld): Prefer in-tree ld over whatever the | |
31948 | top-level detects, except when in-tree ld is being cross-built. | |
31949 | (gcc_cv_as): Likewise for as. Use AS_FOR_TARGET otherwise, and | |
31950 | then AS only if target is host. | |
31951 | * configure: Rebuilt. | |
31952 | ||
31953 | 2004-05-25 Vladimir Makarov <vmakarov@redhat.com> | |
31954 | ||
31955 | * global.c (global_alloc): Call make_accurate_live_analysis. | |
31956 | (record_one_conflict): Remove dead code. | |
31957 | (mark_reg_clobber): Remove ATTRIBUTE_UNUSED for parameter data. | |
31958 | (bb_info): New structure. | |
31959 | (BB_INFO, BB_INFO_BY_INDEX): New macros. | |
31960 | (allocate_bb_info, free_bb_info, mark_reg_change, | |
31961 | calculate_local_reg_bb_info, set_up_bb_rts_numbers, rpost_cmp, | |
31962 | modify_bb_reg_pav, calculate_reg_pav, | |
31963 | make_accurate_live_analysis): New functions. | |
31964 | ||
31965 | 2004-05-25 Devang Patel <dpatel@apple.com> | |
31966 | ||
31967 | * alias.c (init_alias_analysis): Use ggc_calloc instead of | |
31968 | xrealloc. | |
31969 | (end_alias_analysis): Use ggc_free instead fo free. | |
31970 | ||
31971 | 2004-05-25 Andrew Pinski <pinskia@physics.uc.edu> | |
31972 | ||
31973 | PR target/15546 | |
31974 | * config/ia64/ia64.h (ASM_OUTPUT_FDESC): Mark the DECL | |
31975 | as needed to be outputted. | |
31976 | ||
31977 | 2004-05-25 Jan Hubicka <jh@suse.cz> | |
31978 | ||
e8366202 | 31979 | * builtins.def (__builtin_expect): Mark the function as const¬hrow. |
3eb54e5f ILT |
31980 | |
31981 | 2004-05-25 Ayal Zaks <zaks@il.ibm.com> | |
31982 | Mostafa Hagog <mustafa@il.ibm.com> | |
31983 | ||
31984 | * Makefile.in (modulo-sched.o, ddg.o): New. | |
31985 | * ddg.h, ddg.c, modulo-sched.c: New files. | |
31986 | * cfglayout.c (duplicate_insn_chain): Remove "static" and push | |
31987 | internals to "dupicate_insn". | |
31988 | (duplicate_insn): New function. | |
31989 | * cfglayout.h (duplicate_insn_chain, duplicate_insn): New | |
31990 | declarations. | |
31991 | * common.opt (fmodulo-sched): New flag. | |
31992 | * df.c (df_bb_regno_last_use_find, df_bb_regno_first_def_find): | |
31993 | Remove static and forward declaration. | |
31994 | (df_find_def, df_reg_used, df_bb_regno_last_def_find): New | |
31995 | functions. | |
31996 | * df.h (df_bb_regno_last_use_find, df_bb_regno_first_def_find, | |
31997 | df_bb_regno_last_def_find, df_find_def, df_reg_used): New | |
31998 | declarations. | |
31999 | * flags.h (flag_modulo_sched): New flag. | |
32000 | * opts.c (common_handle_option): Handle modulo-sched flag. | |
32001 | * params.def (max-sms-loop-number, sms-max-ii-factor, | |
32002 | sms-dfa-history, sms-loop-average-count-threshold): New | |
32003 | parameters. | |
32004 | * params.h (MAX_SMS_LOOP_NUMBER, SMS_MAX_II_FACTOR, | |
32005 | SMS_DFA_HISTORY, SMS_LOOP_AVERAGE_COUNT_THRESHOLD): New | |
32006 | parameters. | |
32007 | * passes.c ("sms", "sms-vcg"): New dumps. | |
32008 | (rest_of_handle_sched): Call sms_schedule. | |
32009 | * rtl.h (sms_schedule): New declaration. | |
32010 | * timevar.def (TV_SMS): New. | |
32011 | * toplev.c (flag_modulo_sched): Initialize. | |
32012 | (f_options): Handle -fmodulo-sched option. | |
32013 | * docs/invoke.texi: Document -fmodulo-sched & -dm options. | |
32014 | * docs/passes.texi: Document new SMS pass. | |
32015 | ||
32016 | 2004-05-25 Paolo Bonzini <bonzini@gnu.org> | |
32017 | ||
32018 | * Makefile.in (OBJS): Add rtlhooks.o. | |
32019 | (rtlanal.o): Depend on function.h. | |
32020 | (cse.o): Depend on rtlhooks-def.h. | |
32021 | (combine.o): Depend on rtlhooks-def.h. | |
32022 | (rtlhooks.o): New rule. | |
32023 | * combine.c: Include rtlhooks-def.h. | |
32024 | (nonzero_bits, cached_nonzero_bits, nonzero_bits1, | |
32025 | num_sign_bit_copies, cached_num_sign_bit_copies, | |
32026 | num_sign_bit_copies1): Move most of the code to rtlanal.c. | |
32027 | (reg_nonzero_bits_for_combine, | |
32028 | reg_num_sign_bit_copies_for_combine): New functions holding | |
32029 | the remnants of the above. | |
32030 | (combine_rtl_hooks): New. | |
32031 | (combine_instructions): Set rtl_hooks instead of gen_lowpart. | |
32032 | * cse.c: Include rtlhooks-def.h. | |
32033 | (cse_rtl_hooks): New. | |
32034 | (cse_main): Set rtl_hooks instead of gen_lowpart. | |
32035 | * emit-rtl.c (gen_lowpart): Remove. | |
32036 | (gen_lowpart_general): Move to rtlhooks.c. | |
32037 | * rtl.h (nonzero_bits, num_sign_bit_copies, | |
32038 | struct rtl_hooks, rtl_hooks, general_rtl_hooks): New. | |
32039 | (gen_lowpart_general): Remove. | |
32040 | (gen_lowpart): Temporarily redefine as a macro. | |
32041 | * rtlanal.c: Include function.h. | |
32042 | (nonzero_bits, cached_nonzero_bits, nonzero_bits1, | |
32043 | num_sign_bit_copies, cached_num_sign_bit_copies, | |
32044 | num_sign_bit_copies1): New, from combine.c. | |
32045 | * rtlhooks.c: New file. | |
32046 | * rtlhooks-def.h: New file. | |
32047 | ||
32048 | 2004-05-25 Svein E. Seldal <Svein.Seldal@solidas.com> | |
32049 | ||
32050 | * config/avr/avr.h (LONG_LONG_TYPE_SIZE): Changed long long type | |
32051 | to support 32-bit -mint8 mode. | |
32052 | ||
32053 | * doc/invoke.texi (-mint8): Added documentation for the -mint8 | |
32054 | option in the AVR architecture. | |
32055 | ||
32056 | 2004-05-24 Mike Stump <mrs@apple.com> | |
32057 | ||
32058 | * doc/install.texi: Document that dejagnu 1.4.4 is required. | |
32059 | ||
32060 | 2004-05-24 Joseph S. Myers <jsm@polyomino.org.uk> | |
32061 | ||
32062 | * intl.h (open_quote, close_quote): New. | |
32063 | * intl.c (open_quote, close_quote): New. | |
32064 | (gcc_init_libintl): Set them. | |
32065 | * pretty-print.c: Include "intl.h". | |
32066 | (pp_base_format_text): Support 'q' format flag and %` and %' | |
32067 | formats. Use ' instead of ` in comments. | |
32068 | * c-format.c (gcc_diag_flag_specs, gcc_cxxdiag_flag_specs, | |
32069 | gcc_diag_char_table, gcc_cdiag_char_table, gcc_cxxdiag_char_table, | |
32070 | foramt_types_orig): Describe these new formats. | |
32071 | (decode_format_attr, check_function_format, | |
32072 | check_format_info_main): Use these new formats. | |
32073 | (status_warning): Use ATTRIBUTE_GCC_DIAG. | |
32074 | * toplev.c (ATTRIBUTE_GCC_DIAG): Increase required GCC version to | |
32075 | check these formats to 3.5. | |
32076 | ||
32077 | 2004-05-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> | |
32078 | ||
32079 | * Makefile.in (CPPLIBS): Renamed to CPPLIB. | |
32080 | (BACKEND): Reflect this. | |
32081 | (LIBDEPS): Move CPPLIB before LIBIBERTY. | |
32082 | (LIBS): Likewise. | |
32083 | ||
32084 | 2004-05-24 Ulrich Weigand <uweigand@de.ibm.com> | |
32085 | ||
32086 | PR tree-optimization/14197 | |
32087 | * builtins.c: Include "tree-gimple.h" | |
32088 | (readonly_data_expr): Use get_base_address. Make sure to call | |
32089 | decl_readonly_section only on trees it can handle. | |
32090 | * tree-gimple.c (get_base_address): Accept STRING_CST and | |
32091 | CONSTRUCTOR expressions. | |
32092 | * Makefile.in: Update dependencies. | |
32093 | ||
32094 | 2004-05-23 Paolo Bonzini <bonzini@gnu.org> | |
32095 | ||
32096 | Move libcpp to the toplevel. | |
32097 | * Makefile.in: Remove references to libcpp files, | |
32098 | use CPPLIBS instead of libcpp.a. Define SYMTAB_H | |
32099 | and change hashtable.h to that. | |
32100 | * aclocal.m4 (gcc_AC_HEADER_STDBOOL, | |
32101 | gcc_AC_HEADER_STRING, gcc_AC_C__BOOL): Remove. | |
32102 | * configure.ac (gcc_AC_C__BOOL, HAVE_UCHAR): Remove tests. | |
32103 | * configure: Regenerate. | |
32104 | * config.in: Regenerate. | |
32105 | * c-ppoutput.c: Include ../libcpp/internal.h instead of cpphash.h. | |
32106 | * cppcharset.c: Removed. | |
32107 | * cpperror.c: Removed. | |
32108 | * cppexp.c: Removed. | |
32109 | * cppfiles.c: Removed. | |
32110 | * cpphash.c: Removed. | |
32111 | * cpphash.h: Removed. | |
32112 | * cppinit.c: Removed. | |
32113 | * cpplex.c: Removed. | |
32114 | * cpplib.c: Removed. | |
32115 | * cpplib.h: Removed. | |
32116 | * cppmacro.c: Removed. | |
32117 | * cpppch.c: Removed. | |
32118 | * cpptrad.c: Removed. | |
32119 | * cppucnid.h: Removed. | |
32120 | * cppucnid.pl: Removed. | |
32121 | * cppucnid.tab: Removed. | |
32122 | * hashtable.c: Removed. | |
32123 | * hashtable.h: Removed. | |
32124 | * line-map.c: Removed. | |
32125 | * line-map.h: Removed. | |
32126 | * mkdeps.c: Removed. | |
32127 | * mkdeps.h: Removed. | |
32128 | * stringpool.h: Include symtab.h instead of hashtable.h. | |
32129 | * tree.h: Include symtab.h instead of hashtable.h. | |
32130 | * system.h (O_NONBLOCK, O_NOCTTY): Do not define. | |
32131 | ||
32132 | 2004-05-23 Paolo Bonzini <bonzini@gnu.org> | |
32133 | ||
32134 | * gcc.c (struct prefix_list): Add forward declaration. | |
32135 | (do_spec_path): New function, extracted from... | |
32136 | (do_spec_1) <'D'>: ... here. Drop support for | |
32137 | SPACE_AFTER_L_OPTION. | |
32138 | (do_spec_1) <'I'>: Use do_spec_path. | |
32139 | (process_command): Do not store the 'include' suffix | |
32140 | in include_prefixes. | |
32141 | * system.h: Poison SPACE_AFTER_L_OPTION. | |
32142 | ||
ad41bd84 | 32143 | 2004-05-23 Roger Sayle <roger@eyesopen.com> |
3eb54e5f ILT |
32144 | |
32145 | * fold-const.c (non_lvalue): Explicitly list the tree codes that | |
32146 | need to be wrapped by NON_LVALUE_EXPR, instead of those that don't. | |
32147 | ||
32148 | 2004-05-23 Joseph S. Myers <jsm@polyomino.org.uk> | |
32149 | ||
32150 | * doc/gcc.texi, doc/gccint.texi, doc/include/gcc-common.texi: | |
32151 | Update based on printed manual. Enable setting of offsets for | |
32152 | FSFPRINT and move it to gcc-common.texi. | |
32153 | * doc/gcc.texi: Update FSF printing details. | |
32154 | * doc/gccint.texi: Remove FSF printing details. | |
32155 | ||
32156 | 2004-05-23 Andrew Pinski <pinskia@physics.uc.edu> | |
32157 | ||
32158 | * config/rs6000/t-rs6000: Remove the disabling -Werror. | |
32159 | ||
32160 | 2004-05-22 Roger Sayle <roger@eyesopen.com> | |
32161 | ||
32162 | * builtins.c (expand_builtin_strstr, expand_builtin_strchr, | |
32163 | expand_builtin_strrchr, expand_builtin_strpbrk, | |
32164 | expand_builtin_mempcpy, expand_builtin_memcmp, | |
32165 | expand_builtin_strcmp, expand_builtin_strncmp, | |
32166 | expand_builtin_strcat, std_expand_builtin_va_start, | |
32167 | std_expand_builtin_va_arg, expand_builtin_va_copy, | |
32168 | expand_builtin_signbit, fold_builtin_cabs, | |
32169 | fold_builtin_logarithm, fold_builtin_mempcpy, | |
32170 | fold_builtin_signbit, fold_builtin_isascii, | |
32171 | fold_builtin_toascii, fold_builtin_isdigit, | |
32172 | fold_builtin_1, build_function_call_expr, | |
32173 | simplify_builtin_strchr, simplify_builtin_strrchr, | |
32174 | simplify_builtin_strpbrk, simplify_builtin_strncpy, | |
32175 | simplify_builtin_memcmp, simplify_builtin_strcmp, | |
32176 | simplify_builtin_strncmp, simplify_builtin_strncat, | |
32177 | simplify_builtin_strspn, simplify_builtin_strcspn, | |
32178 | simplify_builtin_fputs, simplify_builtin_sprintf): Replace calls | |
32179 | to build with calls to build2, build3 or omit_one_operand. | |
32180 | ||
32181 | 2004-05-22 Richard Sandiford <rsandifo@redhat.com> | |
32182 | ||
32183 | * config/mips/mips.c (mips_file_start): Emit a .gcc_compiled_longXX | |
32184 | section when generating EABI code. | |
32185 | ||
32186 | 2004-05-22 Andrew Pinski <pinskia@physics.uc.edu> | |
32187 | ||
32188 | PR 15546 | |
32189 | * config/i386/i386.c (output_pic_addr_const <case SYMBOL_REF>): | |
32190 | Call mark_decl_referenced on the SYMBOL_REF_DECL. | |
32191 | ||
32192 | 2004-05-22 Andrew Pinski <pinskia@physics.uc.edu> | |
32193 | ||
32194 | * c-common.c (c_common_truthvalue_conversion): Handle | |
32195 | UNEQ_EXPR, UNLE_EXPR, UNGE_EXPR, UNLT_EXPR, UNGT_EXPR, | |
32196 | ORDERED_EXPR, and UNORDERED_EXPR as comparison operators, | |
32197 | i.e. set the type to truthvalue_type_node and return. | |
32198 | ||
32199 | 2004-05-22 Zack Weinberg <zack@codesourcery.com> | |
32200 | ||
32201 | * tree.h (struct tree_decl): Add possibly_inlined bit. | |
32202 | (DECL_POSSIBLY_INLINED): New accessor macro. | |
32203 | * cgraph.h: Remove declaration of cgraph_inline_hash. | |
32204 | * cgraph.c: Remove definition of cgraph_inline_hash. | |
32205 | (hash_node): Revert to hashing DECL_UID. | |
32206 | (eq_node): Take two pointers to cgraph_node structures. | |
32207 | Compare DECL_UIDs. | |
32208 | (cgraph_remove_node): Pass the node directly to htab_find_slot. | |
32209 | (cgraph_varpool_hash_node): Rename hash_varpool_node; | |
32210 | hash on DECL_UID. | |
32211 | (eq_cgraph_varpool_node): Rename eq_varpool_node; take two | |
32212 | pointers to cgraph_varpool_node structures; compare DECL_UIDs. | |
32213 | (cgraph_node): Allocate a temporary node on the stack, fill in | |
32214 | its DECL field, and pass that to htab_find_slot. | |
32215 | (cgraph_varpool_node): Likewise. | |
32216 | (cgraph_function_possibly_inlined_p): If global info is ready, | |
32217 | return the DECL_POSSIBLY_INLINED bit. | |
32218 | * cgraphunit.c (cgraph_mark_inline_edge): Set DECL_POSSIBLY_INLINED | |
32219 | instead of mucking with cgraph_inline_hash. | |
32220 | ||
32221 | 2004-05-22 Joseph S. Myers <jsm@polyomino.org.uk> | |
32222 | ||
32223 | * doc/contrib.texi: Add g77 contributors. | |
32224 | ||
32225 | 2004-05-22 Richard Sandiford <rsandifo@redhat.com> | |
32226 | ||
32227 | * calls.c (initialize_argument_information): Forbid sibcalls if a | |
32228 | callee-copied argument is stored in the current function's frame. | |
32229 | ||
32230 | 2004-05-22 Eric Christopher <echristo@redhat.com> | |
32231 | ||
32232 | * fix-header.c (read_scan_file): Update for add_path change. | |
32233 | ||
32234 | 2004-05-22 Ben Elliston <bje@au.ibm.com> | |
32235 | ||
32236 | * c.opt (Wmissing-include-dirs): New. | |
32237 | * c-opts.c (c_common_handle_option): Pass true for user_supplied_p | |
32238 | to add_path () for -I, but false for OPT_idirafter, OPT_iquote and | |
32239 | OPT_isystem. Handle case OPT_Wmissing_include_dirs. | |
32240 | * c-incpath.h (add_path): Add fourth (bool) argument. | |
32241 | * c-incpath.c (add_env_var_paths): Pass false to add_path (). | |
32242 | (add_standard_paths): Likewise. | |
32243 | (remove_duplicates) [REASON_NOENT]: Warn if -Wmissing-include-dirs | |
32244 | is used and the directory was user-supplied via -I. | |
32245 | (add_path): Set p->user_supplied_p. Remove duplicated code by | |
32246 | using add_cpp_dir_path (). | |
32247 | * cpplib.h (struct cpp_options): Add warn_missing_include_dirs. | |
32248 | (struct cpp_dir): Add user_supplied_p. | |
32249 | * doc/invoke.texi (Warning Options): Document new option. | |
32250 | ||
32251 | 2004-05-21 Ulrich Weigand <uweigand@de.ibm.com> | |
32252 | ||
32253 | * fold-const.c (fold_read_from_constant_string): Convert result to | |
32254 | requested type. | |
32255 | ||
32256 | 2004-05-21 Richard Henderson <rth@redhat.com> | |
32257 | ||
32258 | * gimplify.c (mostly_copy_tree_r): Don't attempt to copy decls. | |
32259 | (copy_if_shared_r): Don't copy decls, types, constants, BINDs. | |
32260 | Don't mark VA_ARG_EXPRs volatile here. | |
32261 | (gimplify_modify_expr): Unshare TYPE_SIZE_UNIT. | |
32262 | ||
32263 | 2004-05-21 Richard Henderson <rth@redhat.com> | |
32264 | ||
32265 | * Makefile.in (tree-dump.o): Depend on tree-iterator.h. | |
32266 | * tree-dump.c (dequeue_and_dump): Dump STATEMENT_LISTs. | |
32267 | ||
32268 | 2004-05-21 Roger Sayle <roger@eyesopen.com> | |
32269 | ||
32270 | * fold-const.c (fold, fold_relational_hi_lo, | |
32271 | nondestructive_fold_binary_to_constant, | |
32272 | fold_read_from_constant_string): Use fold_convert instead of convert. | |
32273 | * builtins.c (simplify_builtin, simplify_builtin_strstr, | |
32274 | simplify_builtin_strchr, simplify_builtin_strrchr, | |
32275 | simplify_builtin_strpbrk): Use fold_convert instead of convert. | |
32276 | ||
32277 | 2004-05-21 Diego Novillo <dnovillo@redhat.com> | |
32278 | ||
32279 | * tree-flow-inline.h (num_immediate_uses): Don't abort if DF | |
32280 | is NULL. | |
32281 | ||
32282 | 2004-05-21 Jakub Jelinek <jakub@redhat.com> | |
32283 | ||
32284 | * config/sparc/linux64.h (OPTION_DEFAULT_SPECS): If SPARC_BI_ARCH, | |
32285 | override sparc.h definition. | |
32286 | ||
32287 | 2004-05-20 Roger Sayle <roger@eyesopen.com> | |
32288 | ||
32289 | * tree.c (array_type_nelts, save_expr, substitute_in_expr, | |
32290 | get_unwidened, get_narrower): Replace build with build2. | |
32291 | * fold-const.c (negate_expr, associate_trees, size_binop, | |
32292 | fold_convert, eval_subst, omit_one_operand, invert_truthvalue, | |
32293 | pedantic_omit_one_operand, distribute_bit_expr, | |
32294 | make_bit_field_ref, optimize_bit_field_compare, | |
32295 | decode_field_reference, range_binop, make_range, | |
32296 | build_range_check, fold_range_test, fold_truthop, | |
32297 | optimize_minmax_comparison, extract_muldiv_1, | |
32298 | fold_binary_op_with_conditional_arg, fold_mathfn_compare, | |
32299 | fold_inf_compare, fold_single_bit_test, fold, | |
32300 | fold_relational_hi_lo, nondestructive_fold_binary_to_constant): | |
32301 | Likewise replace build with either build2 or build3. | |
32302 | ||
32303 | 2004-05-20 Ian Lance Taylor <ian@wasabisystems.com> | |
32304 | ||
32305 | * system.h: Poison NO_RECURSIVE_FUNCTION_CSE. | |
32306 | * calls.c (prepare_call_address): Don't test | |
32307 | NO_RECURSIVE_FUNCTION_CSE. | |
32308 | * config/arc/arc.h (NO_RECURSIVE_FUNCTION_CSE): Don't define. | |
32309 | * config/arm/arm.h (NO_RECURSIVE_FUNCTION_CSE): Likewise. | |
32310 | * config/avr/avr.h (NO_RECURSIVE_FUNCTION_CSE): Likewise. | |
32311 | * config/frv/frv.h (NO_RECURSIVE_FUNCTION_CSE): Likewise. | |
32312 | * config/i386/i386.h (NO_RECURSIVE_FUNCTION_CSE): Likewise. | |
32313 | * config/ip2k/ip2k.h (NO_RECURSIVE_FUNCTION_CSE): Likewise. | |
32314 | * config/iq2000/iq2000.h (NO_RECURSIVE_FUNCTION_CSE): Likewise. | |
32315 | * config/m32r/m32r.h (NO_RECURSIVE_FUNCTION_CSE): Likewise. | |
32316 | * config/m68k/m68k.h (NO_RECURSIVE_FUNCTION_CSE): Likewise. | |
32317 | * config/mcore/mcore.h (NO_RECURSIVE_FUNCTION_CSE): Likewise. | |
32318 | * config/mips/mips.h (NO_RECURSIVE_FUNCTION_CSE): Likewise. | |
32319 | * config/stormy16/stormy16.h (NO_RECURSIVE_FUNCTION_CSE): | |
32320 | Likewise. | |
32321 | * config/xtensa/xtensa.h (NO_RECURSIVE_FUNCTION_CSE): Likewise. | |
32322 | * config/sh/sh.h: Remove NO_RECURSIVE_FUNCTION_CSE comment. | |
32323 | * doc/tm.texi (Costs): Remove documentation for | |
32324 | NO_RECURSIVE_FUNCTION_CSE. | |
32325 | ||
32326 | 2004-05-20 Paul Brook <paul@codesourcery.com> | |
32327 | ||
32328 | * unwind-dw2-fde.c (get_cie_encoding): Handle dwarf3 CIE format. | |
32329 | * unwind-dw2.c (extract_cie_info): Ditto. | |
32330 | (_Unwind_FrameState): Change retaddr_column to word type. | |
32331 | ||
32332 | 2004-05-20 Roger Sayle <roger@eyesopen.com> | |
32333 | ||
32334 | PR middle-end/3074 | |
32335 | * fold-const.c (strip_compound_expr): Delete function. | |
32336 | (count_cond): Delete function. | |
32337 | (fold_binary_op_with_conditional_arg): Only perform transformations | |
32338 | "a + (b?c:d) -> b ? a+c : a+d" and "(b?c:d) + a -> b ? c+a : d+a" | |
32339 | when a is constant. This greatly simplifies this routine. | |
32340 | ||
32341 | * tree.c (saved_expr_p): Delete function. | |
32342 | * tree.h (saved_expr_p): Delete function prototype. | |
32343 | ||
32344 | 2004-05-20 Andrew Pinski <pinskia@physics.uc.edu> | |
32345 | ||
32346 | * common.opt (ftree-loop-optimize): Remove. | |
32347 | ||
32348 | 2004-05-20 Daniel Jacobowitz <dan@debian.org> | |
32349 | ||
32350 | * Makefile.in (AR_FOR_TARGET, RANLIB_FOR_TARGET) | |
32351 | (NM_FOR_TARGET): Use := and $(shell). | |
32352 | (mainversion): Remove unused variable. | |
32353 | ||
32354 | 2004-05-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
32355 | ||
32356 | * reorg.c (delete_from_delay_slot): If we have a barrier after the | |
32357 | sequence containing the insn to be deleted, always reemit it. | |
32358 | ||
32359 | 2004-05-20 Richard Henderson <rth@redhat.com> | |
32360 | ||
32361 | PR 15454 | |
32362 | * tree-nested.c (get_chain_decl): Create a PARM_DECL by hand. | |
32363 | * function.c (expand_function_start): Expand static_chain_decl by hand. | |
32364 | * gimplify.c (create_tmp_var_name): Export. | |
32365 | * tree-gimple.h (create_tmp_var_name): Declare. | |
32366 | ||
32367 | 2004-05-20 Andrew Pinski <pinskia@physics.uc.edu> | |
32368 | ||
32369 | * rs6000.c (print_operand) <case 'z'>: Call | |
32370 | mark_decl_referenced before assemble_name. | |
32371 | ||
32372 | 2004-05-20 Zack Weinberg <zack@codesourcery.com> | |
32373 | ||
32374 | * cgraph.c (hash_node, eq_node, cgraph_node, cgraph_remove_node) | |
32375 | (cgraph_varpool_hash_node, eq_cgraph_varpool_node) | |
32376 | (cgraph_varpool_node): Hash on the pointer to the decl, not | |
32377 | the DECL_UID. Fixes 64-bit bootstrap failure. | |
32378 | ||
32379 | 2004-05-20 Richard Earnshaw <rearnsha@arm.com> | |
32380 | ||
32381 | * arm.md (ite_ne_zeroextractsi, ite_ne_zeroextractsi_shifted): Ensure | |
32382 | we don't earlyclobber operands used in the second insn. | |
32383 | ||
32384 | 2004-05-20 Steven Bosscher <stevenb@suse.de> | |
32385 | ||
32386 | * tree-mudflap.c: Formatting fixes. | |
32387 | ||
32388 | 2004-05-20 J"orn Rennecke <joern.rennecke@superh.com> | |
32389 | ||
32390 | * Makefile.in (GTFILES): Add $(srcdir)/reload.h. | |
32391 | * gengtype.c (open_base_files): Include reload.h in ifiles. | |
32392 | * reload.h (reg_equiv_memory_loc_varray): Declare. | |
32393 | * reload1.c (reg_equiv_memory_loc_varray): New variable. | |
32394 | (init_reload): Initialize it. | |
32395 | (reload): Instead of freeing reg_equiv_memory_loc, 'grow' | |
32396 | reg_equiv_memory_loc_varray to size 0. | |
32397 | * ra.c (reg_alloc): Allocate reg_equiv_memory_loc by | |
32398 | growing reg_equiv_memory_loc_varray to the desired size. | |
32399 | * passes.c (rest_of_handle_old_regalloc): Likewise. | |
32400 | * reload.c: Amend comment on calling init_reload. | |
32401 | ||
32402 | 2004-05-20 Nick Clifton <nickc@redhat.com> | |
32403 | ||
32404 | * config/c4x/c4x.h (INITIALIZE_TRAMPOLINE): Replace 'tramp' | |
32405 | with 'TRAMP' in the body of the macro definition. | |
32406 | ||
32407 | 2004-05-19 H.J. Lu <hongjiu.lu@intel.com> | |
32408 | ||
32409 | PR target/15383 | |
32410 | * config/ia64/ia64.c (ia64_expand_compare): Don't check | |
32411 | TARGET_HPUX for TFmode compare. Abort if op0 is in TFmode and | |
32412 | cmptf_libfunc isn't set. | |
32413 | (ia64_init_libfuncs): Rename TFmode libfuncs using the HPUX | |
32414 | conventions. | |
32415 | (ia64_sysv4_init_libfuncs): New. | |
32416 | ||
32417 | * config/ia64/sysv4.h (TARGET_INIT_LIBFUNCS): New. Defined as | |
32418 | ia64_sysv4_init_libfuncs. | |
32419 | ||
32420 | 2004-05-20 Falk Hueffner <falk@debian.org> | |
32421 | ||
32422 | PR other/15526 | |
32423 | * libgcc2.c (__mulvsi3): Fix overflow test. | |
32424 | ||
32425 | 2004-05-19 Andrew Pinski <pinskia@physics.uc.edu> | |
32426 | ||
32427 | PR c/14171 | |
32428 | * reg-stack.c (nan): Rename to ... | |
32429 | (not_a_num): Here. | |
32430 | (reg_to_stack): Rename nan to not_a_num. | |
32431 | (subst_stack_regs_pat): Likewise. | |
32432 | (convert_regs_entry): Likewise. | |
32433 | (convert_regs_1): Likewise. | |
32434 | ||
32435 | * tree-cfg.c (find_case_label_for_value): Replace call to | |
32436 | simple_cst_equal with tree_int_cst_equal. | |
32437 | ||
32438 | 2004-05-19 Jeff Law <law@redhat.com> | |
32439 | ||
32440 | * tree-into-ssa.c (prepare_operand_for_rename): New argument is_use. | |
32441 | If the operand is for a use, then strip away the SSA_NAME, do not | |
32442 | strip away the SSA_NAME for a set. Never call release_ssa_name. | |
32443 | (mark_def_sites): Appropriately pass additional argument to | |
32444 | prepare_operand_for_rename. If a VDEF_RESULT is not an SSA_NAME, | |
32445 | then set the VDEF_RESULT to the VDEF_OP. | |
32446 | (set_def_block): Strip away any SSA_NAME to get to the real | |
32447 | underlying variable. | |
32448 | ||
32449 | * tree-ssa-phiopt.c (value_replacement): Handle the case where | |
32450 | the desired edge out of COND_BLOCK reaches OTHER_BLOCK rather than | |
32451 | BB directly. | |
32452 | ||
32453 | 2004-05-19 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> | |
32454 | ||
32455 | PR c++/15463 | |
e8366202 | 32456 | * loop-iv.c (iv_number_of_iterations): Use trunc_int_for_mode on |
3eb54e5f ILT |
32457 | result of inverse. |
32458 | ||
32459 | PR rtl-optimization/15274 | |
32460 | * loop-iv.c (determine_max_iter, shorten_into_mode, | |
32461 | iv_number_of_iterations): Handle constants correctly. | |
32462 | * rtl.h (get_mode_bounds): Declaration changed. | |
32463 | * stor-layout.c (get_mode_bounds): Return a constant suitable for | |
32464 | the target mode. | |
32465 | ||
32466 | PR rtl-optimization/14692 | |
32467 | * loop-unswitch.c (may_unswitch_on): Try folding the result. | |
32468 | (unswitch_single_loop): Work correctly when may_unswitch_on | |
32469 | returns a folded constant. | |
32470 | ||
32471 | * loop-iv.c (implies_p): Handle A < B ==> A + 1 <= B. | |
32472 | * simplify-rtx.c (simplify_const_relational_operation): Optimize | |
32473 | comparisons with mode bounds. | |
32474 | ||
32475 | * function.c (struct temp_slot): Add new field prev. | |
32476 | (free_after_compilation, init_temp_slots): Free new fields. | |
32477 | (cut_slot_from_list, insert_slot_to_list, | |
32478 | temp_slots_at_level, max_slot_level, move_slot_to_level, | |
32479 | make_slot_available): New functions. | |
32480 | (assign_stack_temp_for_type, combine_temp_slots, | |
32481 | find_temp_slot_from_address, preserve_temp_slots, | |
32482 | preserve_rtl_expr_result, free_temp_slots, | |
32483 | free_temps_for_rtl_expr, pop_temp_slots): Work with | |
32484 | the new structure of lists. | |
32485 | (mark_all_temps_used): Removed. | |
32486 | * function.h (struct function): Field x_temp_slots | |
32487 | replaced by x_used_temp_slots and x_avail_temp_slots. | |
32488 | (temp_slots): Replaced by ... | |
32489 | (used_temp_slots, avail_temp_slots): New. | |
32490 | * tree.h (mark_all_temps_used): Declaration removed. | |
32491 | ||
32492 | * loop-iv.c (mark_single_set, get_biv_step_1, iv_analyze, | |
32493 | simplify_using_assignment): Take the expression out of | |
32494 | the expr_list wrapper. | |
32495 | ||
32496 | * loop-iv.c (iv_number_of_iterations): Improve clasification of | |
32497 | infinite loops. | |
32498 | ||
32499 | 2004-05-19 Roger Sayle <roger@eyesopen.com> | |
32500 | ||
32501 | * doc/tm.texi (TARGET_RTX_COSTS): Document that instruction | |
32502 | costs should be based on code size when optimizing for size. | |
32503 | ||
32504 | 2004-05-19 Paolo Bonzini <bonzini@gnu.org> | |
32505 | ||
32506 | * fold-const.c: Remove non-printable character 160. | |
32507 | ||
32508 | 2004-05-19 Nick Clifton <nickc@redhat.com> | |
32509 | ||
32510 | * doc/invoke.texi (ARM Options): Fix typo. | |
32511 | Remove descrption of -mshort-load-bytes and | |
32512 | -mno-short-load-bytes. | |
32513 | ||
32514 | * config/ip2k/ip2k.c (ip2k_composite_xexp_not_uses_reg_p): Add | |
32515 | missing parenthesis. | |
32516 | * config/ip2k/ip2k.c (ip2k_unary_operator): Likewise. | |
32517 | * config/ip2k/ip2k.c (ip2k_binary_operator): Likewise. | |
32518 | ||
32519 | 2004-05-19 Steven Bosscher <stevenb@suse.de> | |
32520 | ||
32521 | * expr.c (store_constructor): Build loop start and end by hand | |
32522 | instead of via loop functions from stmt.c. | |
32523 | (expand_expr_real_1): Abort if we see an EXIT_EXPR or a LOOP_EXPR. | |
32524 | Remove the code to expand them. | |
32525 | ||
32526 | * stmt.c (loop_stack): Remove this and everything related. | |
32527 | (struct nesting, enum nesting_desc): Update. | |
32528 | (expand_fixup): Likewise. | |
32529 | (expand_loop_start, expand_start_loop_continue_elsewhere, | |
32530 | expand_start_null_loop, expand_loop_continue_here, expand_end_loop, | |
32531 | expand_end_null_loop, expand_continue_loop, expand_exit_loop, | |
32532 | expand_exit_loop_if_false, expand_exit_loop_top_cond, | |
32533 | expand_exit_something): Remove. | |
32534 | * tree.h: Remove prototypes. | |
32535 | ||
32536 | 2004-05-18 Mike Stump <mrs@apple.com> | |
32537 | Devang Patel <dpatel@apple.com> | |
32538 | ||
32539 | * doc/tm.texi (TARGET_ASM_EMIT_UNWIND_LABEL): Add argument to indicate | |
32540 | if this label is for eh. | |
32541 | * config/darwin-protos.h (darwin_emit_unwind_label): Likewise. | |
32542 | * config/darwin.c (darwin_emit_unwind_label): Likewise. | |
32543 | * dwarf2out.c (output_call_frame_info): Likewise. | |
32544 | * output.h (default_emit_unwind_label): Likewise. | |
32545 | * target.h (unwind_label): Likewise. | |
32546 | * varasm.c (default_emit_unwind_label): Likewise. | |
32547 | ||
32548 | * config/darwin.h (DWARF2_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE, | |
32549 | DEBUG_FRAME_SECTION, DEBUG_INFO_SECTION, DEBUG_ABBREV_SECTION, | |
32550 | DEBUG_ARANGES_SECTION, DEBUG_MACINFO_SECTION, DEBUG_LINE_SECTION, | |
32551 | DEBUG_LOC_SECTION, DEBUG_PUBNAMES_SECTION, DEBUG_STR_SECTION, | |
32552 | DEBUG_RANGES_SECTION): Define. | |
32553 | ||
32554 | 2004-05-18 Zack Weinberg <zack@codesourcery.com> | |
32555 | ||
32556 | * cgraph.c (hash_node, eq_node, cgraph_node, cgraph_remove_node) | |
32557 | (cgraph_varpool_hash_node, eq_cgraph_varpool_node) | |
32558 | (cgraph_varpool_node): | |
32559 | Use DECL_UID for the key, not DECL_ASSEMBLER_NAME. | |
32560 | (cgraph_function_possibly_inlined_p): Use the decl itself for | |
32561 | the key, not DECL_ASSEMBLER_NAME. | |
32562 | (change_decl_assembler_name): No need to muck with the hash tables. | |
32563 | (cgraph_node_for_identifier, cgraph_varpool_node_for_identifier): | |
32564 | Delete. | |
32565 | * cgraphunit.c (cgraph_mark_inline_edge): Use the decl itself | |
32566 | for the key, not DECL_ASSEMBLER_NAME. | |
32567 | * cgraph.h: Remove prototypes of deleted functions. | |
32568 | * varasm.c (mark_referenced): Just set TREE_SYMBOL_REFERENCED. | |
32569 | (mark_decl_referenced): New function. | |
32570 | * tree.h: Prototype mark_decl_referenced. | |
32571 | * final.c (output_addr_const) <case SYMBOL_REF>: Call | |
32572 | mark_decl_referenced before assemble_name. | |
32573 | * c-decl.c (finish_decl): Use mark_decl_referenced. | |
32574 | ||
32575 | 2004-05-18 Andrew Pinski <pinskia@physics.uc.edu> | |
32576 | Jeff Law <law@redhat.com> | |
32577 | ||
32578 | * tree-ssa-phiopt.c (abs_replacement): New function. | |
32579 | (empty_block_p): New function extracted from... | |
32580 | (candidate_bb_for_phi_optimization): Break out empty block test. | |
32581 | (conditional_replacement): Use empty_block_p. | |
32582 | (value_replacement): Similarly. | |
32583 | ||
32584 | * Makefile.in (tree-ssa-phiopt.o): Depends on flags.h. | |
32585 | * tree-ssa-phiopt.c: Include flags.h. | |
32586 | (conditional_replacement): Remove argument names from prototype. | |
32587 | Minor formatting and comment fixes. | |
32588 | (tree_ssa_phiopt): If conditional_replacement returns false, then | |
32589 | call value_replacement. | |
32590 | (value_replacement): New function. | |
32591 | ||
32592 | 2004-05-18 Jeff Law <law@redhat.com> | |
32593 | ||
32594 | * tree-ssa-phiopt.c (replace_phi_with_stmt): New function extracted | |
32595 | from conditional_replacement. | |
32596 | (candidate_bb_for_phi_optimization): Similarly. | |
32597 | (conditional_replacement): Use replace_phi_with_stmt and | |
32598 | candidate_bb_for_phi_optimization. | |
32599 | ||
32600 | * tree-ssa-phiopt.c: Fix various formatting issues. | |
32601 | ||
32602 | 2004-05-18 Steven Bosscher <stevenb@suse.de> | |
32603 | ||
32604 | * config/s390/s390.c (s390_expand_movstr, s390_expand_clrstr, | |
32605 | s390_expand_cmpmem): Do not use expand_start_loop and | |
32606 | expand_end_loop, instead build the loop manually. | |
32607 | ||
32608 | 2004-05-18 Alan Modra <amodra@bigpond.net.au> | |
32609 | ||
32610 | * config/rs6000/rs6000.md (ctrsi_internal3): Delete. | |
32611 | (ctrsi_internal4, ctrdi_internal3, ctrdi_internal4): Delete. | |
32612 | ||
32613 | 2004-05-17 Jeff Law <law@redhat.com> | |
32614 | ||
32615 | * toplev.h (flag_delete_null_pointer_checks): Move from here to... | |
32616 | * flags.h (flag_delete_null_pointer_checks): Here. | |
32617 | * tree-flow.h (cprop_into_successor_phis): Add argument to prototype. | |
32618 | * tree-phinodes.c (resize_phi_node): Initialize PHI_ARG_NONZERO. | |
32619 | (add_phi_arg, remove_phi_arg_num): Similarly. | |
32620 | * tree-ssa-copy.c (cprop_into_successor_phis): Propagate nonzero | |
32621 | property into PHI nodes. | |
32622 | * tree-ssa-dom.c: Remove redundant inclusion of flags.h. | |
32623 | (record_equivalences_from_phis): If all PHI arguments are known to be | |
32624 | nonzero, then the result must be nonzero as well. | |
32625 | (cprop_into_phis): Pass nonzero_vars bitmap to cprop_into_successor_phis. | |
32626 | (record_equivalences_from_stmt): Check flag_delete_null_pointer_checks | |
32627 | appropriately. Walk the USE-DEF chains and propagate nonzero property | |
32628 | as appropriate. | |
32629 | * tree.h (PHI_ARG_NONZERO): Define. | |
32630 | (phi_arg_d): Add nonzero flag. | |
32631 | ||
32632 | 2004-05-17 Zack Weinberg <zack@codesourcery.com> | |
32633 | ||
32634 | * f: Entire directory removed | |
32635 | ||
32636 | * c-common.h (CTI_G77_INTEGER_TYPE, CTI_G77_UINTEGER_TYPE) | |
32637 | (CTI_G77_LONGINT_TYPE, CTI_G77_ULONGINT_TYPE) | |
32638 | (g77_integer_type_node, g77_uinteger_type_node) | |
32639 | (g77_longint_type_node, or g77_ulongint_type_node): Delete. | |
32640 | * c-common.c (c_common_nodes_and_builtins): Do not initialize | |
32641 | the above set of variables. | |
32642 | ||
32643 | * config/i386/uwin.h: No need to define WIN32_UWIN_TARGET. | |
32644 | * doc/invoke.texi, doc/standards.texi: Remove cross-references | |
32645 | to g77 manual. | |
32646 | ||
32647 | 2004-05-17 Steven Bosscher <stevenb@suse.de> | |
32648 | ||
32649 | PR tree-optimization/15438 | |
32650 | * tree-ssa-operands.c (get_expr_operands): Do not treat malloc | |
32651 | attributed functions as pure or const. | |
32652 | ||
32653 | 2004-05-17 Frank Ch. Eigler <fche@redhat.com> | |
32654 | ||
32655 | * tree-mudflap.c (mx_register_decls): Tolerate decl trees resulting | |
32656 | from source code with errors. | |
32657 | ||
32658 | 2004-05-17 Ranjit Mathew <rmathew@hotmail.com> | |
32659 | ||
32660 | Enable tree browser for all front ends. | |
32661 | * Makefile.in (cc1): Moved @TREEBROWSER@ from here... | |
32662 | (BACKEND): ...to here. | |
32663 | ||
32664 | 2004-05-17 Jan Hubicka <jh@suse.cz> | |
32665 | ||
32666 | * i386.c (construct_container): Do not produce BLKmode registers. | |
32667 | (classify_argument): Properly compute alignment of complex types. | |
32668 | ||
32669 | 2004-05-17 H.J. Lu <hongjiu.lu@intel.com> | |
32670 | ||
32671 | PR target/15084 | |
32672 | * config/i386/i386.md (*movsi_insv_1_rex64): Changed to DImode | |
32673 | and renamed to movdi_insv_1_rex64. | |
32674 | (insv): Support SImode for 32bit and DImode for 64bit. | |
32675 | ||
32676 | 2004-05-17 Richard Sandiford <rsandifo@redhat.com> | |
32677 | ||
32678 | * config/mips/mips.h (MASK_DEBUG_G, TARGET_DEBUG_G_MODE): Delete. | |
32679 | (TARGET_SWITCHES): Remove debugg. | |
32680 | * config/mips/mips.md (adddi3, ashldi3, ashrdi3, lshrdi3): Only handle | |
32681 | TARGET_64BIT. | |
32682 | (subdi3): Replace the define_expand with a define_insn, the latter | |
32683 | renamed from subdi3_internal_3. | |
32684 | (negdi2): Likewise negdi2_internal_2. | |
32685 | (adddi3_internal_[12], subdi3_internal, ashldi3_internal{,2,3}) | |
32686 | (ashrdi3_internal{,2,3}, lshrdi3_internal{,2,3}): Remove patterns | |
32687 | and associated define_splits. | |
32688 | (adddi3_internal): Renamed from adddi3_internal_3. | |
32689 | (ashldi3_internal): Likewise ashldi3_internal4. | |
32690 | (ashrdi3_internal): Likewise ashrdi3_internal4. | |
32691 | (lshrdi3_internal): Likewise lshrdi3_internal4. | |
32692 | ||
32693 | 2004-05-17 Richard Sandiford <rsandifo@redhat.com> | |
32694 | ||
32695 | * optabs.c (expand_unop): Try implementing negation using subtraction | |
32696 | from zero. | |
32697 | ||
32698 | 2004-05-16 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
32699 | ||
e8366202 | 32700 | * pa.md: Fix typo from last change. Remove DFmode move to and from |
3eb54e5f ILT |
32701 | SAR register. |
32702 | ||
32703 | 2004-05-16 Richard Earnshaw <rearnsha@arm.com> | |
32704 | ||
32705 | PR target/10982 | |
32706 | * arm.md (ne_zeroextractsi): Convert to insn-and-split. | |
32707 | (ne_zeroextractsi_shifted): New pattern. | |
32708 | (ite_ne_zeroextractsi): New pattern. | |
32709 | (ite_ne_zeroextractsi_shifted): New pattern. | |
32710 | ||
32711 | 2004-05-15 Steven Bosscher <stevenb@suse.de> | |
32712 | ||
32713 | * c-gimplify.c (c_genericize): | |
32714 | Replace calls via (*lang_hooks.foo) with lang_hooks.foo. | |
32715 | * c-parse.in <expr_no_commas>: Likewise. | |
32716 | <if_prefix>: Likewise. | |
32717 | <select_or_iter_stmt>: Likewise. | |
32718 | * expr.c (expand_var, expand_expr_real_1): Likewise. | |
32719 | * expr.h (expand_expr): Make it a static inline function. | |
32720 | Move prototype for expand_expr_real up before this. | |
32721 | * fold-const.c (fold_relational_hi_lo, fold_relational_const): | |
32722 | Likewise. | |
32723 | * gimplify.c (gimple_boolify, gimplify_addr_expr, | |
32724 | gimplify_asm_expr, gimplify_expr): Likewise. | |
32725 | * tree-cfg.c (dump_tree_cfg, dump_cfg_stats, tree_cfg2vcg, | |
32726 | dump_function_to_file): Likewise. | |
32727 | * tree-dfa.c (dump_immediate_uses, dump_dfa_stats): Likewise. | |
32728 | * tree-inline.c (remap_block, save_body, walk_tree): Likewise. | |
32729 | * tree-into-ssa.c (dump_tree_ssa): Likewise. | |
32730 | * tree-mudflap.c (mf_varname_tree, mf_file_function_line_tree): | |
32731 | Likewise. | |
32732 | * tree-optimize.c (execute_one_pass): Likewise. | |
32733 | * tree-pretty-print.c (dump_generic_bb_buff): Likewise. | |
32734 | * tree-ssa-alias.c (dump_alias_stats, dump_alias_info): Likewise. | |
32735 | ||
32736 | * objc/objc-act.c (objc_build_try_enter_fragment, | |
32737 | objc_build_try_epilogue, objc_build_catch_stmt, | |
32738 | objc_build_finally_prologue): Replace calls via (*lang_hooks.foo) | |
32739 | with lang_hooks.foo (). | |
32740 | ||
32741 | 2004-05-15 Roger Sayle <roger@eyesopen.com> | |
32742 | ||
32743 | * builtins.c (simplify_builtin_strcpy): Avoid use of chainon, so | |
32744 | that simplify_builtin doesn't destructively modify its argument. | |
32745 | ||
32746 | 2004-05-15 Richard Earnshaw <reanrsha@arm.com> | |
32747 | ||
32748 | * arm/lib1funcs.asm (_lshrdi3, _ashrdi3, _ashldi3): Add ASM | |
32749 | implementations for ARM and Thumb. | |
32750 | * arm/t-arm-elf (LIB1ASMFUNCS): Use them. | |
32751 | ||
32752 | 2004-05-15 Thomas Quinot <quinot@act-europe.fr> | |
32753 | ||
32754 | * prefix.c (update_path): Replace PREFIX with KEY only | |
32755 | when it matches a full directory name in PATH. | |
32756 | ||
32757 | 2004-05-15 Richard Earnshaw <reanrsha@arm.com> | |
32758 | ||
32759 | * arm.h (TARGET_APCS_32): Delete. | |
32760 | (TARGET_MMU_TRAPS): Delete. | |
32761 | (TARGET_CPU_CPP_BUILTINS): Unconditionally define __APCS_32__. Never | |
32762 | define __APCS_26__. | |
32763 | (CPP_SPEC): Remove checking of -mapcs-{26,32}. | |
32764 | (ARM_FLAG_APCS_32, ARM_FLAG_MMU_TRAPS): Delete. | |
32765 | (TARGET_SWITCHES): Remove alignment_traps and apcs-{26,32} switches. | |
32766 | (prog_mode_type): Delete. | |
32767 | (PROMOTE_MODE): Always promote unsigned for HImode. | |
32768 | (SECONDARY_INPUT_RELOAD_CLASS): Simplify. | |
32769 | (MASK_RETURN_ADDR): Simplify. | |
32770 | * arm.c (arm_prgmode): Delete. | |
32771 | (arm_override_options, arm_gen_rotated_half_load): Simplify. | |
32772 | (print_multi_reg, output_return_instruction): Simplify. | |
32773 | (arm_output_epilogue, arm_final_prescan_insn): Simplify. | |
32774 | (arm_return_addr): Simplify. | |
32775 | * arm.md (prog_mode): Delete. | |
32776 | (conds): Simplify. | |
32777 | (zero_extendhisi2, extendhisi2, movhi, movhi_bytes): Simplify. | |
32778 | (rotated_loadsi, movhi_insn_littleend, movhi_insn_bigend): Delete. | |
32779 | (loadhi_si_bigend, loadhi_preinc, loadhi_shiftpreinc): Delete. | |
32780 | (loadhi_shiftpredec): Delete. | |
32781 | (peephole for post-increment on HImode load): Delete. | |
32782 | * arm/crtn.asm: (FUNC_END): Simplify. | |
32783 | * arm/lib1funcs.asm: Remove APCS-26 return macros. | |
32784 | * arm/aof.h, arm/coff.h arm/elf.h arm/linux-elf.h arm/netbsd-elf.h | |
32785 | * arm/netbsd.h arm/pe.h arm/semi.h arm/semiaof.h arm/unknown-elf.h | |
32786 | * arm/vxworks.h arm/wince-pe.h: Tidy TARGET_DEFAULTS and | |
32787 | MULTILIB_DEFAULTS as required. | |
32788 | * arm/t-arm-elf arm/t-linux arm/t-pe arm/t-semi arm/t-wince-pe | |
32789 | * arm/t-xscale-coff arm/t-xscale-elf arm/uclinux-elf: Tidy MULTILIB | |
32790 | variables as required. | |
32791 | * doc/invoke.texi (ARM Options): Remove obsolete flags. | |
32792 | ||
32793 | 2004-05-15 Alan Modra <amodra@bigpond.net.au> | |
32794 | ||
32795 | * config/rs6000/rs6000.c (rs6000_va_arg <ABI_V4>): Don't use | |
32796 | UNITS_PER_WORD to calculate gpr size. Re-instate code to set reg | |
32797 | count to 8 to handle n_reg > 2. | |
32798 | ||
32799 | 2004-05-15 Joseph S. Myers <jsm@polyomino.org.uk> | |
32800 | ||
32801 | * doc/extend.texi: Update WG14 URL. | |
32802 | ||
32803 | 2004-05-15 Steven Bosscher <stevenb@suse.de> | |
32804 | ||
32805 | * basic-block.h (life_analysis, delete_noop_moves): | |
32806 | Update prototypes. | |
32807 | * bt-load.c (branch_target_load_optimize): Don't take the | |
32808 | insns stream as an argument. Update the life_analysis calls. | |
32809 | * combine.c (combine_instructions): Update delete_noop_moves | |
32810 | calls. | |
32811 | * flow.c (notice_stack_pointer_modification): Don't take the | |
32812 | insns stream as an argument. Work on the flow graph. | |
32813 | (life_analysis): Likewise. | |
32814 | (delete_noop_moves): Likewise. | |
32815 | * passes.c (rest_of_handle_stack_regs): Update reg_to_stack call. | |
32816 | (rest_of_handle_life): Update life_analysis call. | |
32817 | (rest_of_compilation): Likewise, and also update | |
32818 | branch_target_load_optimize call. | |
32819 | * ra.c (reg_alloc): Update life_analysis call. | |
32820 | * reg-stack.c (reg_to_stack): Likewise. Also, don't take | |
32821 | the insns stream as an argument. | |
32822 | * regrename.c (copyprop_hardreg_forward): Update delete_noop_moves | |
32823 | call. | |
32824 | * rtl.c (branch_target_load_optimize, reg_to_stack): Update | |
32825 | prototypes. | |
32826 | * value-profile.c (branch_prob): Update life_analysis call. | |
32827 | * web.c (web_main): Work on the CFG, not on the insns stream. | |
32828 | ||
32829 | * config/ip2k/ip2k.c (ip2k_reorg): Update life_analysis calls. | |
32830 | * config/m68hc11/m68hc11.c (m68hc11_reorg): Likewise. | |
32831 | * config/sh/sh.c (sh_output_mi_thunk): Likewise. | |
32832 | ||
32833 | 2004-05-15 Joseph S. Myers <jsm@polyomino.org.uk> | |
32834 | ||
32835 | PR c/15444 | |
32836 | * c-format.c (avoid_dollar_number): New function. | |
32837 | (check_format_info_main): Call avoid_dollar_number when operand | |
32838 | numbers might occur but has_operand_number == 0. | |
32839 | ||
32840 | 2004-05-14 Richard Earnshaw <rearnsha@arm.com> | |
32841 | ||
32842 | * arm.md (all peephole2 patterns): Use predicates that validate | |
32843 | register classes as appropriate. | |
32844 | ||
32845 | 2004-05-14 Steven Bosscher <stevenb@suse.de> | |
32846 | ||
32847 | PR opt/14472 | |
32848 | * tree-tailcall.c (process_assignment): Use STRIP_NOPS to | |
32849 | ignore type conversions that do not inhibit tail calling. | |
32850 | (find_tail_calls): Likewise. | |
32851 | ||
32852 | 2004-05-14 Jeff Law <law@redhat.com> | |
32853 | ||
32854 | * tree-ssa-dom.c (redirect_edges_and_update_ssa_graph): Don't even | |
32855 | bother marking bypassed virtuals for out-of-ssa. Instead merge | |
32856 | bypassed virtuals into vars_to_rename just before into-ssa pass. | |
32857 | ||
32858 | * tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Reorganize | |
32859 | so that it picks up more opportunities to eliminate ABS expressions | |
32860 | or turn them into negations. | |
32861 | ||
32862 | 2004-05-14 Steven Bosscher <stevenb@suse.de> | |
32863 | ||
32864 | * passes.c (rest_of_handle_null_pointer): Remove. | |
32865 | (rest_of_handle_cse): Don't call rest_of_handle_null_pointer. | |
32866 | (rest_of_compilation): Likewise. | |
32867 | * rtl.h (delete_null_pointer_checks): Remove prototype. | |
32868 | * gcse.c (rd_kill, rd_gen, reaching_defs, rd_out, ae_in, ae_out): | |
32869 | Remove declarations. | |
32870 | (get_bitmap_width, alloc_rd_mem, free_rd_mem, handle_rd_kill_set, | |
32871 | compute_kill_rd, compute_rd, alloc_avail_expr_mem, | |
32872 | free_avail_expr_mem, compute_ae_gen, expr_killed_p, compute_ae_kill, | |
32873 | expr_reaches_here_p, computing_insn, def_reaches_here_p, | |
32874 | can_disregard_other_sets, handle_avail_expr, classic_gcse, | |
32875 | one_classic_gcse_pass, invalidate_nonnull_info, | |
32876 | delete_null_pointer_checks_1, delete_null_pointer_checks, | |
32877 | expr_reached_here_p_work): Remove. | |
32878 | (gcse_main): Do not perform classic GCSE when optimizing for size. | |
32879 | (alloc_pre_mem, free_pre_mem): Don't touch ae_in and ae_out, they | |
32880 | are never used. | |
32881 | ||
32882 | 2004-05-14 Andrew Pinski <pinskia@physics.uc.edu> | |
32883 | ||
32884 | PR optimization/14466 | |
32885 | * tree-complex.c (make_temp): Remove. | |
32886 | (gimplify_val): Replace make_temp with make_rename_temp | |
32887 | and add NULL as the second argument. | |
32888 | (expand_complex_div_wide): Likewise. | |
32889 | * tree-dfa.c (make_rename_temp): New function. | |
32890 | * tree-flow.h (make_rename_temp): Declare. | |
32891 | * tree-sra.c (make_temp): Remove. | |
32892 | (lookup_scalar): Replace make_temp with make_rename_temp. | |
32893 | (create_scalar_copies): Likewise. | |
32894 | * tree-ssa-phiopt.c (conditional_replacement): When we | |
32895 | get non gimple create a temporary variable to hold the | |
32896 | casted expression. | |
32897 | ||
32898 | 2004-05-14 Paul Brook <paul@codesourcery.com> | |
32899 | ||
32900 | * stor-layout.c (update_alignment_for_field): Use | |
32901 | targetm.align_anon_bitfield. | |
32902 | * target-def.h (TARGET_ALIGN_ANON_BITFIELD): Define. | |
32903 | (TARGET_INITIALIZER): Use it. | |
32904 | * target.h (struct gcc_target): Add align_anon_bitfield. | |
e8366202 | 32905 | * config/arm/arm.c (arm_align_anon_bitfield): New function. |
3eb54e5f ILT |
32906 | (TARGET_ALIGN_ANON_BITFIELD): Define. |
32907 | * doc/tm.texi: Document TARGET_ALIGN_ANON_BITFIELD. | |
32908 | ||
32909 | 2004-05-13 Zack Weinberg <zack@codesourcery.com> | |
32910 | ||
32911 | * tree.def (documentation): Remove mention of class 'b'. | |
32912 | (BLOCK): Now in class 'x'. | |
32913 | * c-common.c (verify_tree): Remove case 'b'. | |
32914 | * c-typeck.c (same_translation_unit_p): Change 'b' to 'x'. | |
32915 | * calls.c (calls_function_1): Control cannot get past the switch | |
32916 | when exp is a BLOCK. | |
32917 | * print-tree.c (print_node): Move code for class 'b' to the class | |
32918 | 'c'/'x' switch, as case BLOCK. | |
32919 | * tree.c (tree_size, make_node_stat, tree_node_structure): Likewise. | |
32920 | (unsafe_for_reeval, substitute_placeholder_in_expr) | |
32921 | (stabilize_reference_1): Remove case 'b'. | |
32922 | * tree-browser.c (browse_tree): Change all tests for TREE_CODE_CLASS | |
32923 | of something being 'b' to tests for TREE_CODE of something being | |
32924 | BLOCK. | |
32925 | * tree-ssa-operands.c (get_expr_operands): Likewise. | |
32926 | ||
32927 | 2004-05-13 Diego Novillo <dnovillo@redhat.com> | |
32928 | ||
32929 | * tree-gimple.c: Rename from tree-simple.c. | |
32930 | * tree-gimple.h: Rename from tree-simple.h. | |
32931 | * c-gimplify.c: Rename from c-simplify.c | |
32932 | * Makefile.in, c-decl.c, gimple-low.c, gimplify.c, | |
32933 | langhooks.c, tree-alias-ander.c, tree-alias-common.c, | |
32934 | tree-complex.c, tree-dfa.c, tree-flow.h, tree-inline.c, | |
32935 | tree-into-ssa.c, tree-iterator.c, tree-mudflap.c, | |
32936 | tree-nested.c, tree-nomudflap.c, tree-outof-ssa.c, tree-sra.c, | |
32937 | tree-ssa-alias.c, tree-ssa-ccp.c, tree-ssa-copyrename.c, | |
32938 | tree-ssa-dce.c, tree-ssa-live.c, tree-ssa-pre.c, tree-ssa.c: | |
32939 | Update. | |
32940 | ||
32941 | 2004-05-14 Ranjit Mathew <rmathew@hotmail.com> | |
32942 | ||
32943 | * doc/sourcebuild.texi: Mention libbanshee and libmudflap. | |
32944 | ||
32945 | 2004-05-13 Andrew Pinski <pinskia@physics.uc.edu> | |
32946 | ||
32947 | * tree-ssa.c (delete_tree_ssa): XFREE | |
32948 | bitmaps allocated with BITMAP_XMALLOC. | |
32949 | ||
32950 | * tree-ssa-pre.c (execute_pre): Free ephi_use_pool and | |
32951 | idfs_cache at the end of the function. | |
32952 | ||
32953 | * tree-ssa-live.c (calculate_live_on_entry): Free saw_def | |
32954 | at the end of the function. | |
32955 | ||
32956 | * tree-ssa-dce.c (perform_tree_ssa_dce): Free | |
32957 | el at the end of the function. | |
32958 | ||
32959 | * tree-into-ssa.c (insert_phi_nodes_for): XFREE | |
32960 | bitmaps allocated with BITMAP_XMALLOC. | |
32961 | ||
32962 | * loop-unswitch.c (unswitch_single_loop): Free bbs at | |
32963 | the end. | |
32964 | ||
32965 | * final.c (shorten_branches): Free uid_shuid before | |
32966 | reallocating it. | |
32967 | ||
32968 | * bb-reoder.c (connect_traces): Free cold_traces at the end. | |
32969 | ||
32970 | 2004-05-13 Jeff Law <law@redhat.com> | |
32971 | ||
32972 | * tree-ssa-live.c (calculate_live_on_entry): Ignore virtual | |
32973 | variables. Simplify slightly by using USE_OP/DEF_OP instead | |
32974 | of USE_OP_PTR/DEF_OP_PTR and dereferencing the result. | |
32975 | ||
32976 | * tree-into-ssa.c (compute_global_livein): Use EXECUTE_IF_SET_IN_BITMAP | |
32977 | rather than iterating through the blocks testing each bit in | |
32978 | livein to initialize the worklist. | |
32979 | (mark_def_sites): Remove useless checks of KILLS for virtual | |
32980 | operands. | |
32981 | ||
32982 | * tree-ssa-forwprop.c (record_single_argument_cond_exprs): Accept | |
32983 | new parameters for the statement and variable worklist as well | |
32984 | as a bitmap of interesting SSA_NAMEs. Walk over the statement | |
32985 | worklist recording interesting variables in the variable worklist | |
32986 | and bitmap. Handle casts between integral and boolean types. | |
32987 | (substitute_single_use_vars): Accept new parameters for the statement | |
32988 | and variable worklist. When a substitution is made add a new | |
32989 | entry to the statement worklist. Handle casts between integral | |
32990 | and boolean types. | |
32991 | (tree_ssa_forward_propagate_single_use_vars): Rework to pass | |
32992 | worklists to children. Iterate until the statement worklist | |
32993 | is empty. | |
32994 | ||
32995 | 2004-05-13 Andrew Pinski <pinskia@physics.uc.edu> | |
32996 | ||
32997 | * tree-outof-ssa.c (rewrite_vars_out_of_ssa): Free map at | |
32998 | the end of the block. | |
32999 | ||
33000 | * tree-into-ssa.c (def_blocks_free): XFREE bitmaps allocated | |
33001 | with BITMAP_XMALLOC. | |
33002 | ||
33003 | * tree-ssa-alias.c (delete_alias_info): XFREE bitmaps allocated | |
33004 | with BITMAP_XMALLOC. | |
33005 | ||
33006 | * tree-ssa-dom.c (tree_ssa_dominator_optimize): | |
33007 | Free nonzero_vars at the end of the function. | |
33008 | ||
33009 | * convert.c (convert_to_integer): Make a CONVERT_EXPR when there is a | |
33010 | need to generate code instead of a NOP_EXPR. | |
33011 | ||
33012 | 2004-05-13 Ian Lance Taylor <ian@wasabisystems.com> | |
33013 | ||
33014 | * gcc.c (default_compilers): Fill out initializers for new Fortran | |
33015 | entries. | |
33016 | ||
33017 | 2004-05-13 Paul Brook <paul@codesourcery.com> | |
33018 | ||
33019 | * config/arm/arm.h (PCC_BITFIELD_TYPE_MATTERS): Define. | |
33020 | ||
33021 | 2004-05-13 Paul Brook <paul@codesourcery.com> | |
33022 | ||
33023 | * config/arm/arm.c (arm_default_short_enums): New function. | |
33024 | (TARGET_DEFAULT_SHORT_ENUMS): Define. | |
33025 | ||
33026 | 2004-05-13 Diego Novillo <dnovillo@redhat.com> | |
33027 | ||
33028 | Merge from tree-ssa-20020619-branch. | |
33029 | ||
33030 | * Makefile.in (reload1.o-warn): Add. | |
33031 | (tree-alias-ander.o-warn): Add. | |
33032 | (GMPLIBS): Define. | |
33033 | (GMPINC): Define. | |
33034 | (BANSHEELIB): Define. | |
33035 | (BANSHEEINC): Define. | |
33036 | (TREE_DUMP_H): Define. | |
33037 | (TREE_SIMPLE_H): Define. | |
33038 | (TREE_FLOW_H): Define. | |
33039 | (LIBDEPS): Add BANSHEELIB. | |
33040 | (INCLUDES): Add BANSHEEINC and GMPINC. | |
33041 | (C_AND_OBJC_OBJS): Add c-simplify.o, tree-mudflap.o, | |
33042 | c-mudflap.o and c-pretty-print.o. | |
33043 | (C_OBJS): Remove c-pretty-print.o. | |
33044 | (OBJS-common): Remove sibcall.o. | |
33045 | Add tree-cfg.o, tree-dfa.o, tree-eh.o, | |
33046 | tree-ssa.o, tree-optimize.o, tree-simple.o, | |
33047 | tree-alias-type.o, gimplify.o, tree-pretty-print.o, | |
33048 | tree-into-ssa.o, tree-outof-ssa.o, tree-alias-common.o, | |
33049 | tree-ssa-ccp.o, @ANDER@, tree-ssa-dce.o, tree-ssa-copy.o, | |
33050 | tree-nrv.o, tree-ssa-copyrename.o, tree-ssa-pre.o, | |
33051 | tree-ssa-live.o, tree-ssa-operands.o, tree-ssa-alias.o, | |
33052 | tree-ssa-phiopt.o, tree-ssa-forwprop.o, tree-nested.o, | |
33053 | tree-ssa-dse.o, tree-ssa-dom.o, domwalk.o, | |
33054 | tree-tailcall.o, gimple-low.o, tree-iterator.o, | |
33055 | tree-phinodes.o, tree-ssanames.o, tree-sra.o, | |
33056 | tree-complex.o, tree-ssa-loop.o, rtl-profile.o and | |
33057 | tree-profile.o. | |
33058 | (OBJC-archive): Add tree-nomudflap.o. | |
33059 | (cc1): Add dependency on @TREEBROWSER@. | |
33060 | (c-decl.o): Add dependency on TREE_DUMP_H. | |
33061 | (c-dump.o): Likewise. | |
33062 | (c-common.o): Add dependency on tree-iterator.h | |
33063 | (c-pretty-print.o): Add dependency on DIAGNOSTIC_H. | |
33064 | (gtype-desc.o): Add dependency on TREE_FLOW_H. | |
33065 | (tree.o): Add dependency on tree-iterator.h, | |
33066 | BASIC_BLOCK_H and TREE_FLOW_H. | |
33067 | (tree-dump.o): Depend on TREE_DUMP_H instead of tree-dump.h. | |
33068 | (langhooks.o): Add dependency on TREE_SIMPLE_H. | |
33069 | (tree-alias-type.o, tree-alias-ander.o, | |
33070 | tree-alias-common.o, tree-ssa.o, tree-into-ssa.o, | |
33071 | tree-outof-ssa.o, tree-ssa-dse.o, tree-ssa-forwprop.o, | |
33072 | tree-ssa-phiopt.o, tree-nrv.o, tree-ssa-copy.o, | |
33073 | tree-ssa-dom.o, tree-ssanames.o, tree-phinodes.o, | |
33074 | domwalk.o, tree-ssa-live.o, tree-ssa-copyrename.o, | |
33075 | tree-ssa-pre.o, tree-cfg.o, tree-tailcall.o, | |
33076 | tree-nested.o, tree-iterator.o, tree-dfa.o, | |
33077 | tree-ssa-operands.o, tree-eh.o, tree-ssa-loop.o, | |
33078 | tree-ssa-alias.o, tree-optimize.o, c-simplify.o, | |
33079 | gimplify.o, gimple-low.o, tree-browser.o, tree-simple.o, | |
33080 | tree-mudflap.o, c-mudflap.o, tree-nomudflap.o, | |
33081 | tree-pretty-print.o, tree-ssa-dce.o, tree-ssa-ccp.o, | |
33082 | tree-sra.o, tree-complex.o, tree-profile.o, | |
33083 | rtl-profile.o): New rules. | |
33084 | (function.o): Add dependency on basic-block.h | |
33085 | (expr.o): Add dependency on tree-iterator.h. | |
33086 | (sibcall.o): Remove. | |
33087 | (profile.o): Depend on TREE_FLOW_H instead of TREE_H. | |
33088 | (cfg.o): Add dependency on TIMEVAR_H. | |
33089 | (cfghooks.o): Add dependency on TREE_FLOW_H. | |
33090 | (reg-stack.o): Add dependency on basic-block.h. | |
33091 | (GTFILES): Add hwint.h, tree-mudflaph.c, tree-flow.h, | |
33092 | c-objc-common.c, c-common.c, c-parse.in, tree-ssanames.c, | |
33093 | tree-eh.c, tree-phinodes.c, tree-cfg.c, tree-dfa.c, | |
33094 | tree-ssa-ccp.c, tree-iterator.c, gimplify.c, | |
33095 | tree-alias-type.h, tree-alias-common.h, | |
33096 | tree-alias-type.c, tree-alias-common.c, | |
33097 | tree-ssa-operands.h, tree-ssa-operands.c, tree-profile.c, | |
33098 | rtl-profile.c and tree-nested.c. | |
33099 | (gt-tree-alias-common.h, gt-tree-mudflap.h, | |
33100 | gt-tree-ssa-ccp.h, gt-tree-eh.h, gt-tree-ssanames.h, | |
33101 | gt-tree-iterator.h, gt-gimplify.h, gt-tree-phinodes.h, | |
33102 | gt-tree-cfg.h, gt-tree-nested.h): New rules. | |
33103 | (TEXI_GCCINT_FILES): Add cfg.texi and tree-ssa.texi. | |
33104 | * basic-block.h: Include predict.h | |
33105 | (struct edge_def): Add GTY marker. | |
33106 | Change field 'insns' to be a union of tree and rtx. | |
33107 | (EDGE_TRUE_VALUE): Define. | |
33108 | (EDGE_FALSE_VALUE): Define. | |
33109 | (EDGE_EXECUTABLE): Define. | |
33110 | (struct bb_ann_d): Forward declare. | |
33111 | (struct basic_block_def): Add GTY marker. | |
33112 | Remove fields head_tree and end_tree. | |
33113 | Add fields stmt_list, rbi and tree_annotations. | |
33114 | (struct reorder_block_def): Define. | |
33115 | (basic_block_info): Add GTY marker. | |
33116 | (ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR): Change to global | |
33117 | variables instead of macros. | |
33118 | (flow_call_edges_add): Remove declaration. | |
33119 | (make_eh_edge): Remove declaration. | |
33120 | (brief_dump_cfg, find_edge, tree_predicted_by_p, | |
33121 | rtl_predicted_by_p, tree_predict_edge, rtl_predict_edge, | |
33122 | predict_edge_def, rtl_make_eh_edge, find_basic_blocks, | |
33123 | cleanup_cfg, delete_unreachable_blocks, merge_seq_blocks, | |
33124 | alloc_rbi_pool, initialize_bb_rbi, free_rbi_pool): Declare. | |
33125 | (try_redirect_by_replacing_jump): Modfiy return type to | |
33126 | edge instead of bool. | |
33127 | * bb-reorder.c (copy_bb): Call duplicate_block | |
33128 | instead of cfg_layout_duplicate_bb. | |
33129 | (copy_bb_p): Call can_duplicate_block_p instead of | |
33130 | cfg_layout_can_duplicate_bb_p. | |
33131 | * bitmap.c (bitmap_first_set_bit): Abort if word | |
33132 | wasn't found. | |
33133 | (bitmap_last_set_bit): Likewise. | |
33134 | * builtin-types.def (DEF_FUNCTION_TYPE_2): Add | |
33135 | (DEF_FUNCTION_TYPE_3): Add. | |
33136 | * builtins.c (c_strlen): Make extern. | |
33137 | (builtin_save_expr): New. | |
33138 | (expand_builtin_nonlocal_goto): New. | |
33139 | (expand_builtin_constant_p): Remove. | |
33140 | (expand_builtin_mathfn): Call builtin_save_expr instead | |
33141 | of save_expr. | |
33142 | (expand_builtin_mathfn_2): Likewise. | |
33143 | (expand_builtin_strcmp): Likewise. | |
33144 | (expand_builtin_strncmp): Likewise. | |
33145 | (expand_builtin_strcat): Likewise. | |
33146 | (fold_builtin_cabs): Likewise. | |
33147 | (expand_builtin_alloca): Don't trigger if -fmudflap is | |
33148 | given. | |
33149 | (build_string_literal): Set TREE_INVARIANT on new node. | |
33150 | (expand_builtin_profile_fun): New. | |
33151 | (round_trampoline_addr): New. | |
33152 | (expand_builtin_init_trampoline): New. | |
33153 | (expand_builtin_adjust_trampoline): New. | |
33154 | (expand_builtin) <BUILT_IN_NEXT_ARG>: Call simplify_builtin_next_arg. | |
33155 | <BUILT_IN_CONSTANT_P>: Return const0_rtx; | |
33156 | <BUILT_IN_STACK_ALLOC, BUILT_IN_STACK_SAVE, | |
33157 | BUILT_IN_STACK_RESTORE, BUILT_IN_NONLOCAL_GOTO, | |
33158 | BUILT_IN_PROFILE_FUNC_ENTER, BUILT_IN_PROFILE_FUNC_EXIT, | |
33159 | BUILT_IN_INIT_TRAMPOLINE, BUILT_IN_ADJUST_TRAMPOLINE>: | |
33160 | Handle. | |
33161 | (fold_builtin_expect): New. | |
33162 | (fold_builtin_isascii): Don't return non-constant results | |
33163 | in GIMPLE form. | |
33164 | (fold_builtin_isdigit): Likewise. | |
33165 | (fold_builtin_1): New. | |
33166 | (fold_builtin): Call it. | |
33167 | (build_function_call_expr): Update call to build a new | |
33168 | CALL_EXPR. | |
33169 | (purge_builtin_constant_p): Remove. | |
33170 | (simplify_builtin, simplify_builtin_memcmp, | |
33171 | simplify_builtin_strcmp, simplify_builtin_strncmp, | |
33172 | simplify_builtin_strpbrk, simplify_builtin_strstr, | |
33173 | simplify_builtin_strchr, simplify_builtin_strrchr, | |
33174 | simplify_builtin_strcat, simplify_builtin_strncat, | |
33175 | simplify_builtin_strspn, simplify_builtin_strcspn, | |
33176 | simplify_builtin_next_arg, simplify_builtin_va_start, | |
33177 | simplify_builtin_sprintf): New. | |
33178 | * builtins.def (BUILT_IN_STACK_ALLOC, | |
33179 | BUILT_IN_STACK_SAVE, BUILT_IN_STACK_RESTORE, | |
33180 | BUILT_IN_INIT_TRAMPOLINE, BUILT_IN_ADJUST_TRAMPOLINE, | |
33181 | BUILT_IN_NONLOCAL_GOTO, BUILT_IN_PROFILE_FUNC_ENTER, | |
33182 | BUILT_IN_PROFILE_FUNC_EXIT): Define. | |
33183 | * c-common.c: Include tree-iterator.h and hashtab.h. | |
33184 | (lang_statement_code_p): Declare. | |
33185 | (lang_gimplify_stmt): Declare. | |
33186 | (fix_string_type): Set TREE_INVARIANT for value. | |
33187 | (pointer_int_sum): Rely on build to set TREE_CONSTANT. | |
33188 | (c_type_hash): New. | |
33189 | (c_common_get_alias_set): Handle multiple type nodes | |
33190 | referring to "the same" type, currently for C90 only. | |
33191 | (c_add_case_label): Use create_artificial_label. | |
33192 | (finish_label_address_expr): Don't set TREE_CONSTANT on | |
33193 | result. | |
33194 | (c_expand_expr): Don't handle STMT_EXPR. | |
33195 | (handle_alias_attribute): Marke aliased variables to be | |
33196 | TREE_STATIC. | |
33197 | (handle_nonnull_attribute): Initialize arg_num. | |
33198 | (check_function_nonnull): Likewise. | |
33199 | (c_walk_subtrees): New. | |
33200 | (c_estimate_num_insns_1): Don't handle | |
33201 | EXPR_WITH_FILE_LOCATION nor FILE_STMT. | |
33202 | (c_decl_uninit_1): Remove. | |
33203 | (c_decl_uninit): Remove. | |
33204 | (c_warn_unused_result): New. | |
33205 | * c-common.def (ASM_STMT): Change number of operands | |
33206 | to 4. | |
33207 | (FILE_STMT): Remove. | |
33208 | * c-common.h (lang_expand_stmt, lang_expand_decl_stmt): | |
33209 | Remove. | |
33210 | (lang_gimplify_stmt): Add. | |
33211 | (expand_stmt): Remove. | |
33212 | (ASM_CV_QUAL, ASM_STRING, ASM_OUTPUTS, ASM_INPUTS, | |
33213 | ASM_CLOBBERS, STMT_EXPR_WARN_UNUSED_RESULT, | |
33214 | ASM_VOLATILE_P, FILE_STMT_FILENAME_NODE, | |
33215 | FILE_STMT_FILENAME, STMT_LINENO, STMT_LINENO_FOR_FN_P, | |
33216 | ASM_INPUT_P, DECL_C_HARD_REGISTER): Remove. | |
33217 | (genrtl_do_pushlevel, genrtl_goto_stmt, genrtl_expr_stmt, | |
33218 | genrtl_expr_stmt_value, genrtl_decl_stmt, genrtl_if_stmt, | |
33219 | genrtl_while_stmt, genrtl_do_stmt, genrtl_return_stmt, | |
33220 | genrtl_for_stmt, genrtl_break_stmt, genrtl_continue_stmt, | |
33221 | genrtl_scope_stmt, genrtl_switch_stmt, genrtl_case_label, | |
33222 | genrtl_compound_stmt, genrtl_asm_stmt, | |
33223 | genrtl_cleanup_stmt, c_decl_uninit): Remove. | |
33224 | (c_do_switch_warnings, c_gimplify_expr, c_walk_subtrees, | |
33225 | c_tree_chain_matters_p, c_warn_unused_result, | |
33226 | c_genericize, c_gimplify_stmt, stmt_expr_last_stmt): | |
33227 | Declare. | |
33228 | * c-convert.c (convert): Make convert work when | |
33229 | converting to compatible types across translation unit. | |
33230 | * c-decl.c: Include langhooks.h, tree-mudflap.h, | |
33231 | tree-simple.h, diagnostic.h and tree-dump.h | |
33232 | (merge_decls): Initialize oldtype to NULL. | |
33233 | (finish_decl): Use DECL_HARD_REGISTER instead of | |
33234 | DECL_C_HARD_REGISTER. | |
33235 | (check_bitfield_type_and_width): Check for null | |
33236 | lang_type_specific when check the precision of an enum. | |
33237 | (grokdeclarator): Immediately layout an ARRAY_TYPE used | |
33238 | in a pointer-to-array declarator. | |
33239 | (finish_struct): Clear allocated struct lang_type. | |
33240 | (finish_enum): Set enum_min and enum_max. Set | |
33241 | TYPE_MIN/MAX_VALUE to the limits of the compatible type, | |
33242 | not to the enumerators. | |
33243 | (set_decl_nonlocal): New. | |
33244 | (store_parm_decls): Use it via walk_tree. | |
33245 | (c_finalize): New. | |
33246 | (finish_function): When !targetm.have_ctors_dtors, | |
33247 | record static constructors and destructors here... | |
33248 | (c_expand_body_1): ... not here. | |
33249 | (c_expand_decl): Rename from c_expand_decl_stmt. | |
33250 | Handle all C-specific expansion semantics. | |
33251 | * c-dump.c (dump_stmt): Use EXPR_LOCUS instead of | |
33252 | STMT_LINENO. | |
33253 | * c-format.c (handle_format_arg_attribute): Initialize | |
33254 | format_num. | |
33255 | * c-lang.c: Include tree-inline.h | |
33256 | (LANG_HOOKS_EXPAND_DECL, | |
33257 | LANG_HOOKS_FUNCTION_MISSING_NORETURN_OK_P, | |
33258 | LANG_HOOKS_TREE_INLINING_WALK_SUBTREES, | |
33259 | LANG_HOOKS_TREE_INLINING_TREE_CHAIN_MATTERS_P, | |
33260 | LANG_HOOKS_GIMPLIFY_EXPR, LANG_HOOKS_TYPES_COMPATIBLE_P): Define. | |
33261 | (LANG_HOOKS_DECL_UNINIT, LANG_HOOKS_RTL_EXPAND_STMT, | |
33262 | LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS): Remove. | |
33263 | (c_types_compatible_p): New. | |
33264 | * c-mudflap.c: New file. | |
33265 | * c-objc-common.c: Include tree-mudflap.h | |
33266 | (start_cdtor, finish_cdtor): Collapse | |
33267 | together into | |
33268 | (build_cdtor): ...here. Update to construct a complete tree | |
33269 | for the function. No need to call push_scope, pop_scope, or | |
33270 | clear_last_expr, or set current_function_cannot_inline. | |
33271 | (c_missing_noreturn_ok_p): Change prototype to return | |
33272 | bool. | |
33273 | (c_objc_common_init): Don't set lang_missing_noreturn_ok_p. | |
33274 | * c-opts.c (c_common_handle_option): Move handling of -fdump- to | |
33275 | opts.c. | |
33276 | (c_common_post_options): Don't ever use rtl inlining. | |
33277 | * c-parse.in: Use EXPR_LOCUS instead of STMT_LINENO. | |
33278 | * c-pragma.c (handle_pragma_redefine_extname): Define | |
33279 | always. | |
33280 | (init_pragma): Activate #pragma redefine_extname for mudflap. | |
33281 | * c-pretty-print.c (pp_c_statement): Remove FILE_STMT. | |
33282 | (pp_c_initializer): Accept any type CONSTRUCTOR. | |
33283 | (pp_c_initializer_list): Fix code expectations for VECTOR_TYPE and | |
33284 | COMPLEX_TYPE. | |
33285 | (decl_name_str): New local function. | |
33286 | (pp_c_direct_declarator): Call it. | |
33287 | (pp_c_primary_expression): Call it. | |
33288 | (pp_c_id_expression): Call it. | |
33289 | (pp_c_statement): Call it. | |
33290 | (print_c_tree): Create new pp object. | |
33291 | * c-pretty-print.h (pp_c_tree_decl_identifier, | |
33292 | print_c_tree): Declare. | |
33293 | * c-semantics.c: Include langhooks.h | |
33294 | (lang_expand_stmt, lang_expand_decl_stmt, | |
33295 | find_reachable_label_1, find_reachable_label, | |
33296 | expand_unreachable_if_stmt, expand_unreachable_stmt, | |
33297 | genrtl_do_stmt_1): Remove. | |
33298 | (begin_stmt_tree): Don't check for changed filename. | |
33299 | Call annotate_with_locus. | |
33300 | (finish_stmt_tree): Don't set line for end of function. | |
33301 | (build_stmt): Don't check type nodes for | |
33302 | side effects. | |
33303 | (build_stmt): Set TREE_SIDE_EFFECTS. | |
33304 | Set EXPR_LOCUS instead of STMT_LINENO. | |
33305 | (lang_expand_stmt, lang_expand_decl_stmt, | |
33306 | expand_cond, genrtl_do_pushlevel, genrtl_goto_stmt, genrtl_expr_stmt, | |
33307 | genrtl_expr_stmt_value, genrtl_decl_stmt, genrtl_if_stmt, | |
33308 | genrtl_while_stmt, genrtl_do_stmt_1, genrtl_do_stmt, | |
33309 | genrtl_return_stmt, genrtl_for_stmt, genrtl_break_stmt, | |
33310 | genrtl_continue_stmt, genrtl_scope_stmt, genrtl_switch_stmt, | |
33311 | genrtl_case_label, genrtl_compound_stmt, genrtl_asm_stmt, | |
33312 | genrtl_cleanup_stmt, expand_stmt, find_reachable_label, | |
33313 | find_reachable_label_1, expand_unreachable_if_stmt, | |
33314 | expand_unreachable_stmt): Remove. | |
33315 | (prep_stmt): Use EXPR_LOCUS instead of STMT_LINENO. | |
33316 | * c-simplify.c: New file. | |
33317 | * c-tree.h (C_LANG_TREE_NODE_CHAIN_NEXT): Define. | |
33318 | (struct lang_type): Add fields enum_min and enum_max. | |
33319 | (c_expand_decl_stmt, c_missing_noreturn_ok_p): Remove. | |
33320 | (c_expand_decl, c_missing_noreturn_ok_p, | |
33321 | c_types_compatible_p): Declare. | |
33322 | * c-typeck.c (tagged_types_tu_compatible_p): Allow for | |
33323 | compiler-generated TYPE_DECLs without a DECL_ORIGINAL_TYPE. | |
33324 | (default_function_array_conversion): Rely on build to | |
33325 | set TREE_CONSTANT. | |
33326 | (parser_build_binary_op, pointer_diff): Likewise. | |
33327 | (build_unary_op, build_binary_op): Likewise. | |
33328 | (build_array_ref): | |
33329 | (build_external_ref): Set TREE_INVARIANT. | |
33330 | (build_c_cast, pop_init_level): Likewise. | |
33331 | (process_init_element): Use ASM_VOLATILE_P. | |
33332 | (build_asm_expr): Adapt to GENERIC/GIMPLE syntax. | |
33333 | (c_finish_case): Call c_do_switch_warnings. | |
33334 | * c.opt (fdump-): Remove. | |
33335 | * calls.c (try_to_integrate): Remove. | |
33336 | (prepare_call_address): Replace fndecl arg with a | |
33337 | precomputed static chain value. | |
33338 | (emit_call_1): New argument for full call expr. | |
33339 | (flags_from_decl_or_type): Call special_function_p. | |
33340 | (initialize_argument_information): Add argument | |
33341 | may_tailcall. | |
33342 | (purge_reg_equiv_notes): New. | |
33343 | (expand_call): Do not try to expand calls inline. | |
33344 | (fixup_tail_calls): New. | |
33345 | * cfg.c: Include timevar.h and ggc.h. | |
33346 | (bb_pool, edge_pool): Remove. | |
33347 | (ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR): Declare. | |
33348 | (entry_exit_blocks): Remove. | |
33349 | (rbi_pool): Declare. | |
33350 | (init_flow): Do not create pools. | |
33351 | Allocate entry/exit block. | |
33352 | (free_edge, alloc_block, expunge_block, unchecked_make_edge): Use GGC. | |
33353 | (alloc_rbi_pool, free_rbi_pool, initialize_bb_rbi): New. | |
33354 | (unlink_block): Clear b->prev_bb and b->next_bb. | |
33355 | (compact_blocks): Clear all slots of BASIC_BLOCK array. | |
33356 | (dump_flow_info): Work on trees too. | |
33357 | (dump_cfg_bb_info): New. | |
33358 | (brief_dump_cfg): New. | |
33359 | * cfganal.c (need_fake_edge_p, flow_call_edges_add): Remove. | |
33360 | (find_edge): New. | |
33361 | * cfgbuild.c (rtl_make_eh_edge): Rename from | |
33362 | make_eh_edge. Update all users. | |
33363 | (find_basic_blocks): Don't call VARRAY_FREE on | |
33364 | basic_block_info. | |
33365 | * cfgcleanup.c (outgoing_edges_match): Initialize newpos1 | |
33366 | and newpos2. | |
33367 | (delete_unreachable_blocks): Return changed status. | |
33368 | (merge_seq_blocks): New. | |
33369 | * cfghooks.c: Include tree-flow.h | |
33370 | (tree_register_cfg_hooks, ir_type): New. | |
33371 | (redirect_edge_and_branch): Change return type to edge. | |
33372 | (predict_edge, predicted_by_p, can_duplicate_block_p, | |
33373 | duplicate_block, block_ends_with_call_p, | |
33374 | block_ends_with_condjump_p, flow_call_edges_add): New. | |
33375 | * cfghooks.h (redirect_edge_and_branch): Change return | |
33376 | type to edge. | |
33377 | (predict_edge, predicted_by_p, can_duplicate_block_p, | |
33378 | duplicate_block, block_ends_with_call_p, | |
33379 | block_ends_with_condjump_p, flow_call_edges_add): Declare. | |
33380 | (redirect_edge_and_branch): Change return type to edge. | |
33381 | (struct cfg_hooks): Add fields block_ends_with_call_p, | |
33382 | block_ends_with_condjump_p, flow_call_edges_add, | |
33383 | predict_edge, predicted_by_p, can_duplicate_block_p and | |
33384 | duplicate_block. | |
33385 | (tree_cfg_hooks, ir_type, tree_register_cfg_hooks): Declare. | |
33386 | * cfglayout.c (cfg_layout_pool, cfg_layout_initialize_rbi): Removed. | |
33387 | (fixup_reorder_chain): Use initialize_bb_rbi. | |
33388 | (cfg_layout_can_duplicate_bb_p, cfg_layout_duplicate_bb): Hookized. | |
33389 | (cfg_layout_initialize): Use cfg.c rbi pool manipulation functions. | |
33390 | (can_copy_bbs_p, copy_bbs): Use cfghooks for bb duplication. | |
33391 | (insn_locators_initialize): Use new info about blocks. | |
33392 | * cfglayout.h (typedef struct reorder_block_def): Moved to | |
33393 | basic_block.h. | |
33394 | (cfg_layout_can_duplicate_bb_p, cfg_layout_duplicate_bb): Declaration | |
33395 | removed. | |
33396 | * cfgloop.c: Include tree.h and tree-flow.h. | |
33397 | * cfgloop.h (create_loop_notes): Declare. | |
33398 | * cfgloopmanip.c (create_loop_notes): New. | |
33399 | * cfgrtl.c (cfg_layout_create_basic_block): Use initialize_bb_rbi. | |
33400 | (rtl_cfg_hooks, cfg_layout_rtl_cfg_hook): Fill in can_duplicate_block_p | |
33401 | and duplicate_block fields. | |
33402 | (create_basic_block_structure): Don't look at | |
33403 | RTX_INTEGRATED_P. | |
33404 | (rtl_block_ends_with_call_p): New. | |
33405 | (rtl_block_ends_with_condjump_p): New. | |
33406 | (need_fake_edge_p): Moved from cfganal.c. | |
33407 | (rtl_flow_call_edges_add): Moved from cfganal.c (flow_call_edges_add). | |
33408 | (rtl_cfg_hooks): Add rtl_block_ends_with_call_p, | |
33409 | rtl_block_ends_with_condjump_p, rtl_flow_call_edges_add. | |
33410 | (cfg_layout_rtl_cfg_hooks): Ditto. | |
33411 | * cgraph.c (cgraph_mark_reachable_node): Don't force nested | |
33412 | functions to be reachable. | |
33413 | * cgraphunit.c (decide_is_function_needed): | |
33414 | * cgraphunit.c (decide_is_function_needed): Nested functions of extern | |
33415 | inline functions don't need to be output. | |
33416 | (cgraph_assemble_pending_functions): Don't do anything | |
33417 | special for nested functions. | |
33418 | (cgraph_mark_functions_to_output): Likewise. | |
33419 | (cgraph_finalize_function): Don't zap DECL_STRUCT_FUNCTION. | |
33420 | (cgraph_analyze_function): Use estimate_num_insns. | |
33421 | (cgraph_mark_functions_to_output): Likewise. | |
33422 | (cgraph_estimate_growth, cgraph_clone_inlined_nodes): Likewise. | |
33423 | (cgraph_expand_function): Allow functions to not be | |
33424 | emitted. | |
33425 | (cgraph_remove_unreachable_nodes): | |
33426 | (cgraph_recursive_inlining_p): Simplify. | |
33427 | (lookup_recursive_calls, | |
33428 | cgraph_decide_recursive_inlining): New. | |
33429 | (cgraph_decide_inlining_*): Update calls of | |
33430 | cgraph_mark_inline. | |
33431 | * combine.c (get_pos_from_mask): Always set *plen. | |
33432 | * common.opt (fdump-, fmudflap, fmudflapth, fmudflapir, | |
33433 | ftree-based-profiling, ftree-ccp, ftree-ch, | |
33434 | ftree-combine-temps, ftree-copyrename, ftree-dce, | |
33435 | ftree-dominator-opts, ftree-dse, ftree-loop-optimize, | |
33436 | ftree-points-to, ftree-pre, ftree-sra, ftree-ter, | |
33437 | ftree-lrs): Add. | |
33438 | * config.in (HAVE_LD_PIE, HAVE_BANSHEE, PREFIX_INCLUDE_DIR): | |
33439 | Undefine. | |
33440 | * configure.ac: Add --enable-tree-browser option. | |
33441 | Add --with-libbanshee option. | |
33442 | Add GMPLIBS and GMPINC. | |
33443 | * configure: Regenerate. | |
33444 | * coverage.c (tree_ctr_tables): New. | |
33445 | (coverage_counter_alloc): Use it. | |
33446 | (build_ctr_info_value): Ditto. | |
33447 | (coverage_counter_ref): Ditto. Rename to rtl_coverage_counter_ref. | |
33448 | (tree_coverage_counter_ref): New. | |
33449 | * coverage.h (coverage_counter_ref): Remove declaration. | |
33450 | (rtl_coverage_counter_ref): Declare. | |
33451 | (tree_coverage_counter_ref): Declare. | |
33452 | * cppexp.c (append_digit): Rearrange unsignedp/overflow setting. | |
33453 | (eval_token, num_binary_op, num_part_mul, num_div_op): Likewise. | |
33454 | * cse.c (fold_rtx): Do not handle CONSTANT_P_RTX. | |
33455 | (struct cse_basic_block_data): Rename enum values to not | |
33456 | conflict with profile.h; update all uses. | |
33457 | * dbxout.c (dbxout_symbol_location): Don't mention integrate.c | |
33458 | in comments. | |
33459 | * defaults.h (TRAMPOLINE_ALIGNMENT): Move from function.c. | |
33460 | * diagnostic.h (debug_output_buffer, dump_generic_node, | |
33461 | print_generic_stmt, print_generic_stmt_indented, | |
33462 | print_generic_expr, print_generic_decl, | |
33463 | debug_generic_expr, debug_generic_stmt, debug_c_tree): | |
33464 | Declare. | |
33465 | * dominance.c: Cache immediate dominators. | |
33466 | * domwalk.c: New file. | |
33467 | * domwalk.h: New file. | |
33468 | * dwarf2out.c (is_fortran): Support DW_LANG_Fortran95. | |
33469 | (gen_subprogram_die): Generate a DIE for a named | |
33470 | return value. | |
33471 | (loc_descriptor_from_tree): Treat RESULT_DECL like VAR_DECL. | |
33472 | (add_location_or_const_value_attribute): Likewise. | |
33473 | (add_bound_info): Likewise. | |
33474 | (gen_decl_die): Likewise. | |
33475 | * emit-rtl.c (maybe_set_first_label_num): New. | |
33476 | (copy_most_rtx): Don't copy the integrated flag. | |
33477 | Copy the new return_val flag. | |
33478 | * et-forest.c (MAX_NODES): Define. | |
33479 | (record_path_before_1): Abort if len is greater than | |
33480 | MAX_NODES. | |
33481 | * except.c (gen_eh_region, gen_eh_region_cleanup, gen_eh_region_try, | |
33482 | gen_eh_region_catch, gen_eh_region_allowed, | |
33483 | gen_eh_region_must_not_throw, get_eh_region_number, | |
33484 | get_eh_region_may_contain_throw, get_eh_region_tree_label, | |
33485 | set_eh_region_tree_label, expand_resx_expr): New. | |
33486 | (expand_eh_region_start, expand_start_catch): Use them. | |
33487 | (expand_end_catch): Tidy. | |
33488 | (note_eh_region_may_contain_throw): Take region argument. | |
33489 | (note_current_region_may_contain_throw): New. | |
33490 | (get_exception_filter): Export. | |
33491 | (collect_eh_region_array): Export. | |
33492 | (remove_unreachable_regions): Check ERT_TRY based on reachability | |
33493 | of catches, not reachability of continue_label. Never remove | |
33494 | ERT_MUST_NOT_THROW regions. | |
33495 | (collect_rtl_labels_from_trees): New. | |
33496 | (convert_from_eh_region_ranges): Use it. | |
33497 | (connect_post_landing_pads): Handle dying cleanups. | |
33498 | (struct reachable_info): Add callback data. | |
33499 | (add_reachable_handler): Invoke the callback. | |
33500 | (foreach_reachable_handler): New. | |
33501 | (reachable_handlers): Use it. | |
33502 | (arh_to_landing_pad, arh_to_label): New. | |
33503 | (can_throw_internal_1): Split out from can_throw_internal. | |
33504 | (can_throw_external_1): Similarly. | |
33505 | * except.h: Update. | |
33506 | * explow.c (emit_stack_save): Remove savearea mode check. | |
33507 | (update_nonlocal_goto_save_area): New. | |
33508 | (allocate_dynamic_stack_space): Use it. | |
33509 | (probe_stack_range): Never emit loop notes. | |
33510 | * expmed.c (extract_fixed_bit_field): Always propagate the | |
33511 | target for the shift if it is a REG. | |
33512 | * expr.c: Include tree-iterator.h | |
33513 | (is_zeros_p): Remove. | |
33514 | (categorize_ctor_elements_1, categorize_ctor_elements): New. | |
33515 | (count_type_elements): New. | |
33516 | (mostly_zeros_p): Use them. | |
33517 | (expr_wfl_stack): Remove. | |
33518 | (convert_move): Do nothing if to and from are the same. | |
33519 | (emit_block_move_via_loop): Don't emit LOOP notes. | |
33520 | (emit_move_insn): Don't handle CONSTANT_P_RTX. | |
33521 | (emit_move_insn_1): Don't generate inline warnings. | |
33522 | (expand_vars, expand_var): Split from ... | |
33523 | (expand_expr_1): ... here. | |
e8366202 | 33524 | (expand_expr_real, expand_expr_real_1): Use new macros |
3eb54e5f ILT |
33525 | EXPR_LOCATION and EXPR_HAS_LOCATION. |
33526 | * expr.h (simplify_builtin_fputs, | |
33527 | simplify_builtin_strcpy, simplify_builtin_strncpy, | |
33528 | expand_var, fixup_tail_calls, | |
33529 | update_nonlocal_goto_save_area): Declare. | |
33530 | (lookup_static_chain, expand_inline_function, | |
33531 | mark_seen_cases): Remove. | |
33532 | (prepare_call_address): Change type of 2nd argument to | |
33533 | rtx. | |
33534 | * final.c (profile_function): Update static chain test. | |
33535 | (final): Don't look at RTX_INTEGRATED_P. | |
33536 | * flags.h (flag_mudflap, flag_mudflap_threads, | |
33537 | flag_mudflap_ignore_reads, flag_tree_pre, flag_tree_ccp, | |
33538 | flag_tree_dce, flag_tree_combine_temps, | |
33539 | flag_tree_live_range_split, flag_tree_dom, flag_tree_ch, | |
33540 | flag_tree_dse, flag_tree_sra, flag_tree_copyrename, | |
33541 | flag_tree_points_to): Declare. | |
33542 | (enum pta_type): Declare. | |
33543 | * flow.c (lang_missing_noreturn_ok_p): Remove. | |
33544 | (check_function_return_warnings): Remove. | |
33545 | (update_life_info): Update comments. | |
33546 | (free_basic_block_vars): Don't call VARRAY_FREE for | |
33547 | basic_block_info. | |
33548 | (regno_uninitialized): Remove. | |
33549 | * fold-const.c (int_const_binop): Make extern. | |
33550 | (non_lvalue): Rely on build to set TREE_CONSTANT. | |
33551 | (operand_equal_p): Replace only_const argument with | |
33552 | flags. Allow pure functions if OEP_PURE_SAME. | |
33553 | (fold): Use OEP_ONLY_CONST. | |
33554 | (invert_truthvalue) <NOP_EXPR> Break if argument is of | |
33555 | boolean type. | |
33556 | (fold_relational_hi_lo, | |
33557 | nondestructive_fold_binary_to_constant, | |
33558 | nondestructive_fold_unary_to_constant, | |
33559 | fold_read_from_constant_string): New. | |
33560 | * function.c (struct function): Remove calls_constant_p. | |
33561 | (current_function_calls_constant_p): Remove. | |
33562 | (inline_function_decl): Remove. | |
33563 | (put_var_into_stack): Don't use it. | |
33564 | (fix_lexical_addr): Likewise. | |
33565 | (inline_function_decl): Remove extern declaration. | |
33566 | (TRAMPOLINE_ALIGNMENT): Move to defaults.h. | |
33567 | (trampolines_created): Move to varasm.c. | |
33568 | (free_after_compilation): Update for removed fields. | |
33569 | (allocate_struct_function): Likewise. | |
33570 | (delete_handlers, lookup_static_chain): Remove. | |
33571 | (fix_lexical_addr): Don't consider non-local variable refs. | |
33572 | (trampoline_address): Remove. | |
33573 | (round_trampoline_addr): Move to builtins.c. | |
33574 | (adjust_trampoline_addr): Remove. | |
33575 | (expand_function_start): Update for changes to static chain | |
33576 | and nonlocal goto handling. | |
33577 | (initial_trampoline): Move to varasm.c. | |
33578 | (expand_function_end): Don't build trampolines or kill | |
33579 | unreferenced nonlocal goto labels. | |
33580 | (free_after_compilation): Don't set it. | |
33581 | (expand_function_end): Likewise. | |
33582 | (setjmp_vars_warning): Rename from | |
33583 | uninitialized_vars_warning, remove uninitialized vars warning. | |
33584 | (uninitialized_vars_warning): Remove old comment | |
33585 | and check for DECL_INITIAL, replace with a check of TREE_NO_WARNING | |
33586 | and do not call the langhook. | |
33587 | (expand_function_start, expand_function_end): Don't do | |
33588 | function instrumentation here. | |
33589 | (clear_block_marks): Rename from reorder_blocks_0, export. | |
33590 | (blocks_nreverse): Export. | |
33591 | (uninitialized_vars_warning): Use DECL_RTL_SET_P to test for presence | |
33592 | of rtl. | |
33593 | (reset_block_changes, record_block_change, finalize_block_changes, | |
33594 | check_block_change, free_block_changes): New functions. | |
33595 | (assign_parms): Setting of current_function_stdarg | |
33596 | moved ... | |
33597 | (allocate_struct_function): ... here. | |
33598 | * function.h (struct function): Remove x_nonlocal_labels, | |
33599 | x_nonlocal_goto_handler_slots, x_nonlocal_goto_stack_level, | |
33600 | x_context_display, x_trampoline_list, needs_context. | |
33601 | Add static_chain_decl, nonlocal_goto_save_area. | |
33602 | (struct function): Remove x_clobber_return_insn. | |
33603 | Add tail_call_emit field, last_label_uid, | |
33604 | unexpanded_var_list, dont_emit_block_notes, | |
33605 | ib_boundaries_block, function_end_locus and saved_tree/saved_args. | |
33606 | (clear_block_marks): Declare. | |
33607 | * gcc.c (MFWRAP_SPEC, MFLIB_SPEC): Add -fmudflapth support. | |
33608 | (mfwrap_spec, mflib_spec): Declare. | |
33609 | (cpp_unique_options, cc1_options): Ditto. | |
33610 | (default_compilers): Add .F and .f90. | |
33611 | (static_specs): Add mfwrap and mflib. | |
33612 | * gcse.c (want_to_gcse_p, gcse_constant_p): Don't handle | |
33613 | CONSTANT_RTX_P. | |
33614 | (reg_used_on_edge, reg_killed_on_edge, bypass_block): | |
33615 | Update to match insns field in struct edge_def. | |
33616 | * gdbinit.in (pgs, pge): Define. | |
33617 | * genattrtab.c (ATTR_PERMANENT_P): Use the return_val flag | |
33618 | instead of the integrated flag. | |
33619 | * gengtype-lex.l (IWOrD): Add HOST_WIDEST_INT | |
33620 | * gengtype-yacc.y (bitfieldlen): Add empty action. | |
33621 | (struct_fields): Accept unnamed bitfields. | |
33622 | (bitfieldlen): Split from ... | |
33623 | (bitfieldopt): ... here. | |
33624 | * gengtype.c (ifiles): Add tree-alias-type.h and | |
33625 | tree-flow.h. | |
33626 | * genrecog.c (validate_pattern): Do not handle | |
33627 | CONSTANT_P_RTX. | |
33628 | * gimple-low.c: New file. | |
33629 | * gimplify.c: New file. | |
33630 | * haifa-sched.c (priority): Do not handle CONSTANT_P_RTX. | |
33631 | (restore_line_notes): Do not set RTX_INTEGRATED_P. | |
33632 | * ifcvt.c (dead_or_predicable): Initialize local variable | |
33633 | 'earliest'. | |
33634 | * input.h (expr_wfl_stack): Remove. | |
33635 | * integrate.c (INTEGRATE_THRESHOLD): Remove. | |
33636 | (setup_initial_hard_reg_value_integration): Likewise. | |
33637 | (initialize_for_inline): Likewise. | |
33638 | (note_modified_parmregs): Likewise. | |
33639 | (integrate_parm_decls): Likewise. | |
33640 | (process_reg_param): Likewise. | |
33641 | (save_parm_insns): Likewise. | |
33642 | (copy_insn_list): Likewise. | |
33643 | (copy_insn_notes): Likewise. | |
33644 | (compare_blocks): Likewise. | |
33645 | (find_block): Likewise. | |
33646 | (inlining): Likewise. | |
33647 | (function_cannot_inline_p): Likewise. | |
33648 | (parmdecl_map): Likewise. | |
33649 | (in_nonparam_insns): Likewise. | |
33650 | (save_for_inline): Likewise. | |
33651 | (FIXED_BASE_PLUS): Likewise. | |
33652 | (expand_inline_function): Likewise. | |
33653 | (copy_rtx_and_substitute): Don't look at map->integrating, | |
33654 | map->inline_target, and inlining, since we are never copying | |
33655 | for integrating. | |
33656 | Don't abort on RTX_INTEGRATED_P. | |
33657 | (old_fun): Remove. | |
33658 | (output_inline_function): Remove. | |
33659 | * integrate.h (struct inline_map): Remove fields integrating, | |
33660 | block_map, leaf_reg_map, inline_target, and local_return_label. | |
33661 | * jump.c (next_nonnote_insn_in_loop, duplicate_loop_exit_test, | |
33662 | copy_loop_headers, never_reached_warning): Removed. | |
33663 | (any_uncondjump_p): Reject nonlocal goto. | |
33664 | * langhooks-def.h (lhd_types_compatible_p, | |
33665 | lhd_expand_decl, lhd_gimplify_expr): Declare. | |
33666 | (LANG_HOOKS_EXPAND_DECL, LANG_HOOKS_TYPES_COMPATIBLE_P, | |
33667 | LANG_HOOKS_FUNCTION_MISSING_NORETURN_OK_P, | |
33668 | LANG_HOOKS_FUNCTION_LEAVE_NESTED, | |
33669 | LANG_HOOKS_FUNCTION_MISSING_NORETURN_OK_P, | |
33670 | LANG_HOOKS_GIMPLIFY_EXPR, | |
33671 | LANG_HOOKS_GIMPLE_BEFORE_INLINING, | |
33672 | LANG_HOOKS_EXPAND_DECL, LANG_HOOKS_TYPES_COMPATIBLE_P, | |
33673 | LANG_HOOKS_GIMPLIFY_EXPR, | |
33674 | LANG_HOOKS_GIMPLE_BEFORE_INLINING): Define. | |
33675 | (LANG_HOOKS_DECL_UNINIT, LANG_HOOKS_RTL_EXPAND_START, | |
33676 | LANG_HOOKS_RTL_EXPAND_STMT, LANG_HOOKS_RTL_EXPAND_END, | |
33677 | LANG_HOOKS_FUNCTION_LEAVE_NESTED, | |
33678 | LANG_HOOKS_RTL_EXPAND_INITIALIZER, | |
33679 | LANG_HOOKS_DECL_UNINIT, | |
33680 | LANG_HOOKS_RTL_EXPAND_INITIALIZER): Remove. | |
33681 | * langhooks.c: Include tree-simple.h. | |
33682 | (lhd_expand_decl): New. | |
33683 | (lhd_types_compatible_p): New. | |
33684 | (lhd_decl_uninit): Remove. | |
33685 | (lhd_gimplify_expr): New. | |
33686 | * langhooks.h (struct lang_hooks_for_rtl_expansion): | |
33687 | Remove. | |
33688 | (struct lang_hooks_for_functions): Add field | |
33689 | missing_noreturn_ok_p. | |
33690 | (struct lang_hooks): Add field expand_decl, | |
33691 | types_compatible_p, gimplify_expr and | |
33692 | gimple_before_inlining. | |
33693 | Remove fields decl_uninit and rtl_expand | |
33694 | * opts.c (decode_options): Set flag_tree_ccp, | |
33695 | flag_tree_dce, flag_tree_dom, flag_tree_dse, | |
33696 | flag_tree_pre, flag_tree_ter, | |
33697 | flag_tree_live_range_split, flag_tree_sra, | |
33698 | flag_tree_copyrename and flag_tree_ch at -O1 and higher. | |
33699 | (common_handle_option): Handle OPT_fdump_, OPT_fmudflap, | |
33700 | OPT_fmudflapth, OPT_fmudflapir, | |
33701 | OPT_ftree_based_profiling, OPT_ftree_ccp, OPT_ftree_dce, | |
33702 | OPT_ftree_combine_temps, OPT_ftree_ter, OPT_ftree_lrs, | |
33703 | OPT_ftree_dominator_opts, OPT_ftree_copyrename, | |
33704 | OPT_ftree_ch, OPT_ftree_dse, OPT_ftree_sra, | |
33705 | OPT_ftree_points_to_ and OPT_ftree_pre. | |
33706 | * output.h (regno_uninitialized, find_basic_blocks, | |
33707 | cleanup_cfg, delete_unreachable_blocks, | |
33708 | check_function_return_warnings): Remove. | |
33709 | * params.def (PARAM_MAX_INLINE_INSNS_RECURSIVE, | |
33710 | PARAM_MAX_INLINE_INSNS_RECURSIVE_AUTO, | |
33711 | PARAM_MAX_INLINE_RECURSIVE_DEPTH, | |
33712 | PARAM_MAX_INLINE_RECURSIVE_DEPTH_AUTO, | |
33713 | PARAM_GLOBAL_VAR_THRESHOLD, PARAM_MAX_ALIASED_VOPS): | |
33714 | * params.h (GLOBAL_VAR_THRESHOLD, MAX_ALIASED_VOPS): | |
33715 | Define. | |
33716 | * passes.c (rest_of_decl_compilation): | |
33717 | (rest_of_handle_sibling_calls): Remove. | |
33718 | (rest_of_handle_inlining): Remove. | |
33719 | (rest_of_handle_gcse): Do not run | |
33720 | purge_builtin_constant_p. | |
33721 | (rest_of_compilation): Update. | |
33722 | Do not call copy_loop_headers. | |
33723 | Do rtl-based profiling only when | |
33724 | !flag_tree_based_profiling. Register rtl-based profiling | |
33725 | hooks. | |
e8366202 | 33726 | * predict.c: Include tree-flow.h, ggc.h, tree-dump.h |
3eb54e5f ILT |
33727 | (predicted_by_p): Rename to ... |
33728 | (rtl_predicted_by_p): .. this one; make global | |
33729 | (tree_predicted_by_p): New. | |
33730 | (dump_prediction): Add FILE argument. | |
33731 | (predict_edge): Rename to ... | |
33732 | (rtl_predict_edge): .. this one. | |
33733 | (tree_predict_edge): New. | |
33734 | (combine_predictions_for_insn): Update calls of predict_edge. | |
33735 | (predict_loops): Break out from ... | |
33736 | (estimate_probability): ... here; update comments; move updating | |
33737 | of unknown probabilities from ... | |
33738 | (estimate_bb_frequencies): ... here. | |
33739 | (combine_predictions_for_bb): New. | |
33740 | (tree_predict_by_opcode): New. | |
33741 | (tree_estimate_probability): New. | |
33742 | * predict.def (PRED_TREE_POINTER, PRED_TREE_OPCODE_POSITIVE, | |
33743 | PRED_TREE_OPCODE_NONEQUAL, PRED_TREE_FPOPCODE): New predictors. | |
33744 | * predict.h: Add include guard. | |
33745 | (predict_edge, predict_edge_def): Move prototypes to basic_block.h | |
33746 | * pretty-print.c (pp_write_text_to_stream): Make extern. | |
33747 | * pretty-print.h (pp_write_text_to_stream): Declare. | |
33748 | * print-rtl.c (print_rtx): Don't print the integrated flag. | |
33749 | Print the return_val flag. | |
33750 | * print-tree.c: Use TREE_FILENAME and TREE_LINENO instead | |
33751 | of DECL_SOURCE_FILE and DECL_SOURCE_LINE respectively. | |
33752 | Remove support for EXPR_WITH_FILE_LOCATION nodes. | |
33753 | (print_node): Print TREE_INVARIANT and TREE_VISITED. | |
33754 | * profile.c: Include cfghooks.h, tree-flow.h. | |
33755 | (profile_hooks): New. | |
33756 | (profile_dump_file): New. | |
33757 | (instrument_edges): Use hooks instead of RTL-specific code. | |
33758 | (instrument_values): Ditto. | |
33759 | (get_exec_counts): Ditto. | |
33760 | (compute_branch_probabilities): Ditto. | |
33761 | (compute_value_histograms): Ditto. | |
33762 | (branch_prob): Ditto. | |
33763 | (find_spanning_tree): Ditto. | |
33764 | (end_branch_prob): Ditto. | |
33765 | (gen_edge_profiler): Move to rtl-profile.c (rtl_gen_edge_profiler). | |
33766 | (gen_interval_profiler): Ditto (rtl_gen_interval_profiler). | |
33767 | (gen_pow2_profiler): Ditto (rtl_gen_pow2_profiler). | |
33768 | (gen_one_value_profiler): Ditto (rtl_gen_one_value_profiler). | |
33769 | (tree_register_profile_hooks): New. | |
33770 | (rtl_register_profile_hooks): New. | |
33771 | * ra-rewrite.c (rewrite_program): Clear variable info. | |
33772 | * recog.c (immediate_operand): Do not handle CONSTANT_P_RTX. | |
33773 | * regs.h: Add include guards. | |
33774 | * reload.c (decompose): Clear val using memset. | |
33775 | * rtl.def (CONSTANT_P_RTX): Remove. | |
33776 | * rtl.h (CONSTANT_P): Do not handle CONSTANT_P_RTX. | |
33777 | (copy_loop_headers): Remove. | |
33778 | (struct rtx_def): Replace the integrated flag with the | |
33779 | return_val flag. | |
33780 | (maybe_set_first_label_num): Declare. | |
33781 | (init_branch_prob): Move declaration to value-prof.h. | |
33782 | (end_branch_prob): Ditto. | |
33783 | (branch_prob): Ditto. | |
33784 | (never_reached_warning): Don't declare it. | |
33785 | * rtlanal.c (get_related_value): Initialize get_jump_table_offset | |
33786 | (hoist_insn_to_edge): Update to match field insns in | |
33787 | struct edge_def. | |
33788 | * sbitmap.c (sbitmap_realloc): New. | |
33789 | * sbitmap.h (sbitmap_realloc): Declare. | |
33790 | * sibcall.c: Remove file. | |
33791 | * simplify-rtx.c (simplify_rtx): Do not handle | |
33792 | CONSTANT_P_RTX. | |
33793 | * stmt.c (parse_output_constraint): Don't warn for read-write | |
33794 | memory operand. | |
33795 | (tail_recursion_args): Use types_compatible_p langhook. | |
33796 | (force_label_rtx): Don't look at inline_function_decl. | |
33797 | (label_rtx): Set LABEL_PRESERVE_P appropriately. | |
33798 | (expand_label): Handle DECL_NONLOCAL and FORCED_LABEL. | |
33799 | (declare_nonlocal_label): Remove. | |
33800 | (expand_goto): Don't handle nonlocal gotos. | |
33801 | (expand_nl_handler_label): Remove. | |
33802 | (expand_nl_goto_receivers): Remove. | |
33803 | (expand_end_bindings): Don't expand_nl_goto_receivers. Use | |
33804 | update_nonlocal_goto_save_area. | |
33805 | (expand_expr_stmt_value): Check TREE_NO_WARNING. | |
33806 | (warn_if_unused_value): Likewise. | |
33807 | (expand_start_loop, expand_loop_continue_here, | |
33808 | expand_end_loop): Don't create loop notes. | |
33809 | (all_cases_count, BITARRAY_TEST, BITARRAY_SET, | |
33810 | mark_seen_cases, check_for_full_enumeration_handling): Remove. | |
33811 | (expand_end_case_type): Don't do warn_switch handling. | |
33812 | (pushcase, pushcase_range) Update add_case_node calls. | |
33813 | (add_case_node): Add dont_expand_label argument. | |
33814 | (same_case_target_p): Don't search rtl. | |
33815 | (expand_start_bindings_and_block, expand_end_bindings): | |
33816 | Don't emit block notes when dont_emit_block_notes. | |
33817 | (using_eh_for_cleanups_p): Export. | |
33818 | (expand_return): Allow any typed rhs. | |
33819 | (expand_stack_alloc): New. | |
33820 | (expand_stack_save, expand_stack_restore): New. | |
33821 | (containing_blocks_have_cleanups_or_stack_level): New | |
33822 | function. | |
33823 | (asm_op_is_mem_input): New fn. | |
33824 | (expand_asm_expr): New fn. | |
33825 | (warn_if_unused_value): Check operand 0 of SAVE_EXPR | |
33826 | nodes. | |
33827 | * stor-layout.c (layout_type): Just return if type is | |
33828 | error_mark_node. | |
33829 | (update_alignment_for_field): Export. | |
33830 | (variable_size): We don't care about global_bindings_p if | |
33831 | the frontend doesn't want a list of the expressions. | |
33832 | * system.h: Poison INTEGRATE_THRESHOLD. | |
33833 | * timevar.def (TV_TREE_GIMPLIFY, TV_TREE_EH, TV_TREE_CFG, | |
33834 | TV_TREE_CLEANUP_CFG, TV_TREE_PTA, TV_TREE_MAY_ALIAS, | |
33835 | TV_TREE_INSERT_PHI_NODES, TV_TREE_SSA_REWRITE_BLOCKS, | |
33836 | TV_TREE_SSA_OTHER, TV_TREE_OPS, | |
33837 | TV_TREE_SSA_DOMINATOR_OPTS, TV_TREE_SRA, TV_TREE_CCP, | |
33838 | TV_TREE_SPLIT_EDGES, TV_TREE_PRE, TV_TREE_PHIOPT, | |
33839 | TV_TREE_FORWPROP, TV_TREE_DCE, TV_TREE_CD_DCE, | |
33840 | TV_TREE_DSE, TV_TREE_LOOP, TV_TREE_CH, | |
33841 | TV_TREE_SSA_TO_NORMAL, TV_TREE_SSA_TO_NORMAL, | |
33842 | TV_TREE_NRV, TV_TREE_COPY_RENAME, TV_TREE_SSA_VERIFY, | |
33843 | TV_TREE_STMT_VERIFY, TV_DOM_FRONTIERS, | |
33844 | TV_CONTROL_DEPENDENCES): Define. | |
33845 | * toplev.c: Include tree-alias-common.h | |
33846 | (current_file_decl, flag_mudflap, flag_mudflap_threads, | |
33847 | flag_mudflap_ignore_reads, flag_tree_based_profiling, | |
33848 | flag_tree_gvn, flag_tree_points_to, flag_tree_ccp, | |
33849 | flag_tree_dce, flag_tree_ch, flag_tree_sra, | |
33850 | flag_tree_combine_temps, flag_tree_ter, | |
33851 | flag_tree_live_range_split, flag_tree_dom, | |
33852 | flag_tree_copyrename, flag_tree_dse): Declare. | |
33853 | (f_options): Add tree-based-profiling, tree-gvn, | |
33854 | tree-pre, tree-ccp, tree-dce, | |
33855 | tree-dominator-opts, tree-copyrename, tree-dse, | |
33856 | tree-combine-temps, tree-ter, tree-lrs and tree-ch. | |
33857 | (wrapup_global_declarations): Don't output nested inlined functions. | |
33858 | (general_init): Call init_tree_optimization_passes. | |
33859 | (process_options): Sorry for -ftree-based-profiling plus | |
33860 | -ftest-coverage or -fprofile-values. | |
33861 | * toplev.h (init_tree_optimization_passes, | |
33862 | flag_tree_based_profiling): Declare. | |
33863 | * tracer.c (tail_duplicate): Use cfghooks for bb duplication. | |
33864 | * tree-alias-ander.c: New file. | |
33865 | * tree-alias-ander.h: New file. | |
33866 | * tree-alias-common.c: New file. | |
33867 | * tree-alias-common.h: New file. | |
33868 | * tree-alias-type.c: New file. | |
33869 | * tree-alias-type.h: New file. | |
33870 | * tree-browser.c: New file. | |
33871 | * tree-browser.def: New file. | |
33872 | * tree-cfg.c: New file. | |
33873 | * tree-complex.c: New file. | |
33874 | * tree-dfa.c: New file. | |
33875 | * tree-dump.c (dump_enable_all): New. | |
33876 | (dequeue_and_dump): Do not handle EXPR_WITH_FILE_LOCATION. | |
33877 | (dump_node): Remove const from field suffix and swtch. | |
33878 | (dump_files): Add null entry, .generic, .nested, .vcg, | |
33879 | .xml and a match-all entry. | |
33880 | (extra_dump_files, extra_dump_files_in_use, | |
33881 | extra_dump_files_alloced): Declare | |
33882 | (dump_option_value_info): Add raw, details, stats, | |
33883 | blocks, vops, lineno, uid and all. | |
33884 | (dump_register): New. | |
33885 | (get_dump_file_info): New. | |
33886 | (dump_begin): Call it. | |
33887 | Do nothing for TDI_none. | |
33888 | (dump_begin): Include phase number in dump filename. | |
33889 | (dump_enable_all): New. | |
33890 | (dump_switch_p_1): Split out from dump_switch_p. | |
33891 | (dump_switch_p): Handle extra_dump_files. | |
33892 | Start our scan at TDI_none + 1. | |
33893 | If -fdump-tree-all was given, call dump_enable_all. | |
33894 | * tree-dump.h: Include splay-tree.h. | |
33895 | (dump_function, dump_function_to_file, dump_register): | |
33896 | Declare. | |
33897 | * tree-eh.c: New file. | |
33898 | * tree-flow-inline.h: New file. | |
33899 | * tree-flow.h: New file. | |
33900 | * tree-inline.c: Re-write to handle inlining on GIMPLE. | |
33901 | * tree-inline.h (walk_tree, | |
33902 | walk_tree_without_duplicates): Move to tree.h. | |
33903 | (estimate_num_insns): Declare. | |
33904 | * tree-into-ssa.c: New file. | |
33905 | * tree-iterator.c: New file. | |
33906 | * tree-iterator.h: New file. | |
33907 | * tree-mudflap.c: New file. | |
33908 | * tree-mudflap.h: New file. | |
33909 | * tree-nested.c: New file. | |
33910 | * tree-nomudflap.c: New file. | |
33911 | * tree-nrv.c: New file. | |
33912 | * tree-optimize.c (dump_flags, vars_to_rename, | |
33913 | in_gimple_form, all_passes, pass_gimple, | |
33914 | pass_rebuild_bind, pass_all_optimizations, pass_del_cfg): Declare. | |
33915 | (execute_gimple, execute_rebuild_bind, | |
33916 | gate_all_optimizations, execute_del_cfg, | |
33917 | register_one_dump_file, register_dump_files, dup_pass_1, | |
33918 | init_tree_optimization_passes, execute_todo, | |
33919 | execute_one_pass, execute_pass_list): New. | |
33920 | (clear_decl_rtl): Remove. | |
33921 | (tree_rest_of_compilation): Update to use tree | |
33922 | optimizers. | |
33923 | * tree-outof-ssa.c: New file. | |
33924 | * tree-pass.h: New file. | |
33925 | * tree-phinodes.c: New file. | |
33926 | * tree-pretty-print.c: New file. | |
33927 | * tree-profile.c: New file. | |
33928 | * tree-simple.c: New file. | |
33929 | * tree-simple.h: New file. | |
33930 | * tree-sra.c: New file. | |
33931 | * tree-ssa-alias.c: New file. | |
33932 | * tree-ssa-ccp.c: New file. | |
33933 | * tree-ssa-copy.c: New file. | |
33934 | * tree-ssa-copyrename.c: New file. | |
33935 | * tree-ssa-dce.c: New file. | |
33936 | * tree-ssa-dom.c: New file. | |
33937 | * tree-ssa-dse.c: New file. | |
33938 | * tree-ssa-forwprop.c: New file. | |
33939 | * tree-ssa-live.c: New file. | |
33940 | * tree-ssa-live.h: New file. | |
33941 | * tree-ssa-loop.c: New file. | |
33942 | * tree-ssa-operands.c: New file. | |
33943 | * tree-ssa-operands.h: New file. | |
33944 | * tree-ssa-phiopt.c: New file. | |
33945 | * tree-ssa-pre.c: New file. | |
33946 | * tree-ssa.c: New file. | |
33947 | * tree-ssanames.c: New file. | |
33948 | * tree-tailcall.c: New file. | |
33949 | * tree.c: Include tree-iterator.h, basic-block.h and | |
33950 | tree-flow.h. | |
33951 | (tree_node_kind): Add phi_nodes and ssa names. | |
33952 | (tree_size): Handle PHI_NODE, EPHI_NODE, SSA_NAME, | |
33953 | EUSE_NODE, EKILL_NODE, EEXIT_NODE and STATEMENT_LIST. | |
33954 | (make_node_stat): Handle PHI_NODE and SSA_NAME. | |
33955 | <'c'> Set TREE_INVARIANT. | |
33956 | (copy_node_stat): Abort if trying to copy a | |
33957 | STATEMENT_LIST. | |
33958 | Clear TREE_VISITED. | |
33959 | Clear annotation field. | |
33960 | (build_constructor): Copy TREE_INVARIANT from vals. | |
33961 | Don't clear TREE_CONSTANT. | |
33962 | (expr_first, expr_last, expr_length): Remove. | |
33963 | (staticp): Pass unknown component references to the language. | |
33964 | (save_expr): Check TREE_INVARIANT instead of TREE_CONSTANT. | |
33965 | (skip_simple_arithmetic): Likewise. | |
33966 | (stabilize_reference_1): Likewise. | |
33967 | (tree_node_structure): Handle PHI_NODE, EPHI_NODE, | |
33968 | EUSE_NODE, EKILL_NODE, EEXIT_NODE, SSA_NAME and | |
33969 | STATEMENT_LIST. | |
33970 | (lhd_unsave_expr_now): Remove. | |
33971 | (unsafe_for_reeval): Handle LABEL_EXPR and BIND_EXPR. | |
33972 | (recompute_tree_invarant_for_addr_expr): New. | |
33973 | (build1_stat): Clear EXPR_LOCUS and TREE_BLOCK. | |
33974 | Call recompute_tree_invarant_for_addr_expr. | |
33975 | Set TREE_INVARIANT accordingly. | |
33976 | (build2_stat): Don't handle CALL_EXPR. | |
33977 | (build3_stat): Don't call build2_stat for CALL_EXPRs. | |
33978 | (build_expr_wfl): Remove. | |
33979 | (annotate_with_file_line, annotate_with_locus): New. | |
33980 | (simple_cst_equal): Call simple_cst_list_equal to compare | |
33981 | CONSTRUCTOR_ELTS pointers. | |
33982 | (iterative_hash_expr): Don't hash types associated | |
33983 | with conversions. Instead hash on the signedness of the | |
33984 | toplevel object and the operand of the conversion. | |
33985 | (dump_tree_statistics): Call ssanames_print_statistics | |
33986 | and phinodes_print_statistics. | |
33987 | (ephi_node_elt_check_failed, phi_node_elt_check_failed, | |
33988 | add_var_to_bind_expr, build_empty_stmt, is_essa_node, | |
33989 | needs_to_live_in_memory): New. | |
33990 | (initializer_zerop): Handle VECTOR_CST. Don't check | |
33991 | AGGREGATE_TYPE_P for CONSTRUCTOR. | |
33992 | * tree.def (FILTER_EXPR, CASE_LABEL_EXPR, RESX_EXPR, | |
33993 | SSA_NAME, EUSE_NODE, EKILL_NODE, EPHI_NODE, EEXIT_NODE, | |
33994 | PHI_NODE, CATCH_EXPR, EH_FILTER_EXPR, STATEMENT_LIST): Define. | |
33995 | (GOTO_SUBROUTINE_EXPR): Change type to 's'. | |
33996 | (CALL_EXPR): Add another operand. | |
33997 | (EXPR_WITH_FILE_LOCATION): Remove. | |
33998 | (SWITCH_EXPR): Add another operand. | |
33999 | * tree.h: Update various comments. | |
34000 | (union tree_ann_d): Forward declare. | |
34001 | (struct tree_common): Add fields nowarning_flag, | |
34002 | invariant_flag and visited. | |
34003 | (EREF_NODE_CHECK, EPHI_NODE_ELT_CHECK, | |
34004 | PHI_NODE_ELT_CHECK, EREF_NODE_CHECK, PHI_NODE_ELT_CHECK, | |
34005 | EPHI_NODE_ELT_CHECK, TREE_BLOCK, | |
34006 | STRIP_USELESS_TYPE_CONVERSION, CALL_EXPR_TAILCALL, | |
34007 | TREE_NO_WARNING, FORCED_LABEL, TREE_INVARIANT, | |
34008 | IS_EMPTY_STMT, EXPR_LOCUS, SET_EXPR_LOCUS, EXPR_FILENAME, | |
34009 | EXPR_LINENO, EXPR_LOCATION, EXPR_HAS_LOCATION, | |
34010 | EXIT_EXPR_COND, SWITCH_COND, SWITCH_BODY, SWITCH_LABELS, | |
34011 | CASE_LOW, CASE_HIGH, CASE_LABEL, BIND_EXPR_VARS, | |
34012 | BIND_EXPR_BODY, BIND_EXPR_BLOCK, GOTO_DESTINATION, | |
34013 | ASM_STRING, ASM_OUTPUTS, ASM_INPUTS, ASM_CLOBBERS, | |
34014 | ASM_INPUT_P, ASM_VOLATILE_P, COND_EXPR_COND, | |
34015 | COND_EXPR_THEN, COND_EXPR_ELSE, LABEL_EXPR_LABEL, | |
34016 | CATCH_TYPES, CATCH_BODY, EH_FILTER_TYPES, | |
34017 | EH_FILTER_FAILURE, EH_FILTER_MUST_NOT_THROW, | |
34018 | SSA_NAME_VAR, SSA_NAME_DEF_STMT, SSA_NAME_VERSION, | |
34019 | SSA_NAME_OCCURS_IN_ABNORMAL_PHI, SSA_NAME_IN_FREE_LIST, | |
34020 | PHI_RESULT, PHI_REWRITTEN, PHI_NUM_ARGS, | |
34021 | PHI_ARG_CAPACITY, PHI_ARG_ELT, PHI_ARG_EDGE, PHI_ARG_DEF, | |
34022 | EREF_PROCESSED, EREF_ID, EREF_NAME, EREF_STMT, | |
34023 | EREF_RELOAD, EREF_SAVE, EREF_CLASS, EREF_INJURED, | |
34024 | EREF_TEMP, EUSE_DEF, EUSE_PHIOP, EUSE_INSERTED, | |
34025 | EUSE_LVAL, EPHI_NUM_ARGS, EPHI_ARG_CAPACITY, | |
34026 | EPHI_ARG_ELT, EPHI_ARG_EDGE, EPHI_ARG_PRED, EPHI_ARG_DEF, | |
34027 | EPHI_ARG_INJURED, EPHI_ARG_DELAYED_RENAME, | |
34028 | EPHI_ARG_HAS_REAL_USE, EPHI_ARG_STOPS, | |
34029 | EPHI_ARG_PROCESSED2, EPHI_IDENTITY, EPHI_IDENT_INJURED, | |
34030 | EPHI_REP_OCCUR_KNOWN, EPHI_IDENTICAL_TO, EPHI_DOWNSAFE, | |
34031 | EPHI_CANT_BE_AVAIL, EPHI_DEAD, EPHI_USES, EPHI_STOPS, | |
34032 | TREE_VISITED, SSA_VAR_P, DECL_NUM_STMTS, | |
34033 | DECL_HARD_REGISTER, DECL_PTA_ALIASVAR, LABEL_DECL_UID, | |
34034 | DECL_NEEDS_TO_LIVE_IN_MEMORY_INTERNAL, | |
34035 | STATEMENT_LIST_HEAD, STATEMENT_LIST_TAIL, TDF_RAW, | |
34036 | TDF_DETAILS, TDF_STATS, TDF_BLOCKS, TDF_VOPS, TDF_LINENO, | |
34037 | TDF_UID,): Define. | |
34038 | (TREE_NO_UNUSED_WARNING, EXPR_WFL_EMIT_LINE_NOTE, | |
34039 | EXPR_WFL_NODE, EXPR_WFL_FILENAME_NODE, EXPR_WFL_FILENAME, | |
34040 | EXPR_WFL_LINECOL, EXPR_WFL_LINENO, EXPR_WFL_COLNO, | |
34041 | EXPR_WFL_SET_LINECOL): Remove. | |
34042 | (phi_node_elt_check_failed, ephi_node_elt_check_failed, | |
34043 | make_phi_node, init_phinodes, fini_phinodes, | |
34044 | release_phi_node, phinodes_print_statistics, | |
34045 | init_ssanames, fini_ssanames, make_ssa_name, | |
34046 | release_ssa_name, ssanames_print_statistics, | |
34047 | annotate_with_file_line, build_empty_stmt, | |
34048 | annotate_with_locus, expr_only, categorize_ctor_elements, | |
34049 | count_type_elements, add_var_to_bind_expr, is_essa_node, | |
34050 | expand_stack_alloc, expand_stack_save, | |
34051 | expand_stack_restore, add_case_node, operand_equal_p, | |
34052 | nondestructive_fold_unary_to_constant, | |
34053 | nondestructive_fold_binary_to_constant, | |
34054 | fold_read_from_constant_string, int_const_binop, | |
34055 | strip_float_extensions, simplify_builtin, c_strlen, | |
34056 | recompute_tree_invarant_for_addr_expr, | |
34057 | needs_to_live_in_memory, make_vector, | |
34058 | setjmp_vars_warning, update_alignment_for_field, | |
34059 | expand_asm_expr, asm_op_is_mem_input, | |
34060 | containing_blocks_have_cleanups_or_stack_level, | |
34061 | create_artificial_label, gimplify_function_tree, | |
34062 | get_name, unshare_expr, walk_tree, | |
34063 | walk_tree_without_duplicates, in_gimple_form): Declare. | |
34064 | (struct tree_exp): Add fields locus and block. | |
34065 | (struct tree_ssa_name, struct edge_def, struct | |
34066 | tree_phi_node, struct tree_eref_common, struct | |
34067 | tree_euse_node, struct ephi_arg_d, struct tree_ephi_node, | |
34068 | union alias_var_def, struct tree_statement_list_node, | |
34069 | struct tree_statement_list, enum operand_equal_flag): Declare. | |
34070 | (enum tree_node_structure_enum): Add TS_SSA_NAME, | |
34071 | TS_PHI_NODE, TS_EPHI_NODE, TS_EUSE_NODE, TS_EREF_NODE, | |
34072 | TS_STATEMENT_LIST. | |
34073 | (union tree_node): Add fields ssa_name, phi, eref, ephi, | |
34074 | euse and stmt_list. | |
34075 | (function_cannot_inline_p, uninitialized_vars_warning, | |
34076 | save_for_inline, output_inline_function, all_cases_count, | |
34077 | check_for_full_enumeration_handling, | |
34078 | declare_nonlocal_label): Remove. | |
34079 | (enum tree_dump_index): Add TDI_none, TDI_tu, | |
34080 | TDI_generic, TDI_nested, TDI_vcg, TDI_xml. | |
34081 | * unroll.c (unroll_loop): Don't clear map->inline_target. | |
34082 | * unwind-sjlj.c (uw_install_context): Make a proper static inline | |
34083 | function. | |
34084 | * value-prof.c (value_prof_hooks): New. | |
34085 | (find_values_to_profile): Rename to rtl_find_values_to_profile. | |
34086 | Move rtl-specific bits in from branch_prob. | |
34087 | (value_profile_transformations): Rename to | |
34088 | rtl_value_profile_transformations. | |
34089 | (struct value_prof_hooks): New. | |
34090 | (rtl_value_prof_hooks): New. | |
34091 | (rtl_register_value_prof_hooks): New. | |
34092 | (tree_find_values_to_profile): New stub. | |
34093 | (tree_value_profile_transformations): New stub. | |
34094 | (tree_value_prof_hooks): New stub. | |
34095 | (tree_register_value_prof_hooks): New stub. | |
34096 | (find_values_to_profile): New. | |
34097 | (value_profile_transformations): New. | |
34098 | * value-prof.h: Add multiple inclusion guard. | |
34099 | (struct histogram_value): Change rtx fields to void *. | |
34100 | (rtl_register_value_prof_hooks): New declaration. | |
34101 | (tree_register_value_prof_hooks): New declaration. | |
34102 | (find_values_to_profile): New declaration. | |
34103 | (free_profiled_values): New declaration. | |
34104 | (value_profile_transformations): New declaration. | |
34105 | (struct profile_hooks): New declaration. | |
34106 | (init_branch_prob): Declaration moved from rtl.h. | |
34107 | (branch_prob): Declaration moved from rtl.h. | |
34108 | (end_branch_prob): Declaration mooved from rtl.h. | |
34109 | (tree_register_profile_hooks): New declaration. | |
34110 | (rtl_register_profile_hooks): New declaration. | |
34111 | (tree_profile_hooks): New declaration. | |
34112 | (rtl_profile_hooks): New declaration. | |
34113 | * varasm.c: Include tree-mudflap.h. | |
34114 | (TRAMPOLINE_ALIGNMENT): Remove. | |
34115 | (make_decl_rtl): Call mudflap_enqueue_decl. | |
34116 | (assemble_static_space): | |
34117 | (assemble_trampoline_template): Set and return | |
34118 | TRAMPOLINE_ALIGNMENT. | |
34119 | * varray.c (element): Add GENERIC_PTR_NOGC entry. | |
34120 | Add entry for 'tree *'. | |
34121 | Add entry for struct edge_def *. | |
34122 | (varray_copy): New. | |
34123 | * varray.h (enum varray_data_enum): Add | |
34124 | VARRAY_DATA_GENERIC_NOGC, VARRAY_DATA_EDGE and | |
34125 | VARRAY_DATA_TREE_PTR. | |
34126 | (union varray_data_tag): Corresponding changes. | |
34127 | (VARRAY_GENERIC_PTR_NOGC_INIT, VARRAY_EDGE_INIT, | |
34128 | VARRAY_TREE_PTR_INIT, VARRAY_GENERIC_PTR_NOGC, | |
34129 | VARRAY_EDGE, VARRAY_TREE_PTR, | |
34130 | VARRAY_PUSH_GENERIC_PTR_NOGC, VARRAY_PUSH_EDGE, | |
34131 | VARRAY_PUSH_TREE_PTR, VARRAY_TOP_GENERIC_PTR_NOGC, | |
34132 | VARRAY_TOP_EDGE, VARRAY_TOP_TREE_PTR): Define. | |
34133 | ||
34134 | * config/*/*: Various updates for changed macros, tree | |
34135 | codes, etc. Check ChangeLog.tree-ssa. | |
34136 | ||
34137 | * doc/cfg.texi: New file. | |
34138 | * doc/tree-ssa.texi: New file. | |
34139 | * doc/c-tree.texi: Document new codes. | |
34140 | * doc/gccint.texi: Include new files. | |
34141 | * doc/install.texi: Document new features. | |
34142 | * doc/invoke.texi: Document new switches. | |
34143 | * doc/passes.texi: Document new passes. | |
34144 | * doc/rtl.texi: Update changed RTL codes. | |
34145 | * doc/sourcebuild.texi: Update build instructions. | |
34146 | * doc/standards.texi: Document Fortran changes. | |
34147 | * doc/tm.texi: Update. | |
34148 | ||
34149 | 2004-05-12 Paolo Bonzini <bonzini@gnu.org> | |
34150 | ||
34151 | Replace several arrays with a struct of arrays. | |
34152 | * combine.c (struct reg_stat): New. | |
34153 | (init_reg_last_arrays): Renamed to... | |
34154 | (init_reg_last): ...this. Callers adjusted. | |
34155 | (reg_stat): New. | |
34156 | (combine_instructions): Allocate it and use it. | |
34157 | (reg_last_death, reg_last_set, reg_last_set_value, | |
34158 | reg_last_set_label, reg_last_set_table_tick, | |
34159 | reg_last_set_invalid, reg_nonzero_bits, reg_sign_bit_copies, | |
34160 | reg_last_set_mode, reg_last_set_nonzero_bits, | |
34161 | reg_last_set_sign_bit_copies): Replace throughout | |
34162 | with items of reg_stat. | |
34163 | ||
34164 | 2004-05-11 Kaz Kojima <kkojima@gcc.gnu.org> | |
34165 | ||
34166 | PR optimization/15100 | |
34167 | * combine.c (distribute_notes): Don't create a dangling | |
34168 | REG_LIBCALL/REG_RETVAL note. | |
34169 | ||
34170 | 2004-05-11 Aldy Hernandez <aldyh@redhat.com> | |
34171 | ||
34172 | * config/rs6000/spe.md (spe_evneg): Rename to negv2si2. | |
34173 | ||
34174 | * config/rs6000/rs6000.c (bdesc_1arg): Change spe_evneg to | |
34175 | negv2si2. | |
34176 | ||
34177 | 2004-05-11 Aldy Hernandez <aldyh@redhat.com> | |
34178 | ||
34179 | * doc/md.texi (Standard Names): Fix typo in vec_init description. | |
34180 | ||
34181 | 2004-05-11 Geoffrey Keating <geoffk@apple.com> | |
34182 | ||
34183 | * doc/gty.texi (GTY Options): Clarify example. | |
34184 | ||
34185 | 2004-05-11 Fariborz Jahanian <fjahanian@apple.com> | |
34186 | ||
34187 | * config/rs6000/rs6000.c (rs6000_handle_altivec_attribute): | |
34188 | Add const qualifier to altivec vector type if one is needed. | |
34189 | ||
34190 | 2004-05-11 Paul Brook <paul@codesourcery.com> | |
34191 | ||
34192 | * flags.h (flag_short_enums): Update comment. | |
34193 | * opts.c (decode_options): Set flag_short_enums to 2. | |
34194 | * toplev.c (flag_short_enums): Update comment. | |
34195 | (process_options): Call default_short_enums target hook. | |
34196 | ||
34197 | 2004-05-11 Andrew Pinski <pinskia@gcc.gnu.org> | |
34198 | ||
34199 | PR target/14063 | |
34200 | * config/rs6000/altivec.md (altivec_dssall): | |
34201 | Change to unspec_volatile. | |
34202 | (altivec_dss): Likewise. | |
34203 | ||
34204 | 2004-05-10 Aldy Hernandez <aldyh@redhat.com> | |
34205 | ||
34206 | * config/rs6000/altivec.md ("one_cmplv16qi2"): Change vnot to | |
34207 | vnor. | |
34208 | ("one_cmplv8hi2"): Same. | |
34209 | ("one_cmplv4si2"): Same. | |
34210 | ||
34211 | 2004-05-10 Kaz Kojima <kkojima@gcc.gnu.org> | |
34212 | ||
34213 | PR target/15130 | |
34214 | * config/sh/sh-protos.h (sh_expand_epilogue): Change prototype. | |
34215 | * config/sh/sh.c (output_stack_adjust): Take the sibcall epilogue | |
34216 | into account. Compute the correct number of general registers | |
34217 | for the return value. Generate a special push/pop sequence when | |
34218 | failing to get a temporary register for non SHmedia epilogue. | |
34219 | (sh_expand_epilogue): Add an argument to show whether it's for | |
34220 | sibcall or not. Set the 3rd argument of output_stack_adjust to | |
34221 | -1 if needed. | |
34222 | (sh_need_epilogue): Call sh_expand_epilogue with 0. | |
34223 | * config/sh/sh.md (sibcall_epilogue): Call sh_expand_epilogue | |
34224 | with 1. | |
34225 | (epilogue): Call sh_expand_epilogue with 0. | |
34226 | ||
34227 | 2004-05-10 Andrew Pinski <pinskia@physics.uc.edu> | |
34228 | ||
34229 | * gcse.c (eliminate_partially_redundant_loads): Instead of returning early, | |
34230 | goto a cleanup label. After the cleanup, free the allocated memory. | |
34231 | ||
34232 | 2004-05-10 Ziemowit Laski <zlaski@apple.com> | |
34233 | ||
34234 | * config/rs6000/altivec.h (vec_sld): Add overloads for | |
34235 | argument/return types of 'vector bool int', 'vector bool short' | |
34236 | and 'vector bool char'. | |
34237 | ||
34238 | 2004-05-10 Zack Weinberg <zack@codesourcery.com> | |
34239 | ||
34240 | * c-decl.c (store_parm_decls_newstyle): Correct test for a | |
34241 | nested function. | |
34242 | ||
34243 | 2004-05-10 Richard Sandiford <rsandifo@redhat.com> | |
34244 | ||
34245 | * read-rtl.c (read_rtx): Allow 's' and 'T' strings to be omitted, | |
34246 | treating missing ones as "". | |
34247 | * config/mips/mips.md: Remove constraints from match_operands and | |
34248 | match_scratches if they appear in define_expands (except reload*), | |
34249 | define_peephole2s, define_splits or attribute specifications. | |
34250 | * config/mips/7000.md, config/mips/sb1.md: Remove match_operand | |
34251 | constraint strings. | |
34252 | ||
34253 | 2004-05-10 Alan Modra <amodra@bigpond.net.au> | |
34254 | ||
34255 | * config/rs6000/rs6000.c (function_arg_boundary): Always align | |
34256 | AltiVec vectors. | |
34257 | (function_arg_advance): Pass TARGET_32BIT -mabi=no-altivec AltiVec | |
34258 | vectors by refererence. Align the same for TARGET_64BIT to a 16 | |
34259 | byte boundary. Remove useless code. Add function comment. | |
34260 | (function_arg): Similarly. Move gpr rs6000_mixed_function_arg | |
34261 | call to where it belongs. | |
34262 | (function_arg_partial_nregs): Return true for all TARGET_32BIT | |
34263 | -mabi=no-altivec AltiVec vectors. Fix debug output. | |
34264 | (rs6000_va_arg): Adjust for AltiVec change. | |
34265 | ||
34266 | 2004-05-10 Paul Brook <paul@codesourcery.com> | |
34267 | ||
34268 | * config/arm/arm.c (arm_promote_prototypes): Use TARGET_AAPCS_BASED. | |
34269 | * config/arm/arm.h (TARGET_AAPCS_BASED): Define. | |
34270 | (TARGET_DOUBLEWORD_ALIGN): Use it. | |
34271 | (WCHAR_TYPE): Define. | |
34272 | (WCHAR_SIZE_TYPE): Define. | |
34273 | (SIZE_TYPE): Define. | |
34274 | ||
34275 | 2004-05-10 Alan Modra <amodra@bigpond.net.au> | |
34276 | ||
34277 | * config/rs6000/rs6000.c (function_arg_boundary): Align for ABI_V4 | |
34278 | when size is 8 bytes. | |
34279 | (function_arg_advance): Account for stack space used by AltiVec | |
34280 | args when -mabi=altivec. Simplify alignment calculations. For | |
34281 | ABI_V4, pass AltiVec vectors by reference when -mabi=no-altivec. | |
34282 | (function_arg): Similarly. | |
34283 | (function_arg_pass_by_reference): True for ABI_V4 AltiVec when | |
34284 | not AltiVec ABI. | |
34285 | (rs6000_va_arg): Correct fp arg test. Adjust for AltiVec change. | |
34286 | Correct alignment, and align before testing reg count. Remove | |
34287 | TREE_THIS_VOLATILE from reg. Don't emit unused labels. | |
34288 | (rs6000_complex_function_value): Check TARGET_HARD_FLOAT and | |
34289 | TARGET_FPRS here.. | |
34290 | (rs6000_function_value): .. not here before call. | |
34291 | ||
34292 | 2004-05-09 Aldy Hernandez <aldyh@redhat.com> | |
34293 | ||
34294 | * config/rs6000/spe.md ("tstsflt_gpr"): Fix typo in unspec. | |
34295 | ||
34296 | 2004-05-09 Zack Weinberg <zack@codesourcery.com> | |
34297 | ||
34298 | PR 15007 | |
34299 | * c-decl.c (current_file_decl): Rename to all_translation_units, | |
34300 | adjust comment. | |
34301 | (pop_scope): If popping file_scope, construct a | |
34302 | TRANSLATION_UNIT_DECL and make it the context of all the | |
34303 | symbols in the scope. | |
34304 | (push_file_scope): Don't construct a TRANSLATION_UNIT_DECL here. | |
34305 | (pushdecl): Clarify comment. Do not set DECL_CONTEXT of | |
34306 | anything to current_file_decl. | |
34307 | (pushdecl_top_level): Likewise. | |
34308 | (store_parm_decls_newstyle): Adjust check for nested function. | |
34309 | (c_write_global_declarations): Update for renamed variable. | |
34310 | ||
34311 | 2004-05-09 Aldy Hernandez <aldyh@redhat.com> | |
34312 | ||
34313 | * config/rs6000/rs6000-protos.h | |
34314 | (rs6000_conditional_register_usage): Protoize. | |
34315 | ||
34316 | * config/rs6000/rs6000.c (rs6000_conditional_register_usage): New. | |
34317 | ||
34318 | * config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Call | |
34319 | function. | |
34320 | ||
34321 | 2004-05-08 Roger Sayle <roger@eyesopen.com> | |
34322 | ||
34323 | * fold-const.c (fold_div_compare): New function to optimize X/C1 op C2 | |
34324 | where op is a comparison operator and C1 and C2 are integer constants | |
34325 | into a range check. | |
34326 | (fold): Call fold_div_compare. | |
34327 | ||
34328 | 2004-05-08 Eric Botcazou <ebotcazou@libertysurf.fr> | |
34329 | ||
34330 | * doc/install.texi (sparc-sun-solaris2*): Document bootstrap | |
34331 | problems with earlier versions of the GNU compiler. | |
34332 | ||
34333 | 2004-05-07 Aldy Hernandez <aldyh@redhat.com> | |
34334 | ||
34335 | * config/rs6000/rs6000-protos.h (rs6000_hard_regno_mode_ok_p): | |
34336 | Declare. | |
34337 | ||
34338 | * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok_p): New. | |
34339 | (rs6000_hard_regno_mode_ok): New. | |
34340 | (rs6000_init_hard_regno_mode_ok): New. | |
34341 | (rs6000_override_options): Call rs6000_init_hard_regno_mode_ok. | |
34342 | ||
34343 | * config/rs6000/rs6000.h (HARD_REGNO_NREGS): Use precomputed | |
34344 | result. | |
34345 | ||
34346 | 2004-05-07 Ziemowit Laski <zlaski@apple.com> | |
34347 | ||
34348 | * config/rs6000/altivec.h (vector, pixel, bool): Do not | |
34349 | define as macros #ifdef __APPLE_ALTIVEC__. | |
34350 | ||
34351 | 2004-05-07 Fariborz Jahanian <fjahanian@apple.com> | |
34352 | ||
34353 | * config/rs6000/rs6000.c (rs6000_mixed_function_arg): | |
34354 | Generate appropriate parallels for vector arguments | |
34355 | passed to vararg functions. (function_arg): make the call | |
34356 | to rs6000_mixed_function_arg for vector args as needed. | |
34357 | ||
34358 | 2004-05-07 Richard Sandiford <rsandifo@redhat.com> | |
34359 | ||
34360 | * config/mips/mips.c (mips_va_arg): Fix calculation of osize for | |
34361 | EABI_FLOAT_VARARGS_P. | |
34362 | ||
34363 | 2004-05-07 Richard Sandiford <rsandifo@redhat.com> | |
34364 | ||
34365 | * config/mips/mips.h (ISA_HAS_BRANCHLIKELY): Remove TARGET_MIPS5500. | |
34366 | * config/mips/mips.c (override_options): Disable branch likely | |
34367 | instructions if TUNE_MIPS5500. | |
34368 | ||
34369 | 2004-05-07 Richard Sandiford <rsandifo@redhat.com> | |
34370 | ||
34371 | * config/mips/mips.c (override_options): Allow the hi and lo registers | |
34372 | to store any integral mode, not just MODE_INTs. | |
34373 | ||
34374 | 2004-05-07 Paul Brook <paul@codesourcery.com> | |
34375 | ||
34376 | * config/arm/arm.c (arm_promote_prototypes): Use TARGET_AAPCS_BASED. | |
34377 | * config/arm/arm.h (TARGET_AAPCS_BASED): Define. | |
34378 | (TARGET_DOUBLEWORD_ALIGN): Use it. | |
34379 | (WCHAR_TYPE): Define. | |
34380 | (WCHAR_SIZE_TYPE): Define. | |
34381 | (SIZE_TYPE): Define. | |
34382 | ||
34383 | 2004-05-07 Uros Bizjak <uros@kss-loka.si> | |
34384 | ||
34385 | * config/i386/i386.c (ix86_emit_fp_unordered_jump): Use | |
34386 | testb $4, %ah insn instead of sahf insn if !TARGET_USE_SAHF. | |
34387 | ||
34388 | 2004-05-07 Andrew Pinski <pinskia@physics.uc.edu> | |
34389 | ||
34390 | * loop-doloop.c (doloop_valid_p): Make sure that body | |
34391 | gets freed. | |
34392 | ||
34393 | 2004-05-07 Eric Botcazou <ebotcazou@act-europe.fr> | |
34394 | ||
34395 | * config/sparc/sparc-protos.h (sparc_skip_caller_unimp): New | |
34396 | declaration. | |
34397 | * config/sparc/sparc.c (SKIP_CALLERS_UNIMP_P): Delete. | |
34398 | (sparc_skip_caller_unimp): New global variable. | |
34399 | (sparc_function_epilogue): Set 'sparc_skip_caller_unimp'. | |
34400 | Use it instead of SKIP_CALLERS_UNIMP_P. | |
34401 | * config/sparc/sparc.md (call expander): Add sanity check. | |
34402 | (call_address_struct_value_sp32): Re-sync with expander. | |
34403 | (call_symbolic_struct_value_sp32): Likewise. | |
34404 | (return peepholes): Use 'sparc_skip_caller_unimp' instead | |
34405 | of custom predicate. | |
34406 | ||
34407 | 2004-05-07 Eric Botcazou <ebotcazou@libertysurf.fr> | |
34408 | ||
34409 | PR c++/14962 | |
34410 | * c-pragma.c (handle_pragma_redefine_extname): Only change | |
34411 | the assembler name of FUNCTION_DECLs and VAR_DECLs. | |
34412 | ||
34413 | 2004-05-07 Uros Bizjak <uros@kss-loka.si> | |
34414 | ||
34415 | * optabs.h (enum optab_index): Add new OTI_log1p. | |
34416 | (log1p_optab): Define corresponding macro. | |
34417 | * optabs.c (init_optabs): Initialize log1p_optab. | |
34418 | * genopinit.c (optabs): Implement log1p_optab using log1p?f2 | |
34419 | patterns. | |
34420 | * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_LOG1P{,F,L} | |
34421 | using log1p_optab. | |
34422 | (expand_builtin): Expand BUILT_IN_LOG1P{,F,L} using | |
34423 | expand_builtin_mathfn if flag_unsafe_math_optimizations is set. | |
34424 | ||
34425 | * reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_FYL2XP1. | |
34426 | ||
34427 | * config/i386/i386.c (ix86_emit_i387_log1p): New function. | |
34428 | * config/i386/i386-protos.h (ix86_emit_i387_log1p): | |
34429 | Prototype here. | |
34430 | * config/i386/i386.md (UNSPEC_FYL2XP1): New unspec to represent | |
34431 | x87's fyl2xp1 instruction. | |
34432 | (*fyl2x_xf3): Rename insn definition to fyl2x_xf3. | |
34433 | (fyl2xp1_xf3): New pattern to implement fyl2xp1 x87 instruction. | |
34434 | (log1psf2, log1pdf2, log1pxf2): New expanders to implement log1pf, | |
34435 | log1p and log1pl built-ins as inline x87 intrinsics. | |
34436 | ||
34437 | 2004-05-07 Loren James Rittle <ljrittle@acm.org> | |
34438 | ||
34439 | * config/alpha/freebsd.h (SUBTARGET_EXTRA_SPECS): Proper redefinition. | |
34440 | * config/arm/freebsd.h: Likewise. | |
34441 | * config/ia64/freebsd.h: Likewise. | |
34442 | * config/sparc/freebsd.h: Likewise. | |
34443 | ||
34444 | 2004-05-07 Hans-Peter Nilsson <hp@axis.com> | |
34445 | ||
34446 | PR optimization/15296 | |
34447 | * reorg.c (fill_simple_delay_slots): Use next_real_insn when | |
34448 | getting last consecutive label at a branch. | |
34449 | (relax_delay_slots): Similar, near top of loop. | |
34450 | ||
34451 | 2004-05-06 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
34452 | ||
34453 | PR target/15202 | |
34454 | * pa.md (movdi, movsi, movhi, movqi): Support move from shift amount | |
34455 | register to general register. | |
34456 | ||
34457 | 2004-05-07 Alan Modra <amodra@bigpond.net.au> | |
34458 | ||
34459 | * config/rs6000/rs6000.h (STACK_BOUNDARY): Use 128 bit for either | |
34460 | TARGET_ALTIVEC or TARGET_ALTIVEC_ABI. | |
34461 | * config/rs6000/sysv4.h (ABI_STACK_BOUNDARY): Likewise. | |
34462 | (STACK_BOUNDARY): Delete. | |
34463 | ||
34464 | 2004-05-06 Stuart Hastings <stuart@apple.com> | |
34465 | ||
a1d1988f | 34466 | * doc/invoke.texi: Restore -fgcse-after-reload doc from 1.421, |
3eb54e5f ILT |
34467 | mistakenly clobbered by 1.423. |
34468 | ||
34469 | 2004-05-06 Richard Sandiford <rsandifo@redhat.com> | |
34470 | ||
34471 | * doc/invoke.texi: Document -mvr4130-align. | |
34472 | * config/mips/mips.h (MASK_VR4130_ALIGN, TARGET_VR4130_ALIGN) | |
34473 | (TUNE_MIPS4120, TUNE_MIPS4130): New macros. | |
34474 | (TUNE_MACC_CHAINS): Include TUNE_MIPS4120 and TUNE_MIPS4130. | |
34475 | (TARGET_SWITCHES): Add -mvr4130-align and -mno-vr4130-align. | |
34476 | * config/mips/mips.md: Include sched-int.h. | |
34477 | (USEFUL_INSN_P, SEQ_BEGIN, SEQ_END, FOR_EACH_SUBINSN): New macros. | |
34478 | (mips_rtx_costs): Set integer multiplication costs for TUNE_MIPS4130. | |
34479 | (override_options): Enable -mvr4130-align at -O3 and above. | |
34480 | (mips_sim_insn): New variable. | |
34481 | (mips_sim): New structure. | |
34482 | (mips_sim_reset, mips_sim_init, mips_sim_next_cycle, mips_sim_wait_reg) | |
34483 | (mips_sim_wait_regs_2, mips_sim_wait_regs_1, mips_sim_wait_regs) | |
34484 | (mips_sim_wait_units, mips_sim_wait_insn, mips_sim_record_set) | |
34485 | (mips_sim_issue_insn, mips_sim_issue_nop, mips_sim_finish_insn) | |
34486 | (vr4130_avoid_branch_rt_conflict, vr4130_align_insns): New functions. | |
34487 | (mips_reorg): Call vr4130_align_insns. | |
34488 | (vr4130_last_insn): New variable. | |
34489 | (vr4130_true_reg_dependence_p_1, vr4130_true_reg_dependence_p) | |
34490 | (vr4130_swap_insns_p, vr4130_reorder): New functions. | |
34491 | (mips_sched_reorder, mips_variable_issue): Hook in vr4130 code. | |
34492 | (mips_issue_rate): Return 2 for PROCESSOR_R4130. | |
34493 | (mips_use_dfa_pipeline_interface): Return true for the same. | |
34494 | * config/mips/4130.md: New file. | |
34495 | * config/mips/mips.md: Include it. Add a peephole2 to convert | |
34496 | "mult;mflo" into "mtlo;macc". | |
34497 | (*macc, *umul_acc_di, *smul_acc_di): Use $1 rather than $0 as the | |
34498 | target of maccs. | |
34499 | (*msac_using_macc): New pattern. | |
34500 | ||
34501 | 2004-05-06 Richard Sandiford <rsandifo@redhat.com> | |
34502 | ||
34503 | * config/mips/5500.md (ir_vr55_store): Set latency to 0. | |
34504 | (ir_vr55_hilo): Split into... | |
34505 | (ir_vr55_mfhilo, ir_vr55_mthilo): ...these new reservations. | |
34506 | (ir_vr55_imul_si, ir_vr55_imadd): Change latency to 5. | |
34507 | (ir_vr55_imul_di): Change latency to 9. Reserve vr55_mac for 4 cycles. | |
34508 | Add various multiplication bypasses. | |
34509 | * config/mips/mips.c (mips_rtx_costs): Adjust VR5500 costs for integer | |
34510 | multiplication. | |
34511 | ||
34512 | 2004-05-06 Uros Bizjak <uros@kss-loka.si> | |
34513 | ||
34514 | * config/i386/i386.md (*fscalexf4): Correct insn "mode" | |
34515 | attribute to "XF". | |
34516 | ||
34517 | 2004-05-05 Uros Bizjak <uros@kss-loka.si> | |
34518 | ||
34519 | * optabs.h (enum optab_index): Add new OTI_fmod and OTI_drem. | |
34520 | (fmod_optab, drem_optab): Define corresponding macros. | |
34521 | * optabs.c (init_optabs): Initialize fmod_optab and drem_optab. | |
34522 | * genopinit.c (optabs): Implement fmod_optab and drem_optab | |
34523 | using fmod?f3 and drem?f3 patterns. | |
34524 | * builtins.c (expand_builtin_mathfn_2): Handle BUILT_IN_FMOD{,F,L} | |
34525 | using fmod_optab and BUILT_IN_DREM{,F,L} using drem_optab. | |
34526 | (expand_builtin): Expand BUILT_IN_FMOD{,F,L} and | |
34527 | BUILT_IN_DREM{,F,L} using expand_builtin_mathfn_2 if | |
34528 | flag_unsafe_math_optimizations is set. | |
34529 | ||
34530 | * reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_FPREM_F, | |
34531 | UNSPEC_FPREM_U, UNSPEC_FPREM1_F and UNSPEC_FPREM1_U. | |
34532 | ||
34533 | * config/i386/i386.c (ix86_emit_fp_unordered_jump): New function. | |
34534 | * config/i386/i386-protos.h (ix86_emit_fp_unordered_jump): | |
34535 | Prototype here. | |
34536 | * config/i386/i386.md (UNSPEC_FPREM_F, UNSPEC_FPREM_U, | |
34537 | UNSPEC_FPREM1_F, UNSPEC_FPREM1_U): New unspecs to represent x87's | |
34538 | fprem and fprem1 instructions. | |
34539 | (*x86_fnstsw_1): Change input parameter to (reg:CCFP 18). | |
34540 | Rename insn definition to x86_fnstsw_1. | |
34541 | (fpremxf4, fprem1xf4): New patterns to implement fprem and fprem1 | |
34542 | x87 instructions. | |
34543 | (fmodsf3, fmoddf3, fmodxf3): New expanders to implement fmodf, fmod | |
34544 | and fmodl built-ins as inline x87 intrinsics. | |
34545 | (dremsf3, dremdf3, dremxf3): New expanders to implement dremf, drem | |
34546 | and dreml built-ins as inline x87 intrinsics. | |
34547 | ||
34548 | 2004-05-05 Roger Sayle <roger@eyesopen.com> | |
34549 | ||
34550 | * reload1.c (inherit_piecemeal_p): Mark parameters potentially unused. | |
34551 | ||
34552 | 2004-05-05 Ian Lance Taylor <ian@wasabisystems.com> | |
34553 | ||
34554 | PR driver/9822 | |
34555 | * doc/invoke.texi (Spec Files): Remove documentation of %c. | |
34556 | ||
34557 | 2004-05-05 Chris Demetriou <cgd@broadcom.com> | |
34558 | ||
34559 | * config/mips/mips.md: Update the msub define_split for new mflo/mfhi | |
34560 | representation. | |
34561 | ||
34562 | 2004-05-06 Paul Brook <paul@codesourcery.com> | |
34563 | ||
34564 | * config/arm/arm-protots.h (vfp_mem_operand): Rename ... | |
34565 | (arm_coproc_mem_operand): ... To this. | |
34566 | * config/arm/arm.c (arm_legitimate_address_p): Allow ldrd modes. | |
34567 | (arm_legitimate_index_p): Ditto. | |
34568 | (vfp_mem_operand): Rename ... | |
34569 | (arm_coproc_mem_operand): ... To this. Handle writeback modes. | |
34570 | (vfp_secondary_reload_class): Use it. | |
34571 | (output_move_double): Use doubleword load/store instructions. | |
34572 | (arm_hard_regno_mode_ok): Only allow even reg pairs for ldrd. | |
34573 | * config/arm/arm.h (TARGET_LDRD): Define. | |
34574 | (EXTRA_CONSTRAINT_STR_ARM): Add 'Uy'. | |
a1d1988f | 34575 | * config/arm/arm.md (arm_movdi): Allow all valid memory operands. |
3eb54e5f ILT |
34576 | New splitter for invalid doubleword loads. |
34577 | * config/arm/iwmmxt.md (iwmmxt_arm_movdi): Use Uy constraint. | |
34578 | * config/arm/vfp.md (arm_movdi_vfp): Allow all valid memory operands. | |
34579 | * doc/md.texi: Document Uy constraint. | |
34580 | ||
34581 | 2004-05-05 Jan Hubicka <jh@suse.cz> | |
34582 | ||
34583 | PR opt/14980 | |
34584 | * cgraphunit.c (cgraph_remove_unreachable_nodes): Deal properly with | |
34585 | inline clones. | |
34586 | ||
34587 | 2004-05-05 H.J. Lu <hongjiu.lu@intel.com> | |
34588 | ||
34589 | PR target/15290 | |
34590 | * config/i386/i386.c (ix86_split_to_parts): Use real_to_target | |
34591 | instead of REAL_VALUE_TO_TARGET_LONG_DOUBLE. | |
34592 | ||
34593 | 2004-05-05 Mike Stump <mrs@apple.com> | |
34594 | ||
34595 | * config/darwin-c.c (add_framework): Copy the directory name as it | |
34596 | can be freed later. Also, ensure we always allocate enough room | |
34597 | for the cached framework information. | |
34598 | (find_subframework_header): Keep track of the directory where the | |
34599 | subframework header was found. | |
34600 | (framework_construct_pathname): Speed up by not trying to re-add a | |
34601 | framework. | |
34602 | * cppfiles.c (search_path_exhausted): Arrange for the missing | |
34603 | header callback to be able to set the directory where the header | |
34604 | was found. | |
34605 | (cpp_get_dir): Add. | |
34606 | * cpplib.h (missing_header_cb): Add a parameter. | |
34607 | (cpp_get_dir): Add. | |
34608 | ||
34609 | 2004-05-03 Mike Stump <mrs@apple.com> | |
34610 | ||
34611 | * doc/invoke.texi (Directory Options): Document -iquote. | |
34612 | * doc/cpp.texi: Likewise. | |
34613 | * doc/cppopts.texi: Likewise. | |
34614 | * c-opts.c (c_common_missing_argument): Add -iquote processing. | |
34615 | (c_common_handle_option): Likewise. | |
34616 | * c.opt (iquote): Add. | |
34617 | * gcc.h (DEFAULT_WORD_SWITCH_TAKES_ARG): Add -iquote. | |
34618 | * c-incpath.c (merge_include_chains): Update comment to use -iquote. | |
34619 | ||
34620 | * c-opts.c (case OPT_I): Deprecate -I- support. | |
34621 | * doc/invoke.texi: Likewise. | |
34622 | * doc/cpp.texi: Likewise. | |
34623 | * doc/cppopts.texi: Likewise. | |
34624 | ||
34625 | 2004-05-05 Steven Bosscher <stevenb@suse.de> | |
34626 | ||
34627 | * basic-block.h (free_basic_block_vars): Update prototype. | |
34628 | * flow.c (free_basic_block_vars): Remove the keep_head_end_p | |
34629 | argument. | |
34630 | (life_analysis): Update call. | |
34631 | * ifcvt.c (if_convert): Likewise. | |
34632 | * sibcall.c (optimize_sibling_and_tail_recursive_call): Likewise. | |
34633 | * passes.c (rest_of_handle_final): Likewise. | |
34634 | (rest_of_compilation): Likewise. | |
34635 | * config/sh/sh.c (sh_output_mi_thunk): Likewise. | |
34636 | ||
34637 | * emit-rtl.c (next_real_insn): Use INSN_P. | |
34638 | (prev_real_insn): Likewise. | |
34639 | ||
34640 | 2004-05-05 Eric Christopher <echristo@redhat.com> | |
34641 | ||
34642 | * config/mips/mips.md: Update the madd define_split for new mflo/mfhi | |
34643 | representation. | |
34644 | ||
34645 | 2004-05-05 Paolo Bonzini <bonzini@gnu.org> | |
34646 | ||
34647 | * config/rs6000/rs6000.c (build_opaque_vector_type): | |
34648 | New function. | |
34649 | (rs6000_init_builtins): Use it. | |
34650 | ||
34651 | 2004-05-04 Bernard Giroud <bgiroud2@free.fr> | |
34652 | ||
a1d1988f | 34653 | * vmsdbgout.c (vms_func_node, vms_func_ref): New. |
3eb54e5f | 34654 | (func_table): Change type from char ** to vms_func_ref. |
e8366202 | 34655 | (write_rtnbeg): Update to reflect func_table change. Use |
3eb54e5f ILT |
34656 | fde->funcdef_number instead of rtnnum in output. |
34657 | (write_rtnend, vmxdbgout_begin_function, vmsdbgout_init): Likewise. | |
34658 | ||
34659 | 2004-05-04 Paolo Bonzini <bonzini@gnu.org> | |
34660 | Richard Henderson <rth@redhat.com> | |
34661 | ||
34662 | PR target/14899 | |
34663 | ||
34664 | * c-common.c (vector_types_convertible_p): New function. | |
34665 | * c-typeck.c (comptypes): Recurse on vector types. | |
34666 | (convert_for_assignment): Use vector_types_convertible_p. | |
34667 | (digest_init): Use vector_types_convertible_p to check | |
34668 | validness of constant vector initializers; otherwise treat | |
34669 | them as scalars. | |
34670 | * tree.c (make_or_reuse_type): New. | |
34671 | (build_common_tree_nodes): Use it. | |
34672 | * cp/call.c (standard_conversion): Likewise. | |
34673 | * cp/typeck.c (comptypes): Recurse on vector types. | |
34674 | (convert_for_assignment): Use vector_types_convertible_p. | |
34675 | ||
34676 | 2004-05-04 Chris Demetriou <cgd@broadcom.com> | |
34677 | ||
34678 | * config/mips/mips.c (override_options): Default to no | |
34679 | generation of branch-likely operations when tuning for | |
34680 | CPUs where they tend to have a negative performance impact | |
34681 | (e.g., SB-1). | |
34682 | ||
34683 | 2004-05-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
34684 | ||
34685 | * expr.c (store_constructor_field): Don't call store_constructor | |
34686 | if bitsize is not a multiple of a byte. | |
34687 | ||
34688 | 2004-05-04 Richard Sandiford <rsandifo@redhat.com> | |
34689 | ||
34690 | * reload1.c (inherit_piecemeal_p): New function. | |
34691 | (emit_reload_insns): When reloading a group of hard registers, use | |
34692 | inherit_piecemeal_p to decide whether the values of individual hard | |
34693 | registers can be inherited. | |
34694 | ||
34695 | 2004-05-04 H.J. Lu <hongjiu.lu@intel.com> | |
34696 | ||
34697 | * config/ia64/t-ia64 (LIB2ADDEH): Remove gthr-gnat.c. | |
34698 | * config/s390/t-tpf (LIB2ADDEHDEP): Likewise. | |
34699 | * config/t-linux (LIB2ADDEHDEP): Likewise. | |
34700 | ||
34701 | 2004-05-04 Paul Brook <paul@codesourcery.com> | |
34702 | ||
34703 | * config/arm/crti.asm: Push an even number of registers. | |
34704 | * config/arm/crtn.asm: And restore them. Load via sp. | |
34705 | ||
34706 | 2004-05-04 Paolo Bonzini <bonzini@gnu.org> | |
34707 | ||
34708 | * ggc-zone.c (ggc_alloc_zone_1): Add MEM_STAT_DECL parameter. | |
34709 | Collect overhead information. | |
34710 | (ggc_alloc_stat): New name of ggc_alloc. Add MEM_STAT_DECL | |
34711 | parameter and pass it through. | |
34712 | (ggc_alloc_typed_stat): New name of ggc_alloc_typed. Add | |
34713 | MEM_STAT_DECL parameter and pass it through. | |
34714 | (ggc_alloc_zone_stat): New name of ggc_alloc_zone. Add | |
34715 | MEM_STAT_DECL parameter and pass it through. | |
34716 | ||
34717 | 2004-05-03 Aldy Hernandez <aldyh@redhat.com> | |
34718 | ||
34719 | * config/rs6000/rs6000-protos.h: Protoize rs6000_hard_regno_nregs. | |
34720 | ||
34721 | * config/rs6000/rs6000.c (rs6000_hard_regno_nregs): New. | |
34722 | ||
34723 | * config/rs6000/rs6000.h (HARD_REGNO_NREGS): Call | |
34724 | rs6000_hard_regno_nregs. | |
34725 | ||
34726 | 2004-05-03 Eric Christopher <echristo@redhat.com> | |
34727 | ||
34728 | * config/s390/s390.c (s390_emit_prologue): Call unspec tpf | |
34729 | prologue insn instead of setting up call. | |
34730 | (s390_emit_epilogue): Ditto. | |
34731 | * config/s390/s390.md (prologue_tpf, epilogue_tpf): New patterns. | |
34732 | (define_constants): Add numbers for above patterns. | |
34733 | ||
34734 | 2004-05-03 Eric Christopher <echristo@redhat.com> | |
34735 | ||
34736 | * config/s390/s390.h (CONDITIONAL_REGISTER_USAGE): Move body... | |
34737 | * config/s390/s390.c (s390_conditional_register_usage): ...here. | |
34738 | * config/s390/s390-protos.h: Prototype. | |
34739 | ||
34740 | 2004-05-03 Joe Buck <jbuck@welsh-buck.org> | |
34741 | ||
34742 | * cppfiles.c (pchf_adder): Eliminate use of |= in d->have_once_only | |
34743 | assignment. | |
34744 | ||
34745 | 2004-05-03 Eric Christopher <echristo@redhat.com> | |
34746 | ||
34747 | * config/mips/mips.md: Fix branch length attribute definition. | |
34748 | ||
34749 | 2004-05-03 Aldy Hernandez <aldyh@redhat.com> | |
34750 | ||
34751 | * config.gcc: Remove --enable-altivec support. | |
34752 | ||
34753 | * config/rs6000/altivec-defs.h: Remove. | |
34754 | ||
34755 | 2004-05-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> | |
34756 | ||
34757 | * fixinc/inclhack.def (svr4_profil): Don't apply on IRIX 5/6. | |
34758 | * fixinc/fixincl.x: Regenerate. | |
34759 | ||
34760 | 2004-05-03 Uros Bizjak <uros@kss-loka.si> | |
34761 | ||
34762 | * config/i386/i386.md (*fyl2x_sfxf3, *fyl2x_dfxf3): Remove insn | |
34763 | definition. | |
34764 | (log?f2, log10?f2, log2?f2): Reimplement expanders with | |
34765 | float_truncate insn. | |
34766 | (*fxtractsf3, *fxtractdf3): Remove insn definition. | |
34767 | (logb?f2): Reimplement expanders with float_truncate insn. | |
34768 | ||
34769 | 2004-05-03 Graham Stott <graham.stott@btinternet.com> | |
34770 | ||
34771 | PR 14718 | |
34772 | * dwarf2out.c (dwarf2out_imported_module_or_decl): Use | |
34773 | force_type_die for CONST_DECL. | |
34774 | ||
34775 | 2004-05-03 Eric Botcazou <ebotcazou@libertysurf.fr> | |
34776 | Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> | |
34777 | ||
34778 | * config.gcc (sparc64-*-solaris2*, sparcv9-*-solaris2*): Add | |
34779 | tm-dwarf2.h to tm_file. | |
34780 | (sparc-*-solaris2*): Add tm-dwarf2.h to tm_file for Solaris 7+. | |
34781 | * config/sparc/sol2-bi.h (PREFERRED_DEBUGGING_TYPE): Delete. | |
34782 | (ASM_DEBUG_SPEC): Delete. | |
34783 | ||
34784 | 2004-05-03 Uros Bizjak <uros@kss-loka.si> | |
34785 | ||
34786 | * optabs.h (enum optab_index): Add new OTI_expm1. | |
34787 | (expm1_optab): Define corresponding macro. | |
34788 | * optabs.c (init_optabs): Initialize expm1_optab. | |
34789 | * genopinit.c (optabs): Implement expm1_optab using expm1?f2 | |
34790 | patterns. | |
34791 | * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_EXPM1{,F,L} | |
34792 | using expm1_optab. | |
34793 | (expand_builtin): Expand BUILT_IN_EXPM1{,F,L} using | |
34794 | expand_builtin_mathfn if flag_unsafe_math_optimizations is set. | |
34795 | ||
34796 | * config/i386/i386.md (expm1df2, expm1sf2, expm1xf2): New expanders | |
34797 | to implement expm1, expm1f and expm1l built-ins as inline x87 | |
34798 | intrinsics. | |
34799 | ||
34800 | 2004-05-02 Alexandre Oliva <aoliva@redhat.com> | |
34801 | ||
34802 | 2003-11-19 Richard Sandiford <rsandifo@redhat.com> | |
34803 | * config/frv/frv.md (*return_true, *return_false): New patterns. | |
34804 | ||
34805 | 2004-05-02 Kazu Hirata <kazu@cs.umass.edu> | |
34806 | ||
34807 | * rtl.h (PHI_NODE_P): Remove. | |
34808 | ||
34809 | 2004-05-02 Eric Botcazou <ebotcazou@act-europe.fr> | |
34810 | ||
34811 | PR middle-end/14988 | |
34812 | * function.c (assign_stack_local_1): Use BITS_PER_UNIT alignment | |
34813 | when passed -2 as 'align'. | |
34814 | (put_var_into_stack): Use 'bool' as the type for the three local | |
34815 | predicates. Adjust calls to put_reg_into_stack. | |
34816 | When passed a CONCAT, instruct put_reg_into_stack to use | |
34817 | a consecutive stack slot for the second part. | |
34818 | (put_reg_into_stack): Remove 'promoted_mode' parameter, add | |
34819 | 'consecutive_p' parameter. Turn the three predicates into 'bool' | |
34820 | parameters. Retrieve the register mode from 'reg'. | |
34821 | When consecutive_p is true, instruct assign_stack_local_1 to use | |
34822 | BITS_PER_UNIT alignment. | |
34823 | (put_addressof_into_stack): Use 'bool' as the type for the two | |
34824 | local predicates. Adjust call to put_reg_into_stack. | |
34825 | ||
34826 | 2004-05-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
34827 | ||
34828 | * fold-const.c (fold_convert_const, fold): Add missing | |
34829 | FIX_ROUND_EXPR case. | |
34830 | ||
34831 | 2004-05-02 Alexandre Oliva <aoliva@redhat.com> | |
34832 | ||
34833 | * configure.ac (FLEX, BISON): Only use tools from the build tree | |
34834 | if build equals host. | |
34835 | * configure: Rebuilt. | |
34836 | ||
34837 | * config/frv/frv-protos.h (frv_expand_epilogue, | |
34838 | frv_expand_fdpic_call): Add bool argument. | |
34839 | * config/frv/frv.c (frv_function_ok_for_sibcall): New. | |
34840 | (TARGET_FUNCTION_OK_FOR_SIBCALL): Define to it. | |
34841 | (frv_expand_epilogue): Use new argument to decide whether to emit | |
34842 | return instruction or copy the return address to LR. | |
34843 | (frv_expand_fdpic_call): Inline PLT entry when emitting direct | |
34844 | sibcalls. | |
34845 | (sibcall_operand): New. | |
34846 | * config/frv/frv.h (PREDICATE_CODES): call_operand doesn't match | |
34847 | PLUS nor LABEL_REF. Add sibcall_operand. | |
34848 | * config/frv/frv.md (call, call_value): Pass false to | |
34849 | frv_expand_fdpic_call. | |
34850 | (call_fdpicdi, call_value_fdpicdi): Insert %i0 in calll. | |
34851 | (sibcall, sibcall_internal, sibcall_fdpicdi, sibcall_value, | |
34852 | sibcall_value_internal, sibcall_value_fdpicdi): New. | |
34853 | (return_unsigned_true, return_unsigned_false): New. | |
34854 | (epilogue): Adjust call to frv_expand_epilogue. | |
34855 | (sibcall_epilogue): New. | |
34856 | ||
34857 | * config/frv/frv.h (ASM_SPEC): Pass -mno-fdpic as -mnopic. | |
34858 | (CPP_SPEC, CPP_SIMPLE_SPEC): Undefine __FRV_ACC__ and __FRV_FPR__ | |
34859 | before redefining them. | |
34860 | ||
34861 | 2004-05-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
34862 | ||
34863 | * builtins.c (fold_fixed_mathfn): New function. | |
34864 | (fold_builtin_lround, fold_builtin): Use it. | |
34865 | ||
34866 | 2004-05-01 Jakub Jelinek <jakub@redhat.com> | |
34867 | ||
34868 | * config/sparc/linux64.h (TARGET_DEFAULT): Make 64-bit by default | |
34869 | also for TARGET_CPU_DEFAULT == TARGET_CPU_ultrasparc3. | |
34870 | ||
34871 | 2004-05-01 Kazu Hirata <kazu@cs.umass.edu> | |
34872 | ||
34873 | * config/cris/cris.h: Revert my "fix comment typos" patch. | |
34874 | ||
34875 | 2004-05-01 Richard Sandiford <rsandifo@redhat.com> | |
34876 | ||
34877 | * config/mips/mips.h (TUNE_MACC_CHAINS): Fix comment. | |
34878 | ||
34879 | 2004-05-01 Falk Hueffner <falk@debian.org> | |
34880 | ||
34881 | * config/alpha/alpha.md (builtin_insbl, builtin_inswl, | |
34882 | builtin_insll): Disallow 0 as first input operand. | |
34883 | ||
34884 | 2004-05-01 Falk Hueffner <falk@debian.org> | |
34885 | ||
34886 | * config/alpha/alpha.c (alpha_rtx_costs): Fix shiftadd costs. | |
34887 | ||
34888 | 2004-05-01 Ulrich Weigand <uweigand@de.ibm.com> | |
34889 | ||
34890 | PR middle-end/15054 | |
34891 | * expr.c (expand_expr_real): Do not call preserve_temp_slots | |
34892 | on a TARGET_EXPR temp. | |
34893 | * function.c (assign_stack_temp_for_type): Set 'keep' flag for | |
34894 | TARGET_EXPR temp slots. | |
34895 | ||
34896 | 2004-05-01 Paolo Bonzini <bonzini@gnu.org> | |
34897 | ||
34898 | * simplify-rtx.c (simplify_ternary_operation): When | |
34899 | converting an IF_THEN_ELSE to a relational op, return | |
34900 | correct mode. | |
34901 | ||
34902 | 2004-04-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
34903 | ||
34904 | * builtins.c (fold_builtin_round): Fix comment typo. | |
34905 | (fold_builtin_lround): New function. | |
34906 | (fold_builtin): Use it. | |
34907 | ||
34908 | 2004-04-20 Andrew Pinski <pinskia@physics.uc.edu> | |
34909 | ||
34910 | PR target/11608 | |
34911 | * config/sh/elf.h (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Update and make it | |
34912 | more like the one in config/dbxelf.h. | |
34913 | ||
34914 | 2004-04-30 Zack Weinberg <zack@codesourcery.com> | |
34915 | ||
34916 | * tree.h (SET_ARRAY_OR_VECTOR_CHECK): Rename to SET_OR_ARRAY_CHECK | |
34917 | and adjust definition accordingly. | |
34918 | (TYPE_DOMAIN): Allow only SET_TYPE and ARRAY_TYPE. | |
34919 | (TYPE_DEBUG_REPRESENTATION_TYPE): Allow only VECTOR_TYPE. | |
34920 | * expr.c (store_constructor): Do not access TYPE_DOMAIN of a | |
34921 | VECTOR_TYPE. | |
34922 | ||
34923 | 2004-04-30 Jason Merrill <jason@redhat.com> | |
34924 | ||
34925 | PR c++/14587 | |
34926 | * config/i386/winnt.c (associated_type): Look for attributes on | |
34927 | the TYPE_MAIN_VARIANT of *this. | |
34928 | * attribs.c (decl_attributes): If ATTR_FLAG_TYPE_IN_PLACE, also | |
34929 | apply the attributes to the variants. | |
34930 | ||
34931 | 2004-04-30 Paul Brook <paul@codesourcery.com> | |
34932 | ||
34933 | * config.gcc: Simplify arm --with-{cpu,tune} test. | |
34934 | * config/arm/arm-cores.def: Document whitespace restrictions. | |
34935 | ||
34936 | 2004-04-30 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> | |
34937 | ||
34938 | PR other/1963 | |
34939 | * config/alpha/osf.h (SWITCHES_NEED_SPACES): Define. | |
34940 | ||
34941 | 2004-04-30 Brian Ford <ford@vss.fsi.com> | |
34942 | DJ Delorie <dj@redhat.com> | |
34943 | ||
34944 | * config/i386/cygming.h [HAVE_GAS_PE_SECREL32_RELOC] | |
34945 | (DWARF2_DEBUGGING_INFO): Define to enable. | |
34946 | (DBX_REGISTER_NUMBER): Define to use the svr4 register map for | |
34947 | DWARF2. | |
34948 | * configure.ac (Target-specific assembler checks) | |
34949 | <i[34567]86-*-[cygwin*|pe|mingw32*]>: New test for .secrel32 | |
34950 | relocs. | |
34951 | * configure: Regenerate. | |
34952 | * config.in: Likewise. | |
34953 | ||
34954 | * config/i386/cygming.h [HAVE_GAS_PE_SECREL32_RELOC] | |
34955 | (ASM_OUPUT_DWARF_OFFSET): Define. | |
34956 | ||
34957 | 2004-04-29 Andreas Krebbel <krebbel1@de.ibm.com> | |
34958 | ||
34959 | * config/s390/s390-protos.h (s390_emit_epilogue): Parameter added. | |
34960 | (s390_emit_call): New function prototype added. | |
34961 | (s390_tls_get_offset): Function removed. | |
34962 | * config/s390/s390.c (s390_function_ok_for_sibcall, | |
34963 | s390_call_saved_register_used_p): New functions. | |
34964 | (TARGET_FUNCTION_OK_FOR_SIBCALL): Definition of target macro added. | |
34965 | (s390_tls_get_offset): Function merged into s390_emit_tls_call_insn. | |
34966 | (s390_emit_tls_call_insn): New function. | |
34967 | (legitimize_tls_address): Call s390_emit_tls_call_insn instead of | |
34968 | emit_call_insn. | |
34969 | (s390_emit_prologue): Use s390_emit_call instead of emit_call_insn. | |
34970 | (s390_emit_epilogue): Like s390_emit_prologue. Parameter for sibcalls | |
34971 | added. | |
34972 | * config/s390/s390.h (SIBCALL_REGNUM): New macro representing the | |
34973 | register number used to hold the target address for sibcalls. | |
34974 | * config/s390/s390.md ("sibcall", "sibcall_value", "sibcall_epilogue"): | |
34975 | New expanders. | |
34976 | ("*sibcall_br", "*sibcall_brc", "*sibcall_brcl", "*sibcall_value_br", | |
34977 | "*sibcall_value_brc", "*sibcall_value_brcl"): New insns. | |
34978 | ("call_exp", "call_value_exp", "call_value_tls", "call_value_tls_exp"): | |
34979 | Expanders removed. | |
34980 | ("call", "call_value"): Call s390_emit_call to emit the call patterns. | |
34981 | ("*bras", "*brasl", "*bras_r", "*brasl_r", "*bras_tls", "*brasl_tls", | |
34982 | "*basr", "*basr_r", "*basr_tls"): Added constraint: !SIBLING_CALL_P. | |
34983 | ("epilogue"): Changed the call to s390_emit_epilogue to use the | |
34984 | new parameter. | |
34985 | ||
34986 | 2004-04-30 Kazu Hirata <kazu@cs.umass.edu> | |
34987 | ||
34988 | * bb-reorder.c, c-opts.c, cfglayout.c, cgraph.c, cgraphunit.c, | |
34989 | cppfiles.c, fold-const.c, ggc-zone.c, loop-doloop.c, optabs.c, | |
34990 | reg-stack.c, varasm.c, config/alpha/ev4.md, | |
34991 | config/alpha/ev5.md, config/alpha/ev6.md, config/arm/arm.c, | |
34992 | config/c4x/c4x.c, config/c4x/c4x.md, config/cris/cris.c, | |
34993 | config/cris/cris.h, config/fr30/fr30.h, config/frv/frv.c, | |
34994 | config/frv/frv.h, config/frv/frv.md, config/h8300/h8300.c, | |
34995 | config/i386/i386.c, config/i386/i386.md, config/i386/winnt.c, | |
34996 | config/ia64/itanium2.md, config/ip2k/ip2k.c, | |
34997 | config/mips/mips.c, config/mips/mips.h, config/mips/sr71k.md, | |
34998 | config/pa/pa.c, config/s390/s390.c, config/sh/sh.c: Fix | |
34999 | comment typos. | |
35000 | ||
35001 | 2004-04-30 Paul Brook <paul@codesourcery.com> | |
35002 | ||
35003 | * config.gcc: Default ep9312 to hard-float. | |
35004 | * config/arm/arm-cores.def: Add ARCH field. | |
35005 | * config/arm/arm.c (FL_FOR_ARCH*): Define. | |
35006 | (arm_arch_cirrus): New variable. | |
35007 | (all_cores): Set and use arch. | |
35008 | (all_architectures): Ditto. | |
35009 | (arm_arch_name): New variable. | |
35010 | (arm_override_options): Set it. Use [SUB]TARGET_CPU_DEFAULT. | |
35011 | Set and use arm_arch_cirrus. | |
35012 | * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Set arch defines. | |
35013 | (enum processor_type): Update ARM_CORE define. | |
35014 | (enum target_cpus): Add. Replaces TARGET_CPU_* defines. | |
35015 | (CPP_SPEC): Remove %(cpp_cpu_arch). | |
35016 | (CPP_ARCH_DEFAULT_SPEC): Remove. | |
35017 | (CPP_CPU_ARCH_SPEC): Remove. | |
35018 | (EXTRA_SPECS): Don't use CPP_*ARCH*_SPEC. | |
35019 | (FPUTYPE_DEFAULT): Don't define here. | |
35020 | ||
35021 | 2004-04-30 J"orn Rennecke <joern.rennecke@superh.com> | |
35022 | ||
35023 | * flow.c (propagate_one_insn): Call mark_set_regs for stack pointer | |
35024 | updates too. | |
35025 | ||
35026 | 2004-04-30 Paul Brook <paul@codesourcery.com> | |
35027 | ||
35028 | * arm.c (arm_needs_doubleword_align): Use mode alignment. | |
35029 | ||
35030 | 2004-04-30 Paolo Bonzini <bonzini@gnu.org> | |
35031 | ||
35032 | * config/altivec/altivec.h [__cplusplus] (vec_subsubs): Rename to | |
35033 | vec_sububs. | |
35034 | [__cplusplus] (vec_subsuhs): Rename to vec_subuhs, without | |
35035 | duplicates. | |
35036 | ||
35037 | 2004-04-30 Uros Bizjak <uros@kss-loka.si> | |
35038 | ||
35039 | * config/i386/i386.md (atansf2, atandf2, atanxf2): Move near | |
35040 | atan2?f3 expanders. | |
35041 | ||
35042 | 2004-04-29 Nick Clifton <nickc@redhat.com> | |
35043 | ||
35044 | Bug 14093 | |
35045 | * config/sh/sh-protos.h (sh_promote_prototypes): Declare. | |
35046 | * config/sh/sh.c (sh_promote_prototypes): Remove declaration. | |
35047 | Delete static from definition. | |
35048 | * config/sh/sh.h (FUNCTION_VALUE): Add sh_promote_prototypes call. | |
35049 | ||
35050 | 2004-04-30 Uros Bizjak <uros@kss-loka.si> | |
35051 | ||
35052 | * reg-stack.c (subst_stack_regs_pat): <UNSPEC_SIN, UNSPEC_COS, | |
35053 | UNSPEC_FRNDINT, UNSPEC_F2XM1>: abort() if src1 dies. | |
35054 | <UNSPEC_SINCOS_COS, UNSPEC_TAN_ONE, UNSPEC_XTRACT_FRACT>: Same. | |
35055 | <UNSPEC_SINCOS_SIN, UNSPEC_TAN_TAN, UNSPEC_XTRACT_EXP>: Same. | |
35056 | ||
35057 | 2004-04-29 Richard Guenther <richard.guenther@uni-tuebingen.de> | |
35058 | ||
35059 | * commom.opt (Wfatal-errors): Add it. | |
35060 | * diagnostic.c (flag_fatal_errors): Define it. | |
35061 | (diagnostic_action_after_output): Check for flag_fatal_errors. | |
35062 | * flags.h (flag_fatal_errors): Declare it. | |
35063 | * opts.c (common_handle_option): Add OPT_Wfatal_errors. | |
35064 | * doc/invoke.texi (Warning Options): Document -Wfatal-errors. | |
35065 | ||
35066 | 2004-04-30 Josef Zlomek <zlomekj@suse.cz> | |
35067 | ||
35068 | * gcse.c (remove_reachable_equiv_notes): Delete notes also in | |
35069 | blocks which have kill flag set. | |
35070 | ||
35071 | 2004-04-29 Ben Elliston <bje@au.ibm.com> | |
35072 | ||
35073 | * configure.ac (--with-as): Abort if user-supplied assembler | |
35074 | cannot be executed. | |
35075 | (--with-ld): Likewise for the linker. | |
35076 | * configure: Regenerate. | |
35077 | ||
35078 | 2004-04-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
35079 | ||
35080 | * convert.c (convert_to_integer): Ensure `long_integer_type_node' | |
35081 | isn't NULL before using it. | |
35082 | ||
35083 | 2004-04-29 Richard Sandiford <rsandifo@redhat.com> | |
35084 | ||
35085 | PR target/15189 | |
35086 | * config/mips/mips.md (load_df_low): Use default length. | |
35087 | (load_df_high, store_df_high): Likewise. | |
35088 | ||
35089 | 2004-04-29 Kazu Hirata <kazu@cs.umass.edu> | |
35090 | ||
35091 | * config/mips/mips.md, config/mips/sb1.md, | |
35092 | config/rs6000/rs6000.c: Fix comment typos. | |
35093 | ||
35094 | 2004-04-29 Kazu Hirata <kazu@cs.umass.edu> | |
35095 | ||
35096 | * builtins.c, cgraph.c, cgraphunit.c, final.c, fold-const.c: | |
35097 | Fix comment typos. | |
35098 | ||
35099 | 2004-04-29 Douglas B Rupp <rupp@gnat.com> | |
35100 | ||
35101 | * gcc.c (DELETE_IF_ORDINARY): New macro default definition. | |
35102 | (delete_if_ordinary): Use above macro. | |
35103 | * config/alpha/xm-vms.h (DELETE_IF_ORDINARY): New macro VMS definition. | |
35104 | Update copyright. | |
35105 | * doc/hostconfig.texi (DELETE_IF_ORDINARY): Document new macro. | |
35106 | ||
35107 | 2004-04-29 Richard Earnshaw <rearnsha@arm.com> | |
35108 | ||
35109 | * c-decl.c (get_parm_info): Use the correct tag keywords when | |
35110 | warning about type declarations in prototypes. | |
35111 | ||
35112 | 2004-04-29 Paul Brook <paul@codesourcery.com> | |
35113 | ||
35114 | * config.gcc: Pull list of cores from arm-cores.def. | |
35115 | ||
35116 | 2004-04-29 Paolo Bonzini <bonzini@gnu.org> | |
35117 | ||
35118 | * combine.c (combine_simplify_rtx): Adjust call to use | |
35119 | simplify_relational_operation. Do not use SELECT_CC_MODE | |
35120 | when a comparison already has a MODE_CC mode. | |
35121 | ||
35122 | 2004-04-29 Paolo Bonzini <bonzini@gnu.org> | |
35123 | ||
35124 | (simplify_set): simplify_relational_operation may now | |
35125 | return another relational expression. | |
35126 | * cse.c (fold_rtx): simplify_relational_operation now | |
35127 | takes of computing the comparison mode. | |
35128 | * dojump.c (compare_from_rtx): Use simplify_relational_operation, | |
35129 | remove dead code. | |
35130 | (do_compare_rtx_and_jump): Likewise. | |
35131 | * integrate.c (subst_constants): simplify_relational_operation | |
35132 | may now return another relational expression. | |
35133 | * simplify-rtx.c (simplify_gen_relational): Move most code to | |
35134 | the new simplify_relational_operation and | |
35135 | simplify_relational_operation_1 functions. | |
35136 | (simplify_relational_operation): Rewritten. | |
35137 | (simplify_relational_operation_1): New function. | |
35138 | (simplify_ternary_operation): simplify_relational_operation | |
35139 | may now return another relational expression. | |
35140 | (simplify_rtx): Remove unnecessary temp variable. | |
35141 | ||
35142 | 2004-04-29 Uros Bizjak <uros@kss-loka.si> | |
35143 | ||
35144 | * reg-stack.c (swap_to_top): New function. | |
35145 | (subst_stack_regs_pat): UNSPEC_FPATAN, UNSPEC_FYL2X: Use | |
35146 | swap_to_top(). | |
35147 | (subst_stack_regs_pat): UNSPEC_FSCALE: Remove. | |
35148 | (subst_stack_regs_pat): Handle UNSPEC_FSCALE_FRACT and | |
35149 | UNSPEC_FSCALE_EXP. | |
35150 | ||
35151 | * config/i386/i386.md (UNSPEC_FSCALE): Remove. | |
35152 | (*fscale_sfxf3, *fscale_dfxf3, *fscale_xf3): Remove insn pattern. | |
35153 | (UNSPEC_FSCALE_FRACT, UNSPEC_FSCALE_EXP): New unspecs to represent | |
35154 | x87's fscale insn. | |
35155 | (*fscalexf4: Define new insn pattern to implement x87 fscale insn. | |
35156 | (exp?f2, exp10?f2, exp2?f2): Use *fscalexf4 and float_truncate | |
35157 | patterns. | |
35158 | ||
35159 | 2004-04-28 Serge Belyshev <1319@bot.ru> | |
35160 | ||
35161 | PR 14944 | |
35162 | * coverage.c (read_counts_file): Fix usage of warning () call. | |
35163 | * pretty-print.c (pp_base_format_text): Fix typo in the comment. | |
35164 | ||
35165 | 2004-04-28 Ben Elliston <bje@au.ibm.com> | |
35166 | ||
35167 | * doc/invoke.texi (Objective-C Dialect Options): Don't prefix | |
35168 | options with "-" in the option index. | |
35169 | (SPARC Options): Likewise. | |
35170 | (M32R/D Options): Likewise. | |
35171 | ||
35172 | 2004-04-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
35173 | ||
35174 | * convert.c (convert_to_integer): Convert (long)round -> lround, | |
35175 | etc. | |
35176 | ||
35177 | 2004-04-28 Andrew Pinski <pinskia@physics.uc.edu> | |
35178 | ||
35179 | * config/rs6000/rs6000.c (registers_ok_for_quad_peep): | |
35180 | Return false if we do not have fp register. | |
35181 | (addrs_ok_for_quad_peep): Rename to ... | |
35182 | (mems_ok_for_quad_peep): this. | |
35183 | Add check for volatile memory. | |
35184 | * config/rs6000/rs6000-protos.h (addrs_ok_for_quad_peep): | |
35185 | Rename to ... | |
35186 | (mems_ok_for_quad_peep): this. | |
35187 | * config/rs6000/rs6000.md: Change peephole's for lfq/stq | |
35188 | to peephole2's. | |
35189 | (lfq_power2): New instruction. | |
35190 | (stfq_power2): Likewise. | |
35191 | ||
35192 | 2004-04-28 Jan Hubicka <jh@suse.cz> | |
35193 | ||
35194 | PR c/15004 | |
35195 | * function.c (do_warn_unused_parameter): Break out form ... | |
35196 | (expand_function_end): ... here; warn only when not using cgraphunit. | |
35197 | * function.h (do_warn_unused_parameter): Declare. | |
35198 | * cgraphunit.c: Include function.h. | |
35199 | (cgraph_finalize_function): Do unused parameter warning. | |
35200 | * Makefile.in (cgraphunit.o): Depend on function.h | |
35201 | ||
35202 | 2004-04-28 Joseph S. Myers <jsm@polyomino.org.uk> | |
35203 | ||
35204 | * Makefile.in ($(DESTDIR)$(infodir)/%.info): Don't condition | |
35205 | calling install-info on $(DESTDIR)$(infodir)/dir already being | |
35206 | present. | |
35207 | ||
35208 | 2004-04-28 Paul Brook <paul@codesourcery.com> | |
35209 | ||
35210 | * dwarf2out.c (mem_loc_descriptor): Handle shifts. | |
35211 | ||
35212 | 2004-04-28 Ulrich Weigand <uweigand@de.ibm.com> | |
35213 | ||
35214 | * gcse.c (find_moveable_store): Do not accept store insns with | |
35215 | REG_EH_REGION note. | |
35216 | ||
35217 | 2004-04-28 Paul Brook <paul@codesourcery.com> | |
35218 | ||
35219 | * calls.c (precompute_arguments): Remove PROMOTE_FOR_CALL_ONLY. | |
35220 | * function.c (assign_temp): Ditto. | |
35221 | * system.h (PROMOTE_FOR_CALL_ONLY): Poison. | |
35222 | ||
35223 | 2004-04-28 Paul Brook <paul@codesourcery.com> | |
35224 | ||
35225 | * config/arm/lib1funcs.asm: Recognize armv5tej and armv6. | |
35226 | ||
35227 | 2004-04-28 Josef Zlomek <zlomekj@suse.cz> | |
35228 | ||
35229 | * var-tracking.c (variable_different_p): Add a parameter | |
35230 | compare_current_location, compare current location of variable parts | |
35231 | if it is true. | |
35232 | (dataflow_set_different_1): Pass compare_current_location == false. | |
35233 | (dataflow_set_different_2): Pass compare_current_location == false. | |
35234 | (emit_notes_for_differences_1): Pass compare_current_location == true. | |
35235 | ||
35236 | 2004-04-28 Ulrich Weigand <uweigand@de.ibm.com> | |
35237 | ||
35238 | * config/s390/s390.md ("casesi"): Mark jump table access as | |
35239 | non-trapping and unchanging. | |
35240 | ||
35241 | 2004-04-27 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
35242 | ||
35243 | PR debug/14829 | |
35244 | * dwarf2out.c (reg_number): Rename to dbx_reg_number. Adjust all | |
35245 | callers. | |
35246 | (multiple_reg_loc_descriptor, reg_loc_descriptor): Use gcc register | |
35247 | number for indexing hard_regno_nregs array. | |
35248 | ||
35249 | 2004-04-27 Geoffrey Keating <geoffk@apple.com> | |
35250 | ||
35251 | * config/darwin.h (STARTFILE_SPEC): Use %s to find crt2.o. | |
35252 | * config/darwin-crt2.c: Only have contents on __ppc__. | |
35253 | ||
35254 | 2004-04-27 Bob Wilson <bob.wilson@acm.org> | |
35255 | ||
35256 | * config/xtensa/xtensa.c (call_insn_operand): Check | |
35257 | SYMBOL_REF_EXTERNAL_P in addition to SYMBOL_REF_LOCAL_P. | |
35258 | * config/xtensa/xtensa.h (LEGITIMATE_PIC_OPERAND): Likewise. | |
35259 | * config/xtensa/xtensa.md (call, call_value): Likewise. | |
35260 | ||
35261 | 2004-04-27 Wu Yongwei <adah@sh163.net> | |
35262 | ||
35263 | * gthr-win32.h (__gthread_mutex_t): Change typedef to new structure. | |
35264 | (__GTHREAD_MUTEX_INIT_DEFAULT): Adjust. | |
35265 | (__gthread_mutex_init_function): Replace CreateMutex with | |
35266 | initialization of custom mutex using CreateSemaphore. | |
35267 | (__gthread_mutex_lock): Use InterlockedIncrement. | |
35268 | (__gthread_mutex_trylock): Use InterlockedCompareExchange. | |
35269 | (__gthread_mutex_unlock): Use InterlockedDecrement and | |
35270 | ReleaseSemaphore to unlock | |
35271 | * config/i386/gthr-win32.c (__gthread_mutex_init_function, | |
35272 | __gthread_mutex_lock, __gthread_mutex_trylock, | |
35273 | __gthread_mutex_unlock): Adjust to match inline versions in | |
35274 | gthr-win32.h. | |
35275 | ||
35276 | 2004-04-27 Paul Brook <paul@codesourcery.com> | |
35277 | ||
35278 | * config/arm/arm.c (arm_promote_prototypes): New function. | |
35279 | (TARGET_PROMOTE_PROTOTYPES): Use it. | |
35280 | ||
35281 | 2004-04-27 Paul Brook <paul@codesourcery.com> | |
35282 | ||
35283 | * config/arm/arm.c (arm_expand_epilogue): Count blocks of 4 regs. | |
35284 | ||
35285 | 2004-04-26 Bernard Giroud <bgiroud@free.fr> | |
35286 | ||
35287 | * config/alpha.c (alpha_end_function): For OpenVMS gas, | |
35288 | correctly output .pdesc directive before .end. | |
35289 | ||
35290 | 2004-04-26 James E Wilson <wilson@specifixinc.com> | |
35291 | ||
35292 | Bug 14927 | |
35293 | * config/ia64/ia64.md (movxf): New local op0. Handle case where | |
35294 | operands[0] is a SUBREG. Handle case where operands[1] is a GR reg. | |
35295 | ||
35296 | 2004-04-26 Zack Weinberg <zack@codesourcery.com> | |
35297 | ||
35298 | * config/ia64/hpux.h: Predefine __STDCPP__ when compiling C++. | |
35299 | * config/pa/pa-hpux10.h: Likewise. | |
35300 | * config/pa/pa-hpux11.h: Likewise. | |
35301 | ||
35302 | 2004-04-26 Geoffrey Keating <geoffk@apple.com> | |
35303 | ||
35304 | * doc/invoke.texi (Overall Options): Document default for -o | |
35305 | for PCH files. | |
35306 | ||
35307 | 2004-04-26 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
35308 | ||
35309 | * builtins.c (expand_builtin_update_setjmp_buf): New function. | |
35310 | (expand_builtin, case BUILT_IN_UPDATE_SETJMP_BUF): New case. | |
35311 | * builtins.def (BUILT_IN_UPDATE_SETJMP_BUF): New code. | |
35312 | ||
35313 | 2004-04-26 Paul Brook <paul@codesourcery.com> | |
35314 | ||
35315 | * config/arm/arm.c (arm_legitimate_index_p): Correct iwmmxt offsets. | |
35316 | ||
35317 | 2004-04-26 Paul Brook <paul@codesourcery.com> | |
35318 | ||
35319 | * config/arm/arm.c (arm_legitimate_index_p): Correct maverick offsets. | |
35320 | ||
35321 | 2004-04-25 Roger Sayle <roger@eyesopen.com> | |
35322 | ||
35323 | * fold-const.c (fold): Prefer fold_convert (negate_expr (...)) to | |
35324 | fold (build1 (NEGATE_EXPR, ...)). Optimize X / -1 as -X and | |
35325 | X % -1 as 0. | |
35326 | ||
35327 | 2004-04-26 Hans-Peter Nilsson <hp@bitrange.com> | |
35328 | ||
35329 | PR bootstrap/15141 | |
35330 | * except.c (connect_post_landing_pads): Delete insns after the | |
35331 | barrier when generating a unwind_resume_libfunc call. | |
35332 | ||
35333 | 2004-04-25 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
35334 | ||
35335 | PR/c++ 15119 | |
35336 | * tree.c (substitute_placeholder_in_expr, case 4): New case, | |
35337 | for TARGET_EXPR. | |
35338 | ||
35339 | 2004-04-25 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> | |
35340 | ||
35341 | * gcov-io.h (__gcov_fork, __gcov_execl, __gcov_execlp, __gcov_execle, | |
35342 | __gcov_execv, __gcov_execvp, __gcov_execve): Do not declare when | |
35343 | inhibit_libc is defined. | |
35344 | ||
35345 | 2004-04-25 Richard Sandiford <rsandifo@redhat.com> | |
35346 | ||
35347 | * config/mips/mips-protos.h (mips_linked_macc_p): Declare. | |
35348 | * config/mips/mips.h (TUNE_MACC_CHAINS): New macro. | |
35349 | * config/mips/mips.c (TARGET_SCHED_REORDER): Define. | |
35350 | (TARGET_SCHED_VARIABLE_ISSUE): Define. | |
35351 | (mips_adjust_cost): Move later in file, next to other sched hooks. | |
35352 | (mips_macc_chains_last_hilo): New variable. | |
35353 | (mips_linked_madd_p, mips_macc_chains_record, mips_macc_chains_reorder) | |
35354 | (mips_promote_ready, mips_sched_reorder, mips_variable_issue): New. | |
35355 | * config/mips/mips.md (may_clobber_hilo): New attribute. | |
35356 | ||
35357 | 2004-04-24 Roger Sayle <roger@eyesopen.com> | |
35358 | Bruce Korb <bkorb@gnu.org> | |
35359 | ||
35360 | * fixinc/inclhack.def (aix_syswait_2): New fix. | |
35361 | * fixinc/fixincl.x: Regenerate. | |
35362 | * fixinc/tests/base/sys/wait.h: Update for new test. | |
35363 | ||
35364 | 2004-04-24 Alan Modra <amodra@bigpond.net.au> | |
35365 | ||
35366 | PR target/14960 | |
35367 | * config/rs6000/rs6000.c (rs6000_stack_info): Rename total_raw_size | |
35368 | to non_fixed_size, and leave out fixed_size from the sum. | |
35369 | (generate_set_vrsave): Correct clobbers. | |
35370 | (rs6000_emit_epilogue): Test TARGET_ALTIVEC with TARGET_ALTIVEC_SAVE. | |
35371 | (rs6000_function_value): Test TARGET_ALTIVEC and TARGET_ALTIVEC_ABI. | |
35372 | (rs6000_libcall_value): Likewise. | |
35373 | * config/rs6000/rs6000.h (FUNCTION_VALUE_REGNO_P): Likewise. | |
35374 | (FUNCTION_ARG_REGNO_P): Likewise. | |
35375 | ||
35376 | 2004-04-24 Ulrich Weigand <uweigand@de.ibm.com> | |
35377 | ||
35378 | * expmed.c (expand_mult_highpart_adjust): Do not assume OP1 | |
35379 | is a CONST_INT. | |
35380 | (expand_mult_highpart_optab): Call expand_mult_highpart_adjust | |
35381 | with NARROW_OP1 instead of OP1. | |
35382 | ||
35383 | 2004-04-24 Ulrich Weigand <uweigand@de.ibm.com> | |
35384 | ||
35385 | * config/host-linux.c (TRY_EMPTY_VM_SPACE): Define for __s390__ | |
35386 | and __s390x__ hosts. | |
35387 | ||
35388 | 2004-03-23 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> | |
35389 | ||
35390 | * Makefile.in (LIBGCOV): Add _gcov_fork, _gcov_execl, _gcov_execlp, | |
35391 | _gcov_execle, _gcov_execv, _gcov_execvp, _gcov_execve. | |
35392 | * builtin-types.def (BT_PID, BT_PTR_CONST_STRING, BT_FN_PID, | |
35393 | BT_FN_INT_CONST_STRING_PTR_CONST_STRING, | |
35394 | BT_FN_INT_CONST_STRING_PTR_CONST_STRING_PTR_CONST_STRING): New. | |
35395 | * builtins.c (expand_builtin_fork_or_exec): New. | |
35396 | (expand_builtin): Call it. | |
35397 | * builtins.def (BUILT_IN_EXECL, BUILT_IN_EXECLP,BUILT_IN_EXECLE, | |
35398 | BUILT_IN_EXECV, BUILT_IN_EXECVP, BUILT_IN_EXECVE, BUILT_IN_FORK): New. | |
35399 | * c-common.c (PID_TYPE): New macro. | |
35400 | (c_common_nodes_and_builtins): Initialize pid_type_node. | |
35401 | * calls.c (special_function_p): Do not handle fork and exec. | |
35402 | (expand_call): Do not handle ECF_FORK_OR_EXEC. | |
35403 | * gcov-io.h (__gcov_fork, __gcov_execl, __gcov_execlp, __gcov_execle, | |
35404 | __gcov_execv, __gcov_execvp, __gcov_execve): Declare. | |
35405 | * libgcov.c (__gcov_fork, __gcov_execl, __gcov_execlp, __gcov_execle, | |
35406 | __gcov_execv, __gcov_execvp, __gcov_execve): New. | |
35407 | * tree.h (enum tree_index): Add TI_PID_TYPE. | |
35408 | (pid_type_node): New macro. | |
35409 | (ECF_FORK_OR_EXEC): Removed. | |
35410 | ||
35411 | 2004-04-23 Eric Botcazou <ebotcazou@libertysurf.fr> | |
35412 | ||
35413 | PR optimization/13985 | |
35414 | * cfgloopmanip.c (fix_loop_placements): New prototype. | |
35415 | Call fix_bb_placements on the preheader of loops that have | |
35416 | been reparented. | |
35417 | (remove_path): Adjust call to fix_loop_placements. | |
35418 | ||
35419 | 2004-04-23 Andrew Pinski <pinskia@physics.uc.edu> | |
35420 | ||
35421 | * config/darwin7.h: New file. | |
35422 | * config.gcc (*-*-darwin*): Add darwin7.h if the | |
35423 | version is greater than 6. | |
35424 | * config/darwin.h (TARGET_C99_FUNCTIONS): Define. | |
35425 | (MATH_LIBRARY): Wrap in ifdefs. | |
35426 | ||
35427 | 2004-04-23 Daniel Jacobowitz <drow@mvista.com> | |
35428 | ||
35429 | * config/arm/arm.c (arm_output_epilogue): Reverse the order of | |
35430 | loading iWMMXt registers with a frame pointer. Use post-increment | |
35431 | without a frame pointer. | |
35432 | (arm_expand_prologue): Reverse the order of saving iWMMXt registers. | |
35433 | ||
35434 | 2004-04-23 Paolo Bonzini <bonzini@gnu.org> | |
35435 | ||
35436 | * doc/invoke.texi (Optimize Options): Refer to "unit-at-a-time | |
35437 | mode" rather than "-funit-at-a-time" since -O2 enables it | |
35438 | without requiring -f* options. Refer to -fprofile-generate and | |
35439 | -fprofile-use correctly. Move -funit-at-a-time among options | |
35440 | enabled by -O. Add information about unit-at-a-time caveats. | |
35441 | ||
35442 | 2004-04-22 Per Bothner <per@bothner.com> | |
35443 | ||
e8366202 MS |
35444 | * line-map.h (struct line_maps): New field highest_line. |
35445 | (linemap_position_for_column): Make non-inline function. | |
35446 | (LINEMAP_POSITION_FOR_COLUMN): New macro. | |
35447 | * line-map.c (linemap_init): Clear highest_line field. | |
35448 | (linemap_add): Set highest_line field. | |
35449 | (linemap_line_start): Minor optimization - use highest_line field. | |
3eb54e5f | 35450 | Reduce maximum column hint to 10000. Update highest_line field. |
e8366202 MS |
35451 | (linemap_position_for_column): Moved from line-map.h. Optimize a bit. |
35452 | * cpphash.h (struct cpp_reader): Remove line field - instead use | |
3eb54e5f | 35453 | line_table->highest_line. |
e8366202 MS |
35454 | (saved_line): Remove unused field. |
35455 | (CPP_INCREMENT_FILE): Don't do linemap_lookup - just use newest map. | |
3eb54e5f | 35456 | Use line_table's highest_line field instead of cpp_reader's line. |
e8366202 MS |
35457 | * cpplib.c (start_directive): Likewise use highest_line field. |
35458 | (do_line, do_linemarker): Likewise just use newest map. | |
35459 | (_cpp_do_file_change): Don't need to set cpp_reader's line field. | |
35460 | * cpperror.c (cpp_error): Likewise use highest_line field. | |
35461 | * cppfiles.c (open_file_failed: Likewise. | |
35462 | (cpp_make_system_header): Likewise use newest map and highest_line. | |
35463 | * cppinit.c (cpp_create_reader): Don't initialize removed field. | |
3eb54e5f ILT |
35464 | * cpplex.c (_cpp_process_line_notes, _cpp_skip_block_comment, |
35465 | skip_line_comment, skip_whitespace, _cpp_get_fresh_line, | |
e8366202 MS |
35466 | _cpp_lex_direct): Likewise use highest_line. |
35467 | (_cpp_lex_direct): Use new LINEMAP_POSITION_FOR_COLUMN macro. | |
35468 | * cppmacro.c (_cpp_builtin_macro_text): Likewise use highest_line, | |
3eb54e5f | 35469 | and use newest map. |
e8366202 MS |
35470 | * cpppch.c (cpp_read_state): Don't save+restore cpp_reader's line. |
35471 | * cpptrad.c (_cpp_overlay_buffer): Don't save cpp_reader's line. | |
35472 | (copy_comment, _cpp_scan_out_logical_line): Likewise use highest_line. | |
3eb54e5f ILT |
35473 | |
35474 | 2004-04-23 Alan Modra <amodra@bigpond.net.au> | |
35475 | ||
35476 | PR bootstrap/14992 | |
35477 | * gcc.c (init_gcc_specs): Test USE_LD_AS_NEEDED, not HAVE_LD_AS_NEEDED. | |
35478 | * config/linux.h (USE_LD_AS_NEEDED): Define. | |
a1d1988f MS |
35479 | * config/alpha/linux.h (USE_LD_AS_NEEDED): Define. |
35480 | * config/arm/linux-elf.h (USE_LD_AS_NEEDED): Define. | |
35481 | * config/rs6000/linux.h (USE_LD_AS_NEEDED): Define. | |
35482 | * config/rs6000/linux64.h (USE_LD_AS_NEEDED): Define. | |
35483 | * config/sh/linux.h (USE_LD_AS_NEEDED): Define. | |
35484 | * config/sparc/linux.h (USE_LD_AS_NEEDED): Define. | |
35485 | * config/sparc/linux64.h (USE_LD_AS_NEEDED): Define. | |
3eb54e5f ILT |
35486 | |
35487 | 2004-04-22 Per Bothner <per@bothner.com> | |
35488 | ||
e8366202 | 35489 | * cppinit.c (cpp_read_main_file): Return NULL rather than false. |
3eb54e5f ILT |
35490 | Fixes PR preprocessor/15067. |
35491 | ||
35492 | 2004-04-23 Andreas Schwab <schwab@suse.de> | |
35493 | ||
35494 | * config/ia64/ia64intrin.h: Add intermediate cast to void * to | |
35495 | avoid aliasing warning. | |
35496 | ||
35497 | 2004-04-22 Jan Hubicka <jh@suse.cz> | |
35498 | Mostafa Hagog <mustafa@il.ibm.com> | |
35499 | ||
a1d1988f MS |
35500 | * cfgloopmanip.c (scale_bbs_frequencies): Use RDIV macro |
35501 | * cfgloopanal.c (expected_loop_iterations): Change the return value | |
3eb54e5f ILT |
35502 | |
35503 | 2004-04-22 Jakub Jelinek <jakub@redhat.com> | |
35504 | ||
35505 | * cselib.h (struct elt_loc_list): Remove canon_loc field. | |
35506 | * cselib.c (new_elt_loc_list): Remove canon_loc initialization. | |
35507 | (cselib_invalidate_mem): Remove all canon_loc and canon_x | |
35508 | traces. | |
35509 | ||
35510 | 2004-04-22 Josef Zlomek <zlomekj@suse.cz> | |
35511 | ||
35512 | Revert | |
35513 | 2004-04-20 Josef Zlomek <zlomekj@suse.cz> | |
35514 | ||
35515 | * var-tracking.c (variable_part_different_p): Variable parts | |
35516 | differ when the most recent locations differ. | |
35517 | ||
35518 | 2004-04-22 Richard Sandiford <rsandifo@redhat.com> | |
35519 | ||
35520 | * doc/invoke.texi: Remove the MIPS -membedded-pic option. | |
35521 | * config/mips/mips-protos.h (embedded_pic_fnaddr_reg): Delete. | |
35522 | (embedded_pic_offset): Delete. | |
35523 | * config/mips/mips.h (MASK_EMBEDDED_PIC): Delete. Shuffle other | |
35524 | MASK_* constants. | |
35525 | (TARGET_EMBEDDED_PIC): Delete. | |
35526 | (TARGET_SWITCHES): Remove -m{no-,}embedded-pic. | |
35527 | (ASM_SPEC): Remove -membedded-pic. | |
35528 | (ASM_OUTPUT_ADDR_DIFF_ELT): Remove embedded-pic handling. | |
35529 | (ASM_OUTPUT_CASE_LABEL): Likewise. | |
35530 | * config/mips/vxworks.h (ASM_SPEC): Remove -membedded-pic. | |
35531 | * config/mips/windiss.h (ASM_SPEC): Likewise. | |
35532 | * config/mips/mips.c (struct machine_function): Remove | |
35533 | embedded_pic_fnaddr_rtx. | |
35534 | (TARGET_ENCODE_SECTION_INFO): Remove override. | |
35535 | (embedded_pic_fnaddr_reg, embedded_pic_offset): Delete. | |
35536 | (override_options): Remove -membedded-pic handling. | |
35537 | (print_operand): Remove handling of '%S'. | |
35538 | (mips_select_section: Remove -membedded-pic handling. | |
35539 | (mips_encode_section_info): Delete. | |
35540 | (mips_output_conditional_branch): Remove mention of -membedded-pic. | |
35541 | * config/mips/mips.md (define_attr length, movsi, movdi, jump): Remove | |
35542 | -membedded-pic handling. | |
35543 | (casesi, casesi_internal, casesi_internal_di, get_fnaddr): Delete. | |
35544 | ||
35545 | 2004-04-22 Alan Modra <amodra@bigpond.net.au> | |
35546 | ||
35547 | * var-tracking.c (frame_base_decl): Remove useless GTY. | |
35548 | ||
35549 | 2004-04-21 Aldy Hernandez <aldyh@redhat.com> | |
35550 | ||
35551 | * config/rs6000/rs6000.c (rs6000_override_options): Error when | |
35552 | user wants altivec and e500 instructions. | |
35553 | ||
35554 | 2004-04-21 H.J. Lu <hongjiu.lu@intel.com> | |
35555 | ||
35556 | PR target/14813 | |
35557 | * config/ia64/crtend.asm: Move pointer to __do_global_ctors_aux | |
35558 | in .init_array section to ... | |
35559 | * config/ia64/crtbegin.asm: Here. | |
35560 | ||
35561 | * config/ia64/crtend.asm: Mark __do_global_ctors_aux global | |
35562 | and hidden if HAVE_INITFINI_ARRAY is defined. | |
35563 | ||
35564 | 2004-04-21 James E Wilson <wilson@specifixinc.com> | |
35565 | ||
35566 | * config/mips/mips-protos.h (fp_register_operand, lo_operand): Declare. | |
35567 | * config/mips/mips.c (mips_multipass_dfa_lookahead): Declare. | |
35568 | (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): New. | |
35569 | (fp_register_operand, lo_operand): New. | |
35570 | (mips_rtx_costs): Add TUNE_SB1 support. | |
35571 | (mips_issue_rate): Add comment. Add PROCESSOR_SB1 support. | |
35572 | (mips_use_dfa_pipeline_interface): Add PROCESSOR_SB1 support. | |
35573 | (mips_multipass_dfa_lookahead): New. | |
35574 | * config/mips/mips.h (MASK_FP_EXCEPTIONS, TARGET_FP_EXCEPTIONS, | |
35575 | TUNE_SB1): New. | |
35576 | (TARGET_SWITCHES): Add -mfp-exceptions support. | |
35577 | (TARGET_FP_EXCEPTIONS_DEFAULT): New. | |
35578 | (BRANCH_COST): Fix whitespace. | |
35579 | * config/mips/mips.md: Include sb1.md. | |
35580 | * config/mips/sb1.md: New file. | |
35581 | * doc/invoke.texi: Document -mfp-exceptions. | |
35582 | ||
35583 | * Makefile.in (fixinc.sh): Don't set or export WARN_CFLAGS. Fix | |
35584 | comment. | |
35585 | * fixinc/Makefile.in (FL_LIST): Don't mention WARN_CFLAGS. | |
35586 | (fixincl.o-warn): Delete. | |
35587 | ||
35588 | 2004-04-21 Andrew Pinski <pinskia@physics.uc.edu> | |
35589 | ||
35590 | * config/rs6000/rs6000 (print_operand) ['z']: | |
35591 | Change ifdef of TARGET_MACHO to if TARGET_MACHO. | |
35592 | ||
35593 | 2004-04-21 Daniel Jacobowitz <drow@mvista.com> | |
35594 | ||
35595 | * config.gcc: Support --with-arch=iwmmxt for ARM. | |
35596 | ||
35597 | 2004-04-21 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
35598 | ||
35599 | * expmed.c (expand_mult_highpart_optab): Use narrower version of OP1 | |
35600 | in two more places; remove unneeded force_reg | |
35601 | ||
35602 | 2004-04-21 Andrew Pinski <pinskia@physics.uc.edu> | |
35603 | ||
35604 | * config/rs6000/rs6000.c (symbol_ref_operand): Remove hack | |
35605 | for TARGET_MACHO. | |
35606 | (print_operand): For TARGET_MACHO check to see if we need a stub | |
35607 | and output one if we need it. | |
35608 | ||
35609 | PR debug/15033 | |
35610 | * dwarf2out.c (rtl_for_decl_location): Check for NULL | |
35611 | rtl. | |
35612 | ||
35613 | 2004-04-20 James E Wilson <wilson@specifixinc.com> | |
35614 | ||
35615 | * config/ia64/ia64.md (call_value_nogp): Add constraints for op0. | |
35616 | (vall_value_gp): Likewise. | |
35617 | ||
35618 | 2004-04-20 DJ Delorie <dj@redhat.com> | |
35619 | ||
35620 | * dwarf2out.c (rtl_for_decl_location): Adjust rtl for byte | |
35621 | variables stored in word registers, then in memory. | |
35622 | ||
35623 | 2004-04-20 Eric Christopher <echristo@redhat.com> | |
35624 | ||
35625 | * cp/parser.c (cp_parser_declaration): Move translate | |
35626 | up before tokens are lexed. | |
35627 | ||
35628 | 2004-04-20 Uros Bizjak <uros@kss-loka.si> | |
35629 | ||
35630 | * optabs.h (enum optab_index): Add new OTI_asin and OTI_acos. | |
35631 | (asin_optab, acos_optab): Define corresponding macros. | |
35632 | * optabs.c (init_optabs): Initialize asin_optab and acos_optab. | |
35633 | * genopinit.c (optabs): Implement asin_optab and acos_optab | |
35634 | using asin?f2 and acos?f2 patterns. | |
35635 | * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_ASIN{,F,L} | |
35636 | using asin_optab, and BUILT_IN_ACOS{,F,L} using acos_optab. | |
35637 | (expand_builtin): Expand BUILT_IN_ASIN{,F,L} and BUILT_IN_ACOS{,F,L} | |
35638 | using expand_builtin_mathfn if flag_unsafe_math_optimizations is set. | |
35639 | ||
35640 | * config/i386/i386.md (asindf2, asinsf2, asinxf2, acosdf2, | |
35641 | acossf2, acosxf2): New expanders to implement asin, asinf, asinl, | |
35642 | acos, acosf and acosl built-ins as inline x87 intrinsics. | |
35643 | ||
35644 | 2004-04-20 Paul Brook <paul@codesourcery.com> | |
35645 | ||
35646 | * config/arm/arm.c (arm_legitimate_address_p): Use rtx_equal_p. | |
35647 | ||
35648 | 2004-04-20 Paul Brook <paul@codesourcery.com> | |
35649 | ||
35650 | * config/arm/arm.c (arm_expand_prologue): Fix size calculation. | |
35651 | ||
35652 | 2004-04-20 Paolo Bonzini <bonzini@gnu.org> | |
35653 | ||
35654 | Revert part of 2004-04-17 change that moved -frename-registers | |
35655 | to -O1. -frename-registers is buggy. | |
35656 | ||
35657 | * toplev.c (flag_rename_registers): Initialize to 0. | |
35658 | * doc/invoke.texi (Optimize options): Move -frename-registers | |
35659 | to "Not triggered by any -O level" section. Adjust commentary | |
35660 | accordingly. | |
35661 | ||
35662 | 2004-04-20 Anil Paranjpe <anilp1@kpitcummins.com> | |
35663 | ||
35664 | * toplev.c (compile_file): Move targetm.asm_out.file_end call to end. | |
35665 | ||
35666 | 2004-04-20 Richard Sandiford <rsandifo@redhat.com> | |
35667 | ||
35668 | * config/mips/mips.c (mips_legitimize_move): Generate special patterns | |
35669 | for mflo and mfhi instructions. | |
35670 | (mips_output_move): Remove mflo and mfhi handling. | |
35671 | * config/mips/mips.md (UNSPEC_MFHILO): New unspec. | |
35672 | (*mulsidi3_64bit): Update for new mfhi/mflo representation. | |
35673 | Likewise various define_peephole2s. | |
35674 | (*movdi_32bit, *movdi_64bit, *movsi_internal): Merge x<-J and x<-d | |
35675 | alternatives. | |
35676 | (*movdi_64bit, *movdi_64bit_mips16, *mov[shq]i_internal) | |
35677 | (*mov[shq]i_mips16): Remove mflo and mfhi alternatives. | |
35678 | (mfhilo_di, mfhilo_si): New patterns. | |
35679 | ||
35680 | 2004-04-20 Josef Zlomek <zlomekj@suse.cz> | |
35681 | ||
35682 | * function.c (assign_parms): Force | |
35683 | MEM_EXPR (DECL_INCOMING_RTL (parm)) == parm. | |
35684 | ||
35685 | 2004-04-20 Josef Zlomek <zlomekj@suse.cz> | |
35686 | ||
35687 | * var-tracking.c (variable_part_different_p): Variable parts differ | |
35688 | when the most recent locations differ. | |
35689 | ||
35690 | 2004-04-19 James E Wilson <wilson@specifixinc.com> | |
35691 | ||
35692 | * rtl.h (reg_set_last): Delete declaration. | |
35693 | * rtlanal.c (reg_set_last): Delete. | |
35694 | ||
35695 | 2004-04-19 Roger Sayle <roger@eyesopen.com> | |
35696 | ||
35697 | * fold-const.c (fold_convert): Make function extern/public. | |
35698 | * tree.h (fold_convert): Prototype here. | |
35699 | * builtins.c (expand_builtin_strstr, expand_builtin_strchr, | |
35700 | expand_builtin_strrchr, expand_builtin_strpbrk, | |
35701 | expand_builtin_mempcpy, expand_builtin_bcopy, | |
35702 | expand_builtin_bzero, expand_builtin_memcmp, | |
35703 | expand_builtin_strcmp, expand_builtin_strncmp, | |
35704 | stabilize_va_list, expand_builtin_sprintf, | |
35705 | fold_trunc_transparent_mathfn, fold_builtin_logarithm, | |
35706 | fold_builtin_exponent, fold_builtin_mempcpy, | |
35707 | fold_builtin_strcpy, fold_builtin_strcmp, fold_builtin_strncmp, | |
35708 | fold_builtin_signbit, fold_builtin_isdigit, fold_builtin): Prefer | |
35709 | fold_convert to "convert" or "fold (build1 (NOP_EXPR, ...))". | |
35710 | ||
35711 | 2004-04-19 Aldy Hernandez <aldyh@redhat.com> | |
35712 | ||
35713 | * config/rs6000/rs6000.md (UNSPEC_MV_CR_GT): New constant. | |
35714 | (move_from_CR_gt_bit): New. | |
35715 | (cceq_ior_compare): Name previously unnamed pattern. Disable for | |
35716 | E500. | |
35717 | (cceq_rev_compare): Name previously unnamed pattern. Allow for | |
35718 | E500. | |
35719 | ||
35720 | * config/rs6000/spe.md (cmpsfeq_gpr): Rewrite as unspec. | |
35721 | (tstsfeq_gpr): Same. | |
35722 | (cmpsfgt_gpr): Same. | |
35723 | (tstsfgt_gpr): Same. | |
35724 | (cmpsflt_gpr): Same. | |
35725 | (tstsflt_gpr): Same. | |
35726 | (e500_cceq_ior_compare): New. | |
35727 | (e500_flip_gt_bit): New. | |
35728 | ||
35729 | * config/rs6000/rs6000.c (ccr_bit): Remove E500 specific code. | |
35730 | (print_operand): Add 'c' and 'D'. | |
35731 | (rs6000_generate_compare): Rewrite to generate correct rtl. | |
35732 | (rs6000_emit_sCOND): Handle E500. | |
35733 | (output_cbranch): Adjust for changes in rs6000_generate_compare. | |
35734 | (output_e500_flip_gt_bit): New. | |
35735 | ||
35736 | * config/rs6000/rs6000-protos.h (output_e500_flip_gt_bit): | |
35737 | Protoize. | |
35738 | ||
35739 | 2004-04-19 Eric Christopher <echristo@redhat.com> | |
35740 | ||
35741 | * config/mips/mips.h (DWARF2_ADDR_SIZE): New. | |
35742 | ||
35743 | 2004-04-19 David Edelsohn <edelsohn@gnu.org> | |
35744 | ||
35745 | * doc/install.texi (*-ibm-aix*): Add AIX 5.1 assembler and archiver | |
35746 | fix information. | |
35747 | ||
35748 | 2004-04-19 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> | |
35749 | ||
35750 | * doc/install.texi (Specific, mips-sgi-irix5): Fix IRIX 5.3 IDO | |
35751 | download URL. | |
35752 | ||
35753 | 2004-04-19 Daniel Jacobowitz <drow@mvista.com> | |
35754 | ||
35755 | * stor-layout.c (layout_decl): Check DECL_PACKED before calling | |
35756 | ADJUST_FIELD_ALIGN. Check maximum_field_alignment after. | |
35757 | ||
35758 | 2004-04-19 Andrew PInski <pinskia@physics.uc.edu> | |
35759 | ||
35760 | * builtins.c (fold_builtin_cabs): Remove fndecl parameter. | |
35761 | (fold_builtin): Update caller to match. | |
35762 | ||
35763 | PR bootstrap/15009 | |
35764 | * bb-reorder.c (fix_up_fall_thru_edges): Init cond_jump. | |
35765 | ||
35766 | PR bootstrap/14999 | |
35767 | * builtins.c (fold_builtin_cabs): Mark fndecl as unused. | |
35768 | ||
35769 | 2004-04-19 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
35770 | ||
35771 | * varasm.c (compare_constant, case VIEW_CONVERT_EXPR): Add case. | |
35772 | ||
35773 | * expmed.c (expand_mult_highpart_adjust): Make OP1 valid for MODE. | |
35774 | (expand_mult_highpart_optab): Likewise. | |
35775 | (expand_mult_highpart): Make OP1 valid for WIDER_MODE, not MODE. | |
35776 | ||
35777 | 2004-04-19 Paul Brook <paul@codesourcery.com> | |
35778 | ||
35779 | * config/arm/arm.md (fixuns_truncsfsi2, fixuns_truncdfsi2, | |
35780 | floatunssisf2, floatunssidf2): New patterns. | |
35781 | ||
35782 | 2004-04-18 Mark Mitchell <mark@codesourcery.com> | |
35783 | ||
35784 | PR other/14918 | |
35785 | * doc/invoke.texi (-fprofile-generate): Document requirement to | |
35786 | use -fprofile-generate when linking. | |
35787 | ||
35788 | * doc/extend.texi (Strong Using): Warn users against using this | |
35789 | feature. | |
35790 | ||
35791 | 2004-04-18 Richard Sandiford <rsandifo@redhat.com> | |
35792 | ||
35793 | * config/mips/mips-protos.h (m16_usym8_4, m16_usym5_4): Delete. | |
35794 | * config/mips/mips.h (mips_entry, mips_string_length): Delete. | |
35795 | (CONSTANT_POOL_BEFORE_FUNCTION, ASM_OUTPUT_POOL_EPILOGUE): Undefine. | |
35796 | * config/mips/mips.c (struct mips16_constant): Renamed from struct | |
35797 | constant. Propogate change throughout file. | |
35798 | (struct machine_function): Remove insns_len. | |
35799 | (mips_string_length, mips16_strings, string_constants): Delete. | |
35800 | (mips_classify_symbol): Return SYMBOL_CONSTANT_POOL for LABEL_REFs | |
35801 | when generating mips16 code. Remove special mips16 treatment of | |
35802 | string constants. | |
35803 | (mips_symbolic_constant_p): Allow mips16 constant pool accesses | |
35804 | to have the form LABEL+CONSTANT. | |
35805 | (mips_symbolic_address_p): Fix comment. | |
35806 | (m16_usym8_4, m16_usym5_4): Delete. | |
35807 | (mips_output_function_epilogue): Remove mips16 string handling. | |
35808 | (mips_output_mi_thunk): Call mips16_lay_out_constants. | |
35809 | (mips_select_section, mips_encode_section_info): Remove mips16 | |
35810 | string handling. | |
35811 | (struct mips16_constant_pool): New. | |
35812 | (add_constant): Take a mips16_constant_pool structure. Keep pool | |
35813 | sorted into order of ascending mode size. Keep track of the highest | |
35814 | possible start address, taking padding and the masking of the base PC | |
35815 | value into account. | |
35816 | (dump_constants_1): New function, split out from dump_constants. | |
35817 | Handle vector constants. Use gen_consttable_{int,float} rather than | |
35818 | separate functions for each mode. | |
35819 | (dump_constants): Simplify. Use GET_MODE_ALIGNMENT. Use gen_align | |
35820 | rather than separate functions for each alignment. | |
35821 | (mips_find_symbol): Delete. | |
35822 | (mips16_insn_length): New function, split out from | |
35823 | mips16_lay_out_constants. | |
35824 | (mips16_rewrite_pool_refs): New function. | |
35825 | (mips16_lay_out_constants): Rework. Remove string handling. | |
35826 | Always create an inline constant pool. | |
35827 | * config/mips/mips.md (UNSPEC_CONSTTABLE_INT, UNSPEC_CONSTTABLE_FLOAT) | |
35828 | (UNSPEC_ALIGN): New constants. | |
35829 | (UNSPEC_CONSTTABLE_[QHSD]I, UNSPEC_CONSTTABLE_[SD]F): Delete. | |
35830 | (UNSPEC_ALIGN_[248]): Delete. | |
35831 | (consttable_int, consttable_float, align): New patterns. | |
35832 | (consttable_[qhsd]i, consttable_[sd]f, align_[248]): Delete. | |
35833 | ||
35834 | 2004-04-17 Aldy Hernandez <aldyh@redhat.com> | |
35835 | ||
35836 | * config/rs6000/altivec.h (vec_any_numeric): Correct typo in | |
35837 | __unn_args_eq. | |
35838 | ||
35839 | 2004-04-17 Alan Modra <amodra@bigpond.net.au> | |
35840 | ||
35841 | PR target/14715 | |
35842 | * config/rs6000/rs6000.c (rs6000_stack_info): Make parm_size agree | |
35843 | with STARTING_FRAME_OFFSET. | |
35844 | ||
35845 | 2004-04-17 Richard Sandiford <rsandifo@redhat.com> | |
35846 | ||
35847 | * config/mips/mips.h (PREDICATE_CODES): Add macc_msac_operand. | |
35848 | * config/mips/mips.c (macc_msac_operand): New function. | |
35849 | * config/mips/mips.md (*msac): Move after *macc. | |
35850 | (*msac2): New. Generalize macc-related peepholes so that they apply | |
35851 | to msac too. | |
35852 | ||
35853 | 2004-04-17 Paolo Bonzini <bonzini@gnu.org> | |
35854 | ||
35855 | * opts.c (decode_options): Do not enable flag_rename_registers | |
35856 | and flag_web at -O3. | |
35857 | * toplev.c (flag_rename_registers): Initialize | |
35858 | flag_rename_registers and flag_web to | |
35859 | AUTODETECT_FLAG_VAR_TRACKING. | |
35860 | (default_debug_hooks): New global. | |
35861 | (process_options): Initialize default_debug_hooks. Warn if | |
35862 | -fvar-tracking specified but not supported by the current | |
35863 | debug format. Do not run var tracking at -O0 or if not | |
35864 | supported by the current debug format, even if | |
35865 | -fvar-tracking was given. If -fno-rename-registers | |
35866 | is not specified, always run register renaming if var | |
35867 | tracking is supported by the default debugging information | |
35868 | format for the target, and we are at -O1 or higher; similarly | |
35869 | for -fweb, but only at -O2 or higher. | |
35870 | * doc/invoke.texi (Optimize Options): Document this. | |
35871 | ||
35872 | 2004-04-17 Richard Sandiford <rsandifo@redhat.com> | |
35873 | ||
35874 | * configure.ac (gcc_cv_ld_as_needed): Use AC_CACHE_CHECK. | |
35875 | * configure: Regenerate. | |
35876 | ||
35877 | 2004-04-17 Richard Sandiford <rsandifo@redhat.com> | |
35878 | ||
35879 | * gcc.c (used_arg): Check whether an option has been removed. | |
35880 | ||
35881 | 2004-04-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> | |
35882 | ||
35883 | * config.gcc (i[34567]86-*-solaris2*): Default to DWARF-2 | |
35884 | debugging on Solaris 7 and up. | |
35885 | ||
35886 | 2004-04-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> | |
35887 | ||
35888 | * doc/install.texi (Specific, mips-sgi-irix5): Reflect working | |
35889 | IRIX 5 port. | |
35890 | Remove -save-temps workaround, handled automatically. | |
35891 | Require GNU binutils 2.15 for debugging. | |
35892 | Remove SGI make warnings since GNU make is now required. | |
35893 | (Specific, mips-sgi-irix6): Some markup fixes. | |
35894 | Describe MIPSpro C problems and workarounds. | |
35895 | Mention working O32 ABI support. | |
35896 | Recommend GNU as 2.15 for O32 with debugging. | |
35897 | Remove description of fixed structure pass/return bug. | |
35898 | ||
35899 | 2004-04-16 DJ Delorie <dj@redhat.com> | |
35900 | ||
35901 | * sdbout.c (sdbout_one_type): Use TYPE_VALUES for enums, not | |
35902 | TYPE_FIELDS. | |
35903 | (sdbout_finish): Don't free deferred_global_decls; it's GC'd. | |
35904 | ||
35905 | 2004-04-16 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
35906 | ||
35907 | * pa.md: Remove unnecessary declarations for asm_out_file. | |
35908 | ||
35909 | * pa64-regs.h (DBX_REGISTER_NUMBER): Simplify and correct mapping of | |
35910 | SAR register. Fix comment. | |
35911 | (ADDITIONAL_REGISTER_NAMES): Correct register number of SAR register | |
35912 | (%cr11). | |
35913 | ||
35914 | * pa64-hpux.h (LIB_SPEC): Fix library specification used with GNU ld. | |
35915 | ||
35916 | 2004-04-16 Nick Clifton <nickc@redhat.com> | |
35917 | ||
35918 | * config/arm/arm.c (arm_override_options): Revert previous patch. | |
35919 | * config/arm/t-xscale-elf: Disable iwmmxt multilibs until they can | |
35920 | be safely built. | |
35921 | ||
35922 | 2004-04-16 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com> | |
35923 | ||
35924 | * config/m32r/m32r.h (BIG_ENDIAN_BIT): Deleted to fix endian | |
35925 | bug. | |
35926 | (TARGET_LITTLE_ENDIAN, TARGET_BIG_ENDIAN, | |
35927 | TARGET_DEFAULT): Changed. Ditto. | |
35928 | (LITTLE_ENDIAN_BIT, TARGET_CPU_DEFAULT, | |
35929 | TARGET_ENDIAN_DEFAULT): Added. Ditto. | |
35930 | * config/m32r/little.h (TARGET_LITTLE_ENDIAN): Deleted. | |
35931 | (TARGET_ENDIAN_DEFAULT): Added. | |
35932 | ||
35933 | 2004-04-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
35934 | ||
35935 | * builtins.def (BUILT_IN_ISDIGIT, BUILT_IN_ISXDIGIT): Mark with | |
35936 | ATTR_CONST_NOTHROW_LIST. | |
35937 | ||
35938 | 2004-04-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
35939 | ||
35940 | PR/middle-end 14915 | |
35941 | * builtins.c (expand_builtin_signbit): Test BYTES_BIG_ENDIAN, not | |
35942 | BITS_BIG_ENDIAN. | |
35943 | ||
35944 | 2004-04-15 Pat Haugen <pthaugen@us.ibm.com> | |
35945 | ||
35946 | * ra-debug.c (ra_print_rtx): Add break's to case legs. | |
35947 | ||
35948 | 2004-04-14 James E Wilson <wilson@specifixinc.com> | |
35949 | ||
35950 | * Makefile.in (fixinc.sh): Set WARN_CFLAGS to empty string. | |
35951 | ||
35952 | 2004-04-14 Nathanael Nerode <neroden@gcc.gnu.org> | |
35953 | ||
35954 | * libada-mk.in: New file. | |
35955 | * configure.ac: Create libada-mk from libada-mk.in. | |
35956 | * configure: Regenerate. | |
35957 | ||
35958 | 2004-04-14 Uros Bizjak <uros@kss-loka.si> | |
35959 | ||
35960 | * optabs.h (enum optab_index): Add new OTI_logb and OTI_ilogb. | |
35961 | (logb_optab, ilogb_optab): Define corresponding macros. | |
35962 | * optabs.c (init_optabs): Initialize logb_optab and ilogb_optab. | |
35963 | * genopinit.c (optabs): Implement logb_optab and ilogb_optab | |
35964 | using logb?f2 and ilogb?i2 patterns. | |
35965 | * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_LOGB{,F,L} | |
35966 | using logb_optab, and BUILT_IN_ILOGB{,F,L} using ilogb_optab. | |
35967 | (expand_builtin): Expand BUILT_IN_LOGB{,F,L} and BUILT_IN_ILOGB{,F,L} | |
35968 | using expand_builtin_mathfn if flag_unsafe_math_optimizations is set. | |
35969 | ||
35970 | * reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_XTRACT_FRACT | |
35971 | and UNSPEC_XTRACT_EXP. | |
35972 | ||
35973 | * config/i386/i386.md (*fxtractdf3, *fxtractsf3, *fxtractxf3): New | |
35974 | patterns to implement fxtract x87 instruction. | |
35975 | (logbdf2, logbsf2, logbxf2, ilogbsi2): New expanders to implement | |
35976 | logb, logbf, logbl, ilogb, ilogbf and ilogbl built-ins as inline x87 | |
35977 | intrinsics. | |
35978 | (UNSPEC_XTRACT_FRACT, UNSPEC_XTRACT_EXP): New unspecs to represent | |
35979 | x87's fxtract insn. | |
35980 | ||
35981 | 2004-04-14 Eric Christopher <echristo@redhat.com> | |
35982 | ||
35983 | * config/mips/t-elf: Enable multilibs by default. | |
35984 | ||
35985 | 2004-04-14 Andreas Tobler <a.tobler@schweiz.ch> | |
35986 | ||
35987 | * bb-reorder.c (fix_crossing_conditional_branches): Adjust the | |
35988 | previous fix to check HAVE_return at runtime too. | |
35989 | ||
35990 | 2004-04-14 Nick Clifton <nickc@redhat.com> | |
35991 | ||
35992 | * config/arm/arm.c (arm_override_options): If the user has not | |
35993 | specified an ABI, then default to AAPCS for the iWMMXt processor. | |
35994 | * config/arm/t-xscale-elf: Remove redundant multilib specifications. | |
35995 | * config/arm/t-xscale-coff: Likewise. | |
35996 | ||
35997 | 2004-04-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
35998 | ||
35999 | * builtins.c (fold_builtin_isdigit): New. | |
36000 | (fold_builtin): Handle BUILT_IN_ISDIGIT. | |
36001 | * defaults.h: Add TARGET_DIGIT0 and sort. | |
36002 | * doc/tm.texi: Add TARGET_BS and TARGET_DIGIT0. | |
36003 | ||
36004 | 2004-04-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
36005 | ||
36006 | * builtins.c (fold_builtin_cabs, fold_builtin): Use | |
36007 | `mathfn_built_in' to determine the new builtin. | |
36008 | * fold-const.c (fold): Likewise. | |
36009 | ||
36010 | 2004-04-14 Richard Sandiford <rsandifo@redhat.com> | |
36011 | ||
36012 | * doc/invoke.texi: Rename MIPS's -mfix-vr4122-bugs to -mfix-vr4120. | |
36013 | * config/mips/mips.h (MASK_FIX_VR4120): Renamed from MASK_FIX_VR4122. | |
36014 | (TARGET_FIX_VR4120): Likewise TARGET_FIX_VR4122. | |
36015 | (TARGET_SWITCHES): Replace -mfix-vr4122-bugs with -mfix-vr4120. | |
36016 | (ASM_SPEC): Update accordingly. | |
36017 | * config/mips/mips.c: Update after above renaming. | |
36018 | * config/mips/mips.md, config/mips/t-vr, config/mips/vr.h: Likewise. | |
36019 | * config/mips/vr4120-div.S: Renamed from vr4122-div.S. | |
36020 | ||
36021 | 2004-04-13 James E Wilson <wilson@specifixinc.com> | |
36022 | ||
36023 | * c-opt.c (c_common_post_options): If this_input_filename is NULL, | |
36024 | increment errorcount and return false instead of true. | |
36025 | ||
36026 | 2004-04-13 Uros Bizjak <uros@kss-loka.si>: | |
36027 | ||
36028 | * optabs.c (expand_twoval_unop): Reorder function arguments. | |
36029 | * builtins.c (expand_builtin_mathfn_3): Update calls to | |
36030 | expand_twoval_unop. | |
36031 | ||
36032 | * reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_TAN_ONE | |
36033 | and UNSPEC_TAN_TAN. Add missing comment. | |
36034 | ||
36035 | * config/i386/i386.md (*tandf3_1, *tansf3_1, *tanxf3_1): New | |
36036 | patterns to implement fptan x87 instruction. | |
36037 | (tandf2, tansf2, tanxf2): New expanders to implement tan, tanf | |
36038 | and tanl built-ins as inline x87 intrinsics. Define corresponding | |
36039 | peephole2 optimizers for 'fptan; fstp %st(0); fld1' sequence. | |
36040 | (UNSPEC_TAN_ONE, UNSPEC_TAN_TAN): New unspecs to represent | |
36041 | x87's fptan insn. | |
36042 | ||
36043 | 2004-03-13 Richard Henderson <rth@redhat.com> | |
36044 | ||
36045 | * bb-reorder.c (fix_crossing_unconditional_branches): Use Pmode | |
36046 | for LABEL_REFs. | |
36047 | ||
36048 | * defaults.h (HOT_TEXT_SECTION_NAME): Add leading dot. | |
36049 | (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Likewise. | |
36050 | * doc/invoke.texi: Update to match. | |
36051 | ||
36052 | * varasm.c (unlikely_text_section): Use assemble_align instead of | |
36053 | ASM_OUTPUT_ALIGN. Use it in the correct place with an approximately | |
36054 | correct alignment argument. | |
36055 | ||
36056 | 2004-04-13 Ulrich Weigand <uweigand@de.ibm.com> | |
36057 | ||
36058 | * reload1.c (emit_reload_insns): Set reg_has_output_reload to one | |
36059 | after setting reg_last_reload_reg for optional output reloads. | |
36060 | ||
36061 | 2004-04-12 Fariborz Jahanian <fjahanian@apple.com> | |
36062 | ||
36063 | * config/rs6000/altivec.h (vec_mergeh, vec_mergel): | |
36064 | Definition of these two macros are corrected by adding | |
36065 | matchine right paren. | |
36066 | ||
36067 | 2004-04-12 Jonathan Larmour <jifl@eCosCentric.com> | |
36068 | ||
36069 | * fix-header.c: kill(), putenv() and tzset() are POSIX not ANSI. | |
36070 | ||
36071 | 2004-04-12 Roger Sayle <roger@eyesopen.com> | |
36072 | ||
36073 | * config/i386/i386.c (output_387_reg_move): New function. | |
36074 | * config/i386/i386-protos.h (output_387_reg_move): Prototype here. | |
36075 | * config/i386/i386.md (*movsf_1, *movsf1_nointerunit, | |
36076 | *movdf_nointeger, *movdf_integer, *movxf_nointeger, *movxf_integer, | |
36077 | *extendsfdf2_1, *extendsfxf2_1, *extenddfxf2_1, truncdfsf2_noop, | |
36078 | truncxfsf2_noop, truncxfdf2_noop): Call output_387_reg_move. | |
36079 | ||
36080 | 2004-04-12 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
36081 | ||
36082 | * c-decl.c (finish_decl): Make a decl_stmt for a variable-sized | |
36083 | TYPE_DECL. | |
36084 | * c-semantics.c (genrtl_decl_stmt): Handle TYPE_DECL. | |
36085 | * stmt.c (expand_decl): Remove redundant expansion of TYPE_DOMAIN. | |
36086 | * stor-layout.c (variable_size): Don't check for MINUS_EXPR. | |
36087 | Use skip_simple_arithmetic to find SAVE_EXPR. | |
36088 | (force_type_save_exprs, force_type_save_exprs_1): New functions. | |
36089 | * tree-inline.c (remap_type, case POINTER_TYPE, case REFERENCE_TYPE): | |
36090 | Properly chain multiple pointers. | |
36091 | (copy_tree_r): Copy a TYPE_DECL. | |
36092 | * tree.c (variably_modified_type_p): Add some missing tests and | |
36093 | make some other minor changes. | |
36094 | * tree.h (force_type_save_exprs): New declaration. | |
36095 | ||
36096 | 2004-04-12 Roger Sayle <roger@eyesopen.com> | |
36097 | ||
36098 | * simplify-rtx.c (simplify_binary_operation) <UDIV, DIV, UMOD, MOD>: | |
36099 | Remove fall throughs. Convert 0/x and 0%x into x&0 when x has | |
36100 | side-effects. Don't convert x/1.0 into x if we honor signaling NaNs. | |
36101 | Convert x/-1.0 into -x if we don't honor signaling NaNs. Convert | |
36102 | x/-1 into -x. Optimize x%1 into x&0 if x has side-effects. Optimize | |
36103 | x%-1 into 0 (or x&0 if x has side-effects). | |
36104 | ||
36105 | 2004-04-11 Aldy Hernandez <aldyh@redhat.com> | |
36106 | ||
36107 | * config/rs6000/rs6000.md: Document why a pattern is not | |
36108 | available. | |
36109 | ||
36110 | * config/rs6000/rs6000.c (rs6000_emit_cmove): Disable comparisons | |
36111 | of floats on the E500. | |
36112 | (branch_positive_comparison_operator): Do not allow NE even on the | |
36113 | E500. | |
36114 | ||
36115 | 2004-04-11 Aldy Hernandez <aldyh@redhat.com> | |
36116 | ||
36117 | * config/rs6000/rs6000.c (rs6000_assemble_integer): Change | |
36118 | in_text_unlikely_section to in_unlikely_text_section. | |
36119 | ||
36120 | 2004-04-11 Roger Sayle <roger@eyesopen.com> | |
36121 | ||
e8366202 | 36122 | * fold-const.c (fold_binary_op_with_conditional_arg): Tweak |
3eb54e5f ILT |
36123 | calling convention to allow a NULL_TREE to be returned. Factor |
36124 | sanity checks from callers, return NULL_TREE when appropriate. | |
36125 | (fold): Handle COMPOUND_EXPR operands of binary expressions | |
36126 | before COND_EXPR operands. Use reorder_operands_p(a,b) to check | |
36127 | whether a op (b,c) can be rewritten as (b, a op c). Simplify | |
36128 | calls to fold_binary_op_with_conditional_arg. | |
36129 | ||
36130 | 2004-04-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
36131 | ||
e8366202 | 36132 | * config/mips/iris5.h (current_section_flags): Add |
3eb54e5f ILT |
36133 | in_unlikely_executed_text and default case. |
36134 | ||
36135 | 2004-04-11 Andreas Tobler <a.tobler@schweiz.ch> | |
36136 | ||
36137 | * bb-reorder.c (fix_crossing_conditional_branches): Fix bootstrap | |
36138 | failure on solaris. Place ifdef HAVE_return around gen_ret call. | |
36139 | * cfgrtl.c (force_nonfallthru_and_redirect): Remove ifdef | |
36140 | HAVE_return and place it around the place where it is needed. | |
36141 | ||
36142 | 2004-04-11 Andrew Pinski <pinskia@physics.uc.edu> | |
36143 | ||
36144 | * varasm.c (text_section): Use TEXT_SECTION_ASM_OP and | |
36145 | ASM_OUTPUT_ALIGN instead of SECTION_FORMAT_STRING | |
36146 | and NORMAL_TEXT_SECTION_NAME. | |
36147 | (unlikely_text_section): Check targetm.have_named_sections | |
36148 | instead of TARGET_ASM_NAMED_SECTION and use TEXT_SECTION_ASM_OP | |
36149 | instead of SECTION_FORMAT_STRING. | |
36150 | * config/mips/iris5.h (current_section_name): Add | |
36151 | in_unlikely_executed_text case and move the abort into the switch. | |
36152 | * config/rs6000/sysv4.h (HOT_TEXT_SECTION_NAME): Remove. | |
36153 | (NORMAL_TEXT_SECTION_NAME): Remove. | |
36154 | (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Remove. | |
36155 | (SECTION_FORMAT_STRING): Remove. | |
36156 | * defaults.h (SECTION_FORMAT_STRING): Remove. | |
36157 | * tm.texi (NORMAL_TEXT_SECTION_NAME): Remove. | |
36158 | (SECTION_FORMAT_STRING): Remove. | |
36159 | ||
36160 | 2004-04-10 Joseph S. Myers <jsm@polyomino.org.uk> | |
36161 | ||
36162 | * c-typeck.c (common_type): Prefer long long to long when same | |
36163 | precision. | |
36164 | ||
36165 | 2004-04-09 Zack Weinberg <zack@codesourcery.com> | |
36166 | ||
36167 | PR 14887 | |
36168 | * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Look only at | |
36169 | mode argument. | |
36170 | * config/ia64/ia64.c (ia64_hpux_file_end): Check | |
36171 | TREE_SYMBOL_REFERENCED on DECL_ASSEMBLER_NAME, not DECL_NAME. | |
36172 | ||
36173 | 2004-04-09 Roger Sayle <roger@eyesopen.com> | |
36174 | ||
36175 | * simplify-rtx.c (mode_signbit_p): New function to check whether | |
36176 | an RTX is an immediate constant that represents the most significant | |
36177 | bit of a given machine mode. | |
36178 | (simplify_unary_operation) <NOT>: Optimize ~(X+C) as X ^ ~C, where | |
36179 | C is the sign bit. | |
36180 | (simplify_binary_operation) <PLUS>: Optimize (X^C1) + C2 as X^(C1^C2) | |
36181 | when C2 is the sign bit. | |
36182 | (simplify_binary_operation) <XOR>: Canonicalize X^C as X+C when C | |
36183 | is the sign bit. Optimize (X+C1) ^ C2 as X^(C1^C2) when C1 is the | |
36184 | sign bit. | |
36185 | ||
36186 | 2004-04-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
36187 | ||
36188 | * builtins.c (mathfn_built_in): Check TYPE_MAIN_VARIANT, not | |
36189 | TYPE_MODE. | |
36190 | ||
36191 | 2004-04-09 Andrew Pinski <pinskia@physics.uc.edu> | |
36192 | ||
36193 | * c-common.c (handle_noreturn_attribute): Use TYPE_READONLY instead | |
36194 | of TREE_READONLY for types. | |
36195 | ||
36196 | 2004-04-09 Caroline Tice <ctice@apple.com> | |
36197 | ||
e8366202 MS |
36198 | * basic-block.h (struct edge_def): Add new field, crossing_edge. |
36199 | (struct basic_block_def): Add new field, partition. | |
36200 | (UNPARTITIONED, HOT_PARTITION, COLD_PARTITION): New constant macro | |
3eb54e5f ILT |
36201 | definitions. |
36202 | (partition_hot_cold_basic_blocks): Add extern function | |
36203 | declaration. | |
e8366202 | 36204 | * bb-reorder.c (function.h, obstack.h, expr.h, regs.h): Add four new |
3eb54e5f ILT |
36205 | include statements. |
36206 | (N_ROUNDS): Increase the maximum number of rounds by 1. | |
36207 | (branch_threshold): Add array value for new round. | |
36208 | (exec_threshold): Add array value for new round. | |
36209 | (push_to_next_round_p): New function. | |
36210 | (add_unlikely_executed_notes): New function. | |
36211 | (find_rarely_executed_basic_blocks_and_crossing_edges): New function. | |
36212 | (mark_bb_for_unlikely_executed_section): New function. | |
36213 | (add_labels_and_missing_jumps): New function. | |
36214 | (add_reg_crossing_jump_notes): New function. | |
36215 | (fix_up_fall_thru_edges): New function. | |
36216 | (find_jump_block): New function. | |
36217 | (fix_crossing_conditional_branches): New function. | |
36218 | (fix_crossing_unconditional_branches): New function. | |
36219 | (fix_edges_for_rarely_executed_code): New function. | |
36220 | (partition_hot_cold_basic_blocks): New function. | |
e8366202 | 36221 | (find_traces): Add an extra round for partitioning hot/cold |
3eb54e5f ILT |
36222 | basic blocks. |
36223 | (find_traces_1_round): Add a parameter. Modify to push all cold blocks, | |
36224 | and only cold blocks, into the last (extra) round of collecting traces. | |
36225 | (better_edge_p): Add a parameter. Modify to favor non-crossing edges | |
36226 | over crossing edges. | |
e8366202 | 36227 | (bb_to_key): Add code to correctly identify cold blocks when |
3eb54e5f ILT |
36228 | doing partitioning. |
36229 | (connect_traces): Modify to connect all the non-cold traces first, then | |
36230 | go back and connect up all the cold traces. | |
e8366202 | 36231 | (reorder_basic_blocks): Add call to add_unlikely_executed_notes. |
3eb54e5f ILT |
36232 | * cfg.c (entry_exit_blocks): Add initialization for partition field in |
36233 | entry and exit blocks. | |
36234 | * cfgbuild.c (make_edges): Update current_function_has_computed_jump | |
36235 | if we are doing hot/cold partitioning. | |
36236 | * cfgcleanup.c (cfglayout.h): Add new include statement. | |
36237 | (try_simplify_condjump): Modify to not attempt on blocks with jumps | |
36238 | that cross section boundaries. | |
36239 | (try_forward_edges): Likewise. | |
36240 | (merge_blocks_move_predecessor_nojumps): Likewise. | |
36241 | (merge_blocks_move_successor_nojumps): Likewise. | |
36242 | (merge_blocks_move): Likewise. | |
36243 | (try_crossjump_to_edge): Modify to not attempt after we have done | |
36244 | the block partitioning. | |
36245 | (try_crossjump_bb): Modify to not attempt on blocks with jumps that | |
36246 | cross section boundaries. | |
36247 | (try_optimize_cfg): Likewise. | |
36248 | * cfghooks.c (tidy_fallthru_edges): Modify to not remove indirect | |
36249 | jumps that cross section boundaries. | |
36250 | * cfglayout.c (flags.h): Add new include statement. | |
e8366202 MS |
36251 | (update_unlikely_executed_notes): New function. |
36252 | (fixup_reorder_chain): Add code so when a new jumping basic block is | |
3eb54e5f ILT |
36253 | added, it's UNLIKELY_EXECUTED_CODE and REG_CROSSING_JUMP notes are |
36254 | updated appropriately. | |
e8366202 | 36255 | (duplicate_insn_chain): Add code to duplicate the new NOTE insn |
3eb54e5f | 36256 | introduced by this optimization. |
e8366202 | 36257 | * cfglayout.h (scan_ahead_for_unlikely_executed_note): Add new |
3eb54e5f | 36258 | extern function declaration. |
e8366202 | 36259 | * cfgrtl.c (can_delete_note_p): Add NOTE_INSN_UNLIKELY_EXECUTED_CODE to |
3eb54e5f | 36260 | list of notes that can be deleted. |
e8366202 MS |
36261 | (create_basic_block_structure): Add initialization for partition field. |
36262 | (rtl_can_merge_blocks): Modify to test blocks for jumps that cross | |
3eb54e5f | 36263 | section boundaries. |
e8366202 | 36264 | (try_redirect_by_replacing_jump): Modify to not attempt on jumps that |
3eb54e5f ILT |
36265 | cross section boundaries. |
36266 | (commit_one_edge_insertion): Add code so newly created basic block | |
36267 | ends up in correct (hot or cold) section. Modify to disallow | |
36268 | insertions before NOTE_INSN_UNLIKELY_EXECUTED_CODE notes. | |
e8366202 | 36269 | (rtl_verify_flow_info_1): Add code to verify that no fall_thru edge |
3eb54e5f ILT |
36270 | crosses section boundaries. |
36271 | (cfg_layout_can_merge_blocks_p): Modify to test blocks for jumps that | |
36272 | cross section boundaries. | |
36273 | (force_nonfallthru_and_redirect): Modify to make sure new basic block | |
36274 | ends up in correct section, with correct notes attached. | |
e8366202 | 36275 | * common.opt (freorder-blocks-and-partition): Add new flag for this |
3eb54e5f | 36276 | optimization. |
e8366202 | 36277 | * dbxout.c (dbx_function_end): Add code to make sure scope labels at |
3eb54e5f ILT |
36278 | the end of functions are written into the correct (hot or cold) |
36279 | section. | |
36280 | (dbx_source_file): Add code so writing debug file information | |
36281 | doesn't incorrectly change sections. | |
36282 | * defaults.h (NORMAL_TEXT_SECTION_NAME): New constant macro, for use | |
36283 | in partitioning hot/cold basic blocks into separate sections. | |
36284 | (SECTION_FORMAT_STRING): New constant macro, for linux/i386 hot/cold | |
36285 | section partitioning. | |
36286 | (HAS_LONG_COND_BRANCH): New constant macro, indicating whether or not | |
36287 | conditional branches can span all of memory. | |
36288 | (HAS_LONG_UNCOND_BRANCH): New constant macro, indicationg whether or not | |
36289 | unconditional branches can span all of memory. | |
e8366202 MS |
36290 | * final.c (scan_ahead_for_unlikely_executed_note): New function. |
36291 | (final_scan_insn): Add code to check for NOTE instruction indicating | |
3eb54e5f ILT |
36292 | whether basic block belongs in hot or cold section, and to make sure |
36293 | the current basic block is being written to the appropriate section. | |
36294 | Also added code to ensure that jump table basic blocks end up in the | |
36295 | correct section. | |
e8366202 MS |
36296 | * flags.h (flag_reorder_blocks_and_partition): New flag. |
36297 | * ifcvt.c (find_if_case_1): Modify to not attempt if conversion if | |
3eb54e5f ILT |
36298 | one of the branches has a jump that crosses between sections. |
36299 | (find_if_case_2): Likewise. | |
36300 | (ifcvt): Modify to not attempt to mark loop exit edges after | |
36301 | hot/cold partitioning has occurred. | |
36302 | * opts.c (decode_options): Code to handle new flag, | |
36303 | flag_reorder_blocks_and_partition; also to turn it off if | |
36304 | flag_exceptions is on. | |
36305 | (common_handle_option): Code to handle new flag, | |
36306 | flag_reorder_blocks_and_partition. | |
36307 | * output.h (unlikely_text_section): New extern function declaration. | |
36308 | (in_unlikely_text_section): New extern function declaration. | |
e8366202 | 36309 | * passes.c (rest_of_handle_stack_regs): Add |
3eb54e5f ILT |
36310 | flag_reorder_blocks_and_partition as an 'or' condition for calling |
36311 | reorder_basic_blocks. | |
e8366202 | 36312 | (rest_of_handle_reorder_blocks): Add flag_reorder_blocks_and_partition |
3eb54e5f | 36313 | as an 'or' condition for calling reorder_basic_blocks. |
e8366202 | 36314 | (rest_of_compilation): Add call to partition_hot_cold_basic_blocks. |
3eb54e5f ILT |
36315 | * print-rtl.c (print_rtx): Add code for handling new note, |
36316 | NOTE_INSN_UNLIKELY_EXECUTED_CODE | |
36317 | * rtl.c (NOTE_INSN_UNLIKELY_EXECUTED_CODE): New note insn (see below). | |
36318 | (REG_CROSSING_JUMP): New kind of reg_note, to mark jumps that | |
36319 | cross between section boundaries. | |
e8366202 | 36320 | * rtl.h (NOTE_INSN_UNLIKELY_EXECUTED_CODE): New note instruction, |
3eb54e5f ILT |
36321 | indicating the basic block containing it belongs in the cold section. |
36322 | (REG_CROSSING_JUMP): New type of reg_note, to mark jumps that cross | |
36323 | between hot and cold sections. | |
e8366202 | 36324 | * toplev.c (flag_reorder_blocks_and_partition): Add code to |
3eb54e5f ILT |
36325 | initialize this flag, and to tie it to the command-line option |
36326 | freorder-blocks-and-partition. | |
e8366202 MS |
36327 | * varasm.c (cfglayout.h): Add new include statement. |
36328 | (unlikely_section_label_printed): New global variable, used for | |
3eb54e5f | 36329 | determining when to output section name labels for cold sections. |
e8366202 MS |
36330 | (in_section): Add in_unlikely_executed_text to enum data structure. |
36331 | (text_section): Modify code to use SECTION_FORMAT_STRING and | |
3eb54e5f | 36332 | NORMAL_TEXT_SECTION_NAME macros. |
e8366202 MS |
36333 | (unlikely_text_section): New function. |
36334 | (in_unlikely_text_section): New function. | |
36335 | (function_section): Add code to make sure beginning of function is | |
3eb54e5f | 36336 | written into correct section (hot or cold). |
e8366202 | 36337 | (assemble_start_function): Add code to make sure stuff is written to |
3eb54e5f | 36338 | the correct section. |
e8366202 | 36339 | (assemble_zeros): Add in_unlikely_text_section as an 'or' condition |
3eb54e5f | 36340 | to an if statement that was checking 'in_text_section'. |
e8366202 | 36341 | (assemble_variable): Add 'in_unlikely_text_section' as an 'or' |
3eb54e5f | 36342 | condition to an if statement that was checking 'in_text_section'. |
e8366202 | 36343 | (default_section_type_flags_1): Add check: if in cold section |
3eb54e5f | 36344 | flags = SECTION_CODE. |
e8366202 | 36345 | * config/darwin.c (darwin_asm_named_section): Modify to use |
3eb54e5f ILT |
36346 | SECTION_FORMAT_STRING if we are partitioning hot/cold blocks. |
36347 | * config/i386/i386.h (HAS_LONG_COND_BRANCH): Defined this macro | |
36348 | specifically for the i386. | |
e8366202 | 36349 | (HAS_LONG_UNCOND_BRANCH): Defined this macro specifically for the i386. |
3eb54e5f ILT |
36350 | * config/rs6000/darwin.h (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Change |
36351 | text string to something more informative. | |
36352 | (NORMAL_TEXT_SECTION_NAME): Add new definition. | |
e8366202 MS |
36353 | (SECTION_FORMAT_STRING): Add new definition. |
36354 | * config/rs6000/rs6000.c (rs6000_assemble_integer): Add | |
3eb54e5f ILT |
36355 | '!in_unlikely_text_section' as an 'and' condition to an if statement |
36356 | that was already checking '!in_text_section'. | |
36357 | * config/rs6000/sysv4.h (HOT_TEXT_SECTION_NAME,NORMAL_TEXT_SECTION_NAME, | |
36358 | UNLIKELY_EXECUTED_TEXT_SECTION_NAME,SECTION_FORMAT_STRING): Make | |
36359 | sure these are properly defined for linux on ppc. | |
36360 | * doc/invoke.texi (freorder-blocks-and-partition): Add documentation | |
36361 | for this new flag. | |
e8366202 | 36362 | * doc/rtl.texi (REG_CROSSING_JUMP): Add documentation for new |
3eb54e5f ILT |
36363 | reg_note. |
36364 | * doc/tm.texi (NORMAL_TEXT_SECTION_NAME, SECTION_FORMAT_STRING, | |
36365 | HAS_LONG_COND_BRANCH, HAS_LONG_UNCOND_BRANCH): Add documentation for | |
36366 | these new macros. | |
36367 | ||
36368 | 2004-04-08 Roger Sayle <roger@eyesopen.com> | |
36369 | ||
36370 | * function.c (gen_mem_addressof): When changing the RTX from a REG | |
36371 | to a MEM, clear MEM_VOLATILE_P which was formerly REG_USERVAR_P. | |
36372 | ||
36373 | 2004-04-08 Roger Sayle <roger@eyesopen.com> | |
36374 | ||
36375 | PR target/14888 | |
36376 | * config/i386/i386.md (truncdfsf2_noop, truncxfsf2_noop, | |
36377 | truncxfdf2_noop): Provide dummy "fmov" implementations. | |
36378 | ||
36379 | 2004-04-08 Ian Lance Taylor <ian@wasabisystems.com> | |
36380 | ||
36381 | * gcc.c (default_compilers): Add missing initializers. | |
36382 | ||
36383 | * config/rs6000/host-darwin.c (darwin_rs6000_gt_pch_use_address): | |
36384 | Return 1 if file was successfully mapped. | |
36385 | ||
36386 | 2004-04-08 Geoffrey Keating <geoffk@apple.com> | |
36387 | ||
36388 | PR pch/13419 | |
36389 | PR pch/14137 | |
36390 | Radar #: 3315288 | |
36391 | * doc/invoke.texi (Precompiled Headers): Suggest -o | |
36392 | to put an output file in a particular place. Be more detailed | |
36393 | about which options affect PCH validity and which options | |
36394 | might not work. | |
36395 | * c-pch.c (pch_matching): New. | |
36396 | (MATCH_SIZE): New. | |
36397 | (struct c_pch_validity): New field 'match'. | |
36398 | (pch_init): Handle pch_matching. | |
36399 | (c_common_valid_pch): Check pch_matching. | |
36400 | ||
36401 | * explow.c: Fix typo defining default of PROMOTE_FUNCTION_MODE. | |
36402 | ||
36403 | 2004-04-08 Mark Mitchell <mark@codesourcery.com> | |
36404 | ||
36405 | * doc/invoke.texi (Precompiled Headers): Warn about known | |
36406 | problems. | |
36407 | ||
36408 | 2004-04-08 Danny Smith <dannysmith@users.sourceforge.net> | |
36409 | ||
36410 | PR c++/14808 | |
36411 | * defaults.h (TARGET_USE_LOCAL_THUNK_ALIAS_P): New macro. Default | |
36412 | to 1 if ASM_OUTPUT_DEF is defined. | |
36413 | * doc/tm.texi (TARGET_USE_LOCAL_THUNK_ALIAS_P): Document. | |
36414 | * config/i386/cygming.h (TARGET_USE_LOCAL_THUNK_ALIAS_P): Define. | |
36415 | Set to non-zero iff not a one_only decl. | |
36416 | ||
36417 | 2004-04-08 Paul Brook <paul@codesourcery.com> | |
36418 | ||
36419 | * arm.h (CLASS_LIKELY_SPILLED_P): Define. | |
36420 | ||
36421 | 2004-04-08 Paul Brook <paul@codesourcery.com> | |
36422 | ||
36423 | * explow.c (promote_mode): Use PROMOTE_FUNCTION_MODE instead of | |
36424 | PROMOTE_FOR_CALL_ONLY. | |
36425 | * config/arm/arm-protos.h (arm_function_value): Declare. | |
36426 | * config/arm/arm.h (TARGET_PROMOTE_FUNCTION_ARGS): Define. | |
36427 | (TARGET_PROMOTE_PROTOTYPES): Return false. | |
36428 | (arm_function_value): New function. | |
36429 | * config/arm/arm.h (PROMOTE_FUNCTION_MODE): Define. | |
36430 | (FUNCTION_VALUE): Call arm_function_value. | |
36431 | * config/cris/cris.h (PROMOTE_MODE): Rename ... | |
36432 | (PROMOTE_FUNCTION_MODE): ... to this. | |
36433 | (PROMOTE_FOR_CALL_ONLY): Remove. | |
36434 | * config/mmix/mmix.h: Likewise. | |
36435 | * config/s390/s390.h: Likewise. | |
36436 | * config/sparc/sparc.h: Likewise. | |
36437 | * config/sparc/sparc.c: Update comments about PROMOTE_MODE. | |
36438 | * doc/tm.texi (PROMOTE_FUNCTION_MODE): Document. | |
36439 | (TARGET_PROMOTE_FUNCTION_MODE, TARGET_PROMOTE_FUNCTION_RETURN): Update. | |
36440 | (PROMOTE_FOR_CALL_ONLY): Remove. | |
36441 | ||
36442 | 2004-04-08 Joel Sherrill <joel@oarcorp.com> | |
36443 | ||
36444 | PR ada/14538 | |
36445 | * ada/5rosinte.adb: Remove fake mprotect() body. | |
36446 | * ada/5rosinte.ads: Add SA_SIGINFO. | |
36447 | * ada/5rtpopsp.adb: Rewrite to use new interface. | |
36448 | * ada/init.c: Reorder so the simple single OS conditional __rtems__ | |
36449 | is tested before more complex ones which mix UNIX and embedded | |
36450 | systems in the conditional. | |
36451 | ||
36452 | 2004-04-08 Joel Sherrill <joel@oarcorp.com> | |
36453 | ||
36454 | PR ada/14665 | |
36455 | * ada/osint.adb (Find_Program_Name): Rework to properly handle | |
36456 | filenames which end in .exe or have versioning suffixes like VMS. | |
36457 | ||
36458 | 2004-04-08 Andrew Pinski <pinskia@physics.uc.edu> | |
36459 | ||
36460 | PR target/10129 | |
36461 | * config/darwin.c (darwin_encode_section_info): When the decl has | |
36462 | a DECL_INITIAL, it is only defined also when it is not a common. | |
36463 | ||
36464 | 2004-04-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
36465 | ||
36466 | * builtins.c (fold_builtin_isascii, fold_builtin_toascii): New. | |
36467 | (fold_builtin): Handle BUILT_IN_ISASCII and BUILT_IN_TOASCII. | |
36468 | ||
36469 | 2004-04-07 H.J. Lu <hongjiu.lu@intel.com> | |
36470 | ||
36471 | * config/ia64/ia64.c (ia64_encode_section_info): Don't prod | |
36472 | global register variables. | |
36473 | ||
36474 | 2004-04-07 Joseph S. Myers <jsm@polyomino.org.uk> | |
36475 | ||
36476 | * fixinc/inclhack.def (rpc_xdr_lvalue_cast_a, | |
36477 | rpc_xdr_lvalue_cast_b): New fixes. | |
36478 | * fixinc/fixincl.x: Regenerate. | |
36479 | * fixinc/tests/base/rpc/xdr.h: Add new tests. | |
36480 | ||
36481 | 2004-04-07 David Edelsohn <edelsohn@gnu.org> | |
36482 | ||
36483 | * config/rs6000/rs6000.c (processor_target_table): Add MASK_MFCRF | |
36484 | to power4 and power5 entries. | |
36485 | ||
36486 | 2004-04-06 Geoffrey Keating <geoffk@apple.com> | |
36487 | ||
36488 | * c-common.h (pending_lang_change): Mark for PCH. | |
36489 | ||
36490 | 2004-04-07 Caroline Tice <ctice@apple.com> | |
36491 | ||
36492 | * gcc.c (main): Move 'break' in main loops (on an error) | |
36493 | to wait until error processing has occurred. | |
36494 | ||
36495 | 2004-04-06 Nathanael Nerode <neroden@gcc.gnu.org> | |
36496 | ||
36497 | * config.gcc: Stop changing enable_threads midstream. | |
36498 | Replace uses of enable_threads_flag with enable_threads. | |
36499 | * configure.ac: Replace uses of enable_threads_flag with | |
36500 | enable_threads. Improve autoconf quotation in one place. | |
36501 | * configure: Regenerate. | |
36502 | ||
36503 | 2004-04-06 Uros Bizjak <uros@kss-loka.si> | |
36504 | ||
36505 | * builtins.c: Implement support for sincos function. | |
36506 | (expand_builtin_mathfn): Remove BUILT_IN_SIN{,F,L} and | |
36507 | BUILT_IN_COS{,F,L}. | |
36508 | (expand_builtin_mathfn_3): New function. | |
36509 | (expand_builtin): Expand BUILT_IN_SIN{,F,L} and | |
36510 | BUILT_IN_COS{,F,L} using expand_builtin_mathfn_3 if | |
36511 | flag_unsafe_math_optimization is set. | |
36512 | ||
36513 | * optabs.h (enum optab_index): Add new OTI_sincos. | |
36514 | (sincos_optab): Define corresponding macro. | |
36515 | ||
36516 | * optabs.c (init_optabs): Initialize sincos_optab. | |
36517 | (expand_twoval_unop): New function. | |
36518 | ||
36519 | * genopinit.c (optabs): Implement sincos_optab using sincos?f3 | |
36520 | patterns. | |
36521 | ||
36522 | * reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_SINCOS_COS | |
36523 | and UNSPEC_SINCOS_SIN. | |
36524 | ||
36525 | * config/i386/i386.md (sincosdf3, sincossf3, *sincosextendsfdf3, | |
36526 | sincosxf3): New patterns to implement sincos, sincosf and sincosl | |
36527 | built-ins as inline x87 intrinsics. Define splits for | |
36528 | sindf2, sinsf2, *sinextendsfdf2, sinxf2, cosdf2, | |
36529 | cossf2, *cosextendsfdf2 and cosxf2 patterns from corresponding | |
36530 | sincos patterns. | |
36531 | (sindf2, sinsf2, sinxf2): Rename to *sindf2, *sinsf2, *sinxf2. | |
36532 | (cosdf2, cossf2, cosxf2): Rename to *cosdf2, *cossf2, *cosxf2. | |
36533 | ||
36534 | (UNSPEC_SINCOS_SIN, UNSPEC_SINCOS_COS): New unspecs to represent | |
36535 | x87's fsincos insn. | |
36536 | ||
36537 | 2004-04-06 Devang Patel <dpatel@apple.com> | |
36538 | ||
36539 | PR 14467 | |
36540 | * config/darwin.h (LINK_COMMAND_SPEC): Use c++filt instead of c++filt3. | |
36541 | ||
36542 | 2004-04-06 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
36543 | ||
36544 | * doc/install.texi: Update HP-UX 11 installation procedure. | |
36545 | ||
36546 | 2004-04-06 Paul Brook <paul@codesourcery.com> | |
36547 | ||
36548 | * doc/sourcebuild.texi: Remove obsolete contraint on testcases. | |
36549 | ||
36550 | 2004-04-05 Kaz Kojima <kkojima@gcc.gnu.org> | |
36551 | ||
36552 | * config/sh/sh.c (prepare_move_operands): Use emit_call_insn | |
36553 | when the TLS address is generated by a function call. | |
36554 | * config/sh/sh.md (tls_global_dynamic): Use a call expression. | |
36555 | (tls_local_dynamic): Likewise. | |
36556 | ||
36557 | 2004-04-05 Andrew Pinski <pinskia@physics.uc.edu> | |
36558 | ||
36559 | * tree.c (reconstruct_complex_type): Use TYPE_READONLY | |
36560 | and TYPE_VOLATILE. | |
36561 | ||
36562 | 2004-04-05 Caroline Tice <ctice@apple.com> | |
36563 | ||
36564 | * gcc.c (combine_flag): New global variable, for new driver option. | |
36565 | (struct compiler): Add two new fields, to be used when | |
36566 | combining multiple input files in a single pass (IMA). | |
e8366202 | 36567 | (default_compilers): Add values for the new fields to all |
3eb54e5f ILT |
36568 | compiler entries. Modify the "@c" compiler entry for doing IMA |
36569 | properly with "-save-temps" and the "combine" flag. | |
e8366202 | 36570 | (option_map): Add new driver option, "--combine", to tell driver |
3eb54e5f ILT |
36571 | to pass multiple input files to compiler at one time. |
36572 | (have_o_argbuf_index): New global variable. | |
36573 | (store_arg): Modify to assign value to have_o_argbuf_index. | |
e8366202 | 36574 | (struct infile): Add three new fields, to help with IMA. |
3eb54e5f ILT |
36575 | (display_help): Add help for new "combine" option. |
36576 | (process_command): Remove local variable have_o; add code to check | |
36577 | for new "combine" option; remove assignment to combine_inputs. | |
e8366202 | 36578 | (do_spec_1): Modify to deal with IMA better. |
3eb54e5f ILT |
36579 | (main): Make variable 'lang_n_infiles' local to entire function |
36580 | rather than to a single block. Use flag combine_flag to | |
36581 | determine whether to do IMA or not; Modify loop initializing | |
36582 | infiles to deal properly with linker files. | |
36583 | Add code for doing preprocessing in presence of | |
36584 | IMA with "-save-temps" flag. Modify "main" loop to handle | |
36585 | multiple input files, in multiple languages, with or without | |
36586 | preprocessing, gracefully. | |
36587 | * toplev.c (set_src_pwd): Modify to not complain if attempting to | |
36588 | re-set it to same directory it's previously been set to (avoid | |
36589 | irritating, meaningless warning messages when doing IMA with | |
36590 | save-temps). | |
36591 | * doc/invoke.texi: Add "-combine" to list of Overall Options; | |
36592 | remove documentation about IMA that is no longer accurate; Add | |
36593 | documentation explaining what "-combine" does. | |
36594 | * ada/lang-specs.h: Add initialization values for new fields in | |
36595 | "struct compiler". | |
36596 | * cp/lang-specs.h: Likewise. | |
36597 | * f/lang-specs.h: Likewise. | |
36598 | * java/lang-specs.h: Likewise. | |
36599 | * objc/lang-specs.h: Likewise. | |
36600 | * treelang/lang-specs.h: Likewise. | |
36601 | ||
36602 | 2004-04-05 David Edelsohn | |
36603 | ||
36604 | * config/rs6000/rs6000.c (VTABLE_NAME_P): Add _ZTI to special | |
36605 | symbol handling. | |
36606 | ||
36607 | 2004-04-05 Jakub Jelinek <jakub@redhat.com> | |
36608 | John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
36609 | ||
36610 | PR optimization/13424 (hppa), bootstrap/14462, c/14828 | |
36611 | * pa.md: Use replace_equiv_address to retain the attributes of the | |
36612 | memory operands used in the split and peephole2 patterns for optimizing | |
36613 | the pre-reload movstrsi, movstrdi, clrstrsi and clrstrdi patterns. | |
36614 | ||
36615 | 2004-04-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
36616 | ||
36617 | * c-decl.c (build_compound_literal): Use TYPE_READONLY. | |
36618 | * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise. | |
36619 | * objc/objc-act.c (adorn_decl, gen_declspecs): Likewise. | |
36620 | * c-typeck.c (decl_constant_value): Don't access DECL_INITIAL of a | |
36621 | PARM_DECL. | |
36622 | * calls.c (flags_from_decl_or_type): Use TYPE_READONLY and do so only | |
36623 | for a type. | |
36624 | * print-tree.c (print_node): Properly handle side-effects, readonly, | |
36625 | and constant flags. | |
36626 | * tree.c (build1_stat, build_expr_wfl): Only look at TREE_SIDE_EFFECTS | |
36627 | and TREE_CONSTANT if not a type. | |
36628 | * tree.h (IS_NON_TYPE_CODE_CLASS): New macro. | |
36629 | (IS_EXPR_CODE_CLASS): Write 'E', not 'e'. | |
36630 | (NON_TYPE_CHECK): New macro. | |
36631 | (TREE_SIDE_EFFECT, TREE_READONLY, TREE_CONSTANT: Add check. | |
36632 | ||
36633 | 2004-04-05 Eric Botcazou <ebotcazou@libertysurf.fr> | |
36634 | ||
36635 | * config/sparc/sol2-bi.h (PREFERRED_DEBUGGING_TYPE): Set | |
36636 | to DWARF2_DEBUG unconditionally. | |
36637 | (ASM_DEBUG_SPEC): Set the default to --gdwarf2 unconditionally. | |
36638 | ||
36639 | 2004-04-04 Ian Lance Taylor <ian@wasabisystems.com> | |
36640 | Nathanael Nerode <neroden@gcc.gnu.org> | |
36641 | ||
36642 | PR target/14548 | |
36643 | * config.host: Set the shell variable host_can_use_collect2. | |
36644 | Set it to yes by default, and to no for alpha*-dec-*vms*, | |
36645 | i[34567]86-*-mingw32*, and powerpc-*-beos*. | |
36646 | * configure.ac: Set and substitute the shell variable collect2. | |
36647 | Give an error if use_collect2 is yes and host_can_use_collect2 is | |
36648 | no. | |
36649 | * Makefile.in (COLLECT2): Rename from USE_COLLECT2. Change all | |
36650 | uses. Initialize to @collect2@. | |
36651 | (STAGESTUFF): Remove $(USE_COLLECT2). | |
36652 | * config/alpha/x-vms (USE_COLLECT2): Don't set. | |
36653 | * config/i386/t-mingw32 (USE_COLLECT2): Likewise. | |
36654 | * config/rs6000/t-beos (USE_COLLECT2): Likewise. | |
36655 | * config/pa/t-pa64: Remove commented out USE_COLLECT2. | |
36656 | * configure: Regenerate. | |
36657 | ||
36658 | 2004-04-04 Roger Sayle <roger@eyesopen.com> | |
36659 | ||
36660 | * simplify-rtx.c (simplify_binary_operation): Constant fold | |
36661 | DIV, MOD, UDIV and UMOD using div_and_round_double. | |
36662 | ||
36663 | 2004-04-04 Mark Mitchell <mark@codesourcery.com> | |
36664 | ||
36665 | PR c++/14804 | |
36666 | * varasm.c (initializer_constant_valid_p): Allow NOP_EXPRs to | |
36667 | RECORD_TYPEs. | |
36668 | ||
36669 | 2004-04-04 Mark Mitchell <mark@codesourcery.com> | |
36670 | ||
36671 | * doc/invoke.texi (-mabi=o64): Create link to O64 ABI | |
36672 | documentation. | |
36673 | ||
36674 | 2004-04-04 Roger Sayle <roger@eyesopen.com> | |
36675 | ||
36676 | * cse.c (cse_insn): Correct usage of simplify_replace_rtx when | |
36677 | updating the REG_EQUAL note on an insn's libcall_insn. | |
36678 | ||
36679 | 2004-04-04 Roger Sayle <roger@eyesopen.com> | |
36680 | ||
36681 | * df.h: Tidy up whitespace in the definitions of the DF_ flags. | |
36682 | ||
36683 | 2004-04-03 Roger Sayle <roger@eyesopen.com> | |
36684 | ||
36685 | * fold-const.c (fold) <PLUS_EXPR>: Guard (-A)+B -> B-A transformation | |
36686 | with reorder_operands_p. | |
36687 | ||
36688 | 2004-04-03 Jan Hubicka <jh@suse.cz> | |
36689 | ||
36690 | * md.texi (vec_set, vec_extract, vec_init): Document. | |
36691 | ||
36692 | 2004-04-02 Gabor Loki <loki@inf.u-szeged.hu> | |
36693 | ||
a1d1988f MS |
36694 | * opts.c (decode_options): Do function inlining with very small |
36695 | max-inline-insns-* parameters when optimizing for size. | |
3eb54e5f ILT |
36696 | |
36697 | 2004-04-02 Vladimir Makarov <vmakarov@redhat.com> | |
36698 | ||
36699 | * config/i386/i386.h (TARGET_NOCONA): New macro. | |
36700 | (TARGET_CPU_CPP_BUILTINS): Add code for Nocona. | |
36701 | (processor_type): Add PROCESSOR_NOCONA. | |
36702 | ||
36703 | * config/i386/i386.md (cpu): Add nocona to the attribute values. | |
36704 | ||
36705 | * config/i386/i386.c (nocona_cost): New variable. | |
36706 | (m_NOCONA): New macro. | |
36707 | (x86_push_memory, x86_movx, x86_cmove, x86_deep_branch, | |
36708 | x86_branch_hints, x86_use_sahf, x86_single_stringop, | |
36709 | x86_sub_esp_4, x86_sub_esp_8, x86_add_esp_4, x86_add_esp_8, | |
36710 | x86_integer_DFmode_moves, x86_partial_reg_dependency, | |
36711 | x86_memory_mismatch_stall, x86_accumulate_outgoing_args, | |
36712 | x86_decompose_lea, x86_arch_always_fancy_math_387, | |
36713 | x86_sse_partial_reg_dependency, x86_sse_load0_by_pxor, | |
36714 | x86_ext_80387_constants, x86_four_jump_limit): | |
36715 | (override_options): Add nocona_cost to processor_target_table. | |
36716 | Set up PROCESSOR_NOCONA for Nocona entry in processor_alias_table. | |
36717 | (incdec_operand): Prevent inc/dec generation for Nocona too. | |
36718 | (ix86_issue_rate): Add PROCESSOR_NOCONA. | |
36719 | ||
36720 | 2004-04-01 Andrew Pinski <pinskia@physics.uc.edu> | |
36721 | ||
36722 | * rtlanal.c (find_reg_note): Manually | |
36723 | unswitch the loop. | |
36724 | ||
36725 | 2004-04-01 Mark Mitchell <mark@codesourcery.com> | |
36726 | ||
36727 | * genemit.c (gen_split): Change prototype of generated code. | |
36728 | * genrecog.c (write_action): Adjust prototype for and calls to | |
36729 | gen_split_*. | |
36730 | * gensupport.c (struct queue_elem): Add split field. | |
36731 | (queue_pattern): Return a value. Clear the split field. | |
36732 | (process_rtx): Maintain an association between an insn and the | |
36733 | split generated from it for a define_insn_and_split. | |
36734 | (process_one_cond_exec): Generate a new split for a | |
36735 | define_insn_and_split. | |
36736 | * config/arm/arm-protos.h (arm_split_constant): Add insn | |
36737 | parameter. | |
36738 | (emit_constant_insn): New function. | |
36739 | (arm_gen_constant): Use it. | |
36740 | * config/arm/arm.md: Adjust calls to arm_split_constant. | |
36741 | ||
36742 | 2004-04-02 Jan Hubicka <jh@suse.cz> | |
36743 | ||
36744 | * cgraph.c: Add overall comment. | |
36745 | (cgraph_inline_hash): New global variable. | |
36746 | (cgraph_create_node): Break out from ... | |
36747 | (cgraph_node): ... here. | |
36748 | (cgraph_edge): New function. | |
36749 | (cgraph_create_edge): New CALL_EXPR argument; some sanity checking. | |
36750 | (cgraph_remove_edge): Accept edge, intead of source and destination. | |
36751 | (cgraph_redirect_edge_callee): New. | |
36752 | (cgraph_remove_node): Update all new datastructures. | |
36753 | (cgraph_record_call, cgraph_remove_call): Kill. | |
36754 | (dump_cgraph_node): Break out from ... ; dump new datastructures. | |
36755 | (dump_cgraph): ... here. | |
36756 | (cgraph_function_possibly_inlined_p): Use new hashtable. | |
36757 | (cgraph_clone_edge, cgraph_clone_node): New. | |
36758 | * cgraph.h: Include hashtab.h | |
36759 | (struct cgraph_global_info): Kill cloned_times, inline_once, will_be_output | |
36760 | fields, add inlined_to pointer. | |
36761 | (cgraph_node): Add pointer to next_clone. | |
36762 | (cgraph_remove_edge, cgraph_create_edge): Update prototype. | |
36763 | (cgraph_remove_call, cgraph_record_call): Kill. | |
36764 | (cgraph_inline_hash): Declare. | |
36765 | (dump_cgraph_node, cgraph_edge, cg4raph_clone_edge, cgraph_clone_node, | |
36766 | cgraph_redirect_edge_callee): Declare. | |
36767 | (cgraph_create_edges, cgraph_inline_p): Update prorotype. | |
36768 | (cgraph_preserve_function_body_p, verify_cgraph, verify_cgraph_node, | |
36769 | cgraph_mark_inline_edge, cgraph_clone_inlined_nodes): Declare. | |
36770 | * cgraphunit.c: Add overall comment. | |
36771 | (cgraph_optimize_function): Kill. | |
36772 | (cgraph_assemble_pending_functions): Do not assemble inline clones. | |
36773 | (cgraph_finalize_function): Update call of cgraph_remove_node | |
36774 | (record_call_1): Record call sites. | |
36775 | (cgraph_create_edges): Accept node instead of decl argument. | |
36776 | (error_found): New static variable. | |
36777 | (verify_cgraph_node_1, verify_cgraph_node, verify_cgraph): New functions. | |
36778 | (cgraph_analyze_function): Update for new datastructures. | |
36779 | (cgraph_finalize_compilation_unit): Plug memory leak. | |
36780 | (cgraph_optimize_function): Kill. | |
36781 | (cgraph_expand_function): Do not use cgraph_optimize_function. | |
36782 | (INLINED_TIMES, SET_INLINED_TIMES, cgraph_inlined_into, | |
36783 | cgraph_inlined_callees): Kill. | |
36784 | (cgraph_remove_unreachable_nodes): Verify cgraph; update handling of | |
36785 | clones. | |
36786 | (estimate_growth): Simplify. | |
36787 | (cgraph_clone_inlined_nodes): New function. | |
36788 | (cgraph_mark_inline_edge): Re-implement. | |
36789 | (cgraph_mark_inline): Likewise. | |
36790 | (cgraph_check_inline_limits): Simplify. | |
36791 | (cgraph_recursive_inlining_p): New. | |
36792 | (update_callee_keys): Break out from ... | |
36793 | (cgraph_decide_inlining_of_small_functions): ... here; simplify. | |
36794 | (cgraph_decide_inlining, cgraph_decide_inlining_incrementally): | |
36795 | Likewise. | |
e8366202 | 36796 | (cgraph_expand_all_functions): Remove inline clones from the ordered |
3eb54e5f ILT |
36797 | list. |
36798 | (cgraph_preserve_function_body_p): New predicate. | |
36799 | (cgraph_optimize): Verify cgraph. | |
36800 | * function.h (struct function): Add fields saved_tree/saved_args. | |
36801 | * timevar.def (TV_CGRAPH_VERIFY): Use verifier. | |
36802 | * toplev.c (rest_of_compilation): Do not free cfun. | |
36803 | * tree-inline.c: Include function.h | |
36804 | (struct inline_data): Add saving_p field; replace decl/current_decl by | |
36805 | node/current_node. | |
36806 | (insert_decl_map): New function. | |
36807 | (copy_body_r): Handle saving; update cgraph datastructure. | |
36808 | (copy_body): Handle recursive inlining. | |
36809 | (initialize_inlined_parameters): Likewise. | |
36810 | (expand_call_inline): Propagate node attributes; update cgraph. | |
36811 | (optimize_inline_calls): Verify that datastructure still match. | |
36812 | (save_body): New function. | |
36813 | * tree-inline.h (save_body): New. | |
36814 | * tree-optimize.c (tree_rest_of_compilation): preserve function body; do inlining. | |
36815 | * langhooks-def.c (LANG_HOOKS_UPDATE_DECL_AFTER_SAVING): New. | |
36816 | * langhooks.c (lang_hooks): Add update_decl_after_saving. | |
36817 | ||
36818 | 2004-04-01 Serge Belyshev <1319@bot.ru> | |
36819 | ||
36820 | PR target/14702 | |
36821 | * config/i386/i386.md: fix source operand constraints in | |
36822 | mmx_pshufw, sse2_pshufd, sse2_pshuflw, sse2_pshufhw | |
36823 | ||
36824 | 2004-04-01 Waldek Hebisch <hebisch@math.uni.wroc.pl> | |
36825 | ||
36826 | * fold-const.c (folda): Preserve types of comparisons. | |
36827 | ||
36828 | 2004-04-01 Richard Henderson <rth@redhat.com> | |
36829 | ||
36830 | * toplev.c (backend_init): Move init_optimization_passes call ... | |
36831 | (lang_dependent_init): ... here. | |
36832 | ||
36833 | 2004-04-01 Alan Modra <amodra@bigpond.net.au> | |
36834 | Jakub Jelinek <jakub@redhat.com> | |
36835 | ||
36836 | * gcc.c (init_gcc_specs): If HAVE_LD_AS_NEEDED, link with | |
36837 | -lgcc --as-needed -lgcc_s --no-as-needed by default. | |
36838 | * configure.ac (HAVE_LD_AS_NEEDED): Check for ld --as-needed. | |
36839 | * configure: Rebuilt. | |
36840 | * config.in: Rebuilt. | |
36841 | * Makefile.in (stage1-start): Copy also libgcc_s*$(SHLIB_EXT). | |
36842 | (stage2-start, stage3-start, stage4-start): Likewise. | |
36843 | (stageprofile-start, stagefeedback-start): Likewise. | |
36844 | ||
36845 | 2004-04-01 Jakub Jelinek <jakub@redhat.com> | |
36846 | ||
36847 | * config/sparc/sparc.h (DITF_CONVERSION_LIBFUNCS): Define to 0. | |
36848 | * config/sparc/linux.h (DITF_CONVERSION_LIBFUNCS): Redefine to 1. | |
36849 | * config/sparc/linux64.h (DITF_CONVERSION_LIBFUNCS): Redefine to 1. | |
36850 | * config/sparc/sol2.h (DITF_CONVERSION_LIBFUNCS): Redefine to 1. | |
36851 | (SOLARIS_CONVERSION_LIBFUNCS): Rename to SUN_CONVERSION_LIBFUNCS. | |
36852 | * config/sparc/sparc.c (sparc_init_libfuncs): Initialize optabs | |
36853 | with _Q_qtoll, _Q_qtoull and _Q_lltoq if DITF_CONVERSION_LIBFUNCS. | |
36854 | * config.gcc (sparc-*-linux*): Revert 2004-03-23 change. | |
36855 | * config/sparc/t-linux64 (TARGET_LIBGCC2_CFLAGS): Likewise. | |
36856 | * config/sparc/t-linux: Removed. | |
36857 | ||
36858 | 2004-04-01 Jakub Jelinek <jakub@redhat.com> | |
36859 | ||
36860 | PR c++/14755 | |
36861 | * fold-const.c (fold) <EQ_EXPR>: Properly compute newconst in | |
36862 | "bitfld++ == const" to "++bitfld == const + incr" transformations. | |
36863 | ||
36864 | 2004-04-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
36865 | ||
36866 | * expr.c (get_inner_reference): Use DECL_UNSIGNED, not TREE_UNSIGNED. | |
36867 | * stor-layout.c (layout_decl): Likewise. | |
36868 | * tree.c (get_narrower): Likewise and also use BIT_FIELD_REF_UNSIGNED. | |
36869 | * fold-const.c (make_bit_field_ref): Use BIT_FIELD_REF_UNSIGNED. | |
36870 | * print-tree.c (print_node): Handle various used of unsigned_flag. | |
36871 | * tree.def (BIT_FIELD_REF): Update comment. | |
36872 | * tree.h (TREE_UNSIGNED): Deleted. | |
36873 | (DECL_UNSIGNED, BIT_FIELD_REF_UNSIGNED): New macros. | |
36874 | ||
36875 | 2004-03-31 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
36876 | ||
36877 | * builtins.c, c-aux-info.c, c-common.c, c-cppbuiltin.c, c-decl.c: | |
36878 | Change most occurrences of TREE_UNSIGNED to TYPE_UNSIGNED. | |
36879 | * c-format.c, c-opts.c, c-pretty-print.c, c-typeck.c: Likewise. | |
36880 | * calls.c, convert.c, dbxout.c, dojump.c, dwarf2out.c: Likewise. | |
36881 | * expmed.c, expr.c, fold-const.c, function.c, integrate.c: Likewise. | |
36882 | * optabs.c, sdbout.c, stmt.c, stor-layout.c, tree-dump.c: Likewise. | |
36883 | * tree.c, config/iq2000/iq2000.c, config/m32r/m32r.c: Likewise. | |
36884 | * config/mips/mips.c, config/rs6000/rs6000.c: Likewise. | |
36885 | * config/s390/s390.c, config/sparc/sparc.c, objc/objc-act.c: Likewise. | |
36886 | * stor-layout.c (layout_type, case COMPLEX_TYPE): Test for | |
36887 | REAL_TYPE, not INTEGER_TYPE. | |
36888 | (layout_type, case VECTOR_TYPE): Simplify code. | |
36889 | * tree.c (build_vector_type_for_mode): Remove dup unsigned setting. | |
36890 | * tree.h: Update comments. | |
36891 | (STRIP_NOPS): Use TYPE_UNSIGNED. | |
36892 | (TYPE_UNSIGNED): New macro. | |
36893 | (TYPE_TRAP_SIGNED): Remove now redundant check. | |
36894 | (SAVE_EXPR_NOPLACEHOLDER): Don't use TREE_UNSIGNED. | |
36895 | ||
36896 | 2004-03-31 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
36897 | ||
36898 | * function.c (put_var_into_stack): Properly set orig_reg for indirect. | |
36899 | ||
36900 | 2004-03-31 Andrew Pinski <pinskia@physics.uc.edu> | |
36901 | ||
36902 | * config/rs6000/t-darwin (LIB2FUNCS_STATIC_EXTRA): | |
36903 | Add darwin-fpsave.asm, darwin-vecsave.asm, | |
36904 | and darwin-world.asm. | |
36905 | (TARGET_LIBGCC2_CFLAGS): Add -Wa,-force_cpusubtype_ALL | |
36906 | as the asm files contain altivec instructions. | |
36907 | * config/rs6000/darwin-fpsave.asm: New file. | |
36908 | * config/rs6000/darwin-vecsave.asm: New file. | |
36909 | * config/rs6000/darwin-world.asm: New file. | |
36910 | ||
36911 | 2004-03-31 Zack Weinberg <zack@codesourcery.com> | |
36912 | ||
36913 | * gengtype-yacc.y (option, stringseq): Add missing | |
36914 | terminating semicolon. | |
36915 | ||
36916 | 2004-03-30 David Edelsohn <edelsohn@gnu.org> | |
36917 | ||
36918 | * config/rs6000/rs6000.md (tls_gd_32, tls_gd_64, | |
36919 | tls_ld_32, tls_ld_64, tls_dtprel_32, tls_dtprel_64, | |
36920 | tls_dtprel_ha_32, tls_dtprel_ha_64, | |
36921 | tls_dtprel_lo_32, tls_dtprel_lo_64, | |
36922 | tls_got_dtprel_64, tls_tprel_32, tls_tprel_64, | |
36923 | tls_tprel_ha_32, tls_tprel_ha_64, | |
36924 | tls_tprel_lo_32, tls_tprel_lo_64, | |
36925 | tls_got_tprel_32, tls_got_tprel_64, | |
36926 | tls_tls_32, tls_tls_64): Replace register_operand with | |
36927 | gpc_reg_operand. | |
36928 | ||
36929 | 2004-03-30 Mostafa Hagog <mustafa@il.ibm.com> | |
36930 | ||
36931 | * config/rs6000/rs6000.md (*ctrsi_internal1, *ctrsi_internal2, | |
36932 | *ctrdi_internal1, *ctrdi_internal2, *ctrsi_internal3, | |
36933 | *ctrsi_internal4, *ctrdi_internal3, *ctrdi_internal4, | |
36934 | *ctrsi_internal5, *ctrsi_internal6, *ctrdi_internal5, | |
36935 | *ctrdi_internal6): Replace register_operand with | |
36936 | nonimmediate_operand. | |
36937 | ||
36938 | 2004-03-29 Fariborz Jahanian <fjahanian@apple.com> | |
36939 | ||
36940 | * fold-const.c (fold): Reassociate multiply expression | |
36941 | with an adjacent non-multiply expression to use | |
36942 | architecture's multiply-add instruction. | |
36943 | ||
36944 | 2004-03-30 Zack Weinberg <zack@codesourcery.com> | |
36945 | ||
36946 | * gengtype.c (create_option): New function. | |
36947 | * gengtype.h: Prototype it. | |
36948 | * gengtype-yacc.y (stringseq): New rule. | |
36949 | (option): Use create_option. Add new bare ID production. Use | |
36950 | stringseq, not STRING directly. | |
36951 | ||
36952 | * alias.c, bitmap.c, c-decl.c, cgraph.h, cpplib.h, cselib.h | |
36953 | * dwarf2out.c, emit-rtl.c, function.h, lists.c, tree.h | |
36954 | * varray.h, config/alpha/alpha.c: | |
36955 | Use new shorter form of GTY markers. | |
36956 | ||
36957 | * doc/gty.texi: Rewrite. | |
36958 | ||
36959 | 2004-03-30 Andrew Pinski <pinskia@physics.uc.edu> | |
36960 | ||
36961 | * config/darwin.c (machopic_function_base_name): | |
36962 | Remove current_name and getting the name of the | |
36963 | current function. | |
36964 | ||
36965 | 2004-03-30 Nick Clifton <nickc@redhat.com> | |
36966 | ||
36967 | * config/arm/arm.md (thumb_jump): Reduce the backward branch | |
36968 | range, and increase the forward branch range, to allow for | |
36969 | the fact that the PC will be off by 4. | |
36970 | ||
36971 | 2004-03-30 Alan Modra <amodra@bigpond.net.au> | |
36972 | ||
36973 | * .cvsignore: Add GPATH, GRTAGS, GSYMS and GTAGS (GNU GLOBAL) | |
36974 | ||
36975 | 2004-03-30 Hartmut Penner <hpenner@de.ibm.com> | |
36976 | ||
36977 | * config/rs6000/rs6000.c (output_vec_const_move): | |
36978 | Find all cases of EASY_VECTOR_15_ADD_SELF. | |
36979 | (easy_vector_constant_add_self): Accept | |
36980 | all vector constant loadable by vsplt* and vadd*. | |
36981 | (easy_vector_same): Use easy_vector_splat_const. | |
36982 | (easy_vector_const): Use easy_vector_splat_const. | |
36983 | (easy_vector_splat_const): New function. | |
36984 | (gen_easy_vector_constant_add_self): New function. | |
36985 | ||
36986 | * config/rs6000/rs6000-protos.c (gen_easy_vector_constant_add_self): | |
36987 | New prototype. | |
36988 | ||
36989 | * config/rs6000/altivec.md (movv4si splitter): Change to | |
36990 | emit move insn with halfed vector constant. | |
36991 | (*movv8hi splitter): Likewise. | |
36992 | (*movv16qi splitter): Likewise. | |
36993 | ||
36994 | 2004-03-30 Hartmut Penner <hpenner@de.ibm.com> | |
36995 | ||
36996 | PR 11591 | |
36997 | * config/rs6000/rs6000.c (rs6000_legitimate_address): | |
36998 | Allow any offset to argument pointer in no-strict case. | |
36999 | ||
37000 | 2004-03-30 Jan Hubicka <jh@suse.cz> | |
37001 | ||
37002 | * toplev.c (backend_init): Add missing call to inint_optimization_passes. | |
37003 | * passes.c (init_optimization_passes, finish_optimization_passes): Output cgraph | |
37004 | dump file in non-unit-at-a-time mode. | |
37005 | ||
37006 | 2004-03-29 Hans-Peter Nilsson <hp@axis.com> | |
37007 | ||
37008 | * config/cris/cris.h: Correct #ifdef to test for | |
37009 | HAVE_AS_NO_MUL_BUG_ABORT_OPTION, not | |
37010 | HAVE_AS_MUL_BUG_ABORT_OPTION. | |
37011 | ||
37012 | 2004-03-29 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
37013 | ||
37014 | * function.c (put_var_into_stack): If old RTL was ADDRESSOF, update | |
37015 | the address inside the old RTL. | |
37016 | ||
37017 | 2004-03-28 Zack Weinberg <zack@codesourcery.com> | |
37018 | ||
37019 | * c-decl.c: Verify that C_SIZEOF_STRUCT_LANG_IDENTIFIER is correct. | |
37020 | (struct c_binding, struct c_scope): Add chain_next | |
37021 | attributes to GTY markers. | |
37022 | (struct lang_identifier, struct lang_tree_node): Define | |
37023 | here... | |
37024 | * c-tree.h: ... not here. No longer need to declare struct | |
37025 | c_binding either. Do define C_SIZEOF_STRUCT_LANG_IDENTIFIER. | |
37026 | * c-lang.c, objc/objc-lang.c: Set LANG_HOOKS_IDENTIFIER_SIZE | |
37027 | to C_SIZEOF_STRUCT_LANG_IDENTIFIER. | |
37028 | ||
37029 | PR 14734, 11944 | |
37030 | * c-decl.c (get_parm_info): If error_mark_node is encountered | |
37031 | in the bindings chain, unbind and discard it; don't abort. | |
37032 | ||
37033 | 2004-03-28 Olga Golovonevsky <olga@il.ibm.com> | |
37034 | Dorit Naishlos <dorit@il.ibm.com> | |
37035 | ||
37036 | * config/rs6000/altivec.md: (andvv16qi3, andv8hi3, one_cmplv16qi2, | |
37037 | one_cmplv8hi2, one_cmplv4si2, iorv16qi3, iorv8hi3,): New modelling. | |
37038 | ||
37039 | 2004-03-28 Stephane Carrez <stcarrez@nerim.fr> | |
37040 | ||
37041 | * config/m68hc11/m68hc11-protos.h (m68hc11_page0_symbol_p): Declare. | |
37042 | ||
37043 | * config/m68hc11/m68hc11.c (m68hc11_handle_page0_attribute): New. | |
37044 | (m68hc11_attribute_table): New attribute "page0" to mark a global | |
37045 | variable as being allocated from within page0 section. | |
37046 | (m68hc11_encode_label): New function. | |
37047 | (m68hc11_strip_name_encoding): New function. | |
37048 | (m68hc11_page0_symbol_p): New function. | |
37049 | (m68hc11_indirect_p): Accept global variables marked in page0. | |
37050 | (m68hc11_encode_section_info): Lookup "page0" attribute. | |
37051 | ||
37052 | * config/m68hc11/m68hc11.h (EXTRA_CONSTRAINT): 'R' constraint also | |
37053 | represents access to page0 variables. | |
37054 | ||
37055 | * config/m68hc11/m68hc11.md ("*logicalsi3_zexthi"): Use gen_rtx_REG. | |
37056 | ("*logicalsi3_silshl16_zext"): Likewise. | |
37057 | ("*ashldi3_const32"): Likewise. | |
37058 | (peephole2 ashift): Likewise. | |
37059 | ||
37060 | 2004-03-28 Joseph S. Myers <jsm@polyomino.org.uk> | |
37061 | ||
37062 | * c-tree.h (C_DECL_REGISTER): New. | |
37063 | * c-aux-info.c (gen_decl), c-decl.c (objc_mark_locals_volatile, | |
37064 | finish_decl, grokdeclarator, get_parm_info), c-typeck.c | |
37065 | (build_array_ref, c_mark_addressable): Set and use it. | |
37066 | * c-decl.c (grokdeclarator), c-typeck.c (c_mark_addressable): | |
37067 | Allow structures with volatile fields to be declared register. | |
37068 | Don't check TREE_ADDRESSABLE before warning about taking address | |
37069 | of register. | |
37070 | * c-decl.c (finish_decl): Don't allow structures with volatile | |
37071 | fields to be placed in named register. | |
37072 | * doc/trouble.texi: Remove reference to structures with volatile | |
37073 | fields in registers. | |
37074 | ||
37075 | 2004-03-27 Ulrich Weigand <uweigand@de.ibm.com> | |
37076 | ||
37077 | * function.c (thread_prologue_and_epilogue): Move | |
37078 | NOTE_INSN_FUNCTION_END and NOTE_INSN_FUNCTION_BEG notes | |
37079 | before the epilogue. | |
37080 | ||
37081 | 2004-03-27 Ulrich Weigand <uweigand@de.ibm.com> | |
37082 | ||
37083 | * expr.c (store_constructor): Use gen_int_mode to correctly | |
37084 | sign-extend CONST_INT value. | |
37085 | ||
37086 | 2004-03-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
37087 | ||
37088 | * builtin-types.def (BT_WINT, BT_FN_INT_WINT, BT_FN_WINT_WINT): New. | |
37089 | * builtins.def (DEF_C94_BUILTIN): New. Add wctype builtins. | |
37090 | * doc/extend.texi: Likewise. | |
37091 | ||
37092 | 2004-03-26 Diego Novillo <dnovillo@redhat.com> | |
37093 | ||
37094 | * c-typeck.c (comptypes): Replace calls to TYPE_DOMAIN | |
37095 | with TYPE_ORIG_SIZE_TYPE. | |
37096 | ||
37097 | 2004-03-25 Aldy Hernandez <aldyh@redhat.com> | |
37098 | ||
37099 | PR 14219 | |
37100 | * c-typeck.c (build_binary_op): Do not allow comparisons of | |
37101 | vectors. | |
37102 | ||
37103 | 2004-03-26 James A. Morrison <ja2morri@uwaterloo.ca> | |
37104 | ||
37105 | * config.gcc: Remove sparc-tti-*. | |
37106 | * config/sparc/pbd.h: Delete. | |
37107 | ||
37108 | * config/sparc/sol2.h: Remove note about Sun OS 4.x. | |
37109 | * config/sparc/aout.h: Likewise. | |
37110 | ||
37111 | * config/sparc/sparc.h: Remove if 0'd code. | |
37112 | * config/sparc/sparc.md (call): Remove if 0'd code. | |
37113 | (call_value): Likewise. | |
37114 | (nonlocal_goto): Likewise. | |
37115 | (unimp_insn): Delete. | |
37116 | ||
37117 | 2004-03-25 Roger Sayle <roger@eyesopen.com> | |
37118 | ||
37119 | * fold-const.c (tree_expr_nonnegative_p): Handle BIT_XOR_EXPR like | |
37120 | BIT_IOR_EXPR; A^B is nonnegative when A and B are nonnegative. | |
37121 | ||
37122 | 2004-03-25 Richard Henderson <rth@redhat.com> | |
37123 | ||
37124 | PR 11527 | |
37125 | * c-typeck.c (pop_init_level): Emit pending init elements earlier | |
37126 | rather than later. | |
37127 | ||
37128 | 2004-03-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
37129 | ||
37130 | * builtins.c (fold_builtin): Fix error in last change. | |
37131 | ||
37132 | 2004-03-25 Richard Sandiford <rsandifo@redhat.com> | |
37133 | ||
37134 | * config/mips/mips.h: Formatting fix. | |
37135 | ||
37136 | 2004-03-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
37137 | ||
37138 | * builtins.def: Add ctype builtins. | |
37139 | * doc/extend.texi: Likewise. | |
37140 | ||
37141 | 2004-03-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
37142 | ||
37143 | * builtins.c (fold_builtin): Add new builtin optimizations for | |
37144 | sqrt and/or cbrt. | |
37145 | * fold-const.c (fold): Likewise. | |
37146 | ||
37147 | 2004-03-25 David Edelsohn <edelsohn@gnu.org> | |
37148 | ||
37149 | * config/rs6000/rs6000.c (rs6000_always_hint): New variable. | |
37150 | (rs6000_sched_groups): New variable. | |
37151 | (processor_target_table): Add power5. | |
37152 | (rs6000_override_options): Set rs6000_sched_insert_nops, | |
37153 | rs6000_sched_costly_dep and rs6000_sched_restricted_insns_priority | |
37154 | from rs6000_sched_groups. | |
37155 | (output_cbranch): Use rs6000_always_hint. | |
37156 | (rs6000_variable_issue): Use rs6000_sched_groups. | |
37157 | (rs6000_adjust_cost): Add CPU_POWER5. | |
37158 | (is_microcoded_insn): Use rs6000_sched_groups. | |
37159 | (is_dispatch_slot_restricted): Use rs6000_sched_groups. | |
37160 | Return 2 for POWER5 cracked instructions. | |
37161 | (is_cracked_insn): Use rs6000_sched_groups. | |
37162 | (is_branch_slot_insn): Use rs6000_sched_groups. | |
37163 | (rs6000_issue_rate): Add CPU_POWER5. | |
37164 | (rs6000_sched_finish): Use rs6000_sched_groups. | |
37165 | (rs6000_rtx_costs): Add PROCESSOR_POWER5. | |
37166 | * config/rs6000/rs6000.h (processor_type): Add PROCESSOR_POWER5. | |
37167 | (DEFAULT_SCHED_COSTLY_DEP): Delete. | |
37168 | (DEFAULT_RESTRICTED_INSNS_PRIORITY): Delete. | |
37169 | (DEFAULT_SCHED_FINISH_NOP_INSERTION_SCHEME): Delete. | |
37170 | * config/rs6000/rs6000.md (define_attr "cpu"): Add power5. | |
37171 | * config/rs6000/power5.md: New file. | |
37172 | * doc/invoke.texi: Add power5 option. | |
37173 | ||
37174 | 2004-03-25 Kazu Hirata <kazu@cs.umass.edu> | |
37175 | ||
37176 | * cfgrtl.c, dbxout.c, tree.def, config/darwin.h, | |
37177 | config/arm/arm.c, objc/objc-act.c: Fix comment typos. | |
37178 | * doc/invoke.texi: Fix a typo. | |
37179 | ||
37180 | 2004-03-25 Kazu Hirata <kazu@cs.umass.edu> | |
37181 | ||
37182 | PR optimization/9707. | |
37183 | * stmt.c (emit_case_nodes): Emit equality comparisons instead | |
37184 | of recursing if both children are single-valued cases with no | |
37185 | children. | |
37186 | ||
37187 | 2004-03-25 Paul Brook <paul@codesourcery.com> | |
37188 | ||
37189 | * config/arm/arm.c (vfp_print_multi): Remove. | |
37190 | (arm_output_fldmx): New function. | |
37191 | (vfp_emit_fstmx): Return block size, not insn. Add ARM10 VFPr1 bugfix. | |
37192 | (arm_expand_prologue): Update to match. | |
37193 | (arm_get_vfp_saved_size): New Function. | |
37194 | (arm_get_frame_offsets): Use it. | |
37195 | (arm_output_epilogue): Use new functions. | |
37196 | ||
37197 | 2004-03-24 Richard Henderson <rth@redhat.com> | |
37198 | ||
37199 | * alias.c (alias_invariant, alias_invariant_size): Mark GTY. | |
37200 | (reg_known_value, reg_known_value_size): Likewise; make static. | |
37201 | (reg_known_equiv_p): Make static. | |
37202 | (clear_reg_alias_info): Update for new indexing. | |
37203 | (get_reg_known_value, set_reg_known_value): New. | |
37204 | (get_reg_known_equiv_p, set_reg_known_equiv_p): New. | |
37205 | (canon_rtx): Use them. | |
37206 | (init_alias_analysis): Likewise. Allocate reg_known_value with gc. | |
37207 | Don't play queer offsetting games with reg_known_value and | |
37208 | reg_known_equiv_p. | |
37209 | (end_alias_analysis): Free reg_known_value with gc. | |
37210 | * rtl.h (get_reg_known_value, get_reg_known_equiv_p): Declare. | |
37211 | * sched-deps.c (reg_known_equiv_p, reg_known_value): Remove. | |
37212 | (deps_may_trap_p, sched_analyze_1, sched_analyze_2): Use the new | |
37213 | functions instead. | |
37214 | ||
37215 | 2004-03-24 Kazu Hirata <kazu@cs.umass.edu> | |
37216 | ||
37217 | * dwarf2asm.c, loop.h, pretty-print.c, pretty-print.h, | |
37218 | config/i386/mmintrin.h: Update copyright. | |
37219 | ||
37220 | 2004-03-24 Nathanael Nerode <neroden@gcc.gnu.org> | |
37221 | ||
37222 | * configure.ac: Add --enable-werror-always (for top level bootstrap | |
37223 | support). | |
37224 | * configure: Regenerate. | |
37225 | ||
37226 | 2004-03-24 Ziemowit Laski <zlaski@apple.com> | |
37227 | ||
37228 | * objc/objc-act.c (objc_comptypes): Treat comparisons | |
37229 | between 'Class' and '<class> *' as explicitly invalid. | |
37230 | ||
37231 | 2004-03-24 David Edelsohn <edelsohn@gnu.org> | |
37232 | ||
37233 | * doc/invoke.texi (-frename-registers): Add enabled at -O3. | |
37234 | (-fprofile-values): Add enabled with profile-{generate,use}. | |
37235 | (-fvpt): Same. | |
37236 | (-ftracer): Add enabled with profile-use. | |
37237 | (-funit-at-a-time): Add enabled at -O2,-O3. | |
37238 | (-funroll-loops): Add enabled with profile-use. | |
37239 | (-funswitch-loops): Add enabled with profile-use. Remove duplicates. | |
37240 | (max-gcse-passes): Mention default. | |
37241 | (max-cse-path-length): Mention default. | |
37242 | ||
37243 | 2004-03-24 Nathanael Nerode <neroden@gcc.gnu.org> | |
37244 | ||
37245 | * Makefile.in (STRICT2_WARN): Reorder. | |
37246 | * configure.ac: Check for -Wold-style-definition, and use it | |
37247 | in strict1_warn if it's available. | |
37248 | * configure: Regnerate. | |
37249 | ||
37250 | 2004-03-24 Paul Brook <paul@nowt.org> | |
37251 | ||
37252 | * config.gcc <arm>: Add --with-abi= | |
37253 | * config/arm/arm-protos.h (arm_get_frame_size, thumb_get_frame_size, | |
37254 | thumb_far_jump_used): Remove prototypes. | |
37255 | (arm_needs_doubleword_align): Add prototype. | |
37256 | (thumb_compute_initial_elimination_offset): Ditto. | |
37257 | * config/arm/arm.c (arm_get_frame_offsets): New function. | |
37258 | (use_return_insn, output_return_instruction, arm_output_epilogue, | |
37259 | arm_output_function_epilogue, arm_compute_initial_elimination_offset, | |
37260 | arm_expand_prologue, thumb_expand_epilogue): Use it. | |
37261 | (arm_abi, target_abi_name, all_arm_abis): New variables. | |
37262 | (arm_override_options): Set them. Set structure padding for AAPCS. | |
37263 | (arm_return_in_memory): Update ABI check. | |
37264 | (arm_init_cumulative_args): Initialize can_split. | |
37265 | (arm_needs_doubleword_align): New function. | |
37266 | (arm_function_arg): Don't split args after pushing to stack. Handle | |
37267 | doubleword/even reg alignment. | |
37268 | (arm_va_arg): Handle all doubleword aligned args. | |
37269 | (add_minpoolforward ref, dump_minpool, push_minpool_fix): Align based | |
37270 | on ABI, not CPU. | |
37271 | (arm_compute_save_reg0_reg12_mask): Fix comment. | |
37272 | (thumb_get_frame_size, thumb_get_frame_size): Remove. | |
37273 | (thumb_jump_far_used_p): Remove superfluous argument. Return save | |
37274 | value for alignment. | |
37275 | (thumb_unexpanded_epilogue, thumb_output_function_prologue): Change | |
37276 | to match. | |
37277 | (thumb_compute_initial_elimination_offset): New function. | |
37278 | (thumb_expand_prologue): Use arm_get_frame_offsets. Remove | |
37279 | unneccessary rounding. | |
37280 | * config/arm/arm.h (target_abi_name): Declare. | |
37281 | (ARM_DOUBLEWORD_ALIGN, DOUBLEWORD_ALIGNMENT, TARGET_IWMMXT_ABI, | |
37282 | arm_abi_type, ARM_DEFAULT_ABI): Define. | |
37283 | (ARM_FLAG_ATPCS): Remove. | |
37284 | (TARGET_OPTIONS, OPTION_DEFAULT_SPECS): Add -mabi=. | |
37285 | (BIGGEST_ALIGNMENT, PREFERRED_STACK_BOUNDARY, STACK_BOUNDARY): Use it. | |
37286 | (ADJUST_FIELD_ALIGN, DATA_ALIGNMENT, LOCAL_ALIGNMENT, | |
37287 | TYPE_NEEDS_IWMMXT_ALIGNMENT): Remove. | |
37288 | (LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P, FUNCTION_ARG_REGNO_P): | |
37289 | Contitionalize on ABI, not CPU. | |
37290 | (struct arm_stack_offsets): Define. | |
37291 | (struct machine_function): Add stack_offsets. Remove frame_size. | |
37292 | (FUNCTION_ARG_PARTIAL_NREGS): Don't split if previous args have been | |
37293 | pushed. | |
37294 | (FUNCTION_ARG_ADVANCE, FUNCTION_ARG_BOUNDARY): Handle general | |
37295 | doubleword alignment. | |
37296 | (THUMB_INITIAL_ELIMINATION_OFFSET, | |
37297 | ARM_INITIAL_ELIMINATION_OFFSET): Remove. | |
37298 | (INITIAL_ELIMINATION_OFFSET): Call functions directly. | |
37299 | * config/arm/arm.md (align_8): Enable for all targets. | |
37300 | * config/arm/netbsd-elf.h (TARGET_DEFAULT): Remove TARGET_ATPCS. | |
37301 | (ARM_DEFAULT_ABI): Define. | |
37302 | * doc/invoke.texi <ARM>: Document -mabi=. Update documentation for | |
37303 | -mstructure-size-boundary. | |
37304 | ||
37305 | 2004-03-24 Nathanael Nerode <neroden@gcc.gnu.org> | |
37306 | ||
37307 | * configure.ac: Check for -Wno-variadic-macros; don't use | |
37308 | -pedantic (in stage 1 or a simple 'make all') unless it's available, | |
37309 | and if it's available, use it. Also, clean up check for | |
37310 | -Wno-long-long. | |
37311 | * configure: Regenerate. | |
37312 | ||
37313 | 2004-03-24 Richard Sandiford <rsandifo@redhat.com> | |
37314 | ||
37315 | * config.gcc (mips64vr-*-elf*, mips64vrel-*-elf*): Remove tm_defines. | |
37316 | * config/mips/vr.h (DEFAULT_VR_ARCH): New macro, defined to vr4130. | |
37317 | (MULTILIB_DEFAULTS): Use it. | |
37318 | (MIPS_CPU_STRING_DEFAULT): Remove. | |
37319 | (MIPS_ABI_DEFAULT, MIPS_MARCH_CONTROLS_SOFT_FLOAT): Define. | |
37320 | (DRIVER_SELF_SPECS): Make -mfix-vr4122-bugs imply -march=vr4120. Make | |
37321 | EABI64 -mlong32 the default ABI. Enforce the default architecture. | |
37322 | * config/mips/t-vr (MULTILIB_OPTIONS): Add mfix-vr4122-bugs, | |
37323 | march=vr4130, march=vr4300, march=vr5000 and march=vr5500. | |
37324 | (MULTILIB_MATCHES): Use -mfix-vr4122-bugs multilibs for -march=vr4120. | |
37325 | (MULTILIB_EXCEPTIONS): Change choice of multilibs. Update comments | |
37326 | accordingly. | |
37327 | ||
37328 | 2004-03-24 DJ Delorie <dj@redhat.com> | |
37329 | Richard Sandiford <rsandifo@redhat.com> | |
37330 | ||
37331 | * config/mips/mips.h (MASK_FIX_VR4122, TARGET_FIX_VR4122): New macros. | |
37332 | (TARGET_SWITCHES): Add -mfix-vr4122-bugs and -mno-fix-vr4122-bugs. | |
37333 | (ASM_SPEC): Pass down -mfix-vr4122-bugs. | |
37334 | * config/mips/mips.c (mips_avoid_hazards): Don't emit whole functions | |
37335 | in .set noreorder and .set nomacro if TARGET_FIX_VR4122. | |
37336 | (mips_init_libfuncs): Use special functions for divsi3 and modsi3 | |
37337 | if TARGET_FIX_VR4122. | |
37338 | * config/mips/mips.md (define_attr length): Account for nops inserted | |
37339 | after macc and dmult when using -mfix-vr4122-bugs. | |
37340 | (umuldi3_highpart, divmodsi4, divmoddi4): Disable if TARGET_FIX_VR4122. | |
37341 | * config/mips/t-vr (LIB2FUNCS_STATIC_EXTRA): Define instead of | |
37342 | LIB2FUNCS_EXTRA. Add config/mips/vr4122-div.S. | |
37343 | * config/mips/vr4122-div.S: New file. | |
37344 | * doc/invoke.texi: Document -mfix-vr4122-bugs. | |
37345 | ||
37346 | 2004-03-24 Richard Sandiford <rsandifo@redhat.com> | |
37347 | ||
37348 | * config/mips/mips.h (PROCESSOR_R4130): New processor_type. | |
37349 | (TARGET_MIPS4130): New macro. | |
37350 | (ISA_HAS_MACC): Return true if TARGET_MIPS4130 && !TARGET_MIPS16. | |
37351 | * config/mips/mips.c (mips_cpu_info_table): Add a vr4130 entry. | |
37352 | (override_options): Extend MIPS_MARCH_CONTROLS_SOFT_FLOAT to deal | |
37353 | with PROCESSOR_R4130. | |
37354 | * config/mips/mips.md (define_attr cpu): Add r4130. | |
37355 | * doc/invoke.texi: Document vr4130 as a supported MIPS architecture. | |
37356 | ||
37357 | 2004-03-24 Maciej W. Rozycki <macro@ds2.pg.gda.pl> | |
37358 | Richard Sandiford <rsandifo@redhat.com> | |
37359 | ||
37360 | * doc/invoke.texi: Apply missed hunk from 2004-03-03 change. | |
37361 | ||
37362 | 2004-03-24 Alexandre Oliva <aoliva@redhat.com> | |
37363 | ||
37364 | PR preprocessor/14438 | |
37365 | * cpplib.c (do_pragma): Remove line_change call after pragma | |
37366 | handler. | |
37367 | ||
37368 | 2004-03-23 Ian Lance Taylor <ian@wasabisystems.com> | |
37369 | ||
37370 | * doc/extend.texi (ARM Built-in Functions): Replace with correct | |
37371 | declarations. | |
37372 | ||
37373 | 2004-03-23 Roger Sayle <roger@eyesopen.com> | |
37374 | ||
37375 | * reg-stack.c (get_true_reg): Handle FLOAT_TRUNCATE like FLOAT_EXTEND | |
37376 | if flag_unsafe_math_optimizations. | |
37377 | * config/i386/i386.md (truncdfsf2): If flag_unsafe_math_optimizations | |
37378 | and TARGET_80387 expand using truncdfsf2_noop pattern. | |
37379 | (truncxfsf2): Likewise using truncxfsf2_noop. | |
37380 | (truncxfdf2): Likewise using truncxfdf2_noop. | |
37381 | (truncdfsf2_noop, truncxfsf2_noop, truncxfdf2_noop): New patterns. | |
37382 | ||
37383 | 2004-03-23 Ziemowit Laski <zlaski@apple.com> | |
37384 | ||
37385 | * hooks.c (hook_constcharptr_tree_null): New hook. | |
37386 | * hooks.h (hook_constcharptr_tree_null): New prototype. | |
37387 | * target-def.h (TARGET_MANGLE_FUNDAMENTAL_TYPE): New target hook. | |
37388 | * target.h (mangle_fundamental_type): New target hook. | |
37389 | * config/rs6000/rs6000.c (TARGET_MANGLE_FUNDAMENTAL_TYPE): Point | |
37390 | target hook at rs6000_mangle_fundamental_type. | |
37391 | (rs6000_mangle_fundamental_type): New function. | |
37392 | * doc/tm.texi (TARGET_MANGLE_FUNDAMENTAL_TYPE): Document. | |
37393 | ||
37394 | 2004-03-23 Zack Weinberg <zack@codesourcery.com> | |
37395 | ||
37396 | PR 12267, 12391, 12560, 13129, 14114, 14133 | |
37397 | * c-tree.h: Forward declare struct c_binding. Declare | |
37398 | c_override_bindings_to_false. Update prototypes. | |
37399 | (struct lang_identifier): Update comments. Change fields to be | |
37400 | struct c_binding *. | |
37401 | (IDENTIFIER_SYMBOL_VALUE, IDENTIFIER_TAG_VALUE) | |
37402 | (IDENTIFIER_LABEL_VALUE, C_DECL_INVISIBLE) | |
37403 | (KEEP_NO, KEEP_YES, KEEP_MAYBE): Delete. | |
37404 | (C_DECL_IN_EXTERNAL_SCOPE, C_DECL_DECLARED_BUILTIN): New. | |
37405 | * c-common.h: Update prototypes. | |
37406 | * c-decl.c (struct c_scope): Update commentary. Remove names, | |
37407 | names_last, parms, parms_last, tags, and shadowed fields. Add | |
37408 | bindings and depth fields. | |
37409 | (scope_freelist): Move to more appropriate location. | |
37410 | (c_print_identifier): Update for changes to struct lang_identifier. | |
37411 | (objc_mark_locals_volatile): Update for new bindings structures. | |
37412 | (global_bindings_p): Honor c_override_global_bindings_to_false. | |
37413 | (pushlevel): Rename to push_scope; take no arguments; use the | |
37414 | scope_freelist; initialize scope->depth and check for overflow. | |
37415 | (poplevel): Rename to pop_scope; totally rewritten for new bindings | |
37416 | structures. | |
37417 | (diagnose_mismatched_decls): Use C_DECL_DECLARED_BUILTIN, not | |
37418 | C_DECL_INVISIBLE, for certain decisions. Adjust some diagnostics. | |
37419 | Improve some commentary. Adjust handling of forward parm decls. | |
37420 | (merge_decls): Set C_DECL_DECLARED_BUILTIN when appropriate. | |
37421 | Preserve C_DECL_IN_EXTERNAL_SCOPE. | |
37422 | (warn_if_shadowing): Correct indentation. Improve diagnostics. | |
37423 | (pushdecl): Remove unnecessary assertion. Short-circuit anonymous | |
37424 | decls. Rewrite for new bindings structures. Improve commentary. | |
37425 | Eliminate the copy_node call. | |
37426 | (implicit_decl_warning): Use the "diag" idiom (as seen in | |
37427 | locate_old_decl) to reduce code duplication; call locate_old_decl | |
37428 | if appropriate. Relocate to remove need for forward declaration. | |
37429 | (implicitly_declare): Adjust for new bindings structures. Kludge | |
37430 | around Objective-C not-really-builtin functions. | |
37431 | (undeclared_variable): Improve diagnostics. If current_function_decl | |
37432 | is nonnull but current_function_scope is null, use current_scope. | |
37433 | Use bind. | |
37434 | (lookup_tag): Adjust for new bindings structures. Kludge around | |
37435 | Objective-C's tag declarations that wind up in the external scope. | |
37436 | (lookup_name): Adjust for new bindings structures. Kludge around | |
37437 | c-common.c's pseudo-typedefs that wind up in the external scope. | |
37438 | (lookup_name_current_level): Rename lookup_name_in_scope; take a | |
37439 | second argument indicating the scope to examine; rewrite for | |
37440 | new bindings structures. | |
37441 | (c_init_decl_processing): Adjust for renamed functions. Do not | |
37442 | initialize current_file_decl, first_builtin_decl, last_builtin_decl. | |
37443 | First scope pushed is the external scope, not the global scope. | |
37444 | (builtin_function): Use bind, not pushdecl. Adjust other bits | |
37445 | for new data structures. Keep track of builtins that should be | |
37446 | made visible automatically. | |
37447 | (start_decl): Adjust diagnostics. Remove unnecessary call to | |
37448 | expand_decl. | |
37449 | (grokparms): Return 0 if arg_types is error_mark_node. | |
37450 | (get_parm_info): Rename "void_at_end" argument to "ellipsis", with | |
37451 | reversed sense. Rewrite for new bindings structures. Do not | |
37452 | leave any decls in the scope, to prevent pop_scope from doing | |
37453 | contradictory things with them. | |
37454 | (finish_struct, finish_enum): Remove redundant diagnostics. | |
37455 | (build_enumerator): Don't cascade diagnostics for error_mark_node. | |
37456 | Mark location where -pedantic changes the meaning of the program. | |
37457 | (store_parm_decls_newstyle, store_parm_decls_oldstyle): Load the | |
37458 | parameter decls into the function's scope structure using bind. | |
37459 | Warn here about function definitions in the wrong style. | |
37460 | Adjust diagnostics. | |
37461 | (store_parm_decls): Correct the determination of whether a | |
37462 | function was defined with a prototype. | |
37463 | (c_write_global_declarations): Operate on all file decls and on | |
37464 | the external scope. Split body of the loop to... | |
37465 | (c_write_global_declarations_1): ... this new function, to avoid | |
37466 | code duplication. | |
37467 | (truly_local_externals, first_builtin_decl, last_builtin_decl) | |
37468 | (make_scope, pop_scope, in_parm_level_p, set_block) | |
37469 | (any_external_decl, record_external_decl, bind_label, getdecls) | |
37470 | (link_hash_hash, link_hash_eq, merge_translation_unit_decls) | |
37471 | (c_reset_state): Delete. | |
37472 | (visible_builtins, c_override_global_bindings_to_false) | |
37473 | (c_binding, I_SYMBOL_BINDING, I_SYMBOL_DECL, I_TAG_BINDING) | |
37474 | (I_TAG_DECL, I_LABEL_BINDING, I_LABEL_DECL, file_scope) | |
37475 | (external_scope, binding_freelist, bind, free_binding_and_advance) | |
37476 | (push_file_scope, pop_file_scope): New. | |
37477 | (pushtag, pushdecl_top_level, lookup_label, declare_label) | |
37478 | (define_label, c_make_fname_decl, finish_decl) | |
37479 | (mark_forward_parm_decls, build_compound_literal) | |
37480 | (grokdeclarator, start_function, check_for_loop_decls) | |
37481 | (identifier_global_value, record_builtin_type): Minor adjustments | |
37482 | for new bindings structures. Improve diagnostics and commentary. | |
37483 | * c-objc-common.c (start_cdtor, finish_cdtor): Adjust calls to | |
37484 | pushlevel/poplevel respectively. | |
37485 | (c_objc_common_finish_file): Don't call merge_translation_unit_decls. | |
37486 | * c-opts.c (c_common_parse_file): Remove spurious ATTRIBUTE_UNUSED. | |
37487 | Warn about YYDEBUG not being defined only if -dy. Remove no-longer- | |
37488 | correct loop over multiple translation units; call fatal_error if | |
37489 | requested to compile more than one file at once. (This disables | |
37490 | IMA temporarily - an up-front error being preferable to a crash.) | |
37491 | * c-parse.in (pushlevel, poplevel rules): Rename push_scope, pop_scope. | |
37492 | (all actions): Adjust calls to pushlevel/poplevel. | |
37493 | (parsing_iso_function_signature): Delete. | |
37494 | (extdef_1): Fold into extdef. | |
37495 | (old_style_parm_decls_1): Fold into old_style_parm_decls. Don't | |
37496 | warn here about function definitions in the wrong style. | |
37497 | (after_tyle_declarator, parm_declarator_starttypename) | |
37498 | (parm_declarator_nostarttypename, notype_declarator): Remove | |
37499 | commented-out productions. | |
37500 | (parmlist_1, parmlist_2): Use make_node, not tree_cons, to create | |
37501 | an empty TREE_LIST node. Adjust calls to get_parm_info. | |
37502 | (parmlist_2 : ELLIPSIS): Tag the arg-info block with error_mark_node | |
37503 | to suppress -Wold-style-definition after this error. | |
37504 | (c_parse_file): Don't clear the binding stack or call | |
37505 | finish_fname_decls here. Correct comment. | |
37506 | * c-typeck.c (same_translation_unit_p): Export. | |
37507 | (common_type): Use c_override_global_bindings_to_false, not | |
37508 | pushlevel/poplevel/declare_parm_level. | |
37509 | * c-lang.c: Override LANG_HOOKS_CLEAR_BINDING_STACK, | |
37510 | LANG_HOOKS_PUSHLEVEL, LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK, | |
37511 | and LANG_HOOKS_GETDECLS with do-nothing stubs. | |
37512 | * objc/objc-lang.c: Likewise. | |
37513 | * objc/objc-act.c: Adjust all calls to pushlevel, poplevel, | |
37514 | get_parm_info. | |
37515 | (OBJC_VOID_AT_END): Delete; replace all uses | |
37516 | with void_list_node. | |
37517 | (generate_forward_declaration_to_string_table): Delete. | |
37518 | * objc/objc-act.h (OCTI_STRG_DECL, UOBJC_STRINGS_decl): Delete. | |
37519 | ||
37520 | * coverage.c (create_coverage): Don't pushdecl anything. | |
37521 | * langhooks.c (lhd_clear_binding_stack): Call | |
37522 | lang_hooks.decls.poplevel, not poplevel. | |
37523 | * tree.c (list_length): If ENABLE_TREE_CHECKING, abort on a | |
37524 | circular list rather than going into an infinite loop. | |
37525 | ||
37526 | 2004-03-23 Olivier Hainque <hainque@act-europe.fr> | |
37527 | ||
37528 | * optabs.c (expand_binop): When synthesizing double word rotates | |
37529 | from single word shifts, use a new register target if the provided | |
37530 | target is not a REG already. | |
37531 | ||
37532 | 2004-03-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
37533 | ||
37534 | * alias.c (get_alias_set): Add support for TYPE_REF_CAN_ALIAS_ALL. | |
37535 | * c-common.c (handle_mode_attribute): Add extra arg to | |
37536 | build_pointer_type_for_mode and build_reference_type_for_mode. | |
37537 | * c-typeck.c (build_c_cast): Only look at TREE_CONSTANT_OVERFLOW | |
37538 | for INTEGER_CST. | |
37539 | * tree.c (build_pointer_type_for_mode): Add arg CAN_ALIAS_ALL. | |
37540 | Chain pointers via TYPE_NEXT_PTR_TO. | |
37541 | (build_reference_type_for_mode): Similarly. | |
37542 | (build_type_no_quals): Add extra arg to build_pointer_type_for_mode | |
37543 | and build_reference_type_for_mode. | |
37544 | (tree_check4_failed): New function. | |
37545 | * tree.h (TREE_CHECK4, PTR_OR_REF_CHECK): New macros. | |
37546 | (TYPE_REF_CAN_ALIAS_ALL, TYPE_NEXT_PTR_TO, TYPE_NEXT_REF_TO): Likewise. | |
37547 | (TREE_NO_UNSUED_WARNING, TREE_VIA_VIRTUAL, TREE_CONSTANT_OVERFLOW): | |
37548 | Add check. | |
37549 | ||
37550 | 2004-03-23 Roger Sayle <roger@eyesopen.com> | |
37551 | ||
37552 | * fold-const.c (tree_expr_nonnegative_p): A&B is nonnegative when | |
37553 | A is nonnegative or B is nonnegative. Similarly A|B is nonnegative | |
37554 | when both A and B are nonnegative. | |
37555 | (tree_expr_nonzero_p): A|B is nonzero when A is nonzero or B is | |
37556 | nonzero. | |
37557 | ||
37558 | 2004-03-23 Kazu Hirata <kazu@cs.umass.edu> | |
37559 | ||
37560 | * fold-const.c (fold): Remove cases for INTEGER_CST, REAL_CST, | |
37561 | VECTOR_CST, STRING_CST, COMPLEX_CST, and CONSTRUCTOR. | |
37562 | ||
37563 | 2004-03-23 Kazu Hirata <kazu@cs.umass.edu> | |
37564 | ||
37565 | PR optimization/14669 | |
37566 | * fold-const.c (fold): Only unwiden integer comparisons for equality | |
37567 | and inequality operators, or when the signedness doesn't change. | |
37568 | ||
37569 | 2004-03-23 Jakub Jelinek <jakub@redhat.com> | |
37570 | ||
37571 | * config.gcc (sparc-*-linux*): Add sparc/t-linux to tmake_file. | |
37572 | * config/sparc/t-linux64 (TARGET_LIBGCC2_CFLAGS): Set. | |
37573 | * config/sparc/t-linux: New file. | |
37574 | ||
37575 | 2004-03-23 Richard Sandiford <rsandifo@redhat.com> | |
37576 | ||
37577 | * gcse.c (can_assign_to_reg_p): New function, split out from... | |
37578 | (want_to_gcse_p): ...here. | |
37579 | (compute_ld_motion_mems): Use can_assign_to_reg_p to validate | |
37580 | the rhs of a store. | |
37581 | ||
37582 | 2004-03-22 Diego Novillo <dnovillo@redhat.com> | |
37583 | ||
37584 | * c-typeck.c (same_translation_unit_p): Fix pasto. | |
37585 | ||
37586 | 2004-03-22 David Edelsohn <edelsohn@gnu.org> | |
37587 | ||
37588 | * params.def (PARAM_MAX_SCHED_REGION_BLOCKS): New. | |
37589 | (PARAM_MAX_SCHED_REGION_INSNS): New. | |
37590 | * sched-rgn.c: Include params.h | |
37591 | (MAX_RGN_BLOCKS): Delete. | |
37592 | (MAX_RGN_INSNS): Delete. | |
37593 | (too_large): Return bool. Convert to PARAM_VALUE. | |
37594 | * Makefile.in (sched-rgn.o): Depend on $(PARAMS_H). | |
37595 | * doc/invoke.texi (param): Document max-sched-region-blocks and | |
37596 | max-sched-region-insns. | |
37597 | ||
37598 | 2004-03-22 Joel Brobecker <brobecker@gnat.com> | |
37599 | ||
37600 | * dwarf2out.c (is_subrange_type): Do not emit a subrange_type DIE | |
37601 | for base types. | |
37602 | ||
37603 | 2004-03-22 Joel Brobecker <brobecker@gnat.com> | |
37604 | ||
37605 | * dwarf2out.c (is_subrange_type): Minor code rework. No behavior | |
37606 | change. | |
37607 | ||
37608 | 2004-03-22 Jakub Jelinek <jakub@redhat.com> | |
37609 | ||
37610 | PR c/14069 | |
37611 | * c-decl.c (finish_struct): Change type of incorrect flexible array | |
37612 | field into error_mark_node. | |
37613 | ||
37614 | 2004-03-22 Andrew Pinski <pinskia@physics.uc.edu> | |
37615 | ||
37616 | PR target/14580 | |
37617 | * config/rs6000/rs6000.c (symbol_ref_operand): Reject symbols | |
37618 | who are not local for Darwin PIC. | |
37619 | ||
37620 | 2004-03-22 Ulrich Weigand <uweigand@de.ibm.com> | |
37621 | ||
37622 | * regrename.c (regrename_optimize): Set regs_ever_live for all | |
37623 | registers introduced as replacement. | |
37624 | ||
37625 | 2004-03-22 Eric Botcazou <ebotcazou@libertysurf.fr> | |
37626 | ||
37627 | PR middle-end/14470 | |
37628 | * expr.c (mark_queue): New function. | |
37629 | (emit_insns_enqueued_after_mark): New function replacing | |
37630 | emit_queue. Clear the body of emitted queued insns. | |
37631 | (emit_queue): Call emit_insns_enqueued_after_mark. | |
37632 | (store_expr): Mark the increment queue on entry. Emit | |
37633 | only the incrementations queued when expanding the source. | |
37634 | ||
37635 | 2004-03-22 Nathanael Nerode <neroden@gcc.gnu.org> | |
37636 | ||
37637 | * configure.ac: Allow --disable-coverage-flags (for the future benefit | |
37638 | of top level bootstrap, and consistency). Reindent. | |
37639 | * configure: Regenerate. | |
37640 | ||
37641 | 2004-03-21 Kazu Hirata <kazu@cs.umass.edu> | |
37642 | ||
37643 | * bt-load.c, builtins.c, cfghooks.c, cfgrtl.c, gcse.c, | |
37644 | ggc-page.c, integrate.c, var-tracking.c, web.c: Remove | |
37645 | unnecessary casts. | |
37646 | ||
37647 | 2004-03-22 Danny Smith <dannysmith@users.sourceforge.net> | |
37648 | ||
37649 | PR target/14291 | |
37650 | * gcov-io.h (gcov_truncate): Define ftruncate as _chsize for | |
37651 | __MINGW32__. | |
37652 | ||
37653 | 2004-03-21 Ulrich Weigand <uweigand@de.ibm.com> | |
37654 | ||
37655 | * config/s390/s390.md ("*doloop_si"): Change predicate for operand 2 | |
37656 | to nonimmediate_operand. | |
37657 | ("*doloop_di"): Likewise. | |
37658 | ||
37659 | 2004-03-21 Alexandre Oliva <aoliva@redhat.com> | |
37660 | ||
37661 | * real.h (struct real_value): Use the same type for all | |
37662 | bitfields. Rename exp to uexp. | |
37663 | (REAL_EXP, SET_REAL_EXP): New accessor macros for uexp. | |
37664 | Adjust all uses of exp... | |
37665 | * builtins.c: ... here, ... | |
37666 | * emit-rtl.c: ... here, and ... | |
37667 | * real.c: ... and here. | |
37668 | ||
37669 | 2004-03-21 Gabriel Dos Reis <gdr@integrable-solutions.net> | |
37670 | ||
37671 | * pretty-print.c (pp_base_maybe_space): New function. | |
37672 | * pretty-print.h (pp_base_maybe_space): Declare. | |
37673 | (pp_maybe_space): New macro. | |
37674 | ||
37675 | 2004-03-21 Ulrich Weigand <uweigand@de.ibm.com> | |
37676 | ||
37677 | * config/s390/s390.md ("addti3", "subti3"): New insns and splitters. | |
37678 | ||
37679 | 2004-03-21 Ulrich Weigand <uweigand@de.ibm.com> | |
37680 | ||
37681 | * expmed.c (choose_mult_variant): Pass MULT_COST as argument instead | |
37682 | of using register multiplication cost. | |
37683 | (expand_mult): Adapt choose_mult_variant call. | |
37684 | (expand_mult_highpart): Call choose_mult_variant with WIDER_MODE | |
37685 | of MODE; pass appropriate cost bound. Adjust result when | |
37686 | performing signed multiplication by a negative constant. | |
37687 | Don't use intermediate modes larger than word_mode. | |
37688 | ||
37689 | 2004-03-21 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
37690 | ||
37691 | * alias.c (get_alias_set): Remove handling of PLACEHOLDER_EXPR. | |
37692 | * emit-rtl.c (component_ref_for_mem_expr): Likewise. | |
37693 | (set_mem_attributes_minus_bitpos): Call SUBSTITUTE_PLACEHOLDER_IN_EXPR. | |
37694 | * explow.c (expr_size): Likewise. | |
37695 | * expr.h (placeholder_list, find_placeholder): Deleted. | |
37696 | * expr.c (store_constructor): Likewise. | |
37697 | (get_inner_reference): Likewise. Also don't call find_placeholder. | |
37698 | (placeholder_list, find_placeholder): Deleted. | |
37699 | (is_aligning_offset): Don't handle WITH_RECORD_EXPR, PLACEHOLDER_EXPR. | |
37700 | (expand_expr_real, cases PLACEHOLDER_EXPR, WITH_RECORD_EXPR): Likewise. | |
37701 | (highest_pow2_factor, case WITH_RECORD_EXPR): Remove. | |
37702 | * dojump.c (do_jump, case WITH_RECORD_EXPR): Likewise. | |
37703 | * dwarf2out.c (loc_descriptor_from_tree, case WITH_RECORD_EXPR): | |
37704 | Likewise. | |
37705 | * fold-const.c (invert_truthvalue, case WITH_RECORD_EXPR): Likewise. | |
37706 | (extract_muldiv, case WITH_RECORD_EXPR): Likewise. | |
37707 | * tree.c (expr_align, case WITH_RECORD_EXPR): Likewise. | |
37708 | (contains_placeholder_p): Don't handle WITH_RECORD_EXPR. | |
37709 | Clean up by using first_rtl_op. | |
37710 | (substitute_in_expr): Use SUBSTITUTE_IN_EXPR for recursive call. | |
37711 | (substitute_placeholder_in_expr): New function. | |
37712 | * tree.def (WITH_RECORD_EXPR): Deleted. | |
37713 | * tree.h (SUBSTITUTE_IN_EXPR, SUBSTITUTE_PLACEHOLDER_IN_EXPR): New. | |
37714 | (substitute_placeholder_in_expr): New. | |
37715 | ||
37716 | 2004-03-21 Andrew Pinski <pinskia@gcc.gnu.org> | |
37717 | ||
37718 | * dojump.c (prefer_and_bit_test): Fix which part of | |
37719 | the and_test is replaced. | |
37720 | ||
37721 | 2004-03-21 Joseph S. Myers <jsm@polyomino.org.uk> | |
37722 | ||
37723 | * frontends.texi: Add missing line. | |
37724 | ||
37725 | 2004-03-21 Zack Weinberg <zack@codesourcery.com> | |
37726 | Chris Devers <cdevers@pobox.com> | |
37727 | Joseph S. Myers <jsm@polyomino.org.uk> | |
37728 | ||
37729 | * doc/frontends.texi: Rewrite. | |
37730 | * doc/gcc.texi: Update last modification date. | |
37731 | ||
37732 | 2004-03-21 Josef Zlomek <zlomekj@suse.cz> | |
37733 | ||
37734 | * cfgrtl.c (cfg_layout_redirect_edge_and_branch): Print the debug | |
37735 | message before redirecting the edge. | |
37736 | ||
37737 | 2004-03-20 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> | |
37738 | ||
37739 | * emit-rtl.c (set_mem_attributes_minus_bitpos): Set MEM_POINTER | |
37740 | flag. | |
37741 | * explow.c (force_not_mem): Set REG_POINTER flag according to | |
37742 | MEM_POINTER one. | |
37743 | * rtl.h (MEM_POINTER): New macro. | |
37744 | (struct rtx_def): Use integrated for MEM_SCALAR_P and frame_related | |
37745 | for MEM_POINTER. | |
37746 | ||
37747 | 2004-03-20 Roger Sayle <roger@eyesopen.com> | |
37748 | ||
37749 | PR target/13889 | |
37750 | * cse.c (fold_rtx): Avoid substituting constants into unary | |
37751 | conversion operations. | |
37752 | ||
37753 | 2004-03-20 Kazu Hirata <kazu@cs.umass.edu> | |
37754 | ||
37755 | * fold-const.c (fold): Replace "expr" with "t". | |
37756 | ||
37757 | 2004-03-20 Ian Lance Taylor <ian@wasabisystems.com> | |
37758 | ||
37759 | PR c/12373 | |
37760 | * c-typeck.c (tagged_types_tu_compatible_p): Don't use | |
37761 | DECL_ORIGINAL_TYPE if there isn't one. | |
37762 | ||
37763 | 2004-03-20 Kazu Hirata <kazu@cs.umass.edu> | |
37764 | ||
37765 | * fold-const.c (fold): Replace "final_type" with "type". | |
37766 | Remove variable "final_type". | |
37767 | ||
37768 | 2004-03-20 Kazu Hirata <kazu@cs.umass.edu> | |
37769 | ||
37770 | * fold-const.c (fold): Constify "type". | |
37771 | Replace "TREE_TYPE (t)" with "type". | |
37772 | ||
37773 | 2004-03-20 Kazu Hirata <kazu@cs.umass.edu> | |
37774 | ||
37775 | * bb-reorder.c, bt-load.c, c-decl.c, cfgcleanup.c, coverage.c, | |
37776 | dwarf2asm.c, ifcvt.c, stor-layout.c, varasm.c: Replace calls | |
37777 | via (*targetm.foo) () with targetm.foo (). | |
37778 | ||
37779 | 2004-03-20 Joseph S. Myers <jsm@polyomino.org.uk> | |
37780 | ||
37781 | PR other/14630 | |
37782 | * doc/install.texi: Add info directory category and entry. | |
37783 | ||
37784 | 2004-03-20 Kazu Hirata <kazu@cs.umass.edu> | |
37785 | ||
37786 | * fold-const.c (fold): Replace "t" with "tem" where it is used | |
37787 | as a temporary variable. Remove "orig_t" and all of its uses. | |
37788 | ||
37789 | 2004-03-20 Kazu Hirata <kazu@cs.umass.edu> | |
37790 | ||
37791 | * fold-const.c (fold): Remove variable "invert". | |
37792 | Move the handling of relational expressions that can be folded | |
37793 | to a constant ... | |
37794 | (fold_relational_const): ... here. | |
37795 | (tree_expr_nonzero_p): New. | |
37796 | ||
37797 | 2004-03-20 Joseph S. Myers <jsm@polyomino.org.uk> | |
37798 | ||
37799 | PR c/14635 | |
37800 | * builtins.def (nan, nanf, nanl, nans, nansf, nansl): Change to | |
37801 | DEF_GCC_BUILTIN. | |
37802 | ||
37803 | 2004-03-20 Richard Sandiford <rsandifo@redhat.com> | |
37804 | ||
37805 | * Makefile.in (dojump.o): Depend on $(GGC_H) and dojump.h. | |
37806 | (GTFILES): Add $(srcdir)/dojump.h. | |
37807 | (gt-dojump.h): New dependency. | |
37808 | * dojump.c (and_reg, and_test, shift_test): New static variables. | |
37809 | (prefer_and_bit_test): New function. | |
37810 | (do_jump): Use it to choose between (X & (1 << C)) and (X >> C) & 1. | |
37811 | ||
37812 | 2004-03-20 Kazu Hirata <kazu@cs.umass.edu> | |
37813 | ||
37814 | * c-common.c, cfgcleanup.c, cgraphunit.c, c-pretty-print.c, | |
37815 | expmed.c, ggc-common.c, jump.c, passes.c, recog.c, regmove.c, | |
37816 | reorg.c, tree.h: Fix comment typos. | |
37817 | ||
37818 | 2004-03-19 Kazu Hirata <kazu@cs.umass.edu> | |
37819 | ||
37820 | * alias.c, attribs.c, bt-load.c, builtins.c, c-common.c, | |
37821 | c-decl.c, c-objc-common.c, c-typeck.c, calls.c, cfglayout.c, | |
37822 | cse.c, dbxout.c, dwarf2out.c, except.c, final.c, | |
37823 | haifa-sched.c, integrate.c, passes.c, rtlanal.c, sched-rgn.c, | |
37824 | sched-vis.c, simplify-rtx.c, stor-layout.c, tree.c, varasm.c, | |
37825 | vmsdbgout.c: Replace calls via (*targetm.foo) () with | |
37826 | targetm.foo (). | |
37827 | ||
37828 | 2004-03-19 Ziemowit Laski <zlaski@apple.com> | |
37829 | ||
37830 | * config/rs6000/altivec.h (vec_dst, vec_dstst, vec_dststt, | |
37831 | vec_dstt, vec_sld, vec_splat): Add prototypes, marked with | |
37832 | always_inline attribute. | |
37833 | * config/rs6000/rs6000.c (altivec_expand_dst_builtin): | |
37834 | Treat expansion as completed even if literal argument is | |
37835 | invalid (so that other expansions are not tried in vain). | |
37836 | ||
37837 | 2004-03-19 Kazu Hirata <kazu@cs.umass.edu> | |
37838 | ||
37839 | * loop-doloop.c (add_test): Replace GEN_INT (0) with | |
37840 | const0_rtx. | |
37841 | ||
37842 | 2004-03-19 Kazu Hirata <kazu@cs.umass.edu> | |
37843 | ||
37844 | * fold-const.c (fold) <ABS_EXPR>: Move the handling of constants | |
37845 | ... | |
37846 | (fold_abs_const): ... here. | |
37847 | ||
37848 | 2004-03-19 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
37849 | ||
37850 | * tree.h (TYPE_ARRAY_MAX_SIZE): Use type.maxval directly. | |
37851 | ||
37852 | 2004-03-19 Denis Chertykov <denisc@overta.ru> | |
37853 | ||
37854 | PR target/11520 | |
37855 | * config/avr/avr.md ("call_insn"): Handle explicit integer | |
37856 | specially. | |
37857 | (call_value_insn): Likewise. | |
37858 | ||
37859 | 2004-03-19 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
37860 | ||
37861 | * tree.c (substitute_in_expr): Rewrite to simplify and be more generic. | |
37862 | ||
37863 | 2004-03-19 Kazu Hirata <kazu@cs.umass.edu> | |
37864 | ||
37865 | * fold-const.c (negate_expr): Move the handling of constants | |
37866 | ... | |
37867 | (fold_negate_const): ... here. | |
37868 | ||
37869 | 2004-03-19 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
37870 | ||
37871 | * langhooks-def.h (LANG_HOOKS_HASH_TYPES): New macro and hook. | |
37872 | * langhooks.h (struct lang_hooks_for_types): New field hash_types. | |
37873 | * tree.c (debug_no_type_hash): Deleted. | |
37874 | (type_hash_canon): Abort if passed a variant. | |
37875 | Check lang_hooks.types.hash_types. | |
37876 | (build_type_no_quals): Copy mode of POINTER_TYPE and REFERENCE_TYPE. | |
37877 | (build_array_type): Remove unnecessary allocation of pointer type. | |
37878 | (build_complex_type): Properly qualify resulting type. | |
37879 | ||
37880 | 2004-03-19 Paolo Bonzini <bonzini@gnu.org> | |
37881 | ||
37882 | * config/rs6000/rs6000.c (rs6000_init_builtins): Fix typo. | |
37883 | ||
37884 | 2004-03-19 Richard Sandiford <rsandifo@redhat.com> | |
37885 | ||
37886 | * expmed.c (choose_mult_variant, expand_mult_const): New, split from... | |
37887 | (expand_mult): ...here. | |
37888 | (extract_high_half): New, split out from expand_mult_highpart. | |
37889 | (expand_highpart_optab): Likewise. Don't clobber target prematurely. | |
37890 | (expand_highpart): Evaluate the cost of a shift/add sequence, | |
37891 | then see if any of the specialized optabs are cheaper. | |
37892 | ||
37893 | 2004-03-18 Ian Lance Taylor <ian@wasabisystems.com> | |
37894 | ||
37895 | * mklibgcc.in: Remove obsolete MAYBE_USE_COLLECT2. | |
37896 | ||
37897 | 2004-03-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
37898 | ||
37899 | * convert.c (convert_to_real): Add more math builtins. | |
37900 | ||
37901 | 2004-03-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
37902 | ||
37903 | * convert.c (convert_to_real): Reformat using switch stmt. | |
37904 | ||
37905 | 2004-03-18 Mark Mitchell <mark@codesourcery.com> | |
37906 | ||
37907 | * c-common.c (pointer_int_sum): Do not complain about using | |
37908 | pointers to pointers-to-members. | |
37909 | ||
37910 | 2004-03-18 Kazu Hirata <kazu@cs.umass.edu> | |
37911 | ||
37912 | * system.h (MD_ASM_CLOBBERS): Move to "Old target macros that | |
37913 | have moved to the target hooks structure". | |
37914 | ||
37915 | 2004-03-18 James E Wilson <wilson@specifixinc.com> | |
37916 | ||
37917 | * config/mips/mips.md (type): Split move into arith and fmove. Split | |
37918 | hilo into mthilo and mfhilo. Add trap. Delete icmp. Fix all uses. | |
37919 | * config/mips/5400.md (ir_vr54_hilo, ir_vr54_arith, ir_vr54_fabs): | |
37920 | Likewise. | |
37921 | * config/mips/5500.md (ir_vr55_hilo, ir_vr55_arith, ir_vr55_fabs): | |
37922 | Likewise. | |
37923 | * config/mips/7000.md (rm7_int_other, rm7_mthilo, rm7_mfhilo, | |
37924 | rm7_fp_quick): Likewise. | |
37925 | * config/mips/9000.md (rm9k_int, rm9k_mfhilo, rm9k_mthilo, | |
37926 | rm9k_fquick): Likewise. | |
37927 | * config/mips/sr71k.md (ir_sr70_hilo, ir_sr70_arith, ir_sr70_fabs): | |
37928 | Likewise. | |
37929 | (ir_sr70_icmp): Delete. | |
37930 | ||
37931 | 2004-03-18 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
37932 | ||
37933 | * tree.h (TREE_CHECK2, TREE_CHECK3, TREE_CHECK5): New macros. | |
37934 | (tree_check2_failed, tree_check3_failed, tree_check5_failed): New decl. | |
37935 | (FUNC_OR_METHOD_CHECK, SET_ARRAY_OR_VECTOR_CHECK): New macros. | |
37936 | (REC_OR_UNION_CHECK, NUMERICAL_TYPE_CHECK): Likewise. | |
37937 | (TYPE_VALUES, TYPE_DOMAIN, TYPE_FIELDS, TYPE_METHODS, TYPE_VFIELD): | |
37938 | Protect with proper check. | |
37939 | (TYPE_ARG_TYPES, TYPE_METHOD_BASETYPE, TYPE_OFFSET_BASETYPE): Likewise. | |
37940 | (TYPE_MIN_VALUE, TYPE_MAX_VALUE): Likewise. | |
37941 | * tree.c (type_hash_eq): Rewrite to access proper fields for each type. | |
37942 | (tree_check2_failed, tree_check3_failed, tree_check5_failed): New. | |
37943 | * c-typeck.c (build_array_ref): Use TYPE_DOMAIN, not TYPE_VALUES. | |
37944 | * dwarf2out.c (gen_enumeration_type_die): Use TYPE_VALUES, | |
37945 | not TYPE_FIELDS. | |
37946 | * stor-layout.c (set_sizetype): Use TYPE_ORIG_SIZE_TYPE. | |
37947 | ||
37948 | 2004-03-18 Mostafa Hagog <mustafa@il.ibm.com> | |
37949 | ||
37950 | * gcse.c (eliminate_partially_redundant_loads): Reject change if | |
37951 | dest is set between beginning and current insn. | |
37952 | ||
37953 | 2004-03-18 Mark Mitchell <mark@codesourcery.com> | |
37954 | ||
37955 | * c-decl.c (grokdeclarator): Do not complain about redeclaring | |
37956 | visible "static" identifiers "extern" in a local scope. | |
37957 | * dwarf2out.c (loc_descriptor_from_tree): Handle pre- and | |
37958 | post-increments/decrements. | |
37959 | ||
37960 | 2004-03-18 Bob Wilson <bob.wilson@acm.org> | |
37961 | ||
37962 | * config/xtensa/xtensa.c (current_function_arg_words): Delete. | |
37963 | (xtensa_builtin_saveregs): Use current_function_args_info.arg_words. | |
37964 | (xtensa_va_start): Remove assignment to current_function_arg_words. | |
37965 | ||
37966 | 2004-03-18 Richard Sandiford <rsandifo@redhat.com> | |
37967 | ||
37968 | * alias.c (record_set): Detect the case where a register is assigned | |
37969 | a new value that has the same base term as the old one. | |
37970 | ||
37971 | 2004-03-18 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> | |
37972 | ||
37973 | * doloop.c: Removed. | |
37974 | * loop-doloop.c: New file. | |
37975 | * Makefile.in (doloop.o): Remove. | |
37976 | (loop-doloop.o): New. | |
37977 | * cfgloop.h (get_loop_level, doloop_optimize_loops): Declare. | |
37978 | * cfgloopanal.c (get_loop_level): New function. | |
37979 | * loop-iv.c (iv_number_of_iterations): Handle case when loop | |
37980 | is leaved immediatelly. | |
37981 | * loop.c (strength_reduce): Do not call doloop optimization. | |
37982 | * loop.h (LOOP_BCT): Removed. | |
37983 | * passes.c (rest_of_handle_loop_optimize): Do not use LOOP_BCT. | |
37984 | (rest_of_handle_loop2): Call doloop_optimize_loops. | |
37985 | (rest_of_compilation): Test for optimizations moved to | |
37986 | rest_of_handle_loop2. | |
37987 | ||
37988 | 2004-03-17 Fariborz Jahanian <fjahanian@apple.com> | |
37989 | ||
37990 | * config/rs6000/rs6000.c (rs6000_stack_info): correct reg_size | |
37991 | for mixed mode. | |
37992 | (rs6000_emit_prologue): Ditto. | |
37993 | (rs6000_emit_epilogue): Ditto. | |
37994 | * config/rs6000/rs6000.h: Definition of DWARF_CIE_DATA_ALIGNMENT | |
37995 | macro for mixed mode. | |
37996 | ||
37997 | 2004-03-18 Jan Hubicka <jh@suse.cz> | |
37998 | ||
37999 | * predict.c (propagate_freq): Compute correctly frequency of | |
38000 | EXIT_BLOCK. | |
38001 | ||
38002 | 2004-03-17 Eric Christopher <echristo@redhat.com> | |
38003 | ||
38004 | * builtins.c (apply_args_size): Use reg_raw_mode. | |
38005 | (apply_result_size): Ditto. | |
38006 | ||
38007 | 2004-03-17 Ralf Corsepius <corsepiu@faw.uni-ulm.de> | |
38008 | ||
38009 | PR target/14620 | |
38010 | * config/rtems.h: Add STD_LIB_SPEC and LIB_SPEC. | |
38011 | ||
38012 | 2004-03-17 Jakub Jelinek <jakub@redhat.com> | |
38013 | ||
38014 | * config/rs6000/t-linux64 (bispecs): Don't add -mlong-double-128 for | |
38015 | 32-bit builds when defaulting to 32-bit. | |
38016 | ||
38017 | 2004-03-17 Jan Hubicka <jh@suse.cz> | |
38018 | ||
38019 | * cfgrtl.c (rtl_create_basic_block): Pre-allocate basic_block_info | |
38020 | array. | |
38021 | ||
38022 | 2004-03-17 James E Wilson <wilson@specifixinc.com> | |
38023 | ||
38024 | * config/mips/mips.md (zero_extendsidi2): Add length attribute. | |
38025 | (hazard_nop): Change type to nop. | |
38026 | (type): Split arith into arith, shift, slt, clz. Delete darith. | |
38027 | Fix all uses. Change arith to multi if more than one insn emitted. | |
38028 | * config/mips/5400.md (ir_vr54_arith): Likewise. | |
38029 | * config/mips/5500.md (ir_vr55_arith): Likewise. | |
38030 | * config/mips/7000.md (rm7_int_other): Likewise. | |
38031 | * config/mips/9000.md (rm9k_int): Likewise. | |
38032 | * config/mips/sr71k.md (ir_sr70_arith): Likewise. | |
38033 | ||
38034 | 2004-03-17 Joel Brobecker <brobecker@gnat.com> | |
38035 | ||
38036 | * dwarf2out.c (subrange_type_die): Define new variable "subtype" | |
38037 | to hold the subtype tree instead of recomputing it several times. | |
38038 | ||
38039 | 2004-03-17 Kazu Hirata <kazu@cs.umass.edu> | |
38040 | ||
38041 | * config/mn10300/mn10300.c (notice_update_cc): Don't handle | |
38042 | CC_INVERT. | |
38043 | * config/mn10300/mn10300.md (cc): Remove "invert". | |
38044 | ||
38045 | 2004-03-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
38046 | ||
38047 | * builtins.c (integer_valued_real_p): Add builtin rint. | |
38048 | (fold_builtin): Likewise. | |
38049 | * convert.c (convert_to_real): Likewise. | |
38050 | ||
38051 | * convert.c (convert_to_real): Fix typos in `long double' | |
38052 | builtins. | |
38053 | ||
38054 | 2004-03-16 Mark Mitchell <mark@codesourcery.com> | |
38055 | ||
38056 | PR c++/14481 | |
38057 | * fold-const.c (fold): Set TREE_NO_UNUSED_WARNING on implicitly | |
38058 | generated COMPOUND_EXPRs. | |
38059 | ||
38060 | 2004-03-16 Ralf Corsepius <corsepiu@faw.uni-ulm.de> | |
38061 | ||
38062 | * config/h8300/t-rtems (h8300-*-rtems*): New. | |
38063 | ||
38064 | 2004-03-16 Eric Christopher <echristo@redhat.com> | |
38065 | ||
38066 | * doc/cppopts.texi(fwide-exec-charset): Fix typo. | |
38067 | ||
38068 | 2004-03-16 Kazu Hirata <kazu@cs.umass.edu> | |
38069 | ||
38070 | * config/i386/i386-protos.h: Add a prototype for | |
38071 | ix86_reverse_condition. | |
38072 | * config/i386/i386.c (ix86_reverse_condition): New. | |
38073 | * config/i386/i386.h (REVERSE_CONDITION): Use | |
38074 | ix86_reverse_condition. | |
38075 | * config/i386/i386.md: Use ix86_reverse_condition instead of | |
38076 | REVERSE_CONDITION. | |
38077 | ||
38078 | 2004-03-16 J. Brobecker <brobecker@gnat.com> | |
38079 | ||
38080 | * dwarf2out.c (loc_descriptor_from_tree): Add handling for MIN_EXPR. | |
38081 | ||
38082 | 2004-03-16 Nathanael Nerode <neroden@gcc.gnu.org> | |
38083 | ||
38084 | PR bootstrap/12974 | |
38085 | * Makefile.in: Pass $(INCLUDES) down to libgcc.mk explicitly. | |
38086 | ||
38087 | 2004-03-16 Paolo Bonzini <bonzini@gnu.org> | |
38088 | ||
38089 | * c-common.c (c_common_type_for_mode): Build vector types on | |
38090 | demand. | |
38091 | (handle_mode_attribute): Deprecate using the mode attribute | |
38092 | to create vector types. Fix indentation. | |
38093 | (vector_type_node_list): Remove. | |
38094 | (handle_vector_size_attribute): Create vector types on demand. | |
38095 | Strip a NON_LVALUE_EXPR from the attribute if there is one. | |
38096 | * c-typeck.c (comptypes): Make vector types compatible if they | |
38097 | have the same underlying mode. | |
38098 | (convert_for_assignment): Use comptypes to convert between | |
38099 | vector types. | |
38100 | * tree.c (build_common_tree_nodes_2): Do not create vector types. | |
38101 | * config/arm/arm.c (arm_init_iwmmxt_builtins): Create necessary | |
38102 | vector types. | |
38103 | * tree.h: Remove vector types. | |
38104 | * config/i386/i386.c (i386_init_mmx_sse_builtins): Likewise. | |
38105 | * config/rs6000/rs6000.c (rs6000_init_builtins): Likewise. | |
38106 | (V16QI_type_node, V2SI_type_node, V2SF_type_node, V4HI_type_node, | |
38107 | V4SI_type_node, V4SF_type_node, V8HI_type_node): New globals. | |
38108 | * doc/extend.texi (Vector Types): Document how to use the | |
38109 | vector_size attribute to create vectors, rather than mode. | |
38110 | ||
38111 | * config/arm/mmintrin.h: Use vector_size attribute, not mode. | |
38112 | * config/i386/emmintrin.h: Likewise. | |
38113 | * config/i386/mmintrin.h: Likewise. | |
38114 | * config/i386/xmmintrin.h: Likewise. | |
38115 | * config/sh/ushmedia.h: Likewise. | |
38116 | ||
38117 | 2004-03-16 Kazu Hirata <kazu@cs.umass.edu> | |
38118 | ||
38119 | * config/freebsd-spec.h, config/arc/arc-protos.h, | |
38120 | config/arm/aout.h, config/arm/elf.h, config/arm/freebsd.h, | |
38121 | config/arm/linux-gas.h, config/arm/semi.h, | |
38122 | config/cris/cris-protos.h, config/i386/xm-djgpp.h, | |
38123 | config/ia64/freebsd.h, config/mips/7000.md, | |
38124 | config/mips/9000.md, config/ns32k/ns32k-protos.h, | |
38125 | config/sparc/pbd.h: Update copyright. | |
38126 | ||
38127 | 2004-03-16 Ralf Corsepius <corsepiu@faw.uni-ulm.de> | |
38128 | ||
38129 | PR target/14577 | |
38130 | * config.gcc: Switch sh-*-rtems* to ELF. Add sh-*-rtemscoff. | |
38131 | ||
38132 | 2004-03-16 Paolo Bonzini <bonzini@gnu.org> | |
38133 | ||
38134 | * combine.c (combine_simplify_rtx): Remove the "last" | |
38135 | parameter and its documentation. Adjust recursive calls. | |
38136 | (simplify_logical): Always perform the only simplification | |
38137 | controlled by "last", if the simplified expression is | |
38138 | actually different. | |
38139 | (try_combine): Do not pass the "last" parameter to | |
38140 | combine_simplify_rtx. | |
38141 | ||
38142 | 2004-03-16 Richard Sandiford <rsandifo@redhat.com> | |
38143 | ||
38144 | PR target/14599 | |
38145 | * config/mips/mips.md (UNSPEC_GP): New constant. | |
38146 | * config/mips/mips.c (CONST_GP_P): Expect the CONST to contain | |
38147 | an UNSPEC instead of (reg $gp). | |
38148 | (mips16_gp_pseudo_reg): Change accordingly. | |
38149 | (print_operand): Print $gp directly when handling CONST_GP_P. | |
38150 | ||
38151 | 2004-03-16 Richard Zidlicky <rz@linux-m68k.org> | |
38152 | ||
38153 | * config.gcc, config/m68k/linux.h: Implement with-cpu for m68k-linux. | |
38154 | * longlong.h: Make code 68060 clean when compiling for m68060. | |
38155 | ||
38156 | 2004-03-16 Richard Zidlicky <rz@linux-m68k.org> | |
38157 | ||
38158 | * config/m68k/m68k.md: Fix constraints for bitfield instructions. | |
38159 | * doc/md.texi: Clarify description of "i" constraint. | |
38160 | ||
38161 | 2004-03-15 James E Wilson <wilson@specifixinc.com> | |
38162 | ||
38163 | * config/mips/mips.md (type): Split load into load, fpload, fpidxload. | |
38164 | Split store into store, fpstore, fpidxstore. Fix all uses. | |
38165 | * config/mips/5400.md (ir_vr54_load, ir_vr54_store, ir_vr54_fstore): | |
38166 | Likewise. | |
38167 | * config/mips/5500.md (ir_vr55_load, i5_vr55_store): Likewise. | |
38168 | * config/mips/7000.md (rm7_ld, rm7_st): Likewise. | |
38169 | * config/mips/9000.md (rm9k_load, rm9k_store): Likewise. | |
38170 | * config/mips/sr71k.md (ir_sr70_load, ir_sr70_store, ir_sr70_fload, | |
38171 | ir_sr70_fstore): Likewise. | |
38172 | ||
38173 | 2004-03-15 Richard Henderson <rth@redhat.com> | |
38174 | ||
38175 | PR middle-end/14535 | |
38176 | * except.c (collect_one_action_chain): Record action for cleanup | |
38177 | outer of exception spec. | |
38178 | ||
38179 | 2004-03-15 Ian Lance Taylor <ian@wasabisystems.com> | |
38180 | ||
38181 | * config/rs6000/host-darwin.c (darwin_rs6000_gt_pch_use_address): | |
38182 | Fix the check for abort and only do the mmap if we can. | |
38183 | ||
38184 | 2004-03-15 Eric Botcazou <ebotcazou@act-europe.fr> | |
38185 | ||
38186 | * config/sparc/sparc.h: Rework comments about the code model | |
38187 | in 64-bit environment and the mode 'Pmode'. | |
38188 | * doc/invoke.texi (SPARC options): Rework description of the | |
38189 | different code models supported in 64-bit environment. | |
38190 | ||
38191 | 2004-03-15 Kazu Hirata <kazu@cs.umass.edu> | |
38192 | ||
38193 | * defaults.h (REVERSIBLE_CC_MODE): Define. | |
38194 | * jump.c (reversed_comparison_code_parts): Don't check if | |
38195 | REVERSIBLE_CC_MODE is defined. | |
38196 | ||
38197 | 2004-03-15 Kazu Hirata <kazu@cs.umass.edu> | |
38198 | ||
38199 | * c-incpath.c, c-incpath.h, c-pch.c, c.opt, cppexp.c, | |
38200 | et-forest.h, genattr.c, ggc-none.c, hosthooks-def.h, | |
38201 | hosthooks.h, params.h, ra-colorize.c, web.c, | |
38202 | config/darwin-c.c, config/alpha/freebsd.h, config/arm/pe.c, | |
38203 | config/avr/avr-protos.h, config/avr/avr.md, | |
38204 | config/fr30/fr30-protos.h, config/fr30/fr30.md, | |
38205 | config/h8300/fixunssfsi.c, config/i386/darwin.h, | |
38206 | config/i386/freebsd.h, config/i386/freebsd64.h, | |
38207 | config/ia64/hpux.h, config/ia64/unwind-ia64.c, | |
38208 | config/ip2k/libgcc.S, config/m32r/xm-m32r.h, | |
38209 | config/mmix/mmix-modes.def, config/ns32k/netbsd.h, | |
38210 | config/ns32k/ns32k.md, config/pa/pa64-hpux.h, | |
38211 | config/pa/pa64-regs.h, config/rs6000/aix41.h, | |
38212 | config/rs6000/aix43.h, config/rs6000/host-darwin.c, | |
38213 | config/sparc/aout.h, config/sparc/freebsd.h, | |
38214 | config/sparc/litecoff.h, config/vax/vax-protos.h, | |
38215 | doc/hostconfig.texi, doc/include/gcc-common.texi: Update | |
38216 | copyright. | |
38217 | ||
38218 | 2004-03-15 Paul Brook <paul@codesourcery.com> | |
38219 | ||
38220 | * config/arm/arm.c (thumb_expand_prologue): Tie prologue insns to fp. | |
38221 | ||
38222 | 2004-03-15 Gabriel Dos Reis <gdr@integrable-solutions.net> | |
38223 | ||
38224 | * c-pretty-print.c (pp_c_semicolon): Fix formatting. | |
38225 | (pp_c_cv_qualifier): Document. | |
38226 | (pp_c_space_for_pointer_operator): Likewise. | |
38227 | (pp_c_integer_constant): Likewise. | |
38228 | (pp_c_identifier): Likewise. | |
38229 | (pp_c_init_declarator): Don't print function body. | |
38230 | ||
38231 | 2004-03-14 Joseph S. Myers <jsm@polyomino.org.uk> | |
38232 | ||
38233 | * doc/contrib.texi, doc/extend.texi, doc/gcov.texi, | |
38234 | doc/install.texi, doc/invoke.texi, doc/makefile.texi, | |
38235 | doc/sourcebuild.texi, doc/tm.texi, doc/trouble.texi: Capitalize | |
38236 | "gcc", "g++" and "g77" or mark up with appropriate markup. Adjust | |
38237 | wording and grammar. | |
38238 | ||
38239 | 2004-03-14 Roger Sayle <roger@eyesopen.com> | |
38240 | ||
38241 | * alias.c (get_alias_set): Replace calls via (*lang_hooks.foo) () | |
38242 | with lang_hooks.foo (). | |
38243 | * builtins.c (expand_builtin_va_arg): Likewise. | |
38244 | * c-common.c (fname_as_string, c_common_truthvalue_conversion, | |
38245 | c_common_type_for_mode, c_common_nodes_and_builtins, | |
38246 | handle_mode_attribute, handle_vector_size_attribute): Likewise. | |
38247 | * c-convert.c (convert): Likewise. | |
38248 | * c-format.c (check_format_types): Likewise. | |
38249 | * c-objc-common.c (c_tree_printer): Likewise. | |
38250 | * c-typeck.c (build_unary_op, build_conditional_expr, | |
38251 | build_binary_op): Likewise. | |
38252 | * calls.c (try_to_integrate, expand_call, | |
38253 | emit_library_call_value_1): Likewise. | |
38254 | * cgraph.c (cgraph_node_name, cgraph_function_possibly_inlined_p): | |
38255 | Likewise. | |
38256 | * cgraphunit.c (record_call_1, cgraph_analyze_function, | |
38257 | cgraph_expand_function): Likewise. | |
38258 | * convert.c (convert_to_pointer, convert_to_integer): Likewise. | |
38259 | * coverage.c (build_fn_info_type, build_ctr_info_type, | |
38260 | build_gcov_info, create_coverage): Likewise. | |
38261 | * dbxout.c (dbxout_init): Likewise. | |
38262 | * diagnostic.c (diagnostic_report_current_function): Likewise. | |
38263 | * dojump.c (do_jump): Likewise. | |
38264 | * dwarf2out.c (dwarf2_name): Likewise. | |
38265 | * except.c (init_eh): Likewise. | |
38266 | * explow.c (expr_size, int_expr_size): Likewise. | |
38267 | * expmed.c (make_tree, const_mult_add_overflow_p, expand_mult_add): | |
38268 | Likewise. | |
38269 | * expr.c (store_expr, store_constructor, safe_from_p, | |
38270 | expand_expr_real, do_store_flag, try_casesi): Likewise. | |
38271 | * function.c (push_function_context_to, pop_function_context_from, | |
38272 | free_after_parsing, assign_stack_local_1, assign_stack_temp_for_type, | |
38273 | put_var_into_stack, allocate_struct_function, current_function_name): | |
38274 | Likewise. | |
38275 | * integrate.c (copy_decl_for_inlining, expand_inline_function): | |
38276 | Likewise. | |
38277 | * langhooks.c (lhd_clear_binding_stack, write_global_declarations, | |
38278 | lhd_print_error_function): Likewise. | |
38279 | * opts.c (handle_option, decode_options): Likewise. | |
38280 | * passes.c (open_dump_file): Likewise. | |
38281 | * print-tree.c (print_node): Likewise. | |
38282 | * stmt.c (expand_fixup, fixup_gotos, expand_asm_operands, | |
38283 | expand_decl_cleanup, emit_case_nodes): Likewise. | |
38284 | * stor-layout.c (variable_size): Likewise. | |
38285 | * toplev.c (announce_function, wrapup_global_declarations, | |
38286 | check_global_declarations, compile_file, default_tree_printer, | |
38287 | process_options, lang_dependent_init, finalize): Likewise. | |
38288 | * tree-dump.c (dequeue_and_dump): Likewise. | |
38289 | * tree-inline.c (remap_decl, remap_block, copy_body_r, | |
38290 | initialize_inlined_parameters, declare_return_variable, | |
38291 | inlinable_function_p, expand_call_inline, optimize_inline_calls, | |
38292 | walk_tree, copy_tree_r): Likewise. | |
38293 | * tree-optimize.c (tree_rest_of_compilation): Likewise. | |
38294 | * tree.c (decl_assembler_name, tree_size, size_in_bytes, staticp, | |
38295 | unsafe_for_reeval, get_unwidened, get_narrower, get_callee_fndecl, | |
38296 | variably_modified_type_p, dump_tree_statistics): Likewise. | |
38297 | * varasm.c (assemble_variable, compare_constant, copy_constant, | |
38298 | force_const_mem, compute_reloc_for_constant, output_constant, | |
38299 | output_addressed_constants, initializer_constant_valid_p): Likewise. | |
38300 | ||
38301 | 2004-03-14 Kelley Cook <kcook@gcc.gnu.org> | |
38302 | ||
38303 | * doc/install.texi: Make autoconf 2.13 the exception, not the rule. | |
38304 | ||
38305 | 2004-03-14 Andreas Tobler <a.tobler@schweiz.ch> | |
38306 | ||
38307 | * doc/install.texi: Reflect autoconf and automake version for | |
38308 | libffi. Update autoconf version to 2.59. | |
38309 | ||
38310 | 2004-03-13 Roger Sayle <roger@eyesopen.com> | |
38311 | ||
38312 | * fold-const.c (negate_expr, operand_equal_for_comparison_p, | |
38313 | optimize_bit_field_compare, decode_field_reference, all_ones_mask_p, | |
38314 | make_range, build_range_check, fold_range_test, unextend, | |
38315 | constant_boolean_node, fold_binary_op_with_conditional_arg, | |
38316 | fold_truthop, fold_mathfn_compare, fold_inf_compare, | |
38317 | fold_single_bit_test, fold): Replace calls via (*lang_hooks.foo) () | |
38318 | with lang_hooks.foo (). | |
38319 | ||
38320 | 2004-03-14 Richard Earnshaw <rearnsha@arm.com> | |
38321 | ||
38322 | * arm.h (EXTRA_CONSTRAINT_STR_ARM): Update comment. | |
38323 | ||
38324 | 2004-03-13 Dara Hazeghi <dhazeghi@yahoo.com> | |
38325 | ||
38326 | * doc/install.texi: Note status of -fnew-ra. | |
38327 | ||
38328 | 2004-03-13 Eric Botcazou <ebotcazou@libertysurf.fr> | |
38329 | ||
38330 | PR middle-end/14470 | |
38331 | * expr.c (store_expr): Call emit_queue before generating the move | |
38332 | from the temporary to the original target. Protect the temporary | |
38333 | from emit_queue. | |
38334 | ||
38335 | 2004-03-13 Jakub Jelinek <jakub@redhat.com> | |
38336 | ||
38337 | PR target/14533 | |
38338 | * config/s390/s390.c (legitimize_pic_address): Don't abort on UNSPEC | |
38339 | other than UNSPEC_GOTOFF. | |
38340 | ||
38341 | 2004-03-13 Richard Earnshaw <rearnsha@arm.com> | |
38342 | ||
38343 | * arm.c (arm_legitimate_address_p): New argument, OUTER. Pass through | |
38344 | to arm_legitimate_index_p. Update all callers with SET as default | |
38345 | value. | |
38346 | (arm_legitimate_index_p): New argument, OUTER. Restrict the index | |
38347 | range if OUTER is a sign-extend operation on QImode. Correctly | |
38348 | reject shift operations on sign-extended QImode addresses. | |
38349 | (bad_signed_byte_operand): Delete. | |
38350 | (arm_extendqisi_mem_op): New function. | |
38351 | * arm.h (EXTRA_CONSTRAINT_ARM): Delete. Replace with... | |
38352 | (EXTRA_CONSTRAINT_STR_ARM): ... this. Handle extended address | |
38353 | constraints. | |
38354 | (CONSTRAINT_LEN): New. | |
38355 | (EXTRA_CONSTRAINT): Delete. Replace with... | |
38356 | (EXTRA_CONSTRAINT_STR): ... this. | |
38357 | (PREDICATE_CODES): Remove bad_signed_byte_operand. | |
38358 | * arm.md (extendqihi_insn): Use new constraint Uq. Rework. Length | |
38359 | is now always default. | |
38360 | (define_splits for bad sign-extend loads): Delete. | |
38361 | (arm_extendqisi, arm_extendqisi_v5): Likewise. | |
38362 | * arm/vfp.md (arm_movsi_vfp, arm_movdi_vfp, movsf_vfp, movdf_vfp): | |
38363 | Rework 'U' constraint to 'Uv'. | |
38364 | * arm-protos.h: Remove bad_signed_byte_operand. Add | |
38365 | arm_extendqisi_mem_op. | |
38366 | * doc/md.texi (ARM constraints): Rename VFP constraint (now Uv). | |
38367 | Add Uq constraint. | |
38368 | ||
38369 | 2004-03-13 Alan Modra <amodra@bigpond.net.au> | |
38370 | ||
38371 | * config/rs6000/rs6000.c (rs6000_va_arg): Replace SPLIT_COMPLEX_ARGS | |
38372 | with targetm version. | |
38373 | ||
38374 | PR target/14567 | |
38375 | * config/rs6000/rs6000.h (UNITS_PER_ARG, RS6000_ARG_SIZE): Delete. | |
38376 | (HARD_REGNO_MODE_OK): Disallow TFmode for fp31. | |
38377 | * config/rs6000/rs6000.c (rs6000_arg_size): New function. | |
38378 | Update all users of RS6000_ARG_SIZE. | |
38379 | (function_arg_advance): Count fregno using mode size. | |
38380 | (function_arg): Handle long double split over regs and memory. | |
38381 | (function_arg_partial_nregs): Likewise. | |
38382 | (rs6000_va_arg): Repackage complex args. | |
38383 | ||
38384 | 2004-03-13 Dean Ferreyra <dferreyra@igc.org> | |
38385 | ||
38386 | PR target/14047 | |
38387 | * config/avr/avr.c (avr_progmem_p): Add "attributes" parameter. | |
38388 | (avr_insert_attributes): Pass "attributes" to avr_progmem_p. | |
38389 | * config/avr/avr-protos.h (avr_progmem_p): Change prototype. | |
38390 | ||
38391 | 2004-03-12 Jakub Jelinek <jakub@redhat.com> | |
38392 | ||
38393 | * config/rs6000/rs6000-protos.h (rs6000_output_dwarf_dtprel): Add | |
38394 | prototype. | |
38395 | * config/rs6000/rs6000.c (rs6000_output_dwarf_dtprel): New. | |
38396 | * config/rs6000/rs6000.h (ASM_OUTPUT_DWARF_DTPREL): Define. | |
38397 | ||
38398 | 2004-03-12 Andrew Pinski <apinski@apple.com> | |
38399 | ||
38400 | * config/rs6000/host-darwin.c (darwin_rs6000_gt_pch_use_address): | |
38401 | Use ret instead of result. Use addr instead of base. | |
38402 | ||
38403 | 2004-03-12 David Edelsohn <edelsohn@gnu.org> | |
38404 | ||
38405 | * doc/install.texi (*-ibm-aix*): Document assembler and achiver | |
38406 | fixes required by libstdc++ and update installation instructions | |
38407 | for libstdc++.a. | |
38408 | ||
38409 | 2004-03-12 Danny Smith <dannysmith@users.sourceforge.net> | |
38410 | ||
38411 | * config/i386/winnt.c (i386_pe_strip_name_encoding_full): Strip | |
38412 | leading '@' on fastcall symbols before stripping suffix. | |
38413 | ||
38414 | 2004-03-12 Roger Sayle <roger@eyesopen.com> | |
38415 | ||
38416 | * combine.c (unmentioned_reg_p): New function to check whether an | |
38417 | expression is a "specialization" of another, i.e. that there are | |
38418 | no registers or memory references mentioned in the first that don't | |
38419 | appear in the second. | |
38420 | (unmentioned_reg_p_1): New helper subroutine of unmentioned_reg_p. | |
38421 | (combine_instructions): Also try combining instructions using the | |
38422 | REG_EQUAL note from a preceding log-linked instruction. | |
38423 | ||
38424 | 2004-03-12 Roger Sayle <roger@eyesopen.com> | |
38425 | ||
38426 | * config/i386/i386.c (ix86_split_ashrdi): Optimize shift by 63. | |
38427 | ||
38428 | 2004-03-12 Matt Austern <austern@apple.com> | |
38429 | ||
38430 | * target.h (struct gcc_target): New target hook, unwind_label. | |
38431 | * target-def.h (TARGET_ASM_EMIT_UNWIND_LABEL): New hook. | |
38432 | * output.h (default_emit_unwind_label): New function. | |
38433 | * default.h (TARGET_EXPLICIT_INSTANTIATIONS_ONE_ONLY): New macro. | |
38434 | (TARGET_USES_WEAK_UNWIND_INFO): New target macro. | |
38435 | (TARGET_SUPPORTS_HIDDEN): New target macro. | |
38436 | * dwarf2out.c (struct dw_fde_struct): Add field for function decl | |
38437 | that corresponds to this FDE. | |
38438 | (FRAME_BEGIN_LABEL): Allow target to override default label. | |
38439 | (output_call_frame_info): If FDEs are linknonce, then use extra | |
38440 | indirection for FDE encoding, output a label for each FDE, and | |
38441 | output an empty label for each function without an FDE. | |
38442 | (dwarf2out_begin_prologue): Set up decl field when creating an FDE. | |
38443 | * varasm.c (globalize_decl): Call ASM_MAKE_LABEL_LINKONCE for | |
38444 | decls with DECL_ONE_ONLY set, if that macro is defined. | |
38445 | (make_decl_one_only): Don't use DECL_COMMON if we're compiling | |
38446 | for a SUPPORTS_ONE_ONLY target. | |
38447 | * config/darwin-protos.h (darwin_unique_section): Declare. | |
38448 | (darwin_asm_named_section): Likewise. | |
38449 | (darwin_section_type_flags): Likewise. | |
38450 | (darwin_non_lazy_pcrel): Likewise. | |
38451 | (darwin_emit_unwind_label): Likewise. | |
38452 | (darwin_make_decl_one_only): Likewise. | |
38453 | * config/darwin.c (machopic_finish): Get rid of tweak that | |
38454 | eliminate stubs for symbols that are defined. | |
38455 | (darwin_encode_section_info): Don't treat weak functions as defined. | |
38456 | (darwin_make_decl_one_only): Define. | |
38457 | (darwin_asm_named_section): Likewise. | |
38458 | (darwin_section_type_flags): Likewise. | |
38459 | (darwin_unique_section): Likewise. | |
38460 | (darwin_emit_unwind_label): Likewise. | |
38461 | (darwin_non_lazy_pcrel): Likewise. | |
38462 | (darwin_asm_output_dwarf_delta): Difference between two labels is | |
38463 | local only if both labels are local. | |
38464 | * config/darwin.h (MAKE_DECL_ONE_ONLY): Define. | |
38465 | (ASM_MAKE_LABEL_LINKONCE): Likewise. | |
38466 | (TARGET_SUPPORTS_HIDDEN): Likewise. | |
38467 | (TARGET_USES_WEAK_UNWIND_INFO): Likewise. | |
38468 | (TARGET_EXPLICIT_INSTANTIATIONS_ONE_ONLY): Likewise. | |
38469 | (FRAME_BEGIN_LABEL): Likewise. | |
38470 | (ASM_DECLARE_OBJECT_NAME): Make references to weak symbols indirect. | |
38471 | (ASM_DECLARE_FUNCTION_NAME): Likewise. | |
38472 | (darwin_eh_frame_section): Give __eh_frame section the coalesced flag. | |
38473 | (TARGET_ASM_UNIQUE_SECTION): Define. | |
38474 | (EH_FRAME_SECTION_NAME): Define. | |
38475 | (EH_FRAME_SECTION_ATTR): Likewise. | |
38476 | (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Likewise. | |
38477 | (TARGET_ASM_NAMED_SECTION): Likewise. | |
38478 | (TARGET_SECTION_TYPE_FLAGS): Likewise. | |
38479 | * doc/tm.texi: Document TARGET_USES_WEAK_UNWIND_INFO, | |
38480 | TARGET_EXPLICIT_INSTANTIATIONS_ONE_ONLY, TARGET_SUPPORTS_HIDDEN, | |
38481 | TARGET_ASM_EMIT_UNWIND_LABEL. | |
38482 | ||
38483 | 2004-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
38484 | ||
38485 | * builtins.c (expand_builtin_mathfn): Add pow10* to the | |
38486 | existing exp10* case. | |
38487 | (expand_builtin): Likewise. | |
38488 | ||
38489 | 2004-03-12 Eric Botcazou <ebotcazou@libertysurf.fr> | |
38490 | ||
38491 | * doc/tm.texi (registers) <Values in Registers>: Add | |
38492 | entry for REGMODE_NATURAL_SIZE. | |
38493 | ||
38494 | 2004-03-12 Richard Henderson <rth@redhat.com> | |
38495 | ||
38496 | PR target/14547 | |
38497 | * target.h (struct gcc_target): Move calls substructure before | |
38498 | booleans. Add split_complex_arg. | |
38499 | * function.c (assign_parms, split_complex_args): Use it. | |
38500 | * calls.c (expand_call): Likewise. | |
38501 | (split_complex_values): Likewise. Check for splittable types | |
38502 | before allocating memory. | |
38503 | (split_complex_types): Likewise. | |
38504 | * system.h (SPLIT_COMPLEX_ARGS): Poison. | |
38505 | * expr.h (SPLIT_COMPLEX_ARGS): Remove. | |
38506 | * target-def.h (TARGET_SPLIT_COMPLEX_ARG): New. | |
38507 | * config/alpha/alpha.c (alpha_split_complex_arg): New. | |
38508 | (TARGET_SPLIT_COMPLEX_ARG): New. | |
38509 | * config/alpha/alpha.h (SPLIT_COMPLEX_ARGS): Remove. | |
38510 | * config/rs6000/rs6000.c (TARGET_SPLIT_COMPLEX_ARG): New. | |
38511 | (rs6000_override_options): Zap it for non-AIX. | |
38512 | (rs6000_function_value): Use targetm.calls.split_complex_arg. | |
38513 | * config/rs6000/rs6000.h (SPLIT_COMPLEX_ARGS): Remove. | |
38514 | * config/xtensa/xtensa.c (TARGET_SPLIT_COMPLEX_ARG): New. | |
38515 | * config/xtensa/xtensa.h (SPLIT_COMPLEX_ARGS): Remove. | |
38516 | * doc/tm.texi (TARGET_SPLIT_COMPLEX_ARG): Modify from old | |
38517 | SPLIT_COMPLEX_ARGS entry. | |
38518 | ||
38519 | 2004-03-11 Richard Henderson <rth@redhat.com> | |
38520 | ||
38521 | * config/alpha/alpha.c (xfloating_ops, vax_cvt_ops): New. | |
38522 | (alpha_lookup_xfloating_lib_func): Use them, return rtx. | |
38523 | (alpha_emit_xfloating_arith): Update to match. | |
38524 | (alpha_emit_xfloating_compare): Likewise. | |
38525 | (alpha_emit_xfloating_cvt): Likewise. | |
38526 | (alpha_emit_xfloating_libcall): Take already built symbol, | |
38527 | mark call const. | |
38528 | * config/alpha/alpha.md (extendsftf2, extenddftf2): Take | |
38529 | op1 in a register. | |
38530 | ||
38531 | 2004-03-11 Richard Henderson <rth@redhat.com> | |
38532 | ||
38533 | PR target/14539 | |
38534 | * config/alpha/alpha.h (STACK_BOUNDARY): Set to 128. | |
38535 | ||
38536 | * simplify-rtx.c (simplify_relational_operation): Fix typo. | |
38537 | ||
38538 | 2004-03-11 Richard Henderson <rth@redhat.com> | |
38539 | ||
38540 | PR middle-end/14477 | |
38541 | * except.c (remove_unreachable_regions): Look thru CALL_PLACEHOLDER. | |
38542 | ||
38543 | 2004-03-11 Ulrich Weigand <uweigand@de.ibm.com> | |
38544 | ||
38545 | PR target/14262 | |
38546 | * calls.c (load_register_parameters): If BLOCK_REG_PADDING is not | |
38547 | defined, pass small BLKmode values in registers in the low-order part. | |
38548 | ||
38549 | 2004-03-11 Ulrich Weigand <uweigand@de.ibm.com> | |
38550 | ||
38551 | * combine.c (if_then_else_cond): Check for NULL return value of | |
38552 | simplify_gen_subreg. | |
38553 | ||
38554 | 2004-03-11 Richard Sandiford <rsandifo@redhat.com> | |
38555 | ||
38556 | PR target/14496 | |
38557 | * config/mips/mips.h (UNITS_PER_FPVALUE): Fix value for | |
38558 | TARGET_SINGLE_FLOAT. | |
38559 | ||
38560 | 2004-03-11 Steve Ellcey <sje@cup.hp.com> | |
38561 | ||
38562 | * config/ia64/hpux.h (TARGET_INIT_LIBFUNCS): Add undef. | |
38563 | * config/ia64/ia64.h (TARGET_INIT_LIBFUNCS): Add define. | |
38564 | * config/ia64/ia64.c (ia64_init_libfuncs): New. | |
38565 | (ia64_hpux_init_libfuncs): Add call to ia64_init_libfuncs. | |
38566 | ||
38567 | 2004-03-11 Roger Sayle <roger@eyesopen.com> | |
38568 | ||
38569 | * fold-const.c (negate_expr_p) <RSHIFT_EXPR>: We can optimize | |
38570 | -((int)X>>C) where C is an integer constant one bit less than the | |
38571 | size of X into (unsigned)X>>C. Similarly for unsigned->signed. | |
38572 | (negate_expr) <RSHIFT_EXPR>: Implement the above transformations. | |
38573 | ||
38574 | * simplify-rtx.c (simplify_unary_operation): Also implement the | |
38575 | above transformations at the RTL level. | |
38576 | ||
38577 | 2004-03-11 Alan Modra <amodra@bigpond.net.au> | |
38578 | ||
38579 | * real.c (encode_ibm_extended): Do round low word. | |
38580 | ||
38581 | 2004-03-11 Ben Elliston <bje@wasabisystems.com> | |
38582 | ||
38583 | * config/arm/arm.md (is_xscale): Comment this attribute and move | |
38584 | it a bit further up in the file, closer to related attributes. | |
38585 | ||
38586 | 2004-03-11 Eric Botcazou <ebotcazou@libertysurf.fr> | |
38587 | ||
38588 | * config/host-solaris.c (sol_gt_pch_use_address): Add | |
38589 | missing terminating marker to comment. | |
38590 | ||
38591 | 2004-03-11 Richard Sandiford <rsandifo@redhat.com> | |
38592 | ||
38593 | * config/mips/mips.md: Use move_operand in splitters for 64-bit moves. | |
38594 | (movdi, movsi, movhi, movqi, movsf, movdf): Remove predicates. | |
38595 | (*movdi_32bit_mips16, *movsi_mips16, *movhi_mips16, *movqi_mips16) | |
e8366202 | 38596 | (*movsf_mips16, *movdf_mips16): Name unnamed patterns. Use |
3eb54e5f ILT |
38597 | move_operand as source predicate in all cases. |
38598 | (*movdi_32bit): Renamed from movdi_internal. Remove 'F' constraint. | |
38599 | Test reg_or_0_operand. Use move_operand as source predicate. | |
38600 | (*movdi_64bit): Renamed from movdi_internal2. Test reg_or_0_operand. | |
38601 | (*movdi_64bit_mips16): Renamed from movdi_internal2_mips16. | |
38602 | (*movsi_internal): Renamed from movsi_internal. Test reg_or_0_operand. | |
38603 | (movhi, movqi, movsf, movdf): Use mips_legitimize_move. | |
38604 | (*movhi_internal): Renamed from movhi_internal. Test reg_or_0_operand. | |
38605 | Use move_operand as source predicate. Remove 'K' constraint. | |
38606 | (*movqi_internal): Likewise movqi_internal. | |
38607 | (*movsf_hardfloat): Renamed from movsf_internal1. Test | |
38608 | reg_or_0_operand. Use move_operand as source predicate. | |
38609 | (*movsf_softfloat): Likewise movsf_internal2. | |
38610 | (*movdf_hardfloat_64bit): Likewise movsf_internal1a. | |
38611 | (*movdf_hardfloat_32bit): Likewise movsf_internal1b. | |
38612 | (*movdf_softfloat): Likewise movdf_internal2. | |
38613 | * config/mips/mips.c (move_operand): Match arbitrary CONST_INTs | |
38614 | for DImode if !TARGET_64BIT. | |
38615 | (mips_legitimize_move): Simplify accordingly. | |
38616 | ||
38617 | 2004-03-11 Josef Zlomek <zlomekj@suse.cz> | |
38618 | ||
38619 | PR/14362 | |
38620 | * var-tracking.c (struct variable_def): Added field refcount. | |
38621 | (variable_htab_free): Decrease the refcount and delete variable | |
38622 | only if there are no more references. | |
38623 | (unshare_variable): New function. | |
38624 | (vars_copy_1): Increase refcount instead of copying the variable. | |
38625 | (variable_union): Share the variables where possible, unshare | |
38626 | the variables if needed. | |
38627 | (variable_different_p): Return false if var1 and var2 are | |
38628 | the same structure. | |
38629 | (variable_was_changed): Init the refcount of new variable. | |
38630 | (set_frame_base_location): Unshare variable if needed. | |
38631 | (set_variable_part): Init the refcount of new variable. | |
38632 | Unshare the variables if needed. | |
38633 | (delete_variable_part): Unshare the variables if needed. | |
38634 | (emit_notes_for_differences_1): Init the refcount of new variable. | |
38635 | (vt_add_function_parameters): Do not add function parameters to | |
38636 | IN set of ENTRY_BLOCK_PTR because it is unused anyway. | |
38637 | (vt_initialize): Do not add frame_base_decl to IN set of | |
38638 | ENTRY_BLOCK_PTR because it is unused anyway. | |
38639 | ||
38640 | 2004-03-11 Josef Zlomek <zlomekj@suse.cz> | |
38641 | ||
38642 | * var-tracking.c (vars_copy_1): Cleanup and speedup chain operations. | |
38643 | (vars_copy): Likewise. | |
38644 | (variable_union): Likewise. | |
38645 | (set_variable_part): Likewise. | |
38646 | (delete_variable_part): Likewise. | |
38647 | ||
38648 | 2004-03-11 Kazu Hirata <kazu@cs.umass.edu> | |
38649 | ||
38650 | * c-typeck.c, combine.c, cse.c, dominance.c, et-forest.h, | |
38651 | ggc-page.c, var-tracking.c, config/fp-bit.c, config/c4x/c4x.c, | |
38652 | config/cris/cris.c, config/i386/ppro.md, config/i860/i860.c, | |
38653 | config/i860/i860.h, config/m32r/m32r.h, config/m32r/xm-m32r.h, | |
38654 | config/m68hc11/m68hc11.h, config/m68hc11/m68hc11.md, | |
38655 | config/mips/mips.c, config/mmix/mmix.c, config/ns32k/ns32k.h, | |
38656 | config/pa/pa.c, config/pa/pa32-regs.h, config/pa/pa64-regs.h, | |
38657 | config/pdp11/pdp11.h, config/rs6000/rs6000.c, | |
38658 | config/stormy16/stormy16.c: Fix comment typos and formatting. | |
38659 | ||
38660 | 2004-03-11 Nathanael Nerode <neroden@gcc.gnu.org> | |
38661 | ||
38662 | * configure: Regenerate, since I forgot to while committing Paolo's | |
38663 | changes. | |
38664 | ||
38665 | 2004-03-08 Paolo Bonzini <bonzini@gnu.org> | |
38666 | ||
38667 | PR ada/14131 | |
38668 | Move language detection to the top level. | |
38669 | * configure.ac: Remove code to detect languages, | |
38670 | it now lives exclusively in the top level. | |
38671 | * aclocal.m4 (gcc_AC_PROG_GNAT): Moved to the | |
38672 | top level, renamed to ACX_PROG_GNAT. | |
38673 | ||
38674 | 2004-03-10 Richard Henderson <rth@redhat.com> | |
38675 | ||
38676 | * c-pch.c (c_common_no_more_pch): Update for gt_pch_use_address | |
38677 | extra arguments. | |
38678 | * config.host (*-*-solaris2*, *-*-linux*): Add out_host_hook_obj | |
38679 | and host_xmake_file fragments. | |
38680 | * ggc-common.c (gt_pch_save): Update for gt_pch_get_address change. | |
38681 | (gt_pch_restore): Similarly for gt_pch_use_address. | |
38682 | (default_gt_pch_get_address): New. | |
38683 | (mmap_gt_pch_get_address): Split out of gt_pch_save. | |
38684 | (default_gt_pch_use_address): Split out of gt_pch_restore. | |
38685 | (mmap_gt_pch_use_address): Likewise. | |
38686 | * hooks.c (hook_voidp_size_t_null): Remove. | |
38687 | (hook_bool_voidp_size_t_false): Remove. | |
38688 | * hooks.h: Likewise. | |
38689 | * hosthooks-def.h (HOST_HOOKS_GT_PCH_GET_ADDRESS): Use one of the | |
38690 | default_ or mmap_ definitions. | |
38691 | (HOST_HOOKS_GT_PCH_USE_ADDRESS): Likewise. | |
38692 | * hosthooks.h (struct host_hooks): Update gt_pch_get_address | |
38693 | and gt_pch_use_address. | |
38694 | * config/host-linux.c, config/host-solaris.c: New files. | |
38695 | * config/x-linux, config/x-solaris: New files. | |
38696 | * config/rs6000/host-darwin.c (darwin_rs6000_gt_pch_get_address): | |
38697 | Update for changed definition. | |
38698 | (darwin_rs6000_gt_pch_use_address): Likewise. | |
38699 | * doc/hostconfig.texi: Update docs. | |
38700 | ||
38701 | 2004-03-10 Richard Henderson <rth@redhat.com> | |
38702 | ||
38703 | PR c/14517 | |
38704 | * c-decl.c (grokdeclarator): Don't warn for duplicate qualifiers | |
38705 | except for pedantic c90 mode. | |
38706 | ||
38707 | 2004-03-10 Kelley Cook <kcook@gcc.gnu.org> | |
38708 | ||
38709 | * configure.ac: Bump AC_PREREQ to 2.59. | |
38710 | * configure: Regenerate. | |
38711 | ||
38712 | 2004-03-10 Uros Bizjak <uros@kss-loka.si> | |
38713 | ||
38714 | * optabs.h (enum optab_index): Add new OTI_exp10 and OTI_exp2. | |
38715 | (exp10_optab, exp2_optab): Define corresponding macros. | |
38716 | * optabs.c (init_optabs): Initialize exp10_optab and exp2_optab. | |
38717 | * genopinit.c (optabs): Implement exp10_optab and exp2_optab | |
38718 | using exp10?f2 and exp2?f2 patterns. | |
38719 | * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_EXP10{,F,L} | |
38720 | using exp10_optab, and BUILT_IN_EXP2{,F,L} using exp2_optab. | |
38721 | (expand_builtin): Expand BUILT_IN_EXP10{,F,L} and BUILT_IN_EXP2{,F,L} | |
38722 | using expand_builtin_mathfn if flag_unsafe_math_optimizations is set. | |
38723 | ||
38724 | * config/i386/i386.md (exp10sf2, exp10df2, exp10xf2, exp2sf2, | |
38725 | exp2df2, exp2xf2): New patterns to implement exp10, exp10f, exp10l, | |
38726 | exp2, exp2f and exp2l built-ins as inline x87 intrinsics. | |
38727 | ||
38728 | 2004-03-10 Anthony Green <green@redhat.com> | |
38729 | ||
38730 | * doc/invoke.texi (ARM Options): Fix -mpfu typo. | |
38731 | ||
38732 | 2004-03-10 David Edelsohn <edelsohn@gnu.org> | |
38733 | ||
38734 | * config/rs6000/aix.h (TARGET_OS_CPP_BUILTINS): Rename to ... | |
38735 | (TARGET_OS_AIX_CPP_BUILTINS): this. Conditionally define | |
38736 | __LONGDOUBLE128. | |
38737 | * config/rs6000/aix41.h (TARGET_OS_CPP_BUILTINS): Use | |
38738 | TARGET_OS_AIX_CPP_BUILTINS. | |
38739 | * config/rs6000/aix43.h (TARGET_OS_CPP_BUILTINS): Same. | |
38740 | * config/rs6000/aix51.h (TARGET_OS_CPP_BUILTINS): Same. | |
38741 | * config/rs6000/aix52.h (TARGET_OS_CPP_BUILTINS): Same. | |
38742 | * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Revert | |
38743 | previous change. | |
38744 | ||
38745 | 2004-03-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
38746 | ||
38747 | * fold-const.c (tree_expr_nonnegative_p): Add more builtin cases. | |
38748 | ||
38749 | 2004-03-10 David Edelsohn <edelsohn@gnu.org> | |
38750 | ||
38751 | * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define | |
38752 | __LONGDOUBLE128 on AIX. | |
38753 | ||
38754 | 2004-03-10 Andrew Haley <aph@redhat.com> | |
38755 | ||
38756 | PR optimization/14381 | |
38757 | * function.c (expand_function_end): Emit a blockage insn before | |
38758 | the epilogue when -fnon-call-exceptions is used. | |
38759 | ||
38760 | * except.c (expand_start_all_catch): Make comment more accurate. | |
38761 | ||
38762 | 2004-03-08 Joel Sherrill <joel@oarcorp.com> | |
38763 | ||
38764 | PR target/14480 | |
38765 | * config/rs6000/t-rtems: Add missing file on branch. | |
38766 | ||
38767 | 2004-03-10 Ulrich Weigand <uweigand@de.ibm.com> | |
38768 | ||
38769 | * dbxout.c (dbxout_symbol_location): Do not output references | |
38770 | to optimized-out constant pool symbols. | |
38771 | ||
38772 | 2004-03-10 Andreas Schwab <schwab@suse.de> | |
38773 | ||
38774 | * config/ia64/ia64.md (divsi3, udivsi3): Remove unused variable | |
38775 | twon34_r. | |
38776 | ||
38777 | 2004-03-09 James E Wilson <wilson@specifixinc.com> | |
38778 | ||
38779 | * alias.c (alias_sets_might_conflict_p): New. | |
38780 | * c-typeck.c (build_c_cast): Call it if warn_strict_aliasing > 1. | |
38781 | * common.opt (Wstrict-aliasing=): New. | |
38782 | * flags.h (warn_strict_aliasing): Change type to int. | |
38783 | * opts.c (warn_strict_aliasing): Change type to int. | |
38784 | (common_handle_option): Handle OPT_Wstrict_aliasing_. | |
38785 | * tree.h (alias_sets_might_conflict_p): Declare it. | |
38786 | * doc/invoke.tex (-Wstrict-aliasing=2): Document it. | |
38787 | ||
38788 | 2004-03-10 Roman Zippel <zippel@linux-m68k.org> | |
38789 | ||
38790 | PR bootstrap/12371 | |
38791 | * config/m68k/m68k.h (FIXED_REGISTERS): Add arg pointer. | |
38792 | (CALL_USED_REGISTERS): Likewise. | |
38793 | (REG_CLASS_CONTENTS): Likewise. | |
38794 | (REG_ALLOC_ORDER): New. | |
38795 | (REGNO_REG_CLASS): Use regno_reg_class. | |
38796 | * config/m68k/m68k.c: Add regno_reg_class array. | |
38797 | ||
38798 | 2004-03-09 Steve Ellcey <sje@cup.hp.com> | |
38799 | ||
38800 | * config/ia64/ia64.md (divsi3): Fix algorithm. | |
38801 | (udivsi3): Ditto. | |
38802 | (setf_exp_xf): Remove '*' from name. | |
38803 | * testsuite/gcc.dg/20040309-1.c: New test. | |
38804 | ||
38805 | 2004-03-09 Ian Lance Taylor <ian@wasabisystems.com> | |
38806 | ||
38807 | * system.h (SUNOS4_SHARED_LIBRARIES): Poison. | |
38808 | * collect2.c: Remove SUNOS4_SHARED_LIBRARIES code. | |
38809 | * config/sparc/aout.h (TARGET_ASM_SELECT_SECTION): Don't define. | |
38810 | * config/sparc/sparc.c (sparc_aout_select_section): Remove. | |
38811 | (sparc_aout_select_rtx_section): Don't check | |
38812 | SUNOS4_SHARED_LIBRARIES. | |
38813 | * config/sparc/sparc.h (SUNOS4_SHARED_LIBRARIES): Don't define. | |
38814 | ||
38815 | 2004-03-10 Hans-Peter Nilsson <hp@axis.com> | |
38816 | ||
38817 | PR other/14474 | |
38818 | * doc/md.texi (Pattern Ordering, Dependent Patterns) | |
38819 | (Jump Patterns, Looping Patterns): Wrap in separate "@ifset | |
38820 | INTERNALS". | |
38821 | ||
38822 | 2004-03-09 Zack Weinberg <zack@codesourcery.com> | |
38823 | ||
38824 | * config/ia64/hpux.h (MULTILIB_DEFAULTS): Define. | |
38825 | (LIBGCC_SPEC): Update to match. | |
38826 | ||
38827 | 2004-03-09 Zack Weinberg <zack@codesourcery.com> | |
38828 | ||
38829 | * c-decl.c (last_function_parms, last_function_parm_tags) | |
38830 | (last_function_parm_others, current_function_parms) | |
38831 | (current_function_parm_tags, current_function_parm_others): | |
38832 | Delete. | |
38833 | (ARG_INFO_PARMS, ARG_INFO_TAGS, ARG_INFO_TYPES, ARG_INFO_OTHERS): | |
38834 | New macros. | |
38835 | (grokdeclarator): For function definitions, save the arg-info | |
38836 | block from the declarator in DECL_ARGUMENTS. | |
38837 | (grokparms): Do not write to last_function_parm*. Use ARG_INFO_* | |
38838 | macros to operate on arg-info block. Can assume ARG_INFO_PARMS | |
38839 | contains only PARM_DECLs. Improve diagnostics. | |
38840 | (get_parm_info): Use ARG_INFO_* macros. Improve comments and | |
38841 | diagnostics. Disable some expensive checks if not ENABLE_CHECKING. | |
38842 | (store_parm_decls_newstyle): Take the function to operate on, | |
38843 | and an arg-info block, as arguments; don't get anything from | |
38844 | current_function_* globals. | |
38845 | (store_parm_decls_oldstyle): Likewise. | |
38846 | (store_parm_decls): Pass fndecl and its arg-info block down to | |
38847 | store_parm_decls_newstyle/oldstyle. Send functions with empty | |
38848 | argument lists through store_parm_decls_newstyle to reduce | |
38849 | overhead. | |
38850 | (pushdecl): Comment on the problems with the call to copy_node. | |
38851 | Clear DECL_ARGUMENTS of the old node after copying it, if it | |
38852 | is an arg-info block instead of a chain of decls. | |
38853 | (start_function): Do not manipulate current_function_parm* or | |
38854 | last_function_parm*. | |
38855 | ||
38856 | 2004-03-09 Roger Sayle <roger@eyesopen.com> | |
38857 | Andrew Pinski <pinskia@physics.uc.edu> | |
38858 | ||
38859 | * ifcvt.c (noce_try_sign_mask): New function to transform | |
38860 | "x = (y < 0) ? z : 0" into the equivalent "x = (y >> C) & z". | |
38861 | (noce_process_if_block): Call noce_try_sign_mask. | |
38862 | ||
38863 | 2004-03-09 Andrew Pinski <apinski@apple.com> | |
38864 | ||
38865 | * c-typeck.c (tagged_types_tu_compatible_p): | |
38866 | Fix typo. | |
38867 | ||
38868 | 2004-03-09 Roger Sayle <roger@eyesopen.com> | |
38869 | ||
38870 | * simplify-rtx.c (simplify_const_relational_operation): New function | |
38871 | renamed from simplify_relational_operation. | |
38872 | (simplify_relational_operation): Change prototype to accept an | |
38873 | additional mode argument. Call simplify_const_relational_operation. | |
38874 | (simplify_gen_relational): Update simplify_relational_operation call. | |
38875 | (simplify_ternary_operation): Update simplify_relational_operation | |
38876 | subroutine call to use simplify_const_relational_operation instead. | |
38877 | ||
38878 | * rtl.h (simplify_const_relational_operation): Prototype here. | |
38879 | (simplify_relational_operation): Add addtional mode argument. | |
38880 | ||
38881 | * combine.c (combine_simplify_rtx): Update calls to | |
38882 | simplify_relational_operation. | |
38883 | (simplify_set): Likewise. | |
38884 | (gen_binary): Likewise. | |
38885 | * cse.c (fold_rtx): Likewise. | |
38886 | * dojump.c (compare_from_rtx): Likewise. | |
38887 | (do_compare_rtx_and_jump): Likewise. | |
38888 | * integrate.c (subst_constants): Likewise. | |
38889 | * unroll.c (simplify_cmp_and_jump_insns): Likewise. | |
38890 | ||
38891 | 2004-03-09 Kazu Hirata <kazu@cs.umass.edu> | |
38892 | ||
38893 | * config/m32r/m32r.md: Remove all define_peephole's. | |
38894 | ||
38895 | 2004-03-09 Alan Modra <amodra@bigpond.net.au> | |
38896 | ||
38897 | * config/rs6000/rs6000.md: Remove trailing whitespace. | |
38898 | ||
38899 | 2004-03-08 Eric Christopher <echristo@redhat.com> | |
38900 | ||
38901 | * Makefile.in (site.exp): Add libiconv variable definition. | |
38902 | ||
38903 | 2004-03-09 Hans-Peter Nilsson <hp@axis.com> | |
38904 | ||
38905 | * configure: Regenerate for config/accross.m4 correction. | |
38906 | ||
38907 | 2004-03-08 Joel Sherrill <joel@oarcorp.com> | |
38908 | ||
38909 | PR target/14480 | |
38910 | * config/rs6000/t-rtems: Add missing file on branch. | |
38911 | ||
38912 | 2004-03-08 Roger Sayle <roger@eyesopen.com> | |
38913 | ||
38914 | PR middle-end/14289 | |
38915 | * c-typeck.c (c_mark_addressable): A register variable should | |
38916 | be considered global if its not automatic, i.e. TREE_PUBLIC, | |
38917 | TREE_STATIC or DECL_EXTERNAL. | |
38918 | * function.c (put_var_into_stack): Call abort when placing a | |
38919 | hard register into the stack, if x_parm_reg_stack_loc is NULL. | |
38920 | ||
38921 | 2004-03-08 Ulrich Weigand <uweigand@de.ibm.com> | |
38922 | ||
38923 | * config/s390/s390.md ("*extendqidi2_short_displ"): Add CC clobber. | |
38924 | ("*extendqisi2_short_displ"): Likewise. | |
38925 | ||
38926 | 2004-03-08 Kazu Hirata <kazu@cs.umass.edu> | |
38927 | ||
38928 | * config/pdp11/pdp11.c (comparison_operator_index): Remove. | |
38929 | (comp_operator): Likewise. | |
38930 | * config/pdp11/pdp11-protos.h: Remove corresponding | |
38931 | prototypes. | |
38932 | ||
38933 | 2004-03-08 Eric Botcazou <ebotcazou@act-europe.fr> | |
38934 | ||
38935 | * expr.c (highest_pow2_factor_for_type): Rename into | |
38936 | highest_pow2_factor_for_target. Use DECL_ALIGN instead of | |
38937 | TYPE_ALIGN when the target is a COMPONENT_REF. | |
38938 | (expand_assignment): Ajust call to highest_pow2_factor_for_type. | |
38939 | ||
38940 | 2004-03-08 Alan Modra <amodra@bigpond.net.au> | |
38941 | ||
38942 | * config/rs6000/rs6000.c: Formatting fix. | |
38943 | (legitimate_offset_address_p): Correct offset range check. | |
38944 | ||
38945 | * config/rs6000/rs6000.c (rs6000_override_options): Don't override | |
38946 | -msoft-float by -mcpu. Consolidate similar code for MASK_MULTIPLE | |
38947 | and MASK_STRING. | |
38948 | ||
38949 | 2004-03-07 Aldy Hernandez <aldyh@redhat.com> | |
38950 | ||
38951 | * config/rs6000/rs6000.md (ashrdi3): Do not call ashrdi3_no_power | |
38952 | for little endian. | |
38953 | ("ashrdi3_no_power"): Disable for little endian. | |
38954 | (ashrdi3): Same. | |
38955 | ||
38956 | 2004-03-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
38957 | ||
38958 | * fold-const.c (tree_expr_nonnegative_p): Reformat checks for | |
38959 | builtins. | |
38960 | ||
38961 | 2004-03-08 Hans-Peter Nilsson <hp@axis.com> | |
38962 | ||
38963 | PR target/14471 | |
38964 | * configure.ac (Target-specific assembler checks) <cris-*-*>: New | |
38965 | case, checking for -no-mul-bug-abort option. | |
38966 | * configure, config.in: Regenerate. | |
38967 | * doc/invoke.texi (CRIS Options): Document -mmul-bug-workaround | |
38968 | and -mno-mul-bug-workaround. | |
38969 | * config/cris/cris.md ("smulsi3_highpart", "umulsi3_highpart") | |
38970 | ("mulsidi3", "umulsidi3"): Prefix output template with "%!". | |
38971 | ("umulhisi3", "umulqihi3", "mulsi3", "mulqihi3", "mulhisi3"): | |
38972 | Ditto. Make attribute "slottable" dependent on TARGET_MUL_BUG. | |
38973 | * config/cris/mulsi3.asm (__Mul) [__CRIS_arch_version >= 10]: Make | |
38974 | sure mulu.d is not last on cache-line. | |
38975 | * config/cris/cris.h (ASM_SPEC): Translate -mno-mul-bug-workaround | |
38976 | into -no-mul-bug-abort depending on HAVE_AS_MUL_BUG_ABORT_OPTION. | |
38977 | (TARGET_MASK_MUL_BUG, TARGET_MUL_BUG): New macros. | |
38978 | (TARGET_SWITCHES): New options -mmul-bug-workaround and | |
38979 | -mno-mul-bug-workaround. | |
38980 | (TARGET_DEFAULT): Include TARGET_MASK_MUL_BUG. | |
38981 | (PRINT_OPERAND_PUNCT_VALID_P): Include '!'. | |
38982 | * config/cris/cris.c (cris_operand_extend_operator): Clarify | |
38983 | relation to MULT in head comment. | |
38984 | (cris_op_str): Abort for MULT. | |
38985 | (cris_print_operand) <case '!'>: New case. | |
38986 | ||
38987 | 2004-03-08 Alan Modra <amodra@bigpond.net.au> | |
38988 | ||
38989 | PR debug/11983 | |
38990 | * dwarf2out.c (enum dw_val_class): Rename dw_val_class_float to | |
38991 | dw_val_class_vec. Replace use throughout file. | |
38992 | (dw_float_const): Delete. | |
38993 | (dw_vec_const): New. | |
38994 | (dw_val_struct_union): Rename val_float to val_vec. Replace use | |
38995 | throughout file. | |
38996 | (add_AT_vec): Rename from add_AT_float. Add elt_size param. | |
38997 | (same_dw_val_p): Adjust vec comparison. Use memcmp. | |
38998 | (size_of_die): Adjust dw_val_class_vec sizing. | |
38999 | (output_die): Output dw_val_class_vec. | |
39000 | (insert_int, extract_int, insert_float): New functions. | |
39001 | (add_const_value_attribute): Use insert_float for CONST_DOUBLE. | |
39002 | Handle CONST_VECTOR. | |
39003 | (add_location_or_const_value_attribute): Handle CONST_VECTOR. | |
39004 | ||
39005 | 2004-03-07 Aldy Hernandez <aldyh@redhat.com> | |
39006 | ||
39007 | * config/rs6000/rs6000.c (rs6000_parse_abi_options): SPE and | |
39008 | AltiVec abi cannot co-exist. | |
39009 | ||
39010 | * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Same. | |
39011 | ||
39012 | 2004-03-07 Jan Hubicka <jh@suse.cz> | |
39013 | ||
e8366202 | 39014 | * except.c (emit_to_new_bb_before): Break fallthru edges. |
3eb54e5f ILT |
39015 | |
39016 | 2004-03-07 Stephane Carrez <stcarrez@nerim.fr> | |
39017 | ||
39018 | * config/m68hc11/m68hc11.md ("*lshrsi3_const"): Disable for 68HC12. | |
39019 | ("*lshrsi3"): Also accept an immediate for 68HC12. | |
39020 | ("*ashrsi3_const"): Likewise. | |
39021 | ("*ashrsi3"): Likewise. | |
39022 | ("*ashlsi3_const"): Likewise. | |
39023 | ("*ashlsi3"): Likewise. | |
39024 | ("cmphi_1_hc12"): Compare two hard register by pushing them and | |
39025 | comparing with a pop; don't use a split for that. | |
39026 | ("cmphi split"): Disable compare split for 68HC12. | |
39027 | ||
39028 | * config/m68hc11/m68hc11.c (m68hc11_notice_update_cc): Invalidate | |
39029 | the status operands if they have side effects. | |
39030 | ||
39031 | 2004-03-07 Kazu Hirata <kazu@cs.umass.edu> | |
39032 | ||
39033 | * defaults.h (LEGITIMIZE_ADDRESS): Provide a default | |
39034 | definition. | |
39035 | * config/arc/arc.h, config/fr30/fr30.h, config/frv/frv.h, | |
39036 | config/h8300/h8300.h, config/ia64/ia64.h, | |
39037 | config/mcore/mcore.h, config/mmix/mmix.h, | |
39038 | config/ns32k/ns32k.h, config/pdp11/pdp11.h, | |
39039 | config/stormy16/stormy16.h, config/v850/v850.h, | |
39040 | config/vax/vax.h (LEGITIMIZE_ADDRESS): Remove. | |
39041 | * doc/tm.texi (LEGITIMIZE_ADDRESS): Mention the default | |
39042 | definition. | |
39043 | ||
39044 | 2004-03-07 Roger Sayle <roger@eyesopen.com> | |
39045 | ||
39046 | * fold-const.c (fold) <IOR_EXPR>: Fold x | x as x. | |
39047 | <XOR_EXPR>: Fold x ^ x as zero. | |
39048 | <AND_EXPR>: Fold x & x as x. | |
39049 | ||
39050 | 2004-03-07 Roger Sayle <roger@eyesopen.com> | |
39051 | ||
39052 | * fold-const.c (fold) <EQ_EXPR>: Rewrite optimization to transform | |
39053 | "foo++ == const" into "++foo == const+incr". | |
39054 | ||
39055 | 2004-03-07 Richard Sandiford <rsandifo@redhat.com> | |
39056 | ||
39057 | * config/mips/mips.c (mips_in_small_data_p): Return false if | |
39058 | TARGET_ABICALLS. | |
39059 | ||
39060 | 2004-03-06 Stephane Carrez <stcarrez@nerim.fr> | |
39061 | ||
39062 | * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Use 2,-sp to push | |
39063 | the stack register. | |
39064 | (expand_prologue): Don't make an interrupt or a trap handler a far | |
39065 | symbol. | |
39066 | (m68hc11_initial_elimination_offset): Likewise. | |
39067 | ||
39068 | 2004-03-06 Richard Henderson <rth@redhat.com> | |
39069 | ||
39070 | * config/alpha/alpha.c (alpha_in_small_data_p): False for functions. | |
39071 | ||
39072 | 2004-03-06 Kazu Hirata <kazu@cs.umass.edu> | |
39073 | ||
39074 | * config/ns32k/ns32k-protos.h: Add a prototype for | |
39075 | ns32k_notice_update_cc. | |
39076 | * config/ns32k/ns32k.c (ns32k_notice_update_cc): New. | |
39077 | * config/ns32k/ns32k.h (NOTICE_UPDATE_CC): Call | |
39078 | ns32k_notice_update_cc. | |
39079 | ||
39080 | 2004-03-06 Ulrich Weigand <uweigand@de.ibm.com> | |
39081 | ||
39082 | * config/s390/s390.md ("load_multiple", "*load_multiple_di", | |
39083 | "*load_multiple_si"): Allow only if reload_completed. | |
39084 | ("store_multiple", "*store_multiple_di", "*store_multiple_si"): | |
39085 | Likewise. | |
39086 | ||
39087 | 2004-03-06 Kazu Hirata <kazu@cs.umass.edu> | |
39088 | ||
39089 | * config/vax/vax-protos.h: Add a prototype for | |
39090 | vax_notice_update_cc. | |
39091 | * config/vax/vax.c (vax_notice_update_cc): New. | |
39092 | * config/vax/vax.h (NOTICE_UPDATE_CC): Call | |
39093 | vax_notice_update_cc. | |
39094 | ||
39095 | 2004-03-06 David Edelsohn <edelsohn@gnu.org> | |
39096 | ||
39097 | * collect2.c (main): Only export initfunc and finifunc if | |
39098 | LD_INIT_SWITCH not defined. | |
39099 | (scan_prog_file): Only export constructors and destructors if | |
39100 | LD_INIT_SWITCH not defined. Only export symbols not found in | |
39101 | shared objects. | |
39102 | ||
39103 | 2004-03-06 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
39104 | ||
39105 | * pa.md (icacheflush): Reorder operands to make match_scratch operand | |
39106 | last. | |
39107 | * pa.h (INITIALIZE_TRAMPOLINE): Remove unnecessary scratch argument | |
39108 | from calls to gen_icacheflush. | |
39109 | ||
39110 | 2004-03-06 Richard Henderson <rth@redhat.com> | |
39111 | ||
39112 | * config/alpha/alpha.h (MASK_LONG_DOUBLE_128): New. | |
39113 | (TARGET_LONG_DOUBLE_128): New. | |
39114 | (TARGET_SWITCHES): Add long-double-{128,64}. | |
39115 | (TARGET_HAS_XFLOATING_LIBS): Default to TARGET_LONG_DOUBLE_128. | |
39116 | (LONG_DOUBLE_TYPE_SIZE): Honor TARGET_LONG_DOUBLE_128. | |
39117 | (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): New. | |
39118 | (WIDEST_HARDWARE_FP_SIZE): New. | |
39119 | (TARGET_CPU_CPP_BUILTINS): Define __LONG_DOUBLE_128__. | |
39120 | * config/alpha/alpha.c (override_options): Clear MASK_LONG_DOUBLE_128 | |
39121 | if TARGET_VAX_FLOAT. | |
39122 | * config/alpha/osf5.h (LONG_DOUBLE_TYPE_SIZE): Remove. | |
39123 | (TARGET_DEFAULT): Set MASK_LONG_DOUBLE_128. | |
39124 | ||
39125 | 2004-03-06 Richard Henderson <rth@redhat.com> | |
39126 | ||
39127 | * config/alpha/alpha.c (alpha_swapped_comparison_operator): Fix | |
39128 | botched rtx class conversion. | |
39129 | ||
39130 | 2004-03-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
39131 | ||
39132 | * tree.h (BUILTIN_EXP10_P, BUILTIN_EXPONENT_P, BUILTIN_SQRT_P, | |
39133 | BUILTIN_CBRT_P, BUILTIN_ROOT_P): New macros. | |
39134 | ||
39135 | * builtins.c (fold_builtin_logarithm, fold_builtin): Use new | |
39136 | macros. | |
39137 | * fold-const.c (fold_mathfn_compare, fold): Likewise. | |
39138 | ||
39139 | 2004-03-06 Eric Botcazou <ebotcazou@libertysurf.fr> | |
39140 | ||
39141 | PR target/14343 | |
39142 | * config/i386/i386.md (movv2di_internal): Conditionalize on | |
39143 | TARGET_SSE, not TARGET_SSE2. | |
39144 | ||
39145 | 2004-03-05 Chris Demetriou <cgd@broadcom.com> | |
39146 | ||
39147 | * config.gcc (mips64orion-*-elf*, mips64orionel-*-elf*): Delete | |
39148 | duplicated line. | |
39149 | ||
39150 | 2004-03-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
39151 | ||
39152 | * builtins.c: Consistently use logN not log* in comments. | |
39153 | ||
39154 | 2004-03-05 Andreas Krebbel <krebbel1@de.ibm.com> | |
39155 | ||
39156 | * rtl.h (mem_expr_equal_p): Function prototype added. | |
39157 | * cfgcleanup.c (merge_memattrs): New function. | |
39158 | (flow_find_cross_jump): Call merge_memattrs for matching insns. | |
39159 | * emit-rtl.c (mem_expr_equal_p): New function. | |
39160 | ||
39161 | 2004-03-05 Ziemowit Laski <zlaski@apple.com> | |
39162 | ||
39163 | * objc/objc-act.c (synth_module_prologue): Const-qualify | |
39164 | objc_selector type if using the GNU runtime; fix generated | |
39165 | signatures for objc_msg_lookup and objc_msg_lookup_super | |
39166 | to match what GNU ObjC headers provide; reformat and clean up. | |
39167 | (synth_self_and_ucmd_args): Use previously constructed (and | |
39168 | hence possibly const-qualified) objc_selector type. | |
39169 | ||
39170 | 2004-03-05 Kazu Hirata <kazu@cs.umass.edu> | |
39171 | ||
39172 | * doc/tm.texi (HARD_REGNO_RENAME_OK): Document. | |
39173 | ||
39174 | 2004-03-05 Jason Merrill <jason@redhat.com> | |
39175 | ||
39176 | * tree.h (TYPE_HASH): Use TYPE_UID. | |
39177 | (TREE_HASH): New macro with old definition of TYPE_HASH. | |
39178 | * tree.c (build_type_attribute_variant): Use iterative_hash_object. | |
39179 | (build_array_type, build_function_type): Likewise. | |
39180 | (build_method_type_directly): Likewise. | |
39181 | (build_offset_type, build_complex_type): Likewise. | |
39182 | (type_hash_list, attribute_hash_list): Likewise. Now static. | |
39183 | * except.c: s/TYPE_HASH/TREE_HASH/. | |
39184 | ||
39185 | 2004-03-05 Bob Wilson <bob.wilson@acm.org> | |
39186 | ||
39187 | * config/xtensa/xtensa.c (function_arg): Handle 16-byte aligned args. | |
39188 | (xtensa_va_start): Initialize __va_stk to ($arg_ptr - 32). Adjust | |
39189 | __va_ndx by 2 words when referencing an argument on the stack. | |
39190 | (xtensa_va_arg): Handle 16-byte aligned args. Adjust __va_ndx by 2 | |
39191 | words when an arg on the stack is first seen. | |
39192 | ||
39193 | 2004-03-05 Paul Brook <paul@codesourcery.com> | |
39194 | ||
39195 | * arm.h (ARM_FLAG_VFP): Remove. | |
39196 | (ARM_FLAG_ATPCS, CIRRUS_FIX_INVALID_INSNS): Renumber. | |
39197 | * netbsd-elf.h (ARM_FLAG_VFP): Remove. | |
39198 | ||
39199 | 2004-03-05 Paul Brook <paul@codesourcery.com> | |
39200 | ||
39201 | * function.c (assign_parms): Include pretend alignment offset. | |
39202 | ||
39203 | 2004-03-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
39204 | ||
39205 | * stor-layout.c (layout_type, case FUNCTION_TYPE): Make size | |
39206 | FUNCTION_BOUNDARY, not POINTER_SIZE * 2. | |
39207 | ||
39208 | 2004-03-05 Ian Lance Taylor <ian@wasabisystems.com> | |
39209 | ||
39210 | * configure.ac: When passing --enable-languages to subdir | |
39211 | configure when host != build, make sure we don't pass an empty | |
39212 | value. | |
39213 | * configure: Regenerate. | |
39214 | ||
39215 | 2004-03-05 Nathan Sidwell <nathan@codesourcery.com> | |
39216 | ||
39217 | PR 13577 | |
39218 | * gcc.c (cc1_options): Robustify -auxbase-strip from multiple -o | |
39219 | options. | |
39220 | ||
39221 | 2004-03-05 Paolo Bonzini <bonzini@gnu.org> | |
39222 | ||
39223 | * simplify-rtx.c (simplify_relational_operation): If | |
39224 | flag_wrapv is set, do not move terms between the two | |
39225 | side of a relational operator. | |
39226 | ||
39227 | 2004-03-05 Paolo Bonzini <bonzini@gnu.org> | |
39228 | ||
39229 | * rtlanal.c: Include target.h and output.h | |
39230 | (rtx_cost, address_cost, default_address_cost): Move from... | |
39231 | * cse.c (rtx_cost, address_cost, default_address_cost): | |
39232 | ... this file. | |
39233 | * rtl.h (rtx_cost, address_cost): Move under rtlanal.c. | |
39234 | * Makefile.in: Adjust dependencies. | |
39235 | ||
39236 | 2004-03-05 Paolo Bonzini <bonzini@gnu.org> | |
39237 | ||
39238 | * cse.c (cse_end_of_basic_block): Make static. | |
39239 | * local-alloc.c (function_invariant_p): Move to | |
39240 | reload1.c. | |
39241 | * loop.c (libcall_other_reg, record_excess_regs): | |
39242 | Make static. | |
39243 | * reload1.c (function_invariant_p): Moved here | |
39244 | from local-alloc.c, made static. | |
39245 | * rtl.h (cse_end_of_basic_block, function_invariant_p, | |
39246 | libcall_other_reg, record_excess_regs): Remove | |
39247 | declarations. | |
39248 | ||
39249 | 2004-03-05 Kazu Hirata <kazu@cs.umass.edu> | |
39250 | ||
39251 | * config/m32r/m32r.c (signed_comparison_operator): Add a | |
39252 | missing parenthesis. | |
39253 | ||
39254 | 2004-03-04 Ian Lance Taylor <ian@wasabisystems.com> | |
39255 | ||
39256 | * ggc-common.c (gt_pch_restore): Don't unmap addr unless we are | |
39257 | going to call mmap again. Read the file into the right place. | |
39258 | Give a fatal error if we have to relocate. | |
39259 | ||
39260 | 2004-03-04 Bob Wilson <bob.wilson@acm.org> | |
39261 | ||
39262 | * config/xtensa/xtensa.c (xtensa_return_in_msb): New function. | |
39263 | (TARGET_RETURN_IN_MSB): Define to xtensa_return_in_msb. | |
39264 | ||
39265 | 2004-03-05 Hans-Peter Nilsson <hp@axis.com> | |
39266 | ||
39267 | PR other/14354 | |
39268 | * config/fp-bit.c (_fpdiv_parts): Do not round when pack_d would | |
39269 | round the same. When rounding, clear bits that would cause a | |
39270 | second rounding in pack_d. | |
39271 | (_fpmul_parts): Ditto. Remove #if 0:d code. | |
39272 | ||
39273 | 2004-03-04 Ziemowit Laski <zlaski@apple.com> | |
39274 | ||
39275 | PR c++/14425, c++/14426 | |
39276 | * config/rs6000/altivec.h (vec_splat_s8, vec_splat_s16, | |
39277 | vec_splat_s32, vec_splat_u8, vec_splat_u16, vec_splat_u32): | |
39278 | Change C++ definitions to accept a 'const int' argument; | |
39279 | the prototypes already do. | |
39280 | * config/rs6000/rs6000.c (rs6000_common_init_builtins): | |
39281 | Rename v4si_ftype_char, v8hi_ftype_char, v16qi_ftype_char, | |
39282 | v4sf_ftype_v4si_char, v4si_ftype_v4sf_char, v4si_ftype_v4si_char, | |
39283 | v8hi_ftype_v8hi_char, v16qi_ftype_v16qi_char, | |
39284 | v16qi_ftype_v16qi_v16qi_char, v8hi_ftype_v8hi_v8hi_char, | |
39285 | v4si_ftype_v4si_v4si_char and v4sf_ftype_v4sf_v4sf_char to | |
39286 | end in ..._int; change them to accept an int instead of a char | |
39287 | as the last parameter. | |
39288 | ||
39289 | 2004-03-04 Phil Edwards <phil@codesourcery.com> | |
39290 | ||
e8366202 | 39291 | * genmultilib: Change '=' to '-' when translating option names |
3eb54e5f ILT |
39292 | to directory names. |
39293 | ||
39294 | 2004-03-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
39295 | ||
39296 | * expr.c (expand_expr_real, case COMPONENT_REF): Get proper type of | |
39297 | stack slot for temp used for result of BLKmode but in integral mode. | |
39298 | ||
39299 | 2004-03-04 Jan Hubicka <jh@suse.cz> | |
39300 | ||
39301 | * reload.c (find_reloads): Reorganize if seqeunce to switch. | |
39302 | ||
e8366202 MS |
39303 | * cfgrtl.c (rtl_redirect_edge_and_branch): Set the source BB as dirty. |
39304 | (cfglayout_redirect_edge_and_branch): Set the source BB as dirty. | |
3eb54e5f ILT |
39305 | |
39306 | 2004-03-04 Steve Ellcey <sje@cup.hp.com> | |
39307 | ||
39308 | * config/ia64/ia64.md (divdf3_internal_thr): Fix algorithm. | |
39309 | * testsuite/gcc.dg/20040303-1.c: New test. | |
39310 | ||
39311 | 2004-03-04 Steven Bosscher <stevenb@suse.de> | |
39312 | ||
39313 | * ppro.md: Rewrite as a DFA pipeline description. | |
39314 | * i386.md: Remove all uses of the ppro_uops attribute. | |
39315 | * i386.c: (ix86_safe_ppro_uops, ix86_dump_ppro_packet, | |
39316 | ix86_reorder_insn, ix86_sched_reorder_ppro, ix86_sched_init, | |
39317 | ix86_sched_reorder, ix86_variable_issue, | |
39318 | struct ix86_sched_data, TARGET_SCHED_VARIABLE_ISSUE, | |
39319 | TARGET_SCHED_INIT, TARGET_SCHED_REORDER): Remove. | |
39320 | (ia32_use_dfa_pipeline_interface): Add TARGET_PENTIUMPRO. | |
39321 | (ia32_multipass_dfa_lookahead): Add TARGET_PENTIUMPRO. | |
39322 | * athlon.md (athlon_ssecmp_load): Fix comment | |
39323 | ||
39324 | 2004-03-04 Stuart Hastings <stuart@apple.com> | |
39325 | ||
a1d1988f | 39326 | * doc/invoke.texi: Document -mlongcall for Darwin/PPC. |
3eb54e5f ILT |
39327 | |
39328 | 2004-03-04 Stuart Hastings <stuart@apple.com> | |
39329 | ||
a1d1988f | 39330 | * config/i386/darwin.h: Darwin/x86 doesn't support CPUs before |
3eb54e5f ILT |
39331 | 686, tell Darwin assembler to allow prefetch insns, non-empty def |
39332 | of SUBTARGET_OPTION_TRANSLATE_TABLE. | |
39333 | ||
39334 | 2004-03-04 DJ Delorie <dj@redhat.com> | |
39335 | ||
39336 | PR optimization/14282 | |
39337 | * sched-deps.c (sched_analyze_insn): Allow a stack adjustment | |
39338 | between a call and the assignment of its return value. | |
39339 | ||
39340 | 2004-03-04 Kazu Hirata <kazu@cs.umass.edu> | |
39341 | ||
39342 | * config/h8300/h8300.c: Put a comment for every function. | |
39343 | ||
39344 | 2004-03-04 Kazu Hirata <kazu@cs.umass.edu> | |
39345 | ||
39346 | * config/h8300/h8300.md: Add comments about peephole2's. | |
39347 | ||
39348 | 2004-03-04 Steven Bosscher <stevenb@suse.de> | |
39349 | ||
39350 | * i386.h (TARGET_CPU_DEFAULT_nocona): Fix value. | |
39351 | ||
39352 | 2004-03-04 Jan Hubicka <jh@suse.cz> | |
39353 | ||
39354 | * cfgcleanup.c (thread_jump): Update call of cselib_init. | |
39355 | * cselib.c (cselib_record_memory): New static variable. | |
39356 | (cselib_lookup_mem, cselib_record_set, cselib_record_sets): | |
39357 | Give up on memories when asked for. | |
39358 | (cselib_init): Accept new argument. | |
39359 | * cselib.h (cselib_init): Update prototype. | |
39360 | * gcse.c (local_cprop_pass): Update call of cselib_init. | |
39361 | * loop.c (load_mems): Update call of cselib_init. | |
39362 | * postreload.c (reload_cse_regs_1): Update call of cselib_init. | |
39363 | * sched-deps.c (sched_analyze): Update call of cselib_init. | |
39364 | ||
39365 | 2004-03-04 David Edelsohn <edelsohn@gnu.org> | |
39366 | GP <gp@qnx.com> | |
39367 | ||
39368 | * config/rs6000/rs6000.c (output_function_profiler): Append @plt | |
39369 | when compiling PIC. | |
39370 | ||
39371 | 2004-03-04 Josef Zlomek <zlomekj@suse.cz> | |
39372 | ||
39373 | PR/14362 | |
39374 | * var-tracking.c (track_expr_p): Do not track variables which | |
39375 | should be ignored for debugging purposes. | |
39376 | ||
39377 | 2004-03-04 Alan Modra <amodra@bigpond.net.au> | |
39378 | ||
39379 | * real.c (encode_ibm_extended): Don't bother rounding low double. | |
39380 | * c-cppbuiltin.c (builtin_define_float_constants): Tweak MAX | |
39381 | when fmt->pnan < fmt->p. | |
39382 | ||
39383 | 2004-03-04 Eric Christopher <echristo@redhat.com> | |
39384 | ||
39385 | * config/mips/mips.h (FUNCTION_ARG_REGNO_P): Fix to check | |
39386 | only range of valid arg registers and fixed_regs. | |
39387 | ||
39388 | 2004-03-04 Alan Modra <amodra@bigpond.net.au> | |
39389 | ||
39390 | PR target/14406 | |
39391 | * config/rs6000/rs6000.md (abstf2, abstf2+1): Delete define_insn. | |
39392 | (abstf2, abstf2_internal): New define_expand. | |
39393 | ||
39394 | 2004-03-04 Eric Botcazou <ebotcazou@libertysurf.fr> | |
39395 | ||
39396 | PR optimization/14235 | |
39397 | * expr.c (convert_move): Copy the source to a new pseudo | |
39398 | when converting from a sub-word source to a larger-than-word | |
39399 | register which conflicts with the source. | |
39400 | ||
39401 | 2004-03-03 Zack Weinberg <zack@codesourcery.com> | |
39402 | ||
39403 | PR 13728 | |
39404 | * c-decl.c (diagnose_mismatched_decls): Issue an error for two | |
39405 | parameters with the same name, unless one is a forward decl. | |
39406 | Do not issue a redundant-redeclaration warning for forward | |
39407 | decls of parameters. | |
39408 | ||
39409 | 2004-03-04 David Edelsohn <edelsohn@gnu.org> | |
39410 | ||
39411 | * doc/install.texi (*-ibm-aix*): Document use of Bash to speed up | |
39412 | configuration. | |
39413 | ||
39414 | 2004-03-03 Ian Lance Taylor <ian@wasabisystems.com> | |
39415 | ||
39416 | * ggc-zone.c (ggc_pch_write_object): Don't align file pointer. | |
39417 | ||
39418 | 2004-03-04 Alan Modra <amodra@bigpond.net.au> | |
39419 | ||
39420 | * target-def.h (TARGET_OPTF): Delete. | |
39421 | * c-opts.c (TARGET_OPTF): Define. | |
39422 | ||
39423 | 2004-03-04 Jan Hubicka <jh@suse.cz> | |
39424 | ||
39425 | * cselib.c (cselib_finish): Fix another miss-application of my previous | |
39426 | patch. | |
39427 | ||
39428 | 2004-03-03 Mike Stump <mrs@apple.com> | |
39429 | ||
39430 | Add framework support for darwin. | |
39431 | ||
39432 | * c-incpath.c: Include target.h and machmode.h. | |
39433 | (add_path): Use a consistent style for cpp_dir. Initialize | |
39434 | p->construct to 0. | |
39435 | (add_cpp_dir_path): New. | |
39436 | (register_include_chains): Add use of extra_includes callback. | |
39437 | (hook_void_int): Add. | |
39438 | (target_c_incpath): Add. | |
39439 | * c-incpath.h (add_cpp_dir_path): New. | |
39440 | (target_c_incpath_s): Add. | |
39441 | (target_c_incpath): Add. | |
39442 | (C_INCPATH_INIT): Add. | |
39443 | * c-opts.c (c_common_missing_argument, | |
39444 | c_common_handle_option): Add -F argument processing. | |
39445 | * c.opt: Add -F argument processing. | |
39446 | * gcc.c (trad_capable_cpp): Add -F argument processing. | |
39447 | * cppfiles.c (find_file_in_dir): Update to use construct | |
39448 | callback. | |
39449 | (search_path_exhausted, cpp_get_path, cpp_get_buffer, | |
39450 | cpp_get_prev): New. | |
39451 | (_cpp_find_file): Use search_path_exhausted. | |
39452 | (make_cpp_dir): Initialize construct to 0. | |
39453 | * cpplib.h (missing_header_cb | |
39454 | cpp_get_path, cpp_get_buffer, cpp_get_file, cpp_get_prev): New. | |
39455 | (cpp_callbacks): Add missing_header | |
39456 | (cpp_dir): Add construct. | |
39457 | * target-def.h: (TARGET_OPTF): New. | |
39458 | * hooks.c (hook_void_int, hook_void_charptr): Add. | |
39459 | * hooks.h (hook_void_int, hook_void_charptr): Add. | |
39460 | * Makefile.in (c-incpath.o) : Add $(TARGET_H) and | |
39461 | $(MACHMODE_H) dependencies. | |
39462 | * doc/invoke.texi (Darwin Options): Document -F. | |
39463 | * doc/tm.texi (TARGET_EXTRA_INCLUDES): Add. | |
39464 | (TARGET_OPTF): Add. | |
39465 | * fix-header.c (target_c_incpath): Add. | |
39466 | ||
39467 | * config/darwin-c.c: Add c-incpath.h include. | |
39468 | (using_frameworks, find_subframework_file, | |
39469 | find_subframework_header, add_system_framework_path, | |
39470 | frameworks_in_use, num_frameworks, max_frameworks, | |
39471 | add_framework, find_framework, struct framework_header, | |
39472 | framework_header_dirs, framework_construct_pathname, | |
39473 | find_subframework_file, add_system_framework_path, | |
39474 | add_framework_path, framework_defaults, | |
39475 | darwin_register_frameworks, find_subframework_header): Add. | |
39476 | * config/darwin.h (TARGET_EXTRA_INCLUDES, TARGET_OPTF): New. | |
39477 | (TARGET_OPTION_TRANSLATE_TABLE): Add -framework support. | |
39478 | (CPP_SPEC): Add __APPLE_CC__ support. | |
39479 | * t-darwin (darwin-c.o): Add c-incpath.h dependency. | |
39480 | ||
39481 | 2004-03-04 Jan Hubicka <jh@suse.cz> | |
39482 | ||
39483 | * cselib.c (cselib_finish): Fix miss-application of my previous | |
39484 | patch. | |
39485 | ||
39486 | 2004-03-03 Kazu Hirata <kazu@cs.umass.edu> | |
39487 | ||
39488 | * hooks.c (hook_tree_tree_identity): New. | |
39489 | * hooks.h: Add a prototype for hook_tree_tree_identity. | |
39490 | * stmt.c (expand_asm_operands): Use targetm.md_asm_clobbers | |
39491 | instead of MD_ASM_CLOBBERS. | |
39492 | * system.h (MD_ASM_CLOBBERS): Poison. | |
39493 | * target-def.h (TARGET_MD_ASM_CLOBBERS): New. | |
39494 | (TARGET_INITIALIZER): Add TARGET_MD_ASM_CLOBBERS. | |
39495 | * target.h (gcc_target): Add md_asm_clobbers. | |
39496 | * config/i386/i386.c (TARGET_MD_ASM_CLOBBERS): New. | |
39497 | (ix86_md_asm_clobbers): New. | |
39498 | * config/i386/i386.h (MD_ASM_CLOBBERS): Remove. | |
39499 | * doc/tm.texi (MD_ASM_CLOBBERS): Change to | |
39500 | TARGET_MD_ASM_CLOBBERS. | |
39501 | ||
39502 | 2004-03-03 Stuart Hastings <stuart@apple.com> | |
39503 | ||
a1d1988f | 39504 | * config.gcc: Arrange for Darwin/x86 to build libgcc_eh.a. |
3eb54e5f ILT |
39505 | |
39506 | 2004-03-03 Eric Botcazou <ebotcazou@libertysurf.fr> | |
39507 | ||
39508 | * config/sparc/sparc.c (noov_compare64_op): Fix typo. | |
39509 | ||
39510 | * config/sparc/sparc.h (ASM_FLOAT): Delete. | |
39511 | (ASM_DOUBLE): Likewise. | |
39512 | (ASM_LONGDOUBLE): Likewise. | |
39513 | * config/sparc/pbd.h (ASM_INT_OP): Delete. | |
39514 | ||
39515 | 2004-03-03 Richard Henderson <rth@redhat.com> | |
39516 | ||
39517 | PR opt/13862 | |
39518 | * cselib.c (cselib_record_sets): Don't record multiple sets in | |
39519 | asm insns. | |
39520 | ||
39521 | 2004-03-03 Mostafa Hagog <mustafa@il.ibm.com> | |
39522 | ||
39523 | * common.opt: Add description of the new -fgcse-after-reload flag. | |
39524 | ||
39525 | * flags.h (flag_gcse_after_reload): Declaration of global variable. | |
39526 | ||
39527 | * gcse.c (reg_used_on_edge ,reg_set_between_after_reload_p, | |
39528 | reg_used_between_after_reload_p, rtx get_avail_load_store_reg, | |
39529 | is_jump_table_basic_block, bb_has_well_behaved_predecessors, | |
39530 | get_bb_avail_insn, hash_scan_set_after_reload, | |
39531 | compute_hash_table_after_reload, eliminate_partially_redundant_loads, | |
39532 | gcse_after_reload, get_bb_avail_insn): New functions to implement | |
39533 | gcse-after-reload. | |
39534 | (gcse_after_reload_main): New function, the main entry point to | |
39535 | gcse-after-reload. | |
39536 | ||
39537 | * rtl.h (gcse_after_reload_main): Declaration of the new function. | |
39538 | ||
39539 | * opts.c (common_handle_option): Handle the -fgcse-after-reload flag. | |
39540 | ||
39541 | * toplev.c (flag_gcse_after_reload): Initialization. | |
39542 | ||
39543 | * passes.c (rest_of_handl_gcse2): Call gcse_after_reload_main. | |
39544 | ||
39545 | * params.def (PARAM_GCSE_AFTER_RELOAD_PARTIAL_FRACTION, | |
39546 | PARAM_GCSE_AFTER_RELOAD_CRITICAL_FRACTION): New parameters for tuning | |
39547 | the gcse after reload optimization. | |
39548 | ||
39549 | * params.h (GCSE_AFTER_RELOAD_PARTIAL_FRACTION, | |
39550 | GCSE_AFTER_RELOAD_CRITICAL_FRACTION): Two macros to access the tuning | |
39551 | parameters. | |
39552 | ||
39553 | * doc/invoke.texi: Documentation for the new flag gcse-after-reload. | |
39554 | ||
39555 | 2004-03-03 Nicolas Pitre <nico@cam.org> | |
39556 | ||
39557 | * config/arm/ieee754-df.S (muldf3, divdf3): Fix denormalization of | |
39558 | small negative values. | |
39559 | ||
39560 | 2004-03-03 Jan Hubicka <jh@suse.cz> | |
39561 | ||
e8366202 | 39562 | * cselib.c (hash_table): Remove GTY marker. |
3eb54e5f ILT |
39563 | (reg_values): Turn into array. |
39564 | (used_regs): Likewise. | |
39565 | (n_used_regs): New static variable. | |
39566 | (reg_values_old): Kill. | |
39567 | (clear_table): Update uses of arrays. | |
39568 | (cselib_lookup): Likewise. | |
39569 | (cselib_record_set): Likewise. | |
39570 | (cselib_init): Likewise. | |
39571 | (cselib_finish): Likewise. | |
39572 | (cselib_udpate_varray_sizes): Kill. | |
39573 | * cselib.h (cselib_update_varray_sizes): Kill. | |
39574 | ||
39575 | 2004-03-03 Paul Brook <paul@codesourcery.com> | |
39576 | ||
39577 | * flow.c (ior_reg_cond, and_reg_cond): Remove stray ")". | |
39578 | ||
39579 | 2004-03-03 Jan Hubicka <jh@suse.cz> | |
39580 | ||
39581 | * ggc-common.c (ggc_alloc_cleared_stat, ggc_realloc_stat): | |
39582 | Rename from ...; make statistics transparent. | |
39583 | (ggc_alloc_cleared, ggc_realloc_stat): ... these. | |
39584 | (loc_descriptor): New structure. | |
39585 | (hash_descriptor, eq_descriptor, loc_descriptor, cmp_statistics, | |
39586 | add_statistics): | |
39587 | New static function. | |
39588 | (ggc_record_overhead, dump_statistics): New global function. | |
39589 | * ggc-none.c (ggc_alloc_types_stat, ggc_alloc_stat, ggc_alloc_zone_stat, | |
39590 | ggc_alloc_cleared_stat, ggc_realloc_stat, ggc_alloc_typed_stat): Rename | |
39591 | from ...; accept locations | |
39592 | (ggc_alloc_types, ggc_alloc, ggc_alloc_zone, ggc_alloc_cleared, | |
e8366202 | 39593 | ggc_realloc, ggc_alloc_typed): ... this one. |
3eb54e5f ILT |
39594 | from ...; accept locations |
39595 | * ggc-page.c (ggc_alloc_typed_stat, ggc_alloc_zone_stat, | |
39596 | ggc_alloc_stat): Rename from ... ; pass locations | |
39597 | * ggc-page.c (ggc_alloc_typed, ggc_alloc_zone, ggc_alloc): | |
39598 | ... this one. | |
39599 | (ggc_alloc_stat): Record overehead. | |
39600 | * ggc.h (ggc_alloc_types, ggc_alloc, ggc_alloc_zone, ggc_alloc_cleared, | |
e8366202 | 39601 | ggc_realloc, ggc_alloc_typed): Turn to macros |
3eb54e5f ILT |
39602 | (ggc_alloc_types_stat, ggc_alloc_stat, ggc_alloc_zone_stat, |
39603 | ggc_alloc_cleared_stat, ggc_realloc_stat, ggc_alloc_typed_stat): Declare. | |
39604 | (dump_ggc_loc_satistics, ggc_record_overehead): Declare. | |
39605 | * langhooks.h (lhd_make_node): Declare. | |
39606 | (LANG_HOOKS_MAKE_TYPE): Default to new function, | |
39607 | * langhooks.c (lhd_make_node): New. | |
39608 | * rtl.c (rtx_alloc_stat, swallow_copy_rtx_stat): Rename from ... ; pass | |
39609 | locations. | |
39610 | (rtx_alloc, swallow_copy_rtx): ... this one. | |
39611 | * rtl.h (rtx_alloc, swallow_copy_rtx): Turn to macros. | |
39612 | * rtl.c (rtx_alloc_stat, swallow_copy_rtx_stat): Declare. | |
39613 | * toplpev.c (finalize): Dump stats. | |
39614 | * tree.c (make_node_stat, copy_node_stat, make_tree_vec_stat, | |
39615 | build_tree_list_stat, tree_cons_stat, build?_stat, build_decl_stat): | |
39616 | Rename from ... ; pass locators. | |
39617 | (make_node, copy_node, make_tree_vec, build_tree_list, tree_cons, | |
39618 | build?, build_decl): Declare. | |
39619 | * tree.h (make_node_stat, copy_node_stat, make_tree_vec_stat, | |
39620 | build_tree_list_stat, tree_cons_stat, build?_stat, build_decl_stat): | |
39621 | Declare. | |
39622 | (make_node, copy_node, make_tree_vec, build_tree_list, tree_cons, | |
39623 | build?, build_decl): New macros. | |
39624 | * Makefile.in (RTL_H, TREE_H): Add statistics.h dependency. | |
39625 | * statistics.h: New file. | |
39626 | ||
39627 | 2004-03-03 Maciej W. Rozycki <macro@ds2.pg.gda.pl> | |
39628 | Richard Sandiford <rsandifo@redhat.com> | |
39629 | ||
39630 | * config/mips/mips.h (MASK_FIX_SB1): Bump. | |
39631 | (MASK_FIX_R4400, TARGET_FIX_R4400): New macros. | |
39632 | (TARGET_SWITCHES): Add -mfix-r4400 and -mno-fix-r4400. | |
39633 | * config/mips/mips.c (mips_output_division): Fill the branch delay | |
39634 | slot with a nop if TARGET_FIX_R4000. Extend R4000 workarounds to | |
39635 | TARGET_FIX_R4400. | |
39636 | (mips_output_division): Adjust accordingly. | |
39637 | (override_options): Make -march=r4400 imply -mfix-r4400 by default. | |
39638 | * doc/invoke.texi: Document -mfix-r4400 and new errata workarounds. | |
39639 | ||
39640 | 2004-03-03 Paolo Bonzini <bonzini@gnu.org> | |
39641 | ||
39642 | * alias.c (rtx_equal_for_memref_p): Use predicates | |
39643 | to test rtx classes and new rtx class codes, possibly | |
39644 | splitting conditionals that tested against '<' and 'o'. | |
39645 | * caller-save.c (save_call_clobbered_regs): Likewise. | |
39646 | * combine.c (contains_muldiv, find_split_point, subst, | |
39647 | combine_simplify_rtx, simplify_if_then_else, | |
39648 | simplify_set, simplify_logical, expand_compound_operation, | |
39649 | make_compound_operation, if_then_else_cond, known_cond, | |
39650 | apply_distributive_law, cached_nonzero_bits, | |
39651 | cached_num_sign_bit_copies, simplify_shift_const, | |
39652 | gen_binary, simplify_comparison, update_table_tick, | |
39653 | record_value_for_reg, get_lsat_value_validate): Likewise. | |
39654 | * cse.c (mention_regs, find_best_addr, find_comparison_args, | |
39655 | fold_rtx, cse_insn, invalidate_memory, cse_basic_block): | |
39656 | Likewise. | |
39657 | * emit-rtl.c (copy_insn_1): Likewise. | |
39658 | * expr.c (force_operand): Likewise. | |
39659 | * final.c (final_scan_insn, get_mem_expr_from_op): Likewise. | |
39660 | * flow.c (notice_stack_pointer_modification_1, | |
39661 | invalidate_mems_from_autoinc, ior_reg_cond, not_reg_cond, | |
39662 | and_reg_cond, elim_reg_cond): Likewise. | |
39663 | * function.c (update_epilogue_consts): Likewise. | |
39664 | * genattrtab.c (attr_rtx_1): Likewise. | |
39665 | * genopinit.c (gen_insn): Likewise. | |
39666 | * integrate.c (subst_constants): Likewise. | |
39667 | * jump.c (reversed_comparison_code_parts, | |
39668 | reversed_comparison_code, delete_related_insns, | |
39669 | rtx_renumbered_equal_p): Likewise. | |
39670 | * local-alloc.c (block_alloc): Likewise. | |
39671 | * loop.c (rtx_equal_for_prefetch_p, maybe_eliminate_biv, | |
39672 | canonicalize_condition): Likewise. | |
39673 | * loop-iv.c (simplify_using_conditions, iv_number_of_iterations): | |
39674 | Likewise. | |
39675 | * optabs.c (add_equal_node, expand_binop): Likewise. | |
39676 | * predict.c (estimate_probability): Likewise. | |
39677 | * ra-debug.c (ra_print_rtx_2op, ra_print_rtx): Likewise. | |
39678 | * recog.c (validate_replace_rtx_1, comparison_operator, | |
39679 | offsettable_address_p, constrain_operands): Likewise. | |
39680 | * reg-stack.c (swap_rtx_condition_1, subst_stack_regs_pat): | |
39681 | Likewise. | |
39682 | * regclass.c (scan_one_insn): Likewise. | |
39683 | * regmove.c (stable_and_no_regs_but_for_p): Likewise. | |
39684 | * regrename.c (kill_autoinc_value): Likewise. | |
39685 | * reload.c (find_reusable_reload, find_reloads, | |
39686 | reg_overlap_mentioned_for_reload_p): Likewise. | |
39687 | * reload1.c (gen_reload, delete_address_reloads_1): Likewise. | |
39688 | * rtl.c (copy_rtx): Likewise. | |
39689 | * rtl.h (CONSTANT_P, INSN_P): Likewise. | |
39690 | * rtlanal.c (commutative_operand_precedence): Likewise. | |
39691 | * sched-deps.c (conditions_mutex_p): Likewise. | |
39692 | * sched-rgn.c (is_cfg_nonregular): Likewise. | |
39693 | * simplify-rtx.c (simplify_gen_binary, | |
39694 | simplify_gen_relational, simplify_replace_rtx, | |
39695 | simplify_unary_operation, simplify_binary_operation, | |
39696 | simplify_ternary_operation, simplify_rtx): Likewise. | |
39697 | * unroll.c (reg_dead_after_loop): Likewise. | |
39698 | * config/alpha/alpha.c (alpha_swapped_comparison_operator, | |
39699 | print_operand): Likewise. | |
39700 | * config/arc/arc.c (proper_comparison_operator): Likewise. | |
39701 | * config/arm/arm.c (arm_arm_address_cost, arm_select_cc_mode): | |
39702 | Likewise. | |
39703 | * config/avr/avr.c (_reg_unused_after): Likewise. | |
39704 | * config/frv/frv.c (frv_ifcvt_modify_tests, | |
39705 | frv_ifcvt_modify_insn, frv_pack_insn): Likewise. | |
39706 | * config/i386/i386.c (ix86_comparison_operator, | |
39707 | ix86_carry_flag_operator, fcmov_comparison_operator, | |
39708 | arith_or_logical_operator, print_operand, | |
39709 | ix86_expand_binary_operator, ix86_binary_operator_ok): | |
39710 | Likewise. | |
39711 | * config/i386/i386.md: Likewise. | |
39712 | * config/ia64/ia64.c (not_postinc_memory_operand, | |
39713 | ia64_print_operand, update_set_flags, errata_emit_nops): | |
39714 | Likewise. | |
39715 | * config/ia64/ia64.h (PREFERRED_RELOAD_CLASS, | |
39716 | CONSTRAINT_OK_FOR_S): Likewise. | |
39717 | * config/ip2k/ip2k.c (mdr_resequence_xy_yx, | |
39718 | mdr_try_move_dp_reload, ip2k_check_can_adjust_stack_ref, | |
39719 | ip2k_xexp_not_uses_reg_for_mem, ip2k_xexp_not_uses_reg_p, | |
39720 | ip2k_composite_xexp_not_uses_reg_p, ip2k_unary_operator): | |
39721 | Likewise. | |
39722 | * config/iq2000/iq2000.c (cmp_op, symbolic_expression_p, | |
39723 | eqne_comparison_operator, signed_comparison_operator): | |
39724 | Likewise. | |
39725 | * config/mips/mips.c (cmp_op, symbolic_expression_p): | |
39726 | Likewise. | |
39727 | * config/mmix/mmix (mmix_foldable_comparison_operator, | |
39728 | mmix_comparison_operator): Likewise. | |
39729 | * config/pa/pa.c (hppa_legitimize_address): Likewise. | |
39730 | * config/rs6000/rs6000.c (stmw_operation, | |
39731 | branch_comparison_operator, trap_comparison_operator, | |
39732 | ccr_bit): Likewise. | |
39733 | * config/rs6000/rs6000.h (SELECT_CC_MODE): Likewise. | |
39734 | * config/s390/s390.c (s390_alc_comparison, | |
39735 | s390_slb_comparison):L Likewise. | |
39736 | * config/sh/sh.c (gen_block_redirect, reg_unused_after): | |
39737 | Likewise. | |
39738 | * config/sparc/sparc.c (eq_or_neq, normal_comp_operator, | |
39739 | noov_compare_op, noov_compare64_op, v9_regcmp_op, | |
39740 | emit_hard_tfmode_operation, reg_unused_after) | |
39741 | * doc/md.texi, doc/rtl.texi: Likewise. | |
39742 | ||
39743 | * ra-debug.c: Add 2004 to list of copyright years. | |
39744 | * unroll.c: Likewise. | |
39745 | ||
39746 | * combine.c (simplify_logical): Remove dummy test, | |
39747 | (apply_distributive_law): Fix typo in comment. | |
39748 | GET_CODE (x) == AND so x is a commutative binary op. | |
39749 | * jump.c (delete_related_insns): simplify loop | |
39750 | condition, move testing of RTX codes inside the loop. | |
39751 | (rtx_renumbered_equal_p): do not use RTX_CODE. | |
39752 | * rtl.c (rtx_class): Declare as enum rtx_class. | |
39753 | * rtl.def (EQ, NE, UNEQ, LTGT, UNORDERED, ORDERED): | |
39754 | Move to RTX_COMM_COMPARE class. | |
39755 | (HIGH, SYMBOL_REF, LABEL_REF, CONST, CONST_INT, CONST_DOUBLE): | |
39756 | Move to RTX_CONST_OBJ class. | |
39757 | * rtl.h (enum rtx_class): New declaration, | |
39758 | (RTX_OBJ_MASK, RTX_OBJ_RESULT, RTX_COMPARE_MASK, | |
39759 | RTX_COMPARE_RESULT, RTX_ARITHMETIC_MASK, RTX_ARITHMETIC_RESULT, | |
39760 | RTX_BINARY_MASK, RTX_BINARY_RESULT, RTX_COMMUTATIVE_MASK, | |
39761 | RTX_COMMUTATIVE_RESULT, RTX_NON_COMMUTATIVE_RESULT, | |
39762 | RTX_EXPR_FIRST, RTX_EXPR_LAST, UNARY_P, BINARY_P, | |
39763 | ARITHMETIC_P, COMMUTATIVE_ARITHMETIC_P, COMPARISON_P, | |
39764 | SWAPPABLE_OPERANDS_P, NON_COMMUTATIVE_P, COMMUTATIVE_P, | |
39765 | OBJECT_P): New macros. | |
39766 | * config/sparc/sparc.c (noov_compare_op): Remove register | |
39767 | from parameter. | |
39768 | ||
39769 | 2004-03-03 Kazu Hirata <kazu@cs.umass.edu> | |
39770 | ||
39771 | * target.h: Remove texi jargons in comments. | |
39772 | ||
39773 | 2004-03-02 Kazu Hirata <kazu@cs.umass.edu> | |
39774 | ||
39775 | * config/h8300/lib1funcs.asm (___fixunssfsi): Change the | |
39776 | threshold to 0x4f. | |
39777 | ||
39778 | Revert: | |
39779 | 2004-02-27 Kazu Hirata <kazu@cs.umass.edu> | |
39780 | * config/h8300/fixunssfsi.c (__fixunssfsi): Enable on H8/300 | |
39781 | as well. | |
39782 | * config/h8300/lib1funcs.asm (___fixunssfsi): Remove. | |
39783 | * config/h8300/t-h8300 (LIB1ASMFUNCS): Remove _fixunssfsi_asm. | |
39784 | ||
39785 | 2004-03-02 Kazu Hirata <kazu@cs.umass.edu> | |
39786 | ||
39787 | * doc/md.texi (cbranchmode4): New. | |
39788 | ||
39789 | 2004-03-02 Eric Christopher <echristo@redhat.com> | |
39790 | ||
39791 | * config/mips/mips16.S: Change fixsfsi and fixdfsi to | |
39792 | fix_trunc. | |
39793 | * config/mips/mips.c (mips_init_libfuncs): Change accordingly. | |
39794 | * config/mips/t-elf (LIB1ASMFUNCS): Ditto. | |
39795 | * config/mips/t-isa3264 (LIB1ASMFUNCS): Ditto. | |
39796 | * config/mips/t-r3900 (LIB1ASMFUNCS): Ditto. | |
39797 | ||
39798 | 2004-03-02 Richard Henderson <rth@redhat.com> | |
39799 | ||
39800 | PR middle-end/11767 | |
39801 | * coverage.c (coverage_counter_ref): Set MEM_NOTRAP_P. | |
39802 | * optabs.c (prepare_cmp_insn): Force trapping memories to registers | |
39803 | before the compare, if flag_non_call_exceptions. | |
39804 | ||
39805 | 2004-03-02 Richard Henderson <rth@redhat.com> | |
39806 | ||
39807 | PR middle-end/14327 | |
39808 | * stmt.c (expand_computed_goto): Do do_pending_stack_adjust before | |
39809 | emitting the label, not after. | |
39810 | ||
39811 | 2004-03-02 Stephane Carrez <stcarrez@nerim.fr> | |
39812 | ||
39813 | * config/m68hc11/m68hc11.c (m68hc11_addr_mode): New variable. | |
39814 | (m68hc11_mov_addr_mode): Likewise. | |
39815 | (m68hc11_override_options): Initialize them based on target. | |
39816 | (register_indirect_p): Allow a MEM for indirect addressing modes and | |
39817 | use flags to control what is allowed. | |
39818 | (m68hc11_small_indexed_indirect_p): Use m68hc11_mov_addr_mode for | |
39819 | supported addressing modes. | |
39820 | (m68hc11_register_indirect_p): Use m68hc11_addr_mode. | |
39821 | (go_if_legitimate_address_internal): Likewise. | |
39822 | (m68hc11_indirect_p): Likewise and check the mode. | |
39823 | (print_operand): Allow a (MEM (MEM)) and generate indirect addressing. | |
39824 | ||
39825 | 2004-03-02 Kazu Hirata <kazu@cs.umass.edu> | |
39826 | ||
39827 | * builtins.c (BUILTIN_SETJMP_FRAME_VALUE): Remove. | |
39828 | (expand_builtin_setjmp_setup): Use | |
39829 | targetm.builtin_setjmp_frame_value instead of | |
39830 | BUILTIN_SETJMP_FRAME_VALUE. | |
39831 | * system.h (BUILTIN_SETJMP_FRAME_VALUE): Poison. | |
39832 | * target-def.h (TARGET_BUILTIN_SETJMP_FRAME_VALUE): New. | |
39833 | (TARGET_INITIALIZER): Add TARGET_BUILTIN_SETJMP_FRAME_VALUE. | |
39834 | * target.h (gcc_target): Add builtin_setjmp_frame_value. | |
39835 | * targhooks.c (default_builtin_setjmp_frame_value): New. | |
39836 | * targhooks.h: Add a prototype for | |
39837 | default_builtin_setjmp_frame_value. | |
39838 | * doc/tm.texi (BUILTIN_SETJMP_FRAME_VALUE): Change to | |
39839 | TARGET_BUILTIN_SETJMP_FRAME_VALUE. | |
39840 | ||
39841 | 2004-03-02 Stephane Carrez <stcarrez@nerim.fr> | |
39842 | ||
39843 | * config/m68hc11/m68hc11.md (move peephole2): New peepholes to optimize | |
39844 | sequences of moves. | |
39845 | (add peepholes): New peepholes to optimize sequences adding small | |
39846 | constants. | |
39847 | (bset peepholes): New peepholes to transform an OR in a bset form | |
39848 | (bclr peepholes): Likewise for bclr form. | |
39849 | (cmp peepholes): New peepholes to avoid register copies when comparing. | |
39850 | ||
39851 | 2004-03-02 Stephane Carrez <stcarrez@nerim.fr> | |
39852 | ||
39853 | * config/m68hc11/m68hc11.md ("*pushdi_internal"): New insn and split | |
39854 | to separate push from moves. | |
39855 | ("*pushdf_internal"): Likewise. | |
39856 | ("*pushsf_internal"): Likewise. | |
39857 | ("*pushsi_internal"): Likewise. | |
39858 | ("movdi_internal"): Use define_insn_and_split; non push operand. | |
39859 | ("movdf_internal"): Likewise. | |
39860 | ("movsf_internal"): Likewise. | |
39861 | ("movsi_internal"): Likewise. | |
39862 | ("*movhi_68hc12", "*addhi3_68hc12"): Fix and tune constraints | |
39863 | ("*addhi3", "*subhi3", "*andhi3_mem", "*iorhi3_mem"): Likewise. | |
39864 | ("*ashlsi3_const1", "*lshrsi3_const1"): Likewise. | |
39865 | ||
39866 | 2004-03-02 Stephane Carrez <stcarrez@nerim.fr> | |
39867 | ||
39868 | * config/m68hc11/m68hc11.md ("tstqi_z_used"): Use define_insn_and_split. | |
39869 | ("cmphi_z_used", "cmpqi_z_used"): Likewise. | |
39870 | ("movstrictsi", "movstricthi", "movstrictqi"): Likewise. | |
39871 | ("anddi3", "andsi3", "iordi3", "iorsi3"): Likewise. | |
39872 | ("xordi3", "xorsi3", "*logicalsi3_zexthi"): Likewise. | |
39873 | ("*logicalsi3_zextqi", "*logicalhi3_zexthi_ashift8"): Likewise. | |
39874 | ("logicalhi3_zexthi", "*logicalsi3_silshr16"): Likewise. | |
39875 | ("*logicalsi3_silshl16", "*logicalsi3_silshl16_zext"): Likewise. | |
39876 | ("*ashldi3_const32", "*ashldi3_const1", "addsi_silshr16"): Likewise. | |
39877 | ("addsi_andshr16", "*ashlsi3_const16_zexthi"): Likewise. | |
39878 | ("*lshrdi3_const32", "*lshrdi_const1"): Likewise. | |
39879 | ||
39880 | 2004-03-02 Stephane Carrez <stcarrez@nerim.fr> | |
39881 | ||
39882 | * config/m68hc11/m68hc11.md (SOFT_TMP_REGNUM): Define. | |
39883 | (SOFT_XY_REGNUM): Define. | |
39884 | (cmp split): Use the above instead of hard coded numbers. | |
39885 | (8-bit op split): No need to check the mode; allow Q_REG. | |
39886 | (ashift split): Adjust the first operand if it uses the SP and we | |
39887 | are pushing the shifted value. | |
39888 | (plus shift split): Fix when a source is in register D+X. | |
39889 | ("doloop_end"): Pass dummy arguments to gen_rtx_NE. | |
39890 | ||
39891 | 2004-03-02 Stephane Carrez <stcarrez@nerim.fr> | |
39892 | ||
39893 | * config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Fix when | |
39894 | comparing with Z register. | |
39895 | ||
39896 | 2004-03-02 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> | |
39897 | ||
39898 | * cfgloop.h (struct loop_desc): Removed. | |
39899 | (struct loop): Fields simple, desc and has_desc removed. | |
39900 | (simple_loop_p, count_loop_iterations): Declaration removed. | |
39901 | * cfgloopanal.c (struct unmark_altered_insn_data): Removed. | |
39902 | (unmark_altered, blocks_invariant_registers, unmark_altered_insn | |
39903 | blocks_single_set_registers, invariant_rtx_wrto_regs_p_helper, | |
39904 | invariant_rtx_wrto_regs_p, test_for_iteration, constant_iterations, | |
39905 | simple_loop_exit_p, variable_initial_value, variable_initial_values, | |
39906 | simple_condition_p, simple_increment, count_strange_loop_iterations, | |
39907 | inverse, fits_in_mode_p, simple_loop_p, count_loop_iterations): | |
39908 | Removed. | |
39909 | * loop-iv.c (check_simple_exit, find_simple_exit): Update comments. | |
39910 | ||
39911 | 2004-03-02 Kazu Hirata <kazu@cs.umass.edu> | |
39912 | ||
39913 | * genattrtab.c: Don't handle MATCH_INSN. | |
39914 | * genrecog.c: Likewise. | |
39915 | * gensupport.c: Likewise. | |
39916 | * rtl.def (match_insn): Remove. | |
39917 | * doc/md.texi (match_insn, match_insn2): Remove. | |
39918 | ||
39919 | 2004-03-02 Mark Mitchell <mark@codesourcery.com> | |
39920 | ||
39921 | * doc/c-tree.texi (DECL_ASSEMBLER_NAME): Mention that using this | |
39922 | macro results in memory allocation. | |
39923 | ||
39924 | 2004-03-02 David O'Brien <obrien@FreeBSD.org> | |
39925 | ||
39926 | * config/freebsd-spec.h (FBSD_DYNAMIC_LINKER): Add. | |
39927 | * config/alpha/freebsd.h (SUBTARGET_EXTRA_SPECS): Define | |
39928 | %(fbsd_dynamic_linker), | |
39929 | (LINK_SPEC): Use %(fbsd_dynamic_linker), and sync style with | |
39930 | config/i386/freebsd.h | |
39931 | * config/arm/freebsd.h: Ditto. | |
39932 | * config/i386/freebsd.h: Ditto. | |
39933 | * config/i386/freebsd64.h: Ditto. | |
39934 | * config/ia64/freebsd.h: Ditto. | |
39935 | * config/rs6000/sysv4.h: Ditto. | |
39936 | * config/sparc/freebsd.h: Ditto. | |
39937 | ||
39938 | 2004-03-02 Loren James Rittle <ljrittle@acm.org> | |
39939 | ||
a1d1988f | 39940 | * doc/install.texi (*-*-freebsd*): Update target information. |
3eb54e5f ILT |
39941 | |
39942 | 2004-03-02 Kazu Hirata <kazu@cs.umass.edu> | |
39943 | ||
39944 | * rtl.def (define_combine): Remove. | |
39945 | ||
39946 | 2004-03-02 Kazu Hirata <kazu@cs.umass.edu> | |
39947 | ||
39948 | * config/h8300/h8300.md: Tweak formatting. | |
39949 | ||
39950 | 2004-03-02 Kazu Hirata <kazu@cs.umass.edu> | |
39951 | ||
39952 | * config/h8300/h8300.md (*cmphi_h8300): Rename to | |
39953 | *cmphi_h8300_znvc. | |
39954 | (*cmphi_h8300hs): Rename to *cmphi_h8300hs_znvc. | |
39955 | ||
39956 | 2004-03-01 Mark Mitchell <mark@codesourcery.com> | |
39957 | ||
39958 | PR bootstrap/14356 | |
39959 | * gcc.c (process_command): Remove const-qualification from argv. | |
39960 | (main): Likewise. | |
39961 | ||
39962 | 2004-03-02 Kazu Hirata <kazu@cs.umass.edu> | |
39963 | ||
39964 | * config/h8300/h8300.md (pushqi1_h8300hs): Rename to | |
39965 | pushqi1_h8300hs_advanced. Adjust its caller. | |
39966 | (pushhi1_h8300hs): Rename to pushhi1_h8300hs_advanced. | |
39967 | Adjust its caller. | |
39968 | ||
39969 | 2004-03-02 Nicolas Roche <roche@act-europe.fr> | |
39970 | ||
39971 | * Makefile.in (install-libgcc, install-multilib): Pass | |
39972 | mkinstalldirs var to libgcc.mk. | |
39973 | ||
39974 | 2004-03-01 Kazu Hirata <kazu@cs.umass.edu> | |
39975 | ||
39976 | * system.h (DBX_OUTPUT_STANDARD_TYPES): Poison. | |
39977 | * doc/tm.texi (DBX_OUTPUT_STANDARD_TYPES): Remove. | |
39978 | ||
39979 | 2004-03-01 Kazu Hirata <kazu@cs.umass.edu> | |
39980 | ||
39981 | * config/h8300/h8300.c (gtle_operator): Accept GT and LE. | |
39982 | * config/h8300/h8300.md: Split several peephole2's, each into | |
39983 | two. | |
39984 | ||
39985 | 2004-03-02 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> | |
39986 | ||
39987 | * dominance.c (recount_dominator): Handle postdominators. | |
39988 | ||
39989 | 2004-03-01 Richard Sandiford <rsandifo@redhat.com> | |
39990 | ||
39991 | * config/mips/mips-protos.h (enum mips_symbol_type): Move from mips.h. | |
39992 | (NUM_SYMBOL_TYPES): Likewise. | |
39993 | (SYMBOL_64_HIGH, SYMBOL_64_MID, SYMBOL_64_LOW): New symbol types. | |
39994 | (mips_unspec_address): Declare. | |
39995 | (mips_gotoff_page, mips_gotoff_global): Delete. | |
39996 | * config/mips/mips.h (PREDICATE_CODES): Add general_symbolic_operand. | |
39997 | * config/mips/mips.c (enum mips_symbol_type, NUM_SYMBOL_TYPES): Delete. | |
39998 | (mips_symbolic_constant_p, mips_symbolic_address_p) | |
39999 | (mips_symbol_insns): Handle new symbol types. | |
40000 | (general_symbolic_operand): New predicate. | |
40001 | (mips_unspec_address): Make extern. | |
40002 | (mips_gotoff_page, mips_gotoff_global): Delete. | |
40003 | (override_options): Allow -mabi=64 -mno-abicalls -mexplicit-relocs. | |
40004 | Handle new symbol types. | |
40005 | * config/mips/mips.md (*lea_high64, *lea64): New patterns. | |
40006 | (*xgot_hi[sd]i, *xgot_lo[sd]i, *got_disp[sd]i, *got_disp[sd]i): Call | |
40007 | mips_unspec_address directly. | |
40008 | * doc/invoke.texi: Remove the -mabi=64 -mno-abicalls exception from | |
40009 | the documentation of -mexplicit-relocs. | |
40010 | ||
40011 | 2004-03-01 Jeff Law <law@redhat.com> | |
40012 | ||
40013 | * fold-const.c (fold): An equality comparison of a non-weak object | |
40014 | against zero has a known result. Similarly an equality comparison | |
40015 | of the address of two non-weak, unaliased symbols has a known result. | |
40016 | ||
40017 | * ggc-page.c (struct page_entry): New field PREV. | |
40018 | (ggc_alloc): Update PREV field appropriately. | |
40019 | (sweep_pages): Likewise. | |
40020 | (ggc_free): Likewise. Use PREV field rather than loop to | |
40021 | improve ggc_free performance. | |
40022 | ||
40023 | 2004-03-01 Richard Sandiford <rsandifo@redhat.com> | |
40024 | ||
40025 | * config/mips/mips.c (mips_output_division): Use the division | |
40026 | instruction to fill the delay slot of a zero check. | |
40027 | (mips_idiv_insns): Adjust accordingly. | |
40028 | ||
40029 | 2004-03-01 Nathanael Nerode <neroden@gcc.gnu.org> | |
40030 | ||
40031 | * config.gcc: Create a default tmake_file for linux, and use | |
40032 | it in all but two linux clauses. Comment those two. | |
40033 | ||
40034 | 2004-03-01 Paolo Bonzini <bonzini@gnu.org> | |
40035 | ||
e8366202 MS |
40036 | * combine.c (try_combine): Do not refer to is_replaced. |
40037 | (gen_lowpart_for_combine): Perverse subregs now have a | |
3eb54e5f ILT |
40038 | more politically correct name. |
40039 | * cse.c (cse_insn): Likewise. | |
40040 | * jump.c: Fix bogus reference to delete_insn. | |
40041 | ||
40042 | 2004-02-29 Mark Mitchell <mark@codesourcery.com> | |
40043 | ||
40044 | PR debug/14328 | |
40045 | * dwarf2out.c (gen_enumeration_type_die): Output all enumeration | |
40046 | constants as signed values. | |
40047 | ||
40048 | PR middle-end/13448 | |
40049 | * c-tree.h (readonly_warning): Rename to ... | |
40050 | (readonly_error): ... this. | |
40051 | * c-typeck.c (build_unary_op): Adjust accordingly. | |
40052 | (readonly_warning): Rename to ... | |
40053 | (readonly_error): ... this and issue errors, not warnings. | |
40054 | (build_modify_expr): Call readonly_error, not readonly_warning. | |
40055 | (c_expand_asm_operands): Likewise. | |
40056 | * tree-inline.c (optimize_inline_calls): Do not inline functions | |
40057 | after errors have occurred. | |
40058 | ||
40059 | 2004-02-29 Nathanael Nerode <neroden@gcc.gnu.org> | |
40060 | ||
40061 | * configure.ac: Rearrange some threading code for clarity; | |
40062 | add section comment. | |
40063 | * configure: Regenerate. | |
40064 | ||
40065 | 2004-02-29 Kazu Hirata <kazu@cs.umass.edu> | |
40066 | ||
40067 | * passes.c, config/frv/frv.c, config/sh/sh.c: Fix comment | |
40068 | typos. | |
40069 | * doc/cppopts.texi: Fix a typo. | |
40070 | ||
40071 | 2004-02-29 Kazu Hirata <kazu@cs.umass.edu> | |
40072 | ||
40073 | * config/i386/i386.md: Fix formatting. | |
40074 | ||
40075 | 2004-02-29 Nathanael Nerode <neroden@gcc.gnu.org> | |
40076 | ||
40077 | * configure.ac: Add some comments delineating sections of code. | |
40078 | ||
40079 | * doc/install.texi: Note that libada uses autoconf 2.57 also. | |
40080 | ||
40081 | * doc/install.texi: Fix idiot typo in previous commit. | |
40082 | ||
40083 | * doc/install.texi: Update for conversion of intl to autoconf 2.57. | |
40084 | ||
40085 | 2004-02-29 Kazu Hirata <kazu@cs.umass.edu> | |
40086 | ||
40087 | * config/h8300/h8300.md: Add comments about peephole2's. | |
40088 | ||
40089 | 2004-02-29 Kazu Hirata <kazu@cs.umass.edu> | |
40090 | ||
40091 | * config/h8300/h8300.md: Tweak operand numbers of some | |
40092 | peephole2's. | |
40093 | ||
40094 | 2004-02-29 Kazu Hirata <kazu@cs.umass.edu> | |
40095 | ||
40096 | * config/h8300/h8300.md: Tweak comments about peephole2's. | |
40097 | ||
40098 | 2004-02-29 Waldek Hebisch <hebisch@math.uni.wroc.pl> | |
40099 | ||
40100 | PR middle-end/14203 | |
40101 | * function.c (uninitialized_vars_warning): Use DECL_RTL_SET_P | |
40102 | instead of testing whether DECL_RTL is not NULL. | |
40103 | ||
40104 | 2004-02-28 Kazu Hirata <kazu@cs.umass.edu> | |
40105 | ||
40106 | * config/sh/sh.c: Fix formatting. | |
40107 | ||
40108 | 2004-02-28 Kazu Hirata <kazu@cs.umass.edu> | |
40109 | ||
40110 | * config/sh/sh.c: Convert to ISO-C. | |
40111 | ||
40112 | 2004-02-28 Andrew Pinski <pinskia@physics.uc.edu> | |
40113 | ||
40114 | * c-typeck.c (tagged_types_tu_compatible_p): Fix pasto in | |
40115 | my previous patch. | |
40116 | ||
40117 | * config/darwin.h (machopic_finish): Output stub even if the | |
40118 | symbol is already defined. | |
40119 | ||
40120 | 2004-02-28 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
40121 | ||
40122 | * pa64-hpux.h (LIB_SPEC): Fix linking under HP-UX 11.00 with -p and -pg. | |
40123 | ||
40124 | 2004-02-28 Kazu Hirata <kazu@cs.umass.edu> | |
40125 | ||
40126 | * genattr.c (main): Don't define | |
40127 | TRADITIONAL_PIPELINE_INTERFACE or DFA_PIPELINE_INTERFACE. | |
40128 | * system.h (TRADITIONAL_PIPELINE_INTERFACE): Poison. | |
40129 | (DFA_PIPELINE_INTERFACE): Likewise. | |
40130 | * doc/tm.texi (TRADITIONAL_PIPELINE_INTERFACE): Remove. | |
40131 | (DFA_PIPELINE_INTERFACE): Likewise. | |
40132 | ||
40133 | 2004-02-28 Richard Sandiford <rsandifo@redhat.com> | |
40134 | ||
40135 | * config/mips/mips.md (tstsi, tstdi): Delete. | |
40136 | ||
40137 | 2004-02-28 Maciej W. Rozycki <macro@ds2.pg.gda.pl> | |
40138 | ||
40139 | * config/mips/mips.c (override_options): Remove an obsolete | |
40140 | duplicate definition of the "e" constraint. | |
40141 | * config/mips/mips.h: Update a comment accordingly. | |
40142 | ||
40143 | 2004-02-28 Maciej W. Rozycki <macro@ds2.pg.gda.pl> | |
40144 | ||
40145 | * config/mips/mips.md: Complete the unfinished R4000 | |
40146 | multiply/shift errata workaround. Improve documentation. | |
40147 | (hazard): Use TARGET_FIX_R4000 to decide whether an "imul" instruction | |
40148 | has a hilo hazard. | |
40149 | (mulsi3, mulsi3_internal, mulsi3_r4000): Use TARGET_FIX_R4000. | |
40150 | (muldi3, muldi3_internal): Likewise. | |
40151 | (muldi3_internal2): Remove, replacing with... | |
40152 | (muldi3_mult3, muldi3_r4000): ...these new patterns. | |
40153 | (mulsidi3): Take the errata into account. | |
40154 | (mulsidi3_32bit): Remove, replacing with... | |
40155 | (mulsidi3_32bit_internal, mulsidi3_32bit_r4000): ...these new patterns. | |
40156 | (mulsidi3_64bit, mulsidi3_64bit_parts): Disable if TARGET_FIX_R4000. | |
40157 | (umulsidi3): Take the errata into account. | |
40158 | (umulsidi3_32bit): Remove, replacing with.. | |
40159 | (umulsidi3_32bit_internal, umulsidi3_32bit_r4000): ...these patterns. | |
40160 | (umulsi3_highpart, umulsi3_highpart_internal): Disable if | |
40161 | TARGET_FIX_R4000. | |
40162 | (smulsi3_highpart, smulsi3_highpart_internal): Likewise. | |
40163 | (smuldi3_highpart, umuldi3_highpart): Likewise. | |
40164 | * doc/invoke.texi: Document the errata workaround. | |
40165 | ||
40166 | 2004-02-28 Maciej W. Rozycki <macro@ds2.pg.gda.pl> | |
40167 | ||
40168 | * config/mips/mips-protos.h (mips_idiv_insns): Declare. | |
40169 | * config/mips/mips.h (MASK_FIX_SB1): Bump. | |
40170 | (MASK_FIX_R4000, TARGET_FIX_R4000): New macros. | |
40171 | (TARGET_SWITCHES): Add -mfix-r4000 and -mno-fix-r4000. | |
40172 | * config/mips/mips.c (mips_idiv_insns): New function. | |
40173 | (override_options): Make -march=r4000 imply -mfix-r4000 by default. | |
40174 | (mips_output_division): Add a workaround for the R4000 divide/shift | |
40175 | errata. | |
40176 | * config/mips/mips.md (length): Use mips_idiv_insns() to calculate | |
40177 | the length of an "idiv" instruction. | |
40178 | * doc/invoke.texi: Document the new switches. | |
40179 | ||
40180 | 2004-02-28 Kazu Hirata <kazu@cs.umass.edu> | |
40181 | ||
40182 | * doc/tm.texi (IS_COSTLY_DEPENDENCE): Change to | |
40183 | TARGET_SCHED_IS_COSTLY_DEPENDENCE. | |
40184 | ||
40185 | 2004-02-28 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> | |
40186 | ||
40187 | PR optimization/14229 | |
40188 | * cfgrtl.c (rtl_tidy_fallthru_edge): Do not fail for !onlyjump jump. | |
40189 | ||
40190 | 2004-02-28 Eric Botcazou <ebotcazou@act-europe.fr> | |
40191 | ||
40192 | * fold-const.c (fold): Strip NOPs that change the signedness | |
40193 | for RSHIFT too. Expand comment. | |
40194 | ||
40195 | 2004-02-27 Ian Lance Taylor <ian@wasabisystems.com> | |
40196 | ||
40197 | PR optimization/7871 | |
40198 | * flow.c (mark_set_1): Don't add LOG_LINKS for global registers | |
40199 | from or to call insns. | |
40200 | ||
40201 | 2004-02-27 Eric Botcazou <ebotcazou@libertysurf.fr> | |
40202 | ||
40203 | PR optimization/7871 | |
40204 | * flow.c (propagate_one_insn): Interpret calls as setting global | |
40205 | registers, not merely clobbering them. | |
40206 | ||
40207 | 2004-02-27 Dale Johannesen <dalej@apple.com> | |
40208 | ||
e8366202 MS |
40209 | * config/darwin.c (machopic_output_possible_stub_label): Remove. |
40210 | config/darwin-protos.h: Ditto. | |
40211 | config/darwin.h: Remove call to it. | |
3eb54e5f ILT |
40212 | * combine.c (distribute_notes): Do not place a REG_DEAD note |
40213 | when value is both set and used. | |
40214 | ||
40215 | 2004-02-27 Kazu Hirata <kazu@cs.umass.edu> | |
40216 | ||
40217 | * config/h8300/fixunssfsi.c (__fixunssfsi): Enable on H8/300 | |
40218 | as well. | |
40219 | * config/h8300/lib1funcs.asm (___fixunssfsi): Remove. | |
40220 | * config/h8300/t-h8300 (LIB1ASMFUNCS): Remove _fixunssfsi_asm. | |
40221 | ||
40222 | 2004-02-27 Andrew Pinski <apinski@apple.com> | |
40223 | ||
40224 | * c-typeck.c (tagged_types_tu_compatible_p) <ENUMERAL_TYPE>: | |
40225 | Speedup common case of the type values being in the same order. | |
40226 | ||
40227 | 2004-02-27 Steve Ellcey <sje@cup.hp.com> | |
40228 | ||
40229 | * config/ia64/ia64.h (no-inline-float-divide): New option. | |
40230 | * config/ia64/ia64.h (no-inline-int-divide): New option. | |
40231 | * config/ia64/ia64.h (no-inline-sqrt): New option. | |
40232 | (TARGET_DEFAULT): Add MASK_INLINE_FLOAT_DIV_THR to define. | |
40233 | * config/ia64/hpux.h (TARGET_DEFAULT): Ditto. | |
40234 | * config/ia64/ia64.c (ia64_override_options): Modify error | |
40235 | checking for inlined division/sqrt. | |
40236 | ||
40237 | 2004-02-27 Kazu Hirata <kazu@cs.umass.edu> | |
40238 | ||
40239 | * bb-reorder.c, cfgbuild.c, diagnostic.c, explow.c, profile.c, | |
40240 | ra-build.c, read-rtl.c, tracer.c, unwind-dw2-fde-glibc.c, | |
40241 | value-prof.c, config/darwin-protos.h, config/frv/frv-abi.h, | |
40242 | config/i386/pmmintrin.h, config/pa/pa-hpux.h: Update | |
40243 | copyright. | |
40244 | ||
40245 | 2004-02-27 Paul Brook <paul@codesourcery.com> | |
40246 | ||
40247 | * function.c (assign_parms): Don't count pretend args for alignment. | |
40248 | ||
40249 | 2004-02-27 Richard Henderson <rth@redhat.com> | |
40250 | ||
40251 | * passes.c: New file. | |
40252 | * Makefile.in (OBJS-common): Add it. | |
40253 | * diagnostic.c (rtl_dump_and_exit): Move decl ... | |
40254 | * flags.h (rtl_dump_and_exit): ... here. | |
40255 | * output.h (size_directive_output, last_assemble_variable_decl): | |
40256 | Move from toplev.c. | |
40257 | * rtl.h (reg_alloc): Move from toplev.c. | |
40258 | * toplev.c (HAVE_conditional_execution, DUMPFILE_FORMAT, | |
40259 | struct dump_file_info, enum dump_file_index, dump_file_tbl, | |
40260 | open_dump_file, close_dump_file, rest_of_decl_compilation, | |
40261 | rest_of_type_compilation, rest_of_handle_final, | |
40262 | rest_of_handle_delay_slots, rest_of_handle_stack_regs, | |
40263 | rest_of_handle_variable_tracking, rest_of_handle_machine_reorg, | |
40264 | rest_of_handle_new_regalloc, rest_of_handle_old_regalloc, | |
40265 | rest_of_handle_regrename, rest_of_handle_reorder_blocks, | |
40266 | rest_of_handle_sched, rest_of_handle_sched2, rest_of_handle_regmove, | |
40267 | rest_of_handle_tracer, rest_of_handle_if_conversion, | |
40268 | rest_of_handle_if_after_combine, rest_of_handle_web, | |
40269 | rest_of_handle_branch_prob, | |
40270 | rest_of_handle_value_profile_transformations, rest_of_handle_cfg, | |
40271 | rest_of_handle_addressof, rest_of_handle_sibling_calls, | |
40272 | rest_of_handle_jump_bypass, rest_of_handle_inlining, | |
40273 | rest_of_handle_null_pointer, rest_of_handle_combine, | |
40274 | rest_of_handle_life, rest_of_handle_cse, rest_of_handle_cse2, | |
40275 | rest_of_handle_gcse, rest_of_handle_loop_optimize, | |
40276 | rest_of_handle_loop2, rest_of_compilation): Move to passes.c. | |
40277 | (decode_d_option): Use enable_rtl_dump_file. | |
40278 | (compile_file, finalize, do_compile): Move profile+combine+graph | |
40279 | cleanup to finish_optimization_passes. | |
40280 | * toplev.h (init_optimization_passes, finish_optimization_passes, | |
40281 | enable_rtl_dump_file): Declare. | |
40282 | ||
40283 | 2004-02-27 Eric Botcazou <ebotcazou@act-europe.fr> | |
40284 | Roger Sayle <roger@eyesopen.com> | |
40285 | ||
40286 | * fold-const.c (fold): Revert 2004-02-25 change. Use the original | |
40287 | operands to build a tree with swapped operands. | |
40288 | * expr.c (expand_expr_real) <MAX_EXPR>: Consistently use the | |
40289 | 'unsignedp' predicate to specify the signedness. | |
40290 | ||
40291 | 2004-02-27 Kazu Hirata <kazu@cs.umass.edu> | |
40292 | ||
40293 | * c-decl.c, c-ppoutput.c, combine.c, cppfiles.c, dwarf2out.c, | |
40294 | expr.c, fold-const.c, gcc.c, haifa-sched.c, loop-iv.c, | |
40295 | params.def, read-rtl.c, rtl.c, rtlanal.c, toplev.c: Fix | |
40296 | comment typos and formatting. Follow spelling conventions. | |
40297 | ||
40298 | 2004-02-26 Aldy Hernandez <aldyh@redhat.com> | |
40299 | ||
40300 | * config/rs6000/rs6000.md: Add fixuns_truncsfsi2 and | |
40301 | fix_truncsfsi2. | |
40302 | ||
40303 | * config/rs6000/spe.md: Delete spe_efsctuiz. | |
40304 | Add spe_fixuns_truncsfsi2. | |
40305 | Add spe_fix_truncsfsi2. | |
40306 | ||
40307 | 2004-02-26 Eric Christopher <echristo@redhat.com> | |
40308 | ||
40309 | * c-lex.c (c_lex_string_translate): New variable. | |
40310 | (lex_string): Use to determine string translation. | |
40311 | * c-pragma.h: Prototype. | |
40312 | * c-parse.in (start_string_translation): New. Set above. | |
40313 | (stop_string_translation): Ditto. | |
40314 | (attribute, attribute_list, asm_def, asm_stmt, | |
40315 | asm_operand): Use above functions. | |
40316 | * cp/parser.c (cp_parser_declaration): Translate strings | |
40317 | unless token is RID_EXTERN. Set c_lex_string_translate | |
40318 | for recursive use. | |
40319 | (cp_parser_asm_definition): Only translate argument strings | |
40320 | to asms. | |
40321 | (cp_parser_asm_operand_list): Ditto. | |
40322 | (cp_parser_attribute_list): Do not translate attribute strings. | |
40323 | ||
40324 | 2004-02-26 Kazu Hirata <kazu@cs.umass.edu> | |
40325 | ||
40326 | * stmt.c (expand_start_case_dummy): Remove. | |
40327 | * tree.h: Remove the corresponding prototype. | |
40328 | ||
40329 | 2004-02-26 Kazu Hirata <kazu@cs.umass.edu> | |
40330 | ||
40331 | * builtins.c (apply_args_register_offset): Remove. | |
40332 | * tree.h: Remove the corresponding prototype. | |
40333 | ||
40334 | 2004-02-26 Kazu Hirata <kazu@cs.umass.edu> | |
40335 | ||
40336 | * stor-layout.c (is_pending_size): Remove. | |
40337 | * tree.h: Remove the corresponding prototype. | |
40338 | ||
40339 | 2004-02-26 Kazu Hirata <kazu@cs.umass.edu> | |
40340 | ||
40341 | * recog.c (validate_replace_src): Remove. | |
40342 | * recog.h: Remove the corresponding prototype. | |
40343 | ||
40344 | 2004-02-26 Kazu Hirata <kazu@cs.umass.edu> | |
40345 | ||
40346 | * calls.c: Don't reference FINAL_REG_PARM_STACK_SPACE or | |
40347 | MAYBE_REG_PARM_STACK_SPACE. | |
40348 | * function.c: Likewise. | |
40349 | * system.h (FINAL_REG_PARM_STACK_SPACE): Poison. | |
40350 | (MAYBE_REG_PARM_STACK_SPACE): Likewise. | |
40351 | * doc/tm.texi (FINAL_REG_PARM_STACK_SPACE): Remove. | |
40352 | (MAYBE_REG_PARM_STACK_SPACE): Likewise. | |
40353 | ||
40354 | 2004-02-26 Kazu Hirata <kazu@cs.umass.edu> | |
40355 | ||
40356 | * c-decl.c (c_expand_deferred_function): Remove. | |
40357 | * c-tree.h: Remove the corresponding prototype. | |
40358 | ||
40359 | 2004-02-26 Kazu Hirata <kazu@cs.umass.edu> | |
40360 | ||
40361 | * postreload.c (reload_cse_move2add): Generate just a PLUS | |
40362 | instead of an entire SET. | |
40363 | ||
40364 | 2004-02-26 Jan Hubicka <jh@suse.cz> | |
40365 | ||
40366 | * config.gcc: Add support for nocoma/prescott/pentium-m/pentium3m | |
40367 | /pentium4m. | |
40368 | * i386.c (override_options): Add support for new CPUs. | |
40369 | * i386.h (TARGET_CPU_DEFAULT_NAMES): New names. | |
40370 | (TARGET_CPU_DEFAULT_pentium_m, TARGET_CPU_DEFAULT_pentium4e): New | |
40371 | constants. | |
40372 | * invoke.texi: Extend documentation of -mtune/-march for new CPUs. | |
40373 | ||
40374 | 2004-02-26 Bob Wilson <bob.wilson@acm.org> | |
40375 | ||
40376 | * config/xtensa/xtensa.h (TARGET_CPU_CPP_BUILTINS): Define __xtensa__. | |
40377 | ||
40378 | 2004-02-26 Eric Botcazou <ebotcazou@act-europe.fr> | |
40379 | ||
40380 | * config/sparc/sparc-protos.h (sparc_emit_floatunsdi): Add 'mode'. | |
40381 | (sparc_emit_fixunsdi): New prototype. | |
40382 | * config/sparc/sparc.c (sparc_emit_floatunsdi): Use 'mode' argument. | |
40383 | (sparc_emit_fixunsdi): New function. | |
40384 | * config/sparc/sparc.md (floatunsdisf2): Use 'general_operand' for | |
40385 | operand 1. Pass SFmode to sparc_emit_floatunsdi. | |
40386 | (floatunsdidf2): Use 'general_operand' for operand 1. Pass DFmode | |
40387 | to sparc_emit_floatunsdi. | |
40388 | (fixuns_truncsfdi2): New expander. | |
40389 | (fixuns_truncdfdi2): Likewise. | |
40390 | ||
40391 | 2004-02-26 Alan Modra <amodra@bigpond.net.au> | |
40392 | ||
40393 | * gcse.c (delete_null_pointer_checks_1): Do not delete CC setter | |
40394 | unless HAVE_cc0. | |
40395 | ||
40396 | 2004-02-25 Richard Henderson <rth@redhat.com> | |
40397 | ||
40398 | * explow.c (force_reg): Call mark_reg_pointer as appropriate. | |
40399 | * config/alpha/alpha.c (alpha_emit_conditional_branch): Don't | |
40400 | use (op0-op1) == 0 if op0 is a pointer. | |
40401 | * config/alpha/alpha.md (cmpdi): Use some_operand. | |
40402 | (three comparison combine splits): Remove. | |
40403 | ||
40404 | 2004-02-25 Richard Henderson <rth@redhat.com> | |
40405 | ||
40406 | PR c/12794 | |
40407 | * c-common.c (handle_alias_attribute): Reject the attribute if | |
40408 | current_function_decl is set. | |
40409 | ||
40410 | 2004-02-25 Kelley Cook <kcook@gcc.gnu.org> | |
40411 | ||
40412 | * config.gcc: Add comment describing extra_gcc_objs. | |
40413 | i[34567]86-*-cygwin*): Replace host_extra_gcc_objs with extra_gcc_objs. | |
40414 | * configure.ac (extra_gcc_objs): New substitution variable. | |
40415 | (host_extra_gcc_objs): Don't substitute. | |
40416 | * configure: Regenerate. | |
40417 | * Makefile.in: Use extra_gcc_objs. | |
40418 | ||
40419 | 2004-02-25 Kelley Cook <kcook@gcc.gnu.org> | |
40420 | ||
40421 | * doc/contrib.texi: Add an entry for myself. | |
40422 | ||
40423 | 2004-02-25 Jan Hubicka <jh@suse.cz> | |
40424 | ||
40425 | * basic-block.h (make_eh_edge, break_superblocks): Declare. | |
e8366202 | 40426 | * cfgbuild.c (make_eh_edge): Make global. |
3eb54e5f ILT |
40427 | * cfglayout.c (break_superblocks): Likewise; fix memory leak. |
40428 | * except.c (build_post_landing_pads, connect_post_landing_pads, | |
40429 | dw2_build_landing_pads, sjlj_emit_function_enter, | |
40430 | sjlj_emit_function_exit, sjlj_emit_dispatch_table, | |
40431 | sjlj_build_landing_pads): Update CFG. | |
40432 | (emit_to_new_bb_before): New function. | |
40433 | (finish_eh_generation): Do not rebuild the CFG. | |
40434 | ||
40435 | 2004-02-25 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
40436 | ||
40437 | * config.gcc (hppa*-*-*, parisc*-*-*): Add MASK_BIG_SWITCH to all | |
40438 | target_cpu_default defines. | |
40439 | * pa-hpux.h (TARGET_DEFAULT): Add MASK_BIG_SWITCH to define. | |
40440 | * pa.h (TARGET_DEFAULT): Likewise. | |
40441 | ||
40442 | 2004-02-25 Eric Botcazou <ebotcazou@act-europe.fr> | |
40443 | ||
40444 | * fold-const.c (fold): Treat MAX_EXPR and MIN_EXPR like | |
40445 | comparisons with regard to signedness. | |
40446 | ||
40447 | 2004-02-25 Richard Earnshaw <rearnsha@arm.com> | |
40448 | ||
40449 | * arm.c (thumb_legitimize_address): New function. | |
40450 | * arm-protos.h: Prototype it. | |
40451 | * arm.h (THUMB_LEGITIMIZE_ADDRESS): Define. | |
40452 | (LEGITIMIZE_ADDRESS): Use it. | |
40453 | ||
40454 | 2004-02-25 J"orn Rennecke <joern.rennecke@superh.com> | |
40455 | ||
40456 | * reload1.c (reload): Only spill eliminable register with multiple | |
40457 | adjacent elimination alternatives if all alternatives fail. | |
40458 | ||
40459 | 2004-02-25 Richard Earnshaw <rearnsha@arm.com> | |
40460 | ||
40461 | * arm.c (arm_legitimate_index_p): For QImode the range of an offset | |
40462 | is -4095...+4095 inclusive. | |
40463 | ||
40464 | 2004-02-25 Eric Botcazou <ebotcazou@libertysurf.fr> | |
40465 | ||
40466 | * doc/install.texi (sparc-sun-solaris2* specific notes): Document | |
40467 | the bootstrap failure with Sun CC 5.4 and 5.5. | |
40468 | ||
40469 | 2004-02-24 Kazu Hirata <kazu@cs.umass.edu> | |
40470 | ||
40471 | * cse.c (cse_change_cc_mode_insns): Stop at any instruction | |
40472 | which modifies NEWREG. | |
40473 | (cse_condition_code_reg): Update the mode of CC_REG in | |
40474 | CC_SRC_INSN on our own. | |
40475 | ||
40476 | 2004-02-24 Michael Matz <matz@suse.de> | |
40477 | ||
40478 | * config/i386/i386.c (ix86_comp_type_attributes): Check for | |
40479 | regparm attributes. | |
40480 | ||
40481 | 2004-02-24 Richard Henderson <rth@redhat.com> | |
40482 | ||
40483 | * toplev.c (dump_file_tbl): Rename from dump_file. | |
40484 | * bb-reorder.c, bt-load.c, cfgcleanup.c, cfglayout.c, cfgloopanal.c, | |
40485 | cfgloopmanip.c, cfgrtl.c, config/arm/arm.c, config/frv/frv.c, | |
40486 | config/i386/i386.c, config/ia64/ia64.c, config/mips/mips.c, | |
40487 | config/sh/sh.c, cse.c, flow.c, ifcvt.c, loop-iv.c, loop-unroll.c, | |
40488 | loop-unswitch.c, output.h, predict.c, profile.c, ra-build.c, | |
40489 | ra-colorize.c, ra-debug.c, ra-rewrite.c, ra.c, regrename.c, reload1.c, | |
40490 | toplev.c, tracer.c, value-prof.c, var-tracking.c, web.c: | |
40491 | s/rtl_dump_file/dump_file/g. | |
40492 | ||
40493 | 2004-02-24 Aldy Hernandez <aldyh@redhat.com> | |
40494 | ||
40495 | * config/rs6000/spe.md (spe_fix_truncsfsi2): Delete. | |
40496 | (spe_fixuns_truncsfsi2): Delete. | |
40497 | ||
40498 | * config/rs6000/rs6000.md (fix_truncsfsi2): Delete. | |
40499 | (fixuns_truncsfsi2): Delete. | |
40500 | ||
40501 | 2004-02-24 Josef Zlomek <zlomekj@suse.cz> | |
40502 | ||
40503 | PR/14240 | |
40504 | * rtlanal.c (replace_label): Fix replacing labels in constant pool. | |
40505 | ||
40506 | 2004-02-24 Geoffrey Keating <geoffk@apple.com> | |
40507 | ||
40508 | * config/darwin.h (TARGET_HAS_F_SETLKW): Define. | |
40509 | ||
40510 | 2004-02-24 Jason Merrill <jason@redhat.com> | |
40511 | ||
40512 | * tree.c (check_qualified_type): New fn. | |
40513 | (get_qualified_type): Use it. If type already has the desired | |
40514 | quals, just return it. | |
40515 | * tree.h: Declare it. | |
40516 | ||
40517 | 2004-02-24 Sanjiv Kumar Gupta <sanjivg@noida.hcltech.com> | |
40518 | ||
40519 | * target-def.h (TARGET_SCHED_INIT_GLOBAL, | |
40520 | TARGET_SCHED_FINISH_GLOBAL): New macros. | |
40521 | ||
40522 | * target.h (md_init_global, md_finish_global): Function | |
40523 | declarations corresponding to new target macros. | |
40524 | ||
40525 | * haifa-sched.c (sched_init, sched_finish): Allow target to | |
40526 | call the new schedular hooks. | |
40527 | ||
40528 | * flow.c (recompute_reg_usage): Add PROP_DEATH_NOTES flag in | |
40529 | call to update_life_info. | |
40530 | ||
40531 | * config/sh/sh.h (OVERRIDE_OPTIONS): Re-enable | |
40532 | flag_schedule_insns for SH4. | |
40533 | ||
40534 | * config/sh/sh.c (sh_md_init_global, sh_md_finish_global, | |
40535 | find_set_regmode_weight, find_insn_regmode_weight, | |
40536 | find_regmode_weight), sh_md_init, sh_dfa_new_cycle, | |
40537 | sh_variable_issue, high_pressure, ready_reorder, | |
40538 | rank_for_reorder, swap_reorder, sh_reorder, sh_reorder2): New | |
40539 | functions used to throttle the insn movement in first | |
40540 | scheduling pass for SH. | |
40541 | ||
a1d1988f | 40542 | * doc/tm.texi: Document TARGET_SCHED_INIT_GLOBAL and |
3eb54e5f ILT |
40543 | TARGET_SCHED_FINISH_GLOBAL. |
40544 | ||
40545 | 2004-02-24 Alexandre Oliva <aoliva@redhat.com> | |
40546 | ||
40547 | Implement FR-V FDPIC ABI support for frv-uclinux and frv-linux. | |
40548 | 2004-02-05 Alexandre Oliva <aoliva@redhat.com> | |
40549 | * config/frv/frv.c (frv_emit_movsi): Use GOT relocations for | |
40550 | symbols in sections named by the user. | |
40551 | 2004-01-30 Alexandre Oliva <aoliva@redhat.com> | |
40552 | * config/frv/linux.h (TARGET_OS_CPP_BUILTINS): New. | |
40553 | 2004-01-27 Alexandre Oliva <aoliva@redhat.com> | |
40554 | * config.gcc (frv-*-*linux*): Handle like *-*-linux*. | |
40555 | * config/frv/t-linux (EXTRA_MULTILIB_PARTS): Remove, obviated by | |
40556 | the above. | |
40557 | 2004-01-20 Alexandre Oliva <aoliva@redhat.com> | |
40558 | * config/frv/frv.md (symGOT2reg_hilo, symGOTOFF2reg_hilo): Add | |
40559 | one more pseudo to further improve code generation. | |
40560 | 2004-01-19 Alexandre Oliva <aoliva@redhat.com> | |
40561 | * config/frv/frv.md (movdi_ldd): Introduce explicit indirection | |
40562 | inside UNSPEC. | |
40563 | 2004-01-16 Alexandre Oliva <aoliva@redhat.com> | |
40564 | * config/frv/frv.c (frv_legitimate_address_p): Added | |
40565 | allow_double_reg_p argument. Adjust all callers. Use it to | |
40566 | decide whether to enable double-register indirect addressing. | |
40567 | (frv_funcdesc_alias_set): Remove. | |
40568 | (frv_expand_fdpic_call): Force non-SYMBOL_REF operand into | |
40569 | register. Emit movdi_ldd. | |
40570 | (ldd_address_operand): New. | |
40571 | * config/frv/frv-protos.h (frv_legitimate_address_p): Adjust. | |
40572 | * config/frv/frv.h (GO_IF_LEGITIMATE_ADDRESS): Likewise. | |
40573 | (PREDICATE_CODES): Add ldd_address_operand. | |
40574 | * config/frv/frv.md (movdi_ldd): New. | |
40575 | (symGOT2reg_hilo, symGOTOFF2reg_hilo): Use separate pseudo for | |
40576 | intermediate computations if possible. | |
40577 | (symGOTOFF2reg_i): Fix harmless typo. | |
40578 | 2003-12-18 Alexandre Oliva <aoliva@redhat.com> | |
40579 | * unwind-dw2-fde-glibc.c (_Unwind_IteratePhdrCallback): Cast | |
40580 | relocated p_vaddr to vaddr type. | |
40581 | * config/frv/frv-protos.h (frv_expand_fdpic_call): Return void. | |
40582 | * config/frv/frv.c (frv_get_funcdesc_alias_set): New. | |
40583 | (frv_expand_fdpic_call): Propagate incoming MEM's expr to funcdesc | |
40584 | MEM, or use a funcdesc alias set. Use regular move instead of | |
40585 | ldd. | |
40586 | (dbl_memory_one_insn_operand): Recognize function descriptors by | |
40587 | type or by alias set, and don't split them. | |
40588 | * config/frv/frv.md (call, call_value): Never use call_internal | |
40589 | for fdpic. | |
40590 | (call_internal, call_value_internal): Never match for FDPIC. | |
40591 | (call_fdpicdi, call_fdpicsi, call_value_fdpicdi, | |
40592 | call_value_fdpicsi): Require FDPIC. | |
40593 | (ldd): Removed. | |
40594 | 2003-12-17 Alexandre Oliva <aoliva@redhat.com> | |
40595 | * config/frv/frv.h (CRT_GET_RFIB_DATA): Define for __FRV_FDPIC__. | |
40596 | * unwind-dw2-fde-glibc.c: Don't include elf-fdpic.h any more. | |
40597 | (_Unwind_IteratePhdrCallback): Adjust type of load_base for FRV | |
40598 | FDPIC. Compute data base address. | |
40599 | * config/frv/linux.h (SUBTARGET_DRIVER_SELF_SPECS): Enable -mfdpic | |
40600 | before the other self-specs are processed. | |
40601 | * config/frv/t-linux (CRTSTUFF_T_CFLAGS, TARGET_LIBGCC2_CFLAGS): | |
40602 | Build with -fPIC. | |
40603 | 2003-12-15 Alexandre Oliva <aoliva@redhat.com> | |
40604 | * unwind-dw2-fde-glibc.c: Don't include bits/elf-fdpic.h if | |
40605 | inhibit_libc is defined. | |
40606 | 2003-12-12 Alexandre Oliva <aoliva@redhat.com> | |
40607 | * unwind-dw2-fde-glibc.c: Include bits/elf-fdpic.h for | |
40608 | __FRV_FDPIC__. | |
40609 | (__RELOC_POINTER): Define. | |
40610 | (_Unwind_IteratePhdrCallback): Use it. | |
40611 | * config/frv/frv.h (Twrite): Define. | |
40612 | (TRANSFER_FROM_TRAMPOLINE): Use it. | |
40613 | * config/frv/linux.h (INVOKE__main): Undefine. | |
40614 | (Twrite): Override. | |
40615 | 2003-12-05 Richard Sandiford <rsandifo@redhat.com> | |
40616 | * doc/invoke.texi (-mlong-calls, -mlinked-fp): Document FRV options. | |
40617 | (-mlibrary-pic): Emphasize that this option generates EABI code. | |
40618 | (-mcpu): Add fr550. | |
40619 | (-mpack): Remove. | |
40620 | 2003-11-30 Alexandre Oliva <aoliva@redhat.com> | |
40621 | * config/frv/frv.c (int_2word_operand): Reject LABELs, SYMBOL_REFs | |
40622 | and CONSTs in FDPIC mode. | |
a1d1988f | 40623 | * config.gcc (with_cpu): Default to fr400 on frv-*-*linux*. |
3eb54e5f ILT |
40624 | 2003-11-29 Richard Sandiford <rsandifo@redhat.com> |
40625 | * config/frv/frv.c (move_source_operand): Don't accept symbolic | |
40626 | constants. | |
40627 | * config/frv/frv.md (*movhi_internal, *movsi_internal): Use an 'n' | |
40628 | rather than 'i' constraint for the 2-instruction alternative. | |
40629 | (*movsi_2word): New, incorporating existing int_2word_operand splitter. | |
40630 | 2003-11-29 Richard Sandiford <rsandifo@redhat.com> | |
40631 | * config/frv/frv.h (EXTRA_CONSTRAINT_FOR_Q): Renamed from | |
40632 | EXTRA_CONSTRAINT_FOR_Y. | |
40633 | (EXTRA_CONSTRAINT): Remove handling of 'Y'. | |
40634 | * config/frv/frv.md (*movsi_internal): Remove 'Q' constraint. | |
40635 | (addsi3): Change 'Y' constraint to 'Q'. | |
40636 | 2003-11-27 Richard Sandiford <rsandifo@redhat.com> | |
40637 | * reload.c (CONST_POOL_OK_P): New macro. | |
40638 | (find_reloads): Use it to decide whether a constant can be forced | |
40639 | into memory. | |
40640 | * config/frv/frv.h (LEGITIMATE_PIC_OPERAND_P): Return true if the | |
40641 | constant satisfies got12_operand. | |
40642 | (frv_cannot_force_const_mem): Always return true for TARGET_FDPIC. | |
40643 | (frv_legitimate_address_p): Check for valid unspec offsets using | |
40644 | got12_operand rather than frv_legitimate_fdpic_operand_p. | |
40645 | (frv_legitimate_fdpic_operand_p): Delete. | |
40646 | (frv_emit_movsi): Abort if we try to use the FDPIC register during | |
40647 | or after reload. | |
40648 | (frv_legitimate_constant_p): Return LEGITIMATE_PIC_OPERAND_P if | |
40649 | TARGET_FDPIC. | |
40650 | * config/frv/frv.md (*movdf_double): Add alternatives for CONST_DOUBLE. | |
40651 | 2003-11-19 Richard Sandiford <rsandifo@redhat.com> | |
40652 | * config/frv/frv-protos.h (fdpic_operand, fdpic_got12_operand) | |
40653 | (frv_fdpic_fptr_operand): Don't declare here. | |
40654 | * config/frv/frv.h (EXTRA_CONSTRAINT_FOR_Y): Call got12_operand | |
40655 | rather than fdpic_got12_operand. | |
40656 | (PREDICATE_CODES): Remove symbolic_operand entry. Add entries for | |
40657 | got12_operand and const_unspec_operand. | |
40658 | * config/frv/frv.c (got12_operand): Renamed from fdpic_got12_operand. | |
40659 | (gpr_or_int12_operand, dbl_memory_one_insn_operand): Update calls. | |
40660 | (symbolic_operand): Remove. | |
40661 | (const_unspec_operand): New predicate. | |
40662 | * config/frv/frv.md (*movsi_got): Use got12_operand. | |
40663 | (*movsi_high_got, *movsi_lo_sum_got): Use const_unspec_operand. | |
40664 | 2003-11-18 Richard Sandiford <rsandifo@redhat.com> | |
40665 | * config/frv/frv-protos.h (frv_output_addr_const_extra): Remove. | |
40666 | * config/frv/frv.h (OUTPUT_ADDR_CONST_EXTRA): Remove definition. | |
40667 | * config/frv/frv.c (frv_unspec): New structure. | |
40668 | (frv_small_data_reloc_p, frv_const_unspec_p): New functions. | |
40669 | (frv_print_operand_memory_reference): Use frv_const_unspec_p to | |
40670 | validate CONST indices. Use frv_output_const_unspec to print them. | |
40671 | (frv_print_operand): Update call to unspec_got_name. Use | |
40672 | frv_output_const_unspec to print constant unspecs. | |
40673 | (frv_legitimate_fdpic_operand_p): Return true if frv_const_unspec_p. | |
40674 | Reject UNSPECs otherwise. | |
40675 | (unspec_got_name): Take the relocation number as argument, not an | |
40676 | rtx containing it. | |
40677 | (frv_output_addr_const_extra): Remove, replacing with... | |
40678 | (frv_output_const_unspec): ...this new function. | |
40679 | (frv_find_base_term): Use frv_const_unspec_p & frv_small_data_reloc_p. | |
40680 | (gpr_or_int12_operand): Use fdpic_got12_operand. | |
40681 | (dbl_memory_one_insn_operand): Likewise. | |
40682 | (fdpic_got12_operand): Use frv_const_unspec_p. | |
40683 | (frv_emit_movsi): Use frv_const_unspec_p to check for CONSTs that | |
40684 | are already legitimate. Use frv_small_data_reloc_p when deciding | |
40685 | whether to use HIGH/LO_SUM for R_FRV_GOTOFF12 and R_FRV_GPREL12. | |
40686 | 2003-11-18 Alexandre Oliva <aoliva@redhat.com> | |
40687 | * config/frv/t-linux (SHLIB_MAPFILES): Override so as to export... | |
40688 | * config/frv/libgcc-frv.ver: ... frv-specific symbols. New file. | |
40689 | * config/frv/frv-abi.h (CREATE_DOUBLE_SHIFT): Use branch to local | |
40690 | label, for real this time. | |
40691 | * config/frv/frv.c (frv_local_funcdesc_p): Update to new | |
40692 | representation of visibility. | |
40693 | (fdpic_got12_operand, symbolic_operand): Mark unused arguments as | |
40694 | such. | |
40695 | 2003-11-17 Richard Sandiford <rsandifo@redhat.com> | |
40696 | * config/frv/frv.h (MASK_LINKED_FP, TARGET_LINKED_FP): New macros. | |
40697 | (TARGET_SWITCHES): Add -mlinked-fp and -mno-linked-fp. | |
40698 | * config/frv/frv.c (frv_override_options): Set MASK_LINKED_FP unless | |
40699 | it was explicitly disabled. | |
40700 | (frv_stack_info): There is no need to save the link register in every | |
40701 | frame unless TARGET_LINKED_FP is true. | |
40702 | (frv_frame_pointer_required): If !TARGET_LINKED_FP, only require a | |
40703 | frame pointer if the stack pointer might change value. | |
40704 | (frv_return_addr_rtx): Check and process "count" argument. | |
40705 | 2003-11-14 Richard Sandiford <rsandifo@redhat.com> | |
40706 | * config/frv/frv-protos.h (frv_legitimize_address): Remove. | |
40707 | (frv_find_base_term): Declare. | |
40708 | * config/frv/frv.h (LEGITIMIZE_ADDRESS): Do nothing. | |
40709 | (FIND_BASE_TERM): Define. | |
40710 | (PREDICATE_CODES): Remove pic_register_operand, pic_symbolic_operand, | |
40711 | small_data_register_operand, small_data_symbolic_operand. Add | |
40712 | symbolic_operand. | |
40713 | * config/frv/frv.c (const_small_data_p, plus_small_data_p): Delete. | |
40714 | (frv_print_operand_memory_reference, output_move_single): Remove | |
40715 | special handling for unlegitimized sdata addresses. | |
40716 | (frv_legitimate_address_p): Don't allow sums of SDA_BASE_REG | |
40717 | and symbolic addresses. | |
40718 | (frv_legitimize_address, frv_legitimize_fdpic_address): Delete. | |
40719 | (frv_find_base_term): New function. | |
40720 | (int_2word_operand): Check specifically for symbolic address constants. | |
40721 | (pic_register_operand, pic_symbolic_operand): Delete. | |
40722 | (small_data_register_operand, small_data_symbolic_operand): Delete. | |
40723 | (dbl_memory_one_insn_operand): Don't call plus_small_data_p. | |
40724 | Allow UNSPEC_GOT constants if !TARGET_FDPIC. | |
40725 | (move_source_operand): Only accept CONSTs if they're a two-insn | |
40726 | symbolic constant. | |
40727 | (fdpic_got12_operand): Don't require TARGET_FDPIC. | |
40728 | (frv_emit_movsi): Legitimize sdata and -mlibrary-pic addresses | |
40729 | using gen_symGOTOFF2reg*. | |
40730 | (frv_ifcvt_rewrite_mem): Remove (plus gr16 ...) special cases. | |
40731 | (frv_rtx_costs): Give all MEM addresses a cost of 0. Give MEMs | |
40732 | themselves a cost of 3 insns. | |
40733 | * config/mips/mips.md (*movsi_got): Allow for !TARGET_FDPIC too. | |
40734 | Change predicate to symbolic_operand. | |
40735 | (*movsi_high_got, *movsi_lo_sum_got): Likewise. | |
40736 | (*movsi_lda_sdata): Delete. | |
40737 | (*movsi_pic, movsi_high_pic, movsi_lo_sum_pic): Delete. | |
40738 | 2003-11-05 Alexandre Oliva <aoliva@redhat.com> | |
40739 | * config.gcc: Add t-slibgcc-elf-ver and support --with-cpu for | |
40740 | frv-*-*linux*. | |
40741 | * config/frv/frv-abi.h (CREATE_DOUBLE_SHIFT): Use branch to local | |
40742 | label. | |
40743 | * config/frv/frv.h (DRIVER_SELF_SPECS): Add blank before | |
40744 | -multilib-library-pic. | |
40745 | (LINK_SPEC): Add -z text for -mfdpic. | |
40746 | * config/frv/frvbegin.c (__ROFIXUP_LIST__): Don't define on FDPIC. | |
40747 | * config/frv/frvend.c (__ROFIXUP_END__): Likewise. | |
40748 | * config/frv/linux.h (STARTFILE_SPEC, ENDFILE_SPEC, LINK_SPEC): | |
40749 | Override. | |
40750 | (OPTION_DEFAULT_SPECS, HAS_INIT_SECTION, INIT_SECTION_ASM_OP, | |
40751 | FINI_SECTION_ASM_OP, CRT_CALL_STATIC_FUNCTION): Define. | |
40752 | * config/frv/t-linux (EXTRA_MULTILIB_PARTS): Use | |
40753 | crtstuff-generated files. | |
40754 | 2003-10-31 Alexandre Oliva <aoliva@redhat.com> | |
40755 | * config.gcc: Add frv-*-*linux*. | |
40756 | * config/frv/linux.h, config/frv/t-linux: New. | |
40757 | 2003-10-06 Alexandre Oliva <aoliva@redhat.com> | |
40758 | * config/frv/frv.h (LINK_SPEC): Pass -melf32frvfd to the linker | |
40759 | when -mfdpic even if a linker script is explicitly listed. | |
40760 | 2003-10-02 Alexandre Oliva <aoliva@redhat.com> | |
40761 | * config/frv/frv.c (frv_override_options): Clear asm_out | |
40762 | unaligned_op for SImode on FDPIC. | |
40763 | (frv_emit_movsi): Use compute_reloc_for_constant to compute the | |
40764 | argument passed to decl_readonly_section. | |
40765 | (frv_assemble_integer): Revert 2003-09-30's change, but make the | |
40766 | whole block run with FDPIC even with -fno-PIC. | |
40767 | 2003-10-02 Alexandre Oliva <aoliva@redhat.com> | |
40768 | * config/frv/frv.c (frv_cannot_force_const_mem): Don't force | |
40769 | symbol or label plus offset to memory. | |
40770 | (frv_emit_movsi): Emit GPREL only if -mgprel-ro. Emit 32-bit | |
40771 | GOTOFF and GPREL for LABEL_REF. | |
40772 | * config/frv/frv.h (DRIVER_SELF_SPECS): Add -mgprel-ro with | |
40773 | -mfdpic unless -mno-gprel-ro, -fpic or -fpie. | |
40774 | (MASK_GPREL_RO, TARGET_GPREL_RO): New. | |
40775 | (TARGET_SWITCHES): Added gprel-ro and no-gprel-ro. | |
40776 | * doc/invoke.texi: Document them. | |
40777 | 2003-09-30 Alexandre Oliva <aoliva@redhat.com> | |
40778 | * config/frv/frv-protos.h (frv_gen_GPsym2reg): Declare. | |
40779 | (frv_splittable_got_operand): Removed. | |
40780 | * config/frv/frv.c (frv_cannot_force_const_mem): Reject HIGH and | |
40781 | LO_SUM. Add comments. | |
40782 | (frv_override_options): Moved enabling of FDPIC to | |
40783 | DRIVER_SELF_SPECS. Don't enable MASK_DWORD. | |
40784 | (frv_local_funcdesc_p): Remove unnecessary heck for flag_pie. | |
40785 | (frv_legitimize_fdpic_address): Don't duplicate logic in | |
40786 | frv_emit_movsi. | |
40787 | (frv_gen_GPsym2reg): New. | |
40788 | (unspec_got_name): Added gprel. | |
40789 | (frv_expand_fdpic_call): Add support for inlining PLTs. | |
40790 | (fdpic_fptr_operand): Renamed from frv_fdpic_fptr_operand. | |
40791 | (gpr_or_int12_operand): Added GPREL12. | |
40792 | (pic_symbolic_operand): Match even if !flag_pic for FDPIC. | |
40793 | (small_data_symbolic_operand): Fail if FDPIC. | |
40794 | (fdpic_splittable_got_operand): Removed. | |
40795 | (fdpic_got12_operand): Added GPREL12. | |
40796 | (frv_emit_movsi): Reorganize to avoid duplication. Emit GPREL | |
40797 | when appropriate. Fix sdata GOTOFF. | |
40798 | (frv_legitimate_constant_p): Require legitimate PIC operand for | |
40799 | FDPIC with pic, but only a legitimate fdpic operand for non-pic. | |
40800 | (frv_assemble_integer): Move FDPIC funcdesc handling out of | |
40801 | flag_pic case. | |
40802 | (frv_asm_out_constructor, frv_asm_out_destructor): Abort if | |
40803 | frv_assemble_integer fails. | |
40804 | * config/frv/frv.h (DRIVER_SELF_SPECS): New. | |
40805 | (SUBTARGET_DRIVER_SELF_SPECS): New. | |
40806 | (ASM_SPEC): Don't pass -mno-fdpic. | |
40807 | (LINK_SPEC): Pass -melf32frvfd for FDPIC. | |
40808 | (MASK_INLINE_PLT, TARGET_INLINE_PLT): New. | |
40809 | (TARGET_SWITCHES): Add -minline-plt, -mno-inline-plt and | |
40810 | -multilib-library-pic. | |
40811 | (PREDICATE_CODES): Added fdpic_operand, fdpic_fptr_operand, | |
40812 | condexec_si_media_operator, condexec_sf_add_operator and | |
40813 | condexec_sf_conv_operator. Removed condexec_sf_binary_operator | |
40814 | and condexec_sf_unary_operator. | |
40815 | * config/frv/frv.md (R_FRV_GPREL12, R_FRV_GPRELHI, R_FRV_GPRELLO): | |
40816 | New. | |
40817 | (movsi_got, movsi_high_got, movsi_lo_sum_got): Move before | |
40818 | movsi_internal. Give them internal names. movsi_got has type | |
40819 | int. | |
40820 | (fdpic got splitters): Remove. | |
40821 | (symGPREL2reg, symGPREL2reg_hilo): New. | |
40822 | * config/frv/t-frv (MULTILIB_MATCHES): Don't map -fpic and -fPIC | |
40823 | to -mlibrary-pic. Map -multilib-library-pic to it. | |
40824 | * doc/invoke.texi: -mfdpic, -minline-plt, -multilib-library-pic: | |
40825 | Document. | |
40826 | 2003-09-28 Alexandre Oliva <aoliva@redhat.com> | |
40827 | * config/frv/frv.c (frv_function_symbol_referenced_p): Declare. | |
40828 | (TARGET_CANNOT_FORCE_CONST_MEM): Define to... | |
40829 | (frv_cannot_force_const_mem): New function. | |
40830 | (const_small_data_p, plus_small_data_p): Update comments on sdata | |
40831 | on FDPIC. | |
40832 | (frv_override_options): Set flag_pie for FDPIC too. | |
40833 | (frv_conditional_register_usage): Mark gr16 and gr17 as non-fixed, | |
40834 | call-saved registers on FDPIC. | |
40835 | (frv_stack_info): Don't preserve the PIC register on FDPIC, and | |
40836 | don't force LR to be preserved. | |
40837 | (frv_expand_prologue): Likewise. | |
40838 | (frv_asm_output_mi_thunk): Use 12-bit funcdesc gotoff for -fpic. | |
40839 | (frv_frame_pointer_required): Don't force it just because the | |
40840 | FDPIC register is used. | |
40841 | (frv_legitimate_address_p) <CONST>: Accept a legitimate FDPIC | |
40842 | operand only if !condexec_p. | |
40843 | (frv_legitimize_address): Return the FDPIC-legitimized address. | |
40844 | Don't match small data here on FDPIC. | |
40845 | (frv_legitimate_fdpic_operand_p): Don't accept unadorned function | |
40846 | symbols. Use TRUE/FALSE instead of 1/0. | |
40847 | (frv_local_funcdesc_p): New. | |
40848 | (frv_legitimize_fdpic_address): Rewrite to use GOTOFF and 12-bit | |
40849 | immediates when possible. | |
40850 | (pic_symbolic_operand): Accept SYMBOL_REFs and CONSTs in FDPIC. | |
40851 | (dbl_memory_one_insn_operand): Accept addresses that add a REG and | |
40852 | an UNSPEC_GOT. | |
40853 | (frv_emit_movsi): Handle FDPIC before small data. Use GOTOFF and | |
40854 | 12-bit immediates when possible. | |
40855 | (frv_legitimate_constant_p): In FDPIC, reject SImode operands that | |
40856 | are not legitimate pic operands. | |
40857 | (frv_in_small_data_p): Re-enable for FDPIC. | |
40858 | * config/frv/frv.h (SDA_BASE_REG): Remove comment about FDPIC. | |
40859 | (FRV_GLOBAL_P): Removed. | |
40860 | * config/frv/frv.md: Add modes to CONSTs. | |
40861 | (movsi_got): New. | |
40862 | (movsi_lo_sum_got): Use separate matches instead of match_dup. | |
40863 | (movsi_high_pic, movsi_lo_sum_pic): Match on non-FDPIC only. | |
40864 | (fdpic splittable operations): Match on flag_pic != 1. | |
40865 | 2003-09-22 Alexandre Oliva <aoliva@redhat.com> | |
40866 | * config/frv/frv.c (frv_asm_out_constructor, | |
40867 | frv_asm_out_destructor): Pass to frv_assemble_integer the size in | |
40868 | bytes, not bits. | |
40869 | 2003-09-19 Alexandre Oliva <aoliva@redhat.com> | |
40870 | * config/frv/frv.c (frv_assemble_integer): Reject complex | |
40871 | expressions referencing function SYMBOL_REFs. | |
40872 | * config/frv/frv.c (frv_function_symbol_referenced_p): New. | |
40873 | (move_source_operand): Reject CONSTs that reference function | |
40874 | SYMBOL_REFs on FDPIC. | |
40875 | (frv_emit_movsi): If we get such a CONST, break it up. | |
40876 | * config/frv/frv.h (CPP_SPEC): Define __FRV_FDPIC__ for -mfdpic. | |
40877 | (TRANSFER_FROM_TRAMPOLINE): Use different definitions for FDPIC. | |
40878 | * config/frv/frv.c (frv_print_operand) <I>: Recognize PLUS without | |
40879 | MEM. | |
40880 | (frv_assemble_integer): Don't use funcdesc for LABEL_REFs. | |
40881 | (frv_trampoline_size): Increase for FDPIC. | |
40882 | * config/frv/frv.h (TRAMPOLINE_ALIGNMENT): Bump to 64 for FDPIC. | |
40883 | (TRANSFER_FROM_TRAMPOLINE): Handle FDPIC trampolines. | |
40884 | * config/frv/frv.c (frv_legitimize_fdpic_address, frv_emit_movsi): | |
40885 | Disable use of GOTOFF for now. | |
40886 | (const_small_data_p, plus_small_data_p, frv_in_small_data_p): | |
40887 | Disable use of small data in FDPIC for now. | |
40888 | (frv_asm_output_mi_thunk): Implement for FDPIC. | |
40889 | * config/frv/frv.h (SDA_BASE_REG): Set to -1 with FDPIC. | |
40890 | * config/frv/frv.c (frv_asm_out_constructor): Use | |
40891 | frv_assemble_integer for FDPIC pointers. | |
40892 | (frv_asm_out_destructor): Likewise. | |
40893 | * config/frv/frv.md (ldd): Fix order of operands. Use | |
40894 | address_operand for input. | |
40895 | 2003-09-18 DJ Delorie <dj@redhat.com> | |
40896 | * config/frv/frv.c (frv_legitimate_fdpic_operand_p): Remove UNSPEC_PIC. | |
40897 | (unspec_got_name): Correct typo. | |
40898 | (frv_emit_movsi): Pre-expand splittable GOTs. | |
40899 | (frv_expand_fdpic_call): Rename gen_lddi to gen_ldd. | |
40900 | * config/frv/frv.md (lddi): Fix syntax error, rename to ldd. | |
40901 | (symGOT2reg_hilo, symGOTOFF2reg_hilo): New. | |
40902 | * config/frv/t-frv: Add -mfdpic multilibs. | |
40903 | * config/frv/frv.h (ASM_SPEC): Pass -mfdpic/-mno-fdpic. | |
40904 | (TARGET_SWITCHES): Add -mno-fdpic, fix documentation. | |
40905 | * config/frv/frv.c (frv_override_options): -mfdpic assumes | |
40906 | flag_pic, default to 32-bit pics, require DWORD ops. | |
40907 | (frv_override_options): Add W and Z constraints. | |
40908 | (frv_expand_prologue): No pic prologue for -mfdpic. | |
40909 | (frv_asm_output_mi_thunk): Support -mfdpic (soon). | |
40910 | (frv_print_operand_memory_reference): Handle GOT constants. | |
40911 | (frv_legitimate_address_p): Allow GOT constants. | |
40912 | (frv_legitimize_address): Handle GOT addresses too. | |
40913 | (frv_legitimate_fdpic_operand_p): New. | |
40914 | (frv_legitimize_fdpic_address): New. | |
40915 | (unspec_got_name): New. | |
40916 | (frv_output_addr_const_extra): New. | |
40917 | (frv_expand_fdpic_call): New. | |
40918 | (frv_fdpic_fptr_operand): New. | |
40919 | (gpr_or_int12_operand): Handle GOT operands. | |
40920 | (int_2word_operand): Handle GOT operands. | |
40921 | (fdpic_operand): New. | |
40922 | (fdpic_splittable_got_operand): New. | |
40923 | (fdpic_got12_operand): New. | |
40924 | (frv_emit_movsi): Handle GOT operands. | |
40925 | (frv_assemble_integer): -mfdpic doesn't use rofixups. | |
40926 | (frv_print_operand): Support 'g' code for GOT operands. | |
40927 | * config/frv/frv-protos.h: Add prototypes as needed. | |
40928 | * config/frv/frv.md (R_FRV_GOT12, R_FRV_GOTHI, R_FRV_GOTLO, | |
40929 | R_FRV_FUNCDESC, R_FRV_FUNCDESC_GOT12, R_FRV_FUNCDESC_GOTHI, | |
40930 | R_FRV_FUNCDESC_GOTLO, R_FRV_FUNCDESC_VALUE, | |
40931 | R_FRV_FUNCDESC_GOTOFF12, R_FRV_FUNCDESC_GOTOFFHI, | |
40932 | R_FRV_FUNCDESC_GOTOFFLO, R_FRV_GOTOFF12, R_FRV_GOTOFFHI, | |
40933 | R_FRV_GOTOFFLO): New. | |
40934 | (movsi_high_got, movsi_lo_sum_got): New. | |
40935 | (*movsi_pic): Don't use this splitter for -mfdpic. | |
40936 | (addsi3): Allow GOT references also. | |
40937 | (call, call_value): Handle -mfdpic separately. | |
40938 | (call_fdpicdi, call_fdpicsi, lddi, call_value_fdpicdi, | |
40939 | call_value_fdpicsi): New. | |
40940 | (symGOT2reg, symGOT2reg_i, got splitters, symGOTOFF2reg, | |
40941 | symGOTOFF2reg_i): New. | |
40942 | * config/frv/frv.h (MASK_FDPIC): New. | |
40943 | (TARGET_FDPIC): New. | |
40944 | (TARGET_SWITCHES): Add -mfdpic. | |
40945 | (FDPIC_FPTR_REGNO): New. | |
40946 | (FDPIC_REGNO): New. | |
40947 | (OUR_FDPIC_REG): New. | |
40948 | (enum reg_class): Add FDPIC_REGS, FDPIC_FPTR_REGS, and | |
40949 | FDPIC_CALL_REGS. | |
40950 | (REG_CLASS_NAMES): Likewise. | |
40951 | (REG_CLASS_CONTENTS): Likewise. | |
40952 | (EXTRA_CONSTRAINT_FOR_Y): New, for 12-bit GOTs. | |
40953 | (EXTRA_CONSTRAINT): Add it here. | |
40954 | (FRV_GLOBAL_P): New. | |
40955 | (OUTPUT_ADDR_CONST_EXTRA): New. | |
40956 | ||
40957 | 2004-02-24 Kazu Hirata <kazu@cs.umass.edu> | |
40958 | ||
40959 | * config/sparc/sparc.h: Remove commented-out definitions of | |
40960 | TARGET_EDOM and GEN_ERRNO_RTX. | |
40961 | ||
40962 | 2004-02-24 Kazu Hirata <kazu@cs.umass.edu> | |
40963 | ||
40964 | * df.c, df.h, ra-build.c, ra-rewrite.c, ra.c, web.c: Replace | |
40965 | df_analyse with df_analyze. | |
40966 | ||
40967 | 2004-02-24 Alan Modra <amodra@bigpond.net.au> | |
40968 | ||
40969 | * gcse.c (delete_null_pointer_checks_1): Set stop_insn to end, not | |
40970 | beginning of block. | |
40971 | ||
40972 | 2004-02-23 James E Wilson <wilson@specifixinc.com> | |
40973 | ||
40974 | * calls.c (precompute_arguments): Update comment. | |
40975 | ||
40976 | 2004-02-23 Kazu Hirata <kazu@cs.umass.edu> | |
40977 | ||
40978 | * et-forest.c: Replace et_occurences with et_occurrences. | |
40979 | ||
40980 | 2004-02-23 Kazu Hirata <kazu@cs.umass.edu> | |
40981 | ||
40982 | * cfgloop.h, loop-iv.c, loop-unswitch.c: Replace iv_analyse | |
40983 | with iv_analyze. | |
40984 | ||
40985 | 2004-02-23 Kelley Cook <kcook@gcc.gnu.org> | |
40986 | ||
40987 | * config/i386/i386.c: Rename pni to sse3. | |
40988 | * config/i386/i386.h: Likewise. | |
40989 | * config/i386/i386.md: Likewise. | |
40990 | * config/i386/pmmintrin.h: Likewise. | |
40991 | * doc/extend.texi: Likewise. | |
40992 | * doc/invoke.texi: Likewise. | |
40993 | ||
40994 | 2004-02-23 Zack Weinberg <zack@codesourcery.com> | |
40995 | Kazu Hirata <kazu@cs.umass.edu> | |
40996 | ||
40997 | Remove -fwritable-strings. | |
40998 | * c-common.c (fix_string_type): Don't check | |
40999 | flag_writable_strings. | |
41000 | (fix_string_type): Likewise. | |
41001 | * c-opts.c (set_std_c89): Don't initialize | |
41002 | flag_writable_strings. | |
41003 | (set_std_c99): Likewise. | |
41004 | * common.opt (fwritable-strings): Remove. | |
41005 | * flags.h: Remove the external declaration of | |
41006 | flag_writable_strings. | |
41007 | * opts.c (common_handle_option) <OPT_fwritable_strings>: | |
41008 | Remove. | |
41009 | * toplev.c (flag_writable_strings): Remove. | |
41010 | (f_options): Remove an entry for writable-strings. | |
41011 | * varasm.c (const_hash_1) <STRING_CST>: Don't check | |
41012 | flag_writable_strings. | |
41013 | (compare_constant) <STRING_CST>: Likewise. | |
41014 | (build_constant_desc): Likewise. | |
41015 | * config/darwin.c (machopic_select_section): Likewise. | |
41016 | * config/arm/arm.c (AOF_ASSEMBLER): Likewise. | |
41017 | * config/arm/pe.c (arm_pe_encode_section_info): Likewise. | |
41018 | * config/iq2000/iq2000.c (iq2000_select_section): Likewise. | |
41019 | * config/mips/mips.c (mips_select_section): Likewise. | |
41020 | (mips_encode_section_info): Likewise. | |
41021 | * config/pa/pa.c (pa_select_section): Likewise. | |
41022 | * config/pa/pa.h (TEXT_SPACE_P): Likewise. | |
41023 | * config/v850/v850.c (v850_select_section): Likewise. | |
41024 | * doc/invoke.texi (-fwritable-strings): Remove. | |
41025 | (-fno-const-strings): Don't mention -fwritable-strings. | |
41026 | * doc/trouble.texi: Don't mention -fwritable-strings. | |
41027 | ||
41028 | 2004-02-23 Nathanael Nerode <neroden@gcc.gnu.org> | |
41029 | ||
41030 | * doc/install.texi: Update for switch of boehm-gc to autoconf 2.57. | |
41031 | ||
41032 | 2004-02-23 Dale Johannesen <dalej@apple.com> | |
41033 | ||
41034 | * config/rs6000.md (movsf_hardfloat): Add POWER form of nop. | |
e8366202 MS |
41035 | (movdf_hardfloat64): Ditto. |
41036 | (movdf_softfloat64): Ditto. | |
3eb54e5f ILT |
41037 | |
41038 | 2004-02-23 Fariborz Jahanian <fjahanian@apple.com> | |
41039 | * config/rs6000/rs6000.c (function_arg): call to | |
41040 | rs6000_mixed_function_arg for DFmode moved to allow | |
41041 | normal DFmode incoming register assignment. | |
41042 | ||
41043 | 2004-02-23 Dale Johannesen <dalej@apple.com> | |
41044 | ||
41045 | * config/rs6000.md (movsf_hardfloat): Accept CTR-to-CTR copy. | |
e8366202 | 41046 | (movdf_hardfloat64): Ditto. |
3eb54e5f ILT |
41047 | |
41048 | 2004-02-23 Kazu Hirata <kazu@cs.umass.edu> | |
41049 | ||
41050 | * convert.c, gcov-io.c, libgcov.c, sched-int.h, sibcall.c, | |
41051 | config/rs6000/linux.h, config/rs6000/rs6000-c.c: Update | |
41052 | copyright. | |
41053 | ||
41054 | 2004-02-23 Andrew Pinski <pinskia@physics.uc.edu> | |
41055 | ||
41056 | PR c/14156 | |
41057 | * c-typeck.c (c_expand_return): Change check for VAR_DECL | |
41058 | to use DECL_P instead. | |
41059 | ||
41060 | * config/rs6000/linux.h (OS_MISSING_POWERPC64): Define. | |
41061 | * config/rs6000/linux64.h (OS_MISSING_POWERPC64): Define. | |
41062 | ||
41063 | 2004-02-23 Kazu Hirata <kazu@cs.umass.edu> | |
41064 | ||
41065 | * Makefile.in (opts.o): Depend on target.h. | |
41066 | * opts.c (decode_options): Use targetm.default_short_enums | |
41067 | instead of DEFAULT_SHORT_ENUMS. | |
41068 | * system.h (DEFAULT_SHORT_ENUMS): Poison. | |
41069 | * target-def.h (TARGET_DEFAULT_SHORT_ENUMS): New. | |
41070 | (TARGET_INITIALIZER): Add TARGET_DEFAULT_SHORT_ENUMS. | |
41071 | * target.h (gcc_target): Add default_short_enums. | |
41072 | * config/cris/cris.h: Remove a comment about | |
41073 | DEFAULT_SHORT_ENUMS. | |
41074 | * config/ip2k/ip2k.h: Likewise. | |
41075 | * doc/tm.texi (DEFAULT_SHORT_ENUMS): Change to | |
41076 | TARGET_DEFAULT_SHORT_ENUMS. Update the description. | |
41077 | ||
41078 | 2004-02-23 Eric Botcazou <ebotcazou@libertysurf.fr> | |
41079 | Falk Hueffner <falk@debian.org> | |
41080 | ||
41081 | PR c/14188 | |
41082 | * builtins.c (expand_builtin_va_arg): Emit an informative message | |
41083 | if a trap is generated. | |
41084 | * c-typeck.c (build_function_call): Likewise. | |
41085 | ||
41086 | 2004-02-22 Jakub Jelinek <jakub@redhat.com> | |
41087 | ||
41088 | * gcov-io.c (gcov_open) [GCOV_LOCKED]: Use open + fdopen instead of | |
41089 | fopen. | |
41090 | * libgcov.c: Include sys/stat.h. | |
41091 | * config/rs6000/linux.h (TARGET_HAS_F_SETLKW): Define. | |
41092 | * config/rs6000/linux64.h (TARGET_HAS_F_SETLKW): Define. | |
41093 | * config/sparc/linux.h (TARGET_HAS_F_SETLKW): Define. | |
41094 | * config/sparc/linux64.h (TARGET_HAS_F_SETLKW): Define. | |
41095 | ||
41096 | 2004-02-22 Kazu Hirata <kazu@cs.umass.edu> | |
41097 | ||
41098 | * reorg.c: Remove comments about dead ports. | |
41099 | ||
41100 | 2004-02-22 Christopher Faylor <cgf@redhat.com> | |
41101 | ||
41102 | * config.gcc (i[34567]86-*-pe|i[34567]86-*-cygwin*): *Really* specify | |
41103 | extra host object file when targetting cygwin rather than generic | |
41104 | object files. | |
41105 | ||
41106 | 2004-02-22 Josef Zlomek <zlomekj@suse.cz> | |
41107 | ||
41108 | Merge from tree-ssa: | |
41109 | 2003-11-20 Richard Henderson <rth@redhat.com> | |
41110 | ||
41111 | * tree-inline.c (insert_decl_map): New. | |
41112 | (remap_decl, remap_type, remap_block, copy_body_r, | |
41113 | initialize_inlined_parameters, declare_return_variable, | |
41114 | remap_save_expr): Use it. | |
41115 | ||
41116 | * function.c (copy_body_r): Add mapping from id->ret_label to | |
41117 | id->ret_label. Revert test for ret_label. | |
41118 | ||
41119 | 2004-02-22 Jakub Jelinek <jakub@redhat.com> | |
41120 | ||
41121 | * genoutput.c (process_template): Strip trailing whitespace in @ | |
41122 | templates and issue a warning if there was any. | |
41123 | ||
41124 | 2004-02-21 Christopher Faylor <cgf@redhat.com> | |
41125 | ||
41126 | * config.gcc (i[34567]86-*-pe|i[34567]86-*-cygwin*): Specify extra host | |
41127 | object file when targetting cygwin. | |
41128 | * config/i386/t-cygwin (EXTRA_GCC_OBJS): Remove definition since it is | |
41129 | overridden by top-level Makefile. | |
41130 | ||
41131 | 2004-02-21 Roger Sayle <roger@eyesopen.com> | |
41132 | ||
41133 | * config/i386/i386.c (standard_80387_constant_p): Also prefer | |
41134 | the x87's load constant instructions when optimizing for size. | |
41135 | ||
41136 | 2004-02-21 Kazu Hirata <kazu@cs.umass.edu> | |
41137 | ||
41138 | * combine.c (SHIFT_COUNT_TRUNCATED): Remove. | |
41139 | * defaults.h (SHIFT_COUNT_TRUNCATED): Provide the default. | |
41140 | * expmed.c: Assume SHIFT_COUNT_TRUNCATED is always defined. | |
41141 | * fold-const.c: Likewise. | |
41142 | * simplify-rtx.c: Likewise. | |
41143 | ||
41144 | 2004-02-21 Alan Modra <amodra@bigpond.net.au> | |
41145 | ||
41146 | * combine.c (can_combine_p): Don't ignore SETs marked with | |
41147 | REG_EH_REGION notes. | |
41148 | (try_combine): When attemting to fix unrecognized insns, don't | |
41149 | split a PARALLEL that contains the original i2. | |
41150 | ||
41151 | 2004-02-21 Ziemowit Laski <zlaski@apple.com> | |
41152 | ||
41153 | * config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Refer to | |
41154 | SUBTARGET_OPTION_TRANSLATE_TABLE for architecture-specific options. | |
41155 | * config/i386/darwin.h (SUBTARGET_OPTION_TRANSLATE_TABLE): Define it. | |
41156 | * config/rs6000/altivec.h: #error out if '-maltivec' not specified. | |
41157 | (vector, pixel, bool): #define to __vector, __pixel and __bool. | |
41158 | (__un_args_eq, __bin_args_eq, __tern_args_eq): Move to C-specific | |
41159 | portion of header. | |
41160 | (__altivec_link_error_invalid_argument): Remove prototype; will use | |
41161 | __builtin_altivec_compiletime_error("vec_*") instead. | |
41162 | (vec_*): Fix/complete set of available operation overloads given the | |
41163 | existence of distinct 'vector bool ...' and 'vector pixel' types; tighten | |
41164 | cv-correctness of pointer arguments; in C, always check for correct | |
41165 | argument types before macro expansion. | |
41166 | * config/rs6000/darwin.h (SUBTARGET_OPTION_TRANSLATE_TABLE): New macro | |
41167 | defining Darwin/PowerPC-specific '-f[no-]altivec' and | |
41168 | '-W[no-]altivec-long-deprecated' switches. | |
41169 | * config/rs6000/rs6000-c (rs6000_cpu_cpp_builtins): Pre-define | |
41170 | '__vector', '__pixel' and '__bool' macros using | |
41171 | '__attribute__((altivec(...)))' types. | |
41172 | * config/rs6000/rs6000.c (bool_char_type_node, bool_short_type_node, | |
41173 | bool_int_type_node, pixel_type_node, bool_V16QI_type_node, | |
41174 | bool_V8HI_type_node, bool_V4SI_type_node, pixel_V8HI_type_node): | |
41175 | New type nodes. | |
41176 | (rs6000_warn_altivec_long, rs6000_warn_altivec_long_switch): New, for | |
41177 | handling '-W[no-]altivec-long-deprecated'. | |
41178 | (rs6000_override_options): Handle '-W[no-]altivec-long-deprecated'. | |
41179 | (rs6000_expand_binop_builtin, rs6000_expand_ternop_builtin, | |
41180 | altivec_expand_dst_builtin): Remove casts from integer literals. | |
41181 | (altivec_expand_builtin): Likewise; handle expansion of new | |
41182 | '__builtin_altivec_compiletime_error' function. | |
41183 | (rs6000_init_builtins): Initialize 'vector bool ...' and 'vector pixel' | |
41184 | types, and make them distinct from other vector types; register | |
41185 | '__builtin_altivec_compiletime_error' function. | |
41186 | (print_operand): For 'P', print a full target register name instead of | |
41187 | merely its number. | |
41188 | (rs6000_attribute_table): Add "altivec" attribute. | |
41189 | (rs6000_handle_altivec_attribute): New function. | |
41190 | * config/rs6000/rs6000.h (TARGET_OPTIONS): Describe | |
41191 | '-m[no-]-warn-altivec-long' (which '-W[no-]altivec-long-deprecated' | |
41192 | maps to). | |
41193 | (rs6000_warn_altivec_long, rs6000_warn_altivec_long_switch): Forward | |
41194 | declare. | |
41195 | (ALTIVEC_BUILTIN_COMPILETIME_ERROR): New built-in enumeration. | |
41196 | ||
41197 | 2004-02-20 James E Wilson <wilson@specifixinc.com> | |
41198 | ||
41199 | * config/ia64/ia64.md (shift_mix4left+1): Delete reload_completed | |
41200 | check. | |
41201 | (shift_mix4left+2): Delete redundant pattern. | |
41202 | ||
41203 | 2004-02-20 Kazu Hirata <kazu@cs.umass.edu> | |
41204 | ||
41205 | * alias.c (OUTGOING_REGNO): Don't define the default. | |
41206 | * builtins.c (OUTGOING_REGNO): Likewise. | |
41207 | (INCOMING_REGNO): Likewise. | |
41208 | (apply_args_register_offset): Always use OUTGOING_REGNO. | |
41209 | * combine.c (OUTGOING_REGNO): Likewise. | |
41210 | * sibcall.c (OUTGOING_REGNO): Likewise. | |
41211 | * defaults.h (INCOMING_REGNO): Provide the default. | |
41212 | (OUTGOING_REGNO): Likewise. | |
41213 | ||
41214 | 2004-02-21 Jan Hubicka <jh@suse.cz> | |
41215 | ||
41216 | * params.def (max-peeled-insns, max-completely-peeled-insns, | |
41217 | max-once-peeled-insns): Set to 400. | |
41218 | ||
41219 | 2004-02-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
41220 | ||
41221 | PR c++/12007 | |
41222 | * dbxout.c (dbxout_parms): Check that DECL_RTL and DECL_INCOMING_RTL | |
41223 | are set for parameters before outputing debugging information. | |
41224 | ||
41225 | 2004-02-20 Falk Hueffner <falk@debian.org> | |
41226 | ||
41227 | PR target/14201 | |
41228 | * config/alpha/alpha.md (*fix_truncsfsi_ieee): Fix typoed operand | |
41229 | numbers. | |
41230 | ||
41231 | 2004-02-20 Per Bothner <per@bothner.com> | |
41232 | ||
e8366202 | 41233 | * input.h: Don't #include line-map.h. It may cause link problems |
3eb54e5f ILT |
41234 | with undefined linemap_line_start when line-map.h is included but |
41235 | line-map.o is not linked, as currently happens with gengtype on | |
41236 | compilers that don't support inline. | |
e8366202 | 41237 | * toplev.c: So we do have to explicitly #include line-map.h here. |
3eb54e5f ILT |
41238 | |
41239 | 2004-02-20 Richard Henderson <rth@redhat.com> | |
41240 | ||
41241 | * doc/invoke.texi: Add -Wvariadic-macros. | |
41242 | ||
41243 | 2004-02-20 Kazu Hirata <kazu@cs.umass.edu> | |
41244 | ||
41245 | * haifa-sched.c (sched_emit_insn): Remove. | |
41246 | * sched-int.h: Remove the corresponding prototype. | |
41247 | ||
41248 | 2004-02-20 Kazu Hirata <kazu@cs.umass.edu> | |
41249 | ||
41250 | Revert: | |
41251 | 2004-02-19 Kazu Hirata <kazu@cs.umass.edu> | |
41252 | * opts.c (decode_options): Don't use DEFAULT_SHORT_ENUMS. | |
41253 | * system.h (DEFAULT_SHORT_ENUMS): Poison. | |
41254 | * config/cris/cris.h: Remove a comment about | |
41255 | DEFAULT_SHORT_ENUMS. | |
41256 | * config/ip2k/ip2k.h: Likewise. | |
41257 | * doc/tm.texi (DEFAULT_SHORT_ENUMS): Remove. | |
41258 | ||
41259 | 2004-02-20 Mohan Embar <gnustuff@thisiscool.com> | |
41260 | Tom Tromey <tromey@redhat.com> | |
41261 | ||
41262 | * doc/install.texi: Moved --disable-libgcj and | |
41263 | --with-system-zlib documentation to new section for | |
41264 | Java-specific options. | |
41265 | Added explicit Cross-Compiler-Specific Options subheading. | |
41266 | Added section for Java-specific options. | |
41267 | ||
41268 | 2004-02-20 Matt Kraai <kraai@alumni.cmu.edu> | |
41269 | ||
41270 | * doc/install.texi (Building the Ada compiler): Remove | |
41271 | example. | |
41272 | ||
41273 | 2004-02-20 James E Wilson <wilson@specifixinc.com> | |
41274 | ||
41275 | * toplev.c (dump_file_index, dump_file): Put ce3 before rnreg. | |
41276 | ||
41277 | 2004-02-20 Kazu Hirata <kazu@cs.umass.edu> | |
41278 | ||
41279 | * gcc.c (process_command): Allow translation of the copyright | |
41280 | symbol but not the rest of the copyright message. | |
41281 | * gcov.c (print_version): Likewise. Allow translation of the | |
41282 | message about warranty. | |
41283 | ||
41284 | 2004-02-20 Hans-Peter Nilsson <hp@axis.com> | |
41285 | ||
41286 | * config/cris/cris.md ("*andsi_movu"): Correct parentheses in | |
41287 | predicate. | |
41288 | ("*andsi_clear"): Tweak constraints to not match postincrement. | |
41289 | Adjust the predicate to exclude a volatile memory reference. | |
41290 | ("*andhi_clear"): Ditto. Rename from "*andhi_clear_signed". | |
41291 | ("*andhi_clear_unsigned"): Remove, non-matching pattern. | |
41292 | ||
41293 | 2004-02-19 Matt Kraai <kraai@alumni.cmu.edu> | |
41294 | ||
41295 | * move-if-change: Remove. | |
41296 | * Makefile.in (s-mlib, c-parse.y, s-check, s-gencheck) | |
41297 | (s-specs, s-options, s-config, s-conditions, s-flags, s-codes) | |
41298 | (s-constants, s-emit, s-recog, s-opinit, s-extract, s-peep) | |
41299 | (s-attr, s-attrtab, s-output, s-genrtl, s-modes, s-preds) | |
41300 | (s-gtyp-gen, s-iov): Use the top level move-if-change. | |
41301 | * objc/Make-lang.in (objc/objc-parse.y): Likewise. | |
41302 | ||
41303 | 2004-02-19 James E Wilson <wilson@specifixinc.com> | |
41304 | ||
41305 | * config/i386/i386.md (doloop_end_internal): Use nonimmediate_operand | |
41306 | for operand2. Add condition that requires register_operand operand2 | |
41307 | before reload. | |
41308 | ||
41309 | 2004-02-19 Richard Sandiford <rsandifo@redhat.com> | |
41310 | Maciej W. Rozycki <macro@ds2.pg.gda.pl> | |
41311 | ||
41312 | * config/mips/mips.c (mips_address_insns): Treat BLKmode specially. | |
41313 | * config/mips/mips.md: Expand comment above unaligned loads and stores. | |
41314 | ||
41315 | 2004-02-19 Richard Henderson <rth@redhat.com> | |
41316 | ||
41317 | * Makefile.in (STRICT2_WARN): Add -Wno-variadic-macros. | |
41318 | * tree.c (build0, build1, build2, build3, build4): Split out from... | |
41319 | (build): ... here. Call them. | |
41320 | * tree.h (build, _buildN1, _buildN2, _buildC1, _buildC2): New. | |
41321 | ||
41322 | * convert.c (convert_to_integer): Remove extra build argument. | |
41323 | * tree-inline.c (expand_call_inline): Likewise. | |
41324 | ||
41325 | 2004-02-19 Richard Henderson <rth@redhat.com> | |
41326 | ||
41327 | * c-opts.c (warn_variadic_macros): New. | |
41328 | (c_common_handle_option): Set it. | |
41329 | (sanitize_cpp_opts): Copy it to cpp_opts. | |
41330 | * c.opt (Wvariadic-macros): New. | |
41331 | * cpplib.h (struct cpp_options): Add warn_variadic_macros. | |
41332 | * cppinit.c (cpp_create_reader): Initialize it. | |
41333 | * cppmacro.c (parse_params): Check it. | |
41334 | ||
41335 | 2004-02-19 David Daney <ddaney@avtrex.com> | |
41336 | ||
41337 | PR preprocessor/14198 | |
41338 | * config/mips/linux.h (TARGET_OS_CPP_BUILTINS): Add | |
41339 | builtin_assert ("machine=mips") | |
41340 | ||
41341 | 2004-02-19 Kazu Hirata <kazu@cs.umass.edu> | |
41342 | ||
41343 | * opts.c (decode_options): Don't use DEFAULT_SHORT_ENUMS. | |
41344 | * system.h (DEFAULT_SHORT_ENUMS): Poison. | |
41345 | * config/cris/cris.h: Remove a comment about | |
41346 | DEFAULT_SHORT_ENUMS. | |
41347 | * config/ip2k/ip2k.h: Likewise. | |
41348 | * doc/tm.texi (DEFAULT_SHORT_ENUMS): Remove. | |
41349 | ||
41350 | 2004-02-19 Zack Weinberg <zack@codesourcery.com> | |
41351 | ||
41352 | * config/ia64/ia64.c (ia64_function_arg): In big-endian mode, | |
41353 | when passing single SFmode quantities in general registers, | |
41354 | put them in the high half. | |
41355 | ||
41356 | 2004-02-19 Aldy Hernandez <aldyh@redhat.com> | |
41357 | ||
41358 | * doc/md.texi (Standard Names): Document additional dependency on | |
41359 | fix pattern. | |
41360 | ||
41361 | * optabs.c (ftruncify): Remove. | |
41362 | (expand_fix): Manually inline ftruncify above. | |
41363 | (can_fix_p): Add FIXME note. | |
41364 | ||
41365 | 2004-02-19 Aldy Hernandez <aldyh@redhat.com> | |
41366 | ||
41367 | * config/rs6000/spe.md (spe_fixunssfsi2): Rename to | |
41368 | spe_fixuns_truncsfsi2. | |
41369 | ||
41370 | * config/rs6000/rs6000.md (fixunssfsi2): Rename to | |
41371 | fixuns_truncsfsi2. | |
41372 | ||
41373 | 2004-02-19 Steve Ellcey <sje@cup.hp.com> | |
41374 | ||
41375 | * config/ia64/ia64.h (HARD_REGNO_CALLER_SAVE_MODE): New macro. | |
41376 | * testsuite/gcc.dg/20040219-1.c: New test. | |
41377 | ||
41378 | 2004-02-19 Ulrich Weigand <uweigand@de.ibm.com> | |
41379 | ||
41380 | * config/s390/s390.md ("*subdf3_cc", "*subdf3_cconly", "*subsf3_cc", | |
41381 | "*subsf3_cconly"): Subtraction is not commutative. | |
41382 | ||
41383 | 2004-02-19 Zack Weinberg <zack@codesourcery.com> | |
41384 | ||
41385 | * sdbout.c (preinit_symbols, sdbout_initialized): New statics. | |
41386 | (sdbout_symbol): If called before sdbout_init, queue DECL for | |
41387 | later and return. | |
41388 | (sdbout_init): Set sdbout_initialized true, process decls | |
41389 | queued earlier by sdbout_symbol. | |
41390 | (sdbout_finish): Use size_t for index variable. | |
41391 | ||
41392 | 2004-02-19 Jeff Law <law@redhat.com> | |
41393 | ||
41394 | * fold-const.c (invert_truthvalue): Do not call invert_tree_comparison | |
41395 | for unordered comparison codes. | |
41396 | ||
41397 | 2004-02-19 Ian Lance Taylor <ian@wasabisystems.com> | |
41398 | ||
41399 | * reload1.c (reload): Correct comment. | |
41400 | (scan_paradoxical_subregs): Remove #if 0 and old comment. | |
41401 | * doc/extend.texi (Local Reg Vars): Remove obsolete comment that | |
41402 | register variables are not used by reload. | |
41403 | ||
41404 | 2004-02-19 Hans-Peter Nilsson <hp@axis.com> | |
41405 | ||
41406 | PR target/14209 | |
41407 | * config/cris/cris.md ("*andsi_movu", "*andhi_movu"): Tweak | |
41408 | constraints to not match postincrement. Adjust the predicate to | |
41409 | exclude a volatile memory reference. | |
41410 | ||
41411 | 2004-02-19 Kazu Hirata <kazu@cs.umass.edu> | |
41412 | ||
41413 | * config/mcore/mcore.h (ASM_OUTPUT_EXTERNAL): Remove. | |
41414 | ||
41415 | 2004-02-19 Kazu Hirata <kazu@cs.umass.edu> | |
41416 | ||
41417 | * hooks.c (hook_void_tree_int): Remove. | |
41418 | (hook_void_constcharptr): Likewise. | |
41419 | (hook_int_void_0): Likewise. | |
41420 | * hooks.h: Remove the prototypes for the above three | |
41421 | functions. | |
41422 | * targhooks.c (hook_bool_machine_mode_true): Remove. | |
41423 | * targhooks.h: Remove the prototype for | |
41424 | hook_bool_machine_mode_true. | |
41425 | ||
41426 | 2004-02-19 Kazu Hirata <kazu@cs.umass.edu> | |
41427 | ||
41428 | * emit-rtl.c (subreg_realpart_p): Remove. | |
41429 | (reorder_insns_with_line_notes): Likewise. | |
41430 | (end_full_sequence): Likewise. | |
41431 | * rtl.h: Remove the prototype for the above functions. | |
41432 | ||
41433 | 2004-02-19 Kazu Hirata <kazu@cs.umass.edu> | |
41434 | ||
41435 | * config/arc/arc.h, config/arm/arm.h, config/frv/frv.h, | |
41436 | config/h8300/h8300.h, config/i386/i386.h, config/i860/i860.h, | |
41437 | config/iq2000/iq2000.h, config/m32r/m32r.h, | |
41438 | config/pdp11/pdp11.h, config/sparc/sparc.h, | |
41439 | config/xtensa/xtensa.h: Remove commented-out or useless | |
41440 | definitions of CASE_VECTOR_PC_RELATIVE. | |
41441 | ||
41442 | 2004-02-19 Kazu Hirata <kazu@cs.umass.edu> | |
41443 | ||
41444 | * loop.c (all_sets_invariant_p): Remove. | |
41445 | ||
41446 | 2004-02-19 Eric Botcazou <ebotcazou@libertysurf.fr> | |
41447 | ||
41448 | PR target/12916 | |
41449 | * config/sparc/sparc.h (NPARM_REGS): Delete. | |
41450 | (BASE_RETURN_VALUE_REG): Likewise. | |
41451 | (BASE_OUTGOING_VALUE_REG): Likewise. | |
41452 | (BASE_PASSING_ARG_REG): Likewise. | |
41453 | (BASE_INCOMING_ARG_REG): Likewise. | |
41454 | * config/sparc/sparc.c (sparc_strict_argument_naming): Test | |
41455 | TARGET_ARCH64, not TARGET_V9. | |
41456 | (function_arg_slotno): Dispatch based on the mode class. | |
41457 | Handle vector modes like floating-point modes. | |
41458 | (function_arg_record_value_1): Handle vector types like | |
41459 | floating-point types. | |
41460 | (function_arg_record_value_2): Likewise. | |
41461 | Calculate regno after mode transformation. | |
41462 | (function_arg): Handle vector modes like floating-point modes. | |
41463 | (function_arg_partial_nregs): Replace NPARM_REGS by SPARC_INT_ARG_MAX. | |
41464 | If ARCH64, do not recheck alignment. | |
41465 | (function_arg_pass_by_reference): Reorder the conditions. | |
41466 | (sparc_return_in_memory): Move after function_arg_padding. | |
41467 | Implement calling conventions for vector modes. | |
41468 | (sparc_struct_value_rtx): Move after sparc_return_in_memory. | |
41469 | (function_value): Move scope of 'regbase'. | |
41470 | Implement calling conventions for vector modes. | |
41471 | (sparc_builtin_saveregs): Replace NPARM_REGS by SPARC_INT_ARG_MAX | |
41472 | and BASE_INCOMING_ARG_REG by SPARC_INCOMING_INT_ARG_FIRST. | |
41473 | (sparc_va_arg): Use function_arg_pass_by_reference to test whether | |
41474 | the argument is passed by reference. | |
41475 | (sparc_type_code): Handle vector types. | |
41476 | ||
41477 | 2004-02-19 Alan Modra <amodra@bigpond.net.au> | |
41478 | ||
41479 | * function.c (assign_parms): When building decl_rtl for | |
41480 | SPLIT_COMPLEX_ARGS, ensure inner modes of concat match outer. | |
41481 | ||
41482 | 2004-02-19 Olivier Hainque <hainque@act-europe.fr> | |
41483 | ||
41484 | * expr.c (is_aligning_offset): Check if we are aligning the | |
41485 | expressions's address over BIGGEST_ALIGNMENT in bytes, not | |
41486 | in bits. | |
41487 | ||
41488 | 2004-02-18 Matt Austern <austern@apple.com> | |
41489 | ||
41490 | * gcc.c (LIBGCC_SPEC): If REAL_LIBGCC_SPEC is defined, and | |
41491 | LIBGCC_SPEC isn't, set LIBGCC_SPEC to REAL_LIBGCC_SPEC. | |
41492 | (init_gcc_spec): Don't define or call if REAL_LIBGCC_SPEC is | |
41493 | defined. Instead use REAL_LIBGCC_SPEC, unmodifed, as the libgcc | |
41494 | spec string. | |
41495 | * doc/tm.texi (REAL_LIBGCC_SPEC): Document. | |
41496 | ||
41497 | 2004-02-18 Zack Weinberg <zack@codesourcery.com> | |
41498 | ||
41499 | * dwarf2out.c (loclabel_num): Move outside #ifdef | |
41500 | DWARF2_DEBUGGING_INFO and mark with GTY(()). | |
41501 | * config/ia64/ia64.c (struct extern_func_list,extern_func_head): | |
41502 | Mark with GTY(()). | |
41503 | (ia64_hpux_add_extern_decl): Save the decl, not the name string. | |
41504 | Allocate memory with ggc_alloc. No need to copy anything. | |
41505 | (ia64_hpux_file_end): Update to match. | |
41506 | ||
41507 | 2004-02-18 Jakub Jelinek <jakub@redhat.com> | |
41508 | ||
41509 | * config/i386/i386.c (override_options): Don't imply 3DNow! for -m64 | |
41510 | by default. | |
41511 | ||
41512 | 2004-02-18 Ulrich Weigand <uweigand@de.ibm.com> | |
41513 | ||
41514 | * config/s390/s390.md ("divmodtidi3"): Use canonical RTL. | |
41515 | ("divmodtisi3"): Likewise. | |
41516 | ("udivmoddi4", "udivmodtidi3"): Likewise. | |
41517 | ("divmodsi4", "divmoddisi3"): Likewise. | |
41518 | ("udivmodsi4", "udivmoddisi3"): Likewise. | |
41519 | ("udivsi3", "umodsi3"): Likewise. | |
41520 | ||
41521 | 2004-02-18 Ulrich Weigand <uweigand@de.ibm.com> | |
41522 | ||
41523 | * config/s390/s390.c (s390_mainpool_start): Delete the main pool | |
41524 | placeholder insn when chunkifying the pool. | |
41525 | ||
41526 | 2004-02-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
41527 | ||
41528 | * pa.h (PIC_OFFSET_TABLE_REGNUM): Define to INVALID_REGNUM when not | |
41529 | generating PIC code. | |
41530 | ||
41531 | 2004-02-18 Kazu Hirata <kazu@cs.umass.edu> | |
41532 | ||
41533 | * config/h8300/h8300-protos.h: Add a prototype for | |
41534 | h8300_expand_branch. | |
41535 | * config/h8300/h8300.c (h8300_expand_branch): New. | |
41536 | * config/h8300/h8300.md (ble, bleu, bge, bgeu, blt, bltu, bgt, | |
41537 | bgtu, beq, bne): Call h8300_expand_branch(). | |
41538 | ||
41539 | 2004-02-18 Kazu Hirata <kazu@cs.umass.edu> | |
41540 | ||
41541 | * config/h8300/h8300-protos.h: Add prototypes for | |
41542 | h8300_hard_regno_nregs and h8300_hard_regno_mode_ok. | |
41543 | * config/h8300/h8300.c (h8300_hard_regno_nregs): New. | |
41544 | (h8300_hard_regno_mode_ok): Likewise. | |
41545 | * config/h8300/h8300.h (HARD_REGNO_NREGS): Call | |
41546 | h8300_hard_regno_nregs(). | |
41547 | (HARD_REGNO_MODE_OK): Call h8300_hard_regno_mode_ok(). | |
41548 | ||
41549 | 2004-02-18 Per Bothner <per@bothner.com> | |
41550 | ||
e8366202 | 41551 | * cpphash.h (struct cpp_buffer): Restore return_at_eof field. This |
3eb54e5f ILT |
41552 | partly reverts my 2003-10-01 change, because we're back to logically |
41553 | including <command line> inside the main line. | |
e8366202 MS |
41554 | * cpplex.c (_cpp_get_fresh_line): Check return_at_eof field. |
41555 | * cppmacro.c (cpp_scan_nooutput): Set return_at_eof of current buffer. | |
3eb54e5f ILT |
41556 | Fixes PR preprocessor/14103. |
41557 | ||
e8366202 | 41558 | * cppfiles.c (_cpp_stack_include): When appropriate decrement |
3eb54e5f | 41559 | line_table's highest_location, fixing LAST_SOURCE_LINE_LOCATION. |
e8366202 MS |
41560 | (cpp_push_include): Don't need to increment pfile's line field. |
41561 | * line-map.h (LAST_SOURCE_LINE_LOCATION): Only decrement by 1. | |
3eb54e5f | 41562 | |
e8366202 MS |
41563 | * c-ppoutput.c (print struct): New first_time field. |
41564 | (init_pp_output): Set print.first_time. | |
41565 | (pp_file_change): Use print.first_time, rather than MAIN_FILE_P, | |
3eb54e5f ILT |
41566 | which is set also for (say) <command line>. Clear print.first_time. |
41567 | ||
e8366202 | 41568 | * cppfiles.c (struct _cpp_file): Comment and type for pch field |
3eb54e5f | 41569 | does not match the code, so fix both. |
e8366202 MS |
41570 | (should_stack_file): Inline include_pch_p function. |
41571 | (include_pch_p): Remove pointless function. | |
3eb54e5f | 41572 | |
e8366202 | 41573 | * cpphash.h (struct cpp_buffer): Remove unused search_cached field. |
3eb54e5f ILT |
41574 | |
41575 | 2004-02-18 Kazu Hirata <kazu@cs.umass.edu> | |
41576 | ||
41577 | * config/h8300/h8300.md (four define_peephole2's): Use | |
41578 | h8300_regs_ok_for_stm(). | |
41579 | ||
41580 | 2004-02-18 Kazu Hirata <kazu@cs.umass.edu> | |
41581 | ||
41582 | * config/h8300/h8300-protos.h: Update the prototype for | |
41583 | expand_a_rotate(). | |
41584 | * config/h8300/h8300.c (expand_a_rotate): Remove the first | |
41585 | argument. | |
41586 | * config/h8300/h8300.md: Update all callers. | |
41587 | ||
41588 | 2004-02-18 Jan Hubicka <jh@suse.cz> | |
41589 | ||
41590 | * simplify-rtx.c (simplify_unary_operation): Deal with logicals on | |
41591 | floats. | |
41592 | (simplify_binary_operation): Deal with logicals on floats. | |
41593 | ||
41594 | * i386.md (SSE fabs splitters): Emit new patterns. | |
41595 | (SSE cmov splitters): Likewise. | |
41596 | (sse_andv4sf3, sse_nandv4sf3, sse_iorv4sf3, sse_xorv4sf3 | |
41597 | (sse_andv2df3, sse_nandv2df3, sse_iorv2df3, sse_xorv2df3): Do not use | |
41598 | subregs. | |
41599 | (sse_andsf3, sse_nandsf3, sse_xorsf3): Kill. | |
41600 | (sse_anddf3, sse_nanddf3, sse_xordf3): Kill. | |
41601 | ||
41602 | 2004-02-18 Kazu Hirata <kazu@cs.umass.edu> | |
41603 | ||
41604 | * config/h8300/h8300.c (expand_a_rotate): Don't generate insns | |
41605 | by hand. | |
41606 | (output_a_rotate): Tweak a comment. | |
41607 | * config/h8300/h8300.md (*rotlqi3_1): Change to rotlqi3_1. | |
41608 | (*rotlhi3_1): Change to rotlhi3_1. | |
41609 | (*rotlsi3_1): Change to rotlsi3_1. | |
41610 | ||
41611 | 2004-02-18 Richard Earnshaw <rearnsha@arm.com> | |
41612 | ||
41613 | PR target/13866 | |
41614 | * arm.c (load_multiple_operation): Don't insist that the source reg | |
41615 | of a post-increment component is the same as the destination. | |
41616 | (store_multiple_operation): Likewise. | |
41617 | ||
41618 | 2004-02-18 Kazu Hirata <kazu@cs.umass.edu> | |
41619 | ||
41620 | * config/h8300/h8300.md: Move movsf patterns into one section | |
41621 | of the file. | |
41622 | ||
41623 | 2004-02-18 Kazu Hirata <kazu@cs.umass.edu> | |
41624 | ||
41625 | * cfgloop.h, cfgloopanal.c, cpplex.c, except.h, loop-init.c, | |
41626 | loop-unroll.c, scan-decls.c, scan.h, stor-layout.c, | |
41627 | xcoffout.c, xcoffout.h, config/arm/mmintrin.h, | |
41628 | config/mips/linux64.h, config/pa/pa-64.h, | |
41629 | config/rs6000/aix51.h, config/rs6000/aix52.h, | |
41630 | config/rs6000/spe.md, config/sparc/linux.h, | |
41631 | config/sparc/linux64.h: Update copyright. | |
41632 | ||
41633 | 2004-02-18 Kazu Hirata <kazu@cs.umass.edu> | |
41634 | ||
41635 | * config/h8300/h8300.md: Move push patterns into one | |
41636 | section of the file. | |
41637 | ||
41638 | 2004-02-18 Mark Mitchell <mark@codesourcery.com> | |
41639 | ||
41640 | PR c++/11326 | |
41641 | * config/ia64/ia64.c (ia64_struct_value_rtx): Cope with NULL | |
41642 | fntype. | |
41643 | ||
41644 | 2004-02-18 Paul Brook <paul@codesourcery.com> | |
41645 | ||
41646 | * rtlanal.c (rtx_varies_p): Return 0 for NULL_RTX | |
41647 | ||
41648 | 2004-02-18 Paul Brook <paul@codesourcery.com> | |
41649 | ||
41650 | PR debug/12934 | |
41651 | * dwarf2out.c (loc_descriptor_from_tree): Handle | |
41652 | EXPR_WITH_FILE_LOCATION. | |
41653 | ||
41654 | 2004-02-18 Jakub Jelinek <jakub@redhat.com> | |
41655 | ||
41656 | * config/i386/i386.md (zero_extendqidi2, zero_extendqidi2, | |
41657 | testdi_1_rex64, anddi_2, xordi_1_rex64, xordi_2_rex64): Remove | |
41658 | trailing whitespace from instructions. | |
41659 | ||
41660 | 2004-02-17 Geoffrey Keating <geoffk@apple.com> | |
41661 | ||
41662 | * configure.ac: When generating auto-build.h, pass | |
41663 | --enable-languages to the sub-configure. | |
41664 | Put quotes around ${program_transform_name} when generating | |
41665 | name of as, ld, nm, objdump. | |
41666 | * configure: Regenerate. | |
41667 | ||
41668 | 2004-02-17 Matt Kraai <kraai@alumni.cmu.edu> | |
41669 | ||
41670 | * Makefile.in (s-check, s-config, s-conditions, s-flags) | |
41671 | (s-codes, s-constants, s-emit, s-recog, s-opinit, s-extract) | |
41672 | (s-peep, s-attr, s-attrtab, s-output, s-genrtl, s-modes) | |
41673 | (s-preds, s-iov): Do not depend on move-if-change. | |
41674 | ||
41675 | 2004-02-17 James E Wilson <wilson@specifixinc.com> | |
41676 | ||
41677 | * caller-save.c (insert_restore): Pass mem through copy_rtx. | |
41678 | (insert_save): Likewise. | |
41679 | ||
41680 | 2004-02-17 Kazu Hirata <kazu@cs.umass.edu> | |
41681 | ||
41682 | * config/h8300/h8300.c (h8300_emit_stack_adjustment): Fix a | |
41683 | warning. | |
41684 | ||
41685 | 2004-02-17 Kazu Hirata <kazu@cs.umass.edu> | |
41686 | ||
41687 | * config/h8300/h8300.md (*one_complsi2_h8300): Change to | |
41688 | *one_cmplsi2_h8300. | |
41689 | (*one_complsi2_h8300hs): Change to *one_cmplsi2_h8300hs. | |
41690 | ||
41691 | 2004-02-17 Kazu Hirata <kazu@cs.umass.edu> | |
41692 | ||
41693 | * config/h8300/h8300-protos.h: Update the prototype of | |
41694 | fix_bit_operand(). | |
41695 | * config/h8300/h8300.c (fix_bit_operand): Remove the second | |
41696 | argument "what". | |
41697 | * config/h8300/h8300.md: Update all callers. | |
41698 | ||
41699 | 2004-02-17 Kazu Hirata <kazu@cs.umass.edu> | |
41700 | ||
41701 | * config/h8300/h8300.c (fix_bit_operand): Change the name of | |
41702 | the last argument to "code" from "type". | |
41703 | ||
41704 | 2004-02-17 Kazu Hirata <kazu@cs.umass.edu> | |
41705 | ||
41706 | * config/h8300/h8300.c: Remove an extern declaration of | |
41707 | rtx_equal_function_value_matters. | |
41708 | ||
41709 | 2004-02-17 Kazu Hirata <kazu@cs.umass.edu> | |
41710 | ||
41711 | * config/h8300/h8300.c (fix_bit_operand): Don't generate insns | |
41712 | by hand. | |
41713 | * config/h8300/h8300.md (*andqi3_1): Change to andqi3_1. | |
41714 | (*iorqi3_1): Change to iorqi3_1. | |
41715 | (*xorqi3_1): Change to xorqi3_1. | |
41716 | ||
41717 | 2004-02-17 Kazu Hirata <kazu@cs.umass.edu> | |
41718 | ||
41719 | * c-common.c, cfghooks.c, rtlanal.c, varasm.c: Fix comment | |
41720 | typos. | |
41721 | ||
41722 | 2004-02-17 Jan Hubicka <jh@suse.cz> | |
41723 | ||
41724 | * i386.c (x86_prologue_using_move, x86_epilogue_using_move): Disable for P4. | |
41725 | ||
41726 | 2004-02-18 Alan Modra <amodra@bigpond.net.au> | |
41727 | ||
41728 | PR optimization/14119 | |
41729 | * combine.c (try_combine): When attemting to fix unrecognized insns, | |
41730 | don't delete SETs marked with REG_EH_REGION notes. | |
41731 | ||
41732 | 2004-02-17 Ulrich Weigand <uweigand@de.ibm.com> | |
41733 | ||
41734 | * combine.c (simplify_if_then_else): Do not replace | |
41735 | (if_then_else (ne reg 0) (0) (const_int)) by (reg) if the | |
41736 | modes differ. | |
41737 | ||
611bcfc0 | 41738 | 2004-02-17 Steven Bosscher <stevenb@suse.de> |
3eb54e5f ILT |
41739 | |
41740 | * (c-decl.c, c-semantics.c, calls.c, cgraph.c, cgraphunit.c, | |
41741 | function.c, integrate.c, print-tree.c, toplev.c, tree-optimize.c, | |
41742 | tree.h): Replace DECL_SAVED_INSNS with DECL_STRUCT_FUNCTION. | |
41743 | * ada/utils.c: Likewise. | |
41744 | * cp/decl.c: Likewise. | |
41745 | * f/com.c: Likewise. | |
41746 | * java/class.c: Likewise. | |
41747 | ||
41748 | 2004-02-17 Kazu Hirata <kazu@cs.umass.edu> | |
41749 | ||
41750 | * config/h8300/h8300.md: Fix comment typos. | |
41751 | ||
41752 | 2004-02-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> | |
41753 | ||
41754 | * config/mips/t-iris6gld: Renamed to ... | |
41755 | * config/mips/t-irix-gld: ... this. | |
41756 | * config.gcc (mips-sgi-irix6*): Reflect this | |
41757 | (mips-sgi-irix5*): Use it with GNU ld. | |
41758 | ||
41759 | * config/mips/irix6-crti.asm, config/mips/irix6-crtn.asm: Renamed | |
41760 | to ... | |
41761 | * config/mips/irix-crti.asm, config/mips/irix-crtn.asm: ... this. | |
41762 | * config/mips/t-irix-gld: Reflect this. | |
41763 | * config/mips/iris6gld.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise. | |
41764 | ||
41765 | * config/mips/iris5gld.h: New file. | |
41766 | * config.gcc (mips-sgi-irix5*): Use it with GNU ld. | |
41767 | Only use collect2 without gas. | |
41768 | ||
41769 | * config/mips/iris6.h (IRIX6_STARTFILE_SPEC, IRIX6_ENDFILE_SPEC): | |
41770 | Renamed to IRIX_STARTFILE_SPEC, IRIX_ENDFILE_SPEC. | |
41771 | (STARTFILE_SPEC, ENDFILE_SPEC, SUBTARGET_EXTRA_SPECS): Reflect this. | |
41772 | * config/mips/iris6gld.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise. | |
41773 | ||
41774 | * config/mips/iris6.h (SUBTARGET_EXTRA_SPECS): Moved ... | |
41775 | * config/mips/iris5.h: ... here. | |
41776 | ||
41777 | * config/mips/iris5.h (STARTFILE_SPEC, ENDFILE_SPEC): Renamed to | |
41778 | IRIX_STARTFILE_SPEC, IRIX_ENDFILE_SPEC. | |
41779 | (STARTFILE_SPEC, ENDFILE_SPEC): Define. | |
41780 | ||
41781 | * config/mips/iris5gas.h (STARTFILE_SPEC, ENDFILE_SPEC): Simplify | |
41782 | using irix_startfile_spec, irix_endfile_spec. | |
41783 | ||
41784 | 2004-02-16 Gunther Nikl <gni@gecko.de> | |
41785 | ||
41786 | * config/m68k/m68k.c: Remove obsolete support for HPUX_ASM. | |
41787 | ||
41788 | 2004-02-17 Kazu Hirata <kazu@cs.umass.edu> | |
41789 | ||
41790 | * config/h8300/h8300.c (h8300_expand_prologue): Don't generate | |
41791 | insns by hand. | |
41792 | ||
41793 | 2004-02-17 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> | |
41794 | ||
41795 | * cfghooks.c (split_edge): Speed up updating of dominators. | |
41796 | ||
41797 | 2004-02-17 Mark Mitchell <mark@codesourcery.com> | |
41798 | ||
41799 | PR c++/11326 | |
41800 | * c-common.c (flag_abi_version): Remove. | |
41801 | * c-common.h (flag_abi_version): Likewise. | |
41802 | * c-opts.c (c_common_handle_option): Remove OPT_fabi_version case. | |
41803 | * c.opt (fabi-version): Remove. | |
41804 | * calls.c (expand_call): Always pass a function type to | |
41805 | struct_value_rtx. Use convert_memory_address. | |
41806 | * common.opt (fabi-version): Add it. | |
41807 | * flags.h (flag_abi_version): Likewise. | |
41808 | (abi_version_at_least): New macro. | |
41809 | * opts.c (common_handle_option): Add OPT_fabi_version. | |
41810 | * toplev.c (flag_abi_version): Define it. | |
41811 | * config/ia64/ia64.c (ia64_struct_retval_addr_is_first_parm_p): | |
41812 | New function. | |
41813 | (ia64_output_mi_thunk): Use it. | |
41814 | (ia64_struct_value_rtx): Likewise. | |
41815 | ||
41816 | 2004-02-17 Kazu Hirata <kazu@cs.umass.edu> | |
41817 | ||
41818 | * config/h8300/h8300.c (h8300_emit_stack_adjustment): | |
41819 | Don't generate insns by hand. | |
41820 | ||
41821 | 2004-02-17 Andrew Pinski <pinskia@physics.uc.edu> | |
41822 | ||
41823 | PR c++/14178 | |
41824 | * doc/invoke.texi (fabi-version): The default is 2 now. | |
41825 | ||
41826 | 2004-02-17 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> | |
41827 | ||
41828 | * loop-iv.c: New file. | |
41829 | * Makefile.in (loop-iv.o): New. | |
41830 | * basic_block.h (FOR_BB_INSNS, FOR_BB_INSNS_REVERSE): New macros. | |
41831 | * cfgloop.c (fill_sons_in_loop, get_loop_body_in_dom_order, | |
41832 | num_loop_branches): New functions. | |
41833 | * cfgloop.h (get_loop_body_in_dom_order, num_loop_branches, | |
41834 | iv_analysis_loop_init, iv_get_reaching_def, iv_analyse, get_iv_value, | |
41835 | find_simple_exit, iv_number_of_iterations, iv_analysis_done, | |
41836 | get_simple_loop_desc, free_simple_loop_desc): Declare. | |
41837 | (simple_loop_desc): New inline function. | |
41838 | (struct rtx_iv, struct niter_desc): New. | |
41839 | * cfgloopmanip.c (loopify): Specify semantics more precisely. | |
41840 | * expr.c (force_operand): Handle subregs of expressions created by | |
41841 | loop unroller. | |
41842 | * loop-init.c (loop_optimizer_init, loop_optimizer_finalize): Move | |
41843 | parts of the initialization to toplev.c | |
41844 | * loop-unroll.c (loop_exit_at_end_p): New. | |
41845 | (unroll_and_peel_loops): Call iv_analysis_done. | |
41846 | (decide_peel_once_rolling, decide_peel_completely, | |
41847 | decide_unroll_stupid, decide_unroll_constant_iterations, | |
41848 | decide_unroll_runtime_iterations, decide_peel_simple, | |
41849 | peel_loop_simple, unroll_loop_stupid, unroll_loop_constant_iterations, | |
41850 | unroll_loop_runtime_iterations): Use new simple loop analysis. | |
41851 | * loop-unswitch.c (compare_and_jump_seq): New. | |
41852 | (may_unswitch_on_p): Renamed to ... | |
41853 | (may_unswitch_on): Use new iv analysis. | |
41854 | (reversed_condition): Export. | |
41855 | (unswitch_single_loop, unswitch_loop): Use new iv analysis. | |
41856 | * predict.c (estimate_probability): Use new simple loop analysis. | |
41857 | * rtl.h (get_mode_bounds, reversed_condition,compare_and_jump_seq, | |
41858 | canon_condition, simplify_using_condition): Declare. | |
41859 | * stor-layout.c (get_mode_bounds): New. | |
41860 | * toplev.c (rest_of_handle_loop2): Some parts of | |
41861 | initialization/finalization moved here from loop-init.c. | |
41862 | ||
41863 | 2004-02-17 Kazu Hirata <kazu@cs.umass.edu> | |
41864 | ||
41865 | * config/h8300/h8300.h (FIXED_REGISTERS): Add the soft frame | |
41866 | pointer. | |
41867 | (CALL_USED_REGISTERS): Likewise. | |
41868 | (REG_ALLOC_ORDER): Likewise. | |
41869 | (REG_CLASS) <GENERAL_REGS>: Likewise. | |
41870 | ||
41871 | 2004-02-16 Geoffrey Keating <geoffk@apple.com> | |
41872 | ||
41873 | * doc/md.texi (Insn Canonicalizations): Document left-chaining | |
41874 | in associative operators. | |
41875 | * rtlanal.c (commutative_operand_precedence): Create some new | |
41876 | variables. Prefer a commutative operand on the left, then | |
41877 | binary expressions, then NEG and NOT. | |
41878 | ||
41879 | 2004-02-16 Matthias Klose <doko@debian.org> | |
41880 | ||
41881 | * config/t-slibgcc-elf-ver: Define SHLIB_NAME and SHLIB_SONAME | |
41882 | in terms of SHLIB_SOVERSION. | |
41883 | * config/m68k/t-slibgcc-elf-ver: New file. | |
41884 | * config/pa/t-slibgcc-elf-ver: New file. | |
41885 | * config.gcc (m68k-linux, parisc-linux): Use them when not | |
41886 | sjlj exceptions are not configured. | |
41887 | ||
41888 | 2004-02-16 Eric Botcazou <ebotcazou@libertysurf.fr> | |
41889 | ||
41890 | * config/sparc/sparc.c (get_pc_symbol_name): Mark with GTY(()). | |
41891 | ||
41892 | 2004-02-16 Zack Weinberg <zack@codesourcery.com> | |
41893 | ||
41894 | * sdbout.c (sdb_debug_hooks): Correct the type_decl entry. | |
41895 | ||
41896 | 2004-02-16 Joseph S. Myers <jsm@polyomino.org.uk> | |
41897 | ||
41898 | * doc/sourcebuild.texi: Mention backends.html. | |
41899 | ||
41900 | 2004-02-16 Kazu Hirata <kazu@cs.umass.edu> | |
41901 | ||
41902 | * c-decl.c, c-ppoutput.c, cpphash.h, cpplib.h, dbxout.c, | |
41903 | line-map.c, line-map.h, var-tracking.c: Fix comment | |
41904 | formatting. | |
41905 | ||
41906 | 2004-02-16 Richard Henderson <rth@redhat.com> | |
41907 | ||
41908 | * cse.c (cse_insn): Don't lose REG_NON_LOCAL_GOTO note. | |
41909 | ||
41910 | * fold-const.c (operand_equal_p): Fix VECTOR_CST comparison. | |
41911 | ||
41912 | 2004-02-15 Kazu Hirata <kazu@cs.umass.edu> | |
41913 | ||
41914 | * config/h8300/h8300.md: Remove unnecessary parallels from | |
41915 | all define_insn and define_split patterns. | |
41916 | ||
41917 | 2004-02-15 Kazu Hirata <kazu@cs.umass.edu> | |
41918 | ||
41919 | * config/h8300/h8300.md: Remove explicit (set_attr "cc" | |
41920 | "clobber"). | |
41921 | ||
41922 | 2004-02-15 Bernardo Innocenti <bernie@develer.com> | |
41923 | ||
41924 | * config/m68k/m68k.h (PRINT_OPERAND_PUNCT_VALID_P): Restore support for | |
41925 | '%#'. | |
41926 | ||
41927 | 2004-02-15 Kazu Hirata <kazu@cs.umass.edu> | |
41928 | ||
41929 | * config/ia64/ia64.c, config/mips/mips.c, | |
41930 | config/mmix/mmix-modes.def: Fix comment typos. | |
41931 | ||
41932 | 2004-02-15 Roger Sayle <roger@eyesopen.com> | |
41933 | ||
41934 | * c-common.h (GET_DIRECTIVE_LINE): Remove unused macro. | |
41935 | (get_directive_line): Remove unused function prototype. | |
41936 | ||
41937 | 2004-02-14 Josef Zlomek <zlomekj@suse.cz> | |
41938 | ||
41939 | * tree-inline.c (copy_body_r): Do not replace ret_label. | |
41940 | ||
41941 | 2004-02-14 Jan Hubicka <jh@suse.cz> | |
41942 | ||
41943 | * i386.c (x86_four_jump_limit): New variable. | |
41944 | (k8_avoid_jump_misspredicts): Rename to ... | |
41945 | (ix86_avoid_jump_misspredicts): .. this one. | |
41946 | (ix86_pad_returns): Break out from ... | |
41947 | (ix86_reorg): ... this one; do ix86_avoid_jump_misspredicts when asked | |
41948 | to. | |
41949 | * i386.h (TARGET_FOUR_JUMP_LIMIT): New macro. | |
41950 | ||
41951 | 2004-02-14 Josef Zlomek <zlomekj@suse.cz> | |
41952 | ||
41953 | * emit-rtl.c (set_decl_incoming_rtl): Check whether the 0th element of | |
41954 | PARALLEL is NULL. | |
41955 | ||
41956 | 2004-02-14 Per Bothner <per@bothner.com> | |
41957 | ||
e8366202 MS |
41958 | * fix-header.c (line_table): Move local variable in main to global. |
41959 | * scan.h (line_table): Use it. | |
41960 | * scan-decls.c (scan_decls): Need to call linemap_lookup on token's | |
3eb54e5f ILT |
41961 | line (recently renamed to src_loc) before calling recognized_function. |
41962 | ||
41963 | 2004-02-14 Matt Kraai <kraai@alumni.cmu.edu> | |
41964 | ||
41965 | * Makefile.in: Fix comment typos. | |
41966 | ||
41967 | 2004-02-14 Olivier Hainque <hainque@act-europe.fr> | |
41968 | ||
41969 | * loop.c (check_dbra_loop): Use gen_int_mode instead of GEN_INT | |
41970 | for start_value when it is directly moved into reg, and factorize | |
41971 | the retrieval of GET_MODE (reg). | |
41972 | ||
41973 | 2004-02-14 Richard Sandiford <rsandifo@redhat.com> | |
41974 | ||
41975 | * config/mips/mips-protos.h (mips_load_got_page): Delete. | |
41976 | (mips_load_got_global): Delete. | |
41977 | (mips_gotoff_page): Declare. | |
41978 | * config/mips/mips.md (UNSPEC_LOAD_GOT): New constant. | |
41979 | (*xgot_lo[sd]i, *got_disp[sd]i, *got_page[sd]i): Build an | |
41980 | UNSPEC_LOAD_GOT pattern rather than a MEM. | |
41981 | (*load_got[sd]i): New patterns. | |
41982 | * config/mips/mips.c (mips_got_alias_set, mips_load_got): Delete. | |
41983 | (mips_load_got_page, mips_load_got_global): Delete. | |
41984 | (mips_gotoff_page): New function. | |
41985 | (override_options): Don't initialize mips_got_alias_set. | |
41986 | ||
41987 | 2004-02-14 Richard Sandiford <rsandifo@redhat.com> | |
41988 | ||
41989 | * config/mips/mips.h (MASK_DEBUG_[ABEFI], TARGET_DEBUG_[ABEFI]_MODE) | |
41990 | (TARGET_MIPS4100, TARGET_MIPS4300, TARGET_MIPS4KC, TARGET_MIPS5KC) | |
41991 | (TARGET_SB1, TUNE_SB1, TUNE_SR71K, BIGGEST_MAX_ARGS_IN_REGISTERS) | |
41992 | (GO_PRINTF, GO_PRINTF2, GO_DEBUG_RTX, DFMODE_NAN, SFMODE_NAN): Delete. | |
41993 | (TARGET_SWITCHES): Remove MASK_DEBUG_[ABEFI]. | |
41994 | * config/mips/mips.c: Fix some overly-long lines. | |
41995 | (SINGLE_WORD_MODE_P, PIC_OFFSET_TABLE_MASK): Delete. | |
41996 | (init_cumulative_args): Remove TARGET_DEBUG_E_MODE handling. | |
41997 | ||
41998 | 2004-02-13 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> | |
41999 | ||
42000 | * configure.ac: Search for as, ld below libexec/gcc. | |
42001 | * configure: Regenerate. | |
42002 | ||
42003 | 2004-02-14 Ben Elliston <bje@wasabisystems.com> | |
42004 | ||
42005 | * config/arm/mmintrin.h (_mm_setwcx): Reverse arguments in call to | |
42006 | __builtin_arm_setwcx (). | |
42007 | * config/arm/arm.c (arm_expand_builtin): Generate operands | |
42008 | correctly and reverse their order in call to gen_iwmmxt_tmcr (). | |
42009 | ||
42010 | 2004-02-14 Ben Elliston <bje@wasabisystems.com> | |
42011 | ||
42012 | * config/arm/arm.c (bdesc_2arg): Correct builtin names "wmulsh" | |
42013 | and "wmuluh" to "wmulsm" and "wmulum", respectively. | |
42014 | * config/arm/arm.h (enum arm_builtins): Rename enumerators to | |
42015 | ARM_BUILTIN_WMULSM and ARM_BUILTIN_WMULUM. | |
42016 | * config/arm/mmintrin.h (_mm_mulhi_pi16): Update intrinsic call. | |
42017 | (_mm_mulhi_pu16): Likewise. | |
42018 | ||
42019 | 2004-02-13 Zack Weinberg <zack@codesourcery.com> | |
42020 | ||
42021 | * xcoffout.c (xcoff_assign_fundamental_type_number): Check | |
42022 | DECL_NAME != 0 before dereferencing. | |
42023 | ||
42024 | 2004-02-13 Ulrich Weigand <uweigand@de.ibm.com> | |
42025 | ||
42026 | * config/s390/s390-protos.h (s390_output_symbolic_const): Remove. | |
42027 | (s390_output_addr_const_extra): Declare. | |
42028 | (s390_output_pool_entry): Remove FILE * argument. | |
42029 | * config/s390/s390.c (s390_output_symbolic_const): Remove. | |
42030 | (s390_output_addr_const_extra): New function. | |
42031 | (print_operand_address): Call output_addr_const instead of | |
42032 | s390_output_symbolic_const. | |
42033 | (print_operand): Likewise. | |
42034 | (s390_output_pool_entry): Use assemble_integer for symbolic constants. | |
42035 | Remove FILE * argument. | |
42036 | * config/s390/s390.h (OUTPUT_ADDR_CONST_EXTRA): Define. | |
42037 | * config/s390/s390.md ("*pool_entry"): Adapt s390_output_pool_entry | |
42038 | call. | |
42039 | ||
42040 | 2004-02-13 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> | |
42041 | ||
42042 | * cfgloopanal.c (mark_irreducible_loops): Rewriten. | |
42043 | (struct edge, struct vertex, struct graph): New. | |
42044 | (dump_graph, new_graph, add_edge, dfs, check_irred, for_each_edge, | |
42045 | free_graph): New functions. | |
42046 | ||
42047 | 2004-02-12 Chris Demetriou <cgd@broadcom.com> | |
42048 | ||
42049 | * config/mips/mips.md (casesi_internal, casesi_internal_di): | |
42050 | Use ".set macro" to avoid warnings about multi-instruction | |
42051 | macros, since they're intentional. | |
42052 | ||
42053 | 2004-02-12 Geoffrey Keating <geoffk@apple.com> | |
42054 | ||
42055 | * config/darwin.h: Add include guards. Remove old, now incorrect, | |
42056 | comment about STANDARD_EXEC_PREFIX. | |
42057 | ||
42058 | * Makefile.in (install-man): Use $(CPP_INSTALL_NAME) and | |
42059 | $(GCOV_INSTALL_NAME) to install manpages. Remove generic rule | |
42060 | for installing .1 manpages. Add rules for installing cpp | |
42061 | and gcov manpages under their installed names. | |
42062 | ||
42063 | 2004-02-12 Alexandre Oliva <aoliva@redhat.com> | |
42064 | ||
42065 | * configure.ac (gcc_cv_ld): Don't set to LD if target is not | |
42066 | host, but try LD_FOR_TARGET first. | |
42067 | * configure: Rebuilt. | |
42068 | ||
42069 | 2004-02-12 Zack Weinberg <zack@codesourcery.com> | |
42070 | ||
42071 | * dbxout.c: Move declaration of dbxout_type_decl outside | |
42072 | #ifdef DBX_DEBUGGING_INFO. | |
42073 | * c-parse.in: Don't give the asmdef production a type. | |
42074 | ||
42075 | 2004-02-12 Zack Weinberg <zack@codesourcery.com> | |
42076 | ||
42077 | * debug.h (struct gcc_debug_hooks): Add type_decl field. | |
42078 | (debug_nothing_tree_int): Prototype. | |
42079 | (dwarf_debug_hooks): Delete, unused. | |
42080 | * debug.c (do_nothing_debug_hooks): Update. | |
42081 | (debug_nothing_tree_int): New function. | |
42082 | * langhooks.h (struct lang_hooks_for_decls): | |
42083 | Remove builtin_type_decls field. | |
42084 | * langhooks-def.h (LANG_HOOKS_BUILTIN_TYPE_DECLS): Delete. | |
42085 | (LANG_HOOKS_DECLS): Update. | |
42086 | * toplev.c (rest_of_decl_compilation, rest_of_type_compilation): | |
42087 | Use debug_hooks->type_decl. | |
42088 | * dbxout.c (preinit_symbols): New static. | |
42089 | (dbx_debug_hooks, xcoff_debug_hooks): Update. | |
42090 | (dbxout_init): Don't call DBX_OUTPUT_STANDARD_TYPES or | |
42091 | lang_hooks.decls.builtin_type_decls. Do scan preinit_symbols | |
42092 | for symbols to output. | |
42093 | (dbxout_type_decl): New function. | |
42094 | (dbxout_symbol): If called before dbxout_init has run, queue | |
42095 | the symbol for later. Apply DBX_ASSIGN_FUNDAMENTAL_TYPE_NUMBER | |
42096 | to TYPE_DECLs before emitting them. | |
42097 | * xcoffout.c (assign_type_number): Delete. | |
42098 | (xcoff_type_numbers): New static table. | |
42099 | (xcoff_assign_fundamental_type_number): New function. | |
42100 | * xcoffout.h: Define DBX_ASSIGN_FUNDAMENTAL_TYPE_NUMBER, not | |
42101 | DBX_OUTPUT_STANDARD_TYPES. Remove unnecessary #ifdefs. | |
42102 | * sdbout.c: Include varray.h. | |
42103 | (deferred_global_decls): New static. | |
42104 | (sdb_debug_hooks): Update. | |
42105 | (sdbout_global_decl): If we can't emit something right now, | |
42106 | remember it in deferred_global_decls. | |
42107 | (sdbout_finish): Just scan deferred_global_decls; don't call getdecls. | |
42108 | (sdbout_init): Initialize deferred_global_decls. | |
42109 | * Makefile.in: Update dependencies of sdbout.o. | |
42110 | * dwarf2out.c (dwarf2out_type_decl): New function. | |
42111 | (dwarf2_debug_hooks): Update. | |
42112 | * vmsdbgout.c (vmsdbg_debug_hooks): Update. | |
42113 | * c-decl.c (getdecls): Just return 0. | |
42114 | (check_for_loop_decls): Don't use getdecls. | |
42115 | (record_builtin_type): Call debug_hooks->type_decl on the TYPE_DECL. | |
42116 | * c-objc-common.c (c_objc_common_finish_file): Don't use getdecls. | |
42117 | ||
42118 | 2004-02-12 Ulrich Weigand <uweigand@de.ibm.com> | |
42119 | ||
42120 | * config/s390/s390.c (s390_sched_reorder2): Remove. | |
42121 | (TARGET_SCHED_REORDER2): Do not redefine. | |
42122 | ||
42123 | 2004-02-12 Zack Weinberg <zack@codesourcery.com> | |
42124 | ||
42125 | * c-parse.in (maybe_type_qual): Delete. | |
42126 | (maybe_volatile, simple_asm_expr, asmdef, asm_stmt) | |
42127 | (asm_argument): New grammar rules. | |
42128 | (extdef_1): Use asmdef. | |
42129 | (maybeasm): Move down with other asm rules; use simple_asm_expr. | |
42130 | (xexpr): Move up with other expression rules. | |
42131 | (stmt): Use asm_stmt. | |
42132 | ||
42133 | * c-typeck.c (build_asm_expr): New function - body mostly | |
42134 | pulled from build_asm_stmt. | |
42135 | (build_asm_stmt): Just handle tacking on the volatile qualifier. | |
42136 | * c-tree.h (build_asm_expr, build_asm_stmt): Update prototypes. | |
42137 | ||
42138 | 2004-02-12 Richard Sandiford <rsandifo@redhat.com> | |
42139 | ||
42140 | PR bootstrap/13617 | |
42141 | * config/mips/mips-protos.h (mips_output_aligned_decl_common): Declare. | |
42142 | (mips_declare_object): Make variadic. | |
42143 | * config/mips/mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Use | |
42144 | mips_output_aligned_decl_common. | |
42145 | * config/mips/mips.c (mips_output_aligned_decl_common): New function. | |
42146 | (mips_declare_object): Make variadic. | |
42147 | ||
42148 | 2004-02-12 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
42149 | ||
42150 | * function.c (update_epilogue_consts): Teach about binary operations. | |
42151 | ||
42152 | * emit-rtl.c (set_mem_attributes_minus_bitpos): Don't kill | |
42153 | previous MEM_VOLATILE in REF. | |
42154 | * function.c (fixup_var_refs): Save volatile_ok and set to 1. | |
42155 | * expr.c (emit_block_move_via_movstr): Save and restore volatile_ok. | |
42156 | ||
42157 | 2004-02-12 Gunther Nikl <gni@gecko.de> | |
42158 | ||
42159 | * config.gcc: Restore support for m68k-openbsd. | |
42160 | ||
42161 | 2004-02-12 Jan Hubicka <jh@suse.cz> | |
42162 | ||
42163 | * tree-optimize.c (tree_rest_of_compilation): Do not release | |
42164 | DECL_ARGUMENTS. | |
42165 | ||
42166 | 2004-02-11 Matt Kraai <kraai@alumni.cmu.edu> | |
42167 | ||
42168 | * doc/install.texi: Fix the spelling of "explicitly". | |
42169 | ||
42170 | 2004-02-11 Eric Christopher <echristo@redhat.com> | |
42171 | ||
42172 | * cppcharset.c (_cpp_interpret_string_notranslate): Rename and | |
42173 | duplicate argument structure of cpp_interpret_string. | |
42174 | * cpphash.h: Move prototype... | |
42175 | * cpplib.h: Here. | |
42176 | * cpplib.c: Fix calls to match new function signature. | |
42177 | ||
42178 | 2004-02-11 Joseph S. Myers <jsm@polyomino.org.uk> | |
42179 | ||
42180 | PR c/456 | |
42181 | * cppexp.c (num_binary_op): Don't allow comma operators in #if | |
42182 | constant expressions at all outside C99 mode if pedantic. | |
42183 | ||
42184 | 2004-02-11 Uros Bizjak <uros@kss-loka.si> | |
42185 | ||
42186 | * optabs.h (enum optab_index): Add new OTI_log10 and OTI_log2. | |
42187 | (log10_optab, log2_optab): Define corresponding macros. | |
42188 | * optabs.c (init_optabs): Initialize log10_optab and log2_optab. | |
42189 | * genopinit.c (optabs): Implement log10_optab and log2_optab | |
42190 | using log10?f2 and log2?f2 patterns. | |
42191 | * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_LOG10{,F,L} | |
42192 | using log10_optab, and BUILT_IN_LOG2{,F,L} using log2_optab. | |
42193 | (expand_builtin): Expand BUILT_IN_LOG10{,F,L} and BUILT_IN_LOG2{,F,L} | |
42194 | using expand_builtin_mathfn if flag_unsafe_math_optimizations is set. | |
42195 | ||
42196 | * config/i386/i386.md (log10sf2, log10df2, log10xf2, log2sf2, | |
42197 | log2df2, log2xf2): New patterns to implement log10, log10f, log10l, | |
42198 | log2, log2f and log2l built-ins as inline x87 intrinsics. | |
42199 | ||
42200 | 2004-02-11 Richard Henderson <rth@redhat.com> | |
42201 | ||
42202 | PR target/1532 | |
42203 | * flow.c (insn_dead_p): A clobber of a dead hard register is a | |
42204 | dead insn after reload. | |
42205 | ||
42206 | 2004-02-11 Ulrich Weigand <uweigand@de.ibm.com> | |
42207 | ||
42208 | * tree.h (frame_base_decl): Add GTY marker. | |
42209 | * var-tracking.c (frame_base_decl): Likewise. | |
42210 | ||
42211 | 2004-02-11 Daniel Berlin <dberlin@dberlin.org> | |
42212 | ||
42213 | * dwarf2out.c (output_loc_list): Remove no longer necessary, and now | |
42214 | incorrect, hunk. | |
42215 | (add_location_or_const_value_attribute): Use text_section_label, | |
42216 | not TEXT_SECTION_NAME. | |
42217 | ||
42218 | 2004-02-11 Per Bothner <per@bothner.com> | |
42219 | ||
42220 | Represent column numbers using line-map's source_location. | |
42221 | The "next available source_location" is now managed internally by | |
42222 | line-maps.c rather than by clients. | |
e8366202 MS |
42223 | * line-map.h (struct line_map): New field column_bits. |
42224 | <from_line>: Rename field to start_location. | |
42225 | (struct line_maps): New fields highest_location and max_column_hint. | |
42226 | (linemap_check_files_exited): New declaration. | |
42227 | (linemap_line_start): New declaration. | |
42228 | (linemap_add): Remove from_line parameter; use highest_location field. | |
42229 | (SOURCE_LINE, LAST_SOURCE_LINE): Modify to use column_bits. | |
42230 | (SOURCE_COLUMN, LAST_SOURCE_LINE_LOCATION): New macros. | |
42231 | (CURRENT_LINE_MAP): Remove macro. | |
42232 | (linemap_position_for_column): New inline function. | |
42233 | * line-map.c (linemap_init): Clear new fields. | |
42234 | (linemap_check_files_exited): New function, extracted from ... | |
42235 | (linemap_free): Use linemap_check_files_exited. | |
42236 | (linemap_add): Remove from_line parameter. Various updates. | |
42237 | (linemap_line_start): New function. | |
42238 | (linemap_lookeup): Update for new field names. | |
42239 | * cpphash.h (struct cpp_reader) <map>: Field removed. Because | |
3eb54e5f ILT |
42240 | linemap_position_for_column may unpredictably change the current map, |
42241 | it is cleaner and simpler for us to not cache it in cpp_reader. | |
e8366202 | 42242 | (struct cpp_buffer): New sysp field. |
3eb54e5f | 42243 | Changed warned_cplusplus_comments and from_stage3 to bitfields. |
e8366202 MS |
42244 | * cppinit.c (cpp_read_min_file): pfile->map no longer exists. |
42245 | * cpplib.c (do_line, do_linemarker, _cpp_do_file_change): Get | |
3eb54e5f | 42246 | current map using linemap_lookup. |
e8366202 MS |
42247 | (do_linemarker): Also set buffer's sysp field. |
42248 | (destringize_and_run): No longer need to decrement current line. | |
42249 | * cppfiles.c (_cpp_stack_file): Set sysp from and in buffer. | |
42250 | (search_path_head, open_file_failed): Use buffer's sysp. | |
42251 | (cpp_make_system_header): Get current map using linemap_lookup. | |
3eb54e5f | 42252 | Also set buffer's sysp flag. |
e8366202 MS |
42253 | * cppmacro.c (_cpp_builtin_macro_text): Likewise use linemap_lookup. |
42254 | * cpphash.h (CPP_INCREMENT_LINE): New macro. | |
42255 | (struct cpp_buffer): Moved fields saved_cur, saved_rlimit to ... | |
42256 | (struct cpp_reader): ... and adding saved_line_base field. | |
3eb54e5f ILT |
42257 | * cpptrad.c (_cpp_overlay_buffer, _cpp_remove_overlay): |
42258 | Update accordingly. Don't adjust line. | |
e8366202 MS |
42259 | (_cpp_scan_out_logical_line): Use CPP_INCREMENT_LINE. |
42260 | * cpphash.c (CPP_IN_SYSTEM_HEADER): Replaced macro by ... | |
42261 | (cpp_in_system_header): ... new inline function, using buffer's sysp. | |
42262 | * cpperror.c (_cpp_begin_message): Update to use cpp_in_system_header. | |
42263 | * cpplex.c (_cpp_lex_direct): Likewise. | |
42264 | * cppmacro.c (_cpp_builtin_macro_text): Likewise. | |
42265 | * cppmacro.c (_cpp_create_definition): Use buffer's sysp field. | |
42266 | * cpplib.h (struct cpp_token): Rename line field to src_loc. | |
3eb54e5f | 42267 | Remove col field as it is now subsumed by src_loc. |
e8366202 MS |
42268 | * cpperror.c: Update various field, parameter, and macro names. |
42269 | (print_location): If col==0, try SOURCE_COLUMN of line. | |
42270 | (cpp_error): Use cur_token's src_loc field, rather than line+col. | |
42271 | * cpplib.c (do_diagnostic): Token's src_loc fields replaces line+col. | |
3eb54e5f | 42272 | * cpplex.c (_cpp_process_line_notes, _cpp_lex_direct, |
e8366202 MS |
42273 | _cpp_skip_block_comment): Use CPP_INCREMENT_LINE. |
42274 | (_cpp_temp_token): Replace cpp_token's line+col fields by src_loc. | |
42275 | (_cpp_get_fresh_line): Don't need to adjust line for missing newline. | |
42276 | (_cpp_lex_direct): Use linemap_position_for_column. | |
42277 | * c-ppoutput.c (maybe_print_line, print_line): Don't take map | |
3eb54e5f | 42278 | parameter. Instead get it from the line_table global. Adjust callers. |
e8366202 MS |
42279 | (print): Remove map field. Replace line field to src_line. |
42280 | (init_pp_output, account_for_newlines, maybe_print_line): Adjust. | |
42281 | (cb_line_change): Use SOURCE_COLUMN. Minor optimizations. | |
42282 | (pp_file_change): Use MAIN_FILE_P since we cannot checked print.map. | |
3eb54e5f | 42283 | Use LAST_SOURCE_LINE_LOCATION to "catch up" after #include. |
e8366202 MS |
42284 | * cpptrad.c (copy_comment): Rename variable. |
42285 | * c-lex.c (map): Remove static variable, for same reason we removed | |
3eb54e5f | 42286 | cpp_reader's map field. |
e8366202 | 42287 | (cb_line_change, cb_def_pragma, cb_define, cb_undef): Hence we need |
3eb54e5f | 42288 | to call linemap_lookup. |
e8366202 MS |
42289 | (cb_line_change): Token's line field replaced by src_loc. |
42290 | (fe_file_change): Use MAINFILE_P and LAST_SOURCE_LINE macros. | |
3eb54e5f ILT |
42291 | Don't save new_map. |
42292 | ||
e8366202 | 42293 | * cpphash.h, cpperror.c, cpplib.h: Some renames of fileline to |
3eb54e5f ILT |
42294 | source_location. |
42295 | ||
42296 | 2004-02-11 Hartmut Penner <hpenner@de.ibm.com> | |
42297 | ||
42298 | * config/rs6000/altivec.md (*movv4si_internal): At least one | |
42299 | operand must be register_operand. | |
42300 | (*movv8hi_internal1): Likewise. | |
42301 | (*movv16qi_internal1): Likewise. | |
42302 | (*movv4sf_internal1): Likewise. | |
42303 | ||
42304 | 2004-02-10 Aldy Hernandez <aldyh@redhat.com> | |
42305 | ||
42306 | * config/rs6000/spe.md ("*movv2si_internal"): Check for register | |
42307 | operand. | |
42308 | (movv4hi_internal): Same. | |
42309 | (movv2sf_internal): Same. | |
42310 | (movv1di_internal): Same. | |
42311 | ||
42312 | 2004-02-11 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> | |
42313 | ||
42314 | * config/mips/mips.h (TARGET_OLDABI): Define. Use TARGET_NEWABI and | |
42315 | TARGET_OLDABI consistently. | |
42316 | * config/mips/mips.c (function_arg,mips_setup_incoming_varargs, | |
42317 | mips_va_arg,override_options,compute_frame_size, | |
42318 | mips_initial_elimination_offset,mips16_fp_args,build_mips16_call_stub | |
42319 | ,mips_return_in_memory,mips_strict_argument_naming): Use TARGET_NEWABI | |
42320 | and TARGET_OLDABI consistently. | |
42321 | * config/mips/mips.md (exception_receiver): Likewise. | |
42322 | * config/mips/linux64.h: Likewise. | |
42323 | ||
42324 | 2004-02-11 Hartmut Penner <hpenner@de.ibm.com> | |
42325 | ||
a1d1988f | 42326 | * config/rs6000/rs6000.c (rs6000_override_options) |
3eb54e5f ILT |
42327 | Set AltiVec ABI and vrsave as default for ppc64 linux. |
42328 | (init_cumulative_args): Post error, if try to return | |
42329 | value in AltiVec register without enable AltiVec. | |
42330 | (function_arg_advance): Ditto for passing arguments. | |
42331 | ||
42332 | 2004-02-11 Richard Sandiford <rsandifo@redhat.com> | |
42333 | ||
42334 | * emit-rtl.c (mark_label_nuses): Check that a LABEL_REF refers to | |
42335 | a label before updating its usage count. | |
42336 | ||
42337 | 2004-02-10 Matt Kraai <kraai@alumni.cmu.edu> | |
42338 | ||
42339 | * doc/install.texi: Remove extra cd. | |
42340 | ||
42341 | 2004-02-10 Ziemowit Laski <zlaski@apple.com> | |
42342 | ||
42343 | * c-common.c (vector_size_helper): Remove; call | |
42344 | reconstruct_complex_type() instead. | |
42345 | * tree.c (reconstruct_complex_type): New function | |
42346 | (formerly vector_size_helper() in c-common.c). | |
42347 | (make_vector): Make externally visible. | |
42348 | * tree.h (reconstruct_complex_type, make_vector): Add prototypes. | |
42349 | ||
42350 | 2004-02-10 Kazu Hirata <kazu@cs.umass.edu> | |
42351 | ||
42352 | * config/h8300/h8300-protos.h: Add a prototype for | |
42353 | h8300_regs_ok_for_stm. | |
42354 | * config/h8300/h8300.c (h8300_regs_ok_for_stm): New. | |
42355 | * config/h8300/h8300.md (stm_h8300s_2_advanced, | |
42356 | stm_h8300s_2_normal, stm_h8300s_2, stm_h8300s_3_advanced, | |
42357 | stm_h8300s_3_normal, stm_h8300s_3, stm_h8300s_4_advanced, | |
42358 | stm_h8300s_4_normal, stm_h8300s_4, ldm_h8300s_2_advanced, | |
42359 | ldm_h8300s_2_normal, ldm_h8300s_2, ldm_h8300s_3_advanced, | |
42360 | ldm_h8300s_3_normal, ldm_h8300s_3, ldm_h8300s_4_advanced, | |
42361 | ldm_h8300s_4_normal, ldm_h8300s_4): Use | |
42362 | h8300_regs_ok_for_stm(). | |
42363 | ||
42364 | 2004-02-10 Danny Smith <dannysmith@users.sourceforge.net> | |
42365 | ||
42366 | PR c/14088 | |
42367 | * real.c (real_from_string): Look for 'X' as well as 'x' in | |
42368 | hexfloat strings. | |
42369 | ||
42370 | 2004-02-10 Kazu Hirata <kazu@cs.umass.edu> | |
42371 | ||
42372 | * config/h8300/h8300.md: Remove an incorrect comment about | |
42373 | peephole2. Add comments. | |
42374 | ||
42375 | 2004-02-10 Josef Zlomek <zlomekj@suse.cz> | |
42376 | ||
42377 | PR/14058 | |
42378 | * emit-rtl.c (set_decl_incoming_rtl): New. | |
42379 | * tree.h (set_decl_incoming_rtl): New. | |
42380 | * function.c (assign_parms): Use set_decl_incoming_rtl for setting | |
42381 | DECL_INCOMING_RTL. | |
42382 | * ada/misc.c (adjust_decl_rtl): Likewise. | |
42383 | ||
42384 | 2004-02-10 Per Bothner <per@bothner.com> | |
42385 | ||
e8366202 | 42386 | * c-opts.c (c_common_post_options): Don't emit working directory |
3eb54e5f ILT |
42387 | in cpp output if -P was specified. |
42388 | ||
42389 | 2004-02-10 Paolo Bonzini <bonzini@gnu.org> | |
42390 | ||
42391 | PR c/14092 | |
42392 | * fold-const.c (fold) <NEGATE_EXPR>: Convert result of | |
42393 | negate_expr back to the original type. | |
42394 | ||
42395 | 2004-02-10 Alan Modra <amodra@bigpond.net.au> | |
42396 | ||
42397 | * config/rs6000/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Don't | |
42398 | bump retaddr here. | |
42399 | ||
42400 | 2004-02-10 Paolo Bonzini <bonzini@gnu.org> | |
42401 | ||
42402 | * rtl.h (schedule_insns, schedule_ebbs, fix_sched_param, | |
42403 | gen_lowpart_SUBREG): Move under the file in which they | |
42404 | are actually declared. | |
42405 | ||
42406 | 2004-02-10 Arnaud Charlet <charlet@act-europe.fr> | |
42407 | ||
42408 | * doc/sourcebuild.texi: Add libada documentation. | |
42409 | ||
42410 | * doc/install.texi: Update documentation on Ada build, now | |
42411 | that the GNAT lib and tools are built automatically. | |
42412 | ||
42413 | 2004-02-10 Richard Sandiford <rsandifo@redhat.com> | |
42414 | ||
42415 | * config/mips/mips.h (TARGET_GPWORD): Return false for TARGET_NEWABI | |
42416 | && TARGET_IRIX. | |
42417 | ||
42418 | 2004-02-09 Ziemowit Laski <zlaski@apple.com> | |
42419 | ||
42420 | * objc/objc-act.c (get_super_receiver): Move '#ifdef OBJCPLUS' | |
42421 | boundaries outside build_component_ref() call (a macro in ObjC++). | |
42422 | ||
42423 | 2004-02-09 Bob Wilson <bob.wilson@acm.org> | |
42424 | ||
42425 | * config/xtensa/xtensa-protos.h (xtensa_copy_incoming_a7): Update. | |
42426 | (init_cumulative_args): Likewise. | |
42427 | (a7_overlap_mentioned_p): Delete prototype. | |
42428 | * config/xtensa/xtensa.c (struct machine_function): Replace | |
42429 | incoming_a7_copied field with need_a7_copy and vararg_a7 flags. | |
42430 | Add set_frame_ptr_insn field. | |
42431 | (xtensa_emit_move_sequence): Update call to xtensa_copy_incoming_a7. | |
42432 | (xtensa_copy_incoming_a7): Rewrite to check need_a7_copy flag and check | |
42433 | if the operand is an argument in a7. If so, copy a7 to a new pseudo | |
42434 | at the function entry and replace the operand with the pseudo. | |
42435 | (init_cumulative_args): Remove unused arguments. Add new "incoming" | |
42436 | argument and record this flag in CUMULATIVE_ARGS. | |
42437 | (function_arg): Remove result_mode and special-case code to handle | |
42438 | arguments in a7. Instead, set need_a7_copy flag when there is an | |
42439 | incoming argument in a7. | |
42440 | (xtensa_expand_prologue): Remove code to search for set_frame_ptr insn | |
42441 | and use the value recorded in cfun->machine->set_frame_ptr_insn. | |
42442 | (xtensa_builtin_saveregs): Check for negative gp_left value. Set | |
42443 | need_a7_copy and vararg_a7 flags. Use move_block_from_reg instead of | |
42444 | special-case code. | |
42445 | (a7_overlap_mentioned_p): Delete. | |
42446 | * config/xtensa/xtensa.h (CUMULATIVE_ARGS): Add "incoming" flag. | |
42447 | (INIT_CUMULATIVE_ARGS, INIT_CUMULATIVE_INCOMING_ARGS): Remove useless | |
42448 | arguments to init_cumulative_args and pass "incoming" flag instead. | |
42449 | (BLOCK_REG_PADDING): Delete. | |
42450 | * config/xtensa/xtensa.md (movdi, movsf, movdf): Remove unnecessary | |
42451 | checks for reload_in_progress and reload_completed. Update calls to | |
42452 | xtensa_copy_incoming_a7. | |
42453 | (ashlsi3): Rename existing insn to ashlsi3_internal. Add expander | |
42454 | to call xtensa_copy_incoming_a7. | |
42455 | ||
42456 | 2004-02-09 DJ Delorie <dj@redhat.com> | |
42457 | ||
42458 | * config/i386/xm-djgpp.h (GCC_DRIVER_HOST_INITIALIZATION): No | |
42459 | longer modify standard_exec_prefix, standard_bindir_prefix, or | |
42460 | standard_startfile_prefix. | |
42461 | ||
42462 | 2004-02-09 James E Wilson <wilson@specifixinc.com> | |
42463 | ||
42464 | PR c++/11295 | |
42465 | * c-common.c (c_expand_expr, case STMT_EXPR): Change expand_expr call | |
42466 | to expand_expr_real call, and pass in alt_rtl as last argument. | |
42467 | ||
42468 | PR libstdc++/5625 | |
42469 | * builtin-types.def (BT_WORD, BT_FN_WORD_PTR): New. | |
42470 | * builtins.c (expand_builtin): Handle BUILT_IN_EXTEND_POINTER. | |
42471 | * builtins.def (BUILT_IN_EXTEND_POINTER): New. | |
42472 | * except.c (expand_builtin_extend_pointer): New. | |
42473 | * except.h (expand_builtin_extend_pointer): Declare. | |
42474 | ||
42475 | 2004-02-09 David Edelsohn <edelsohn@gnu.org> | |
42476 | ||
42477 | * config/rs6000/rs6000.c (rs6000_emit_move): Remove splitting slow | |
42478 | unaligned loads and stores. | |
42479 | ||
42480 | 2004-02-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> | |
42481 | ||
42482 | * config/mips/iris5.h (BSS_SECTION_ASM_OP): Define. | |
42483 | * config/mips/iris6.h (BSS_SECTION_ASM_OP): Undef. | |
42484 | ||
42485 | * config/mips/iris6.h (TARGET_ASM_NAMED_SECTION): Moved ... | |
42486 | * config/mips/iris5.h: ... here. | |
42487 | * config/mips/iris5gas.h (TARGET_ASM_NAMED_SECTION): Remove. | |
42488 | ||
42489 | * config/mips/iris6.h (EXTRA_SECTION_FUNCTIONS): Move ... | |
42490 | * config/mips/iris5.h: ... here. | |
42491 | ||
42492 | 2004-02-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> | |
42493 | ||
42494 | * configure.ac: Remove default executable files before AC_PROG_CC. | |
42495 | * configure: Regenerate. | |
42496 | ||
42497 | 2004-02-09 Kazu Hirata <kazu@cs.umass.edu> | |
42498 | ||
42499 | PR target/13721 | |
42500 | * config/h8300/h8300.c (byte_reg): Call abort() if asked to | |
42501 | print a operand other than a register. | |
42502 | ||
42503 | 2004-02-09 Roger Sayle <roger@eyesopen.com> | |
42504 | ||
42505 | * fold-const.c (fold) <NOP_EXPR>: Use the original type conversion | |
42506 | tree code rather than call fold_convert, which doesn't specify a | |
42507 | default floating point to integer conversion. | |
42508 | ||
42509 | 2004-02-08 Bernardo Innocenti <bernie@develer.com> | |
42510 | ||
42511 | * config/m68k/m68k.c, config/m68k/m68k.md (SGS, SGS_CMP_ORDER): Remove | |
42512 | code to support SGS assembler. Reformat adjacent code where possible. | |
42513 | * config/m68k/m68k.c (switch_table_difference_label_flag): Remove | |
42514 | definition. | |
42515 | * config/m68k/m68k.h (PRINT_OPERAND_PUNCT_VALID_P): Remove support | |
42516 | for '%#'. | |
42517 | * config/m68k/linux.h, config/m68k/m68k.c, | |
42518 | * config/m68k/math-68881.h: Replace `%#' with `#' in inline asm | |
42519 | macros and asm_printf() format strings. | |
42520 | * config/m68k/m68kelf.h (ASM_OUTPUT_CASE_END): Remove macro definition. | |
42521 | * config/m68k/linux.h: Update copyright. | |
42522 | * config/m68k/linux.h, config/m68k/m68k.c: Remove traling whitespace. | |
42523 | ||
42524 | 2004-02-08 Andreas Schwab <schwab@suse.de> | |
42525 | Bernardo Innocenti <bernie@develer.com> | |
42526 | ||
42527 | * config/m68k/m68k.h (REGISTER_NAMES): Prefix each name with | |
42528 | REGISTER_PREFIX. | |
42529 | * (M68K_FP_REG_NAME): New macro to specify an alternate name for the | |
42530 | frame pointer register, overridable by OS targets. | |
42531 | * (M68K_REGNAME): Macro to obtain register name for asm output, | |
42532 | eventually replacing %a6 with M68K_FP_REG_NAME. | |
42533 | * config/m68k/coff.h (REGISTER_NAMES): Don't redefine. | |
42534 | * config/m68k/linux.h (REGISTER_NAMES): Likewise. | |
42535 | * config/m68k/m68kelf.h (REGISTER_NAMES): Likewise. | |
42536 | * config/m68k/netbsd-elf.h (REGISTER_NAMES): Likewise. | |
42537 | * config/m68k/m68k.c: Use M68K_REGNAME(x) in place of reg_names[x]. | |
42538 | ||
42539 | 2004-02-08 Kazu Hirata <kazu@cs.umass.edu> | |
42540 | ||
42541 | * target-def.h (TARGET_STRUCT_VALUE_RTX): Define as | |
42542 | hook_rtx_tree_int_null. | |
42543 | * targhooks.c (default_struct_value_rtx): Remove. | |
42544 | * targhooks.h: Remove the prototype for | |
42545 | default_struct_value_rtx. | |
42546 | * config/alpha/alpha.c, config/arc/arc.c, config/avr/avr.c, | |
42547 | config/fr30/fr30.c, config/h8300/h8300.c, config/i386/i386.c, | |
42548 | config/ip2k/ip2k.c, config/iq2000/iq2000.c, | |
42549 | config/m32r/m32r.c, config/mcore/mcore.c, config/mips/mips.c, | |
42550 | config/mn10300/mn10300.c, config/pdp11/pdp11.c, | |
42551 | config/rs6000/rs6000.c, config/s390/s390.c, | |
42552 | config/stormy16/stormy16.c, config/v850/v850.c, | |
42553 | config/xtensa/xtensa.c (TARGET_STRUCT_VALUE_RTX): Remove. | |
42554 | * doc/tm.texi (TARGET_STRUCT_VALUE_RTX): Document the default. | |
42555 | ||
42556 | 2004-02-08 Joseph S. Myers <jsm@polyomino.org.uk> | |
42557 | ||
42558 | * README.Portability: Change "ISO C89" to "ISO C90". | |
42559 | * c-parse.in (primary, initelt): Likewise. | |
42560 | ||
42561 | 2004-02-08 Richard Sandiford <rsandifo@redhat.com> | |
42562 | ||
42563 | * real.c (encode_ibm_extended): Normalize the input value before | |
42564 | converting it to a double. Handle the case where a normal value | |
42565 | rounds to infinity. | |
42566 | ||
42567 | 2004-02-08 Kazu Hirata <kazu@cs.umass.edu> | |
42568 | ||
42569 | * c-objc-common.c (c_cannot_inline_tree_fn): Fix a typo in a | |
42570 | warning. | |
42571 | * cse.c (preferrable): Change to preferable. Update all of its | |
42572 | callers. | |
42573 | * genautomata.c (ainsn): Change | |
42574 | first_ainsn_with_given_equialence_num to | |
42575 | first_ainsn_with_given_equivalence_num. Update all of its | |
42576 | references. | |
42577 | ||
42578 | 2004-02-08 Jan Hubicka <jh@suse.cz> | |
42579 | ||
42580 | * schedule-ebb.c (schedule_ebbs): Do not allocate reg life data. | |
42581 | ||
42582 | 2004-02-07 David Edelsohn <edelsohn@gnu.org> | |
42583 | ||
42584 | * function.c (assign_parms): Fix formatting. | |
42585 | ||
42586 | 2004-02-07 Kazu Hirata <kazu@cs.umass.edu> | |
42587 | ||
42588 | * default.h (PROMOTE_PROTOTYPES): Remove. | |
42589 | * system.h (PROMOTE_FUNCTION_RETURN, PROMOTE_PROTOTYPES, | |
42590 | STRUCT_VALUE_REGNUM, SETUP_INCOMING_VARARGS, | |
42591 | EXPAND_BUILTIN_SAVEREGS): Poison. | |
42592 | * target-def.h (TARGET_PROMOTE_FUNCTION_RETURN): Define as | |
42593 | hook_bool_tree_false. | |
42594 | (TARGET_PROMOTE_PROTOTYPES): Likewise. | |
42595 | * target.h: Replace SETUP_INCOMING_VARARGS with | |
42596 | targetm.calls.setup_incoming_varargs(). | |
42597 | * targhooks.c (default_promote_function_return): Remove. | |
42598 | (default_promote_prototypes): Likewise. | |
42599 | (default_struct_value_rtx): Always abort(). | |
42600 | (default_expand_builtin_saveregs): Always print an error | |
42601 | message. | |
42602 | (default_setup_incoming_varargs): Do nothing. | |
42603 | (default_pretend_outgoing_varargs_named): Don't depend on | |
42604 | SETUP_INCOMING_VARARGS. | |
42605 | * targhooks.h: Remove the prototype for | |
42606 | default_promote_function_return and | |
42607 | default_promote_prototypes. | |
42608 | ||
42609 | 2004-02-07 Kazu Hirata <kazu@cs.umass.edu> | |
42610 | ||
42611 | * system.h (SHARED_SECTION_ASM_OP): Poison. | |
42612 | * varasm.c (data_section): Don't use SHARED_SECTION_ASM_OP. | |
42613 | * doc/tm.texi (SHARED_SECTION_ASM_OP): Remove. | |
42614 | ||
42615 | 2004-02-07 Zack Weinberg <zack@codesourcery.com> | |
42616 | ||
42617 | Bug 13856 | |
42618 | * c-decl.c (diagnose_mismatched_decls): Only give special | |
42619 | treatment when olddecl is DECL_BUILT_IN, if C_DECL_INVISIBLE | |
42620 | is also true. | |
42621 | (merge_decls): Don't clear DECL_BUILT_IN_CLASS and | |
42622 | DECL_FUNCTION_CODE when defining a built-in function. | |
42623 | Don't update DECL_ESTIMATED_INSNS. | |
42624 | * dwarf2out.c (dwarf2out_decl): Don't ignore built-in | |
42625 | FUNCTION_DECLs. | |
42626 | * tree.h: Delete DECL_ESTIMATED_INSNS. | |
42627 | * tree-inline.c (struct inline_data): Delete inlined_insns field. | |
42628 | (expand_call_inline, optimize_inline_calls): Don't update | |
42629 | DECL_ESTIMATED_INSNS nor inlined_insns. | |
42630 | * cgraphunit.c (cgraph_analyze_function): Don't update | |
42631 | DECL_ESTIMATED_INSNS. | |
42632 | ||
42633 | 2004-02-07 Zack Weinberg <zack@codesourcery.com> | |
42634 | ||
42635 | * c-common.c (shadow_warning): Delete. | |
42636 | * c-common.h (free_parser_stacks, shadow_warning, sw_kind): Delete. | |
42637 | * c-decl.c (warn_if_shadowing): Issue shadow warnings directly. | |
42638 | * c-opts.c (c_common_parse_file): Don't call free_parser_stacks. | |
42639 | * c-parse.in (free_parser_stacks): Delete. | |
42640 | ||
42641 | 2004-02-07 Nathanael Nerode <neroden@gcc.gnu.org> | |
42642 | ||
42643 | * Makefile.in, config/t-slibgcc-darwin, config/t-slibgcc-elf-ver, | |
42644 | config/t-slibgcc-sld, config/mips/t-iris5-6, config/sh/t-linux: | |
42645 | Use the top level mkinstalldirs, not the one in the gcc subdir. | |
42646 | * mkinstalldirs: Remove (from the gcc subdir). | |
42647 | ||
42648 | 2004-02-07 Roger Sayle <roger@eyesopen.com> | |
42649 | ||
42650 | PR middle-end/13696 | |
42651 | * fold-const.c (fold_convert): New function to provide type | |
42652 | conversion to the middle-end without using convert. | |
42653 | (negate_expr, associate_trees, size_diffop, omit_one_operand, | |
42654 | operand_equal_for_comparison_p, pedantic_omit_one_operand, | |
42655 | invert_truthvalue, optimize_bit_field_compare, range_binop, | |
42656 | decode_field_reference, make_range, build_range_check, unextend, | |
42657 | fold_truthop, extract_muldiv_1, fold_mathfn_compare, | |
42658 | fold_binary_op_with_conditional_arg, fold_inf_compare, | |
42659 | fold_single_bit_test, fold, multiple_of_p): Replace all calls to | |
42660 | convert with calls to fold_convert. | |
42661 | ||
42662 | 2004-02-07 Jan Hubicka <jh@suse.cz> | |
42663 | ||
42664 | * genrecog.c (find_operand): add extra argument stop. | |
42665 | (validate_pattern): Verify that mach_dup is duplicating operand | |
42666 | defined lexically earlier. | |
42667 | ||
42668 | 2004-02-07 Kazu Hirata <kazu@cs.umass.edu> | |
42669 | ||
42670 | * config.gcc: Don't mention MAX_LONG_TYPE_SIZE. | |
42671 | * system.h (MAX_LONG_TYPE_SIZE, MAX_LONG_DOUBLE_TYPE_SIZE, | |
42672 | MAX_WCHAR_TYPE_SIZE, GCOV_TYPE_SIZE): Poison. | |
42673 | * config/avr/avr.h, config/h8300/h8300.h, config/i386/i386.h, | |
42674 | config/ia64/ia64.h, config/ip2k/ip2k.h, | |
42675 | config/iq2000/iq2000.h, config/mips/iris5.h, | |
42676 | config/mips/mips.h, config/pa/pa-64.h, config/pa/pa.h, | |
42677 | config/rs6000/aix51.h, config/rs6000/aix52.h, | |
42678 | config/rs6000/darwin.h, config/rs6000/rs6000.h, | |
42679 | config/s390/s390.h, config/sh/sh.h, config/sparc/freebsd.h, | |
42680 | config/sparc/linux.h, config/sparc/linux64.h, | |
42681 | config/sparc/netbsd-elf.h, config/sparc/sparc.h, | |
42682 | config/xtensa/xtensa.h: Remove the definitions of | |
42683 | MAX_LONG_TYPE_SIZE, MAX_LONG_DOUBLE_TYPE_SIZE, and/or | |
42684 | MAX_WCHAR_TYPE_SIZE. | |
42685 | * doc/tm.texi (MAX_LONG_TYPE_SIZE, MAX_LONG_DOUBLE_TYPE_SIZE, | |
42686 | MAX_WCHAR_TYPE_SIZE, GCOV_TYPE_SIZE): Remove. | |
42687 | ||
42688 | 2004-02-07 Stephane Carrez <stcarrez@nerim.fr> | |
42689 | ||
42690 | PR bootstrap/13990 | |
42691 | * config/m68hc11/m68hc11.md ("doloop_end"): Pass dummy arguments to | |
42692 | gen_rtx_NE. | |
42693 | ||
42694 | 2004-02-07 Josef Zlomek <zlomekj@suse.cz> | |
42695 | ||
42696 | * var-tracking.c (vt_add_function_parameters): Surround checkings by | |
42697 | #ifdef ENABLE_CHECKING and #endif. | |
42698 | ||
42699 | 2004-02-07 Roger Sayle <roger@eyesopen.com> | |
42700 | ||
42701 | * fold-const.c (negate_expr_p, negate_expr): Optimize -(A+B) into | |
42702 | either (-A)-B or (-B)-A, if A or B is easily negated respectively. | |
42703 | (fold) <MINUS_EXPR>: Optimize (A*C) - (B*C) -> (A-B)*C for both | |
42704 | integer types and floating point with unsafe_math_optimizations. | |
42705 | Add similar optimization for (A*C1) - (A*C2) -> A*(C1-C2). | |
42706 | Optimize A - B as A + (-B), if B is easily negated. | |
42707 | ||
42708 | 2004-02-07 Kazu Hirata <kazu@cs.umass.edu> | |
42709 | ||
42710 | * c-ppoutput.c, cfganal.c, diagnostic.h, print-rtl.c, | |
42711 | config/darwin.c, config/darwin.h, config/ia64/ia64-c.c, | |
42712 | config/m32r/linux.h, config/rs6000/ppc64-fp.c, | |
42713 | config/sparc/openbsd.h, doc/makefile.texi, doc/passes.texi: | |
42714 | Update copyright. | |
42715 | ||
42716 | 2004-02-07 Kazu Hirata <kazu@cs.umass.edu> | |
42717 | ||
42718 | * c-ppoutput.c, var-tracking.c: Fix comment typos. | |
42719 | ||
42720 | 2004-02-06 James E Wilson <wilson@specifixinc.com> | |
42721 | ||
42722 | * config/ia64/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Only define for | |
42723 | glibc 2.3 or better. | |
42724 | ||
42725 | 2004-02-06 Kazu Hirata <kazu@cs.umass.edu> | |
42726 | ||
42727 | * doc/tm.texi (TARGET_FLOAT_LIB_COMPARE_RETURNS_BOOL): Change | |
42728 | to FLOAT_LIB_COMPARE_RETURNS_BOOL. | |
42729 | ||
42730 | 2004-02-07 Alan Modra <amodra@bigpond.net.au> | |
42731 | ||
42732 | * config/rs6000/t-linux64 (LIB2FUNCS_EXTRA): Add darwin-ldouble.c. | |
42733 | (SHLIB_MAPFILES): Add libgcc-ppc64.ver. | |
42734 | (SHLIB_MKMAP_OPTS): Delete. | |
42735 | (TARGET_LIBGCC2_CFLAGS): Add -specs. | |
42736 | (bispecs): Add rule. | |
42737 | * config/rs6000/libgcc-ppc64.ver: New file. | |
42738 | * config/rs6000/ppc64-fp.c (__fixtfdi, __floatditf): New functions. | |
42739 | (__floatdidf, __floatdisf): Optimize multiply. | |
42740 | (__fixunstfdi): New function. | |
42741 | * config/rs6000/rs6000.c (rs6000_complex_function_value): Allow for | |
42742 | real and imag parts larger than one register. | |
42743 | (function_arg): Correct type of reg used when fp arg split partially | |
42744 | to stack. | |
42745 | * config/rs6000/darwin-ldouble.c: Protect with #if !_SOFT_FLOAT | |
42746 | and __MACH__ or __powerpc64__. | |
42747 | ||
42748 | 2004-02-06 Roger Sayle <roger@eyesopen.com> | |
42749 | Ulrich Weigand <uweigand@de.ibm.com> | |
42750 | ||
42751 | * builtins.c (expand_builtin_signbit): Use extract_bit_field instead | |
42752 | of gen_highpart or gen_lowpart when the floating point format is | |
42753 | wider than the result mode. | |
42754 | ||
42755 | 2004-02-06 Andrew Pinski <pinskia@physics.uc.edu> | |
42756 | ||
42757 | * dwarf2out.c (loclabel_num): Move into #ifdef | |
42758 | DWARF2_DEBUGGING_INFO. | |
42759 | ||
42760 | 2004-02-06 Ziemowit Laski <zlaski@apple.com> | |
42761 | ||
42762 | * objc/objc-act.c (build_super_template) the 'class' field of | |
42763 | 'struct _objc_super' shall be named 'super_class' #ifdef OBJCPLUS. | |
42764 | (get_super_receiver): Likewise. | |
42765 | ||
42766 | 2004-02-06 Kazu Hirata <kazu@cs.umass.edu> | |
42767 | ||
42768 | * reload1.c (check_eliminable_occurrences): Optimize the reset | |
42769 | of can_eliminate. | |
42770 | (eliminate_regs_in_insn): Likewise. | |
42771 | ||
42772 | 2004-02-06 Daniel Berlin <dberlin@dberlin.org> | |
42773 | Josef Zlomek <zlomekj@suse.cz> | |
42774 | ||
42775 | * dwarf2out.c (struct gcc_debug_hooks): Call dwarf2out_begin_function | |
42776 | at the beginning of function, call dwarf2out_var_location for | |
42777 | NOTE_INSN_VAR_LOCATION note. | |
42778 | (struct var_loc_node, struct var_loc_list_def, loclabel_num, | |
42779 | decl_loc_table): New. | |
42780 | (lookup_decl_loc): New function. | |
42781 | (add_var_loc_to_decl): New function. | |
42782 | (based_loc_descr): Added parameter can_use_fbreg, DW_OP_fbreg is used | |
42783 | only if can_use_fbreg. | |
42784 | (mem_loc_descriptor): Added parameter can_use_fbreg, pass it to other | |
42785 | functions. | |
42786 | (loc_descriptor): Likewise. Process VAR_LOCATION. | |
42787 | (concat_loc_descriptor): Call loc_descriptor with can_use_fbreg == true. | |
42788 | (loc_descriptor_from_tree): Call mem_loc_descriptor with | |
42789 | can_use_fbreg == true. | |
42790 | (add_location_or_const_value_attribute): Added parameter enum | |
42791 | dwarf_attribute attr, generate attribute ATTR. Create the location list. | |
42792 | (add_bound_info): Call loc_descriptor with can_use_fbreg == true. | |
42793 | (gen_formal_parameter_die): Call add_location_or_const_value_attribute | |
42794 | with attr == DW_AT_location. | |
42795 | (gen_subprogram_die): Generate the location list for DW_AT_frame_base | |
42796 | if frame_base_decl is defined and has a location list. | |
42797 | (gen_variable_die): Call add_location_or_const_value_attribute with | |
42798 | attr == DW_AT_location. | |
42799 | (dwarf2out_var_location): New function. | |
42800 | (dwarf2out_begin_function): New function. | |
42801 | (dwarf2out_init): Create decl_loc_table. | |
42802 | ||
42803 | 2004-02-06 Ulrich Weigand <uweigand@de.ibm.com> | |
42804 | ||
42805 | * loop.c (force_movables): Transitively increase the priorities of | |
42806 | all insns forces by an insn, not just the first one. | |
42807 | ||
42808 | 2004-02-06 Josef Zlomek <zlomekj@suse.cz> | |
42809 | Daniel Berlin <dberlin@dberlin.org> | |
42810 | ||
42811 | Josef Zlomek <zlomekj@suse.cz> | |
42812 | * Makefile.in (var-tracking.o): New. | |
42813 | * common.opt (fvar-tracking): New. | |
42814 | * flags.h (flag_var_tracking): New. | |
42815 | * gengtype.c (adjust_field_rtx_def): NOTE_INSN_VAR_LOCATION was added. | |
42816 | * opts.c (common_handle_option): Add OPT_fvar_tracking. | |
42817 | * print-rtl.c (print_rtx): NOTE_INSN_VAR_LOCATION was added. | |
42818 | * rtl.c (note_insn_name): Likewise. | |
42819 | * rtl.def (VAR_LOCATION): New. | |
42820 | * rtl.h (NOTE_VAR_LOCATION): New. | |
42821 | (NOTE_VAR_LOCATION_DECL): New. | |
42822 | (NOTE_VAR_LOCATION_LOC): New. | |
42823 | (enum insn_note): NOTE_INSN_VAR_LOCATION was added. | |
42824 | (variable_tracking_main): New exported function. | |
42825 | * timevar.def (TV_VAR_TRACKING): New. | |
42826 | * toplev.c (enum dump_file_index): Added DFI_vartrack. | |
42827 | (dump_file): "vartrack" was added (-dV). | |
42828 | (flag_var_tracking): New. | |
42829 | (f_options): "var-tracking" was added. | |
42830 | (rest_of_handle_variable_tracking): New function. | |
42831 | (rest_of_compilation): Run variable tracking. | |
42832 | (process_options): If user has not specified flag_var_tracking set it | |
42833 | according to optimize, debug_info_level and debug_hooks. | |
42834 | * tree.h (frame_base_decl): New. | |
42835 | * var-tracking.c: New file. | |
42836 | * config/ia64/ia64.c (ia64_flag_var_tracking): New variable. | |
42837 | (ia64_override_options): Set flags to run variable tracking in machine | |
42838 | dependent reorg instead of toplev.c. | |
42839 | (ia64_reorg): Run variable tracking if wanted. | |
42840 | * doc/invoke.texi: Mention variable tracking in -dV, | |
42841 | add and -fvar-tracking. | |
42842 | * doc/passes.texi: Added variable tracking pass. | |
42843 | ||
42844 | Daniel Berlin <dberlin@dberlin.org> | |
42845 | * debug.h (struct gcc_debug_hooks): Added var_location debug hook. | |
42846 | * dbxout.c (dbx_debug_hooks): Likewise. | |
42847 | (xcoff_debug): Likewise. | |
42848 | * debug.c (do_nothing_debug_hooks): Likewise. | |
42849 | * dwarf2out.c (dwarf2_debug_hooks): Likewise. | |
42850 | * dwarfout.c (dwarf_debug_hooks): Likewise. | |
42851 | * sdbout.c (sdb_debug_hooks): Likewise. | |
42852 | * vmsdbgout.c (vmsdbg_debug_hooks): Likewise. | |
42853 | * final.c (final_scan_insn): Call var_location debug hook for each | |
42854 | NOTE_INSN_VAR_LOCATION. | |
42855 | ||
42856 | 2004-02-06 Jan Hubicka <jh@suse.cz> | |
42857 | ||
42858 | * flow.c (update_life_info): Allocate reg_deaths when called from | |
42859 | scheudler. | |
e8366202 | 42860 | (attempt_auto_inc): Update life ranges accordingly. |
3eb54e5f ILT |
42861 | |
42862 | 2004-02-06 Ulrich Weigand <uweigand@de.ibm.com> | |
42863 | ||
42864 | PR debug/11816 | |
42865 | * dwarf2out.c (gen_decl_die): Handle anonymous struct members. | |
42866 | ||
42867 | 2004-02-06 Ulrich Weigand <uweigand@de.ibm.com> | |
42868 | ||
42869 | * cfganal.c (flow_call_edges_add): Never split a libcall block. | |
42870 | ||
42871 | 2004-02-06 Daniel Berlin <dberlin@dberlin.org> | |
42872 | ||
42873 | * dwarf2out.c (output_loc_list): Don't use deltas if we have | |
42874 | a separate line info table in use. | |
42875 | Use the correct size for terminators. | |
42876 | (output_die): Use offset, not delta. | |
42877 | ||
42878 | 2004-02-06 H.J. Lu <hongjiu.lu@intel.com> | |
42879 | ||
42880 | * doc/invoke.texi: Remove the pni option from -mfpmath=. | |
42881 | ||
42882 | 2004-02-06 Jan Hubicka <jh@suse.cz> | |
42883 | ||
42884 | * recog.c (split_all_insns): Do not update reg info. | |
42885 | * regrename.c (regrename_optimize): Likewise. | |
42886 | * toplev.c (rest_of_handle_reorder_blocks): Likewise. | |
42887 | * flow.c (struct propagate_block_info): Add insn_num field. | |
42888 | (reg_deaths): New array. | |
42889 | (life_analysis): Free reg_deaths info. | |
42890 | (allocate_reg_life_data): Allocate reg_deaths array. | |
42891 | (propagate_one_insn): Use new array. | |
42892 | (init_propagate_block): Initialize it. | |
42893 | (free_propagate_block_info): Finish compuation of | |
42894 | REG_LIVE_LENGTH | |
42895 | (attempt_auto_inc): Sanity check that REG_INFO is not | |
42896 | computed at same time. | |
42897 | (mark_used_regs): Update new array. | |
42898 | ||
42899 | * reg-stack.c (subst_stack_regs): Unshare clobbers before | |
42900 | substitution. | |
42901 | ||
42902 | 2004-02-06 Kazu Hirata <kazu@cs.umass.edu> | |
42903 | ||
42904 | * config/s390/s390.md (*extendsiqi2_short_displ): Change to | |
42905 | *extendqisi2_short_displ. | |
42906 | ||
42907 | 2004-02-06 Alan Modra <amodra@bigpond.net.au> | |
42908 | ||
42909 | * doc/tm.texi (INIT_CUMULATIVE_ARGS): Update doco. | |
42910 | * calls.c (expand_call): Pass n_named_args to INIT_CUMULATIVE_ARGS. | |
42911 | (emit_library_call_value_1): Likewise pass nargs. | |
42912 | * expr.c (block_move_libcall_safe_for_call_parm): Pass 3 here. | |
42913 | * function.c (assign_parms): Pass -1 to INIT_CUMULATIVE_ARGS. | |
42914 | * config/rs6000/rs6000.c (init_cumulative_args): Use n_named_args | |
42915 | parameter instead of scanning TYPE_ARGS_TYPES to count args. | |
42916 | * config/rs6000/rs6000-protos.h (init_cumulative_args): Update | |
42917 | prototype. | |
42918 | * config/rs6000/rs6000.h (INIT_CUMULATIVE_ARGS): Pass extra arg. | |
42919 | (INIT_CUMULATIVE_INCOMING_ARGS): Set extra arg to 1000. | |
42920 | (INIT_CUMULATIVE_LIBCALL_ARGS): Set extra arg to 0. | |
42921 | * config/sh/sh.c (sh_output_mi_thunk): Pass 1 as n_named_args to | |
42922 | INIT_CUMULATIVE_ARGS. | |
42923 | * config/alpha/alpha.h (INIT_CUMULATIVE_ARGS): Update. | |
42924 | * config/alpha/unicosmk.h, config/alpha/vms.h, config/arc/arc.h, | |
42925 | config/arm/arm.h, config/avr/avr.h, config/c4x/c4x.h, | |
42926 | config/cris/cris.h, config/fr30/fr30.h, config/frv/frv.h, | |
42927 | config/h8300/h8300.h, config/i386/i386.h, config/i860/i860.h, | |
42928 | config/ia64/ia64.h, config/ip2k/ip2k.h, config/iq2000/iq2000.h, | |
42929 | config/iq2000/iq2000.c, config/m32r/m32r.h, config/m68hc11/m68hc11.h, | |
42930 | config/m68k/m68k.h, config/mcore/mcore.h, config/mips/mips.h, | |
42931 | config/mmix/mmix.h, config/mn10300/mn10300.h, config/ns32k/ns32k.h, | |
42932 | config/pa/pa.h, config/pdp11/pdp11.h, config/s390/s390.h, | |
42933 | config/sh/sh.h, config/sparc/sparc.h, config/stormy16/stormy16.h, | |
42934 | config/v850/v850.h, config/vax/vax.h, config/xtensa/xtensa.h: Likewise. | |
42935 | ||
42936 | 2004-02-06 Kazu Hirata <kazu@cs.umass.edu> | |
42937 | ||
42938 | * genemit.c (gen_exp) [CONST_INT]: Use const_int_rtx whenever | |
42939 | possible. | |
42940 | ||
42941 | 2004-02-06 Kazu Hirata <kazu@cs.umass.edu> | |
42942 | ||
42943 | * reload1.c (eliminate_regs_in_insn): If a set has a REG_EQUAL | |
42944 | note containing (plus (reg) (const_int)), where reg is an | |
42945 | eliminable reg, then perform the register elimination without | |
42946 | depending on eliminate_regs(). | |
42947 | ||
42948 | 2004-02-06 Kazu Hirata <kazu@cs.umass.edu> | |
42949 | ||
42950 | * config/arc/arc.c (arc_return_in_memory): Check the return | |
42951 | value of int_size_in_bytes against -1. Don't check | |
42952 | TREE_ADDRESSABLE. | |
42953 | * config/avr/avr.c (avr_return_in_memory): Check the return | |
42954 | value of int_size_in_bytes against -1. | |
42955 | * config/ip2k/ip2k.c (ip2k_return_in_memory): Likewise. | |
42956 | * config/m68hc11/m68hc11.c (m68hc11_return_in_memory): | |
42957 | Likewise. | |
42958 | * config/mcore/mcore.c (mcore_return_in_memory): Likewise. | |
42959 | * config/stormy16/stormy16.c (xstormy16_return_in_memory): | |
42960 | Likewise. | |
42961 | ||
42962 | 2004-02-06 Kazu Hirata <kazu@cs.umass.edu> | |
42963 | ||
42964 | * config/frv/frv-protos.h: Remove the prototype for | |
42965 | frv_setup_incoming_varargs. | |
42966 | * config/frv/frv.c (TARGET_SETUP_INCOMING_VARARGS): New. | |
42967 | (frv_setup_incoming_varargs): Make it static. | |
42968 | * config/frv/frv.h (SETUP_INCOMING_VARARGS): Remove. | |
42969 | ||
42970 | 2004-02-06 Kazu Hirata <kazu@cs.umass.edu> | |
42971 | ||
42972 | * config/fr30/fr30-protos.h: Remove the prototype for | |
42973 | fr30_setup_incoming_varargs. | |
42974 | Update the prototypes for fr30_num_arg_regs and | |
42975 | fr30_function_arg_partial_nregs. | |
42976 | * config/fr30/fr30.c (TARGET_STRUCT_VALUE_RTX): New. | |
42977 | (TARGET_SETUP_INCOMING_VARARGS): Likewise. | |
42978 | (fr30_setup_incoming_varargs): Make it static. | |
42979 | Add argument second_time. Don't do anything when second_time | |
42980 | is nonzero. | |
42981 | (fr30_num_arg_regs): Change the type of the first argument to | |
42982 | enum machine_mode. | |
42983 | (fr30_function_arg_partial_nregs): Change the type of the | |
42984 | second argument to enum machine_mode. | |
42985 | * config/fr30/fr30.h (STRUCT_VALUE): Remove. | |
42986 | (SETUP_INCOMING_VARARGS): Remove. | |
42987 | ||
42988 | 2004-02-06 Kazu Hirata <kazu@cs.umass.edu> | |
42989 | ||
42990 | * config/arc/arc-protos.h: Remove the prototype for | |
42991 | arc_setup_incoming_varargs. | |
42992 | * config/arc/arc.c (TARGET_ASM_EXTERNAL_LIBCALL): New. | |
42993 | (TARGET_SETUP_INCOMING_VARARGS): Likewise. | |
42994 | (arc_setup_incoming_varargs): Make it static. | |
42995 | (arc_external_libcall): Likewise. | |
42996 | * config/arc/arc.h (SETUP_INCOMING_VARARGS): Remove. | |
42997 | Remove the commented-out definition of | |
42998 | ASM_OUTPUT_EXTERNAL_LIBCALL. | |
42999 | ||
43000 | 2004-02-05 SUGIOKA Toshinobu <sugioka@itonet.co.jp> | |
43001 | ||
43002 | * config/sh/t-linux (SHLIB_INSTALL): Prepend $$(DESTDIR) | |
43003 | to $$(slibdir) in the installation commands. | |
43004 | ||
43005 | 2004-02-05 David Edelsohn <edelsohn@gnu.org> | |
43006 | ||
43007 | * reload.c (refers_to_regno_for_reload_p): Index hard_regno_nregs | |
43008 | with inner_regno, not regno. | |
43009 | * rtlanal.c (refers_to_regno_p): Same. | |
43010 | ||
43011 | 2004-02-05 Kazu Hirata <kazu@cs.umass.edu> | |
43012 | ||
43013 | * config.gcc: Remove i370 support. | |
43014 | ||
43015 | 2004-02-05 Kelley Cook <kcook@gcc.gnu.org> | |
43016 | ||
e8366202 | 43017 | * doc/install.texi: Update automake and autoconf version |
3eb54e5f ILT |
43018 | requirements. Note where to find gcj automake version. |
43019 | ||
43020 | 2004-02-05 Kelley Cook <kcook@gcc.gnu.org> | |
43021 | ||
43022 | * Makefile.in (generate-manpages): Move dependencies to ... | |
43023 | (man): here. | |
43024 | * doc/makefile.texi: Document new targets. | |
43025 | * doc/sourcebuild.texi (Make-lang.in): Document new langhooks. | |
43026 | ||
43027 | 2004-02-05 Kelley Cook <kcook@gcc.gnu.org> | |
43028 | ||
43029 | PR/13485 | |
e8366202 | 43030 | Makefile.in (srcextra): Add a level of indirection to ... |
3eb54e5f ILT |
43031 | (gcc.srcextra): ... here. |
43032 | (po-generated): Delete. | |
43033 | (po/$(PACKAGE).pot: Use srcextra instead of po-generated. Depend on | |
43034 | options.c. | |
43035 | (start.encap): Remove superfluous lang.srcextra dependency. | |
e8366202 | 43036 | objc/Make-lang.in (po-generated): Delete. |
3eb54e5f ILT |
43037 | |
43038 | 2004-02-05 Kazu Hirata <kazu@cs.umass.edu> | |
43039 | ||
43040 | * config/ia64/ia64.c (REG_GP): Remove. | |
43041 | ||
43042 | 2004-02-05 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> | |
43043 | ||
43044 | * config/mips/iris5gas.h (PREFERRED_DEBUGGING_TYPE): Define. | |
43045 | ||
43046 | 2004-02-05 Devang Patel <dpatel@apple.com> | |
43047 | ||
43048 | * dwarf2out.c (force_type_die): Look up input type itself | |
43049 | instead of root_type() of type. | |
43050 | ||
43051 | 2004-02-05 Andreas Krebbel <krebbel1@de.ibm.com> | |
43052 | ||
43053 | * config/s390/s390.md ("*tmqidi_ext"): New insn. | |
43054 | ("*extendqidi2_short_displ", "*extendsiqi2_short_displ"): Old | |
43055 | pre-reload splitters are transformed to post-reload | |
43056 | define_insn_and_split patterns. | |
43057 | ("*tmqisi_ext"): Renamed old "*tmqi_ext". | |
43058 | ||
43059 | 2004-02-05 Kazu Hirata <kazu@cs.umass.edu> | |
43060 | ||
43061 | * config/cris/cris.h: Replace PROMOTE_PROTOTYPES with | |
43062 | TARGET_PROMOTE_PROTOTYPES. | |
43063 | ||
43064 | 2004-02-05 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> | |
43065 | ||
43066 | PR middle-end/13750 | |
43067 | Revert: | |
43068 | 2004-01-15 Geoffrey Keating <geoffk@apple.com> | |
43069 | PR pch/13361 | |
43070 | * c-typeck.c (constructor_asmspec): Delete. | |
43071 | (struct initializer_stack): Delete field 'asmspec'. | |
43072 | (start_init): Delete saving of asmspec. | |
43073 | (finish_init): Don't update constructor_asmspec. | |
43074 | * dwarf2out.c (rtl_for_decl_location): Duplicate string from tree. | |
43075 | * stmt.c (expand_asm): Duplicate strings from tree. | |
43076 | (expand_asm_operands): Likewise. | |
43077 | * tree.c (tree_size): Update computation of size of STRING_CST. | |
43078 | (make_node): Don't make STRING_CST nodes. | |
43079 | (build_string): Allocate string with tree node. | |
43080 | * tree.def (STRING_CST): Update comment. | |
43081 | * tree.h (TREE_STRING_POINTER): Adjust for change to STRING_CST. | |
43082 | (tree_string): Place contents of string in tree node. | |
43083 | * config/sh/sh.c (sh_handle_sp_switch_attribute): Duplicate string | |
43084 | from tree. | |
43085 | ||
43086 | 2004-02-05 Joseph S. Myers <jsm@polyomino.org.uk> | |
43087 | ||
43088 | * diagnostic.h (DEFINE_DIAGNOSTIC_KIND): Change parameter M to | |
43089 | msgid. | |
43090 | ||
43091 | 2004-02-05 Dorit Naishlos <dorit@il.ibm.com> | |
43092 | ||
43093 | * config/rs6000/altivec.md (*movv4si_internal): At least one | |
43094 | operand must be altivec_register_operand. | |
43095 | (*movv8hi_internal1): Likewise. | |
43096 | (*movv16qi_internal1): Likewise. | |
43097 | (*movv4sf_internal1): Likewise. | |
43098 | ||
43099 | 2004-02-05 David Edelsohn <edelsohn@gnu.org> | |
43100 | ||
43101 | * configure.ac (gcc_cv_as_powerpc_mfcrf): Correct test for mfcr. | |
43102 | * configure: Regenerate. | |
43103 | ||
43104 | 2004-02-05 Jonathan Wakely <redi@gcc.gnu.org> | |
43105 | ||
43106 | * doc/install.texi: Update description of --gxx-include-dir to | |
43107 | give correct default value. | |
43108 | ||
43109 | 2004-02-05 Kazu Hirata <kazu@cs.umass.edu> | |
43110 | ||
43111 | * config/h8300/h8300.h (REG_OK_FOR_BASE_NONSTRICT_P): Replace | |
43112 | 8 with MAC_REG. | |
43113 | ||
43114 | 2004-02-05 Kazu Hirata <kazu@cs.umass.edu> | |
43115 | ||
43116 | * config/pa/pa.c (emit_hpdiv_const): Replace gen_rtx with | |
43117 | gen_rtx_PARALLEL. | |
43118 | ||
43119 | 2004-02-05 Kazu Hirata <kazu@cs.umass.edu> | |
43120 | ||
43121 | * emit-rtl.c: Update the comment about the file. | |
43122 | ||
43123 | 2004-02-05 Joseph S. Myers <jsm@polyomino.org.uk> | |
43124 | ||
43125 | * sourcebuild.texi (Test Idioms): Update testcase naming | |
43126 | conventions. | |
43127 | ||
43128 | 2004-02-04 Per Bothner <per@bothner.com> | |
43129 | ||
43130 | Partially revert/redo 2003-10-01 change; fix -fworking-directory. | |
e8366202 MS |
43131 | * c-ppoutput.c (pp_dir_change): New function. |
43132 | * c-common.h (pp_dir_change): New declaration. | |
43133 | * cpplib.h (struct cpp_options): Remove working_directory field. | |
43134 | * cppinit.c (cpp_find_main_file, cpp_push_main_file): Merge back to | |
43135 | (cpp_read_main_file): as before 10-01. Call _cpp_stack_file. | |
3eb54e5f ILT |
43136 | Don't handle -fworking_directory here, but in c_common_post_options. |
43137 | (read_original_directory): Don't back up when done. | |
43138 | Don't clear no-longer used working_directory flag. | |
e8366202 MS |
43139 | * cpplib.h: Update declarations to match. |
43140 | * c-lex.c (cb_dir_change): Move to c-opts.c. | |
43141 | (init_c_lex): Don't set dir_change callback here, since we want | |
3eb54e5f | 43142 | to set it even if flag_preprocess_only. |
e8366202 MS |
43143 | * c-opts.c (cb_dir_change): Function moved from c-lex.c. |
43144 | (c_common_post_options): Set dir_change callback. | |
3eb54e5f | 43145 | Call pp_dir_change if approporiate. |
e8366202 | 43146 | (finish_options): Don't call cpp_find_main_file here. Hence remove |
3eb54e5f | 43147 | unneeded parameter and result. Do LC_RENAME for <built-in>. |
e8366202 MS |
43148 | (c_common_post_options): Call cpp_read_main_file here instead. |
43149 | (c_common_init): Update accordingly. | |
43150 | (push_command_line_include): Don't cpp_push_main_file. | |
3eb54e5f ILT |
43151 | Do LC_RENAME rather than LC_LEASE to get back to main file. |
43152 | Compared to pre-10-01 version, inline cpp_rename_to_main_file. | |
e8366202 | 43153 | (c_common_parse_file): Call cpp_read_main_file for subsequent main |
3eb54e5f | 43154 | files, but call finish_options for all files. |
e8366202 MS |
43155 | * c-opts.c (sanitize_cpp_opts): Don't set cpp_opts->working_directory. |
43156 | * fix-header.c (read_scan_file): Call cpp_read_main_file instead of | |
3eb54e5f | 43157 | cpp_find_main_file + cpp_push_main_file. |
e8366202 MS |
43158 | * c-lex.c (fe_file_change): Don't set main_input_filename here. |
43159 | * opts.c (handle_options): Only set main_input_filename first time. | |
3eb54e5f ILT |
43160 | |
43161 | 2004-02-05 Ian Lance Taylor <ian@wasabisystems.com> | |
43162 | ||
43163 | * config/arm/arm.h (REG_CLASS_NAMES): Add missing comma. | |
43164 | ||
43165 | 2004-02-04 Geoffrey Keating <geoffk@apple.com> | |
43166 | ||
43167 | * reload.c (find_equiv_reg): When checking for register overlap, | |
43168 | don't index hard_regno_nregs with a pseudo-reg. | |
43169 | ||
43170 | 2004-02-04 Ulrich Weigand <uweigand@de.ibm.com> | |
43171 | ||
43172 | * config/s390/s390.c (s390_trampoline_template): Remove gen_rtx(). | |
43173 | ||
43174 | 2004-02-04 David Edelsohn <edelsohn@gnu.org> | |
43175 | ||
43176 | * reload.c (refers_to_regno_for_reload_p): Test regno, not inner_regno, | |
43177 | against FIRST_PSEUDO_REGISTER. | |
43178 | ||
43179 | 2004-02-04 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> | |
43180 | ||
43181 | * Makefile.in: Move target, host overrides after per-language | |
43182 | fragments. | |
43183 | ||
43184 | * config/mips/t-iris5-as (FORCE_DEBUG_ADAFLAGS): Clear. | |
43185 | (GNATLIBCFLAGS): Remove -g. | |
43186 | ||
43187 | 2004-02-04 Kazu Hirata <kazu@cs.umass.edu> | |
43188 | ||
43189 | * config/alpha/alpha.c, config/arc/arc.c, config/avr/avr.c, | |
43190 | config/i386/i386.c, config/i386/i386.h, config/i386/i386.md, | |
43191 | config/ia64/ia64.c, config/ia64/unwind-ia64.c, | |
43192 | config/m32r/m32r.c, config/ns32k/ns32k.c, config/pa/pa.c, | |
43193 | config/pdp11/pdp11.c, config/rs6000/rs6000.c, | |
43194 | config/sparc/sparc.c, config/vax/vax.c: Revert the | |
43195 | replacements of "FALLTHRU" with "Fall through" done in the | |
43196 | previous patch. | |
43197 | ||
43198 | 2004-02-04 Kazu Hirata <kazu@cs.umass.edu> | |
43199 | ||
43200 | * config/darwin.c, config/darwin.h, config/freebsd-spec.h, | |
43201 | config/arm/arm.c, config/arm/arm.md, | |
43202 | config/cris/cris-protos.h, config/fr30/fr30.c, | |
43203 | config/fr30/fr30.h, config/h8300/h8300.c, config/i386/i386.h, | |
43204 | config/i860/i860.c, config/i860/i860.h, config/ia64/ia64-c.c, | |
43205 | config/ia64/ia64.c, config/ia64/ia64.h, config/ip2k/ip2k.h, | |
43206 | config/ip2k/ip2k.md, config/ip2k/libgcc.S, | |
43207 | config/m32r/linux.h, config/m32r/m32r.c, config/m32r/m32r.h, | |
43208 | config/m68k/m68k.c, config/m68k/netbsd-elf.h, | |
43209 | config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.md, | |
43210 | config/ns32k/netbsd.h, config/ns32k/ns32k.c, | |
43211 | config/ns32k/ns32k.h, config/pdp11/pdp11.h, | |
43212 | config/rs6000/darwin-ldouble.c, config/s390/s390.h, | |
43213 | config/s390/s390.md, config/sparc/netbsd-elf.h, | |
43214 | config/sparc/openbsd.h, config/sparc/sparc.c, | |
43215 | config/xtensa/lib2funcs.S: Fix comment formatting. | |
43216 | ||
43217 | 2004-02-04 Kazu Hirata <kazu@cs.umass.edu> | |
43218 | ||
43219 | * config/alpha/alpha.c, config/arc/arc.c, | |
43220 | config/arm/arm-cores.def, config/arm/arm.c, config/arm/arm.h, | |
43221 | config/arm/arm1026ejs.md, config/arm/arm1136jfs.md, | |
43222 | config/arm/arm926ejs.md, config/arm/vfp.md, config/avr/avr.c, | |
43223 | config/c4x/c4x.c, config/cris/cris.c, config/frv/frv.md, | |
43224 | config/i386/i386.c, config/i386/i386.h, config/i386/i386.md, | |
43225 | config/ia64/ia64.c, config/ia64/unwind-ia64.c, | |
43226 | config/iq2000/iq2000.c, config/m32r/m32r.c, | |
43227 | config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.h, | |
43228 | config/ns32k/ns32k.c, config/pa/pa.c, config/pdp11/pdp11.c, | |
43229 | config/rs6000/darwin-ldouble.c, config/rs6000/rs6000.c, | |
43230 | config/rs6000/rs6000.h, config/sparc/sparc.c, | |
43231 | config/vax/vax.c: Fix comment typos. Follow spelling | |
43232 | conventions. | |
43233 | ||
43234 | 2004-02-04 Kazu Hirata <kazu@cs.umass.edu> | |
43235 | ||
43236 | * alloc-pool.h, c-convert.c, c-lang.c, c-tree.h, | |
43237 | caller-save.c, df.h, genconfig.c, global.c, lcm.c, | |
43238 | ra-rewrite.c, ra.c, regclass.c, regs.h, resource.c, | |
43239 | sched-rgn.c, config/arm/aof.h, config/arm/cirrus.md, | |
43240 | config/arm/fpa.md, config/arm/iwmmxt.md, | |
43241 | config/arm/netbsd-elf.h, config/arm/netbsd.h, | |
43242 | config/m68hc11/m68hc11.md, config/mips/iris5.h, | |
43243 | config/mn10300/mn10300.md, config/rs6000/altivec.md, | |
43244 | config/sparc/netbsd-elf.h: Update copyright. | |
43245 | ||
43246 | 2004-02-04 Eric Botcazou <ebotcazou@libertysurf.fr> | |
43247 | ||
43248 | * config/sparc/sparc.c (function_arg_pass_by_reference): Return 1 | |
43249 | for all modes whose size is greater than 8 bytes if ARCH32. | |
43250 | (sparc_va_arg): Handle all modes whose size is greater than 8 bytes | |
43251 | by reference if ARCH32. | |
43252 | ||
43253 | 2004-02-04 Aldy Hernandez <aldyh@redhat.com> | |
43254 | ||
43255 | * cgraphunit.c (cgraph_postorder): Fix typo in comment. | |
43256 | ||
43257 | 2004-02-04 Ulrich Weigand <uweigand@de.ibm.com> | |
43258 | ||
43259 | * config/s390/s390.md ("*la_64" + peepholes, "reload_indi"): Move | |
43260 | to before adddi3 insn patterns. | |
43261 | ("*la_31" + peepholes, "*la_31_and", "*la_31_and_cc", "force_la_31", | |
43262 | "reload_insi"): Move to before addsi3 insn patterns. | |
43263 | ||
43264 | 2004-02-04 Mark Mitchell <mark@codesourcery.com> | |
43265 | ||
43266 | * calls.c (initialize_argument_information): Add CALL_FROM_THUNK_P | |
43267 | parameter. Use it instead of current_function_is_thunk. | |
43268 | * function.h (struct function): Update documentation for is_thunk. | |
43269 | * tree.h (CALL_FROM_THUNK_P): New macro. | |
43270 | * config/alpha/alpha.c (alpha_sa_mask): Do not check | |
43271 | no_new_pseudos when testing current_function_is_thunk. | |
43272 | * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Likeiwse. | |
43273 | ||
43274 | 2004-02-04 Kazu Hirata <kazu@cs.umass.edu> | |
43275 | ||
43276 | * doc/tm.texi: Replace SETUP_INCOMING_VARARGS with | |
43277 | TARGET_SETUP_INCOMING_VARARGS. | |
43278 | ||
43279 | 2004-02-04 Kazu Hirata <kazu@cs.umass.edu> | |
43280 | ||
43281 | * emit-rtl.c (gen_rtx): Remove. | |
43282 | * genattrtab.c: Don't mention gen_rtx in a comment. | |
43283 | * rtl.h: Remove the prototype for gen_rtx. | |
43284 | * doc/md.texi: Replace gen_rtx with gen_rtx_REG. | |
43285 | ||
43286 | 2004-02-04 Kazu Hirata <kazu@cs.umass.edu> | |
43287 | ||
43288 | * config/arc/arc.h, config/fr30/fr30.h | |
43289 | (SETUP_INCOMING_VARARGS): Remove the target-independent | |
43290 | comments. | |
43291 | * doc/tm.texi: Don't mention deprecated target macros. | |
43292 | ||
43293 | 2004-02-04 Kazu Hirata <kazu@cs.umass.edu> | |
43294 | ||
43295 | * config/fr30/fr30.h (FUNCTION_VALUE): Remove the | |
43296 | target-independent comment. | |
43297 | ||
43298 | 2004-02-04 Kazu Hirata <kazu@cs.umass.edu> | |
43299 | ||
43300 | * doc/interface.texi, doc/tm.texi, doc/trouble.texi: Don't | |
43301 | mention deprecated target macros. | |
43302 | ||
43303 | 2004-02-04 Kazu Hirata <kazu@cs.umass.edu> | |
43304 | ||
43305 | * config.gcc: Remove obsolete ports and configurations. | |
43306 | * config/linux-aout.h, config/netware.h, | |
43307 | config/t-linux-gnulibc1, config/d30v/abi, | |
43308 | config/d30v/d30v-protos.h, config/d30v/d30v.c, | |
43309 | config/d30v/d30v.h, config/d30v/d30v.md, | |
43310 | config/d30v/libgcc1.asm, config/d30v/t-d30v, | |
43311 | config/dsp16xx/dsp16xx-modes.def, | |
43312 | config/dsp16xx/dsp16xx-protos.h, config/dsp16xx/dsp16xx.c, | |
43313 | config/dsp16xx/dsp16xx.h, config/dsp16xx/dsp16xx.md, | |
43314 | config/i370/README, config/i370/i370-c.c, | |
43315 | config/i370/i370-protos.h, config/i370/i370.c, | |
43316 | config/i370/i370.h, config/i370/i370.md, config/i370/linux.h, | |
43317 | config/i370/mvs.h, config/i370/oe.h, config/i370/t-i370, | |
43318 | config/i386/freebsd-aout.h, config/i386/linux-aout.h, | |
43319 | config/i386/moss.h, config/i386/netware.h, | |
43320 | config/i386/svr3.ifile, config/i386/svr3dbx.h, | |
43321 | config/i386/svr3gas.h, config/i386/svr3z.ifile, | |
43322 | config/i386/t-udk, config/i386/udk.h, config/i386/vsta.h, | |
43323 | config/i960/i960-c.c, config/i960/i960-coff.h, | |
43324 | config/i960/i960-modes.def, config/i960/i960-protos.h, | |
43325 | config/i960/i960.c, config/i960/i960.h, config/i960/i960.md, | |
43326 | config/i960/rtems.h, config/i960/t-960bare, | |
43327 | config/m68k/hp310.h, config/m68k/hp320.h, | |
43328 | config/m68k/hp320base.h, config/m68k/m68kv4.h, | |
43329 | config/m68k/netbsd.h, config/m68k/sgs.h, config/m68k/t-hp320: | |
43330 | Remove. | |
43331 | * doc/extend.texi, doc/install.texi, doc/invoke.texi, | |
43332 | doc/md.texi: Remove mentions of obsolete ports. | |
43333 | ||
43334 | 2004-02-04 Jan Hubicka <jh@suse.cz> | |
43335 | ||
e8366202 | 43336 | * alias.c (find_base_term, get_addr): Do not dereference NULL |
3eb54e5f ILT |
43337 | pointer when all VALUE's locations has been invalidated. |
43338 | (rtx_equal_for_memref_p): Simplify checking of VALUEs. | |
43339 | ||
43340 | 2004-02-03 Wolfgang Bangerth <bangerth@dealii.org> | |
43341 | ||
43342 | * doc/invoke.texi (x86 options): Fix spelling/wording. | |
43343 | ||
43344 | 2004-02-03 Richard Sandiford <rsandifo@redhat.com> | |
43345 | ||
43346 | * config/mips/iris5.h (ASM_OUTPUT_ASCII): Use mips_output_ascii to | |
43347 | put the original string in a comment. | |
43348 | * config/mips/mips-protos.h (mips_output_ascii): Add prefix argument. | |
43349 | * config/mips/mips.c (mips_output_ascii): Likewise. | |
43350 | * config/mips/mips.h (ASM_OUTPUT_ASCII): Adjust accordingly. | |
43351 | ||
43352 | 2004-02-03 Kazu Hirata <kazu@cs.umass.edu> | |
43353 | ||
43354 | * system.h (GIV_SORT_CRITERION): Poison. | |
43355 | * config/avr/avr.h (GIV_SORT_CRITERION): Remove. | |
43356 | * config/ip2k/ip2k.h (GIV_SORT_CRITERION): Likewise. | |
43357 | ||
43358 | 2004-02-03 Roger Sayle <roger@eyesopen.com> | |
43359 | ||
43360 | PR target/9348 | |
e8366202 | 43361 | * expr.c (expand_expr_real) <MULT_EXPR>: When performing widening |
3eb54e5f ILT |
43362 | multiplies with a multiplication of the wrong signedness, its the |
43363 | signedness of the multiplication that we've performed that needs to | |
43364 | be passed to expand_mult_highpart_adjust. Avoid emitting a nop-move | |
43365 | if expand_mult_highpart_adjust places the result in target. | |
43366 | ||
43367 | 2004-02-03 Richard Henderson <rth@redhat.com> | |
43368 | ||
43369 | * varasm.c (const_desc_rtx_sym_eq): Compare symbol strings. | |
43370 | ||
43371 | 2004-02-03 J"orn Rennecke <joern.rennecke@superh.com> | |
43372 | ||
43373 | * config.gcc (sh[234]l): Use little endian fragments. | |
43374 | ||
43375 | 2004-02-03 Paul Koning <pkoning@equallogic.com> | |
43376 | ||
43377 | * config/pdp11/pdp11-modes.def: Add RESET_FLOAT_FORMAT calls. | |
43378 | * config/pdp11/pdp11-protos.h (legitimate_const_double_p): Add. | |
43379 | * config/pdp11/pdp11.c (encode_pdp11_f, decode_pdp11_f, | |
43380 | encode_pdp11_d, decode_pdp11_d): New functions to handle PDP11 | |
43381 | floating point format. | |
43382 | (pdp11_f_format, pdp11_d_format): New real_format descriptors for | |
43383 | the above functions. | |
43384 | (output_move_quad): Output float values in correct target format. | |
43385 | (legitimate_const_double_p): New function. | |
43386 | * config/pdp11/pdp11.h: Fix typos. | |
43387 | (FLOAT_WORDS_BIG_ENDIAN): Add definition. | |
43388 | (TARGET_FLOAT_FORMAT): Ditto. | |
43389 | (pdp11_f_format, pdp11_d_format): Add external declarations. | |
43390 | (MAX_REGS_PER_ADDRESS): Corrected. | |
43391 | (LEGITIMATE_CONSTANT_P): Use legitimate_const_double_p(). | |
43392 | (PRINT_OPERAND): Output float literals in target format. | |
43393 | ||
43394 | 2004-02-03 Mark Mitchell <mark@codesourcery.com> | |
43395 | ||
43396 | PR c++/13975 | |
43397 | * tree.h (enum tree_index): Add TI_PUBLIC, TI_PROTECTED, and | |
43398 | TI_PRIVATE. | |
43399 | (access_public_node): Redefine. | |
43400 | (access_protected_node): Likewise. | |
43401 | (access_private_node): Likewise. | |
43402 | * tree.c (build_common_tree_nodes): Create access_public_node, | |
43403 | access_protected_node, and access_private_node. | |
43404 | ||
43405 | 2004-02-03 Steve Ellcey <sje@cup.hp.com> | |
43406 | ||
43407 | * config/ia64/ia64.h (MASK_INLINE_INT_DIV_LAT): Change value. | |
43408 | (MASK_INLINE_INT_DIV_THR): Ditto. | |
43409 | (MASK_INLINE_SQRT_LAT): Ditto. | |
43410 | (MASK_INLINE_SQRT_THR): Ditto. | |
43411 | (MASK_DWARF2_ASM): Ditto. | |
43412 | (MASK_EARLY_STOP_BITS): Ditto. | |
43413 | ||
43414 | 2004-02-02 Paul Brook <paul@codesourcery.com> | |
43415 | ||
43416 | Merge from csl-arm-branch. | |
43417 | ||
43418 | 2004-01-30 Paul Brook <paul@codesourcery.com> | |
43419 | ||
43420 | * aof.h (REGISTER_NAMES): Add vfp reg names | |
43421 | (ADDITIONAL_REGISTER_NAMES): Ditto. | |
43422 | * aout.h (REGISTER_NAMES): Ditto. | |
43423 | (ADDITIONAL_REGISTER_NAMES): Ditto. | |
43424 | * arm-protos.h: Update/Add Prototypes. | |
43425 | * arm.c (init_fp_table): Rename from init_fpa_table. Update users. | |
43426 | Only allow 0.0 for VFP. | |
43427 | (fp_consts_inited): Rename from fpa_consts_inited. Update users. | |
43428 | (values_fp): Rename from values_fpa. Update Users. | |
43429 | (arm_const_double_rtx): Rename from const_double_rtx_ok_for_fpa. | |
43430 | Update users. Only check valid constants for this hardware. | |
43431 | (arm_float_rhs_operand): Rename from fpa_rhs_operand. Update Users. | |
43432 | Only allow consts for FPA. | |
43433 | (arm_float_add_operand): Rename from fpa_add_operand. Update users. | |
43434 | Only allow consts for FPA. | |
43435 | (use_return_insn): Check for saved VFP regs. | |
43436 | (arm_legitimate_address_p): Handle VFP DFmode addressing. | |
43437 | (arm_legitimize_address): Ditto. | |
43438 | (arm_general_register_operand): New function. | |
43439 | (vfp_mem_operand): New function. | |
43440 | (vfp_compare_operand): New function. | |
43441 | (vfp_secondary_reload_class): New function. | |
43442 | (arm_float_compare_operand): New function. | |
43443 | (vfp_print_multi): New function. | |
43444 | (vfp_output_fstmx): New function. | |
43445 | (vfp_emit_fstm): New function. | |
43446 | (arm_output_epilogue): Output VPF reg restore code. | |
43447 | (arm_expand_prologue): Output VFP reg save code. | |
43448 | (arm_print_operand): Add 'P'. | |
43449 | (arm_hard_regno_mode_ok): Return modes for VFP regs. | |
43450 | (arm_regno_class): Return classes for VFP regs. | |
43451 | (arm_compute_initial_elimination_offset): Include space for VFP regs. | |
43452 | (arm_get_frame_size): Ditto. | |
43453 | * arm.h (FIXED_REGISTERS): Add VFP regs. | |
43454 | (CALL_USED_REGISTERS): Ditto. | |
43455 | (CONDITIONAL_REGISTER_USAGE): Enable VFP regs. | |
43456 | (FIRST_VFP_REGNUM): Define. | |
43457 | (LAST_VFP_REGNUM): Define. | |
43458 | (IS_VFP_REGNUM): Define. | |
43459 | (FIRST_PSEUDO_REGISTER): Include VFP regs. | |
43460 | (HARD_REGNO_NREGS): Handle VFP regs. | |
43461 | (REG_ALLOC_ORDER): Add VFP regs. | |
43462 | (enum reg_class): Add VFP_REGS. | |
43463 | (REG_CLASS_NAMES): Ditto. | |
43464 | (REG_CLASS_CONTENTS): Ditto. | |
43465 | (CANNOT_CHANGE_MODE_CLASS) Handle VFP Regs. | |
43466 | (REG_CLASS_FROM_LETTER): Add 'w'. | |
43467 | (EXTRA_CONSTRAINT_ARM): Add 'U'. | |
43468 | (EXTRA_MEMORY_CONSTRAINT): Define. | |
43469 | (SECONDARY_OUTPUT_RELOAD_CLASS): Handle VFP regs. | |
43470 | (SECONDARY_INPUT_RELOAD_CLASS): Ditto. | |
43471 | (REGISTER_MOVE_COST): Ditto. | |
43472 | (PREDICATE_CODES): Add arm_general_register_operand, | |
43473 | arm_float_compare_operand and vfp_compare_operand. | |
43474 | * arm.md (various): Rename as above. | |
43475 | (divsf3): Enable when TARGET_VFP. | |
43476 | (divdf3): Ditto. | |
43477 | (movdfcc): Ditto. | |
43478 | (sqrtsf2): Ditto. | |
43479 | (sqrtdf2): Ditto. | |
43480 | (arm_movdi): Disable when TARGET_VFP. | |
43481 | (arm_movsi_insn): Ditto. | |
43482 | (movsi): Only split with general regs. | |
43483 | (cmpsf): Use arm_float_compare_operand. | |
43484 | (push_fp_multi): Restrict to TARGET_FPA. | |
43485 | (vfp.md): Include. | |
43486 | * vfp.md: New file. | |
43487 | * fpa.md (various): Rename as above. | |
43488 | * doc/md.texi: Document ARM w and U constraints. | |
43489 | ||
43490 | 2004-01-15 Paul Brook <paul@codesourcery.com> | |
43491 | ||
43492 | * config.gcc: Add with_fpu. Allow with-float=softfp. | |
43493 | * config/arm/arm.c (arm_override_options): Rename *-s to *s. | |
43494 | Break out of loop when we find a float-abi. Fix typo. | |
43495 | * config/arm/arm.h (OPTION_DEFAULT_SPECS): Add "fpu". | |
43496 | Set -mfloat-abi=. | |
43497 | * doc/install.texi: Document --with-fpu. | |
43498 | ||
43499 | 2003-01-14 Paul Brook <paul@codesourcery.com> | |
43500 | ||
43501 | * config.gcc (with_arch): Add armv6. | |
43502 | * config/arm/arm.h: Rename TARGET_CPU_*_s to TARGET_CPU_*s. | |
43503 | * config/arm/arm.c (arm_overrride_options): Ditto. | |
43504 | ||
43505 | 2004-01-08 Richard Earnshaw <rearnsha@arm.com> | |
43506 | ||
43507 | * arm.c (FL_ARCH3M): Renamed from FL_FAST_MULT. | |
43508 | (FL_ARCH6): Renamed from FL_ARCH6J. | |
43509 | (arm_arch3m): Renamed from arm_fast_multiply. | |
43510 | (arm_arch6): Renamed from arm_arch6j. | |
43511 | * arm.h: Update all uses of above. | |
43512 | * arm-cores.def: Likewise. | |
43513 | * arm.md: Likewise. | |
43514 | ||
43515 | * arm.h (CPP_CPU_ARCH_SPEC): Emit __ARM_ARCH_6J__ define for armV6j, | |
43516 | not arm6j. Add entry for arch armv6. | |
43517 | ||
43518 | 2004-01-07 Richard Earnshaw <rearnsha@arm.com> | |
43519 | ||
43520 | * arm.c (arm_emit_extendsi): Delete. | |
43521 | * arm-protos.h (arm_emit_extendsi): Delete. | |
43522 | * arm.md (zero_extendhisi2): Also handle zero-extension of | |
43523 | non-subregs. | |
43524 | (zero_extendqisi2, extendhisi2, extendqisi2): Likewise. | |
43525 | (thumb_zero_extendhisi2): Only match if not v6. | |
43526 | (arm_zero_extendhisi2, thumb_zero_extendqisi2, arm_zero_extendqisi2) | |
43527 | (thumb_extendhisi2, arm_extendhisi2, arm_extendqisi) | |
43528 | (thumb_extendqisi2): Likewise. | |
43529 | (thumb_zero_extendhisi2_v6, arm_zero_extendhisi2_v6): New patterns. | |
43530 | (thumb_zero_extendqisi2_v6, arm_zero_extendqisi2_v6): New patterns. | |
43531 | (thumb_extendhisi2_insn_v6, arm_extendhisi2_v6): New patterns. | |
43532 | (thumb_extendqisi2_v6, arm_extendqisi_v6): New patterns. | |
43533 | (arm_zero_extendhisi2_reg, arm_zero_extendqisi2_reg): Delete. | |
43534 | (arm_extendhisi2_reg, arm_extendqisi2_reg): Delete. | |
43535 | (arm_zero_extendhisi2addsi): Remove subreg. Add attributes. | |
43536 | (arm_zero_extendqisi2addsi, arm_extendhisi2addsi): Likewise. | |
43537 | (arm_extendqisi2addsi): Likewise. | |
43538 | ||
43539 | 2003-12-31 Mark Mitchell <mark@codesourcery.com> | |
43540 | ||
43541 | Revert this change: | |
43542 | * config/arm/arm.h (THUMB_LEGTITIMIZE_RELOAD_ADDRESS): Reload REG | |
43543 | + REG addressing modes. | |
43544 | ||
43545 | * config/arm/arm.h (THUMB_LEGTITIMIZE_RELOAD_ADDRESS): Reload REG | |
43546 | + REG addressing modes. | |
43547 | ||
43548 | 2003-12-30 Mark Mitchell <mark@codesourcery.com> | |
43549 | ||
43550 | * config/arm/arm.h (THUMB_LEGITIMATE_CONSTANT_P): Accept | |
43551 | CONSTANT_P_RTX. | |
43552 | ||
43553 | 2003-30-12 Paul Brook <paul@codesourcery.com> | |
43554 | ||
43555 | * longlong.h: protect arm inlines with !defined (__thumb__) | |
43556 | ||
43557 | 2003-30-12 Paul Brook <paul@codesourcery.com> | |
43558 | ||
43559 | * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Always define __arm__. | |
43560 | ||
43561 | 2003-12-30 Nathan Sidwell <nathan@codesourcery.com> | |
43562 | ||
43563 | * builtins.c (expand_builtin_apply_args_1): Fix typo in previous | |
43564 | change. | |
43565 | ||
43566 | 2003-12-29 Nathan Sidwell <nathan@codesourcery.com> | |
43567 | ||
43568 | * builtins.c (expand_builtin_apply_args_1): Add pretend args size | |
43569 | to the virtual incoming args pointer for downward stacks. | |
43570 | ||
43571 | 2003-12-29 Paul Brook <paul@codesourcery.com> | |
43572 | ||
43573 | * config/arm/arm-cores.def: Add cost function. | |
43574 | * config/arm/arm.c (arm_*_rtx_costs): New functions. | |
43575 | (arm_rtx_costs): Remove | |
43576 | (struct processors): Add rtx_costs field. | |
43577 | (all_cores, all_architectures): Ditto. | |
43578 | (arm_override_options): Set targetm.rtx_costs. | |
43579 | (thumb_rtx_costs): New function. | |
43580 | (arm_rtx_costs_1): Remove cases handled elsewhere. | |
43581 | * config/arm/arm.h (processor_type): Add COSTS parameter. | |
43582 | ||
43583 | 2003-12-29 Nathan Sidwell <nathan@codesourcery.com> | |
43584 | ||
43585 | * config/arm/arm.md (generic_sched): arm926 has its own scheduler. | |
43586 | (arm926ejs.md): Include it. | |
43587 | * config/arm/arm926ejs.md: New pipeline description. | |
43588 | ||
43589 | 2003-12-24 Paul Brook <paul@codesourcery.com> | |
43590 | ||
43591 | * config/arm/arm.c (arm_arch6j): New variable. | |
43592 | (arm_override_options): Set it. | |
43593 | (arm_emit_extendsi): New function. | |
43594 | * config/arm/arm-protos.h (arm_emit_extendsi): Add prototype. | |
43595 | * config/arm/arm.h (arm_arch6j): Declare. | |
43596 | * config/arm/arm.md: Add sign/zero extend insns. | |
43597 | ||
43598 | 2003-12-23 Paul Brook <paul@codesourcery.com> | |
43599 | ||
43600 | * config/arm/arm.c (all_architectures): Add armv6. | |
43601 | * doc/invoke.texi: Document it. | |
43602 | ||
43603 | 2003-12-19 Paul Brook <paul@codesourcery.com> | |
43604 | ||
43605 | * config/arm/arm.md: Add load1 and load_byte "type" attrs. Modify | |
43606 | insn patterns to match. | |
43607 | * config/arm/arm-generic.md: Ditto. | |
43608 | * config/arm/cirrus.md: Ditto. | |
43609 | * config/arm/fpa.md: Ditto. | |
43610 | * config/amm/iwmmxt.md: Ditto. | |
43611 | * config/arm/arm1026ejs.md: Ditto. | |
43612 | * config/arm/arm1135jfs.md: Ditto. Add insn_reservation and bypasses | |
43613 | for 11_loadb. | |
43614 | ||
43615 | 2003-12-18 Nathan Sidwell <nathan@codesourcery.com> | |
43616 | ||
43617 | * config/arm/arm-protos.h (arm_no_early_alu_shift_value_dep): Declare. | |
43618 | * config/arm/arm.c (arm_adjust_cost): Check shift cost for | |
43619 | TYPE_ALU_SHIFT and TYPE_ALU_SHIFT_REG. | |
43620 | (arm_no_early_store_addr_dep, arm_no_early_alu_shift_dep, | |
43621 | arm_no_early_mul_dep): Correctly deal with conditional execution, | |
43622 | parallels and single shift operations. | |
43623 | (arm_no_early_alu_shift_value_dep): Define. | |
43624 | * arm.md (attr type): Replace 'normal' with 'alu', | |
43625 | 'alu_shift' and 'alu_shift_reg'. | |
43626 | (attr core_cycles): Adjust. | |
43627 | (*addsi3_carryin_shift, andsi_not_shiftsi_si, *arm_shiftsi3, | |
43628 | *shiftsi3_compare0, *notsi_shiftsi, *notsi_shiftsi_compare0, | |
43629 | *not_shiftsi_compare0_scratch, *cmpsi_shiftsi, *cmpsi_shiftsi_swp, | |
43630 | *cmpsi_neg_shiftsi, *arith_shiftsi, *arith_shiftsi_compare0, | |
43631 | *arith_shiftsi_compare0_scratch, *sub_shiftsi, | |
43632 | *sub_shiftsi_compare0, *sub_shiftsi_compare0_scratch, | |
43633 | *if_shift_move, *if_move_shift, *if_shift_shift): Set type | |
43634 | attribute appropriately. | |
43635 | * config/arm/arm1026ejs.md (alu_op): Adjust. | |
43636 | (alu_shift_op, alu_shift_reg_op): New. | |
43637 | * config/arm/arm1136.md: Add better bypasses for early | |
43638 | registers. Remove load[234] and store[234] bypasses. | |
43639 | (11_alu_op): Adjust. | |
43640 | (11_alu_shift_op, 11_alu_shift_reg_op): New. | |
43641 | ||
43642 | 2003-12-15 Nathan Sidwell <nathan@codesourcery.com> | |
43643 | ||
43644 | * config/arm/arm-protos.h (arm_no_early_store_addr_dep, | |
43645 | arm_no_early_alu_shift_dep, arm_no_early_mul_dep): Declare. | |
43646 | * config/arm/arm.c (arm_no_early_store_addr_dep, | |
43647 | arm_no_early_alu_shift_dep, arm_no_early_mul_dep): Define. | |
43648 | * config/arm/arm1026ejs.md: Add load-store bypass. | |
43649 | * config/arm/arm1136jfs.md (11_alu_op): Take 2 cycles. | |
43650 | Add bypasses between instructions. | |
43651 | ||
43652 | 2003-12-10 Paul Brook <paul@codesourcery.com> | |
43653 | ||
43654 | * config/arm/arm.c (arm_fpu_model): New variable. | |
43655 | (arm_fload_abi): New variable. | |
43656 | (target_fpe_name): Rename from target_fp_name. | |
43657 | (target_fpu_name): New variable. | |
43658 | (arm_is_cirrus): Remove. | |
43659 | (fpu_desc): New struct. | |
43660 | (all_fpus): Define. | |
43661 | (pf_model_for_fpu): Define. | |
43662 | (all_loat_abis): Define. | |
43663 | (arm_override_options): Set fp arch flags based on -mfpu= | |
43664 | and -float-abi=. | |
43665 | (FIRST_FPA_REGNUM): Rename from FIRST_ARM_FP_REGNUM. | |
43666 | (LAST_FPA_REGNUM): Rename from LAST_ARM_FP_REGNUM. | |
43667 | (*): Use new TARGET_* flags. | |
43668 | * config/arm/arm.h (TARGET_ANY_HARD_FLOAT): Remove. | |
43669 | (TARGET_HARD_FLOAT): No longer implies TARGET_FPA. | |
43670 | (TARGET_SOFT_FLOAT): Ditto. | |
43671 | (TARGET_SOFT_FLOAT_ABI): New. | |
43672 | (TARGET_MAVERICK): Rename from TARGET_CIRRUS. No longer implies | |
43673 | TARGET_HARD_FLOAT. | |
43674 | (TARGET_VFP): No longer implies TARGET_HARD_FLOAT. | |
43675 | (TARGET_OPTIONS): Add -mfpu=. | |
43676 | (FIRST_FPA_REGNUM): Rename from FIRST_ARM_FP_REGNUM. | |
43677 | (LAST_FPA_REGNUM): Rename from LAST_ARM_FP_REGNUM. | |
43678 | (arm_pf_model): Define. | |
43679 | (arm_float_abi_type): Define. | |
43680 | (fputype): Add FPUTYPE_VFP. Change SOFT_FPA->NONE | |
43681 | * config/arm/arm.md: Use new TARGET_* flags. | |
43682 | * config/arm/cirrus.md: Ditto. | |
43683 | * config/arm/fpa.md: Ditto. | |
43684 | * config/arm/elf.h (ASM_SPEC): Pass -mfloat-abi= and -mfpu=. | |
43685 | * config/arm/semi.h (ASM_SPEC): Ditto. | |
43686 | * config/arm/netbsd-elf.h (SUBTARGET_ASM_FLOAT_SPEC): Specify vfp. | |
43687 | (FPUTYPE_DEFAULT): Set to VFP. | |
43688 | * doc/invoke.texi: Document -mfpu= and -mfloat-abi=. | |
43689 | ||
43690 | 2003-11-22 Phil Edwards <phil@codesourcery.com> | |
43691 | ||
43692 | PR target/12476 | |
e8366202 | 43693 | * config/arm/arm.c (arm_output_mi_thunk): In Thumb mode, use |
3eb54e5f ILT |
43694 | 'bx' instead of 'b' to avoid branch range restrictions. Output |
43695 | the thunk immediately before the thunked-to function. | |
e8366202 | 43696 | * config/arm/arm.h (ARM_DECLARE_FUNCTION_NAME): Do not emit |
3eb54e5f ILT |
43697 | .thumb_func if a thunk is being generated. Emit .code 16 along |
43698 | with .thumb_func if a thunk is not being generated. | |
43699 | ||
43700 | 2003-11-15 Nicolas Pitre <nico@cam.org> | |
43701 | ||
43702 | * config/arm/arm.md (ashldi3, arm_ashldi3_1bit, ashrdi3, | |
43703 | arm_ashrdi3_1bit, lshrdi3, arm_lshrdi3_1bit): New patterns. | |
43704 | * config/arm/iwmmxt.md (ashrdi3_iwmmxt): Renamed from ashrdi3. | |
43705 | (lshrdi3_iwmmxt): Renamed from lshrdi3. | |
43706 | * config/arm/arm.c (IWMMXT_BUILTIN2): Renamed argument accordingly. | |
43707 | ||
43708 | 2003-11-12 Steve Woodford <scw@wasabisystems.com> | |
43709 | Ian Lance Taylor <ian@wasabisystems.com> | |
43710 | ||
43711 | * config/arm/lib1funcs.asm (ARM_DIV_BODY, ARM_MOD_BODY): Add new | |
43712 | code for __ARM_ARCH__ >= 5 && ! defined (__OPTIMIZE_SIZE__). | |
43713 | ||
43714 | 2003-11-05 Phil Edwards <phil@codesourcery.com> | |
43715 | ||
e8366202 MS |
43716 | * config/arm/arm.md (insn): Add new V6 instruction names. |
43717 | (generic_sched): New attr. | |
43718 | * config/arm/arm-generic.md: Use generic_sched here. | |
43719 | * config/arm/arm1026ejs.md: Do not model fetch/issue/decode | |
3eb54e5f | 43720 | stages of pipeline. Adjust latency counts accordingly. |
e8366202 | 43721 | * config/arm/arm1136jfs.md: New file. |
3eb54e5f ILT |
43722 | |
43723 | 2003-10-28 Mark Mitchell <mark@codesourcery.com> | |
43724 | ||
43725 | * config/arm/arm.h (processor_type): New enumeration type. | |
43726 | (CPP_ARCH_DEFAULT_SPEC): Set appropriately for ARM 926EJ-S, | |
43727 | ARM1026EJ-S, ARM1136J-S, and ARM1136JF-S processor cores. | |
43728 | (CPP_CPU_ARCH_SPEC): Likewise. | |
43729 | * config/arm/arm.c (arm_tune): New variable. | |
43730 | (all_cores): Use cores.def. | |
43731 | (all_architectures): Add representative processor. | |
43732 | (arm_override_options): Restructure way in which tuning | |
43733 | information is deduced. | |
43734 | * arm.md: Update "insn" and "type" attributes throughout. | |
43735 | (insn): New attribute. | |
43736 | (type): Compute "mult" from "insn" attribute. Add load2, | |
43737 | load3, load4 alternatives. | |
43738 | (arm automaton): Move to arm-generic.md. | |
43739 | * config/arm/arm-cores.def: New file. | |
43740 | * config/arm/arm-generic.md: Likewise. | |
43741 | * config/arm/arm1026ejs.md: Likewise. | |
43742 | ||
43743 | 2004-02-03 Eric Botcazou <ebotcazou@libertysurf.fr> | |
43744 | ||
43745 | * doc/invoke.texi (SPARC options): Remove -mflat and | |
43746 | all -mxxx (xxx:chip) options. | |
43747 | * config/sparc/aout.h (DBX_REGISTER_NUMBER): Delete. | |
43748 | * config/sparc/litecoff.h (DBX_REGISTER_NUMBER): Likewise. | |
43749 | * config/sparc/netbsd-elf.h (DBX_REGISTER_NUMBER): Likewise. | |
43750 | * config/sparc/sol2.h (DBX_REGISTER_NUMBER): Likewise. | |
43751 | * config/sparc/sparc-protos.h: Delete sparc_flat_* prototypes. | |
43752 | * config/sparc/sparc.c: Likewise. | |
43753 | (sparc_output_function_prologue): Remove TARGET_FLAT handling. | |
43754 | (sparc_nonflat_function_prologue): Rename into sparc_function_prologue. | |
43755 | (sparc_output_function_epilogue): Remove TARGET_FLAT handling. | |
43756 | (sparc_nonflat_function_epilogue): Rename into sparc_function_epilogue. | |
43757 | (struct sparc_frame_info, current_frame_info, zero_frame_info): Delete. | |
43758 | (sparc_flat_must_save_register_p): Likewise. | |
43759 | (sparc_flat_compute_frame_size): Likewise. | |
43760 | (sparc_flat_save_restore): Likewise. | |
43761 | (sparc_flat_function_prologue): Likewise. | |
43762 | (sparc_flat_function_epilogue): Likewise. | |
43763 | (sparc_flat_epilogue_delay_slots): Likewise. | |
43764 | (sparc_flat_eligible_for_epilogue_delay): Likewise. | |
43765 | (sparc_function_ok_for_sibcall): Remove TARGET_FLAT handling. | |
43766 | * config/sparc/sparc.h (MASK_FLAT, TARGET_FLAT): Delete. | |
43767 | (TARGET_SWITCHES): Remove -mflat and all -mxxx (xxx:chip) options. | |
43768 | (SPARC_INCOMING_INT_ARG_FIRST): Remove TARGET_FLAT handling. | |
43769 | (CONDITIONAL_REGISTER_USAGE): Likewise. | |
43770 | (FRAME_POINTER_REQUIRED): Likewise. | |
43771 | (INITIAL_ELIMINATION_OFFSET): Likewise. | |
43772 | (BASE_RETURN_VALUE_REG): Likewise. | |
43773 | (BASE_OUTGOING_VALUE_REG): Likewise. | |
43774 | (BASE_PASSING_ARG_REG): Likewise. | |
43775 | (BASE_INCOMING_ARG_REG): Likewise. | |
43776 | (INCOMING_REGNO): Likewise. | |
43777 | (OUTGOING_REGNO): Likewise. | |
43778 | (LOCAL_REGNO): Likewise. | |
43779 | (DELAY_SLOTS_FOR_EPILOGUE): Likewise. | |
43780 | (ELIGIBLE_FOR_EPILOGUE_DELAY): Likewise. | |
43781 | (EPILOGUE_USES): Likewise. | |
43782 | * config/sparc/sparc.md ("isa" attribute): Change "v6" into "v7". | |
43783 | ("flat" attribute): Delete. | |
43784 | (do_builtin_setjmp_setup): Remove TARGET_FLAT and "flat" attribute | |
43785 | handling. | |
43786 | (call followed by jump define_peephole's): Delete. | |
43787 | (exception_receiver): Likewise. | |
43788 | (builtin_setjmp_receiver): Likewise. | |
43789 | * config/sparc/t-sparclite (MULTILIB_OPTIONS): Remove -mflat. | |
43790 | ||
43791 | 2004-02-03 Paolo Bonzini <bonzini@gnu.org> | |
43792 | ||
43793 | PR c/11658 | |
43794 | PR c/13994 | |
43795 | * Makefile.in (c-parse.o, c-convert.o, c-typeck.o): Depend | |
43796 | on langhooks.h. | |
43797 | * objc/Make-lang.in (objc-parse.o): Depend on langhooks.h. | |
43798 | * c-parse.in, c-convert.c, c-typeck.c, objc/objc-act.c: | |
43799 | Include langhooks.h. Replace c_common_truthvalue_conversion | |
43800 | with the truthvalue_conversion language hook throughout. | |
43801 | (expr_no_commas): Call default_conversion before save_expr | |
43802 | for the first term of the production 'x ? : y'. | |
43803 | * c-common.c (c_common_truthvalue_conversion): Remove | |
43804 | obsolete block. Invoke recursively the hook instead | |
43805 | of this function. | |
43806 | * c-convert.c (convert): handle ERROR_MARK_NODE. | |
43807 | * c-typeck.c (build_binary_op): handle ERROR_MARK_NODE | |
43808 | returned by the truthvalue_conversion language hook. | |
43809 | * c-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Use | |
43810 | c_objc_common_truthvalue_conversion. | |
43811 | * c-objc-common.c (c_objc_common_truthvalue_conversion): | |
43812 | New function. | |
43813 | * c-tree.h (c_objc_common_truthvalue_conversion): Declare it. | |
43814 | * objc/objc-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Use | |
43815 | c_objc_common_truthvalue_conversion. | |
43816 | ||
43817 | 2004-02-03 Kazu Hirata <kazu@cs.umass.edu> | |
43818 | ||
43819 | * config/c4x/c4x.h (FUNCTION_VALUE): Use gen_rtx_REG instead | |
43820 | of gen_rtx. | |
43821 | (LIBCALL_VALUE): Likewise. | |
43822 | * config/ip2k/ip2k.c (mdr_try_propagate_clr_sequence): Use | |
43823 | gen_rtx_CC0 instead of gen_rtx. | |
43824 | * config/m68hc11/m68hc11.c (m68hc11_emit_libcall): Use | |
43825 | gen_rtx_fmt_e and gen_rtx_fmt_ee instead of gen_rtx. | |
43826 | (m68hc11_expand_compare): Use gen_rtx_fmt_ee instead of | |
43827 | gen_rtx. | |
43828 | (m68hc11_emit_logical): Likewise. | |
43829 | ||
43830 | 2004-02-03 Kazu Hirata <kazu@cs.umass.edu> | |
43831 | ||
43832 | * config/alpha/alpha.c, config/arm/arm.c, config/c4x/c4x.c, | |
43833 | config/fr30/fr30.md, config/frv/frv.c, config/frv/frv.md, | |
43834 | config/h8300/h8300.c, config/ia64/ia64.c, config/ip2k/ip2k.md, | |
43835 | config/m32r/m32r.md, config/m68hc11/m68hc11.c, | |
43836 | config/mips/mips.md, config/mmix/mmix.c, | |
43837 | config/mn10300/mn10300.c, config/mn10300/mn10300.md, | |
43838 | config/ns32k/ns32k.c, config/pa/pa.md, config/pdp11/pdp11.c, | |
43839 | config/rs6000/altivec.md, config/s390/s390.c, | |
43840 | config/s390/s390.h, config/s390/s390.md, config/sh/sh.c, | |
43841 | config/sh/sh.h, config/sh/sh.md, config/stormy16/stormy16.c: | |
43842 | Use const0_rtx instead of GEN_INT (0). Do the same for other | |
43843 | constants that are readily available. | |
43844 | ||
43845 | 2004-02-03 Kazu Hirata <kazu@cs.umass.edu> | |
43846 | ||
43847 | * doloop.c, optabs.c, regmove.c, sched-deps.c, | |
43848 | config/i386/i386.c, config/i386/i386.md: Use const0_rtx | |
43849 | instead of GEN_INT (0). Do the same for other constants that | |
43850 | are readily available. | |
43851 | ||
43852 | 2004-02-03 Kazu Hirata <kazu@cs.umass.edu> | |
43853 | ||
43854 | * combine.c (simplify_set): Use gen_rtx_fmt_e instead of | |
43855 | gen_rtx. | |
43856 | * emit-rtl.c (init_emit_once): Use gen_rtx_PC and gen_rtx_CC0 | |
43857 | instead of gen_rtx. | |
43858 | * reload1.c (init_elim_table): Use gen_rtx_fmt_e instead of | |
43859 | gen_rtx. | |
43860 | * config/ns32k/ns32k.md (udivmodhi4): Use gen_rtx_IOR and | |
43861 | gen_rtx_ASHIFT instead of gen_rtx. | |
43862 | (udivmodqi4): Likewise. | |
43863 | ||
43864 | 2004-02-02 Richard Henderson <rth@redhat.com> | |
43865 | ||
43866 | PR target/13789 | |
43867 | * expr.c (store_expr): Use force_operand before emit_move_insn. | |
43868 | ||
43869 | 2004-02-02 Jeff Law <law@redhat.com> | |
43870 | Roger Sayle <roger@eyesopen.com> | |
43871 | ||
43872 | * tree.c (commutative_tree_code, associative_tree_code): New | |
43873 | functions. | |
43874 | (iterative_hash_expr): Use commutative_tree_code. | |
43875 | * tree.h (commutative_tree_code, associative_tree_code): Declare. | |
43876 | * fold-const.c (operand_equal_p): Use commutative_tree_code | |
43877 | rather than inlining the commutativity check. | |
43878 | (fold): Likewise. | |
43879 | ||
43880 | 2004-02-02 Kazu Hirata <kazu@cs.umass.edu> | |
43881 | ||
43882 | * system.h (FUNCTION_ARG_KEEP_AS_REFERENCE): Poison. | |
43883 | * config/frv/frv-protos.h: Remove the prototype for | |
43884 | frv_function_arg_keep_as_reference. | |
43885 | * config/frv/frv.c (frv_function_arg_keep_as_reference): | |
43886 | Remove. | |
43887 | * config/frv/frv.h (FUNCTION_ARG_KEEP_AS_REFERENCE): Likewise. | |
43888 | * config/stormy16/stormy16.h: Remove the commented-out | |
43889 | definition of FUNCTION_ARG_KEEP_AS_REFERENCE. | |
43890 | ||
43891 | 2004-02-03 Alan Modra <amodra@bigpond.net.au> | |
43892 | ||
43893 | PR target/13914 | |
43894 | * config/rs6000/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Use ap | |
43895 | for retaddr_column. | |
43896 | ||
43897 | 2004-02-02 Kazu Hirata <kazu@cs.umass.edu> | |
43898 | ||
43899 | * genemit.c (gen_exp): Generate gen_rtx_fmt_e* instead of | |
43900 | gen_rtx. | |
43901 | ||
43902 | 2004-02-02 Eric Christopher <echristo@redhat.com> | |
43903 | Zack Weinberg <zack@codesourcery.com> | |
43904 | ||
43905 | * c-opts.c (c_common_handle_option): Add -finput-charset. | |
43906 | * c.opt: Ditto. | |
43907 | * cppcharset.c (one_iso88591_to_utf8): Remove. | |
43908 | (convert_iso88591_utf8): Ditto. | |
43909 | (conversion_tab): Remove 8859-1 converter. | |
43910 | (_cpp_input_to_utf8): Remove. | |
43911 | (_cpp_init_iconv_buffer): Ditto. | |
43912 | (_cpp_close_iconv_buffer): Ditto. | |
43913 | (_cpp_convert_input): New function. | |
43914 | (_cpp_default_encoding): Ditto. | |
43915 | * cpphash.h: Add/remove prototypes for above. | |
43916 | * cppfiles.c (read_file_guts): Use _cpp_convert_input. | |
43917 | * cppinit.c (cpp_create_reader): Use _cpp_default_encoding | |
43918 | for narrow execution and input character sets. | |
43919 | * cpplib.c (cpp_push_buffer): Delete uses of removed functions. | |
43920 | * doc/cppopts.texi: Document -finput-charset. | |
43921 | ||
43922 | 2004-02-02 David Edelsohn <edelsohn@gnu.org> | |
43923 | ||
43924 | * rtlanal.c (refers_to_regno_p): Test regno, not inner_regno, | |
43925 | against FIRST_PSEUDO_REGISTER. | |
43926 | ||
43927 | 2004-02-02 Eric Botcazou <ebotcazou@libertysurf.fr> | |
43928 | ||
43929 | * doc/invoke.texi (SPARC options): Further improve. | |
43930 | ||
43931 | 2004-02-02 Kazu Hirata <kazu@cs.umass.edu> | |
43932 | ||
43933 | * config/arm/arm.md, config/c4x/c4x.md, config/cris/cris.md, | |
43934 | config/h8300/h8300.c, config/ip2k/ip2k.md, | |
43935 | config/iq2000/iq2000.c, config/mips/mips.c, | |
43936 | config/rs6000/rs6000.c, config/rs6000/rs6000.md, | |
43937 | config/sh/sh.c, config/sh/sh.md, config/stormy16/stormy16.c, | |
43938 | config/v850/v850.md: Fix indentation. | |
43939 | ||
43940 | 2004-02-02 Eric Botcazou <ebotcazou@libertysurf.fr> | |
43941 | ||
43942 | * config/sparc/sparc.c (function_arg_slotno): Align TImode | |
43943 | arguments on a 16-byte boundary in the parameter array if ARCH64. | |
43944 | Split handling of TFmode. | |
43945 | ||
43946 | 2004-02-02 Paolo Bonzini <bonzini@gnu.org> | |
43947 | ||
43948 | * rtlanal.c (reg_overlap_mentioned_p) [!ENABLE_CHECKING]: | |
43949 | Don't test CONSTANT_P (x). | |
43950 | (reg_overlap_mentioned_p): Merge check for STRICT_LOWPART, | |
43951 | ZERO_EXTRACT, SIGN_EXTRACT with the switch statement. | |
43952 | Fix misindentation. | |
43953 | ||
43954 | 2004-02-02 Eric Botcazou <ebotcazou@libertysurf.fr> | |
43955 | ||
43956 | * doc/invoke.texi (SPARC options): Document that -mflat is deprecated. | |
43957 | ||
43958 | 2004-02-02 Kazu Hirata <kazu@cs.umass.edu> | |
43959 | ||
43960 | * config/arc/arc.md, config/arm/arm.c, config/arm/arm.md, | |
43961 | config/c4x/c4x.c, config/c4x/c4x.md, config/cris/cris.md, | |
43962 | config/frv/frv.c, config/h8300/h8300.c, config/ip2k/ip2k.md, | |
43963 | config/iq2000/iq2000.c, config/m32r/m32r.c, | |
43964 | config/mcore/mcore.c, config/mips/mips.c, config/mmix/mmix.md, | |
43965 | config/mn10300/mn10300.c, config/rs6000/rs6000.c, | |
43966 | config/rs6000/rs6000.md, config/sh/sh.c, config/sh/sh.md, | |
43967 | config/stormy16/stormy16.c, config/v850/v850.md, | |
43968 | config/xtensa/xtensa.c: Replace gen_rtx with gen_rtx_fmt_e*. | |
43969 | ||
43970 | 2004-02-01 Kazu Hirata <kazu@cs.umass.edu> | |
43971 | ||
43972 | * config/mcore/mcore.c (block_move_sequence): Replace | |
43973 | gen_rtx_CONST_INT with GEN_INT. | |
43974 | ||
43975 | 2004-02-02 Jan Hubicka <jh@suse.cz> | |
43976 | ||
43977 | * alias.c (record_set): Use hard_regno_nregs. | |
43978 | * bt-load.c (find_btr_reference, note_btr_set): Likewise. | |
43979 | * builtins.c (apply_args_size): Likewise. | |
43980 | * caller-save.c (setup_save_areas, save_call_clobbered_regs, | |
43981 | mark_set_regs, add_stored_regs, mark_referenced_regs, | |
43982 | insert_restore, insert_save, insert_one_insn): Likewise. | |
43983 | * cfgcleanup.c: Include regs.h | |
43984 | (mark_effect, mentions_nonequal_regs): Likewise. | |
43985 | * cfgrtl.c (mark_killed_regs): Likewise | |
43986 | * combine.c (update_table_tick, record_value_for_reg, | |
43987 | record_dead_and_set_regs, get_last_value_validate, use_crosses_set_p, | |
43988 | reg_dead_at_p_1, reg_dead_at_p, mark_used_regs_combine, move_deaths, | |
43989 | reg_bitfield_target_p, distribute_notes): Likewise. | |
43990 | * cse.c (mention_regs, insert, invalidate, invalidate_for_call, | |
43991 | exp_equiv_p, cse_insn): Likewise. | |
43992 | * cselib.c (cselib_lookup): Likewise. | |
43993 | (cselib_invalidate_regno, cselib_record_set): Likewise. | |
43994 | * df.c (df_ref_record): Likewise. | |
43995 | * dwarf2out.c (reg_loc_descriptor, multiple_reg_loc_descriptor): | |
43996 | Likewise. | |
43997 | * flow.c (mark_reg, insn_dead_p, mark_set_1, mark_used_reg, | |
43998 | count_or_remove_death_notes_bb): Likewise. | |
43999 | * function.c (aggregate_value_p, keep_stack_depressed): Likewise. | |
44000 | * gloval.c (global_alloc, find_reg, mark_reg_store, mark_reg_conflicts, | |
44001 | mark_reg_death, set_preference, reg_becomes_live, reg_dies): Likewise. | |
44002 | * integrate.c (mark_stores): Likewise. | |
44003 | * jump.c (delete_prior_computation): Likewise. | |
44004 | * lcm.c (reg_dies, reg_becomes_live): Likewise. | |
44005 | * local-alloc.c (combine_regs, find_free_reg, post_mark_life): Likewise. | |
44006 | * loop.c (LOOP_REGNO_NREGS): Likewise. | |
44007 | * postreload.c (reload_combine, reload_combine_note_store, | |
44008 | reload_combine_note_use, reload_cse_move2add, move2add_note_store): Likewise. | |
44009 | * ra-colorize.c (combine, color_usable_p, get_free_reg, | |
44010 | calculate_dont_begin, calculate_dont_begin, colorize_one_web, | |
44011 | try_recolor_web, insert_coalesced_conflicts, check_colors, | |
44012 | break_precolored_alias): Likewise. | |
44013 | * ra-debug.c: Include regs.h | |
44014 | (ra_print_rtx_object): Likewise. | |
44015 | * ra-rewrite (choose_spill_colors): Likewise. | |
44016 | (spill_same_color_p, update_spill_colors, spill_is_free): Likewise. | |
44017 | * ra.c (init_ra): Likewise. | |
44018 | * recog.c (reg_fits_class_p, peep2_reg_dead_p, | |
44019 | peep2_find_free_register): Likewise. | |
44020 | * reg-stack.c (subst_stack_regs_pat, convert_regs_exit): Likewise. | |
44021 | * regclass.c (hard_regno_nregs): New array. | |
44022 | (init_reg_modes_once): Initialize it. | |
44023 | (choose_hard_reg_mode): Use it. | |
44024 | (record_reg_classes): Likewise. | |
44025 | * regmove.c (mark_flags_life_zones): Likewise. | |
44026 | * regrename.c (note_sets, clear_dead_regs, regrename_optimize, | |
44027 | scan_rtx_reg, dump_def_use_chain, kill_value, set_value_regno, | |
44028 | copy_value, maybe_mode_change, find_oldest_value_reg, | |
44029 | copyprop_hardreg_forward_1): | |
44030 | * regs.h (hard_regno_nregs): Declare. | |
f6d95b1e | 44031 | * reload.c (reload_inner_reg_of_subreg): Use it. |
3eb54e5f ILT |
44032 | (push_reload, combine_reloads, find_dummy_reload, |
44033 | hard_reg_set_here_p, operands_match_p, decompose, find_reloads, | |
44034 | refers_to_regno_for_reload_p, find_equiv_reg, regno_clobbered_p, | |
44035 | reload_adjust_reg_for_mode): Likewise. | |
44036 | * reload1.c (compute_use_by_pseudos, count_pseudo, | |
44037 | count_spilled_pseudo, find_reg, find_reload_regs, mark_home_live, | |
44038 | spill_hard_reg, forget_old_reloads_1, mark_reload_reg_in_use, | |
44039 | clear_reload_reg_in_use, reload_reg_free_for_value_p, free_for_value_p | |
44040 | allocate_reload_reg, choose_reload_regs, emit_reload_insns, | |
44041 | delete_output_reload): Likewise. | |
44042 | * resource.c (update_live_status, mark_referenced_resources, | |
44043 | mark_set_resources, mark_target_live_regs): Likewise. | |
e8366202 | 44044 | * rtlanal.c: Include regs.h |
3eb54e5f ILT |
44045 | (refers_to_regno_p, reg_overlap_mentioned_p, dead_or_set_p, |
44046 | dead_or_set_regno_p, find_regno_note, find_reg_fusage, | |
44047 | subreg_regno_offset, subreg_offset_representable_p, | |
44048 | hoist_test_store): Likewise. | |
44049 | * sched-deps.c (sched_analyze_1, sched_analyze_2): Likewise. | |
44050 | * sched-rgn.c (check_live_1, update_live_1): Likewise. | |
44051 | * stmt.c: Include regs.h | |
44052 | (decl_conflicts_with_clobbers_p): Likewise. | |
44053 | * varasm.c (make_decl_rtl): Likewise. | |
44054 | * Makefile.in (cfgcleanup.o, rtlanal.o, ra-debug.o): Add regs.h dependnecy. | |
44055 | ||
44056 | 2004-02-01 Kazu Hirata <kazu@cs.umass.edu> | |
44057 | ||
44058 | * config/arm/arm.c, config/arm/arm.h, config/arm/arm.md, | |
44059 | config/arm/linux-gas.h, config/arm/netbsd-elf.h, | |
44060 | config/arm/netbsd.h, config/arm/pe.c, config/avr/avr.c, | |
44061 | config/avr/avr.h, config/avr/avr.md, config/c4x/c4x.h, | |
44062 | config/cris/cris.h, config/fr30/fr30.h, config/frv/frv.c, | |
44063 | config/frv/frv.h, config/ip2k/ip2k.c, config/iq2000/iq2000.c, | |
44064 | config/iq2000/iq2000.h, config/m32r/m32r.c, | |
44065 | config/m68hc11/m68hc11.c, config/m68hc11/m68hc11.h, | |
44066 | config/m68hc11/m68hc11.md, config/m68k/m68k.md, | |
44067 | config/mcore/mcore.c, config/mcore/mcore.h, | |
44068 | config/mcore/mcore.md, config/mips/mips.c, | |
44069 | config/ns32k/ns32k.h, config/ns32k/ns32k.md, | |
44070 | config/rs6000/rs6000.c, config/s390/s390.c, | |
44071 | config/s390/s390.md, config/sparc/sparc.c, config/v850/v850.c, | |
44072 | config/xtensa/xtensa.h, config/xtensa/xtensa.md: Replace | |
44073 | "gen_rtx (FOO, " with "gen_rtx_FOO (". | |
44074 | ||
44075 | 2004-02-01 Kazu Hirata <kazu@cs.umass.edu> | |
44076 | ||
44077 | * config/h8300/h8300.md (two peephole2's): New. | |
44078 | ||
44079 | 2004-02-01 Eric Botcazou <ebotcazou@libertysurf.fr> | |
44080 | ||
44081 | * config/sparc/sol2-bi.h: Handle TARGET_CPU_ultrasparc3. | |
44082 | (CPP_CPU_SPEC): Handle -mcpu=ultrasparc3. | |
44083 | (ASM_CPU_SPEC): Likewise | |
44084 | * config/sparc/sol2.h: Handle TARGET_CPU_ultrasparc3. | |
44085 | (ASM_CPU_SPEC): Remove -mcpu=v8plus. Handle -mcpu=ultrasparc3. | |
44086 | ||
44087 | 2004-02-01 Roger Sayle <roger@eyesopen.com> | |
44088 | ||
44089 | * builtins.c (expand_builtin_pow): If flag_unsafe_math_optimizations | |
44090 | isn't set, don't call expand_builtin_mathfn_2 to use the pow optab. | |
44091 | (expand_builtin): Always call expand_builtin_pow. | |
44092 | ||
44093 | 2004-02-01 Roger Sayle <roger@eyesopen.com> | |
44094 | ||
44095 | * builtins.def (BUILT_IN_SIGNBIT, BUILT_IN_SIGNBITF, | |
44096 | BUILT_IN_SIGNBITL): New GCC builtins. | |
44097 | * builtins.c (expand_builtin_signbit): New function to RTL expand | |
44098 | calls to signbit, signbitf and signbitl as inline intrinsics. | |
44099 | (expand_builtin): Call expand_builtin_signbit for BUILT_IN_SIGNBIT*. | |
44100 | (fold_builtin_signbit): New function to perform constant folding | |
44101 | of signbit, signbitf and signbitl. | |
44102 | (fold_builtin): Call fold_builtin_signbit for BUILT_IN_SIGNBIT*. | |
44103 | ||
44104 | * doc/extend.texi: Document new signbit{,f,l} builtins. | |
44105 | ||
44106 | 2004-02-01 Richard Sandiford <rsandifo@redhat.com> | |
44107 | ||
44108 | * config/mips/mips.md (adddi3_internal_2): Remove superfluous %s. | |
44109 | ||
44110 | 2004-02-01 Chris Demetriou <cgd@broadcom.com> | |
44111 | ||
44112 | * config/mips/mips.h (PREDICATE_CODES): Remove entries for | |
44113 | "mips_const_double_ok" and "simple_memory_operand", which were | |
44114 | removed from the MIPS port with the mips-3_4-rewrite branch merge. | |
44115 | * config/mips/mips.c (mips16_lay_out_constants): Update comment | |
44116 | for removal of simple_memory_operand. | |
44117 | ||
44118 | 2004-01-31 Kazu Hirata <kazu@cs.umass.edu> | |
44119 | ||
44120 | * config/c4x/c4x.md: Use GEN_INT instead of | |
44121 | gen_rtx (CONST_INT, ...). | |
44122 | ||
44123 | 2004-01-31 Richard Henderson <rth@redhat.com> | |
44124 | ||
44125 | * varasm.c (output_constant_pool): Don't zap the pool. | |
44126 | ||
44127 | 2004-01-31 Kazu Hirata <kazu@cs.umass.edu> | |
44128 | ||
44129 | * genrecog.c (decision_type): Add DT_const_int. | |
44130 | (write_cond) [DT_const_int]: Print a comparison against small | |
44131 | constant. | |
44132 | (write_node): Simplify comparisons against small constants | |
44133 | before printing tests. | |
44134 | ||
44135 | 2004-01-31 Kazu Hirata <kazu@cs.umass.edu> | |
44136 | ||
44137 | * config/m32r/m32r.c (m32r_load_pic_register): Use GEN_INT | |
44138 | instead of gen_rtx_CONST_INT. | |
44139 | ||
44140 | 2004-01-31 Kazu Hirata <kazu@cs.umass.edu> | |
44141 | ||
44142 | * config/xtensa/xtensa.h (DYNAMIC_CHAIN_ADDRESS): Use GEN_INT | |
44143 | instead of gen_rtx_CONST_INT. | |
44144 | ||
44145 | 2004-01-31 Kazu Hirata <kazu@cs.umass.edu> | |
44146 | ||
44147 | * target-def.h (TARGET_STRICT_ARGUMENT_NAMING): Define as | |
44148 | hook_bool_CUMULATIVE_ARGS_false. | |
44149 | * targhooks.c (default_strict_argument_naming): Rename to | |
44150 | hook_bool_CUMULATIVE_ARGS_false. | |
44151 | * targhooks.h: Update the prototype for | |
44152 | default_strict_argument_naming. | |
44153 | ||
44154 | 2004-01-31 Kazu Hirata <kazu@cs.umass.edu> | |
44155 | ||
44156 | * config/sh/sh.c: Replace "gen_rtx (FOO, " with "gen_rtx_FOO (". | |
44157 | * config/sh/sh.h: Likewise. | |
44158 | * config/sh/sh.md: Likewise. | |
44159 | ||
44160 | 2004-01-31 Eric Botcazou <ebotcazou@libertysurf.fr> | |
44161 | ||
44162 | * doc/invoke.texi (SPARC options): Restructure and update. | |
44163 | ||
44164 | 2004-01-31 Kazu Hirata <kazu@cs.umass.edu> | |
44165 | ||
44166 | * system.h (PROMOTE_FUNCTION_ARGS, STRUCT_VALUE_INCOMING, and | |
44167 | STRICT_ARGUMENT_NAMING): Poison. | |
44168 | * target-def.h (TARGET_PROMOTE_FUNCTION_ARGS): Define as | |
44169 | hook_bool_tree_false. | |
44170 | * targhooks.c (default_promote_function_args): Remove. | |
44171 | (default_struct_value_rtx): Don't use STRUCT_VALUE_INCOMING. | |
44172 | Don't check incoming. | |
44173 | (default_strict_argument_naming): Don't use | |
44174 | STRICT_ARGUMENT_NAMING. | |
44175 | * targhooks.h: Remove the prototype for | |
44176 | default_promote_function_args. | |
44177 | ||
44178 | 2004-01-31 Kazu Hirata <kazu@cs.umass.edu> | |
44179 | ||
44180 | * config/i386/i386-protos.h: Remove the prototype for | |
44181 | ix86_setup_incoming_varargs. | |
44182 | * config/i386/i386.c (TARGET_SETUP_INCOMING_VARARGS): New. | |
44183 | (ix86_setup_incoming_varargs): Make it static. | |
44184 | * config/i386/i386.h (SETUP_INCOMING_VARARGS): Remove. | |
44185 | ||
44186 | 2004-01-31 Kazu Hirata <kazu@cs.umass.edu> | |
44187 | ||
44188 | * alloc-pool.c: Fix comment typos. | |
44189 | * builtin-types.def: Likewise. | |
44190 | * builtins.def: Likewise. | |
44191 | * c-pretty-print.c: Likewise. | |
44192 | * df.h: Likewise. | |
44193 | * reload1.c: Likewise. | |
44194 | ||
44195 | 2004-01-31 Kazu Hirata <kazu@cs.umass.edu> | |
44196 | ||
44197 | * doc/invoke.texi: Follow spelling conventions. | |
44198 | * doc/tm.texi: Likewise. | |
44199 | ||
44200 | 2004-01-31 Kazu Hirata <kazu@cs.umass.edu> | |
44201 | ||
44202 | * doc/install.texi: Fix typos. | |
44203 | * doc/invoke.texi: Likewise. | |
44204 | ||
44205 | 2004-01-31 Ulrich Weigand <uweigand@de.ibm.com> | |
44206 | ||
44207 | * config/s390/s390.c (s390_decompose_address): Do not treat virtual | |
44208 | registers as pointers. | |
44209 | * config/s390/s390.md ("*la_31" second peephole2): Fix incorrect mode. | |
44210 | ||
44211 | 2004-01-31 Paolo Bonzini <bonzini@gnu.org> | |
44212 | ||
44213 | * combine.c (cse_main): Set gen_lowpart to gen_lowpart_for_combine | |
44214 | and restore it to gen_lowpart_general on exit. | |
44215 | (gen_lowpart_for_combine): Adjust all callers to go through | |
44216 | gen_lowpart. | |
44217 | * cse.c (cse_main): Set gen_lowpart to gen_lowpart_if_possible | |
44218 | and restore it to gen_lowpart_general on exit. | |
44219 | (gen_lowpart_if_possible): Adjust all callers to go through | |
44220 | gen_lowpart. | |
44221 | * emit-rtl.c (gen_lowpart_general): New name of gen_lowpart. | |
44222 | (gen_lowpart): Declare as pointer to function, initialized to | |
44223 | gen_lowpart_general. | |
44224 | * rtl.h (gen_lowpart): Declare as pointer to function. | |
44225 | ||
44226 | 2004-01-31 Kazu Hirata <kazu@cs.umass.edu> | |
44227 | ||
44228 | * bt-load.c: Replace "gen_rtx (FOO, " with "gen_rtx_FOO (". | |
44229 | * calls.c: Likewise. | |
44230 | * emit-rtl.c: Likewise. | |
44231 | * function.c: Likewise. | |
44232 | * reload1.c: Likewise. | |
44233 | * config/i386/cygming.h: Likewise. | |
44234 | * config/i386/i386.c: Likewise. | |
44235 | * config/i386/winnt.c: Likewise. | |
44236 | ||
44237 | 2004-01-30 Dara Hazeghi <dhazeghi@yahoo.com> | |
44238 | ||
44239 | PR bootstrap/9249 | |
44240 | * doc/install.texi: document --enable-__cxa_atexit option. | |
44241 | * configure.ac: Disable __cxa_atexit if not supported. | |
44242 | * configure: Regenerate. | |
44243 | ||
44244 | 2004-01-30 Daniel Berlin <dberlin@dberlin.org> | |
44245 | ||
44246 | * ggc-zone.c (ggc_free): New function. | |
44247 | ||
44248 | 2004-01-30 Kazu Hirata <kazu@cs.umass.edu> | |
44249 | ||
44250 | alloc-pool.c, c-lex.c, c-pragma.h, c-semantics.c, cfghooks.c, | |
44251 | cfghooks.h, cfglayout.c, cfgloopmanip.c, debug.c, debug.h, | |
44252 | flow.c, genextract.c, ggc-common.c, ggc-page.c, ggc.h, | |
44253 | ifcvt.c, jump.c, loop-unswitch.c, timevar.c, timevar.def, | |
44254 | tree-optimize.c, vmsdbgout.c, config/fp-bit.c, | |
44255 | config/alpha/alpha.c, config/alpha/alpha.h, | |
44256 | config/alpha/alpha.md, config/alpha/unicosmk.h, | |
44257 | config/alpha/vms.h, config/arm/linux-elf.h, config/avr/avr.c, | |
44258 | config/c4x/c4x-protos.h, config/c4x/c4x.md, | |
44259 | config/d30v/d30v.h, config/frv/frv.md, config/frv/frvbegin.c, | |
44260 | config/frv/frvend.c, config/i386/cygming.h, | |
44261 | config/i386/djgpp.h, config/i386/emmintrin.h, | |
44262 | config/i386/gthr-win32.c, config/i386/i386-interix.h, | |
44263 | config/i386/i386-protos.h, config/i386/openbsd.h, | |
44264 | config/i386/winnt.c, config/i386/xm-mingw32.h, | |
44265 | config/i386/xmmintrin.h, config/ia64/ia64.md, | |
44266 | config/iq2000/iq2000.md, config/m32r/m32r.md, | |
44267 | config/m68k/m68k.md, config/mcore/mcore-elf.h, | |
44268 | config/mcore/mcore.md, config/mips/elf.h, config/mips/elf64.h, | |
44269 | config/mips/iris5gas.h, config/mips/iris6.h, | |
44270 | config/mips/iris6gas.h, config/mips/linux.h, | |
44271 | config/mips/mips.md, config/mips/netbsd.h, | |
44272 | config/mips/openbsd.h, config/mips/windiss.h, | |
44273 | config/pa/fptr.c, config/rs6000/aix.h, | |
44274 | config/rs6000/altivec.h, config/rs6000/darwin.h, | |
44275 | config/rs6000/xcoff.h, config/s390/s390-protos.h, | |
44276 | config/s390/s390.c, config/s390/s390.h, config/s390/s390.md, | |
44277 | config/sh/netbsd-elf.h, config/sh/sh.h, config/sh/vxworks.h, | |
44278 | config/sparc/sol2.h: Update copyright. | |
44279 | ||
44280 | 2004-01-30 Kelley Cook <kcook@gcc.gnu.org> | |
44281 | ||
44282 | * Makefile.in (abs_docdir, abs_srcdir): Define. | |
44283 | (doc/%.dvi, doc/gccinstall.dvi): Use $(abs_docdir). | |
44284 | ||
44285 | 2004-01-30 Kazu Hirata <kazu@cs.umass.edu> | |
44286 | ||
44287 | * genconfig.c (main): Have CC0_P check its operand even on a | |
44288 | target without cc0. | |
44289 | ||
44290 | 2004-01-30 Kazu Hirata <kazu@cs.umass.edu> | |
44291 | ||
44292 | * config/alpha/alpha.c: Remove mentions of deprecates macros | |
44293 | in comments, remove some target-independent comments about target | |
44294 | macros, and/or add minimal function comments for target hook | |
44295 | implementations. | |
44296 | * config/avr/avr.c: Likewise. | |
44297 | * config/ia64/ia64.h: Likewise. | |
44298 | * config/ip2k/ip2k.c: Likewise. | |
44299 | * config/iq2000/iq2000.c: Likewise. | |
44300 | * config/m32r/m32r.h: Likewise. | |
44301 | * config/m68hc11/m68hc11.c: Likewise. | |
44302 | * config/mcore/mcore.c: Likewise. | |
44303 | * config/mmix/mmix.c: Likewise. | |
44304 | * config/mn10300/mn10300.c: Likewise. | |
44305 | * config/pa/pa.c: Likewise. | |
44306 | * config/pdp11/pdp11.c: Likewise. | |
44307 | * config/rs6000/rs6000.h: Likewise. | |
44308 | * config/sh/sh.c: Likewise. | |
44309 | * config/sh/sh.h: Likewise. | |
44310 | * config/sparc/sparc.c: Likewise. | |
44311 | * config/sparc/sparc.h: Likewise. | |
44312 | * config/stormy16/stormy16.c: Likewise. | |
44313 | * config/xtensa/xtensa.c: Likewise. | |
44314 | ||
44315 | 2004-01-30 Ulrich Weigand <uweigand@de.ibm.com> | |
44316 | ||
44317 | PR optimization/12147 | |
44318 | * reload1.c (reload_reg_free_p): RELOAD_OTHER conflicts with | |
44319 | RELOAD_FOR_OPADDR_ADDR. | |
44320 | (reload_reg_reaches_end_p): RELOAD_FOR_OTHER_ADDRESS register | |
44321 | might be reused as RELOAD_FOR_OPADDR_ADDR register. | |
44322 | ||
44323 | 2004-01-30 Jan Hubicka <jh@suse.cz> | |
44324 | ||
44325 | * reload.c (get_secondary_mem): Fix updating of | |
44326 | secondary_memlocs_elim_used. | |
44327 | ||
44328 | 2004-01-30 Richard Henderson <rth@redhat.com> | |
44329 | ||
44330 | * varasm.c (struct rtx_const, struct pool_constant): Remove. | |
44331 | (MAX_RTX_HASH_TABLE): Remove. | |
44332 | (const_rtx_hash_table, const_rtx_sym_hash_table): Remove. | |
44333 | (first_pool, last_pool, pool_offset): Remove. | |
44334 | (struct rtx_constant_pool): Split out from ... | |
44335 | (struct varasm_status): ... here. Reference one via pointer. | |
44336 | (struct constant_descriptor_rtx): Merge struct pool_constant. | |
44337 | (SYMHASH): Remove. | |
44338 | (decode_rtx_const): Remove. | |
44339 | (const_hash_rtx, compare_constant_rtx): Remove. | |
44340 | (record_constant_rtx): Remove. | |
44341 | (const_desc_rtx_hash, const_desc_rtx_eq): New. | |
44342 | (const_desc_rtx_sym_hash, const_desc_rtx_sym_eq): New. | |
44343 | (const_rtx_hash_1, const_rtx_hash): New. | |
44344 | (init_varasm_status): Allocate a rtx_constant_pool, and its hashes. | |
44345 | (simplify_subtraction): Use simplify_rtx. | |
44346 | (force_const_mem): Rewrite to use new data structures. | |
44347 | (find_pool_constant): Likewise. | |
44348 | (get_pool_constant, get_pool_constant_mark, | |
44349 | get_pool_constant_for_function, get_pool_mode, | |
44350 | get_pool_mode_for_function, get_pool_offset, get_pool_size): Likewise. | |
44351 | (output_constant_pool_2): Split out from output_constant_pool. | |
44352 | (output_constant_pool_1): Likewise. Use new pool datastructures. | |
44353 | (output_constant_pool): Zap entire pool datastructure. | |
44354 | (mark_constant): Use new pool datastructures. | |
44355 | (mark_constants): Use for_each_rtx. | |
44356 | (mark_constant_pool): Use new pool datastructures. | |
44357 | ||
44358 | 2004-01-30 Fariborz Jahanian <fjahanian@apple.com> | |
44359 | ||
44360 | * config/rs6000/rs6000.c (rs6000_emit_move): Remove #if 0. | |
44361 | Copy operands[1] to pseudo for simplify_gen_subreg. | |
44362 | ||
44363 | 2004-01-30 Kazu Hirata <kazu@cs.umass.edu> | |
44364 | ||
44365 | * gcse.c (bypass_block): Fix a typo in the previous check-in | |
44366 | to the file. | |
44367 | ||
44368 | 2004-01-30 Andrew Pinski <pinskia@physics.uc.edu> | |
44369 | ||
44370 | * toplev.c: Include alloc-pool.h. | |
44371 | * Makefile.in (toplev.c): Update dependencies. | |
44372 | ||
44373 | 2004-01-30 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
44374 | ||
44375 | * combine.c (simplify_shift_const, case XOR): Be careful when | |
44376 | commuting XOR with ASHIFTRT. | |
44377 | ||
44378 | 2004-01-30 Kazu Hirata <kazu@cs.umass.edu> | |
44379 | Eric Botcazou <ebotcazou@libertysurf.fr> | |
44380 | ||
44381 | * config/sparc/sparc-protos.h: Remove the prototype for | |
44382 | sparc_builtin_saveregs. | |
44383 | * config/sparc/sparc.c (TARGET_PROMOTE_FUNCTION_ARGS): New. | |
44384 | (TARGET_PROMOTE_FUNCTION_RETURN): Likewise. | |
44385 | (TARGET_PROMOTE_PROTOTYPES): Likewise. | |
44386 | (TARGET_STRUCT_VALUE_RTX): Likewise. | |
44387 | (TARGET_RETURN_IN_MEMORY): Likewise. | |
44388 | (TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise. | |
44389 | (TARGET_STRICT_ARGUMENT_NAMING): Likewise. | |
44390 | (sparc_builtin_saveregs): Make it static. | |
44391 | (sparc_promote_prototypes): New. | |
44392 | (sparc_struct_value_rtx): Likewise. | |
44393 | (sparc_return_in_memory): Likewise. | |
44394 | * config/sparc/sparc.h: (PROMOTE_FUNCTION_ARGS): Remove. | |
44395 | (PROMOTE_FUNCTION_RETURN): Likewise. | |
44396 | (RETURN_IN_MEMORY): Likewise. | |
44397 | (STRUCT_VALUE): Likewise. | |
44398 | (STRUCT_VALUE_INCOMING): Likewise. | |
44399 | (EXPAND_BUILTIN_SAVEREGS): Likewise. | |
44400 | (STRICT_ARGUMENT_NAMING): Likewise. | |
44401 | (PROMOTE_PROTOTYPES): Likewise. | |
44402 | ||
44403 | * config/sparc/sparc.h (PROMOTE_MODE): Use word_mode. | |
44404 | ||
44405 | 2004-01-30 Eric Botcazou <ebotcazou@libertysurf.fr> | |
44406 | ||
44407 | PR c/12818 | |
44408 | * varasm.c (const_hash_1) <STRING_CST>: Use the | |
44409 | address to compute the hash value if flag_writable_strings. | |
44410 | (compare_constant) <STRING_CST>: Compare the addresses | |
44411 | if flag_writable_strings. | |
44412 | (build_constant_desc): Do not copy the expression for a | |
44413 | STRING_CST if flag_writable_strings. | |
44414 | ||
44415 | 2004-01-30 Jan Hubicka <jh@suse.cz> | |
44416 | ||
44417 | * alloc-pool.c: Include hashtab.h | |
44418 | (alloc_pool_descriptor): New structure | |
44419 | (alloc_pool_hash): New global variable. | |
44420 | (hash_descriptor, eq_descriptor, alloc_pool_descriptor): New. | |
44421 | (create_alloc_pool): Update statistics. | |
44422 | (free_alloc_pool): Likewise. | |
44423 | (pool_alloc): Likewise. | |
44424 | (output_info): New structure | |
44425 | (print_statistics, dump_alloc_pool_statistics): New function. | |
44426 | * alloc-pool.h (alloc_pool_def): Turn name to be constant. | |
44427 | (dump_alloc_pool_statistics): Declare. | |
e8366202 | 44428 | * toplev.c (finalize): Dump statistics. |
3eb54e5f ILT |
44429 | |
44430 | * reload.c (secondary_memlocs_elim_used): New static variable. | |
44431 | (get_secondary_mem): Update it. | |
44432 | (find_reloads): Use it. | |
44433 | ||
44434 | 2004-01-30 Steven Bosscher <s.bosscher@student.tudelft.nl> | |
44435 | ||
44436 | * toplev.c: Fix broken checkin of 2003-12-30, again. | |
44437 | ||
44438 | 2004-01-30 Ulrich Weigand <uweigand@de.ibm.com> | |
44439 | ||
44440 | * configure.ac (gcc_cv_as_dwarf2_debug_line): Enable test for | |
44441 | s390*-*-* targets by specifying a 'nop' insn. | |
44442 | * configure: Regenerate. | |
44443 | ||
44444 | 2004-01-30 Eric Botcazou <ebotcazou@libertysurf.fr> | |
44445 | ||
44446 | PR target/11475 | |
44447 | * config/sparc/sparc.md (movhi_lo_sum): Tighten predicates. | |
44448 | ||
44449 | 2004-01-29 Jakub Jelinek <jakub@redhat.com> | |
44450 | ||
44451 | * emit-rtl.c (change_address): Use XEXP (memref, 0) instead | |
44452 | of addr when creating MEM copy. | |
44453 | ||
44454 | 2004-01-29 Devang Patel <dpatel@apple.com> | |
44455 | ||
44456 | * dwarf2out.c (gen_field_die): Do not equate decl number to die. | |
44457 | ||
44458 | 2004-01-28 Ian Lance Taylor <ian@wasabisystems.com> | |
44459 | ||
44460 | PR inline-asm/6162 | |
44461 | * reload.c (find_reloads): Only support one pair of commutative | |
44462 | operands. | |
44463 | ||
44464 | 2004-01-29 Roger Sayle <roger@eyesopen.com> | |
44465 | ||
44466 | PR java/13824 | |
44467 | * tree.c (unsafe_for_reeval): Handle EXIT_BLOCK_EXPR nodes specially | |
44468 | as their EXIT_BLOCK_LABELED_BLOCK operands can lead to unbounded | |
44469 | recursion. | |
44470 | ||
44471 | 2004-01-29 Kazu Hirata <kazu@cs.umass.edu> | |
44472 | ||
44473 | * config/frv/frv.c: Don't mention deprecated macros in | |
44474 | comments. Remove some target-independent comments about | |
44475 | target macros. | |
44476 | * config/frv/frv.h: Likewise. | |
44477 | ||
44478 | 2004-01-29 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> | |
44479 | ||
44480 | * cfghooks.c (split_block): Set probability and count of the | |
44481 | new edge. | |
44482 | ||
44483 | 2004-01-29 Josef Zlomek <zlomekj@suse.cz> | |
44484 | ||
44485 | * dwarf2out.c (struct die_struct): Added field decl_id. | |
44486 | (decl_die_table): Changed to hash table. | |
44487 | (decl_die_table_allocated): Deleted. | |
44488 | (decl_die_table_in_use): Deleted. | |
44489 | (DECL_DIE_TABLE_INCREMENT): Deleted. | |
44490 | (decl_die_table_hash): New function. | |
44491 | (decl_die_table_eq): New function. | |
44492 | (lookup_decl_die): Lookup in a hash table. | |
44493 | (equate_decl_number_to_die): Insert into a hash table. | |
44494 | (dwarf2out_init): Init hash table decl_die_table. | |
44495 | ||
44496 | 2004-01-29 Jakub Jelinek <jakub@redhat.com> | |
44497 | ||
44498 | PR optimization/13424 | |
44499 | * expr.c (store_constructor): Revert 2003-12-03 change. | |
44500 | ||
44501 | * emit-rtl.c (change_address): Check also if MEM_ATTRS is set as | |
44502 | expected before returning early. Avoid sharing RTL if they | |
44503 | need to be changed. | |
44504 | ||
44505 | * config/i386/i386.c (ix86_expand_movstr): Rework rep_mov and strmov | |
44506 | handling so that memory attributes are preserved. Don't call | |
44507 | ix86_set_move_mem_attrs. | |
44508 | (ix86_set_move_mem_attrs_1, ix86_set_move_mem_attrs): Removed. | |
44509 | (ix86_expand_clrstr): Rename src argument to | |
44510 | dst. Rework rep_stos and strset handling so that memory attributes | |
44511 | are preserved. | |
44512 | (ix86_expand_strlen): Pass src argument to | |
44513 | ix86_expand_strlensi_unroll_1. Rework strlenqi_1 handling so that | |
44514 | memory attributes are preserved. | |
44515 | (ix86_expand_strlensi_unroll_1): Add src argument. Use | |
44516 | change_address instead of gen_rtx_MEM. | |
44517 | * config/i386/i386.md (strmov, strmov_singleop, rep_mov): New | |
44518 | expanders. | |
44519 | (strmovdi_rex64, strmovsi, strmovsi_rex64, strmovhi, strmovhi_rex64, | |
44520 | strmovqi, strmovqi_rex64): Remove. | |
44521 | (rep_mov*, strmov*): Prefix insn names with *. | |
44522 | (strset, strset_singleop, rep_stos): New expanders. | |
44523 | (strsetdi_rex64, strsetsi, strsetsi_rex64, strsethi, strsethi_rex64, | |
44524 | strsetqi, strsetqi_rex64): Remove. | |
44525 | (rep_stos*, strset*): Prefix insn names with *. | |
44526 | (rep_stosqi_rex64): Likewise. Fix mode of dirflag reg from DImode | |
44527 | to SImode. | |
44528 | (cmpstrsi): Rework cmpstrqi_1 handling so that memory attributes | |
44529 | are preserved. | |
44530 | (cmpstrqi_nz_1, cmpstrqi_nz_rex_1, cmpstrqi_1, cmpstrqi_rex_1): | |
44531 | Prefix insn names with *. | |
44532 | (cmpstrqi_nz_1, cmpstrqi_1): New expanders. | |
44533 | (strlenqi_1, strlenqi_rex_1): Prefix insn names with *. | |
44534 | (strlenqi_1): New expander. | |
44535 | * config/i386/i386.h (ix86_set_move_mem_attrs): Remove prototype. | |
44536 | ||
44537 | 2004-01-29 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> | |
44538 | ||
44539 | * Makefile.in (cfghooks.o): Add TIMEVAR_H and toplev.h dependency. | |
44540 | * basic-block.h (tidy_fallthru_edge, tidy_fallthru_edges, dump_bb, | |
44541 | verify_flow_info): Declaration removed. | |
44542 | * cfg.c (verify_flow_info, dump_bb): Moved to cfghooks.c. | |
44543 | (debug_bb, debug_bb_n): Add argument to dump_bb call. | |
44544 | * cfgcleanup.c (try_simplify_condjump, try_crossjump_to_edge, | |
44545 | try_optimize_cfg, delete_unreachable_blocks): Use delete_basic_block | |
44546 | instead of delete_block. | |
44547 | * cfghooks.c: Include timevar.h and toplev.h. | |
44548 | (cfg_hooks): Define here. | |
44549 | (verify_flow_info, dump_bb): Moved from cfg.c. | |
44550 | (redirect_edge_and_branch, redirect_edge_and_branch_force, | |
44551 | split_block, split_block_after_labels, move_block_after, | |
44552 | delete_basic_block, split_edge, create_basic_block, | |
44553 | create_empty_bb, can_merge_blocks_p, merge_blocks, | |
44554 | make_forwarder_block, tidy_fallthru_edge, tidy_fallthru_edges): | |
44555 | New functions. | |
44556 | * cfghooks.h (struct cfg_hooks): Added fields name, | |
44557 | make_forwarder_block, tidy_fallthru_edge and | |
44558 | move_block_after. Changed type of verify_flow_info, dump_bb, | |
44559 | split_block fields. Renamed cfgh_split_edge and delete_block | |
44560 | fields. | |
44561 | (redirect_edge_and_branch, redirect_edge_and_branch_force, | |
44562 | split_block, delete_block, split_edge, create_basic_block, | |
44563 | can_merge_blocks_p, merge_blocks): Macros removed. | |
44564 | (cfg_hooks): Do not export. | |
44565 | (verify_flow_info, dump_bb, redirect_edge_and_branch, | |
44566 | redirect_edge_and_branch_force, split_block, split_block_after_labels, | |
44567 | move_block_after, delete_basic_block, split_edge, create_basic_block, | |
44568 | create_empty_bb, can_merge_blocks_p, merge_blocks, | |
44569 | make_forwarder_block, tidy_fallthru_edge, tidy_fallthru_edges): | |
44570 | Declare. | |
44571 | (cfg_layout_rtl_cfg_hooks): Declare. | |
44572 | * cfgloop.c (update_latch_info, mfb_keep_just, mfb_keep_nonlatch): | |
44573 | New functions. | |
44574 | (canonicalize_loop_headers): Use new semantics of make_forwarder_block. | |
44575 | (redirect_edge_with_latch_update): Removed. | |
44576 | (make_forwarder_block): Moved to cfghooks.c, semantics changed. | |
44577 | * cfgloopmanip.c (remove_bbs): Do not update dominators here. | |
44578 | * cfgrtl.c (cfg_layout_split_block, rtl_split_block, rtl_dump_bb, | |
44579 | rtl_delete_block, rtl_split_block, rtl_merge_blocks, | |
44580 | tidy_fallthru_edge, rtl_split_edge, cfg_layout_delete_block, | |
44581 | cfg_layout_merge_blocks, cfg_layout_split_edge): Partly moved to | |
44582 | cfghooks.c. | |
44583 | (rtl_create_basic_block): Coding style fix. | |
44584 | (rtl_tidy_fallthru_edge, rtl_move_block_after, | |
44585 | rtl_make_forwarder_block): New functions. | |
44586 | (update_cfg_after_block_merging): Removed. | |
44587 | (rtl_cfg_hooks, cfg_layout_rtl_cfg_hooks): Fill in new entries. | |
44588 | * flow.c (verify_wide_reg, verify_local_live_at_start): Add argument | |
44589 | to dump_bb. | |
44590 | * ifcvt.c (merge_if_block, find_cond_trap, find_if_case_1, | |
44591 | find_if_case_2): Don't update dominators. | |
44592 | * timevar.def (TV_CFG_VERIFY): New. | |
44593 | * loop-unswitch.c (unswitch_loop): Don't call add_to_dominance_info. | |
44594 | * cfglayout.c (copy_bbs): Don't call add_to_dominance_info. | |
44595 | * cfgloopmanip.c (split_loop_bb): Don't update dominators. | |
44596 | (remove_bbs): Don't call remove_bbs. | |
44597 | (create_preheader): Use make_forwarder_block. | |
44598 | (mfb_keep_just, mfb_update_loops): New static functions. | |
44599 | ||
44600 | 2004-01-29 Kazu Hirata <kazu@cs.umass.edu> | |
44601 | ||
44602 | * config/avr/avr.h: Remove target-independent comments about | |
44603 | target macros. | |
44604 | ||
44605 | 2004-01-28 Daniel Berlin <dberlin@dberlin.org> | |
44606 | ||
44607 | * timevar.c (timevar_print): Mention when checking is enabled. | |
44608 | ||
44609 | 2004-01-28 Giovanni Bajo <giovannibajo@gcc.gnu.org> | |
44610 | ||
44611 | * c-lex.c (c_lex): Rename to... | |
44612 | (c_lex_with_flags): Add new parameter to get CPP flags. | |
44613 | (c_lex): Thunk to c_lex_with_flags while keeping the old interface. | |
44614 | * c-pragma.h (c_lex_with_flags): Declare. | |
44615 | ||
44616 | 2004-01-28 Kazu Hirata <kazu@cs.umass.edu> | |
44617 | ||
44618 | * config/mcore/mcore.c (mcore_external_libcall): Add a | |
44619 | comment. | |
44620 | (mcore_return_in_memory): Likewise. | |
44621 | ||
44622 | 2004-01-28 Kazu Hirata <kazu@cs.umass.edu> | |
44623 | ||
44624 | * config/mcore/mcore-protos.h: Remove the prototype for | |
44625 | mcore_setup_incoming_varargs. | |
44626 | * config/mcore/mcore.c (TARGET_ASM_EXTERNAL_LIBCALL): New. | |
44627 | (TARGET_PROMOTE_FUNCTION_ARGS): Likewise. | |
44628 | (TARGET_PROMOTE_FUNCTION_RETURN): Likewise. | |
44629 | (TARGET_PROMOTE_PROTOTYPES): Likewise. | |
44630 | (TARGET_STRUCT_VALUE_RTX): Likewise. | |
44631 | (TARGET_RETURN_IN_MEMORY): Likewise. | |
44632 | (TARGET_SETUP_INCOMING_VARARGS): Likewise. | |
44633 | (mcore_setup_incoming_varargs): Make it static. Receive the | |
44634 | first argument by reference. Add argument second_time. | |
44635 | (mcore_external_libcall): New. | |
44636 | (mcore_return_in_memory): Likewise. | |
44637 | * config/mcore/mcore.h (PROMOTE_FUNCTION_ARGS): New. | |
44638 | (PROMOTE_FUNCTION_RETURN): Likewise. | |
44639 | (STRUCT_VALUE): Likewise. | |
44640 | (RETURN_IN_MEMORY): Likewise. | |
44641 | (SETUP_INCOMING_VARARGS): Likewise. | |
44642 | (PROMOTE_PROTOTYPES): Likewise. | |
44643 | (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise. | |
44644 | ||
44645 | 2004-01-28 Kazu Hirata <kazu@cs.umass.edu> | |
44646 | ||
44647 | * config/m32r/m32r-protos.h: Remove the prototype for | |
44648 | m32r_setup_incoming_varargs. | |
44649 | * config/m32r/m32r.c (TARGET_PROMOTE_PROTOTYPES): New. | |
44650 | (TARGET_STRUCT_VALUE_RTX): Likewise. | |
44651 | (TARGET_RETURN_IN_MEMORY): Likewise. | |
44652 | (TARGET_SETUP_INCOMING_VARARGS): Likewise. | |
44653 | (m32r_return_in_memory): New. | |
44654 | (m32r_setup_incoming_varargs): Make it static. | |
44655 | * config/m32r/m32r.h: Remove #undef of | |
44656 | ASM_OUTPUT_EXTERNAL_LIBCALL. Remove the commented-out | |
44657 | definitions of PROMOTE_FUNCTION_ARGS and | |
44658 | PROMOTE_FUNCTION_RETURN. | |
44659 | (PROMOTE_PROTOTYPES): Remove. | |
44660 | (RETURN_IN_MEMORY): Likewise. | |
44661 | (STRUCT_VALUE): Likewise. | |
44662 | ||
44663 | 2004-01-28 Kazu Hirata <kazu@cs.umass.edu> | |
44664 | ||
44665 | * config/m68k/m68k.c (TARGET_PROMOTE_PROTOTYPES): New. | |
44666 | (TARGET_STRUCT_VALUE_RTX): Likewise. | |
44667 | (m68k_struct_value_rtx): Likewise. | |
44668 | * config/m68k/m68k.h (STRUCT_VALUE_REGNUM): Rename to | |
44669 | STRUCT_VALUE_REGNUM. | |
44670 | (PROMOTE_PROTOTYPES): Remove. | |
44671 | * config/m68k/m68kelf.h (STRUCT_VALUE_REGNUM): Rename to | |
44672 | STRUCT_VALUE_REGNUM. | |
44673 | * config/m68k/m68kv4.h (STRUCT_VALUE_REGNUM): Likewise. | |
44674 | * config/m68k/netbsd-elf.h (STRUCT_VALUE_REGNUM): Likewise. | |
44675 | ||
44676 | 2004-01-28 Kazu Hirata <kazu@cs.umass.edu> | |
44677 | ||
44678 | * config/stormy16/stormy16.c | |
44679 | (TARGET_BUILD_BUILTIN_VA_LIST_TYPE): Rename to | |
44680 | TARGET_BUILD_BUILTIN_VA_LIST. | |
44681 | ||
44682 | 2004-01-28 Kazu Hirata <kazu@cs.umass.edu> | |
44683 | ||
44684 | * config/v850/v850.c (TARGET_PROMOTE_PROTOTYPES): New. | |
44685 | (TARGET_STRUCT_VALUE_RTX): Likewise. | |
44686 | (TARGET_RETURN_IN_MEMORY): Likewise. | |
44687 | (TARGET_SETUP_INCOMING_VARARGS): Likewise. | |
44688 | (v850_return_in_memory): Likewise. | |
44689 | (v850_setup_incoming_varargs): Likewise. | |
44690 | * config/v850/v850.h (PROMOTE_PROTOTYPES): Remove. | |
44691 | (SETUP_INCOMING_VARARGS): Likewise. | |
44692 | (RETURN_IN_MEMORY): Likewise. | |
44693 | (STRUCT_VALUE): Likewise. | |
44694 | ||
44695 | 2004-01-28 Kazu Hirata <kazu@cs.umass.edu> | |
44696 | ||
44697 | * config/fr30/fr30.c (TARGET_PROMOTE_PROTOTYPES): New. | |
44698 | (fr30_setup_incoming_varargs): Don't use | |
44699 | STRICT_ARGUMENT_NAMING. | |
44700 | * config/fr30/fr30.h (PROMOTE_PROTOTYPES): Remove. | |
44701 | (STRICT_ARGUMENT_NAMING): Likewise. | |
44702 | ||
44703 | 2004-01-28 Kazu Hirata <kazu@cs.umass.edu> | |
44704 | ||
44705 | * config/frv/frv-protos.h: Remove the prototype for | |
44706 | frv_expand_builtin_saveregs. | |
44707 | * config/frv/frv.c (TARGET_STRUCT_VALUE_RTX): Likewise. | |
44708 | (TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise. | |
44709 | (frv_stack_info): Use FRV_STRUCT_VALUE_REGNUM instead of | |
44710 | STRUCT_VALUE_REGNUM. | |
44711 | (frv_expand_builtin_saveregs): Make it static. | |
44712 | (frv_struct_value_rtx): New. | |
44713 | * config/frv/frv.h (EXPAND_BUILTIN_SAVEREGS): Remove. | |
44714 | ||
44715 | 2004-01-29 Jan Hubicka <jh@suse.cz> | |
44716 | ||
44717 | PR c++/12850 | |
44718 | * cgraph.c (cgraph_remove_node): Clear out saved/insns/arguments and | |
44719 | initial pointers. | |
44720 | * cgraphunit.c (cgraph_finalize_function): Clear out DECL_SAVED_INSNS | |
44721 | for functions that will be only inlined. | |
44722 | (cgraph_mark_function_to_output): Likewise. | |
44723 | (cgraph_expand_function): Sanity check that DECL_DEFER_OUTPUT is clear; | |
44724 | do not clear function body. | |
44725 | * tree-optimize.c (clear_decl_rtl): Use decl_function_context. | |
44726 | (tree_rest_of_compilation): Reorganize the logic releasing function | |
44727 | body to use callgraph datastructure. | |
44728 | ||
44729 | 2004-01-28 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
44730 | ||
44731 | * pa.md: Change predicate of a peephole2 pattern from reg_or_0_operand | |
44732 | to register_operand. | |
44733 | ||
44734 | 2004-01-28 Zack Weinberg <zack@codesourcery.com> | |
44735 | ||
44736 | * config/ia64/ia64.md (fetchadd_acq_si, fetchadd_acq_di) | |
44737 | (cmpxchg_acq_si, cmpxchg_acq_di): Exchange match_dup and | |
44738 | match_operand expressions so that all match_dups appear | |
44739 | lexically after their corresponding match_operands. | |
44740 | ||
44741 | 2004-01-28 Kazu Hirata <kazu@cs.umass.edu> | |
44742 | ||
44743 | * config/h8300/h8300.c (WORD_REG_USED): Use | |
44744 | HARD_FRAME_POINTER_REGNUM instead of FRAME_POINTER_REGNUM. | |
44745 | (compute_saved_regs): Likewise. | |
44746 | (h8300_expand_prologue): Likewise. Allocate locals after | |
44747 | saving registers. | |
44748 | (h8300_expand_epilogue): Use HARD_FRAME_POINTER_REGNUM instead | |
44749 | of FRAME_POINTER_REGNUM. Deallocate locals before saving | |
44750 | registers. | |
44751 | (h8300_initial_elimination_offset): Adjust for the new frame | |
44752 | layout, which swaps flips the order of locals and saved | |
44753 | registers. | |
44754 | * config/h8300/h8300.h (FIRST_PSEUDO_REGISTER): Change to 12. | |
44755 | (HARD_FRAME_POINTER_REGNUM): New. | |
44756 | (ELIMINABLE_REGS): Add an elimination rule from | |
44757 | FRAME_POINTER_REGNUM to HARD_FRAME_POINTER_REGNUM. | |
44758 | (REGISTER_NAMES): Add fp. | |
44759 | * config/h8300/h8300.md (FP_REG): Change to 11. | |
44760 | (HFP_REG): New. | |
44761 | ||
44762 | 2004-01-28 Kazu Hirata <kazu@cs.umass.edu> | |
44763 | ||
44764 | * genrecog.c (write_node): Remove a useless local variable. | |
44765 | ||
44766 | 2004-01-28 Ian Lance Taylor <ian@wasabisystems.com> | |
44767 | ||
44768 | * Makefile.in (options.c options.h): Use stamp file s-options to | |
44769 | avoid unnecessary rebuilds. | |
44770 | (options.o): New target listing dependencies. | |
44771 | (gtyp-gen.h): Use stamp file s-gtyp-gen. | |
44772 | (STAGESTUFF): Add s-gtyp-gen. | |
44773 | ||
44774 | 2004-01-28 Richard Henderson <rth@redhat.com> | |
44775 | ||
44776 | * ggc.h (ggc_free): Declare. | |
44777 | * ggc-common.c (ggc_realloc): Use it. | |
44778 | * ggc-page.c: Remove lots of inline markers. | |
44779 | (globals): Add free_object_list. | |
44780 | (ggc_alloc): Tidy. | |
44781 | (ggc_free, validate_free_objects): New. | |
44782 | (poison_pages): Provide default. | |
44783 | (ggc_collect): Call validate_free_objects; emit markers to | |
44784 | the debug file. | |
44785 | ||
44786 | 2004-01-28 Zack Weinberg <zack@codesourcery.com> | |
44787 | Jim Wilson <wilson@specifixinc.com> | |
44788 | ||
44789 | * config/ia64/ia64.c (ia64_split_tmode, ia64_split_tmode_move): | |
44790 | Rewrite to use POST_INC/POST_DEC/POST_MODIFY instead of a | |
44791 | scratch pointer. | |
44792 | (ia64_secondary_reload_class): Delete case GR_REGS. | |
44793 | * config/ia64/ia64.md (movti, *movti_internal, movtf, *movtf_internal): | |
44794 | Do not allocate a scratch register. | |
44795 | (reload_inti, reload_outti, reload_intf, reload_outtf): Delete. | |
44796 | ||
44797 | 2004-01-28 Jan Hubicka <jh@suse.cz> | |
44798 | ||
44799 | * gcse.c (bypass_block): Prevent edges to be unified when we are | |
44800 | about to emit compenstation code. | |
44801 | ||
44802 | 2004-01-28 Nick Clifton <nickc@redhat.com> | |
44803 | ||
44804 | * config/arm/arm.c (arm_expand_builtin): Force second argument of | |
44805 | the setcwx insn into a register. | |
44806 | ||
44807 | 2004-01-28 Richard Sandiford <rsandifo@redhat.com> | |
44808 | ||
44809 | * config/fp-bit.c (pack_d): When using paired doubles to implement | |
44810 | a long double, round the high part separately. | |
44811 | (unpack_d): Fix the case in which the high part is a power of two | |
44812 | and the low part is a nonzero value of the opposite sign. | |
44813 | ||
44814 | 2004-01-28 Kazu Hirata <kazu@cs.umass.edu> | |
44815 | ||
44816 | * config/c4x/c4x.c (TARGET_ASM_EXTERNAL_LIBCALL): New. | |
44817 | (TARGET_STRUCT_VALUE_RTX): Likewise. | |
44818 | (c4x_external_libcall): Likewise. | |
44819 | (c4x_struct_value_rtx): Likewise. | |
44820 | * config/c4x/c4x.h: Remove. | |
44821 | (STRUCT_VALUE_REGNUM): Likewise. | |
44822 | (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise. | |
44823 | ||
44824 | 2004-01-28 Kazu Hirata <kazu@cs.umass.edu> | |
44825 | ||
44826 | * config/i386/i386.c (TARGET_PROMOTE_PROTOTYPES): New. | |
44827 | (TARGET_STRUCT_VALUE_RTX): Likewise. | |
44828 | * config/i386/i386.h (STRUCT_VALUE_INCOMING): Remove. | |
44829 | (STRUCT_VALUE): Likewise. | |
44830 | (PROMOTE_PROTOTYPES): Likewise. | |
44831 | ||
44832 | 2004-01-27 Roger Sayle <roger@eyesopen.com> | |
44833 | ||
44834 | * config/pa/pa.c (emit_move_sequence): Check that operand1 is a | |
44835 | CONST_INT before using INTVAL. | |
44836 | ||
44837 | 2004-01-27 Ulrich Weigand <uweigand@de.ibm.com> | |
44838 | ||
44839 | * config/s390/s390.h (TARGET_DEFAULT): Default to !TARGET_BACKCHAIN. | |
44840 | * config/s390/s390.c (s390_return_addr_rtx): Fail for all but current | |
44841 | frame if !TARGET_BACKCHAIN. | |
44842 | * config/s390/s390.md ("allocate_stack"): Use pattern only if | |
44843 | TARGET_BACKCHAIN. | |
44844 | * doc/invoke.texi (-mbackchain/-mno-backchain): Document new default. | |
44845 | ||
44846 | 2004-01-27 Zack Weinberg <zack@codesourcery.com> | |
44847 | ||
44848 | * ia64.c (ia64_function_arg): When placing HFAs in integer | |
44849 | registers, do not special case the mode used for complex | |
44850 | types. Do not advance int_regs until the current register | |
44851 | is full. | |
44852 | ||
44853 | 2004-01-27 Richard Sandiford <rsandifo@redhat.com> | |
44854 | ||
44855 | PR target/7297 | |
44856 | * except.c (init_eh): Use a 5-word __jbuf for __builtin_setjmp(). | |
44857 | ||
44858 | 2004-01-27 David Edelsohn <edelsohn@gnu.org> | |
44859 | ||
44860 | * config/rs6000/rs6000.c (rs6000_emit_move): #if 0 splitting | |
44861 | slow, unaligned loads and stores while debugging. Fix formatting. | |
44862 | ||
44863 | 2004-01-27 David Edelsohn <edelsohn@gnu.org> | |
44864 | ||
44865 | * config/rs6000/rs6000.md (save_stack_nonlocal): Use Pmode instead | |
44866 | of computing wmode. | |
44867 | (restore_stack_nonlocal): Same. | |
44868 | ||
44869 | 2004-01-27 Devang Patel <dpatel@apple.com> | |
44870 | ||
44871 | * Makefile.in (dwarf2out.o): Depend on input.h | |
44872 | * dbxout.c (dbx_debug_hooks): Add new empty hook for | |
44873 | imported_module_or_decl. | |
44874 | (xcoff_debug_hooks): Same. | |
44875 | * sdbout.c (sdb_debug_hooks): Same. | |
44876 | * vmsdbgout.c (vmsdbg_debug_hooks): Same. | |
44877 | * debug.c (do_nothing_debug_hooks): Same. | |
44878 | (debug_nothing_tree_tree): New function. | |
44879 | * debug.h (gcc_debug_hooks): New hook, imported_module_or_decl. | |
44880 | * dwarf2out.c: Include input.h. | |
44881 | (dwarf2_debug_hooks): Add new hook for imported_module_or_decl. | |
44882 | (remove_child_TAG): New function. | |
44883 | (dwarf_tag_name): Handle DW_TAG_imported_module. | |
44884 | (gen_subprogram_die): Equate decl number to declaration die. Do not | |
44885 | remove all children dies while reusing declaration die for definition. | |
44886 | Instead, selectively remove only formal parameters. | |
44887 | (gen_variable_die): Equate variable decl to declaration die. | |
44888 | (gen_field_die): Equate field decl to line number. | |
44889 | (force_namespace_die): Replace it with ... | |
44890 | (force_decl_die): ... this. | |
44891 | (force_type_die): New function. | |
44892 | (setup_namespace_context): Replace use of force_namespace_die() with | |
44893 | force_decl_die(). | |
44894 | (gen_namespace_die): Same. | |
44895 | (dwarf2out_imported_module_or_decl): New function. | |
44896 | ||
44897 | 2004-01-27 Bob Wilson <bob.wilson@acm.org> | |
44898 | ||
44899 | * config/xtensa/xtensa.c (xtensa_copy_incoming_a7): Remove SUBREG | |
44900 | on CQImode and CHImode incoming arguments in register a7. | |
44901 | (function_arg): Wrap BLKmode argument in register a7 in a PARALLEL. | |
44902 | * config/xtensa/xtensa.h (BLOCK_REG_PADDING): Define. | |
44903 | * config/xtensa/xtensa.md (movdi, movdf): Only call force_reg or | |
44904 | xtensa_copy_incoming_a7 before reload. | |
44905 | ||
44906 | 2004-01-27 J"orn Rennecke <joern.rennecke@superh.com> | |
44907 | ||
44908 | * coverage.c (get_coverage_counts): Give a different message | |
44909 | if flag_guess_branch_prob is set. | |
44910 | * predict.c (counts_to_freqs): Return an int. | |
44911 | (estimate_bb_frequencies): If counts_to_freqs returns zero, | |
44912 | calculate estimates. | |
44913 | ||
44914 | 2004-01-27 Kazu Hirata <kazu@cs.umass.edu> | |
44915 | ||
44916 | * config/iq2000/iq2000-protos.h: Remove the prototype for | |
44917 | iq2000_setup_incoming_varargs. | |
44918 | * config/iq2000/iq2000.c (TARGET_PROMOTE_FUNCTION_ARGS): New. | |
44919 | (TARGET_PROMOTE_FUNCTION_RETURN): Likewise. | |
44920 | (TARGET_PROMOTE_PROTOTYPES): Likewise. | |
44921 | (TARGET_STRUCT_VALUE_RTX): Likewise. | |
44922 | (TARGET_RETURN_IN_MEMORY): Likewise. | |
44923 | (TARGET_SETUP_INCOMING_VARARGS): Likewise. | |
44924 | (TARGET_STRICT_ARGUMENT_NAMING): Likewise. | |
44925 | (iq2000_return_in_memory): Likewise. | |
44926 | (iq2000_setup_incoming_varargs): Make it static. Receive the | |
44927 | first argument by reference. | |
44928 | * config/iq2000/iq2000.h (PROMOTE_FUNCTION_ARGS): Remove. | |
44929 | (PROMOTE_FUNCTION_RETURN): Likewise. | |
44930 | (PROMOTE_PROTOTYPES): Likewise. | |
44931 | (RETURN_IN_MEMORY): Likewise. | |
44932 | (STRUCT_VALUE): Likewise. | |
44933 | (SETUP_INCOMING_VARARGS): Likewise. | |
44934 | (STRICT_ARGUMENT_NAMING): Likewise. | |
44935 | ||
44936 | 2004-01-24 James A. Morrison <ja2morri@uwaterloo.ca> | |
44937 | ||
44938 | * fixinc/fixinc.c (test_test): Initialize res. | |
44939 | (start_flexer): Initialize pz_cmd_save. | |
44940 | ||
44941 | 2004-01-27 Zack Weinberg <zack@codesourcery.com> | |
44942 | ||
44943 | * doc/rtl.texi (Arithmetic): Rewrite entries for PLUS, | |
44944 | SS_PLUS, US_PLUS, LO_SUM, MINUS, SS_MINUS, US_MINUS. | |
44945 | ||
44946 | 2004-01-27 Zack Weinberg <zack@codesourcery.com> | |
44947 | ||
44948 | PR 7198 | |
44949 | * config/ia64/ia64.md (*nmaddsf4, *nmadddf4, *nmadddf4_alts) | |
44950 | (*nmadddf4_trunc, *nmaddxf4, *nmaddxf4_truncsf, *nmaddxf4_truncdf) | |
44951 | (*nmaddxf4_alts, *nmaddxf4_truncdf_alts): | |
44952 | Rewrite pattern as (minus (op 3) (mult (op 1) (op 2))). | |
44953 | Possibly rename pattern for consistency. | |
44954 | Remove ??? comments suggesting that this be done. | |
44955 | (*nmaddsf4_alts, *nmadddf4_truncsf_alts, *nmaddxf4_truncsf_alts): | |
44956 | New patterns. | |
44957 | (divsi3_internal, divdi3_internal_lat, divdi3_internal_thr) | |
44958 | (divsf3_internal_lat, divsf3_internal_thr, sqrtsf2_internal_thr) | |
44959 | (divdf3_internal_lat, divdf3_internal_thr, sqrtdf2_internal_thr) | |
44960 | (divxf3_internal_lat, divxf3_internal_thr, sqrtxf2_internal_thr): | |
44961 | Update to match. | |
44962 | ||
44963 | 2004-01-27 Ian Lance Taylor <ian@wasabisystems.com> | |
44964 | ||
44965 | * config/arm/arm.c (output_return_instruction): Only restore IP | |
44966 | into SP if frame_pointer_needed. | |
44967 | ||
44968 | 2004-01-27 Eric Botcazou <ebotcazou@libertysurf.fr> | |
44969 | ||
44970 | * config/sparc/sparc.c (function_arg_pass_by_reference): Return 1 | |
44971 | for SCmode and DCmode if ARCH32. | |
44972 | (sparc_va_arg): Handle SCmode and DCmode by reference if ARCH32. | |
44973 | * config/sparc/sparc.h (RETURN_IN_MEMORY): Return 0 for TCmode | |
44974 | if ARCH32. | |
44975 | (BASE_RETURN_VALUE_REG): Return 32 for all FP modes except TFmode | |
44976 | if ARCH32. | |
44977 | (BASE_OUTGOING_VALUE_REG): Likewise. | |
44978 | ||
44979 | 2004-01-27 Eric Botcazou <ebotcazou@libertysurf.fr> | |
44980 | ||
44981 | PR target/10904 | |
44982 | PR target/13058 | |
44983 | * config/sparc/sparc.h (CANNOT_CHANGE_MODE_CLASS): New. | |
44984 | Forbid mode changes from SImode for lower FP regs if ARCH64. | |
44985 | ||
44986 | 2004-01-27 J"orn Rennecke <joern.rennecke@superh.com> | |
44987 | ||
44988 | * Makefile.in (bt-load.o): Depend on except.h. | |
44989 | * bt-load.c (except.h): #include. | |
44990 | (compute_defs_uses_and_gen): If insn at end of BB can throw | |
44991 | within this function, consider registers used by it unavailable for | |
44992 | btr migration. | |
44993 | (move_btr_def): If insn at end of BB can throw, insert before rather | |
44994 | than after. | |
44995 | ||
44996 | * flags.h (flag_btr_bb_exclusive): Declare. | |
44997 | * toplev.c (flag_btr_bb_exclusive): New variable. | |
44998 | (f_options): Add btr-bb-exclusive. | |
44999 | * bt-load.c (augment_live_range): Restore old behaviour if | |
45000 | flag_btr_bb_exclusive is set. | |
45001 | * common.opt: Add entry for -fbtr-bb-exclusive. | |
45002 | * opts.c (common_handle_options): Same. | |
45003 | * doc/invoke.texi: Document -fbtr-bb-exclusive. | |
45004 | ||
45005 | * bt-load.c (btrs_live_at_end): New variable. | |
45006 | (compute_defs_uses_and_gen): Compute its pointed-to array. | |
45007 | (clear_btr_from_live_range, add_btr_to_live_range): Update it. | |
45008 | (augment_live_range): When augmenting with a new dominator, | |
45009 | use only its btrs_live_at_end set, but also add in the full set | |
45010 | of the old dominator. | |
45011 | (btr_def_live_range): Use btrs_live_at_end. | |
45012 | (move_btr_def): Set other_btr_uses_before_def, and move new set | |
45013 | to the end of the basic block, if appropriate. | |
45014 | (migrate_btr_defs): Allocate and free btrs_live_at_end. | |
45015 | ||
45016 | * bt-load.c (basic_block_freq): Remove outdated comment. | |
45017 | ||
45018 | 2004-01-27 Alan Modra <amodra@bigpond.net.au> | |
45019 | ||
45020 | * config/rs6000/rs6000.h: Correct target_flags free bits comment. | |
45021 | (PREDICATE_CODES): Remove duplicate. | |
45022 | * config/rs6000/linux64.h (CPP_SYSV_SPEC): Don't define. | |
45023 | (SUBSUBTARGET_OVERRIDE_OPTIONS): Disallow 32 bit TARGET_PROFILE_KERNEL. | |
45024 | (MASK_PROFILE_KERNEL): Adjust define. | |
45025 | ||
45026 | 2004-01-27 Jakub Jelinek <jakub@redhat.com> | |
45027 | ||
45028 | * config/i386/i386.c (ix86_constant_alignment): Decrease alignment | |
45029 | of long string literals from 32 bytes to sizeof (void *) when !-Os | |
45030 | and to 1 with -Os. | |
45031 | ||
45032 | 2004-01-26 Kazu Hirata <kazu@cs.umass.edu> | |
45033 | ||
45034 | * config/h8300/h8300.c (h8300_tiny_constant_address_p): Accept | |
45035 | constant addresses in the normal mode. | |
45036 | ||
45037 | 2004-01-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
45038 | ||
45039 | * system.h (CHAR_BITFIELD): Delete. | |
45040 | (BOOL_BITFIELD): New. | |
45041 | * c-decl.c (c_scope): Use BOOL_BITFIELD. | |
45042 | * gengtype-lex.l: Recognize BOOL_BITFIELD instead of CHAR_BITFIELD. | |
45043 | ||
45044 | 2004-01-26 Kazu Hirata <kazu@cs.umass.edu> | |
45045 | ||
45046 | * config/arc/arc.c (TARGET_PROMOTE_FUNCTION_ARGS): New. | |
45047 | (TARGET_PROMOTE_FUNCTION_RETURN): Likewise. | |
45048 | (TARGET_PROMOTE_PROTOTYPES): Likewise. | |
45049 | (TARGET_STRUCT_VALUE_RTX): Likewise. | |
45050 | (TARGET_RETURN_IN_MEMORY): Likewise. | |
45051 | (arc_return_in_memory): Likewise. | |
45052 | * config/arc/arc.h (PROMOTE_FUNCTION_ARGS): Remove. | |
45053 | (PROMOTE_FUNCTION_RETURN): Likewise. | |
45054 | (RETURN_IN_MEMORY): Likewise. | |
45055 | (STRUCT_VALUE): Likewise. | |
45056 | ||
45057 | 2004-01-26 Richard Henderson <rth@redhat.com> | |
45058 | ||
45059 | * c-parse.in (extension): Use itype. | |
45060 | (SAVE_EXT_FLAGS): Don't allocate a tree. | |
45061 | (RESTORE_EXT_FLAGS): Don't read a tree. | |
45062 | ||
45063 | 2004-01-26 Jan Hubicka <jh@suse.cz> | |
45064 | ||
e8366202 | 45065 | * cselib.c (discard_useless_values): Clear out value pointer pointing |
3eb54e5f ILT |
45066 | to datastructure to be recycled. |
45067 | ||
45068 | 2004-01-25 Jan Hubicka <jh@suse.cz> | |
45069 | ||
45070 | * genextract.c (main): Do not output the memset when not checking. | |
45071 | ||
45072 | 2004-01-26 Kazu Hirata <kazu@cs.umass.edu> | |
45073 | ||
45074 | * config/h8300/h8300.c (h8300_tiny_constant_address_p): Use a | |
45075 | switch statement instead of a chain of if statements. | |
45076 | ||
45077 | 2004-01-26 Jeff Law <law@redhat.com> | |
45078 | ||
45079 | * doc/contrib.texi: Minor cleanup for Paolo Carlini's entry. Add | |
45080 | acute accents for Petur Runolfsson's entry. | |
45081 | ||
45082 | 2004-01-26 Kazu Hirata <kazu@cs.umass.edu> | |
45083 | ||
45084 | * config/pdp11/pdp11.c (TARGET_STRUCT_VALUE_RTX): New. | |
45085 | (TARGET_RETURN_IN_MEMORY): Likewise. | |
45086 | * config/pdp11/pdp11.h (STRUCT_VALUE): Remove. | |
45087 | (RETURN_IN_MEMORY): Likewise. | |
45088 | ||
45089 | 2004-01-26 Fariborz Jahanian <fjahanian@apple.com> | |
45090 | ||
45091 | * config/rs6000/rs6000.c (rs6000_emit_move): split slow | |
45092 | unaligned load/store into smaller loads and stores. | |
45093 | ||
45094 | 2004-01-26 Fariborz Jahanian <fjahanian@apple.com> | |
45095 | ||
45096 | * function.c (assign_parms): Do not assign | |
45097 | long long argument to memory in prologue if | |
45098 | is it loaded into register. | |
45099 | ||
45100 | 2004-01-26 Fariborz Jahanian <fjahanian@apple.com> | |
45101 | ||
45102 | PR middle-end/13779 | |
45103 | * expr.c (emit_group_load): split constant | |
45104 | correctly into register components of PARALLEL insn. | |
45105 | ||
45106 | 2004-01-26 Fariborz Jahanian <fjahanian@apple.com> | |
45107 | ||
a1d1988f | 45108 | * config/rs6000/rs6000.md (save_stack_nonlocal): |
3eb54e5f ILT |
45109 | Use adjust_address_nv directly with appropriate mode. |
45110 | (restore_stack_nonlocal): Ditto. | |
45111 | ||
45112 | 2004-01-26 Kazu Hirata <kazu@cs.umass.edu> | |
45113 | ||
45114 | * config/xtensa/xtensa-protos.h: Remove the prototype for | |
45115 | xtensa_builtin_saveregs. | |
45116 | * config/xtensa/xtensa.c (TARGET_PROMOTE_FUNCTION_ARGS): New. | |
45117 | (TARGET_PROMOTE_FUNCTION_RETURN): Likewise. | |
45118 | (TARGET_PROMOTE_PROTOTYPES): Likewise. | |
45119 | (TARGET_STRUCT_VALUE_RTX): Likewise. | |
45120 | (TARGET_RETURN_IN_MEMORY): Likewise. | |
45121 | (TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise. | |
45122 | (xtensa_builtin_saveregs): Make it static. | |
45123 | (xtensa_return_in_memory): New. | |
45124 | * config/xtensa/xtensa.h (PROMOTE_FUNCTION_ARGS: Remove. | |
45125 | (PROMOTE_FUNCTION_RETURN): Likewise. | |
45126 | (PROMOTE_PROTOTYPES): Likewise. | |
45127 | (STRUCT_VALUE): Likewise. | |
45128 | (RETURN_IN_MEMORY): Likewise. | |
45129 | (EXPAND_BUILTIN_SAVEREGS): Likewise. | |
45130 | ||
45131 | 2004-01-26 Kazu Hirata <kazu@cs.umass.edu> | |
45132 | ||
45133 | * config/arm/arm.c (TARGET_SETUP_INCOMING_VARARGS): New. | |
45134 | (arm_setup_incoming_varargs): Likewise. | |
45135 | * config/arm/arm.h (SETUP_INCOMING_VARARGS): Remove. | |
45136 | ||
45137 | 2004-01-26 Kazu Hirata <kazu@cs.umass.edu> | |
45138 | ||
45139 | * config/cris/cris.c (TARGET_SETUP_INCOMING_VARARGS): New. | |
45140 | (cris_setup_incoming_varargs): Likewise. | |
45141 | * config/cris/cris.h (SETUP_INCOMING_VARARGS): Remove. | |
45142 | ||
45143 | 2004-01-26 Kazu Hirata <kazu@cs.umass.edu> | |
45144 | ||
45145 | * config/ns32k/ns32k.c (TARGET_STRUCT_VALUE_RTX): New. | |
45146 | (ns32k_struct_value_rtx): Likewise. | |
45147 | * config/ns32k/ns32k.h (STRUCT_VALUE_REGNUM): Rename to | |
45148 | NS32K_STRUCT_VALUE_REGNUM. | |
45149 | ||
45150 | 2004-01-26 Kazu Hirata <kazu@cs.umass.edu> | |
45151 | ||
45152 | * config/arm/arm.c (TARGET_PROMOTE_FUNCTION_ARGS): New. | |
45153 | (TARGET_PROMOTE_PROTOTYPES): Likewise. | |
45154 | (TARGET_STRUCT_VALUE_RTX): Likewise. | |
45155 | (arm_struct_value_rtx): Likewise. | |
45156 | * config/arm/arm.h (PROMOTE_FUNCTION_ARGS): Remove. | |
45157 | (STRUCT_VALUE): Likewise. | |
45158 | (STRUCT_VALUE_REGNUM): Likewise. | |
45159 | (PROMOTE_PROTOTYPES): Likewise. | |
45160 | ||
45161 | 2004-01-26 Kazu Hirata <kazu@cs.umass.edu> | |
45162 | ||
45163 | * config/ia64/ia64-protos.h: Remove the prototype for | |
45164 | ia64_setup_incoming_varargs and ia64_return_in_memory. | |
45165 | * config/ia64/ia64.c (TARGET_STRUCT_VALUE_RTX): New. | |
45166 | (TARGET_RETURN_IN_MEMORY): Likewise. | |
45167 | (TARGET_SETUP_INCOMING_VARARGS): Likewise. | |
45168 | (TARGET_STRICT_ARGUMENT_NAMING): Likewise. | |
45169 | (ia64_setup_incoming_varargs): Adjust the arguments to meet | |
45170 | the requirement of TARGET_SETUP_INCOMING_VARARGS. | |
45171 | (ia64_return_in_memory): Make it static. Change the return | |
45172 | type to bool from int. Add an argument. | |
45173 | (ia64_struct_value_rtx): New. | |
45174 | * config/ia64/ia64.h: Remove commented-out definitions of | |
45175 | PROMOTE_FUNCTION_ARGS, PROMOTE_FUNCTION_RETURN, and | |
45176 | PROMOTE_PROTOTYPES. | |
45177 | (RETURN_IN_MEMORY): Remove. | |
45178 | (STRUCT_VALUE_REGNUM): Likewise. | |
45179 | (STRICT_ARGUMENT_NAMING): Likewise. | |
45180 | ||
45181 | 2004-01-26 Eric Botcazou <ebotcazou@libertysurf.fr> | |
45182 | ||
45183 | PR target/13666 | |
45184 | * config/sparc/sparc.c (function_arg_union_value): New function. | |
45185 | (function_arg): Use it to deal with unions. | |
45186 | (function_value): Likewise. Define 'regbase' only for ARCH64. | |
45187 | Replace a conditional statement by a simpler one. | |
45188 | ||
45189 | 2004-01-26 Richard Sandiford <rsandifo@redhat.com> | |
45190 | ||
45191 | * config/mips/mips.c (mips16_optimize_gp): Delete. | |
45192 | (mips_reorg): Don't call it. | |
45193 | ||
45194 | 2004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz> | |
45195 | ||
45196 | * config/c4x/c4x.md (addqi3_noclobber): Move up pecking order. | |
45197 | (floatunsqihf2): Remove operand 6. | |
45198 | (fixhfqi_set, fix_trunchfqi2, fixuns_trunchfqi2): Group with other | |
45199 | fix patterns. | |
45200 | (ldi_conditional, ldf_conditional): Validate operands. | |
45201 | ||
45202 | 2004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz> | |
45203 | ||
45204 | * config/c4x/c4x.h (BCT_CHECK_LOOP_ITERATIONS): Remove. | |
45205 | (HAVE_GAS_HIDDEN): Undefine as interim measure. | |
45206 | ||
45207 | 2004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz> | |
45208 | ||
e8366202 | 45209 | * config/c4x/c4x.c (c4x_legitimate_address_p): Invalidate direct |
3eb54e5f ILT |
45210 | memory references if TARGET_EXPOSE_LDP nonzero. |
45211 | ||
45212 | 2004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz> | |
45213 | ||
45214 | * config/c4x/c4x.c (legitimize_operands): Truncate invalid shift counts. | |
45215 | ||
45216 | 2004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz> | |
45217 | ||
45218 | * config/c4x/c4x.c (c4x_valid_operands): More aggressively reject | |
45219 | invalid operand combinations. | |
45220 | ||
45221 | 2004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz> | |
45222 | ||
45223 | * config/c4x/c4x.c (c4x_check_legit_addr): Rename to | |
45224 | c4x_legitimate_address_p. Fix post_modify check. | |
45225 | ||
45226 | * config/c4x/c4x-protos.h (c4x_check_legit_addr): Adjust. | |
45227 | * config/c4x/c4x.h (c4x_check_legit_addr): Adjust. | |
45228 | ||
45229 | 2004-01-25 Kazu Hirata <kazu@cs.umass.edu> | |
45230 | ||
45231 | * config/pa/pa-protos.h: Remove the prototype for | |
45232 | hppa_builtin_saveregs. Add a prototype for | |
45233 | pa_return_in_memory. | |
45234 | * config/pa/pa.c (TARGET_PROMOTE_FUNCTION_RETURN): New. | |
45235 | (TARGET_PROMOTE_PROTOTYPES): Likewise. | |
45236 | (TARGET_STRUCT_VALUE_RTX): Likewise. | |
45237 | (TARGET_RETURN_IN_MEMORY): Likewise. | |
45238 | (TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise. | |
45239 | (pa_struct_value_rtx): Likewise. | |
45240 | (pa_return_in_memory): Likewise. | |
45241 | * config/pa/pa.h (STRUCT_VALUE_REGNUM): Rename to | |
45242 | PA_STRUCT_VALUE_REGNUM. | |
45243 | (INIT_CUMULATIVE_ARGS): Use pa_return_in_memory. | |
45244 | (EXPAND_BUILTIN_SAVEREGS): Remove. | |
45245 | (PROMOTE_PROTOTYPES): Likewise. | |
45246 | (PROMOTE_FUNCTION_RETURN): Likewise. | |
45247 | ||
45248 | 2004-01-25 Kazu Hirata <kazu@cs.umass.edu> | |
45249 | ||
45250 | * config/vax/vax.c (TARGET_PROMOTE_PROTOTYPES): New. | |
45251 | (TARGET_STRUCT_VALUE_RTX): Likewise. | |
45252 | (vax_struct_value_rtx): Likewise. | |
45253 | * config/vax/vax.h (STRUCT_VALUE_REGNUM): Rename to | |
45254 | VAX_STRUCT_VALUE_REGNUM. | |
45255 | (PROMOTE_PROTOTYPES): Remove. | |
45256 | ||
45257 | 2004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz> | |
45258 | ||
e8366202 | 45259 | * config/c4x/c4x.h (LEGITIMIZE_RELOAD_ADDRESS): Handle symref. |
3eb54e5f ILT |
45260 | |
45261 | 2004-01-25 Chris Demetriou <cgd@broadcom.com> | |
45262 | ||
45263 | * config/mips/mips.h (ISA_HAS_HILO_INTERLOCKS): MIPS32, MIPS32r2, | |
45264 | and MIPS64 have HI/LO interlocks. Update comment. | |
45265 | ||
45266 | 2004-01-25 Kazu Hirata <kazu@cs.umass.edu> | |
45267 | ||
45268 | * config/stormy16/stormy16-protos.h: Remove the prototype for | |
45269 | xstormy16_setup_incoming_varargs. | |
45270 | * config/stormy16/stormy16.c | |
45271 | (xstormy16_setup_incoming_varargs): Remove. | |
45272 | (xstormy16_return_in_memory): New. | |
45273 | (TARGET_PROMOTE_FUNCTION_ARGS): Likewise. | |
45274 | (TARGET_PROMOTE_FUNCTION_RETURN): Likewise. | |
45275 | (TARGET_PROMOTE_PROTOTYPES): Likewise. | |
45276 | (TARGET_STRUCT_VALUE_RTX): Likewise. | |
45277 | (TARGET_RETURN_IN_MEMORY): Likewise. | |
45278 | * config/stormy16/stormy16.h (PROMOTE_FUNCTION_ARGS): Remove. | |
45279 | (PROMOTE_FUNCTION_RETURN): Likewise | |
45280 | (PROMOTE_PROTOTYPES): Likewise | |
45281 | (RETURN_IN_MEMORY): Likewise | |
45282 | (STRUCT_VALUE): Likewise | |
45283 | (SETUP_INCOMING_VARARGS): Likewise | |
45284 | ||
45285 | 2004-01-25 Richard Sandiford <rsandifo@redhat.com> | |
45286 | ||
45287 | * config/mips/mips.c (mips_offset_within_object_p): New function. | |
45288 | (mips_symbolic_constant_p): Use it in the SYMBOL_SMALL_DATA and | |
45289 | SYMBOL_CONSTANT_POOL cases. Also use it for SYMBOL_GENERAL if the | |
45290 | ABI has 64-bit pointers and the object file only allows 32-bit symbols. | |
45291 | ||
45292 | 2004-01-25 Kazu Hirata <kazu@cs.umass.edu> | |
45293 | ||
45294 | * config/sh/sh.h (PROMOTE_FUNCTION_ARGS): Remove. | |
45295 | (PROMOTE_FUNCTION_RETURN): Likewise. | |
45296 | ||
45297 | 2004-01-25 Kazu Hirata <kazu@cs.umass.edu> | |
45298 | ||
45299 | * config/mn10300/mn10300-protos.h: Remove the prototype for | |
45300 | mn10300_builtin_saveregs. | |
45301 | * config/mn10300/mn10300.c (TARGET_PROMOTE_PROTOTYPES): New. | |
45302 | (TARGET_STRUCT_VALUE_RTX): Likewise. | |
45303 | (TARGET_RETURN_IN_MEMORY): Likewise. | |
45304 | (TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise. | |
45305 | (mn10300_return_in_memory): Likewise. | |
45306 | (mn10300_builtin_saveregs): Make it static. | |
45307 | * config/mn10300/mn10300.h (PROMOTE_PROTOTYPES): Remove. | |
45308 | (RETURN_IN_MEMORY): Likewise. | |
45309 | (STRUCT_VALUE): Likewise. | |
45310 | (EXPAND_BUILTIN_SAVEREGS): Likewise. | |
45311 | ||
45312 | 2004-01-25 Eric Botcazou <ebotcazou@act-europe.fr> | |
45313 | ||
45314 | PR bootstrap/13853 | |
45315 | * cfgcleanup.c (try_optimize_cfg): Explicitly test against 0. | |
45316 | ||
45317 | 2004-01-25 Kazu Hirata <kazu@cs.umass.edu> | |
45318 | ||
45319 | * config/h8300/lib1funcs.asm (divnorm, modnorm): Optimize by | |
45320 | using ccr. | |
45321 | ||
45322 | 2004-01-25 Kazu Hirata <kazu@cs.umass.edu> | |
45323 | ||
45324 | * config/i860/i860-protos.h: Remove the prototype for | |
45325 | i860_saveregs. | |
45326 | * config/i860/i860.c (i860_saveregs): Make it static. | |
45327 | (i860_struct_value_rtx): New. | |
45328 | (TARGET_STRUCT_VALUE_RTX): Likewise. | |
45329 | (TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise. | |
45330 | * config/i860/i860.h (STRUCT_VALUE_REGNUM): Rename to | |
45331 | I860_STRUCT_VALUE_REGNUM. | |
45332 | (EXPAND_BUILTIN_SAVEREGS): Remove. | |
45333 | ||
45334 | 2004-01-25 Kazu Hirata <kazu@cs.umass.edu> | |
45335 | ||
45336 | * config/m68hc11/m68hc11.c (TARGET_STRUCT_VALUE_RTX): New. | |
45337 | (TARGET_RETURN_IN_MEMORY): Likewise. | |
45338 | (m68hc11_struct_value_rtx): Likewise. | |
45339 | (m68hc11_return_in_memory): Likewise. | |
45340 | * config/m68hc11/m68hc11.h: Remove a commented-out definition | |
45341 | of PROMOTE_PROTOTYPES. | |
45342 | (RETURN_IN_MEMORY): Remove. | |
45343 | (STRUCT_VALUE_REGNUM): Likewise. | |
45344 | ||
45345 | 2004-01-25 Kazu Hirata <kazu@cs.umass.edu> | |
45346 | ||
45347 | * config/mmix/mmix-protos.h: Remove the prototype for | |
45348 | mmix_setup_incoming_varargs. | |
45349 | * config/mmix/mmix.c (TARGET_PROMOTE_FUNCTION_ARGS): New. | |
45350 | (TARGET_STRUCT_VALUE_RTX): Likewise. | |
45351 | (TARGET_SETUP_INCOMING_VARARGS): Likewise. | |
45352 | (mmix_setup_incoming_varargs): Make it static. | |
45353 | (mmix_struct_value_rtx): New. | |
45354 | * config/mmix/mmix.h (PROMOTE_FUNCTION_ARGS): Remove. | |
45355 | Remove a commented-out definition of PROMOTE_FUNCTION_RETURN. | |
45356 | (STRUCT_VALUE_REGNUM): Remove. | |
45357 | (SETUP_INCOMING_VARARGS): Likewise. | |
45358 | ||
45359 | 2004-01-25 Kazu Hirata <kazu@cs.umass.edu> | |
45360 | ||
45361 | * config/mips/mips-protos.h: Remove the prototypes for | |
45362 | mips_setup_incoming_varargs and mips_return_in_memory. | |
45363 | * config/mips/mips.c (TARGET_PROMOTE_FUNCTION_ARGS): New. | |
45364 | (TARGET_PROMOTE_FUNCTION_RETURN): Likewise. | |
45365 | (TARGET_PROMOTE_PROTOTYPES): Likewise. | |
45366 | (TARGET_STRUCT_VALUE_RTX): Likewise. | |
45367 | (TARGET_RETURN_IN_MEMORY): Likewise. | |
45368 | (TARGET_SETUP_INCOMING_VARARGS): Likewise. | |
45369 | (TARGET_STRICT_ARGUMENT_NAMING): Likewise. | |
45370 | (mips_setup_incoming_varargs): Match the prototype for | |
45371 | TARGET_SETUP_INCOMING_VARARGS. | |
45372 | (mips_return_in_memory): Make it static. Add argument fntype. | |
45373 | (mips_strict_argument_naming): New. | |
45374 | * config/mips/mips.h (PROMOTE_PROTOTYPES): Remove. | |
45375 | (PROMOTE_FUNCTION_ARGS): Likewise. | |
45376 | (PROMOTE_FUNCTION_RETURN): Likewise. | |
45377 | (STRUCT_VALUE): Likewise. | |
45378 | (RETURN_IN_MEMORY): Likewise. | |
45379 | (SETUP_INCOMING_VARARGS): Likewise. | |
45380 | (STRICT_ARGUMENT_NAMING): Likewise. | |
45381 | ||
45382 | 2004-01-25 Kazu Hirata <kazu@cs.umass.edu> | |
45383 | ||
45384 | * config/ip2k/ip2k.c (TARGET_STRUCT_VALUE_RTX): New. | |
45385 | (TARGET_RETURN_IN_MEMORY): Likewise. | |
45386 | (TARGET_SETUP_INCOMING_VARARGS): Likewise. | |
45387 | (ip2k_return_in_memory): Likewise. | |
45388 | (ip2k_setup_incoming_varargs): Likewise. | |
45389 | * config/ip2k/ip2k.h (RETURN_IN_MEMORY): Remove. | |
45390 | (STRUCT_VALUE): Likewise. | |
45391 | (STRUCT_VALUE_INCOMING): Likewise. | |
45392 | (SETUP_INCOMING_VARARGS): Likewise. | |
45393 | ||
45394 | 2004-01-25 Kazu Hirata <kazu@cs.umass.edu> | |
45395 | ||
45396 | * config/avr/avr.c (TARGET_STRUCT_VALUE_RTX): New. | |
45397 | (TARGET_RETURN_IN_MEMORY): Likewise. | |
45398 | (TARGET_STRICT_ARGUMENT_NAMING): Likewise. | |
45399 | (avr_return_in_memory): Remove. | |
45400 | * config/avr/avr.h (RETURN_IN_MEMORY): Remove. | |
45401 | (STRUCT_VALUE): Likewise. | |
45402 | (STRUCT_VALUE_INCOMING): Likewise. | |
45403 | (STRICT_ARGUMENT_NAMING): Likewise. | |
45404 | ||
45405 | 2004-01-25 Jan Hubicka <jh@suse.cz> | |
45406 | ||
45407 | * combine.c (recog_for_combine): Avoid allocating unnecesary RTX. | |
45408 | ||
45409 | 2004-01-25 Richard Sandiford <rsandifo@redhat.com> | |
45410 | ||
45411 | * config/mips/mips-protos.h (mips_reg_mode_ok_for_base_p): Delete. | |
45412 | (mips_regno_mode_ok_for_base_p): Declare. | |
45413 | * config/mips/mips.h (ARG_POINTER_REGNUM): Renumber to 77. | |
45414 | (FRAME_POINTER_REGNUM): Renumber to 78. | |
45415 | (FIRST_PSEUDO_REGISTER): Update comment accordingly. | |
45416 | (BASE_REG_P, GP_REG_OR_PSEUDO_STRICT_P): Delete. | |
45417 | (GP_REG_OR_PSEUDO_NONSTRICT_P): Delete. | |
45418 | (REGNO_MODE_OK_FOR_BASE_P): Use mips_regno_mode_ok_for_base_p. | |
45419 | (REG_MODE_OK_FOR_BASE_P): Likewise. | |
45420 | * config/mips/mips.c (mips_reg_names, mips_sw_reg_names): Change | |
45421 | entry for 77 to "$arg" and entry for 78 to "$frame". | |
45422 | (mips_regno_to_class): Map 77 and 78 to ALL_REGS. | |
45423 | (mips_reg_mode_ok_for_base_p): Remove. | |
45424 | (mips_regno_mode_ok_for_base_p): New function, derived from old | |
45425 | BASE_REG_P macro. Don't enforce the mips16 stack pointer | |
45426 | restrictions unless we're being strict. | |
45427 | (mips_valid_base_register_p): Use mips_regno_mode_ok_for_base_p. | |
45428 | ||
45429 | 2004-01-24 Kazu Hirata <kazu@cs.umass.edu> | |
45430 | ||
45431 | * c-common.h: Fix comment typos. | |
45432 | * c-decl.c: Likewise. | |
45433 | * cgraphunit.c: Likewise. | |
45434 | * combine.c: Likewise. | |
45435 | * et-forest.c: Likewise. | |
45436 | * flow.c: Likewise. | |
45437 | * function.c: Likewise. | |
45438 | * ifcvt.c: Likewise. | |
45439 | * integrate.c: Likewise. | |
45440 | * jump.c: Likewise. | |
45441 | * postreload.c: Likewise. | |
45442 | * varray.c: Likewise. | |
45443 | ||
45444 | 2004-01-24 Kazu Hirata <kazu@cs.umass.edu> | |
45445 | ||
45446 | * doc/frontends.texi: Update copyright. | |
45447 | * doc/gcov.texi: Likewise. | |
45448 | * doc/gty.texi: Likewise. | |
45449 | * doc/sourcebuild.texi: Likewise. | |
45450 | * doc/standards.texi: Likewise. | |
45451 | ||
45452 | 2004-01-24 Herman A.J. ten Brugge <hermantenbrugge@home.nl> | |
45453 | ||
45454 | PR target/12978 | |
45455 | * c4x.md: (movstrqi*) Use match_scratch instead of match_dup. | |
45456 | Remove movstrqi_small because it conflicts with movstrqi_large. | |
45457 | ||
45458 | 2004-01-24 Kazu Hirata <kazu@cs.umass.edu> | |
45459 | ||
45460 | * config/cris/cris.c (TARGET_PROMOTE_FUNCTION_ARGS): New. | |
45461 | (TARGET_STRUCT_VALUE_RTX): Likewise. | |
45462 | (cris_struct_value_rtx): Likewise. | |
45463 | * config/cris/cris.h (PROMOTE_FUNCTION_ARGS): Remove. | |
45464 | (CRIS_STACKADJ_REG): Use CRIS_STRUCT_VALUE_REGNUM instead of | |
45465 | STRUCT_VALUE_REGNUM. | |
45466 | (STRUCT_VALUE_REGNUM): Rename to CRIS_STRUCT_VALUE_REGNUM. | |
45467 | ||
45468 | 2004-01-24 Ian Lance Taylor <ian@wasabisystems.com> | |
45469 | ||
45470 | PR bootstrap/13848 | |
45471 | * cse.c (cse_cc_succs): Change the mode of the source expression | |
45472 | as soon as decide we need a new mode. Don't permit changing modes | |
45473 | if we found a match in a successor block. | |
45474 | (cse_condition_code_reg): Save original mode of source expression | |
45475 | so that we know whether we have to change the mode in other | |
45476 | insns. | |
45477 | ||
45478 | 2004-01-24 Jan Hubicka <jh@suse.cz> | |
45479 | ||
45480 | * emit-rtl.c (change_address, adjust_address_1, offset_address, | |
e8366202 | 45481 | widen_memory_access): Return early when there is nothing to change. |
3eb54e5f ILT |
45482 | |
45483 | 2004-01-24 Jakub Jelinek <jakub@redhat.com> | |
45484 | ||
45485 | * simplify-rtx.c (simplify_relational_operation): Don't | |
45486 | simplify address == constant into address + -constant == 0. | |
45487 | ||
45488 | 2004-01-24 Kazu Hirata <kazu@cs.umass.edu> | |
45489 | ||
45490 | * gcc.c (process_command): Don't internationalize the | |
45491 | Copyright message. | |
45492 | * mips-tfile.c (main): Likewise. | |
45493 | ||
45494 | 2004-01-24 Andreas Tobler <a.tobler@schweiz.ch> | |
45495 | ||
45496 | * cse.c: (cse_cc_succs) Fix comparison warning. | |
45497 | ||
45498 | 2004-01-24 Kazu Hirata <kazu@cs.umass.edu> | |
45499 | ||
45500 | * config/h8300/h8300.md: Remove extraneous USE in expanders. | |
45501 | ||
45502 | 2004-01-24 Kazu Hirata <kazu@cs.umass.edu> | |
45503 | ||
45504 | * config/h8300/h8300-protos.h: Provide prototypes for | |
45505 | h8300_legitimate_constant_p and h8300_legitimate_address_p. | |
45506 | * config/h8300/h8300.c (h8300_legitimate_constant_p): New. | |
45507 | (h8300_rtx_ok_for_base_p): Likewise. | |
45508 | (h8300_legitimate_address_p): Likewise. | |
45509 | * config/h8300/h8300.h (LEGITIMATE_CONSTANT_P): Use | |
45510 | h8300_legitimate_constant_p. | |
45511 | (RTX_OK_FOR_BASE_P): Remove. | |
45512 | (GO_IF_LEGITIMATE_ADDRESS): Use h8300_legitimate_address_p. | |
45513 | ||
45514 | 2004-01-24 Kazu Hirata <kazu@cs.umass.edu> | |
45515 | ||
45516 | * config/h8300/h8300.h (REG_OK_FOR_INDEX_NONSTRICT_P): New. | |
45517 | (REG_OK_FOR_BASE_NONSTRICT_P): Likewise. | |
45518 | (REG_OK_FOR_INDEX_STRICT_P): Likewise. | |
45519 | (REG_OK_FOR_BASE_STRICT_P): Likewise. | |
45520 | (REG_OK_FOR_INDEX_STRICT_P): Use REGNO_OK_FOR_INDEX_P. | |
45521 | (REG_OK_FOR_BASE_STRICT_P): Use REGNO_OK_FOR_BASE_P. | |
45522 | (REG_OK_FOR_INDEX_P): Use REG_OK_FOR_INDEX_STRICT_P. | |
45523 | (REG_OK_FOR_BASE_P): Use REG_OK_FOR_BASE_STRICT_P. | |
45524 | ||
45525 | 2004-01-24 Jan Hubicka <jh@suse.cz> | |
45526 | ||
e8366202 | 45527 | * cselib.c (remove_useless_values): Do not access discarded values. |
3eb54e5f ILT |
45528 | |
45529 | 2004-01-24 Joseph S. Myers <jsm@polyomino.org.uk> | |
45530 | ||
45531 | * c-typeck.c (build_conditional_expr): Do not allow non-lvalue | |
45532 | arrays. | |
45533 | ||
45534 | 2004-01-23 Kazu Hirata <kazu@cs.umass.edu> | |
45535 | ||
45536 | * recog.c: Fix a typo in copyright. | |
45537 | ||
45538 | 2004-01-23 Andrew Pinski <apinski@apple.com> | |
45539 | ||
45540 | * config/rs6000/rs6000.md (call): Fix misappiled patch. | |
45541 | (call_value): Likewise. | |
45542 | ||
45543 | 2004-01-23 Richard Henderson <rth@redhat.com> | |
45544 | ||
45545 | PR opt/12941 | |
45546 | * combine.c (SHIFT_COUNT_TRUNCATED): Provide default value. | |
45547 | (simplify_comparison): Don't simplify (eq (zero_extract c 1 r) 0) | |
45548 | if SHIFT_COUNT_TRUNCATED is set. | |
45549 | ||
45550 | 2004-01-23 Bob Wilson <bob.wilson@acm.org> | |
45551 | ||
45552 | * config/xtensa/xtensa.c (xtensa_va_arg): Handle complex values as | |
45553 | separate real and imaginary parts. | |
45554 | * config/xtensa/xtensa.h (SPLIT_COMPLEX_ARGS): Define. | |
45555 | ||
45556 | 2004-01-23 Hartmut Penner <hpenner@de.ibm.com> | |
45557 | ||
45558 | PR target/13674 | |
45559 | * config/rs6000/rs6000.md (movdf_hardfloat64): Do not disparage | |
45560 | loading into GPR. | |
45561 | ||
45562 | 2004-01-23 Jan Hubicka <jh@suse.cz> | |
45563 | ||
e8366202 | 45564 | * emit-rtl.c (change_address_1): Do not re-generate the RTX if nothing |
3eb54e5f ILT |
45565 | change. |
45566 | ||
45567 | * alloc-pool.c (align_four): Kill. | |
45568 | (create_alloc_pool): Align size to eight. | |
45569 | (free_alloc_pool, free_pool): Invalidate deallocated data. | |
45570 | ||
45571 | 2004-01-23 Ian Lance Taylor <ian@wasabisystems.com> | |
45572 | ||
45573 | PR gcc/1532 | |
45574 | * cse.c (cse_change_cc_mode): New static function. | |
45575 | (cse_change_cc_mode_insns, cse_cc_succs): Likewise. | |
45576 | (cse_condition_code_reg): New function. | |
45577 | * rtl.h (cse_condition_code_reg): Declare. | |
45578 | * toplev.c (rest_of_handle_cse2): Call cse_condition_code_reg. | |
45579 | * target.h (struct gcc_target): Add fixed_condition_code_regs and | |
45580 | cc_modes_compatible. | |
45581 | * target-def.h (TARGET_FIXED_CONDITION_CODE_REGS): Define. | |
45582 | (TARGET_CC_MODES_COMPATIBLE): Define. | |
45583 | (TARGET_INITIALIZER): Add new initializers. | |
45584 | * targhooks.c (default_cc_modes_compatible): New function. | |
45585 | * targhooks.c (default_cc_modes_compatible): Declare. | |
45586 | * hooks.c (hook_bool_intp_intp_false): New function. | |
45587 | * hooks.h (hook_bool_intp_intp_false): Declare. | |
45588 | * config/i386/i386.c (TARGET_FIXED_CONDITION_CODE_REGS): Define. | |
45589 | (TARGET_CC_MODES_COMPATIBLE): Define. | |
45590 | (ix86_fixed_condition_code_regs): New static function. | |
45591 | (ix86_cc_modes_compatible): Likewise. | |
45592 | * doc/tm.texi (Condition Code): Document new hooks. | |
45593 | ||
45594 | 2004-01-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> | |
45595 | ||
45596 | * fixinc/inclhack.def (bad_lval): Renamed to ... | |
45597 | (alpha_bad_lval): ... this. | |
45598 | Removed file list. | |
45599 | Restrict to alpha*-dec-osf*. | |
45600 | * fixinc/fixincl.x: Regenerate. | |
45601 | * fixinc/tests/base/dirent.h: Remove, moving test ... | |
45602 | * fixinc/tests/base/testing.h: ... here, reflecting new name. | |
45603 | ||
45604 | 2004-01-23 Zack Weinberg <zack@codesourcery.com> | |
45605 | ||
45606 | PR c/13814 | |
45607 | * c-decl.c (diagnose_mismatched_decls): Also discard a | |
45608 | built-in if we encounter an old-style definition with the | |
45609 | same name. | |
45610 | ||
45611 | 2004-01-23 Jakub Jelinek <jakub@redhat.com> | |
45612 | ||
45613 | * config.gcc (powerpc*-*): Clear $with_cpu or $with_tune if it was | |
45614 | set to default{32,64}. | |
45615 | ||
45616 | 2004-01-21 Jakub Jelinek <jakub@redhat.com> | |
45617 | ||
45618 | * config/rs6000/linux64.h (MD_FALLBACK_FRAME_STATE_FOR) | |
45619 | [!__powerpc64__]: Corrected to handle kernels with changed ucontext. | |
45620 | ||
45621 | 2004-01-23 Eric Botcazou <ebotcazou@act-europe.fr> | |
45622 | Olivier Hainque <hainque@act-europe.fr> | |
45623 | ||
45624 | * fold-const.c (fold_binary_op_with_conditional_arg): Only | |
45625 | build a COMPOUND_EXPR if 'arg' is really a SAVE_EXPR. | |
45626 | ||
45627 | 2004-01-23 Daniel Jacobowitz <drow@mvista.com> | |
45628 | ||
45629 | * config/arm/arm.c (arm_legitimate_address_p): Don't check the mode | |
45630 | size for minipool references. | |
45631 | ||
45632 | 2004-01-23 Roger Sayle <roger@eyesopen.com> | |
45633 | ||
45634 | * real.c (real_floor, real_ceil): Tweak to allow input and output | |
45635 | arguments to overlap. | |
45636 | (real_round): New function to implement round(3m) semantics. | |
45637 | * real.h (real_round): Prototype here. | |
45638 | * builtins.c (fold_builtin_round): New function to constant fold | |
45639 | round, roundf and roundl. | |
45640 | (fold_builtin): Call fold_builtin_round for BUILT_IN_ROUND{,F,L}. | |
45641 | ||
45642 | 2004-01-23 Alexandre Oliva <aoliva@redhat.com> | |
45643 | ||
45644 | PR optimization/13819 | |
45645 | * config/sh/sh.c (sh_reorg): Compensate for sharing of CLOBBERs | |
45646 | introduced by 2004-01-20's Jan Hubicka's copy_insn change. | |
45647 | (sh_handle_sp_switch_attribute): Remove warning. | |
45648 | ||
45649 | 2004-01-23 Jan Hubicka <jh@suse.cz> | |
45650 | ||
e8366202 | 45651 | * i386.c (ix86_emit_restore_regs_using_mov): Deal with large offsets. |
3eb54e5f ILT |
45652 | |
45653 | 2004-01-23 J"orn Rennecke <joern.rennecke@superh.com> | |
45654 | ||
45655 | * doc/tm.texi: Insert some weasel words when LOAD_EXTEND_OP | |
45656 | may or may not return non-NIL. | |
45657 | * postreload.c (reload_cse_simplify_operands): In LOAD_EXTEND_OP code, | |
45658 | check CANNOT_CHANGE_MODE_CLASS | |
45659 | ||
45660 | 2004-01-23 Jan Hubicka <jh@suse.cz> | |
45661 | ||
45662 | * basic-block.h (PROP_POSTRELOAD): New macro. | |
45663 | (CLEANUP_LOG_LINKS): New. | |
45664 | * cfgcleanup.c (cleanup_cfg): Only PROP_LOG_LINKS when asked to. | |
e8366202 | 45665 | * toplev.c (rest_of_handle_life): Preserve LOG_LINKS trought cleanup_cfg. |
3eb54e5f ILT |
45666 | |
45667 | * cselib.c (value_pool): New. | |
45668 | (new_cselib_val): Use pool. | |
45669 | (cselib_init): Initialize value_pool | |
45670 | (cselib_finish): Free pool. | |
45671 | ||
45672 | 2004-01-23 Eric Botcazou <ebotcazou@libertysurf.fr> | |
45673 | ||
45674 | * config/sparc/sparc.c (scan_record_type): New function. | |
45675 | (function_arg_slotno): Use it to determine which kinds of | |
45676 | registers the record can be passed in. | |
45677 | ||
45678 | 2004-01-22 James A. Mmorrison <ja2morri@uwaterloo.ca> | |
45679 | ||
45680 | * config/pa/fptr.c: Fix old-style definition. | |
45681 | ||
45682 | 2004-01-22 Paolo Bonzini <bonzini@gnu.org> | |
45683 | ||
45684 | PR optimization/13724 | |
e8366202 | 45685 | * cse.c (fold_rtx) <SUBREG>: Fold a SUBREG to zero if it |
3eb54e5f ILT |
45686 | represents the zero bits produced by a ZERO_EXTEND operation. |
45687 | ||
45688 | 2004-01-22 Roger Sayle <roger@eyesopen.com> | |
45689 | ||
45690 | PR optimization/13821 | |
45691 | * simplify-rtx.c (simplify_subreg): Use subreg_lowpart_offset to | |
45692 | correctly calculate the lowpart offset of the contracted subreg. | |
45693 | ||
45694 | 2004-01-22 Ian Lance Taylor <ian@wasabisystems.com> | |
45695 | ||
45696 | * doc/invoke.texi (Optimize Options): Note that --param arguments | |
45697 | are subject to change without notice. | |
45698 | ||
45699 | 2004-01-22 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> | |
45700 | ||
45701 | * config.gcc (mips-sgi-irix6*o32): Removed. | |
45702 | * config/mips/iris6-o32-as.h: Likewise. | |
45703 | * config/mips/iris6-o32-gas.h: Likewise. | |
45704 | * config/mips/iris6-o32.h: Likewise. | |
45705 | ||
45706 | 2004-01-22 Jan Hubicka <jh@suse.cz> | |
45707 | ||
45708 | * cfgcleanup.c (first_pass): New static variable. | |
e8366202 MS |
45709 | (try_forward_edges): Add work limiting check for threading. |
45710 | (try_crossjump_bb): Add work limiting check for crossjumping. | |
45711 | (try_optimize_cfg): Maintain first pass variable. | |
3eb54e5f ILT |
45712 | |
45713 | 2004-01-22 Bob Wilson <bob.wilson@acm.org> | |
45714 | ||
45715 | * config/xtensa/xtensa.c (function_arg): Generalize logic so that it | |
45716 | handles complex and vector modes. | |
45717 | ||
45718 | 2004-01-22 Kazu Hirata <kazu@cs.umass.edu> | |
45719 | ||
45720 | * config/h8300/h8300.h (REG_OK_FOR_INDEX_P_STRICT): Remove. | |
45721 | (REG_OK_FOR_BASE_P_STRICT): Likewise. | |
45722 | (STRICT): Likewise. | |
45723 | ||
45724 | 2004-01-22 Daniel Jacobowitz <drow@mvista.com> | |
45725 | ||
45726 | * c-semantics.c (genrtl_while_stmt, genrtl_do_stmt_1) | |
45727 | (genrtl_for_stmt): Remove emit_nop calls. | |
45728 | ||
45729 | 2004-01-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
45730 | ||
45731 | PR target/13713 | |
45732 | PR target/13324 | |
45733 | * pa.md (movstrsi_prereload, movstrsi_postreload, movstrdi_prereload, | |
45734 | movstrdi_postreload, clrstrsi_prereload, clrstrsi_postreload, | |
45735 | clrstrdi_prereload, clrstrdi_postreload): Fix constraints. | |
45736 | ||
45737 | 2004-01-22 Daniel Jacobowitz <drow@mvista.com> | |
45738 | ||
45739 | * config/arm/arm.c: Include "debug.h". | |
45740 | (thumb_pushpop): Take two new arguments. Add some commentary. | |
45741 | Output frame information when pushing. | |
45742 | (thumb_exit, thumb_unexpanded_epilogue): Update calls to | |
45743 | thumb_pushpop. | |
45744 | (thumb_output_function_prologue): Likewise. Accumulate a CFA | |
45745 | offset, and pass it to thumb_pushpop. Output CFI information. | |
45746 | (thumb_expand_prologue): Add some frame-related markers and notes. | |
45747 | ||
45748 | 2004-01-22 Ulrich Weigand <uweigand@de.ibm.com> | |
45749 | ||
45750 | * config/s390/s390.c (s390_frame_info): Allow large frame sizes | |
45751 | for TARGET_64BIT. | |
45752 | (s390_arg_frame_offset): Change return type to HOST_WIDE_INT. | |
45753 | * config/s390/s390-protos.h (s390_arg_frame_offset): Likewise. | |
45754 | ||
45755 | 2004-01-22 Roger Sayle <roger@eyesopen.com> | |
45756 | Paolo Bonzini <bonzini@gnu.org> | |
45757 | ||
45758 | * rtlanal.c (subreg_lsb_1): New function split out from subreg_lsb. | |
45759 | (subreg_lsb): Change to call new subreg_lsb_1 helper function. | |
45760 | * rtl.h (subreg_lsb_1): Prototype here. | |
45761 | * simplify-rtx.c (simplify_subreg): Optimize subregs of zero and | |
45762 | sign extensions. | |
45763 | ||
45764 | 2004-01-22 Kazu Hirata <kazu@cs.umass.edu> | |
45765 | ||
45766 | * doc/tm.texi (CASE_VECTOR_PC_RELATIVE): Mention that the | |
45767 | macro need not be defined if jump-tables should contain | |
45768 | relative addresses only when -fPIC or -fPIC is in effect. | |
45769 | ||
45770 | 2004-01-22 Jan Hubicka <jh@suse.cz> | |
45771 | ||
45772 | * alias.c (reg_base_value): Turn into varray. | |
45773 | (reg_base_value_size): Kill. | |
45774 | (old_reg_base_value): New deletable varray. | |
45775 | (alias_invariant_size): New variable. | |
45776 | (REG_BASE_VALUE): Update to use varray. | |
45777 | (find_base_value): Likewise. | |
45778 | (record_set): Likewise. | |
45779 | (record_base_value): Likewise. | |
45780 | (memrefs_conflict_p): Likewise. | |
45781 | (record_set): Likewise | |
45782 | (record_base_value): Likewise. | |
45783 | (memrefs_conflict_p): Use alias_invariant_size. | |
45784 | (init_alias_analysis): Use varray; set alias_invariant_size; | |
45785 | rescale other arrays to be sized by maxreg. | |
45786 | (end_alias_analysis): Save reg_base_value; clear alias_invariant_size. | |
45787 | ||
45788 | 2004-01-22 Eric Botcazou <ebotcazou@libertysurf.fr> | |
45789 | ||
45790 | * config/sparc/sparc.c (function_arg_slotno): Use | |
45791 | FLOAT_TYPE_P to detect FP fields in structures. | |
45792 | (function_arg_record_value_1): Likewise. | |
45793 | (function_arg_record_value_2): Likewise. | |
45794 | ||
45795 | 2004-01-22 Jan Hubicka <jh@suse.cz> | |
45796 | ||
45797 | * function.c (allocate_struct_function): Do not initialize expr, emit | |
45798 | and varasm. | |
45799 | (prepare_function_start): Do it here. | |
45800 | * c-parse.in (maybe_type_qual): Do not produce line number notes. | |
45801 | ||
45802 | 2004-01-22 Eric Botcazou <ebotcazou@libertysurf.fr> | |
45803 | ||
45804 | PR target/13559 | |
45805 | * config/sparc/sparc.c (function_arg_record_value_3): Revert | |
45806 | to 'word_mode' once the first slot has been filled. | |
45807 | ||
45808 | 2004-01-22 Olivier Hainque <hainque@act-europe.fr> | |
45809 | ||
45810 | * config/sparc/sparc.c (function_arg_record_value_1): Fix | |
45811 | computation of the number of integer registers required. | |
45812 | ||
45813 | 2004-01-21 Kazu Hirata <kazu@cs.umass.edu> | |
45814 | ||
45815 | * config/i386/i386.md: Simplify certain comparisons of | |
45816 | const_int. | |
45817 | ||
45818 | 2004-01-21 Andrew Pinski <apinski@apple.com> | |
45819 | ||
45820 | PR target/13785 | |
45821 | * config/rs6000/rs6000.md (call_value): Force operand | |
45822 | 1 not operand 0 into a register. | |
45823 | ||
45824 | 2004-01-21 Kazu Hirata <kazu@cs.umass.edu> | |
45825 | ||
45826 | * cpperror.c, cpptrad.c, longlong.h, params.def, rtl.def, | |
45827 | unwind-dw2-fde.h: Update copyright. | |
45828 | ||
45829 | 2004-01-21 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
45830 | ||
45831 | * pa-protos.h: Update copyright. | |
45832 | * pa.h: Likewise. | |
45833 | * pa.md: Likewise. | |
45834 | ||
45835 | 2004-01-21 Caroline Tice <ctice@apple.com> | |
45836 | ||
45837 | PR target/12308 | |
45838 | * config/i386/i386.md (fix_truncxfdi2): Add clause to clobber | |
45839 | flags register. | |
45840 | (fix_truncdfdi2): Likewise. | |
45841 | (fix_truncsfdi2): Likewise. | |
45842 | (*fix_truncdi_1): Likewise. | |
45843 | (fix_truncxfsi2): Likewise. | |
45844 | (fix_truncdfsi2): Likewise. | |
45845 | (fix_truncsfsi2): Likewise. | |
45846 | (*fix_truncsi_1): Likewise. | |
45847 | (fix_truncxfhi2): Likewise. | |
45848 | (fix_truncdfhi2): Likewise. | |
45849 | (fix_truncsfhi2): Likewise. | |
45850 | (*fix_trunchi_1): Likewise. | |
45851 | ||
45852 | 2004-01-21 Kazu Hirata <kazu@cs.umass.edu> | |
45853 | ||
45854 | * alias.c, basic-block.h, c-common.c, c-common.h, | |
45855 | c-cppbuiltin.c, c-opts.c, c-pragma.c, c-pretty-print.c, | |
45856 | calls.c, cfg.c, cfgcleanup.c, cfgrtl.c, cgraph.h, collect2.c, | |
45857 | combine.c, cppcharset.c, cpphash.h, cppinit.c, cpplib.c, | |
45858 | cpplib.h, cppmacro.c, crtstuff.c, cselib.c, cselib.h, | |
45859 | defaults.h, df.c, dominance.c, et-forest.c, expmed.c, expr.c, | |
45860 | expr.h, fix-header.c, function.h, gcc.c, gcse.c, genattrtab.c, | |
45861 | genautomata.c, genconditions.c, genemit.c, genflags.c, | |
45862 | gengtype.c, gengtype.h, genopinit.c, genrecog.c, gensupport.c, | |
45863 | ggc-zone.c, graph.c, haifa-sched.c, input.h, integrate.c, | |
45864 | langhooks-def.h, langhooks.c, langhooks.h, line-map.c, | |
45865 | line-map.h, local-alloc.c, optabs.c, optabs.h, postreload.c, | |
45866 | ra.h, recog.c, reg-stack.c, regmove.c, reload.c, reorg.c, | |
45867 | rtl.c, sched-deps.c, sched-ebb.c, sdbout.c, system.h, | |
45868 | target.h, targhooks.c, toplev.h, tree-inline.c, unwind-pe.h, | |
45869 | unwind.h, varray.c, varray.h: Update copyright. | |
45870 | ||
45871 | 2004-01-21 Kazu Hirata <kazu@cs.umass.edu> | |
45872 | ||
45873 | * config/h8300/coff.h: Update copyright. | |
45874 | * config/h8300/elf.h: Likewise. | |
45875 | * config/h8300/h8300-protos.h: Likewise. | |
45876 | * config/h8300/h8300.c: Likewise. | |
45877 | * config/h8300/h8300.h: Likewise. | |
45878 | * config/h8300/h8300.md: Likewise. | |
45879 | ||
45880 | 2004-01-21 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
45881 | ||
45882 | * fixinc/inclhack.def (hpux10_stdio_declarations, ultrix_const3, | |
45883 | ultrix_locale, ultrix_stdlib, ultrix_strings, ultrix_sys_time, | |
45884 | ultrix_unistd): New hacks. | |
45885 | * fixinc/tests/base/stdio.h (HPUX10_STDIO_DECLARATIONS_CHECK, | |
45886 | ULTRIX_CONST2_CHECK): Add checks. | |
45887 | * fixinc/tests/base/stdlib.h (ULTRIX_STDLIB_CHECK): Likewise. | |
45888 | * fixinc/tests/base/strings.h (ULTRIX_STRINGS2_CHECK): Likewise. | |
45889 | * fixinc/tests/base/unistd.h (ULTRIX_UNISTD_CHECK): Likewise. | |
45890 | * fixinc/tests/base/sys/time.h (ULTRIX_SYS_TIME_CHECK): Likewise. | |
45891 | * fixinc/tests/base/locale.h: New file. | |
45892 | * fixinc/fixincl.x: Rebuilt. | |
45893 | ||
45894 | 2004-01-21 Andreas Jaeger <aj@suse.de> | |
45895 | Michael Matz <matz@suse.de> | |
45896 | ||
45897 | * doc/extend.texi (Extended Asm): Clarify memory clobber. | |
45898 | ||
45899 | 2004-01-21 Jakub Jelinek <jakub@redhat.com> | |
45900 | ||
45901 | * crtstuff.c (frame_dummy, __do_global_ctors_1): Call | |
45902 | _Jv_RegisterClasses through a function pointer. | |
45903 | ||
45904 | 2004-01-21 Falk Hueffner <falk@debian.org> | |
45905 | ||
45906 | PR target/12898 | |
45907 | * config/alpha/alpha.c (alpha_emit_set_const_1): If | |
45908 | no_new_pseudos, use gen_rtx_SET directly for SImode constants | |
45909 | which need multiple instructions to emit. | |
45910 | ||
45911 | 2004-01-21 Inaoka Kazuhiro <inaoka.kazuhiro@renesas.com> | |
45912 | ||
45913 | * config/m32r/m32r.h (CPP_SPEC): Define. | |
45914 | ||
45915 | 2004-01-21 Zack Weinberg <zack@codesourcery.com> | |
45916 | ||
45917 | * c-decl.c (merge_decls): Kill different_binding_level and | |
45918 | different_tu arguments; simplify throughout. | |
45919 | (duplicate_decls): Likewise. | |
45920 | (pushdecl, merge_translation_unit_decls): Update calls to | |
45921 | duplicate_decls. | |
45922 | ||
45923 | 2004-01-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | |
45924 | ||
45925 | * Makefile.in (pretty-print.o): Depend on $(CONFIG_H) and | |
45926 | $(SYSTEM_H). | |
45927 | (print-rtl1.o): Depend on $(SYSTEM_H). | |
45928 | ||
45929 | 2004-01-20 Kelley Cook <kcook@gcc.gnu.org> | |
45930 | ||
45931 | PR bootstrap/12730 | |
45932 | * configure.ac: Delete definition and subsitution of docdir. | |
45933 | Add info, man, srcman and srcinfo to target hooks. Create doc/ | |
45934 | directory. | |
45935 | * configure: Regenerate. | |
45936 | * Makefile.in: Don't substitute docdir and delete all references | |
45937 | throughout. | |
45938 | (MAKEINFOFLAGS): Define. | |
45939 | (stmp-docobjdir): Delete. | |
45940 | (INFOFILES, MANFILES): Define. | |
45941 | (info): Call lang.info, srcinfo and lang.srcinfo. | |
45942 | (generated-manpages): Call lang.man, srcman and lang.srcman. | |
45943 | (srcinfo, srcman): New rules to copy back files to source directory. | |
45944 | (doc/%.info, doc/%.dvi, doc/%.1, doc/%.7): New implict rule. | |
45945 | (install-man): Revamp rule. | |
45946 | (clean): Update dvi directory. | |
45947 | (distclean): Delete TAGS from front end directorys. | |
45948 | (maintainer-clean): Delete all document files in source directory. | |
45949 | ||
45950 | objc/Make-lang.in (objc.man, objc.info): Dummy entries. | |
45951 | (objc.srcman, objc.srcinfo): Likewise. | |
45952 | ||
45953 | 2004-01-20 Bruce Korb <bkorb@gnu.org> | |
45954 | ||
45955 | * fixinc/inclhack.def(math_exception): bypass only for glibc. | |
45956 | (matherr_decl): rename & relocate as exception_structure. | |
45957 | This fix must precede the math_exception fix. | |
45958 | ||
45959 | 2004-01-20 Roger Sayle <roger@eyesopen.com> | |
45960 | ||
45961 | * fold-const.c (fold_convert): Rename to fold_convert_const. | |
45962 | (fold_convert_const): Change arguments to take a tree_code, | |
45963 | a type and the operand/expression to be converted. Return | |
45964 | NULL_TREE if no simplification is possible. Add support for | |
45965 | FIX_CEIL_EXPR and FIX_FLOOR_EXPR in addition to FIX_TRUNC_EXPR. | |
45966 | (fold): Handle FIX_CEIL_EXPR and FIX_FLOOR_EXPR. | |
45967 | Adjust call to fold_convert to match new fold_convert_const. | |
45968 | Avoid modifying the tree passed to fold in-place. | |
45969 | ||
45970 | 2004-01-21 Alan Modra <amodra@bigpond.net.au> | |
45971 | ||
45972 | * config/rs6000/sysv4.h (DWARF2_FRAME_REG_OUT): Define. | |
45973 | * dwarf2out.c (output_cfi): Map regs using DWARF2_FRAME_REG_OUT. | |
45974 | * doc/tm.texi (DWARF_FRAME_REGNUM, DWARF2_FRAME_REG_OUT): Document. | |
45975 | ||
45976 | 2004-01-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
45977 | ||
45978 | * pa-protos.h (compute_frame_size): Use HOST_WIDE_INT for frame sizes. | |
45979 | * pa.c (store_reg, store_reg_modify, load_reg, set_reg_plus_d): | |
45980 | Likewise. Handle frames larger than 0x7fffffff on 64-bit ports. | |
45981 | (emit_move_sequence): Check scratch_reg first in various if statements. | |
45982 | Extend source simplification to handle all 64-bit CONST_INTs. | |
45983 | (pa_output_function_prologue): Use HOST_WIDE_INT_PRINT_DEC for printing | |
45984 | frame size. | |
45985 | (hppa_expand_prologue, hppa_expand_epilogue): Use HOST_WIDE_INT for | |
45986 | frame offset calculations. | |
45987 | * pa.h (NEW_HP_ASSEMBLER): Add comment. | |
45988 | (MAX_LEGIT_64BIT_CONST_INT, MIN_LEGIT_64BIT_CONST_INT, | |
45989 | LEGITIMATE_64BIT_CONST_INT_P): Define. | |
45990 | (LEGITIMATE_CONSTANT_P): Use LEGITIMATE_64BIT_CONST_INT_P. Treat | |
45991 | any CONST_INT as legitimate during and after reload. | |
45992 | (VAL_32_BITS_P, INT_32_BITS): Define. | |
45993 | (LEGITIMIZE_RELOAD_ADDRESS): Handle large frame offsets. | |
45994 | ||
45995 | 2004-01-20 Jan Hubicka <jh@suse.cz> | |
45996 | ||
45997 | * emit-rtl.c (verify_rtx_sharing, copy_insn_1, | |
45998 | emit_copy_of_insn_after, emit_copy_of_insn_after): Clobbers | |
45999 | containing hard regs are shared. | |
46000 | (gen_hard_reg_clobber): New function. | |
46001 | (hard_reg_clobbers): New array. | |
46002 | * genemit.c (gen_exp): Use gen_hard_reg_clobber. | |
46003 | (copy_rtx): Do not copy clobbers containing hard regs. | |
46004 | * rtl.h (gen_hard_reg_clobber): Declare. | |
46005 | ||
46006 | 2004-01-20 Jan Hubicka <jh@suse.cz> | |
46007 | ||
e8366202 | 46008 | * varray.c: Include hashtab.h |
3eb54e5f ILT |
46009 | (varray_descriptor): New structure. |
46010 | (hash_descriptor, eq_descriptor, varray_descriptor, | |
46011 | print_statistics): New static functions | |
46012 | (varray_init, varray_grow): Update statistics | |
46013 | (dump_varray_statistics): New function. | |
46014 | * varray.h (dump_varray_statistics): Declare. | |
46015 | * toplev.c (finalize): Call it. | |
46016 | * Makefile.in (varray.o): Add dependency. | |
46017 | ||
46018 | 2004-01-20 Jan Hubicka <jh@suse.cz> | |
46019 | ||
46020 | * cselib.c: Include alloc-pool.h | |
46021 | (empty_vals, empty_elt_lists, empty_elt_loc_lists): Kill. | |
46022 | (elt_loc_list_pool, elt_list_pool, cselib_val_pool): Declare. | |
46023 | (new_elt_list, new_elt_loc_list, unchain_one_elt_list, | |
46024 | unchain_one_elt_loc_list_pool, unchain_one_value, | |
46025 | new_cselib_val): Simplify using allocpool. | |
46026 | (cselib_init): Initialize allocpools. | |
46027 | (cselib_finish): Finish allocpools. | |
46028 | * Makefile.in (cselib.o): Depend on alloc-pool.h | |
46029 | ||
46030 | 2004-01-20 Richard Sandiford <rsandifo@redhat.com> | |
46031 | ||
46032 | * config/mips/mips.c (mips_load_call_address): Make the call insn | |
46033 | use $gp if it could be calling a lazy binding stub. | |
46034 | ||
46035 | 2004-01-20 Kazu Hirata <kazu@cs.umass.edu> | |
46036 | ||
46037 | * config/s390/s390.c (TARGET_PROMOTE_FUNCTION_ARGS): Define. | |
46038 | (TARGET_PROMOTE_FUNCTION_RETURN): Likewise. | |
46039 | (TARGET_STRUCT_VALUE_RTX): Likewise. | |
46040 | * config/s390/s390.h (PROMOTE_FUNCTION_ARGS): Remove. | |
46041 | (PROMOTE_FUNCTION_RETURN): Remove. | |
46042 | (STRUCT_VALUE): Remove. | |
46043 | ||
46044 | 2004-01-20 Denis Chertykov <denisc@overta.ru> | |
46045 | ||
46046 | PR bootstrap/13735 | |
46047 | * config/avr/avr.h (BASE_REG_CLASS): Don't permit to use X | |
46048 | register as pointer after reload. | |
46049 | ||
46050 | 2004-01-20 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> | |
46051 | ||
46052 | PR optimization/12440 | |
46053 | * loop.c: Include ggc.h. | |
46054 | (loop_optimize): Run garbage collector between optimization of loops. | |
46055 | * Makefile.in (loop.o): Add GGC_H dependency. | |
46056 | ||
46057 | 2004-01-20 Hartmut Penner <hpenner@de.ibm.com> | |
46058 | ||
a1d1988f | 46059 | * config/rs6000/rs6000.c (function_arg) Handle |
3eb54e5f ILT |
46060 | vector register special in function without prototype. |
46061 | (function_arg_advance): Vector parameters get always | |
46062 | GPRs allocated for the linux64 target. | |
46063 | ||
46064 | 2004-01-20 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com> | |
46065 | ||
46066 | * config/m32r/m32r.h (TARGET_M32R2). Test for TARGET_M32R2_MASK | |
46067 | not TARGET_M32RX_MASK. | |
46068 | ||
46069 | 2004-01-20 Eric Botcazou <ebotcazou@libertysurf.fr> | |
46070 | ||
46071 | PR target/13557 | |
46072 | * config/sparc/sparc.c (function_arg): Reorder the cases. | |
46073 | ||
46074 | 2004-01-19 Per Bothner <per@bothner.com> | |
46075 | ||
46076 | Move cpp_reader's line_maps field to a shared global. | |
e8366202 | 46077 | * cpphash.h (cpp_reader): Rename line_maps field to line_table |
3eb54e5f | 46078 | and change the type to a pointer rather than a struct. |
e8366202 | 46079 | * cppinit.c (cpp_push_main_field): Adjust accordingly. |
3eb54e5f ILT |
46080 | * cpplib.c (do_include_common, _cpp_do_file_change, cpp_get_callbacks): |
46081 | Likewise. | |
e8366202 | 46082 | * cppfiles.c (validate_pch): Likewise. |
3eb54e5f ILT |
46083 | * cppmacro.c (_cpp_warn_if_unused_macro, _cpp_builtin_macro_text): |
46084 | Likewise. | |
e8366202 MS |
46085 | * cpperror.c (print_location): Likewise. |
46086 | * cpplib.h (cpp_create_reader): New line_maps pointer parameter. | |
46087 | * cppinit.c (cpp_create_reader): Handle new parameter. | |
46088 | (cpp_destroy): Don't free line_maps - that's no longer our job. | |
46089 | * input.h (line_table): New variable. | |
46090 | * toplev.c (line_table): Declare variable. | |
46091 | (general_init): Initialize line_table. | |
46092 | * c-opts.c (c_common_init_options): Pass line_table to | |
3eb54e5f | 46093 | cpp_create_reader. |
e8366202 | 46094 | * fix-header.c (read_scan_file): New local variable line_table. |
3eb54e5f | 46095 | Initialize, and pass it to cpp_create_reader. |
e8366202 MS |
46096 | * Makefile.in (LIBS, LIBDEPS): Add libcpp.a. |
46097 | (C_AND_OBJC_OBJS, fix-header): Remove redundant libcpp.a. | |
3eb54e5f ILT |
46098 | |
46099 | 2004-01-19 Per Bothner <per@bothner.com> | |
46100 | ||
46101 | Implement a cache for linemap_lookup. | |
e8366202 MS |
46102 | * line-map.h (struct_line_maps): Add cache field. |
46103 | * line-map.c (linemap_init): Zero cache field. | |
46104 | (linemap_add): Set cache field to offset of newly allocated map. | |
46105 | (linemap_lookup): Use and set cache field. | |
3eb54e5f ILT |
46106 | |
46107 | 2004-01-20 Kaz Kojima <kkojima@gcc.gnu.org> | |
46108 | ||
46109 | PR optimization/13567 | |
46110 | * cse.c (cse_basic_block): Call cse_insn with a non-null | |
46111 | libcall_insn for the last SET insn of a no-confilict block. | |
46112 | ||
46113 | 2004-01-20 Kelley Cook <kcook@gcc.gnu.org> | |
46114 | ||
46115 | * Makefile.in (target_noncanonical, program_transform_name): Use | |
46116 | immediate define instead of deferred. | |
46117 | (GCC_INSTALL_NAME, GCC_TARGET_INSTALL_NAME, CPP_INSTALL_NAME, | |
46118 | PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME, GCOV_INSTALL_NAME, | |
46119 | GCCBUG_INSTALL_NAME): Define via a immediate $(shell) instead of | |
46120 | deferred backquote. | |
46121 | ||
46122 | 2004-01-20 Joseph S. Myers <jsm@polyomino.org.uk> | |
46123 | ||
46124 | * c-decl.c (c_init_decl_processing): Set pedantic_lvalues to | |
46125 | true unconditionally. | |
46126 | * c-typeck.c (unary_complex_lvalue, pedantic_lvalue_warning): | |
46127 | Remove. | |
46128 | (build_unary_op, build_modify_expr): Don't handle extended | |
46129 | lvalues. | |
46130 | (build_component_ref, build_conditional_expr): Call non_lvalue | |
46131 | instead of pedantic_non_lvalue. | |
46132 | (build_c_cast): Don't condition use of non_lvalue on pedantic. | |
46133 | * fold-const.c (fold): Don't check pedantic directly for | |
46134 | COMPOUND_EXPR. Ensure that results for COMPOUND_EXPR are | |
46135 | passed to pedantic_non_lvalue. | |
46136 | * doc/extend.texi: Remove documentation of extended lvalues. | |
46137 | ||
46138 | 2004-01-19 Roger Sayle <roger@eyesopen.com> | |
46139 | ||
46140 | PR optimization/5263 | |
46141 | * simplify-rtx.c (associative_constant_p): Delete. | |
46142 | (simplify_associative_operation): Rewrite to linearize terms, and | |
46143 | attempt to simplify new term against both left and right subterms. | |
46144 | (simplify_binary_operation): Call swap_commutative_operands_p on | |
46145 | op0 and op1, not trueop0 and trueop1. Move the initialization of | |
46146 | trueop0 and trueop1 down to where first needed. | |
46147 | (simplify_relational_operation): Likewise. | |
46148 | * rtlanal.c (commutative_operand_precedence): Also order constant | |
46149 | operands using avoid_constant_pool_reference. | |
46150 | ||
46151 | 2004-01-19 Richard Henderson <rth@redhat.com> | |
46152 | ||
46153 | * config/alpha/alpha.c (aligned_memory_operand): Check MEM_ALIGN, | |
46154 | don't check memory mode. | |
46155 | (unaligned_memory_operand): Likewise. | |
46156 | (reload_inqi, reload_inhi, reload_outqi, reload_outhi): Don't | |
46157 | abort for op0 not MEM. | |
46158 | ||
46159 | * config/alpha/alpha.c (alpha_expand_mov_nobwx): If the destination | |
46160 | is not a reg, copy to a scratch first. | |
46161 | (aligned_loadqi, aligned_loadhi, unaligned_loadqi, unaligned_loadhi, | |
46162 | unaligned_loadqi_le, unaligned_loadqi_be, unaligned_loadhi_le, | |
46163 | unaligned_loadhi_be): Expect op0 in DImode; don't SUBREG. | |
46164 | (reload_inqi, reload_inhi): Fix mode of op0. | |
46165 | (reload_inqi_help, reload_inhi_help, reload_outqi_help, | |
46166 | reload_outhi_help): Likewise. Use define_insn_and_split. | |
46167 | ||
46168 | * config/alpha/alpha.md (call peepholes): Check for REG_NORETURN | |
46169 | as well as $29 dead. | |
46170 | ||
46171 | 2004-01-19 Eric Botcazou <ebotcazou@libertysurf.fr> | |
46172 | ||
46173 | * config/sparc/sol2.h (ASM_DECLARE_OBJECT_NAME): New. Emit | |
46174 | "tls_object" for thread-local objects. | |
46175 | * config/sparc/sparc.c (sparc_elf_asm_named_section): Emit | |
46176 | "#tls" for thread-local sections. | |
46177 | * configure.ac (thread-local checks): Specify --fatal-warnings in | |
46178 | every binutils-specific checks. For sparc*-*-*, test whether the | |
46179 | OS is Solaris and the tools are native and act accordingly. | |
46180 | * configure: Rebuild. | |
46181 | ||
46182 | 2004-01-19 Jeff Law <law@redhat.com> | |
46183 | ||
46184 | * contrib.texi: Update Paolo Carlini's entry. New entries for | |
46185 | Jerry Quinn and Petur Runolfsson. | |
46186 | ||
46187 | 2004-01-19 Roger Sayle <roger@eyesopen.com> | |
46188 | ||
46189 | * config/i386/i386.md (*movhi_1, *movqi_1): When optimizing for | |
46190 | size, don't use the larger zero-extending loads. | |
46191 | ||
46192 | 2004-01-19 Richard Henderson <rth@redhat.com> | |
46193 | ||
46194 | * alpha.h (HARD_REGNO_MODE_OK): Disallow SImode in FP regs. | |
46195 | * alpha.md (UNSPEC_NT_LDA): Remove. | |
46196 | (UNSPEC_CVTLQ, cvtlq): New. | |
46197 | (extendsidi2_1): Rename from extendsidi2_nofix; remove f/f. | |
46198 | (extendsidi2_fix): Remove. | |
46199 | (extendsidi2 splitter): Use cvtlq. | |
46200 | (extendsidi2 fp peepholes): Remove. | |
46201 | (cvtql): Use SFmode instead of SImode. | |
46202 | (fix_trunc?fsi): Update to match. | |
46203 | (floatsisf2_ieee, floatsisf2, floatsidf2_ieee, floatsidf2): New. | |
46204 | (movsi): Rename from movsi_nofix, remove f alternatives. | |
46205 | (movsi_nt_vms): Similarly. | |
46206 | (movsi_fix, movsi_nt_vms_fix): Remove. | |
46207 | (nt_lda): Remove. | |
46208 | * alpha.c (alpha_expand_prologue): Use adddi3, not nt_lda. | |
46209 | ||
46210 | 2004-01-19 Jan Hubicka <jh@suse.cz> | |
46211 | ||
46212 | * cgraph.c (cgraph_remove_node): Fix removal from linked list. | |
46213 | * cgraphunit.c (cgraph_finalize_compilation_unit): Clear next_needed | |
46214 | list. | |
46215 | (cgraph_remove_unreachable_nodes): New function | |
46216 | (cgraph_decide_inlining_of_small_function): Fix pasto. | |
46217 | (cgraph_decide_inlining_incrementally): Fix pasto. | |
46218 | (cgrpah_decide_inlining): Likewise; remove unreachable nodes. | |
46219 | ||
46220 | 2004-01-19 Steven Bosscher <stevenb@suse.de> | |
46221 | ||
46222 | * gengtype.c (header_file): Make it static. | |
46223 | (write_types_process_field, write_enum_defn): Minor whitespace fixes. | |
46224 | * gengtype.h (header_file): No longer extern. | |
46225 | ||
46226 | 2004-01-18 Kazu Hirata <kazu@cs.umass.edu> | |
46227 | ||
46228 | * defaults.h (CASE_VECTOR_PC_RELATIVE): Provide the default. | |
46229 | * expr.c (CASE_VECTOR_PC_RELATIVE): Remove. | |
46230 | * stmt.c (CASE_VECTOR_PC_RELATIVE): Likewise. | |
46231 | ||
46232 | 2004-01-18 Kazu Hirata <kazu@cs.umass.edu> | |
46233 | ||
46234 | * stmt.c (HAVE_casesi): Define it not already defined. | |
46235 | (HAVE_tablejump): Likewise. | |
46236 | (expand_end_case_type): Resort to the binary tree method if | |
46237 | neither casesi or tablejump is available. | |
46238 | ||
46239 | 2004-01-18 Daniel Jacobowitz <drow@mvista.com> | |
46240 | ||
46241 | * final.c (final_scan_insn): Make non-static again. | |
46242 | * output.h (final_scan_insn): Re-add prototype. | |
46243 | * config/arc/arc.c (arc_output_function_epilogue): Add NULL | |
46244 | to final_scan_insn call. | |
46245 | * config/cris/cris.c (cris_target_asm_function_epilogue): Likewise. | |
46246 | * config/mips/mips.c (mips_output_conditional_branch): Likewise. | |
46247 | * config/pa/pa.c (output_lbranch, output_call): Likewise. | |
46248 | * config/sh/sh.c (print_slot): Likewise. | |
46249 | * config/sparc/sparc.c (sparc_nonflat_function_epilogue): Likewise. | |
46250 | (output_sibcall, sparc_flat_function_epilogue): Likewise. | |
46251 | ||
46252 | 2004-01-18 Jan Hubicka <jh@suse.cz> | |
46253 | ||
46254 | * basic-block.h (try_redirect_by_replacing_jump): Declare. | |
46255 | * cfgcleanup.c (try_optimize_cfg): Use it. | |
46256 | * cfgrtl.c (try_redirect_by_replacing_jump): Export. | |
46257 | (rtl_redirect_edge_and_branch, cfg_layout_redirect_edge_and_branch): | |
46258 | Kill hack. | |
46259 | (cfg_layout_merge_blocks): Use try_redirect_by_replacing_jump. | |
46260 | ||
46261 | Revert: | |
46262 | 2004-01-16 Geoffrey Keating <geoffk@apple.com> | |
46263 | ||
46264 | * cfgrtl.c (try_redirect_by_replacing_jump): Optimize tablejumps | |
46265 | even after reload, just don't remove the actual jump tables. | |
46266 | ||
46267 | 2004-01-18 Kazu Hirata <kazu@cs.umass.edu> | |
46268 | ||
46269 | * config/rs6000/rs6000.h (STRICT_ARGUMENT_NAMING): Remove. | |
46270 | ||
46271 | 2004-01-18 Kazu Hirata <kazu@cs.umass.edu> | |
46272 | ||
46273 | * defaults.h (ASM_OUTPUT_ADDR_VEC_ELT): Fix the computation of | |
46274 | the size of a pointer in bytes. | |
46275 | ||
46276 | 2004-01-18 Roger Sayle <roger@eyesopen.com> | |
46277 | ||
46278 | * builtins.c (expand_builtin_expect_jump): Fix thinko of reusing | |
46279 | live "next" variable, which could lead to an infinite loop. | |
46280 | ||
46281 | 2004-01-18 Andrew Pinski <pinskia@physics.uc.edu> | |
46282 | ||
46283 | * config/rs6000/altivec.h: Wrap C++ functions in extern "C++" | |
46284 | block. | |
46285 | ||
46286 | * config/rs6000/rs6000.c (rs6000_special_round_type_align): | |
46287 | Check for NULL in the chain and remove repeated code. | |
46288 | ||
46289 | 2004-01-18 Jan Hubicka <jh@suse.cz> | |
46290 | ||
46291 | * coverage.c (checksum_string): Rename to ... | |
46292 | (coverage_checksum_string): ... this one, Use crc32_string; recognize | |
46293 | names containing random number and zero the number out in order to get | |
46294 | match. | |
46295 | ||
46296 | 2004-01-18 Richard Sandiford <rsandifo@redhat.com> | |
46297 | ||
46298 | * config/mips/mips.c (mips_got_alias_set): Mark for PCH. | |
46299 | ||
46300 | 2004-01-18 Joseph S. Myers <jsm@polyomino.org.uk> | |
46301 | ||
46302 | * doc/c-tree.texi, doc/cpp.texi, doc/extend.texi, | |
46303 | doc/frontends.texi, doc/gcov.texi, doc/gty.texi, doc/install.texi, | |
46304 | doc/invoke.texi, doc/libgcc.texi, doc/md.texi, doc/rtl.texi, | |
46305 | doc/sourcebuild.texi, doc/standards.texi, doc/tm.texi, | |
46306 | doc/trouble.texi: Remove trailing whitespace. | |
46307 | ||
46308 | 2004-01-18 Richard Sandiford <rsandifo@redhat.com> | |
46309 | ||
46310 | PR target/7618 | |
46311 | * config/mips/mips.c: Include cfglayout.h. | |
46312 | (TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define. | |
46313 | (mips_unspec_offset_high): Add temporary register argument. | |
46314 | (mips_load_call_address): New function, split out from... | |
46315 | (mips_expand_call): ...here. | |
46316 | (mips_output_cplocal): New function. | |
46317 | (mips_output_function_prologue, mips_output_function_epilogue): Use it. | |
46318 | (mips_emit_loadgp): New function, split out from... | |
46319 | (mips_expand_prologue): ...here. | |
46320 | (mips_output_mi_thunk): New function. | |
46321 | ||
46322 | 2004-01-17 Bernardo Innocenti <bernie@develer.com> | |
46323 | ||
46324 | * longlong.h (mc68020, __mc68030__, mc68030, __mc68040__, mc68040, | |
46325 | mcpu32): Remove redundant checks for implied target predefines. | |
46326 | ||
46327 | 2004-1-17 Andrew Pinski <pinskia@physics.uc.edu> | |
46328 | ||
46329 | * config/rs6000/rs6000.c (rs6000_special_round_type_align): | |
46330 | Return type is unsigned int not int. | |
46331 | * config/rs6000/rs6000-protos.h (rs6000_special_round_type_align): | |
46332 | Likewise. | |
46333 | ||
46334 | 2004-01-18 Joseph S. Myers <jsm@polyomino.org.uk> | |
46335 | ||
46336 | * doc/contrib.texi, doc/cppenv.texi, doc/extend.texi, | |
46337 | doc/install.texi, doc/invoke.texi, doc/tm.texi: Consistently use | |
46338 | "GNU/Linux" and "Microsoft Windows" terminology. | |
46339 | ||
46340 | 2004-01-18 Joseph S. Myers <jsm@polyomino.org.uk> | |
46341 | ||
46342 | * doc/c-tree.texi, doc/compat.texi, doc/cpp.texi, | |
46343 | doc/cppopts.texi, doc/extend.texi, doc/install.texi, | |
46344 | doc/interface.texi, doc/invoke.texi, doc/libgcc.texi, doc/md.texi, | |
46345 | doc/objc.texi, doc/rtl.texi, doc/tm.texi, doc/trouble.texi: Use | |
46346 | @smallexample instead of @example. | |
46347 | ||
46348 | 2004-01-17 Ziemowit Laski <zlaski@apple.com> | |
46349 | ||
46350 | * objc/objc-act.c (build_objc_method_call): Use target | |
46351 | hooks instead of macros to determine if ..._stret | |
46352 | dispatchers should be used (NeXT runtime only). | |
46353 | ||
46354 | 2004-01-17 Roger Sayle <roger@eyesopen.com> | |
46355 | ||
46356 | * builtins.c (expand_builtin_expect_jump): Fix mistake in my | |
46357 | last patch. Use XEXP (x, 0) to get a LABEL_REF's CODE_LABEL. | |
46358 | ||
46359 | 2004-01-17 Daniel Jacobowitz <drow@mvista.com> | |
46360 | ||
46361 | * rtl.h (emit_insn_before_sameloc, emit_jump_insn_before_sameloc) | |
46362 | (emit_call_insn_before_sameloc, emit_insn_after_sameloc) | |
46363 | (emit_jump_insn_after_sameloc, emit_call_insn_after_sameloc): New | |
46364 | macros. | |
46365 | * reload1.c (emit_reload_insns): Use them. | |
46366 | * emit-rtl.c (emit_insn_before_sameloc, emit_insn_after_sameloc) | |
46367 | (emit_jump_insn_after_sameloc, emit_call_insn_after_sameloc): Check | |
46368 | for NULL PATTERN. | |
46369 | ||
46370 | 2004-01-17 Daniel Jacobowitz <drow@mvista.com> | |
46371 | ||
46372 | * final.c (SEEN_BB, SEEN_NOTE, SEEN_EMITTED): Define. | |
46373 | (final_scan_insn): Update to take an additional SEEN argument. Emit | |
46374 | a line note after the prologue. Make static. | |
46375 | (line_note_exists): Remove. | |
46376 | (final): Don't initialize line_note_exists. Update call to | |
46377 | final_scan_insn. | |
46378 | * output.h (final_scan_insn): Remove prologue. | |
46379 | * function.c (set_insn_locators): Update comment. | |
46380 | (thread_prologue_and_epilogue_insns): Add a comment. | |
46381 | ||
46382 | 2004-01-17 Andrew Pinski <pinskia@physics.uc.edu> | |
46383 | ||
46384 | PR target/10781 | |
46385 | * config/rs6000/rs6000-protos.h (rs6000_special_round_type_align): | |
46386 | Prototype. | |
46387 | * config/rs6000/rs6000.c (rs6000_special_round_type_align): | |
46388 | New function. | |
46389 | * config/rs6000/linux64.h (ROUND_TYPE_ALIGN): Use it. | |
46390 | * config/rs6000/aix.h (ROUND_TYPE_ALIGN): Likewise. | |
46391 | * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Likewise. | |
46392 | ||
46393 | 2004-01-17 Jan Hubicka <jh@suse.cz> | |
46394 | ||
46395 | * toplev.c (rest_of_handle_reorder_blocks): Fix pasto in previous | |
46396 | commit. | |
46397 | ||
46398 | * toplev.c (HAVE_conditional_execution): Provide default. | |
46399 | (rest_of_handle_reorder_blocks): For conditional_execution target | |
46400 | update liveness once after all transformations | |
46401 | (rest_of_compilation): Do crossjumping before ce3. | |
46402 | ||
46403 | 2004-01-17 Geoffrey Keating <geoffk@apple.com> | |
46404 | ||
46405 | * alias.c (new_alias_set): Mark last_alias_set for PCH. | |
46406 | (get_varargs_alias_set): Rename 'set' to 'varargs_set' and mark it | |
46407 | for PCH. | |
46408 | (get_frame_alias_set): Likewise, except rename it to 'frame_set'. | |
46409 | * config/rs6000/rs6000.c (rs6000_sr_alias_set): Mark for PCH. | |
46410 | (get_TOC_alias_set): Mark 'set' for PCH. | |
46411 | ||
46412 | 2004-01-16 Geoffrey Keating <geoffk@apple.com> | |
46413 | ||
46414 | * cfgrtl.c (try_redirect_by_replacing_jump): Optimize tablejumps | |
46415 | even after reload, just don't remove the actual jump tables. | |
46416 | ||
46417 | 2004-01-17 J. Brobecker <brobecker@gnat.com> | |
46418 | ||
46419 | * dwarf2out.c (is_subrange_type): Renamed from is_ada_subrange_type(). | |
46420 | Remove checks for is_ada() and TREE_UNSIGNED. | |
46421 | (subrange_type_die): Emit a byte_size attribute if the subrange | |
46422 | type size is different from the base type size. | |
46423 | (modified_type_die): Replace call to is_ada_subrange_type() by | |
46424 | call to is_subrange_type(). | |
46425 | ||
46426 | 2004-01-16 Andrew Pinski <pinskia@physics.uc.edu> | |
46427 | ||
46428 | * config/sh/sh.c: Include ggc.h. | |
46429 | ||
46430 | 2004-01-16 Geoffrey Keating <geoffk@apple.com> | |
46431 | ||
46432 | * Makefile.in (MD5_H): New. | |
46433 | (fold-const.o): Depend on md5.h. | |
46434 | (dwarf2out.o): Likewise. | |
46435 | (cppfiles.o): Likewise. | |
46436 | * cppfiles.c: Include md5.h. | |
46437 | (should_stack_file): Check against list read from PCH file. | |
46438 | (struct pchf_data): New. | |
46439 | (pchf): New variable. | |
46440 | (struct pchf_adder_info): New. | |
46441 | (pchf_adder): New. | |
46442 | (pchf_save_compare): New. | |
46443 | (_cpp_save_file_entries): New. | |
46444 | (_cpp_read_file_entries): New. | |
46445 | (struct pchf_compare_data): New. | |
46446 | (pchf_compare): New. | |
46447 | (check_file_against_entries): New. | |
46448 | * cpphash.h (_cpp_save_file_entries): Prototype. | |
46449 | (_cpp_read_file_entries): Prototype. | |
46450 | * cpppch.c (cpp_write_pch_state): Write the list of headers. | |
46451 | (cpp_read_state): Read the list of headers. | |
46452 | ||
46453 | 2004-01-17 Jan Hubicka <jh@suse.cz> | |
46454 | ||
46455 | * c-common.c (c_estimate_num_insns_1): Handle builtin_constant_p and | |
46456 | builtin_expect specially. | |
46457 | * params.def (PARAM_MAX_INLINE_INSNS_AUTO): Set to 100. | |
46458 | (PARAM_LARGE_FUNCTION_INSNS): Set to 3000. | |
46459 | * invoke.texi (max-inline-insns-single): Set to 100. | |
46460 | (large-function-insns): Set to 3000. | |
46461 | ||
46462 | 2004-01-16 Eric Christopher <echristo@redhat.com> | |
46463 | Chandrakala Chavva <cchavva@redhat.com> | |
46464 | ||
46465 | * cppcharset.c (one_iso88591_to_utf8): New function. | |
46466 | (convert_iso88591_utf8): Ditto. Use. | |
46467 | (conversion_tab): Use. | |
46468 | (_cpp_input_to_utf8): New function. | |
46469 | (_cpp_init_iconv_buffer): Ditto. | |
46470 | (_cpp_close_iconv_buffer): Ditto. | |
46471 | * cpphash.h: Prototype new functions. | |
46472 | (cpp_buffer): Add input_cset_desc. | |
46473 | * cppinit.c: Add input_charset default. | |
46474 | * cpplib.c (cpp_push_buffer): Support init and | |
46475 | close of iconv. | |
46476 | * cpplib.h (cpp_options): Add input_charset. | |
46477 | ||
46478 | 2004-01-16 Kazu Hirata <kazu@cs.umass.edu> | |
46479 | ||
46480 | * system.h (ASM_OUTPUT_SECTION_NAME): Poison. | |
46481 | * config/alpha/unicosmk.h: Remove a commented-out definition | |
46482 | of ASM_OUTPUT_SECTION_NAME. | |
46483 | * config/stormy16/stormy16.h: Likewise. | |
46484 | ||
46485 | 2004-01-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> | |
46486 | ||
46487 | * fixinc/inclhack.def (alpha___extern_prefix): Renamed to ... | |
46488 | (alpha___extern_prefix_sys_stat): ... this. | |
46489 | Apply to <sys/mount.h>, too. | |
46490 | Tweak to match more variations. | |
46491 | * fixinc/tests/base/sys/stat.h: Adapt for new hackname. | |
46492 | ||
46493 | * fixinc/inclhack.def (alpha___extern_prefix, | |
46494 | alpha___extern_prefix_standards): New hacks to obey | |
46495 | __PRAGMA_EXTERN_PREFIX. | |
46496 | * fixinc/tests/base/testing.h [ALPHA___EXTERN_PREFIX_CHECK]: New | |
46497 | test. | |
46498 | * fixinc/tests/base/standards.h: Likewise. | |
46499 | ||
46500 | * fixincl/inclhack.def (alpha_pthread): Tweak to match more | |
46501 | variations. | |
46502 | New testcase. | |
46503 | * fixinc/tests/base/pthread.h: Handle it. | |
46504 | ||
46505 | * fixincl/inclhack.def (bad_lval): Sort file list. | |
46506 | Add many missing files up to Tru64 UNIX V5.1B. | |
a1d1988f MS |
46507 | * fixinc/tests/base/libgen.h: Renamed to ... |
46508 | * fixinc/tests/base/dirent.h: ... this to match new file list | |
3eb54e5f ILT |
46509 | order. |
46510 | ||
46511 | * fixinc/fixincl.x: Regenerate. | |
46512 | ||
46513 | 2004-01-16 Mark Mitchell <mark@codesourcery.com> | |
46514 | ||
46515 | * version.c (version_string): Change to 3.5.0. | |
46516 | * doc/include/gcc-common.texi (version-GCC): Likewise. | |
46517 | ||
46518 | 2004-01-16 Jan Hubicka <jh@suse.cz> | |
46519 | ||
46520 | * i386.md (load_tp_di): Fix pasto. | |
46521 | ||
46522 | PR opt/13608 | |
46523 | * i386.c (ix86_compute_frame_layout): Fix for alloca on leaf function. | |
46524 | ||
46525 | * c-pretty-print.c (pp_c_type_cast, pp_c_abstract_declarator, | |
46526 | pp_c_character_constant, pp_c_floating_constant, | |
46527 | pp_c_additive_expression, pp_c_shift_expression, | |
46528 | pp_c_equality_expression, pp_c_and_expression, | |
46529 | pp_c_exclusive_or_expression, pp_c_inclusive_or_expression, | |
46530 | pp_c_logical_and_expression): Remove inline modifier. | |
46531 | * dwarf2out.c (get_AT): Likewise. | |
46532 | * et-forest.c (et_splay): Likewise. | |
46533 | * ra.h (ra_alloc, ra_calloc): Likewise | |
46534 | ||
46535 | 2004-01-16 Kazu Hirata <kazu@cs.umass.edu> | |
46536 | ||
46537 | * config/frv/frv-protos.h: Fix comment formatting. | |
46538 | * config/frv/frv.c: Likewise. | |
46539 | * config/frv/frv.h: Likewise. | |
46540 | * config/frv/frv.md: Likewise. | |
46541 | * config/frv/frvbegin.c: Likewise. | |
46542 | * config/frv/frvend.c: Likewise. | |
46543 | ||
46544 | 2004-01-16 Kazu Hirata <kazu@cs.umass.edu> | |
46545 | ||
46546 | * system.h (LINKER_DOES_NOT_WORK_WITH_DWARF2): Poison. | |
46547 | * doc/tm.texi (PREFERRED_DEBUGGING_TYPE): Don't mention | |
46548 | LINKER_DOES_NOT_WORK_WITH_DWARF2. | |
46549 | (LINKER_DOES_NOT_WORK_WITH_DWARF2): Remove. | |
46550 | ||
46551 | 2004-01-16 J"orn Rennecke <joern.rennecke@superh.com> | |
46552 | ||
46553 | PR 11864 | |
46554 | * postreload.c (reload_cse_simplify_operands): Don't remove | |
46555 | implicit extension from LOAD_EXTEND_OP. | |
46556 | ||
46557 | 2004-01-16 Jan Hubicka <jh@suse.cz> | |
46558 | ||
46559 | PR opt/11350 | |
46560 | * cfgcleanup.c (try_optimize_cfg): Suppress tablejump removal | |
46561 | after reload. | |
46562 | * cfgrtl.c (rtl_can_merge_blocks, cfglayout_can_merge_blocks, | |
46563 | rtl_try_redirect_by_replacing_branch): Likewise. | |
46564 | ||
46565 | 2004-01-15 Geoffrey Keating <geoffk@apple.com> | |
46566 | ||
46567 | PR pch/13689 | |
46568 | * alias.c (struct alias_set_entry): Mark for GC. | |
46569 | (alias_sets): Make static, mark for GC. | |
46570 | (record_alias_subset): Use GC to allocate alias structures. | |
46571 | * varray.c (element): Make generic varrays GCed. | |
46572 | ||
46573 | PR pch/13361 | |
46574 | * c-typeck.c (constructor_asmspec): Delete. | |
46575 | (struct initializer_stack): Delete field 'asmspec'. | |
46576 | (start_init): Delete saving of asmspec. | |
46577 | (finish_init): Don't update constructor_asmspec. | |
46578 | * dwarf2out.c (rtl_for_decl_location): Duplicate string from tree. | |
46579 | * stmt.c (expand_asm): Duplicate strings from tree. | |
46580 | (expand_asm_operands): Likewise. | |
46581 | * tree.c (tree_size): Update computation of size of STRING_CST. | |
46582 | (make_node): Don't make STRING_CST nodes. | |
46583 | (build_string): Allocate string with tree node. | |
46584 | * tree.def (STRING_CST): Update comment. | |
46585 | * tree.h (TREE_STRING_POINTER): Adjust for change to STRING_CST. | |
46586 | (tree_string): Place contents of string in tree node. | |
46587 | * config/sh/sh.c (sh_handle_sp_switch_attribute): Duplicate string | |
46588 | from tree. | |
46589 | ||
46590 | * config/rs6000/rs6000.c (rs6000_va_arg): No need to special-case | |
46591 | altivec operands. | |
46592 | ||
46593 | 2004-01-15 Kazu Hirata <kazu@cs.umass.edu> | |
46594 | ||
46595 | * c-common.h: Fix comment formatting. | |
46596 | * c-cppbuiltin.c: Likewise. | |
46597 | * c-pragma.c: Likewise. | |
46598 | * calls.c: Likewise. | |
46599 | * collect2.c: Likewise. | |
46600 | * cppcharset.c: Likewise. | |
46601 | * cpptrad.c: Likewise. | |
46602 | * dbxout.c: Likewise. | |
46603 | * defaults.h: Likewise. | |
46604 | * dwarf2out.c: Likewise. | |
46605 | * fold-const.c: Likewise. | |
46606 | * genautomata.c: Likewise. | |
46607 | * genconditions.c: Likewise. | |
46608 | * genflags.c: Likewise. | |
46609 | * gengtype.c: Likewise. | |
46610 | * integrate.c: Likewise. | |
46611 | * loop.c: Likewise. | |
46612 | * predict.c: Likewise. | |
46613 | * sdbout.c: Likewise. | |
46614 | ||
46615 | 2004-01-15 Zack Weinberg <zack@codesourcery.com> | |
46616 | ||
46617 | * config/ia64/ia64.md (*movti_internal): C output template | |
46618 | extracted to ia64.c. | |
46619 | (*movti_internal_reg): Delete. | |
46620 | (reload_inti, reload_outti): Use the correct mode on operand 2 | |
46621 | in the first place, don't fix it up in the output template. | |
46622 | (movtf, reload_ointf, reload_outtf): New expanders. | |
46623 | (*movtf_internal): New define_insn_and_split. | |
46624 | * config/ia64/ia64.c (ia64_split_timode): Rename to ia64_split_tmode; | |
46625 | make static; do not hand TFmode CONST_DOUBLEs to split_double. | |
46626 | (ia64_split_tmode_move): New function, body mostly pulled | |
46627 | from ia64.md:*movti_internal. | |
46628 | (ia64_function_arg_words): New function, extracted common | |
46629 | logic from ia64_function_arg et seq. | |
46630 | (ia64_function_arg_offset): Likewise. Handle correctly the | |
46631 | case of a scalar quantity 16 bytes wide with only 8-byte alignment. | |
46632 | (ia64_function_arg, ia64_function_arg_partial_nregs) | |
46633 | (ia64_function_arg_advance): Use ia64_function_arg_words and | |
46634 | ia64_function_arg_offset. | |
46635 | (ia64_function_value): TCmode does not go in float regs. | |
46636 | (ia64_secondary_reload_class): Also handle TFmode. | |
46637 | * config/ia64/ia64-protos.h: Remove prototype for | |
46638 | ia64_split_timode; add prototype for ia64_split_tmode_move. | |
46639 | ||
46640 | 2004-01-15 Kelley Cook <kcook@gcc.gnu.org> | |
46641 | ||
46642 | * Makefile.in (MAINT): Make it an immediate assignment. | |
46643 | ||
46644 | 2004-01-15 Kazu Hirata <kazu@cs.umass.edu> | |
46645 | ||
46646 | * config/m32r/m32r.md: Remove useless calls to gen_lowpart. | |
46647 | ||
46648 | 2004-01-15 Kazu Hirata <kazu@cs.umass.edu> | |
46649 | ||
46650 | * config/h8300/coff.h: Replace Hitachi with Renesas. | |
46651 | * config/h8300/elf.h: Likewise. | |
46652 | * config/h8300/h8300-protos.h: Likewise. | |
46653 | * config/h8300/h8300.c: Likewise. | |
46654 | * config/h8300/h8300.h: Likewise. | |
46655 | * config/h8300/h8300.md: Likewise. | |
46656 | * config/h8300/lib1funcs.asm: Likewise. | |
46657 | ||
46658 | 2004-01-15 Andrew Pinski <apinski@apple.com> | |
46659 | ||
46660 | * config/rs6000/rs6000.c (uses_TOC): Wrap #if TARGET_ELF | |
46661 | around it. | |
46662 | ||
46663 | 2004-01-15 Kazu Hirata <kazu@cs.umass.edu> | |
46664 | ||
46665 | * config/h8300/h8300.c (h8300_return_in_memory): New. | |
46666 | (TARGET_STRUCT_VALUE_RTX): Likewise. | |
46667 | (TARGET_RETURN_IN_MEMORY): Likewise. | |
46668 | * config/h8300/h8300.h (STRUCT_VALUE): Remove. | |
46669 | (RETURN_IN_MEMORY): Likewise. | |
46670 | ||
46671 | 2004-01-15 Richard Earnshaw <rearnsha@arm.com> | |
46672 | ||
46673 | PR optimization/13375 | |
46674 | * gcse.c (handle_avail_expr): Just return if the source is not a | |
46675 | single set. | |
46676 | ||
46677 | 2004-01-15 Richard Earnshaw <rearnsha@arm.com> | |
46678 | Daniel Jacobowitz <drow@mvista.com> | |
46679 | ||
46680 | * arm/lib1funcs.asm (ARM_FUNC_START): Correct interworking case. | |
46681 | (EQUIV): Define. | |
46682 | (ARM_FUNC_ALIAS): New macro. | |
46683 | * arm/ieee754-df.S (gedf2, ledf2, nedf2, eqdf2): Use it. | |
46684 | * arm/ieee754-sf.S (gesf2, lesf2, nesf2, eqsf2): Use it. | |
46685 | ||
46686 | 2004-01-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
46687 | ||
46688 | PR optimization/12372 | |
46689 | * calls.c (expand_call): Add call_fusage data for stack arguments in | |
46690 | constant calls. | |
46691 | ||
46692 | 2004-01-15 Alan Modra <amodra@bigpond.net.au> | |
46693 | ||
46694 | * config/rs6000/rs6000.c (uses_TOC): Correct comment. Make static. | |
46695 | (rs6000_elf_declare_function_name): Formatting. | |
46696 | * config/rs6000/rs6000-protos.h (uses_TOC): Remove declaration. | |
46697 | ||
46698 | 2004-01-15 Jan Hubicka <jh@suse.cz> | |
46699 | ||
46700 | PR bootstrap/13692 | |
46701 | * sched-deps.c (sched_analyze_1, sched_analyze_2): Fix thinko in | |
46702 | previous patch. | |
46703 | ||
46704 | 2004-01-15 Richard Henderson <rth@redhat.com> | |
46705 | ||
46706 | * config/alpha/alpha.h (REG_ALLOC_ORDER): Reorder fp regs after | |
46707 | integer regs of the same call-savedness. | |
46708 | ||
46709 | 2004-01-15 Andreas Schwab <schwab@suse.de> | |
46710 | ||
46711 | PR bootstrap/13562 | |
46712 | * config/m68k/m68k.c (output_move_const_into_data_reg): Clear cc | |
46713 | status for NOTB/NOTW/NEGW methods. | |
46714 | ||
46715 | 2004-01-15 Kazu Hirata <kazu@cs.umass.edu> | |
46716 | ||
46717 | * doc/invoke.texi: Update dump file names. Fix a typo. | |
46718 | ||
46719 | 2004-01-15 Kazu Hirata <kazu@cs.umass.edu> | |
46720 | ||
46721 | * builtins.c (expand_builtin_va_end): Don't use | |
46722 | EXPAND_BUILTIN_VA_END. | |
46723 | * system.h (EXPAND_BUILTIN_VA_END): Poison. | |
46724 | * config/d30v/d30v.h: Remove a commented-out definition of | |
46725 | EXPAND_BUILTIN_VA_END. | |
46726 | * config/stormy16/stormy16.h: Likewise. | |
46727 | ||
46728 | 2004-01-15 Kazu Hirata <kazu@cs.umass.edu> | |
46729 | ||
46730 | * system.h (STRUCT_VALUE_INCOMING_REGNUM): Poison. | |
46731 | * targhooks.c (default_struct_value_rtx): Don't use | |
46732 | STRUCT_VALUE_INCOMING_REGNUM. | |
46733 | ||
46734 | 2004-01-15 Kelley Cook <kcook@gcc.gnu.org> | |
46735 | ||
46736 | PR bootstrap/12744 | |
46737 | * configure.in: Revamp enable-generated-files-in-srcdir rule to define | |
46738 | GENINSRC and not parsedir. Define srcextra as a langhook. | |
46739 | * configure: Regenerate. | |
46740 | * Makefile.in: Suppress default .l.c rule. Don't substitute | |
46741 | parsedir and delete all references throughout. Conditionally define | |
46742 | rule for srcextra dependent on GENINSRC. | |
46743 | (stmp-docobjdir): Delete. | |
46744 | (c-parse.o, gengtype-lex.o, gengtype-yacc.o): Use implicit build rule. | |
46745 | (srcextra): Copy c-parse.y, c-parse.c, gengtype-lex.c, gengtype-yacc.c, | |
46746 | and gengtype-yacc.h back to source directory. | |
46747 | (maintainer-clean): Delete all parse files in source directory. | |
46748 | (distclean): Delete generated files. | |
46749 | ||
46750 | * objc/Make-lang.in (objc-parse.o): Use implicit build rule. | |
46751 | (objc-parse.c, objc-parse.y): Don't use parsedir. | |
46752 | (objc.srcextra): Copy objc-parse.y and objc-parse.c back to source | |
46753 | directory if requested. | |
46754 | (po-generated): Don't use parsedir. | |
46755 | (objc.maintainer-clean): Delete above files from source directory. | |
46756 | ||
46757 | 2004-01-14 Kazu Hirata <kazu@cs.umass.edu> | |
46758 | ||
46759 | * doc/tm.texi (FUNCTION_VALUE): Fix a typo. | |
46760 | ||
46761 | 2004-01-14 Kazu Hirata <kazu@cs.umass.edu> | |
46762 | ||
46763 | * doc/tm.texi: Replace RETURN_IN_MEMORY with | |
46764 | TARGET_RETURN_IN_MEMORY. | |
46765 | ||
46766 | 2004-01-15 Jan Hubicka <jh@suse.cz> | |
46767 | ||
46768 | * builtins.c (std_expand_builtin_va_arg): Align operand when needed. | |
46769 | * i386.c (init_cumulative_args): Set warn_sse; fix handling of variadic | |
46770 | functions accepting SSE arguments | |
46771 | (function_arg): Warn only when asked to warn. | |
46772 | * i386.h (ix86_args): Add warn_sse/warn_mmx fiels. | |
46773 | ||
46774 | 2004-01-14 Joseph S. Myers <jsm@polyomino.org.uk> | |
46775 | ||
46776 | * c-parse.in (stmts_and_decls): Make label at end of compound | |
46777 | statement a hard error. | |
46778 | ||
46779 | 2004-01-14 Jan Hubicka <jh@suse.cz> | |
46780 | ||
46781 | * cgraph.c (create_edge): Use local.redefined_extern_inline. | |
46782 | * cgraph.h (cgraph_local_info): Sort fields by size; add | |
46783 | redefined_extern_inline | |
46784 | (cgraph_global_info): Sort fields by size. | |
46785 | (cgraph_node): Likewise. | |
46786 | * cgraphunit.c (cgraph_finalize_function): Se | |
46787 | local.redefined_extern_inline on redefinition. | |
46788 | (cgraph_analyze_function): Use it; fix formating. | |
46789 | ||
46790 | 2004-01-14 Jan Hubicka <jh@suse.cz> | |
46791 | ||
46792 | PR c++/10776 | |
46793 | * sched-deps.c (trye_dependency_cache, anti_dependency_cache, | |
46794 | outptu_dependency_cache, forward_dependency_cahe): Trun to vectors of | |
46795 | bitmaps | |
46796 | (cache_size): New variable | |
46797 | (add_dependence): Update use; canonize early memory locations | |
46798 | (sched_analyze_1): Likewise. | |
46799 | (sched_analyze_2): Likewise. | |
46800 | (init_dependency_caches): Initialize bitmaps. | |
46801 | (free_dependency_caches): Free bitmaps | |
46802 | ||
46803 | 2004-01-14 Kazu Hirata <kazu@cs.umass.edu> | |
46804 | ||
46805 | * calls.c: Replace STRICT_ARGUMENT_NAMING in comments with | |
46806 | targetm.calls.strict_argument_naming(). | |
46807 | * target.h: Likewise. | |
46808 | ||
46809 | 2004-01-14 Richard Henderson <rth@redhat.com> | |
46810 | ||
46811 | PR debug/13231 | |
46812 | * dwarf2out.c (dwarf2out_stack_adjust): Skip prologue and epilogue | |
46813 | instructions. | |
46814 | ||
46815 | 2004-01-14 Richard Henderson <rth@redhat.com> | |
46816 | ||
46817 | PR c++/12491 | |
46818 | * except.c (struct eh_region): Add u.fixup.resolved. | |
46819 | (resolve_one_fixup_region): Split out from ... | |
46820 | (resolve_fixup_regions): ... here. | |
46821 | ||
46822 | 2004-01-14 Kazu Hirata <kazu@cs.umass.edu> | |
46823 | ||
46824 | * config/mn10300/mn10300.h (STRUCT_VALUE): Change to 0. | |
46825 | ||
46826 | 2004-01-14 Kazu Hirata <kazu@cs.umass.edu> | |
46827 | ||
46828 | * config/alpha/alpha.h (STRUCT_VALUE): Remove. | |
46829 | * config/alpha/vms.h (STRUCT_VALUE_REGNUM): Remove #undef. | |
46830 | (STRUCT_VALUE): Remove. | |
46831 | ||
46832 | 2004-01-14 Steven Bosscher <stevenb@suse.de> | |
46833 | ||
46834 | * system.h: Poison PROMOTED_MODE | |
46835 | * integrate.c (expand_inline_function): Don't mention the | |
46836 | PROMOTED_MODE. | |
46837 | * loop.c (update_giv_derive): Same. | |
46838 | * tree.h (DECL_RTL): Same. | |
46839 | ||
46840 | 2004-01-14 J"orn Rennecke <joern.rennecke@superh.com> | |
46841 | ||
46842 | PR target/9365 | |
46843 | * sh.c (gen_block_redirect): Add special handling of RETURN. | |
46844 | (gen_far_branch) Don't call gen_stuff_delay_slot if there is no | |
46845 | far branch target (i.e. it's a return). | |
46846 | ||
46847 | 2004-01-14 Kazu Hirata <kazu@cs.umass.edu> | |
46848 | ||
46849 | * regrename.c (find_oldest_value_reg): Fix a warning. | |
46850 | ||
46851 | 2004-01-14 Richard Earnshaw <rearnsha@arm.com> | |
46852 | ||
46853 | PR bootstrap/12527 | |
46854 | * config.gcc (arm*-*-linux*): Don't include unknown-elf.h in tm_file. | |
46855 | Move linux-gas.h and linux-elf.h before aout.h. | |
46856 | * arm/arm.h (INITIALIZE_TRAMPOLINE): Only define if not already. | |
46857 | * arm/linux-elf.h (SUBTARGET_CPU_DEFAULT): Define. | |
46858 | ||
46859 | 2004-01-14 Kazu Hirata <kazu@cs.umass.edu> | |
46860 | ||
46861 | * config/m32r/m32r.md: Use GEN_INT instead of gen_rtx | |
46862 | (CONST_INT, VOIDmode, ...). | |
46863 | ||
46864 | 2004-01-14 Richard Earnshaw <rearnsha@arm.com> | |
46865 | ||
46866 | * regrename.c (find_oldest_value_reg): If the replacement uses | |
46867 | multiple hard registers, check that all of them are in CLASS. | |
46868 | ||
46869 | 2004-01-14 Jan Hubicka <jh@suse.cz> | |
46870 | ||
e8366202 | 46871 | * alias.c (get_alias_set): Initialize alias set to 0 when subset is |
3eb54e5f ILT |
46872 | impossible. |
46873 | ||
46874 | 2004-01-14 Kelley Cook <kcook@gcc.gnu.org> | |
46875 | ||
46876 | * Makefile.in: Define MAINT from --enable-maintainer-mode. | |
46877 | ||
46878 | 2004-01-14 Hartmut Penner <hpenner@de.ibm.com> | |
46879 | ||
a1d1988f | 46880 | * config/rs6000/rs6000.c (rs6000_stack_info) |
3eb54e5f ILT |
46881 | Calculate always vrsave_mask if TARGET_ALTIVEC. |
46882 | (rs6000_emit_prologue): Emit code for vrsave | |
46883 | only if TARGET_ALTIVEC_VRSAVE. | |
46884 | (rs6000_emit_epilogue): Likewise. | |
46885 | ||
46886 | 2004-01-14 Eric Botcazou <ebotcazou@libertysurf.fr> | |
46887 | ||
46888 | * config/sparc/sparc.md (tie_add32): Fix pasto. | |
46889 | (tie_add64): Likewise. | |
46890 | ||
46891 | 2004-01-14 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> | |
46892 | ||
46893 | * config/i386/i386.md (*addqi_1_slp): Do not access operands[2]. | |
46894 | ||
46895 | 2004-01-13 Kazu Hirata <kazu@cs.umass.edu> | |
46896 | ||
46897 | * config/iq2000/iq2000-protos.h: Fix comment formatting. | |
46898 | * config/iq2000/iq2000.c: Likewise. | |
46899 | * config/iq2000/iq2000.md: Likewise. | |
46900 | ||
46901 | 2004-01-14 J. Brobecker <brobecker@gnat.com> | |
46902 | ||
46903 | * dwarf2out.c (is_ada_subrange_type): No longer check the TYPE_NAME. | |
46904 | (subrange_type_die): Add handle for nameless subrange types. | |
46905 | ||
46906 | 2004-01-13 Kazu Hirata <kazu@cs.umass.edu> | |
46907 | ||
46908 | * config/h8300/h8300-protos.h: Replace do_movsi with | |
46909 | h8300_expand_movsi. | |
46910 | * config/h8300/h8300.c (do_movsi): Change to | |
46911 | h8300_expand_movsi. | |
46912 | * config/h8300/h8300.md (movsi): Replace do_movsi with | |
46913 | h8300_expand_movsi. | |
46914 | (movsf): Likewise. | |
46915 | ||
46916 | 2004-01-13 Kazu Hirata <kazu@cs.umass.edu> | |
46917 | ||
46918 | * config/h8300/h8300.c (dosize): Change to | |
46919 | h8300_emit_stack_adjustment. Update callers. | |
46920 | ||
46921 | 2004-01-13 Kazu Hirata <kazu@cs.umass.edu> | |
46922 | ||
46923 | * config/h8300/h8300.md (movstrictqi): Add an alternative with | |
46924 | the source being post_inc. Tighten the predicate for the | |
46925 | destination to register_operand. | |
46926 | (movstricthi): Likewise. | |
46927 | ||
46928 | 2004-01-13 Kazu Hirata <kazu@cs.umass.edu> | |
46929 | ||
46930 | * system.h (SHARED_BSS_SECTION_ASM_OP): Poison. | |
46931 | * varasm.c (bss_section): Don't use SHARED_BSS_SECTION_ASM_OP. | |
46932 | * doc/tm.texi (SHARED_BSS_SECTION_ASM_OP): Remove. | |
46933 | ||
46934 | 2004-01-14 Jan Hubicka <jh@suse.cz> | |
46935 | ||
46936 | Partial fix PR c++/12850 | |
46937 | * cgraphunit.c (cgraph_finalize_function): Always ggc_collect when | |
46938 | at zero nest level. | |
46939 | ||
46940 | 2004-01-13 Bernardo Innocenti <bernie@develer.com> | |
46941 | ||
46942 | * config/m68k/netbsd-elf.h (REGISTER_NAMES): Add missing "argptr" | |
46943 | pseudo-register. | |
46944 | ||
46945 | 2004-01-13 Devang Patel <dpatel@apple.com | |
46946 | ||
46947 | PR debug/7078 | |
46948 | * dbxout.c (dbxout_symbol_name): Emit mangled names for | |
46949 | NAMESPACE_DECL memebers. | |
46950 | ||
46951 | 2004-01-13 Andrew Pinski <pinskia@physics.uc.edu> | |
46952 | ||
46953 | PR c++/12709 | |
46954 | * c-common.c (finish_fname_decls): Use the chain only if the | |
46955 | tree is an expr_stmt. | |
46956 | ||
46957 | 2004-01-13 Vladimir Makarov <vmakarov@redhat.com> | |
46958 | ||
46959 | * rtl.def: Add comment about new option in automata_option. | |
46960 | ||
46961 | * genautomata.c (PROGRESS_OPTION): New macro. | |
46962 | (progress_flag): New global variable. | |
46963 | (gen_automata_option): Process `progress'. | |
46964 | (transform_insn_regexps, check_unit_distributions_to_automata, | |
46965 | make_automaton, NDFA_to_DFA, build_automaton, create_automata, | |
46966 | expand_automata, write_automata): Print about the progress only if | |
46967 | progress_flag. Remove fflush. | |
46968 | (initiate_automaton_gen): Process command line flag `-progress'. | |
46969 | ||
46970 | * doc/md.texi: Describe the new option. | |
46971 | ||
46972 | 2004-01-13 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> | |
46973 | ||
46974 | * cfg.c (dump_bb): Dump entry edges. | |
46975 | ||
46976 | 2004-01-13 Richard Earnshaw <rearnsha@arm.com> | |
46977 | ||
46978 | * arm.c (thumb_legitimate_address_p): Only allow constant pool | |
46979 | references from SImode. | |
46980 | * arm.md (thumb_movhi_insn): Don't allow minipool references. | |
46981 | ||
46982 | 2004-01-13 Kazu Hirata <kazu@cs.umass.edu> | |
46983 | ||
46984 | * system.h (TEXT_SECTION): Poison. | |
46985 | * varasm.c (text_section): Don't use TEXT_SECTION. | |
46986 | * config/sh/sh.c (sh_file_start): Fix a comment typo. | |
46987 | * doc/tm.texi (TEXT_SECTION): Remove. | |
46988 | ||
46989 | 2004-01-13 Ben Elliston <bje@wasabisystems.com> | |
46990 | ||
46991 | * doc/rtl.texi (Vector Operations): Remove defunct vec_const item. | |
46992 | ||
46993 | 2004-01-12 James E Wilson <wilson@specifixinc.com> | |
46994 | ||
46995 | * unwind-libunwind.c: Delete. | |
46996 | ||
46997 | 2004-01-12 Zack Weinberg <zack@codesourcery.com> | |
46998 | ||
46999 | PR 13656 | |
47000 | * c-decl.c (diagnose_mismatched_decls): Whenever newtype or | |
47001 | oldtype is set, set *newtypep or *oldtypep too. Do not set | |
47002 | them at the very end. | |
47003 | (validate_proto_after_old_defn): Restructure for comprehensibility; | |
47004 | make error messages clearer. | |
47005 | ||
47006 | 2004-01-12 Zack Weinberg <zack@codesourcery.com> | |
47007 | ||
47008 | * varray.h (VARRAY_POP): Add checking variant, aborts on underflow. | |
47009 | (VARRAY_TOP): Use VARRAY_CHECK so the access is bounds-checked. | |
47010 | * varray.c: No need to prototype error. | |
47011 | (varray_check_failed): Wrap long string onto two lines. | |
47012 | (varray_underflow): New function. | |
47013 | ||
47014 | 2004-01-13 Steven Bosscher <stevenb@suse.de> | |
47015 | ||
47016 | PR c++/13376 | |
47017 | * function.h (struct function): Kill `name' field. | |
47018 | (current_function_name): Make it an extern function. | |
47019 | * function.c (current_function_name): New function. | |
47020 | * graph.c: Update all uses of current_function_name. | |
47021 | * gcse.c: Likewise. | |
47022 | * config/alpha/alpha.c, config/avr/avr.c, config/c4x/c4x.c, | |
47023 | config/mips/mips.c, config/pdp11/pdp11.c: Likewise. | |
47024 | * config/ip2k/ip2k.c (function_prologue): Use MAIN_NAME_P | |
47025 | instead of a strcmp with "main". | |
47026 | ||
47027 | 2004-01-13 Jan Hubicka <jh@suse.cz> | |
47028 | ||
e8366202 | 47029 | * c-decl.c (diagnose_mismatched_decls): Fix warning calls. |
3eb54e5f | 47030 | |
e8366202 | 47031 | * cgraphunit.c (cgraph_optimize_function): Always do |
3eb54e5f ILT |
47032 | optimize_inline_calls when there is always_inline callee. |
47033 | (cgraph_decide_inlining): Fix formating. | |
47034 | * tree-inline.c (inlinable_function_p): Do sorry for alwaysinline | |
47035 | functions. | |
47036 | (expand_call_inline): Likewise. | |
47037 | * toplev.h (sorry): Fix prototype. | |
47038 | ||
47039 | 2004-01-12 Roger Sayle <roger@eyesopen.com> | |
47040 | ||
47041 | * builtins.c (expand_builtin_expect_jump): Simplify logic. Handle | |
47042 | conditional jumps that drop through to unconditional jumps or the | |
47043 | end of the sequence. | |
47044 | ||
47045 | 2004-01-13 Jan Hubicka <jh@suse.cz> | |
47046 | ||
47047 | * alias.c (new_alias_set): Construct the alias_set varray. | |
47048 | (init_alias_once): Don't do it here. | |
47049 | ||
47050 | 2004-01-12 Marc Espie <espie@openbsd.org> | |
47051 | ||
47052 | * system.h: handle YYBYACC like YYBISON. | |
47053 | ||
47054 | 2004-01-12 Jonathan Merriman <jonm@dualitymedia.com> | |
47055 | ||
47056 | PR target/10847 | |
47057 | * config.gcc: No longer includes conflicting header sparc/sol2.h when | |
47058 | building on sparc64-*-openbsd*. | |
47059 | ||
47060 | 2004-01-12 Andrew Pinski <pinskia@physics.uc.edu> | |
47061 | ||
47062 | PR debug/13539 | |
47063 | * dbxout.c (dbxout_type): Protected inheritance is not | |
47064 | private but protected. | |
47065 | ||
47066 | 2004-01-12 Richard Sandiford <rsandifo@redhat.com> | |
47067 | ||
47068 | * config/mips/mips.c (mips_symbolic_constant_p): Revert last patch. | |
47069 | ||
47070 | 2004-01-12 Kazu Hirata <kazu@cs.umass.edu> | |
47071 | ||
47072 | PR optimization/12508. | |
47073 | * combine.c (try_combine): Remove a dead set in a parallel | |
47074 | even if its destination is a subreg. | |
47075 | ||
47076 | Revert: | |
47077 | 2003-06-03 Kazu Hirata <kazu@cs.umass.edu> | |
47078 | * combine.c (simplify_set): Don't move a subreg in SET_SRC to | |
47079 | SET_DEST if WORD_REGISTER_OPERATIONS is not defined. | |
47080 | ||
47081 | 2004-01-12 Geoffrey Keating <geoffk@apple.com> | |
47082 | ||
47083 | * real.c: Update copyright date. | |
47084 | * emit-rtl.c: Likewise. | |
47085 | * rtl.h: Likewise. | |
47086 | * dwarf2out.c: Likewise. | |
47087 | * config/rs6000/darwin-ldouble.c: Likewise. | |
47088 | * config/rs6000/rs6000.md: Likewise. | |
47089 | ||
47090 | 2004-01-12 David Edelsohn <edelsohn@gnu.org> | |
47091 | ||
47092 | * config/rs6000/rs6000.c (rs6000_init_libfuncs): Add AIX | |
47093 | TFmode to SImode libfuncs. | |
47094 | ||
47095 | 2004-01-12 Roger Sayle <roger@eyesopen.com> | |
47096 | ||
47097 | PR middle-end/11397 | |
47098 | * varasm.c (assemble_alias): Remove weak aliases from weak_decls. | |
47099 | ||
47100 | 2004-01-12 Jan Hubicka <jh@suse.cz> | |
47101 | ||
47102 | PR opt/12826 | |
47103 | * loop.c (insert_loop_mem): Preffer VOLATILE memory references to be | |
47104 | stored. | |
47105 | ||
47106 | PR opt/12863 | |
47107 | * cfgcleanup.c (label_is_jump_target_p): Move to... | |
47108 | * rtlanal.c (label_is_jump_target_p): ... here. | |
e8366202 | 47109 | * cfgrtl.c (cfg_layout_redirect_edge_and_branch): Fix redirecting of fallthru |
3eb54e5f ILT |
47110 | edges unified with branch edges. |
47111 | ||
47112 | 2004-01-12 Richard Earnshaw <rearnsha@arm.com> | |
47113 | ||
47114 | * simplify-rtx.c (simplify_immed_subreg): Correctly extract the | |
47115 | high word of an integral CONST_DOUBLE. | |
47116 | ||
47117 | 2004-01-12 Paul Brook <paul@codesourcery.com> | |
47118 | ||
47119 | * simplify-rtx.c (simplify_plus_minus): Always generate canonical form. | |
47120 | ||
47121 | 2004-01-12 J"orn Rennecke <joern.rennecke@superh.com> | |
47122 | ||
47123 | PR target/13585 | |
47124 | * sh-protos.h (check_use_sfunc_addr): Declare. | |
47125 | * sh.c (extract_sfunc_addr, check_use_sfunc_addr): New functions. | |
47126 | * sh.md (use_sfunc_addr): Use check_use_sfunc_addr in insn predicate. | |
47127 | ||
47128 | 2004-01-12 Jan Hubicka <jh@suse.cz> | |
47129 | ||
e8366202 | 47130 | * alias.c: Invlude varray.h |
3eb54e5f ILT |
47131 | (alias_sets): Turn into varray. |
47132 | (get_alias_set_entry): Use VARRAY; mark inline. | |
47133 | (mems_in_disjoint_alias_sets_p): Mark inline. | |
47134 | (record_alias_subset): Use varray. | |
47135 | (init_alias_once): Initialize varray. | |
47136 | (new_alias_set): Grow array. | |
47137 | * varray.c: Make VARRAY_GENERIC_PTR non GTYized. | |
47138 | ||
47139 | 2004-01-12 Jan Hubicka <jh@suse.cz> | |
47140 | ||
47141 | Partial fix for PR opt/10776 II | |
47142 | * cselib.c: Include params.h | |
e8366202 | 47143 | (cselib_invalidate_mem): Limit amount of nonconflicting memory |
3eb54e5f ILT |
47144 | locations. |
47145 | * params.def (PARAM_MAX_CSELIB_MEMORY_LOCATIONS): New. | |
47146 | * Makefile.in (cselib.o): Depend on params.h | |
47147 | ||
47148 | 2004-01-12 Richard Sandiford <rsandifo@redhat.com> | |
47149 | ||
47150 | * combine.c (combine_simplify_rtx): Don't pass VOIDmode to | |
47151 | simplify_unary_operation if the operand has a known mode. | |
47152 | ||
47153 | 2004-01-12 Hartmut Penner <hpenner@de.ibm.com> | |
47154 | ||
47155 | PR target/13534 | |
a1d1988f | 47156 | * config/rs6000/rs6000.c (word_offset_memref_operand): New |
3eb54e5f | 47157 | predicate to handle 'ld' conform addresses. |
a1d1988f | 47158 | * config/rs6000/rs6000.h (EXTRA_CONSTRAINT): New 'Y' |
3eb54e5f ILT |
47159 | contraint. |
47160 | (EXTRA_MEMORY_CONSTRAINT): Tell reload which constraint | |
47161 | are memory contraints. | |
a1d1988f | 47162 | * config/rs6000/rs6000-protos.h (word_offset_memref_operand): |
3eb54e5f | 47163 | New prototype. |
a1d1988f | 47164 | * config/rs6000/rs6000.md (*movdf_hardfloat64): |
3eb54e5f ILT |
47165 | Change 'o' to 'Y' constraint. |
47166 | (*movdf_softfloat64): Ditto. | |
47167 | ||
47168 | 2004-01-12 Bernardo Innocenti <bernie@develer.com> | |
47169 | ||
a1d1988f | 47170 | * config/m68k/m68k.md: Switch from the "*..." syntax to the |
3eb54e5f ILT |
47171 | brace-enclosed syntax in all C output statements. |
47172 | ||
47173 | 2004-01-12 David Edelsohn <edelsohn@gnu.org> | |
47174 | ||
47175 | PR target/13401 | |
47176 | * config/rs6000/rs6000.c (rs6000_output_function_epilogue): | |
47177 | Objective-C language type value is 14. | |
47178 | ||
47179 | 2004-01-12 Markus F.X.J. Oberhumer <markus@oberhumer.com> | |
47180 | ||
47181 | PR c/12148 | |
47182 | * config/m68k/fpgnulib.c: Fix `-mshort' bugs: Use `long' instead of | |
47183 | `int' in a number of places to make sure we always have a SImode | |
47184 | and not a HImode. Add a 'L' suffix to a number of constants. | |
47185 | ||
47186 | 2004-01-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | |
47187 | ||
47188 | * pa.c: Don't include obstack.h. | |
47189 | ||
47190 | * pa.md: Correct constraint in pattern for loading PIC label address. | |
47191 | ||
47192 | 2004-01-11 Kaz Kojima <kkojima@gcc.gnu.org> | |
47193 | ||
47194 | * config/sh/linux.h (ASM_PREFERRED_EH_DATA_FORMAT): Undefine | |
47195 | before defining. | |
47196 | ||
47197 | 2004-01-11 Steven Bosscher <stevenb@suse.de> | |
47198 | ||
47199 | PR fortran/9972 | |
47200 | * toplev.c (rest_of_handle_inline): Also consider functions | |
47201 | for deferral if the language is GNU F77. | |
47202 | ||
47203 | 2004-01-11 Zack Weinberg <zack@codesourcery.com> | |
47204 | ||
47205 | * c-decl.c (diagnose_arglist_conflict): Add missing space to | |
47206 | diagnostic messages. | |
47207 | ||
47208 | 2004-01-11 Jakub Jelinek <jakub@redhat.com> | |
47209 | ||
47210 | PR middle-end/13392 | |
47211 | * builtins.c (expand_builtin_expect_jump): Handle conditional jumps | |
47212 | to drop through label. Don't fall back to SCC even when conditional | |
47213 | jump has not been found. | |
47214 | ||
47215 | 2004-01-11 Jan Hubicka <jh@suse.cz> | |
47216 | ||
47217 | * invoke.texi: Fix syntax error in previous patch. | |
47218 | ||
47219 | Partial fix for PR opt/10776 | |
47220 | * Makefile.in (reload.o): Include param.h | |
47221 | * params.def (PARAM_MAX_RELOAD_SEARCH_INSNS): New parameter. | |
47222 | * reload.c: Include params.h. | |
47223 | (find_equiv_reg): Work limiting check. | |
47224 | * invoke.texi: Document. | |
47225 | ||
47226 | 2004-01-11 Richard Sandiford <rsandifo@redhat.com> | |
47227 | ||
47228 | * config/mips/mips.c (mips_symbolic_constant_p): Don't allow | |
47229 | out-of-bounds accesses to string constants. Simplify mips16 | |
47230 | case accordingly. | |
47231 | ||
47232 | 2004-01-11 Richard Sandiford <rsandifo@redhat.com> | |
47233 | ||
47234 | PR optimization/13469 | |
47235 | * toplev.c (rest_of_compilation): Call purge_all_dead_edges after | |
47236 | reload_cse_regs (-fnon-call-exceptions only). | |
47237 | ||
47238 | 2004-01-11 Kazu Hirata <kazu@cs.umass.edu> | |
47239 | ||
47240 | * config/mcore/lib1.asm: Fix comment formatting. | |
47241 | * config/mcore/mcore-elf.h: Likewise. | |
47242 | * config/mcore/mcore.c: Likewise. | |
47243 | * config/mcore/mcore.h: Likewise. | |
47244 | * config/mcore/mcore.md: Likewise. | |
47245 | ||
47246 | 2004-01-10 Zack Weinberg <zack@codesourcery.com> | |
47247 | ||
47248 | * c-decl.c (duplicate_decls): Break apart into... | |
47249 | (diagnose_arglist_conflict, validate_proto_after_old_defn) | |
47250 | (locate_old_defn, diagnose_mismatched_decls, merge_decls): | |
47251 | ... these new functions. Restructure for comprehensibility. | |
47252 | Remove various archaic special cases. Always report the | |
47253 | location of the previous declaration when a diagnostic is issued. | |
47254 | (redeclaration_error_message): Fold into diagnose_mismatched_decls. | |
47255 | (match_builtin_function_types): Delete unnecessary forward declaration. | |
47256 | ||
47257 | 2004-01-10 Zack Weinberg <zack@codesourcery.com> | |
47258 | ||
47259 | * genautomata.c (make_automaton, NDFA_to_DFA): | |
47260 | Print progress bars with '.' characters instead of '*'. | |
47261 | (build_automaton): Change notes to match. | |
47262 | ||
47263 | 2004-01-10 Kazu Hirata <kazu@cs.umass.edu> | |
47264 | ||
47265 | * config/m32r/m32r.md: Use define_constants for unspec and | |
47266 | unspec_volatile. | |
47267 | ||
47268 | 2004-01-10 Jan Hubicka <jh@suse.cz> | |
47269 | ||
47270 | PR opt/11635 | |
e8366202 | 47271 | * expr.c (expand_expr_real): More curefully expand union casts. |
3eb54e5f ILT |
47272 | |
47273 | 2004-01-10 Kazu Hirata <kazu@cs.umass.edu> | |
47274 | ||
47275 | * config/m32r/m32r.md (flush_icache): Use 1 for | |
47276 | unspec_volatile. | |
47277 | ||
47278 | 2004-01-10 David Edelsohn <edelsohn@gnu.org> | |
47279 | James E Wilson <wilson@specifixinc.com> | |
47280 | ||
47281 | PR debug/12860 | |
47282 | * dbxout.c (dbxout_symbol): Remove initialization of | |
47283 | current_sym_code, current_sym_value, and current_sym_addr. | |
47284 | (dbxout_symbol_location): Same. | |
47285 | (dbxout_prepare_symbol): Zero current_sym_code, | |
47286 | current_sym_value, and current_sym_addr. | |
47287 | ||
47288 | 2004-01-10 Richard Sandiford <rsandifo@redhat.com> | |
47289 | ||
47290 | * tree.c (get_unwidened): Reorder conditions so that the null pointer | |
47291 | check is done first. | |
47292 | ||
47293 | 2004-01-09 Eric Christopher <echristo@redhat.com> | |
47294 | ||
47295 | * toplev.c (rest_of_handle_cfg): Add reg_scan pass | |
47296 | if we're running mark_constant_function. | |
47297 | ||
47298 | 2004-01-09 Jeff Bailey <jbailey@nisa.net> | |
47299 | ||
47300 | PR target/12561 | |
47301 | * config/t-gnu: Rename SYSTEM_HEADER_DIR to NATIVE_SYSTEM_HEADER_DIR. | |
47302 | ||
47303 | 2004-01-09 Andrew Pinski <pinskia@physics.uc.edu> | |
47304 | ||
47305 | PR debug/11231 | |
47306 | * dbxout.c (dbxout_type_fields): Return if any item is | |
47307 | error_mark_node or the type is error_mark_node. | |
47308 | ||
47309 | 2004-01-09 Geoffrey Keating <geoffk@apple.com> | |
47310 | ||
47311 | * config/rs6000/darwin-ldouble.c: Add big comment explaining | |
47312 | exactly what is expected as a 'long double'. | |
47313 | (_xlqadd): When a value to be returned is representable as a | |
47314 | 'double', just return it directly, do not construct it using a union. | |
47315 | Also, correct final fixup. | |
47316 | (_xlqmul): Likewise. | |
47317 | (_xlqdiv): Likewise. | |
47318 | * real.c (encode_ibm_extended): Make consistent with darwin-ldouble.c. | |
47319 | ||
47320 | * config/rs6000/rs6000.md (fix_trunctfdi2): Delete. | |
47321 | ||
47322 | 2004-01-09 Richard Henderson <rth@redhat.com> | |
47323 | ||
47324 | * recog.c (constrain_operands): Validate mem operands. | |
47325 | ||
47326 | 2004-01-09 James E Wilson <wilson@specifixinc.com> | |
47327 | ||
47328 | * gcc.c (init_spec): Remove -lunwind from shared case. | |
47329 | * conifg/ia64/t-hpux (SHLIB_LINK): Add -lunwind. | |
47330 | ||
47331 | 2004-01-09 Steve Ellcey <sje@cup.hp.com> | |
47332 | ||
47333 | * configure.ac: (gcc_cv_ld_hidden) Set to true for ia64*-*-hpux*. | |
47334 | * configure: Regenerate | |
47335 | ||
47336 | 2004-01-09 Joseph S. Myers <jsm@polyomino.org.uk> | |
47337 | ||
47338 | PR c/11234 | |
47339 | * c-typeck.c (build_c_cast): If pedantic, warn for conversions | |
47340 | between function and object pointers. | |
47341 | (digest_init): When comparing a pointer to function type to the | |
47342 | target type, only apply TREE_TYPE once to the pointer to function | |
47343 | type. | |
47344 | * except.c (for_each_eh_label_1): Treat data as a pointer to a | |
47345 | function pointer rather than casting it to a function pointer. | |
47346 | (for_each_eh_label): Update caller. | |
47347 | * recog.h (struct insn_data): Use a struct or union for output. | |
47348 | * genoutput.c (output_insn_data): Update. | |
47349 | * final.c (get_insn_template): Update. | |
47350 | ||
47351 | 2004-01-09 Mark Mitchell <mark@codesourcery.com> | |
47352 | ||
47353 | * expr.h (expand_expr): Make it a macro, not a function. | |
47354 | (expand_expr_real): New function. | |
47355 | * expr.c (store_expr): Adjust logic for deciding whether or not to | |
47356 | copy the value returned by expand_expr. | |
47357 | (expand_expr): Rename to ... | |
47358 | (expand_expr_real): ... this. Add alt_rtl parameter. Adjust | |
47359 | calls to language hooks. | |
47360 | * c-common.h (c_expand_expr): Adjust prototype. | |
47361 | * c-common.c (c_expand_expr): Add alt_rtl parameter. | |
47362 | * langhooks-def.h (lhd_expand_expr): Change prototype. | |
47363 | * langhooks.c (lhd_expand_expr): Add all_rtl parameter. | |
47364 | * langhooks.h (lang_hooks): Change type of expand_expr. | |
47365 | * stmt.c (stmt_status): Add x_last_expr_alt_rtl. | |
47366 | (last_expr_alt_rtl): Likewise. | |
47367 | (expand_expr_stmt_value): Set last_expr_alt_rtl. | |
47368 | (clear_last_expr): Clear it. | |
47369 | (expand_end_stmt_expr): Set RTL_EXPR_ATL_RTL. | |
47370 | (expand_end_bindings): Save and restor last_expr_alt_rtl. | |
47371 | * tree.def (RTL_EXPR): Give it an additional operand. | |
47372 | * tree.h (RTL_EXPR_ALT_RTL): New macro. | |
47373 | ||
47374 | 2004-01-09 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com> | |
47375 | ||
47376 | * config/m32r/m32r.h (TARGET_CPU_CPP_BUILTINS): Add __m32r__. | |
47377 | * config/m32r/m32r.c (call26_operand): Allow in PIC mode. | |
47378 | ||
47379 | 2004-01-09 Kazu Hirata <kazu@cs.umass.edu> | |
47380 | ||
47381 | PR target/13380. | |
47382 | * config/m32r/m32r.md: Replace (reg:SI 17) with (reg:CC 17) | |
47383 | or (ne:SI (reg:CC 17) (const_int 0)). | |
47384 | Be specific about modes wherever possible. | |
47385 | ||
47386 | 2004-01-09 Kazu Hirata <kazu@cs.umass.edu> | |
47387 | ||
47388 | * config/m32r/m32r.c (m32r_expand_block_move): Call | |
47389 | gen_movestrsi_internal with two more arguments. | |
47390 | (m32r_output_block_move): Adjust operand numbers. | |
47391 | Properly update the source and destination pointers. | |
47392 | * config/m32r/m32r.md (movstrsi_internal): Use 'r' instead of | |
47393 | 'r+'. Change the set detinations to match_operand. | |
47394 | ||
47395 | 2004-01-09 Kazu Hirata <kazu@cs.umass.edu> | |
47396 | ||
47397 | * final.c (FIRST_INSN_ADDRESS): Remove. | |
47398 | (shorten_branches): Don't use FIRST_INSN_ADDRESS. | |
47399 | * system.h (FIRST_INSN_ADDRESS): Poison. | |
47400 | * config/avr/avr.h: Remove a comment about FIRST_INSN_ADDRESS. | |
47401 | * config/m32r/m32r-protos.h: Remove the prototype for | |
47402 | m32r_first_insn_address. | |
47403 | * config/m32r/m32r.c (m32r_first_insn_address): Remove. | |
47404 | * config/m32r/m32r.h (FIRST_INSN_ADDRESS): Likewise. | |
47405 | * doc/md.texi (FIRST_INSN_ADDRESS): Likewise. | |
47406 | ||
47407 | 2004-01-09 J. Brobecker <brobecker@gnat.com> | |
47408 | ||
47409 | * dwarf2out.c (gen_enumeration_type_die): Return the DIE that | |
47410 | we just created. | |
47411 | (is_ada_subrange_type): DIEs for enumeration subtypes should be | |
47412 | emitted as subrange types too. | |
47413 | (subrange_type_die): Add handling of enumeration subtypes. | |
47414 | ||
47415 | 2004-01-08 Richard Henderson <rth@redhat.com> | |
47416 | ||
47417 | PR opt/12441 | |
47418 | Revert: Sat Mar 30 14:08:55 CET 2002 Jan Hubicka <jh@suse.cz> | |
47419 | * i386.c (aligned_operand): Be prepared for SUBREGed registers. | |
47420 | (ix86_decompose_address): Use REG_P instead of GET_CODE (...) == REG. | |
47421 | (ix86_address_cost): Be prepared for SUBREGed registers. | |
47422 | (legitimate_address_p): Accept SUBREGed registers. | |
47423 | ||
47424 | 2004-01-08 Kelley Cook <kcook@gcc.gnu.org> | |
47425 | ||
47426 | * Makefile.in: Rename configure.in to configure.ac | |
47427 | * doc/sourcebuild.texi: Likewise. | |
47428 | * configure: Regenerate. | |
47429 | * config.in: Regenerate. | |
47430 | ||
47431 | 2004-01-08 Stuart Hastings <stuart@apple.com> | |
47432 | ||
47433 | * config/i386/i386.md: Typos in MMX/SSE immediate shifts. | |
47434 | ||
47435 | 2004-01-08 Jan Hubicka <jh@suse.cz> | |
47436 | ||
e8366202 | 47437 | * cgraphunit.c (cgraph_decide_inlining): Fix typo. |
3eb54e5f ILT |
47438 | |
47439 | 2004-01-08 Geoffrey Keating <geoffk@apple.com> | |
47440 | ||
47441 | * config/rs6000/rs6000.md (cmptf_internal1): Correct branch offset. | |
47442 | (UNSPEC_FIX_TRUNC_TF): New constant. | |
47443 | (movtf_internal): Make splitter active only when insn is active. | |
47444 | (extenddftf2): Rewrite to properly load zero into low part. | |
47445 | (extenddftf2_internal): New. | |
47446 | (extendsftf2): Rewrite. | |
47447 | (truncdftf2): Correct length. | |
47448 | (floatditf2): Delete. | |
47449 | (fix_trunc_helper): New. | |
47450 | (fix_trunctfdi2): Use fix_trunc_helper. | |
47451 | (fix_trunctfsi2): Likewise.fix_trunc | |
47452 | (fix_trunctfsi2_internal): New. | |
47453 | ||
47454 | * config/rs6000/rs6000.c (legitimate_lo_sum_address_p): lo_sum | |
47455 | addresses are legitimate on Darwin even when flag_pic. | |
47456 | (rs6000_legitimize_reload_address) [TARGET_MACHO]: Don't create | |
47457 | non-offsettable addresses for loads of TFmode constants. | |
47458 | ||
47459 | 2004-01-08 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com> | |
47460 | ||
47461 | * config/m32r/m32r.h (ASM_OUTPUT_ALIGNED_BSS): Actually emit | |
47462 | variables in the appropriate bss section. | |
47463 | ||
47464 | 2004-01-09 Alan Modra <amodra@bigpond.net.au> | |
47465 | ||
47466 | * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Ensure | |
47467 | target_flags has MASK_POWERPC64 when -m64. | |
47468 | * config/rs6000/rs6000.c (processor_target_table): Add MASK_POWERPC64 | |
47469 | to 620, 630, power3, power4 and rs64a entries. | |
47470 | * config/rs6000/rs6000.h (MASK_64BIT): Expand comment. | |
47471 | ||
47472 | 2004-01-08 Richard Sandiford <rsandifo@redhat.com> | |
47473 | ||
47474 | * simplify-rtx.c (simplify_immed_subreg): Fix construction of | |
47475 | floating-point constants. | |
47476 | ||
47477 | 2004-01-08 J. Brobecker <brobecker@gnat.com> | |
47478 | ||
47479 | * dwarf2out.c (subrange_type_die): Add context_die parameter. | |
47480 | Create the subrange_type DIE using the given context DIE. | |
47481 | (modified_type_die): Update call to subrange_type_die. | |
47482 | ||
47483 | 2004-01-08 Zack Weinberg <zack@codesourcery.com> | |
47484 | ||
47485 | * dwarf2.h, unwind-dw2-fde.h, unwind-pe.h, unwind.h: | |
47486 | Add multiple-include guard. | |
47487 | ||
47488 | 2004-01-08 Hartmut Penner <hpenner@de.ibm.com> | |
47489 | ||
a1d1988f | 47490 | * config/rs6000/rs6000.c (easy_vector_constant): Accept |
3eb54e5f ILT |
47491 | all vector constant loadable by vsplt*. |
47492 | (output_vec_const_move): Likewise. | |
47493 | ||
47494 | 2004-01-07 Joseph S. Myers <jsm@polyomino.org.uk> | |
47495 | ||
47496 | PR c/6024 | |
47497 | * c-typeck.c (comptypes): Only treat enumerated types in the same | |
47498 | translation unit as compatible with each other when they are the | |
47499 | same type. | |
47500 | * doc/extend.texi: Update. | |
47501 | ||
47502 | 2004-01-07 Joseph S. Myers <jsm@polyomino.org.uk> | |
47503 | ||
47504 | PR c/12165 | |
47505 | * c-decl.c (grokdeclarator): Take type qualifiers of typedefed | |
47506 | array type from the array element type. | |
47507 | ||
47508 | 2004-01-07 Alan Modra <amodra@bigpond.net.au> | |
47509 | ||
47510 | * config/rs6000/rs6000.c (rs6000_dbx_register_number): New function. | |
47511 | * config/rs6000/rs6000-protos.h (rs6000_dbx_register_number): Declare. | |
47512 | * config/rs6000/rs6000.h (DWARF_FRAME_REGNUM): Define. | |
47513 | (DWARF_REG_TO_UNWIND_COLUMN): Correct column adjustment and comment. | |
47514 | * config/rs6000/sysv4.h (DBX_REGISTER_NUMBER): Define. | |
47515 | ||
47516 | 2004-01-06 Eric Christopher <echristo@redhat.com> | |
47517 | ||
47518 | * config/mips/mips.h (MDEBUG_ASM_SPEC): Change for dwarf2 default. | |
47519 | (DWARF2_DEBUGGING_INFO): Define. | |
47520 | (PREFERRED_DEBUGGING_TYPE): Set to dwarf2. | |
47521 | * config/mips/openbsd.h (PREFERRED_DEBUGGING_TYPE): Remove. | |
47522 | * config/mips/iris6.h (SUBTARGET_ASM_DEBUGGING_SPEC): Only pass -g0 | |
47523 | for irix as. | |
47524 | (SUBTARGET_ASM_OPTIMIZING_SPEC): Only pass O0 for irix as. | |
47525 | * config/mips/iris6gas.h (MDEBUG_ASM_SPEC): Remove. | |
47526 | * config/mips/iris5gas.h: Ditto. | |
47527 | (DBX_DEBUGGING_INFO): Remove. | |
47528 | (DWARF2_DEBUGGING_INFO): Ditto. | |
47529 | (MIPS_DEBUGGING_INFO): Ditto. | |
47530 | (PREFERRED_DEBUGGING_TYPE): Ditto. | |
47531 | * config/mips/elf.h (DWARF2_DEBUGGING_INFO): Remove. | |
47532 | (PREFERRED_DEBUGGING_TYPE): Ditto. | |
47533 | (SUBTARGET_ASM_DEBUGGING_SPEC): Ditto. | |
47534 | * config/mips/elf64.h: Ditto. | |
47535 | ||
47536 | 2004-01-06 Jan Hubicka <jh@suse.cz> | |
47537 | ||
47538 | * Makefile.in (STAGEPROFILE_FLAGS_TO_PASS): Use -fprofile-generate. | |
47539 | (STAGEFEEDBACK_FLAGS_TO_PASS): Use -fprofile-use. | |
47540 | ||
47541 | 2004-01-06 Geoffrey Keating <geoffk@apple.com> | |
47542 | ||
47543 | * config/rs6000/t-darwin (LIB2FUNCS_EXTRA): Compile darwin-ldouble.c. | |
47544 | (TARGET_LIBGCC2_CFLAGS): Use -mlong-double-128. | |
47545 | * config/rs6000/darwin-ldouble.c: New. | |
47546 | ||
47547 | * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg | |
47548 | for constants. | |
47549 | (constant_subword): Delete. | |
47550 | * rtl.h (constant_subword): Delete prototype. | |
47551 | (immed_double_const): Is not in varasm.c. | |
47552 | * simplify-rtx.c (simplify_immed_subreg): New. | |
47553 | (simplify_subreg): Use simplify_immed_subreg. | |
47554 | ||
47555 | * config/rs6000/rs6000.md (floatsitf2): Use expand_float rather | |
47556 | than trying to generate RTL directly. | |
47557 | (fix_trunctfsi2): Use expand_fix rather than trying to generate | |
47558 | RTL directly. | |
47559 | ||
47560 | * dwarf2out.c (add_const_value_attribute): Remove incorrect comment. | |
47561 | ||
47562 | 2004-01-06 David Edelsohn <edelsohn@gnu.org> | |
47563 | ||
47564 | * config/rs6000/xcoff.h (EXTRA_SECTION_FUNCTIONS): Split each | |
47565 | function into a separate macro. | |
47566 | (read_only_data_section): Add void argument. | |
47567 | (private_data_section): Same. | |
47568 | (read_only_private_data_section): Same. | |
47569 | (toc_section): Same. | |
47570 | ||
47571 | 2004-01-06 Jan Hubicka <jh@suse.cz> | |
47572 | ||
e8366202 | 47573 | * invoke.texi: Remove typo in last change. |
3eb54e5f ILT |
47574 | |
47575 | PR target/10301 | |
47576 | * config.gcc: Accept opteron and athlon-64 as variants | |
47577 | of k8. | |
47578 | * i386.c (override_options): Likewise. | |
47579 | * invoke.texi (i386 -mtune): Expand documentation. | |
47580 | ||
47581 | 2004-01-06 Kazu Hirata <kazu@cs.umass.edu> | |
47582 | ||
47583 | * alias.c: Fix comment typos. | |
47584 | * builtins.c: Likewise. | |
47585 | * cfg.c: Likewise. | |
47586 | * df.c: Likewise. | |
47587 | * dominance.c: Likewise. | |
47588 | * dwarf2out.c: Likewise. | |
47589 | * emit-rtl.c: Likewise. | |
47590 | * expr.c: Likewise. | |
47591 | * final.c: Likewise. | |
47592 | * fold-const.c: Likewise. | |
47593 | * gcse.c: Likewise. | |
47594 | * genattrtab.c: Likewise. | |
47595 | * genrecog.c: Likewise. | |
47596 | * gensupport.c: Likewise. | |
47597 | * ggc-zone.c: Likewise. | |
47598 | * integrate.c: Likewise. | |
47599 | * local-alloc.c: Likewise. | |
47600 | * loop.c: Likewise. | |
47601 | * recog.c: Likewise. | |
47602 | * regmove.c: Likewise. | |
47603 | * reg-stack.c: Likewise. | |
47604 | * reorg.c: Likewise. | |
47605 | * rtlanal.c: Likewise. | |
47606 | * rtl.h: Likewise. | |
47607 | * sched-ebb.c: Likewise. | |
47608 | * simplify-rtx.c: Likewise. | |
47609 | * toplev.c: Likewise. | |
47610 | * varasm.c: Likewise. | |
47611 | ||
47612 | 2004-01-06 Kazu Hirata <kazu@cs.umass.edu> | |
47613 | ||
47614 | * doc/install.texi: Fix typos. | |
47615 | * doc/invoke.texi: Likewise. | |
47616 | * doc/md.texi: Likewise. | |
47617 | ||
47618 | 2004-01-06 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com> | |
47619 | ||
47620 | * config/m32r/m32r.h (TRAMPOLINE_LINE_SIZE): Changed | |
47621 | ||
47622 | 2004-01-06 Jan Hubicka <jh@suse.cz> | |
47623 | ||
e8366202 MS |
47624 | * i386.c (init_cumulative_args): Add handling of MMX_REGPARM. |
47625 | (function_arg_advance): Do not pass aggregates in SSE; deal handling | |
3eb54e5f ILT |
47626 | of MMX_REGPARM. |
47627 | (function_arg): Add new warnings about ABI changes; fix SSE_REGPARM; | |
47628 | add MMX_REGPARM. | |
47629 | * i386.h (ix86_args): Add mmx_words/mmx_regs/mmx_regno fields. | |
47630 | (SSE_REGPARM_MAX): Default to 3 on i386 -msse ABI. | |
47631 | (MMX_REGPARM_MAX): Similarly for -mmmx. | |
47632 | ||
47633 | 2004-01-05 Kazu Hirata <kazu@cs.umass.edu> | |
47634 | ||
47635 | * config/sh/linux.h: Fix comment formatting. | |
47636 | * config/sh/netbsd-elf.h: Likewise. | |
47637 | * config/sh/sh.c: Likewise. | |
47638 | * config/sh/sh.h: Likewise. | |
47639 | * config/sh/vxworks.h: Likewise. | |
47640 | ||
47641 | 2004-01-05 Kazu Hirata <kazu@cs.umass.edu> | |
47642 | ||
47643 | * system.h (ASM_OUTPUT_MAIN_SOURCE_FILENAME): Poison. | |
47644 | * toplev.c (output_file_directive): Don't use | |
47645 | ASM_OUTPUT_MAIN_SOURCE_FILENAME. | |
47646 | ||
47647 | 2004-01-05 Steven Bosscher <s.bosscher@student.tudelft.nl> | |
47648 | ||
47649 | * toplev.c: Fix broken checkin of 2003-12-30. | |
47650 | ||
47651 | 2004-01-05 Daniel Berlin <dberlin@dberlin.org> | |
47652 | ||
47653 | * ggc-zone.c: Remove everything in #ifdef USING_MALLOC_PAGE_GROUPS | |
47654 | (USING_MMAP): We don't support non-mmap. | |
47655 | (struct alloc_chunk): Steal 1 bit from typecode, use it to mark | |
47656 | large objects. | |
47657 | (struct page_entry): Remove bytes_free. | |
47658 | (struct page_table_chain): Remove. | |
47659 | (struct globals): Remove page_table member. | |
47660 | (loookup_page_table_entry): Function deleted. | |
47661 | (set_page_table_entry): Ditto. | |
47662 | (ggc_allocated_p): No longer need page table lookups. | |
47663 | (ggc_marked_p): Ditto. | |
47664 | (alloc_small_page): Don't care about bytes_free anymore. | |
47665 | (alloc_large_page): Round up size. | |
47666 | (ggc_alloc_zone_1): Mark large objects as such, and calculate | |
47667 | their size the new way. | |
47668 | Remove page table lookups and setting. | |
47669 | (ggc_get_size): Calculate large object size the new way. | |
47670 | (sweep_pages): Redo to account for fact that we no longer have | |
47671 | bytes_free. | |
47672 | (ggc_collect): No longer need to reincrement bytes_free. | |
47673 | (ggc_pch_alloc_object): Handle new large objects properly. | |
47674 | (ggc_pch_read): Put PCH stuff into it's own uncollected zone. | |
47675 | ||
47676 | 2004-01-05 Kazu Hirata <kazu@cs.umass.edu> | |
47677 | ||
47678 | * doc/invoke.texi: Remove a page break. | |
47679 | ||
47680 | 2004-01-05 Kazu Hirata <kazu@cs.umass.edu> | |
47681 | ||
47682 | * config/avr/avr.c (avr_output_function_prologue): Remove an | |
47683 | extra pair of curly braces. | |
47684 | ||
47685 | 2004-01-05 Kazu Hirata <kazu@cs.umass.edu> | |
47686 | ||
47687 | * config/mn10300/mn10300.c: Fix comment formatting. | |
47688 | * config/mn10300/mn10300.h: Likewise. | |
47689 | ||
47690 | 2004-01-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | |
47691 | ||
47692 | * tree.h: Update documentation on nothrow_flag. | |
47693 | * print-tree.c (print_node): Print TREE_NOTHROW as "align-ok" for | |
47694 | types. | |
47695 | ||
47696 | 2004-01-05 Kazu Hirata <kazu@cs.umass.edu> | |
47697 | ||
47698 | * doc/invoke.texi: Remove traces of dead ports. | |
47699 | ||
47700 | 2004-01-05 Richard Sandiford <rsandifo@redhat.com> | |
47701 | ||
47702 | * doc/invoke.texi: Add documentation for the MIPS -mexplicit-relocs | |
47703 | option. | |
47704 | ||
47705 | 2004-01-05 Richard Sandiford <rsandifo@redhat.com> | |
47706 | ||
47707 | PR target/12945 | |
47708 | * coverage.c (coverage_counter_alloc): Set SYMBOL_FLAG_LOCAL for | |
47709 | counter labels. | |
47710 | * config/mips/mips.c (INTERNAL_SYMBOL_P): Delete. | |
47711 | (mips_classify_symbol): Always treat SYMBOL_REF_FLAG as indicating | |
47712 | string constants if TARGET_MIPS16. Use SYMBOL_REF_DECL to check | |
47713 | the binding of decl symbols, otherwise check SYMBOL_REF_LOCAL_P. | |
47714 | (mips_symbol_insns): Don't trust the local/global classification. | |
47715 | (m16_usym8_4, m16_usym5_4): Same mips16 change as mips_classify_symbol. | |
47716 | (override_options): Make -mabicalls -fno-unit-at-a-time imply | |
47717 | -mno-explicit-relocs. | |
47718 | (mips_encode_section_info): Don't use SYMBOL_REF_FLAG to distinguish | |
47719 | between local and global symbols. | |
47720 | ||
47721 | 2004-01-05 Richard Sandiford <rsandifo@redhat.com> | |
47722 | ||
47723 | * config/mips/mips-protos.h (mips_dangerous_for_la25_p): Declare. | |
47724 | (mips_preferred_reload_class): Declare. | |
47725 | * config/mips/mips.h (DANGEROUS_FOR_LA25_P): Replace with function. | |
47726 | (EXTRA_CONSTRAINT): Update accordingly. | |
47727 | (PREFERRED_RELOAD_CLASS): Use mips_preferred_reload_class. | |
47728 | * config/mips/mips.c (mips_dangerous_for_la25_p): New function. | |
47729 | (mips_preferred_reload_class): New function. Prefer LEA_REGS if | |
47730 | mips_dangerous_for_la25_p. | |
47731 | (mips_secondary_reload_class): Use LEA_REGS rather than GR_REGS | |
47732 | if mips_dangerous_for_la25_p. | |
47733 | ||
47734 | 2004-01-05 Bernardo Innocenti <bernie@develer.com> | |
47735 | ||
47736 | * config/m68k/m68k.c (output_andsi3): Fix signed/unsigned comparison | |
47737 | warning. | |
47738 | ||
47739 | 2004-01-04 Nathanael Nerode <neroden@gcc.gnu.org> | |
47740 | ||
47741 | * configure.ac: Use AC_PROG_CPP_WERROR. | |
47742 | * configure: Regenerate. | |
47743 | ||
47744 | 2004-01-04 Zack Weinberg <zack@codesourcery.com> | |
47745 | ||
47746 | * .cvsignore: Add autom4te.cache. | |
47747 | ||
47748 | 2004-01-04 Richard Sandiford <rsandifo@redhat.com> | |
47749 | ||
47750 | * doc/invoke.texi: Revamp documentation of MIPS options. Remove | |
47751 | -mabi=meabi, -mabi-fake-default, -mmips-as, -mgas, -mmips-tfile, | |
47752 | -m4650, -mfix7000 and -(m)no-crt0. Put endianness options first, | |
47753 | then architecture options, then ABI options. General rewording. | |
47754 | ||
47755 | 2004-01-04 Joseph S. Myers <jsm@polyomino.org.uk> | |
47756 | ||
47757 | PR c/3414 | |
47758 | * doc/extend.texi: Clarify definition of malloc attribute. | |
47759 | ||
47760 | 2004-01-04 Jan Hubicka <jh@suse.cz> | |
47761 | ||
47762 | * Makefile.in (cgraph.o, cgraphunit.o): Add intl.h dependency. | |
47763 | * cgraph.c (create_edge, dump_cgraph): Update to use inline_failed | |
47764 | * cgraph.h (cgraph_edge): Replace inline_call by inline_failed | |
47765 | (cgraph_inline_p): Add extra argument reason. | |
47766 | * cgraphunit.c: Minor formating fixes. | |
47767 | cgraph_first_inlined_callee): New functions. | |
47768 | (record_call_1): Record builtins too. | |
47769 | (cgraph_analyze_function): Update inline_failed messages. | |
47770 | (cgraph_mark_functions_to_output, cgraph_expand_function, cgraph_inlined_into, | |
47771 | cgraph_inlined_callees, cgraph_estimate_growth): Update to use inline_failed. | |
47772 | (cgraph_check_inline_limits): Likewise; Add argument reason. | |
47773 | (cgraph_set_inline_failed): New static function. | |
47774 | (cgraph_decide_inlining_of_small_function, cgraph_decide_inlining): Set | |
47775 | reasons. | |
47776 | (cgraph_inline_p): Add new argument reason. | |
e8366202 | 47777 | * tree-inline.c (expand_call_inline): Update warning. |
3eb54e5f ILT |
47778 | |
47779 | 2004-01-03 Nathanael Nerode <neroden@gcc.gnu.org> | |
47780 | ||
47781 | * configure.ac: Replace AC_INIT, AC_OUTPUT, AC_CANONICAL_SYSTEM | |
47782 | with modern equivalents. | |
47783 | * configure: Regenerate. | |
47784 | ||
47785 | * configure.ac: Replace gcc_AC_CHECK_TYPE with AC_CHECK_TYPE. | |
47786 | * aclocal.m4 (gcc_AC_CHECK_TYPE): Remove. | |
47787 | * configure: Regenerate. | |
47788 | ||
47789 | * doc/install.texi: Note that 'gcc' is now a 2.57 directory. | |
47790 | ||
47791 | * configure.in: Rename to configure.ac. | |
47792 | * configure.ac: Renamed from configure.in; make minimum necessary | |
47793 | changes for autoconf 2.5x. | |
47794 | * aclocal.m4: Make minimum necessary changes for autoconf 2.5x. | |
47795 | * configure: Regenerate with autoconf 2.57. | |
47796 | ||
47797 | 2004-01-03 Kazu Hirata <kazu@cs.umass.edu> | |
47798 | ||
47799 | * config/mips/linux.h: Fix comment formatting. | |
47800 | * config/mips/mips.c: Likewise. | |
47801 | * config/mips/mips.h: Likewise. | |
47802 | * config/mips/mips.md: Likewise. | |
47803 | * config/mips/netbsd.h: Likewise. | |
47804 | * config/mips/windiss.h: Likewise. | |
47805 | ||
47806 | 2004-01-02 Richard Henderson <rth@redhat.com> | |
47807 | ||
47808 | * config/i386/i386.md (fp constant pool splitter): Reorg suppression | |
47809 | for sse and 387; add suppression for mmx. | |
47810 | ||
47811 | 2004-01-02 Andrew Pinski <pinskia@physics.uc.edu> | |
47812 | ||
47813 | * loop.c (loop_optimize): Free all loops_info's mems. | |
47814 | ||
47815 | * c-typeck.c (finish_init): Free spelling_base before | |
47816 | setting it again. | |
47817 | ||
47818 | * cfgloop.c (flow_loops_find): Always free the sbitmap | |
47819 | headers. | |
47820 | ||
47821 | * predict.c (estimate_probability): Free bbs after being | |
47822 | done with it. | |
47823 | ||
47824 | 2004-01-02 Kazu Hirata <kazu@cs.umass.edu> | |
47825 | ||
47826 | * config/mn10300/mn10300.h (PREDICATE_CODES): Add | |
47827 | const_8bit_operand and call_address_operand. | |
47828 | ||
47829 | 2004-01-02 Jan Hubicka <jh@suse.cz> | |
47830 | ||
e8366202 | 47831 | * cgraphunit.c (cgraph_optimize_function): Call optimize_inline_calls |
3eb54e5f | 47832 | when there is nothing to inline but warnings are requested. |
e8366202 | 47833 | (cgraph_decide_inlining): Fix memory leak. |
3eb54e5f ILT |
47834 | |
47835 | 2004-01-02 Jan Hubicka <jh@suse.cz> | |
47836 | ||
e8366202 | 47837 | * expr.c (store_constructor): Fix pasto in previous patch. |
3eb54e5f ILT |
47838 | |
47839 | 2004-01-02 Kazu Hirata <kazu@cs.umass.edu> | |
47840 | ||
47841 | * config/i386/cygming.h: Fix comment formatting. | |
47842 | * config/i386/djgpp.h: Likewise. | |
47843 | * config/i386/gthr-win32.c: Likewise. | |
47844 | * config/i386/i386-interix.h: Likewise. | |
47845 | * config/i386/i386.c: Likewise. | |
47846 | * config/i386/i386.h: Likewise. | |
47847 | * config/i386/openbsd.h: Likewise. | |
47848 | * config/i386/winnt.c: Likewise. | |
47849 | * config/i386/xm-mingw32.h: Likewise. | |
47850 | ||
47851 | 2004-01-02 Joseph S. Myers <jsm@polyomino.org.uk> | |
47852 | ||
47853 | * doc/gcc.texi, doc/invoke.texi, doc/install.texi: Update | |
47854 | copyright and last modification dates. | |
47855 | ||
47856 | 2004-01-02 Andreas Jaeger <aj@suse.de>, Gerald Pfeifer <gp@suse.de> | |
47857 | ||
47858 | * doc/install.texi (Specific): Mention x86_64. | |
47859 | ||
47860 | 2004-01-01 Hans-Peter Nilsson <hp@bitrange.com> | |
47861 | ||
47862 | * builtins.c (expand_builtin_apply_args_1) [STACK_GROWS_DOWNWARD]: | |
47863 | Call force_operand on plus_constant result. | |
47864 | ||
47865 | 2004-01-01 Jan Hubicka <jh@suse.cz> | |
47866 | ||
47867 | * expmed.c (store_bit_field, extract_bit_field): Use new named patterns | |
47868 | * expr.c (store_constructor): Use vec_init pattern. | |
47869 | * genopinit.c (optabs): Initailize vec_set/vec_extract/vec_init. | |
47870 | * optabs.h (optab_index): ADD OTI_vec_set/OTI_vec_extract/OTI_vec_init | |
47871 | (vec_set_optab, vec_extract_optab, vec_init_optab): New. | |
47872 | * i386.md (vec_setv2df, vec_extractv2df, vec_setv4sf, vec_extractv4sf): | |
47873 | New patterns. | |
47874 | (sse2_unpc?pd): Fix pattern. | |
47875 | (sse2_movlpd): Kill. | |
47876 | (sse2_movsd): Deal with movlpd too. | |
47877 | * i386.c (ix86_expand_builtin): Use sse2_movsd instead of sse2_movlpd. | |
47878 | (ix86_expand_vector_init): New. | |
47879 | * emmintrin.h (__mm_set_pd, __mm_set_ps): Use vector extensions. | |
47880 | * md.texi (vec_set, vec_extract): Document | |
ad41bd84 JM |
47881 | |
47882 | \f | |
47883 | Copyright (C) 2004 Free Software Foundation, Inc. | |
47884 | ||
47885 | Copying and distribution of this file, with or without modification, | |
47886 | are permitted in any medium without royalty provided the copyright | |
47887 | notice and this notice are preserved. |