1 2004-11-11 Nathan Sidwell <nathan@codesourcery.com>
4 * config/rs6000/rs6000.c (mask64_2_operand): Stub to call
6 (mask64_1or2_operand): Broken out of mask64_2_operand, add flag
7 to spot rlwinm opportunities.
8 (and64_2_operand): Use mask_1or2_operand.
9 * config/rs6000/rs6000.md (anddi3): Use rlwinm when possible.
11 2004-11-11 Dorit Naishlos <dorit@il.ibm.com>
13 * tree-vectorizer.c (update_phi_nodes_for_guard): Call reverse_phis.
14 (vect_update_ivs_after_vectorizer): Update function documentation.
15 Avoid quadratic behavior and direct write to PHI_ARG_DEF.
17 2004-11-11 Kazu Hirata <kazu@cs.umass.edu>
19 * config/arm/arm.c: Fix a comment typo.
21 2004-11-11 Nathan Sidwell <nathan@codesourcery.com>
23 * bitmap.h (nBITMAP_WORD_BITS): Remove.
24 (BITMAP_WORD_BITS): Force unsigned by use of 1u.
25 (BITMAP_ELEMENT_WORDS, BITMAP_ELEMENT_ALL_BITS): Remove
27 (bitmap_first_set_bit): Return unsigned, use ctzl.
28 (bitmap_last_set_bit): Remove.
29 * bitmap.c (bitmap_element_zerop, bitmap_copy): Make iterator
31 (bitmap_first_set_bit): Return unsigned, require non-empty bitmap,
32 remove special case code for two word elements.
33 (bitmap_last_set_bit): Remove.
34 * ra-build.c (livethrough_conflicts_bb): Replace unnecessary use of
35 bitmap_first_set_bit with bitmap_empty_p.
36 * tree-outof-ssa.c (analyze_edges_for_bb): Likewise.
37 * tree-ssa-pre.c (bitmap_print_value): Use simple flag rather than
40 2004-11-11 Nathan Sidwell <nathan@codesourcery.com>
43 * config/rs6000/rs6000.md: Add DF & SF reg move peepholes.
46 * config/rs6000/rs6000.c (rs6000_generate_compare): Generate an
47 unsigned equality compare when we know the operands are unsigned.
49 2004-11-10 Peter S. Mazinger <ps.m@gmx.net>
51 * config/mips/linux.h (LINUX_TARGET_OS_CPP_BUILTINS): Define
52 __PIC__ and __pic__ only if TARGET_ABICALLS.
53 (SUBTARGET_CPP_SPECS): Don't define or undefine __PIC__ and __pic__.
54 (SUBTARGET_ASM_SPECS): Don't pass -non_shared to assembler; pass
55 -KPIC only if not -mno-abicalls.
57 * config/alpha/linux.h, config/arm/linux-elf.h, config/pa/pa-linux.h
58 * config/sparc/linux.h, config/sparc/linux64.h
59 (TARGET_OS_CPP_BUILTINS): Define __PIC__ and __pic__ if flag_pic.
61 * config/arm/linux-gas.h (CPP_SPEC): Don't define __PIC__ or __pic__.
62 * config/pa/pa/linux.h (CPP_SPEC): Likewise.
63 * config/sparc/linux.h (CPP_SUBTARGET_SPEC): Likewise.
64 * config/sparc/linux64.h (CPP_SUBTARGET_SPEC): Likewise.
66 2004-11-11 Paul Brook <paul@codesourcery.com>
68 * config/arm/arm.c (arm_compute_save_reg0_reg12_mask): Save PIC
69 register if current_function_uses_pic_offset_table is set.
71 2004-11-10 David Edelsohn <edelsohn@gnu.org>
73 * config/rs6000/rs6000.md (define_attr "type"): Add two and three.
74 Change multi-instruction sequences to new attribute.
75 * config/rs6000/{40x.md,440.md,603.md,6xx.md,
76 7450.md,7xx.md,8540.md,mpc.md,power4.md,power5.md,
77 rios1.md,rios2.md,rs64.md}: Add descriptions for two and three.
79 2004-11-10 Daniel Berlin <dberlin@dberlin.org>
81 * tree-data-ref.c (build_classic_dist_vector): If either loop
82 is outside of the nest we asked about, the dependence can't
84 (build_classic_dir_vector): Ditto.
86 2004-11-10 Zdenek Dvorak <dvorakz@suse.cz>
88 * tree-ssa-loop-ivopts.c (get_address_cost): Add address elements in
90 (force_var_cost): Determine cost of addition and multiplication more
92 (get_computation_cost_at): Add cost for computing address elements to
95 * fold-const.c (fold): Attempt to use ptr_difference_const whenever
96 one of the arguments of MINUS_EXPR is an address.
97 (split_address_to_core_and_offset): New function.
98 (ptr_difference_const): Handle case when one of the operands is a
100 * tree-ssa-loop-ivopts.c (determine_base_object): Fold &*addr.
101 (ptr_difference_cost): Pass addresses instead of objects to
102 ptr_difference_const.
104 2004-11-10 Nathan Sidwell <nathan@codesourcery.com>
106 * tree.c (tree_check_failed): Emit general error if the list of
109 2004-11-10 Eric Botcazou <ebotcazou@libertysurf.fr>
111 * config/sparc/sparc.c (function_arg_union_value): New 'slotno'
112 argument. When the union is passed in the 6th slot, build a
113 PARALLEL with only one element.
114 (function_arg): Adjust call to function_arg_union_value.
115 (function_value): Likewise.
117 2004-11-10 Fariborz Jahanian <fjahanian@apple.com>
119 PR tree-optimization/17892
120 * tree-ssa-dom.c (unsafe_associative_fp_binop): Add test for
123 2004-11-10 James A. Morrison <phython@gcc.gnu.org>
126 (addsi3, subsi3): Set "fptype" attribute.
127 (addv2si, addv4hi, addv2hi, subv2si, subv4hi, subv2hi): New patterns.
129 2004-11-10 Steven Bosscher <stevenb@suse.de>
131 * basic-block.h (XMALLOC_REG_SET, XFREE_REG_SET): New.
132 (struct basic_block_def): Remove local_set and cond_local_set
133 fields. Update comment for global_live_at_start.
134 * flow.c (calculate_global_regs_live): Allocate local_sets and
135 cond_local_sets here as arrays of bitmaps previously stored in
136 bb->local_set and bb->cond_local_set. Use xmalloc instead of
137 obstack allocated bitmaps.
139 2004-11-09 H.J. Lu <hongjiu.lu@intel.com>
142 * config/ia64/unwind-ia64.h (_Unwind_FindTableEntry): Mark it
145 * unwind-dw2.c (_Unwind_FindTableEntry): Removed.
147 2004-11-09 Jeff Law <law@redhat.com>
149 * cfganal.c (flow_dfs_compute_reverse_execute): Accept new
150 argument holding last unvisited block. Start search for
151 unvisited blocks at LAST_UNVISITED rather than EXIT_BLOCK.
152 (connect_infinite_loops_to_exit): Supply last unvisited block
153 to flow_dfs_compute_reverse_execute.
155 2004-10-22 Aldy Hernandez <aldyh@redhat.com>
157 * config/rs6000/rs6000.md (fix_truncdfsi2): Handle e500
159 (floatunssidf2): Same.
161 ("extendsfdf2"): New expander.
162 (*extendsfdf2_fpr): Rename.
163 (*truncdfsf2_fpr): Same.
166 (*nabsdf2_fpr): Same.
172 * config/rs6000/spe.md ("spe_extendsfdf2"): Remove FIXME comment.
173 ("spe_fix_truncdfsi2"): Same.
174 (spe_floatunssidf2): Same.
175 (spe_floatsidf2): Same.
177 2004-11-09 Joseph S. Myers <joseph@codesourcery.com>
180 * c-common.c (fname_decl): Don't use line number of decl in
183 2004-11-09 Ulrich Weigand <uweigand@de.ibm.com>
185 * config/s390/s390-protos.h (s390_pool_operand): Remove.
186 * config/s390/s390.c (s390_pool_operand): Likewise.
187 (s390_extra_constraint_str): Handle 'B' constraints.
188 * config/s390/s390.h (CONSTRAINT_LEN): Handle 'B' constraints.
189 * config/s390/s390.md: Document 'B' constraints.
190 ("*cmpdi_cct", "*cmpsi_cct"): Use 'B' constraint instead of
191 s390_pool_operand to prevent insns with two literal pool
192 references. Make pattern commutative.
193 ("*cmpdi_ccu", "*cmpsi_ccu", "*cmphi_ccu", "*cmpqi_ccu"): Use
194 'B' constraint instead of s390_pool_operand.
196 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
198 * tree-cfg.c (create_bb): Remove unnecessary memset.
200 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
202 * tree-ssa-threadupdate.c (copy_phis_to_block): Remove.
203 (thread_block): Call flush_pending_stmt instead of
206 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
208 * loop-iv.c (iv_number_of_iterations): Make it static.
209 * cfgloop.h: Remove the corresponding prototype.
211 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
213 * function.c (combine_temp_slots, assign_parms,
214 expand_pending_sizes): Make them static.
215 * tree.h: Remove the corresponding prototypes.
217 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
219 * emit-rtl.c (copy_most_rtx): Remove.
220 * rtl.h: Remove the corresponding prototype.
222 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
224 * cfgloop.c (flow_loops_update): Remove.
225 * cfgloop.h: Remove the corresponding prototype.
227 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
229 * conflict.c (mark_reg, conflict_graph_compute): Remove.
230 * basic-block.h: Remove the prototype for
231 conflict_graph_compute.
233 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
235 * tree-if-conv.c (add_to_dst_predicate_list): Change the
236 second argument to basic_block.
237 (tree_if_convert_cond_expr): Update call sites.
239 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
241 * fold-const.c (pedantic_non_lvalue): Make it static.
242 * tree.h: Remove the corresponding prototype.
244 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
246 * optabs.c (prepare_operand): Make it static.
247 * optabs.h: Remove the corresponding prototype.
249 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
251 * reload1.c (reloads_conflict, gen_reload): Make them static.
252 * reload.h: Remove the corresponding prototypes.
254 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
256 * reload.c (refers_to_mem_for_reload_p,
257 refers_to_regno_for_reload_p): Make them static.
258 * reload.h: Remove the corresponding prototypes.
260 2004-11-09 James A. Morrison <phython@gcc.gnu.org>
261 Eric Botcazou <ebotcazou@libertysurf.fr>
264 * doc/md.texi (SPARC constraints): Document 'Y' constraint.
265 * config/sparc/sparc-modes.def: Add vector modes of 4 and 8 bytes.
266 * config/sparc/sparc.c (sparc_vector_mode_supported_p): New function.
267 (TARGET_VECTOR_MODE_SUPPORTED_P): Set to sparc_vector_mode_supported_p.
268 (fp_zero_operand): Accept MODE_VECTOR_INT modes.
269 (input_operand): Accept CONST_VECTOR with MODE_VECTOR_INT modes.
270 (sparc_cannot_force_const_mem): Return false for CONST_VECTOR.
271 (sparc_init_modes): Set sparc_mode_class to SF_MODE or DF_MODE for
272 MODE_VECTOR_INT modes.
273 (sparc_extra_constraint_check): Add new constraint 'Y'.
274 * config/sparc/sparc.h: Define UNITS_PER_SIMD_WORD to 8 for TARGET_VIS.
275 * config/sparc/sparc.md (V32): New mode macro for 32-bit modes.
276 (V64): New mode macro for 64-bit modes.
277 (movsf): Use V32 for mode instead of SF.
278 (movsf_insn_vis): Use V32 for mode instead of SF. Add 'Y' constraint
279 alongside 'G' constraint.
280 (movdf): Use V64 for mode instead of DF.
281 (movdf_insn_v9only_vis, modf_insn_sp64_vis): Use V64 for mode instead
282 of DF. Add 'Y' constraint alongside 'G' constraint.
283 (multi-isn and misaligned mems DFmode splitters): Use V64 for mode
286 2004-11-09 Ulrich Weigand <uweigand@de.ibm.com>
288 * config/s390/s390.c (s390_select_ccmode): Return CCAPmode for
290 * config/s390/s390.md ("*negdi2_64"): Fix op_type attribute.
291 ("*negdi2_31"): Reimplement using a splitter.
292 ("*negdi2_cc", "*negdi2_cconly"): New insns.
293 ("*negdi2_sign", "*negdi2_sign_cc"): Likewise.
294 ("*negsi2_cc", "*negsi2_cconly"): Likewise.
295 ("*negdf2_cc", "*negdf2_cconly"): Likewise.
296 ("*negsf2_cc", "*negsf2_cconly"): Likewise.
297 ("*absdi2_cc", "*absdi2_cconly"): New insns.
298 ("*absdi2_sign", "*absdi2_sign_cc"): Likewise.
299 ("*abssi2_cc", "*abssi2_cconly"): Likewise.
300 ("*absdf2_cc", "*absdf2_cconly"): Likewise.
301 ("*abssf2_cc", "*abssf2_cconly"): Likewise.
302 ("*negabsdi2_cc", "*negabsdi2_cconly"): New insns.
303 ("*negabsdi2_sign", "*negabsdi2_sign_cc"): Likewise.
304 ("*negabssi2_cc", "*negabssi2_cconly"): Likewise.
305 ("*negabsdf2_cc", "*negabsdf2_cconly"): Likewise.
306 ("*negabssf2_cc", "*negabssf2_cconly"): Likewise.
308 2004-11-09 Ulrich Weigand <uweigand@de.ibm.com>
310 * config/s390/s390.c (s390_canonicalize_comparison): Reverse condition
311 when eliminating an UNSPEC_CMPINT.
312 (s390_secondary_input_reload_class): Fix test for CC register reload.
313 (s390_secondary_output_reload_class): Likewise.
314 (s390_expand_cmpmem): Swap operands. Use gen_cmpint.
315 * config/s390/s390.md ("*cmpint_si", "*cmpint_di"): Remove.
316 ("cmpint", "*cmpint_cc", "*cmpint_sign", "*cmpint_sign_cc"): New
317 insn patterns with splitters.
319 2004-11-09 David Edelsohn <edelsohn@gnu.org>
321 * config/rs6000/rs6000.c (rs6000_rtx_costs): Add EQ, GTU, and LTU.
322 * config/rs6000/rs6000.md (sCC): Split GTU and LTU patterns.
324 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
326 * tree-phinodes.c (phi_reverse): New.
327 * tree-cfg.c (tree_make_forwarder_block, tree_duplicate_bb):
329 * tree-flow.h: Add a prototype for phi_reverse.
331 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
333 * tree-ssa-loop-ivopts.c: Fix a comment typo.
335 2004-11-09 James A. Morrison <phython@gcc.gnu.org>
338 * config/host-linux.c (TRY_EMPTY_VM_SPACE): Add __sparc__
341 2004-11-09 Joseph S. Myers <joseph@codesourcery.com>
343 * builtins.c, c-common.c, c-decl.c, c-format.c: Say "argument"
344 instead of "arg" in diagnostics.
346 2004-11-09 Joseph S. Myers <joseph@codesourcery.com>
348 * builtins.c, c-common.c, c-decl.c, c-format.c, c-format.h,
349 c-parse.in, c-pch.c, c-pragma.c, collect2.c, final.c, gcc.c,
350 gcov.c, opts.c, pretty-print.h, protoize.c, reg-stack.c, rtl.c,
351 tlink.c, config/alpha/alpha.c, config/arc/arc.c, config/arm/arm.c,
352 config/avr/avr.c, config/c4x/c4x.c, config/darwin.c,
353 config/frv/frv.c, config/h8300/h8300.c, config/i386/i386.c,
354 config/i386/winnt.c, config/ia64/ia64.c, config/ip2k/ip2k.c,
355 config/iq2000/iq2000.c, config/m32r/m32r.c,
356 config/m68hc11/m68hc11.c, config/m68k/m68k.c, config/m68k/m68k.h,
357 config/mcore/mcore.c, config/mips/mips.c, config/mmix/mmix.c,
358 config/ns32k/ns32k.c, config/rs6000/host-darwin.c,
359 config/rs6000/rs6000.c, config/s390/s390.c, config/sh/sh.c,
360 config/sh/symbian.c, config/stormy16/stormy16.c,
361 config/v850/v850.c: Avoid "`" as left quote, using "'" or %q, %<
362 and %> as appropriate. Use %' as apostrophe in diagnostics where
363 applicable. Use %< and %> in place of '' quotes where applicable.
364 Use %qs in place of %<%s%>. Consistently quote __builtin function
367 2004-11-09 Hans-Peter Nilsson <hp@bitrange.com>
369 * gdbinit.in (pbb, pbm): New macros.
371 2004-11-08 Jeff Law <law@redhat.com>
373 * cfg.c (redirect_edge_succ_nodup): Use find_edge rather than
374 implementing it inline.
376 * cfganal.c (find_edge): Search pred->succs or succ->preds,
377 whichever is shorter.
379 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
381 * passes.c (rest_of_handle_jump): Remove dead code.
383 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
385 * tree-cfg.c (thread_jumps): Speed up by keeping a pointer to
386 the last used element in the worklist.
388 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
390 * tree-inline.c (remap_save_expr): Make it static.
391 * tree-inline.h: Remove the corresponding prototype.
393 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
395 * tree-ssa-loop-niter.c (upper_bound_in_type,
396 lower_bound_in_type): Make them static.
397 * tree.h: Remove the corresponding prototypes.
399 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
401 * tree-ssa-live.c (tpa_init, pop_best_coalesce): Make them
403 * tree-ssa-live.h: Remove the corresponding prototypes.
405 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
407 * tree-if-conv.c (tree_if_conversion): Make it static.
408 * tree-flow.h: Remove the corresponding prototype.
410 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
412 * tree-ssa-operands.c (build_ssa_operands): Make it static.
413 * tree-flow.h: Remove the corresponding prototype.
415 2004-11-08 Andrew Pinski <pinskia@physics.uc.edu>
418 * tree-inline.c (copy_body_r): Change "t = t" to empty
419 statement instead of "t".
421 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
423 * modulo-sched.c (create_partial_schedule,
424 free_partial_schedule, reset_partial_schedule,
425 ps_add_node_check_conflicts, rotate_partial_schedule): Make
428 2004-11-08 Richard Henderson <rth@redhat.com>
430 * expmed.c (extract_force_align_mem_bit_field): Correct handling at
433 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
435 * sched-deps.c (add_insn_mem_dependence): Make it static.
436 * sched-int.h: Remove the corresponding prototypes.
438 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
440 * flow.c (allocate_bb_life_data): Make it static.
441 * basic-block.h: Remove the corresponding prototype.
443 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
445 * calls.c (split_complex_values, split_complex_types): Make
447 * expr.h: Remove the corresponding prototypes.
449 2004-11-08 Richard Earnshaw <rearnsha@arm.com>
451 * arm.c (arm_handle_notshared_attribute): Wrap declaration and use
452 with #if TARGET_DLLIMPORT_DECL_ATTRIBUTES.
454 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
456 * tree-if-conv.c (tree_if_convert_cond_expr): Remove two "if"
457 statements that always trigger.
459 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
461 * tree-cfg.c, tree-if-conv.c, tree-into-ssa.c,
462 tree-scalar-evolution.c, tree-ssa-loop-im.c,
463 tree-ssa-loop-ivopts.c, tree-ssa-loop-manip.c, tree-ssa.c,
464 tree-vectorizer.c: Replace TREE_CHAIN with PHI_CHAIN where
467 2004-11-08 Ben Elliston <bje@au.ibm.com>
469 * cgraph.h (cgraph_calls_p): Remove.
470 * cgraph.c (cgraph_calls_p): Likewise.
472 * varray.h (varray_copy): Remove.
473 * varray.c (varray_copy): Likewise.
475 2004-11-07 Andrew Pinski <pinskia@physics.uc.edu>
478 * config/darwin.c (machopic_indirect_data_reference):
479 Call gen_macho_high and gen_macho_low instead of
480 checking the mode and calling gen_macho_high_di directly.
481 * config/rs6000/rs6000.c (rs6000_emit_move): Likewise.
482 * config/rs6000/rs6000.md: Move most of TARGET_MACHO expand/insns
484 (movdf_low, movsf_low, movsf_low_st, movsi_low, macho_correct_pic,
485 load_macho_picbase, macho_low, macho_high): Removed.
486 (builtin_setjmp_receiver): Call gen_macho_high and
487 gen_macho_low instead of checking the mode and calling
488 gen_macho_high_di directly.
489 * config/rs6000/darwin.md (load_macho_picbase_di): Use the MD constant.
490 (movdf_low_si, movsf_low_si, movsf_low_st_si, movsi_low_st):
491 Moved from rs6000.md.
492 (macho_high): New expander.
493 (macho_high_si): Renamed version of macho_high from rs6000.md.
494 (macho_low): New expander.
495 (macho_low_si): Renamed version of macho_low from rs6000.md.
496 (load_macho_picbase): New expander.
497 (load_macho_picbase_si): Renamed version of load_macho_picbase
499 (macho_correct_pic): New expander.
500 (macho_correct_pic_si): Renamed version of macho_correct_pic
503 2004-11-07 Joseph S. Myers <joseph@codesourcery.com>
505 * c-decl.c (finish_struct): Use complete sentences for diagnostic
506 for structures or unions with no members or named members.
508 2004-11-07 Joseph S. Myers <joseph@codesourcery.com>
510 * c-typeck.c (build_unary_op): Replace unreachable diagnostic for
511 taking address of bit-field by assertion.
513 2004-11-06 Ulrich Weigand <uweigand@de.ibm.com>
515 * config/s390/s390.md (attribute "op_type"): Default to "NN".
516 (attribute "atype"): Default to "agen".
517 (attribute "length"): Default to 6.
518 (define_asm_attibutes): Remove.
519 ("movti", "*movdi_64", "*movdi_31", "*movsi_zarch", "*movsi_esa",
520 "*movhi", "*movqi", "*movdf_64", "*movdf_31", "movsf",
521 "*clc", "*mvc", "*nc", "*oc", "*xc", "*xc_zero"):
522 Do not set type attribute to "cs" where already default.
523 ("*cmpint_si", "*cmpint_di", "fix_truncdfsi2_ibm", "floatsidf2_ibm",
525 Do not set type attribute to "other" where already default.
526 ("movti", "*movdi_64", "*movdi_31", "*movdf_31",
527 "*strlendi", "*strlensi",
528 "*movmem_long_64", "*movmem_long_31",
529 "*clrmem_long_64", "*clrmem_long_31",
530 "*cmpmem_long_64", "*cmpmem_long_31",
531 "*cmpint_si", "*cmpint_di",
532 "addti3", "*adddi3_31z", "*adddi3_31",
533 "subti3", "*subdi3_31z", "*subdi3_31", "*negdi2_31",
534 "*sconddi", "*scondsi", "*sconddi_neg", "*scondsi_neg",
535 "fix_truncdfsi2_ibm", "floatsidf2_ibm", "extendsfdf2_ibm",
536 "*pool_entry", "pool_align", "pool_section_start",
537 "pool_section_end", "main_pool", "reload_base_31", "pool"):
538 Do not set op_type attribute to "NN" where already default.
539 ("*extractqi", "*extracthi", "*zero_extendhisi2_31",
540 "*zero_extendqisi2_31", "*zero_extendqihi2_31",
541 "fix_truncdfsi2_ibm", "floatsidf2_ibm"):
542 Do not set atype attribute to "agen" where already default.
543 ("*movmem_short", "*clrmem_short", "*cmpmem_short"): Don't set op_type.
545 2004-11-06 Richard Sandiford <rsandifo@redhat.com>
547 * config/mips/t-iris6 (tp-bit.c): Fix target filename.
549 2004-11-06 Richard Sandiford <rsandifo@redhat.com>
552 * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Don't define the
553 R3000 and R4000 macros on IRIX.
555 2004-11-06 Andreas Schwab <schwab@suse.de>
558 * config/rs6000/altivec.h: Replace bool by __bool and pixel by
561 2004-11-06 Kazu Hirata <kazu@cs.umass.edu>
563 * tree-ssa-copyrename.c (rename_ssa_copies): Make it static.
565 2004-11-06 Ulrich Weigand <uweigand@de.ibm.com>
567 * config/s390/2064.md ("z_int", "z_agen"): Ensure the condition
568 matches no insns already matched by other reservations.
569 * config/s390/2084.md ("x_int", "x_agen"): Ensure the condition
570 matches no insns already matched by other reservations.
571 ("x_ss"): Remove, replace by ...
572 ("x_cs"): ... this new reservation. Check type instead of op_type.
573 Update bypasses to use x_cs instead of x_ss.
574 ("x_nn"): Remove, replace by ...
575 ("x_other"): ... this new reservation. Check type instead of op_type.
576 Add x_other and x_branch to bypasses.
577 ("x_vs"): New reservation.
578 * config/s390/s390.md (attribute "type"): Default according to op_type.
579 ("*execute"): Set type to "cs".
581 2004-11-06 Kazu Hirata <kazu@cs.umass.edu>
583 * fold-const.c (non_lvalue): Don't construct NON_LVALUE_EXPR
586 2004-11-06 Hans-Peter Nilsson <hp@bitrange.com>
588 PR rtl-optimization/17933
589 * rtlanal.c (dead_or_set_regno_p): Break out common code to...
590 (covers_regno_p): New function. Handle SETs of PARALLEL,
591 and defer the rest to...
592 (covers_regno_no_parallel_p): New function.
594 2004-11-06 Eric Botcazou <ebotcazou@libertysurf.fr>
596 * config/sparc/sparc.c (function_arg_record_value_1): Skip
597 fields with zero length.
598 (function_arg_record_value_2): Likewise.
599 (function_arg_record_value_3): Use smallest_mode_for_size
600 instead of mode_for_size.
601 (function_arg_union_value): Return naked register for unions
604 2004-11-06 Eric Botcazou <ebotcazou@libertysurf.fr>
606 * config/sparc/sparc.c (scan_record_type): Handle vector types.
607 (function_arg_slotno): Handle vector types specially.
608 (function_arg_record_value_1): Split fields with vector type and
609 BLKmode into their subparts.
610 (function_arg_record_value_2): Likewise. Be prepared to handle
611 more than 2 registers per field.
612 (function_arg_union_value): Increment regno inside the loop.
613 (function_arg_vector_value): New function.
614 (function_arg): Use it to split fields with vector type and
615 BLKmode into their subparts and build a PARALLEL. Treat
616 other vector types like floats.
617 (function_value): Likewise.
618 (sparc_pass_by_reference): Handle vector types.
619 (sparc_return_in_memory): Likewise.
621 2004-11-06 Kazu Hirata <kazu@cs.umass.edu>
623 * tree-cfg.c (find_taken_edge_cond_expr): Remove an "if"
624 statement that never triggers.
626 2004-11-06 Ulrich Weigand <uweigand@de.ibm.com>
628 * config/s390/2064.md ("z_o2", "z_o3"): Remove.
629 * config/s390/2084.md ("x_o2", "x_o3"): Remove.
630 ("x_fdivd"): Use also for fsqrtd type.
631 ("x_fdivs"): Use also for fsqrts type.
632 * config/s390/s390.md (attribute "type"): Remove "o2" and "o3" types.
633 ("fix_truncdfsi2_ieee"): Set type to "ftoi".
634 ("fix_truncdfsi2_ibm"): Set type to "other".
635 ("floatdidf2", "floatdisf2"): Do not clobber CC.
636 ("floatsidf2", "floatsidf2_ieee"): Likewise.
637 ("floatsisf2", "floatsisf2_ieee"): Likewise.
638 ("truncdfsf2", "truncdfsf2_ieee"): Only allow "register_operand".
639 ("truncdfsf2_ibm"): Only allow "nonimmediate_operand". Use LER
641 ("extendsfdf2_ibm"): Do not set atype. Set type to "floads".
642 ("sqrtdf2"): Set type to "fsqrtd".
643 ("sqrtsf2"): Set type to "fsqrts".
645 2004-11-06 Kazu Hirata <kazu@cs.umass.edu>
647 * tree-phinodes.c (remove_all_phi_nodes_for): Speed up using a
648 pointer to the last PHI node in the new PHI chain.
650 2004-11-06 Kaz Kojima <kkojima@gcc.gnu.org>
652 * config/sh/sh.c (prepare_move_operands): Emit a use of r12
653 for non-PIC TLS_MODEL_INITIAL_EXEC case.
655 2004-11-06 Kazu Hirata <kazu@cs.umass.edu>
657 * expmed.c: Fix a comment typo.
659 2004-11-06 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
662 * config/i386/cygming.h
663 [HAVE_GAS_WEAK] (ASM_WEAKEN_LABEL): Macro defined.
665 2004-11-06 Kazu Hirata <kazu@cs.umass.edu>
667 * config/sh/sh4a.md: Fix copyright.
669 2004-11-06 Kazu Hirata <kazu@cs.umass.edu>
671 * config/rs6000/darwin.md, config/sh/sh4a.md: Replace GNU CC
674 2004-11-05 David Edelsohn <edelsohn@gnu.org>
676 * config/rs6000/rs6000.md (scc patterns): Replace subfc with subf
677 when carry not used. Suggested by Torbjorn Granlund.
679 * config/rs6000/rs6000.c (rs6000_emit_move): Don't force_reg
680 operand[1] unnecessarily. Suggested by Eric Christopher.
681 (rs6000_adjust_cost): Increase latency of store to wider load.
682 (rs6000_rtx_costs): mulli only allows 16-bit constants.
684 2004-11-05 Stan Shebs <shebs@apple.com>
686 * config/rs6000/rs6000.c (machopic_output_stub): Output
687 ldu instead of lwzu for 64-bit stubs.
689 2004-11-05 Richard Henderson <rth@redhat.com>
691 * config/alpha/alpha.c (alpha_expand_unaligned_load): Special case
693 (alpha_expand_unaligned_store): Likewise.
695 2004-11-05 Richard Henderson <rth@redhat.com>
697 * expmed.c (extract_force_align_mem_bit_field): New.
698 (extract_split_bit_field): Call it.
700 2004-11-05 Richard Henderson <rth@redhat.com>
702 * ia64.md (UNSPEC_SHRP): New.
703 (dshift_count_operand): New.
704 (ashrti3, ashrti3_internal, lshrti3, lshrti3_internal, shrp): New.
705 * ia64.c (rtx_needs_barrier): Handle UNSPEC_SHRP.
707 2004-11-05 Joseph S. Myers <joseph@codesourcery.com>
709 * c-typeck.c (output_init_element): Return early if value is
712 2004-11-05 James E Wilson <wilson@specifixinc.com>
714 * invoke.texi (-fno-guess-branch-probability): Rewrite.
716 * config/ia64/ia64.c (rtx_needs_barrier, case UNSPEC_GR_SPILL): Change
717 1 to UNSPEC_GR_SPILL.
719 2004-11-05 Andreas Krebbel <krebbel1@de.ibm.com>
721 * config/s390/s390.c (s390_fixed_condition_code_regs): New function.
722 (TARGET_FIXED_CONDITION_CODE_REGS): Macro defined.
724 2004-11-05 Nathan Sidwell <nathan@codesourcery.com>
726 * bitmap.h (enum bitmap_bits): Remove.
727 (bitmap_operation): Remove.
728 (bitmap_and, bitmap_and_into, bitmap_and_compl,
729 bitmap_and_compl_into, bitmap_ior, bitmap_ior_into, bitmap_xor,
730 bitmap_xor_into): Prototype.
731 * bitmap.c (bitmap_elt_insert_after, bitmap_elt_clear_from): New.
732 (bitmap_operation): Remove.
733 (bitmap_and, bitmap_and_into, bitmap_and_compl,
734 bitmap_and_compl_into, bitmap_ior, bitmap_ior_into, bitmap_xor,
735 bitmap_xor_into): New.
736 (bitmap_ior_and_compl, bitmap_ior_and_compl_into): Adjust.
738 PR tree-optimization/18307
739 * tree-ssa-alias.c (merge_pointed_to_info): Protected against DEST
740 and ORIG being the same node.
742 2004-11-04 Geoffrey Keating <geoffk@apple.com>
744 * Makefile.in (distclean): Don't delete nonexistent fixinc/ directory.
745 (install-mkheaders): Install the version built for the
746 host, not for the build machine.
747 * configure.ac: Always run fixincludes.
748 (all_outputs): Remove mkheaders.
749 * configure: Regenerate.
750 * fixinc.in: Move to fixincludes/.
751 * mkfixinc.sh: Likewise.
752 * mkheaders.in: Likewise.
753 * README-fixinc: Likewise.
755 2004-11-05 Ramana Radhakrishnan <ramana.radhakrishnan@codito.com>
758 * config/arc/lib1funcs.asm (___umulsidi3): Change use of cmp to the
759 equivalent on the A4.
761 2004-11-05 Joseph S. Myers <joseph@codesourcery.com>
763 * doc/c-tree.texi, doc/cfg.texi, doc/contrib.texi, doc/cpp.texi,
764 doc/cppopts.texi, doc/extend.texi, doc/fragments.texi,
765 doc/frontends.texi, doc/gcov.texi, doc/hostconfig.texi,
766 doc/implement-c.texi, doc/install.texi, doc/invoke.texi,
767 doc/libgcc.texi, doc/md.texi, doc/passes.texi,
768 doc/portability.texi, doc/rtl.texi, doc/sourcebuild.texi,
769 doc/standards.texi, doc/tm.texi, doc/tree-ssa.texi,
770 doc/trouble.texi: Correct end-of-sentence markup and markup of
771 "etc.", "e.g." and "i.e.". Use @code in various places where
774 2004-11-05 Joseph S. Myers <joseph@codesourcery.com>
776 * doc/c-tree.texi, doc/cfg.texi, doc/extend.texi, doc/gty.texi,
777 doc/install.texi, doc/invoke.texi, doc/md.texi, doc/passes.texi,
778 doc/rtl.texi, doc/tm.texi, doc/tree-ssa.texi: Remove trailing
781 2004-11-04 Mark Mitchell <mark@codesourcery.com>
783 * config/arm/arm.c (arm_handle_notshared_attribute): New function.
784 * doc/extend.texi: Document "notshared" attribute.
786 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
788 * tree-phinodes.c (make_phi_node): Make it static.
789 * tree.h: Remove the prototypes for make_phi_node.
791 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
793 * stmt.c (expand_asm, expand_asm_operands): Make them static.
794 * tree.h: Remove the prototypes for expand_asm and
797 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
799 * passes.c (rest_of_compilation): Make it static.
800 * toplev.h: Remove the prototype for rest_of_compilation.
802 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
804 * jump.c (cleanup_barriers): Use delete_insn instead of
806 (delete_barrier): Remove.
807 * rtl.h: Remove the corresponding prototype.
809 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
811 * expr.c (mostly_zero_p): Make it static.
812 * tree.h: Remove the prototype for mostly_zeros_p.
814 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
816 * cfgrtl.c (force_nonfallthru_and_redirect): Make it static.
818 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
820 * builtins.c (expand_builtin_return_addr,
821 expand_builtin_longjmp, expand_builtin_trap): Make them static.
822 * expr.h: Remove the prototypes for expand_builtin_longjmp and
824 * tree.h: Remove the prototype for expand_builtin_return_addr.
826 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
828 * tree-cfg.c (find_taken_edge): Reject VAL begin NULL.
829 * tree-ssa-ccp.c (visit_cond_stmt): Don't call find_taken_edge
832 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
834 * cfghooks.c (delete_basic_block): Remove code to truncate
837 2004-11-04 Andrew Pinski <pinskia@physics.uc.edu>
839 * flow.c (init_propagate_block_info): Change the type of i to
842 2004-11-04 Ulrich Weigand <uweigand@de.ibm.com>
844 PR tree-optimization/18184
845 * c-typeck.c (comptypes): Do not treat pointers of different
846 modes or alias-all flags as equivalent.
847 * tree-ssa.c (tree_ssa_useless_type_conversion_1): Likewise.
849 2004-11-04 Joseph S. Myers <joseph@codesourcery.com>
851 * doc/gty.texi, doc/makefile.texi, doc/sourcebuild.texi: Don't
852 reference specific C parser files in examples.
854 2004-11-04 Richard Sandiford <rsandifo@redhat.com>
857 * regrename.c (scan_rtx): Treat the destinations of SETs and CLOBBERs
858 as OP_INOUT if the instruction is predicated.
860 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
862 * bitmap.h: Fix a comment typo. Follow spelling conventions.
863 * tree-vectorizer.c: Fix a comment typo.
865 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
867 * sdbout.c (SDB_GENERATE_FAKE): Remove.
868 (gen_fake_label): Don't use SDB_GENERATE_FAKE.
869 * system.h: Poison SDB_GENERATE_FAKE.
870 * doc/tm.texi (SDB_GENERATE_FAKE): Remove.
872 2004-11-04 Ulrich Weigand <uweigand@de.ibm.com>
874 * config/s390/s390.md ("*addsi3_sign"): Use canonical RTL.
876 2004-11-04 Eric Botcazou <ebotcazou@libertysurf.fr>
879 * gthr-posix.h (__gthread_recursive_mutex_init_function): Revert
882 2004-11-04 Nathan Sidwell <nathan@codesourcery.com>
884 * predict.c (propagate_freq): Make bitno unsigned. Move
885 npredecessors update out of loop.
887 * bitmap.h (bitmap_iterator): Remove word_bit and bit
888 fields. Rename others.
889 (bmp_iter_common_next_1, bmp_iter_single_next_1,
890 bmp_iter_single_init, bmp_iter_end_p, bmp_iter_single_next,
891 bmp_iter_and_not_next_1, bmp_iter_and_not_init,
892 bmp_iter_and_not_next, bmp_iter_and_next_1, bmp_iter_and_init,
893 bmp_iter_and_next): Remove.
894 (bmp_iter_set_init, bmp_iter_and_init, bmp_iter_and_compl_init,
895 bmp_iter_next, bmp_iter_set, bmp_iter_and, bmp_iter_and_compl):
897 (EXECUTE_IF_SET_IN_BITMAP, EXECUTE_IF_AND_IN_BITMAP,
898 EXECUTE_IF_AND_COMPL_IN_BITMAP): Adjust.
900 * bitmap.h (bitmap_a_or_b, bitmap_a_and_b): Remove.
901 * df.c (dataflow_set_a_op_b): Use bitmap_and, bitmap_ior,
902 bitmap_and_into, bitmap_ior_into as appropriate.
903 * except.c (remove_eh_handler): Likewise.
904 * global.c (modify_bb_reg_pav, make_accurate_live_analysis): Likewise.
905 * tree-dfa.c (mark_new_vars_to_rename): Likewise.
906 * tree-ssa-alias.c (merge_pointed_to_info): Likewise.
907 * tree-ssa-live.h (live_merge_and_clear): Likewise.
908 * tree-ssa-loop-ivopts.c (find_best_candidate, try_add_cand_for):
911 * bitmap.c (bitmap_print): Make bitno unsigned.
912 * bt-load.c (clear_btr_from_live_range,
913 btr_def_live_range): Likewise.
914 * caller-save.c (save_call_clobbered_regs): Likewise.
915 * cfganal.c (compute_dominance_frontiers_1): Likewise.
916 * cfgcleanup.c (thread_jump): Likewise.
917 * cfgrtl.c (safe_insert_insn_on_edge): Likewise.
918 * conflict.c (conflict_graph_compute): Likewise.
919 * ddg.c (add_deps_for_use): Likewise.
920 * df.c (df_refs_update): Likewise.
921 * except.c (remove_eh_handler): Likewise.
922 * flow.c (verify_local_live_at_start, update_life_info,
923 initialize_uninitialized_subregs, propagate_one_insn,
924 free_propagate_block_info, propagate_block, find_use_as_address,
925 reg_set_to_hard_reg_set): Likewise.
926 * gcse.c (clear_modify_mem_tables): Likewise.
927 * global.c (global_conflicts, build_insn_chain): Likewise.
928 * ifcvt.c (dead_or_predicable): Likewise.
929 * local-alloc.c (update_equiv_regs): Likewise.
930 * loop.c (load_mems): Likewise.
931 * ra-build.c (livethrough_conflicts_bb, conflicts_between_webs):
933 * ra-rewrite.c (reloads_to_loads, rewrite_program2, actual_spill):
935 * reload1.c (order_regs_for_reload, finish_spills): Likewise.
936 * sched-deps.c (sched_analyze_insn, free_deps): Likewise.
937 * sched-rgn.c (propagate_deps
938 * tree-cfg.c (tree_purge_all_dead_eh_edges): Likewise.
939 * tree-dfa.c (dump_dfa_stats
940 tree-into-ssa.c (compute_global_livein, insert_phi_nodes,
941 insert_phi_nodes_for, debug_def_blocks_r, invalidate_name_tags):
943 * tree-outof-ssa.c (coalesce_ssa_name, coalesce_vars,
944 free_temp_expr_table, find_replaceable_exprs): Likewise.
945 * tree-sra.c (scan_function, scalarize_parms): Likewise.
946 * tree-ssa-alias.c (init_alias_info,
947 compute_points_to_and_addr_escape,
948 compute_flow_sensitive_aliasing, maybe_create_global_var): Likewise.
949 * tree-ssa-dce.c (mark_control_dependent_edges_necessary): Likewise.
950 * tree-ssa-live.c (new_tree_live_info, live_worklist,
951 calculate_live_on_entry, calculate_live_on_exit, compare_pairs,
952 sort_coalesce_list, build_tree_conflict_graph, dump_live_info
953 tree-ssa-loop-manip.c (add_exit_phis_var): Likewise.
954 tree-ssa-operands.c (get_asm_expr_operands, add_call_clobber_ops,
955 add_call_read_ops): Likewise.
956 * tree-ssa-pre.c (bitmap_print_value_set, insert_aux): Likewise.
957 * tree-ssa-live.h (num_var_partitions): Return unsigned.
959 2004-11-03 Dorit Naishlos <dorit@il.ibm.com>
961 PR tree-optimization/18009
962 * tree-vectorizer.h (enum dr_alignment_support): New type.
963 (MAX_NUMBER_OF_UNALIGNED_DATA_REFS): Removed.
964 (LOOP_UNALIGNED_DR): replaced with LOOP_VINFO_UNALIGNED_DR and holds a
965 single data_reference (instead of a varray of references).
966 * tree-vectorizer.c (new_loop_vec_info): Likewise.
967 (vect_gen_niters_for_prolog_loop): Likewise.
968 (vect_update_inits_of_drs): Likewise.
970 (vect_update_inits_of_drs): Setting of DR_MISALIGNMENT moved to
971 vect_enhance_data_refs_alignment.
972 (vect_do_peeling_for_alignment): Likewise.
973 (vect_enhance_data_refs_alignment): Decide if and by how much to peel;
974 this functionality used to be in vect_analyze_data_refs_alignment.
975 Also update DR_MISALIGNMENT due to peeling; this functionality used to
976 be in vect_update_inits_of_drs and vect_do_peeling_for_alignment).
977 (vect_analyze_data_refs_alignment): Decision on whether and by how much
978 to peel moved to vect_enhance_data_refs_alignment. Call
979 vect_supportable_dr_alignment.
981 (vect_compute_data_ref_alignment): Set STMT_VINFO_VECTYPE.
982 (vect_compute_data_refs_alignment): Return bool. Consider return value
983 of vect_compute_data_ref_alignment and return true/false accordingly.
984 (vect_enhance_data_refs_alignment): Consider return value of
985 vect_compute_data_refs_alignment and return true/false accordingly.
987 (vect_supportable_dr_alignment): New function.
988 (vectorizable_store): Call vect_supportable_dr_alignment.
989 (vectorizable_load): Call vect_supportable_dr_alignment. Alignment
990 support checks moved from here to vect_supportable_dr_alignment.
992 (vect_transform_loop): Avoid 80 columns overflow.
994 2004-11-03 Andrew Pinski <pinskia@physics.uc.edu>
996 * timevar.c (timevar_enable): Change from
998 (timevar_push): Rename to ...
999 (timevar_push_1): this and remove the
1001 (timevar_pop): Rename to ...
1002 (timevar_pop_1): this and remove the
1004 * timevar.h (POP_TIMEVAR_AND_RETURN): Use do/while loops.
1005 (timevar_pop): New macro.
1006 (timevar_push): New macro.
1007 (timevar_enable): Declare.
1009 2004-11-03 Andrew Pinski <pinskia@physics.uc.edu>
1011 * config/darwin.h (REAL_LIBGCC_SPEC): Define to use shared
1012 libgcc for shared libraries.
1014 2004-11-03 Ulrich Weigand <uweigand@de.ibm.com>
1016 * config/s390/s390-protos.h (s390_split_access_reg): Add prototype.
1017 * config/s390/s390.c (s390_split_access_reg): New function.
1018 (regclass_map): Add access registers.
1019 (get_thread_pointer): Use access register instead of UNSPEC_TP.
1020 * config/s390/s390.h (FIRST_PSEUDO_REGISTER): Set to 38.
1021 (ACCESS_REGNO_P, ACCESS_REG_P): New macros.
1022 (TP_REGNUM): New define.
1023 (FIXED_REGISTERS, CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS,
1024 REG_ALLOC_ORDER): Add access registers.
1025 (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK, CLASS_MAX_NREGS,
1026 CANNOT_CHANGE_MODE_CLASS): Support access registers.
1027 (enum reg_class): Add ACCESS_REGS.
1028 (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Likewise.
1029 (REG_CLASS_FROM_LETTER): Add 't' constraint.
1030 (REGISTER_NAMES): Add access registers.
1031 * config/s390/s390.md (UNSPEC_TP): Remove.
1032 ("*movdi_64"): Add access register alternatives. Provide splitters
1033 to split DImode access register <-> GPR moves into SImode moves.
1034 ("*movsi_zarch", "*movsi_esa"): Add access register alternatives.
1035 ("movstrictsi"): Likewise.
1036 ("get_tp_64", "get_tp_31"): Reimplement using access registers.
1037 ("set_tp_64", "set_tp_31"): Likewise.
1038 ("*set_tp"): New insn.
1040 2004-11-03 Kazu Hirata <kazu@cs.umass.edu>
1042 * tree-phinodes.c (resize_phi_node): Copy only a portion of
1043 the PHI node currently in use.
1045 2004-11-03 Andrew Pinski <pinskia@physics.uc.edu>
1048 * tree.c (staticp) <case FUNCTION_DECL>: Nested functions are static
1051 2004-11-03 Andrew MacLeod <amacleod@redhat.com>
1053 PR tree-optimization/18270
1054 * tree-outof-ssa.c (analyze_edges_for_bb): If a block has incoming
1055 abnormal edges, commit all pending stmts on incoming edges.
1057 2004-11-03 Ulrich Weigand <uweigand@de.ibm.com>
1059 * tree-ssa-loop-ivopts.c (get_address_cost): Offset zero does not
1060 cause extra costs. Generate canonical RTL.
1062 2004-11-02 Daniel Berlin <dberlin@dberlin.org>
1064 * lambda-code.c (lambda_compute_auxillary_space): Update comments.
1065 (lambda_compute_target_space). Ditto.
1066 * lambda.h (lambda_trans_matrix): Ditto.
1067 (lambda_linear_expression): Ditto.
1068 (lambda_body_vector): Ditto.
1069 (lambda_loopnest): Ditto.
1070 * tree-loop-linear.c (gather_interchange_stats): Combine tests,
1071 update comments, and remove pointless addition of 0.
1072 (linear_transform_loops): Update comments.
1074 2004-11-03 Sebastian Pop <pop@cri.ensmp.fr>
1076 * tree.c (tree_fold_gcd): Use FLOOR_MOD_EXPR instead of
1079 2004-11-03 Jeff Law <law@redhat.com>
1081 * predict.c (struct block_info_def): Kill "tovisit" field.
1082 (propagate_freq): Accept new "tovisit" parameter. Change
1083 read/write access methods for "tovisit" to check the "tovisit"
1084 bitmap instead of a bit in block_info_def.
1085 (estimate_loops_at_level): Allocate "tovisit" bitmap. Pass
1086 it to propagate_freq.
1088 * stmt.c (expand_case): Speed up code to detect duplicate case
1089 label targets and count unique case label targets.
1091 2004-11-03 Kazu Hirata <kazu@cs.umass.edu>
1093 * cppdefault.c, cppdefault.h, timevar.h: Update copyright.
1095 2004-11-03 Kazu Hirata <kazu@cs.umass.edu>
1097 * bitmap.h, dbxout.c, tree-mudflap.c: Fix comment formatting.
1099 2004-11-03 Kazu Hirata <kazu@cs.umass.edu>
1101 * tree-cfg.c (find_taken_edge): Abort if we are given a
1102 statement that is neither COND_EXPR nor SWITCH_EXPR.
1104 2004-11-02 Zdenek Dvorak <dvorakz@suse.cz>
1106 * fold-const.c (fold): Reassociate also (x - mult) + mult and
1107 (mult - x) + mult. Cast operands of expression after applying
1108 distributive law to the correct types. Apply distributive law
1109 to a * c - b * c for all non-float types.
1111 2004-11-02 Geoffrey Keating <geoffk@apple.com>
1113 * configure.ac: Don't clear STMP_FIXINC or STMP_FIXPROTO just
1114 because we don't want to run them now; instead, set them to
1115 stmp-install-fixproto or stmp-install-fixinc.
1116 * Makefile.in (stmp-install-fixproto): New.
1117 (stmp-install-fixinc): New.
1118 * configure: Regenerate.
1120 2004-11-02 Nathan Sidwell <nathan@codesourcery.com>
1122 * flow.c (init_propagate_block_info): Use bitmap_empty_p on result
1125 2004-11-02 Ziemowit Laski <zlaski@apple.com>
1127 * c-lang.c (LANG_HOOKS_TYPES_COMPATIBLE_P): Remove.
1128 (c_types_compatible_p): Move function definition...
1129 * c-objc-common.c (c_types_compatible_p): ...here.
1130 * c-objc-common.h (LANG_HOOKS_TYPES_COMPATIBLE_P): Moved here from
1133 2004-11-02 Steven Bosscher <stevenb@suse.de>
1135 * cfgloop.h (struct loop): Update comment.
1136 * cse.c (cse_main): Remove obsolete comment.
1138 * expr.h (gen_cond_trap): Move prototype under functions provided
1140 (canonicalize_condition, get_condition): Move to...
1141 * rtl.h (canonicalize_condition, get_condition): ...here.
1142 (branch_target_load_optimize): Add comment that this function is
1144 * loop.c (canonicalize_condition, get_condition): Move to...
1145 * rtlanal.c (canonicalize_condition, get_condition): ...here.
1146 * sched-deps.c (get_condition): Rename to sched_get_condition.
1147 (add_dependence): Update this caller.
1149 2004-11-02 Andrew Pinski <pinskia@physics.uc.edu>
1152 * tree-ssa.c (replace_immediate_uses): If we call fold_stmt, make sure
1153 that the vops get marked for renaming.
1155 2004-11-02 Andreas Krebbel <krebbel1@de.ibm.com>
1157 * config/s390/s390.md ("movcc"): Set type attribute.
1159 2004-11-02 Kazu Hirata <kazu@cs.umass.edu>
1161 * tree-phinodes.c (add_phi_arg): Add an assertion that the
1162 edge already exists.
1164 2004-11-02 Kazu Hirata <kazu@cs.umass.edu>
1166 * tree-phinodes.c (remove_phi_arg_num): Do not zero the
1167 element that's being removed.
1169 2004-11-02 Kazu Hirata <kazu@cs.umass.edu>
1171 * tree-ssa-threadupdate.c (copy_phis_to_block): Install PHI
1172 arguments using PENDING_STMT.
1173 (thread_block): Call copy_phis_to_block after redirecting an
1176 2004-11-02 Nathan Sidwell <nathan@codesourcery.com>
1178 * bitmap.h (bitmap_and, bitmap_and_into, bitmap_and_compl,
1179 bitmap_and_compl_into, bitmap_ior, bitmap_iot_into,
1180 bitmap_ior_compl, bitmap_xor, bitmap_xor_into): Produce void.
1181 (bitmap_ior_and_compl_into): Produce bool.
1182 (bitmap_union_of_diff): Rename to ...
1183 (bitmap_ior_and_compl): ... here. Produce bool.
1184 * bitmap.c (bitmap_ior_and_compl_into): Return bool. Use
1185 bitmap_operation directly.
1186 (bitmap_union_of_diff): Rename to ...
1187 (bitmap_ior_and_compl): ... here. Return bool, use
1188 bitmap_operation directly.
1189 * df.c (df_rd_transfer_function): Use bitmap_ior_and_compl.
1190 (df_ru_transfer_function, df_lr_transfer_function): Likewise.
1191 * global.c (modify_bb_reg_pav): Likewise.
1193 * bitmap.h (bitmap_equal_p): Return bool.
1194 (bitmap_intersect_p, bitmap_intersect_compl_p): Declare.
1195 * bitmap.c (bitmap_equal_p): Return bool. Compare directly.
1196 (bitmap_intersect_p, bitmap_intersect_compl_p): New.
1197 * flow.c (calculate_global_regs_live): Use bitmap_intersect_p and
1198 bitmap_intersect_compl_p.
1199 * ifcvt (dead_or_predicable): Likewise.
1201 2004-11-02 Nathan Sidwell <nathan@codesourcery.com>
1203 PR rtl-optimization/17104
1204 * config/rs6000/rs6000.c (rs6000_emit_move): Don't wrap small
1205 loads in zero_extend.
1207 2004-11-02 Danny Smith <dannysmith@users.sourceforge.net>
1210 * toplev.c (debug_type_names): Remove "dwarf-1".
1212 2004-11-02 Ben Elliston <bje@au.ibm.com>
1214 * timevar.h (timevar_get): Remove.
1215 * timevar.c (timevar_get): Remove unused function.
1217 2004-11-02 Joseph S. Myers <joseph@codesourcery.com>
1219 * doc/include/texinfo.tex: Update from Texinfo CVS.
1221 2004-11-02 Ben Elliston <bje@au.ibm.com>
1223 * cppdefault.h (cpp_SYSROOT): Remove.
1224 * cppdefault.c (cpp_SYSROOT): Likewise.
1226 2004-11-01 Andrew MacLeod <amacleod@redhat.com>
1228 PR tree-optimization/16447
1229 * tree-cfg.c (bsi_commit_one_edge_insert): Rename from
1230 bsi_commit_edge_inserts_1, and make funtion external. Return new block.
1231 (bsi_commit_edge_inserts): Use renamed bsi_commit_one_edge_insert.
1232 * tree-optimize.c (pass_cleanup_cfg_post_optimizing): Enable listing.
1233 * tree-flow.h (bsi_commit_one_edge_insert): Extern decl.
1234 * tree-outof-ssa.c (rewrite_trees): Don't commit edges here.
1235 (same_stmt_list_p): New. Return TRUE if edge is to be forwarded.
1236 (identical_copies_p): New. Return true is two copies are the same.
1237 (identical_stmt_lists_p): New. Return true if stmt lists are the same.
1238 (analyze_edges_for_bb): New. Determine how best to insert edge stmts
1240 (perform_edge_inserts): New. Determine what to do with all stmts that
1241 have been inserted on edges.
1242 (remove_ssa_form): Analyze and commit edges from here.
1244 2004-11-01 Andrew Pinski <pinskia@physics.uc.edu>
1247 * bitmap.h (bmp_iter_end_p): Take a const pointer instead of a struct.
1248 (EXECUTE_IF_SET_IN_BITMAP): Update call to bmp_iter_end_p.
1249 (EXECUTE_IF_AND_COMPL_IN_BITMAP): Likewise.
1250 (EXECUTE_IF_AND_IN_BITMAP): Likewise.
1252 2004-11-01 Joseph S. Myers <joseph@codesourcery.com>
1255 * c-decl.c (get_parm_info): Allow FUNCTION_DECLs to appear amongst
1256 parameter declarations.
1258 2004-11-01 Andreas Krebbel <krebbel1@de.ibm.com>
1260 * config/s390/s390.c (regclass_map): Put reg 33 (cc) to CC_REGS group.
1261 (s390_secondary_input_reload_class)
1262 (s390_secondary_output_reload_class): Use GENERAL_REGS to reload a cc
1264 (s390_expand_cmpmem): Enable cmpmem implementation.
1265 * config/s390/s390.h (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS):
1266 Added three new classes: CC_REGS, ADDR_CC_REGS, GENERAL_CC_REGS.
1267 (REG_CLASS_FROM_LETTER): New constraint 'c' added.
1268 * config/s390/s390.md ("movcc"): New insn pattern.
1269 * doc/md.texi: Document 'c' constraint for s390.
1271 2004-11-01 Nathan Sidwell <nathan@codesourcery.com>
1274 * doc/extend.texi (Deprecated Features): Deprecate G++ covariant
1277 2004-10-16 Daniel Berlin <dberlin@dberlin.org>
1279 Fix PR tree-optimization/17672
1280 Fix PR tree-optimization/18168
1282 * lambda-code.c (lambda_lattice_compute_base): Fix reversed
1284 (gcc_tree_to_linear_expression): Add extra to existing constant.
1285 (depth_of_nest): Factor out function used in various places.
1286 (gcc_loop_to_lambda_loop): Clean up code a little bit. No
1288 (find_induction_var_from_exit_cond): Stop guessing, and just
1289 get the right answer :).
1290 (gcc_loopnest_to_lambda_loopnest): Remove useless pre-allocation.
1291 Print out message about result of attempt to create perfect nest.
1292 (lbv_to_gcc_expression): Add type argument, use it to do math
1293 and induction variable creation.
1294 (lle_to_gcc_expression): Ditto.
1295 (lambda_loopnest_to_gcc_loopnest): Create new iv with same type as
1296 oldiv. Pass type argument to lle_to_gcc_expression and
1297 lbv_to_gcc_expression.
1298 Reset number of iterations after transformation.
1299 (perfect_nestify): Remove useless pre-allocation, and cleanup
1302 * tree-data-ref.c (build_classic_dist_vector): Return false for
1303 dependences completely outside of the loop nest we asked about.
1304 (build_classic_dir_vector): Ditto.
1305 (compute_data_dependences_for_loop): Only add dependence relations
1306 inside the loop we asked about.
1308 * tree-loop-linear.c (linear_transform_loops): Use DDR_SIZE_VECT.
1309 Compute immediate uses.
1311 * tree-optimize.c: Move linear_transform_loops to before ivcanon.
1313 2004-11-01 Kazu Hirata <kazu@cs.umass.edu>
1315 * tree-cfg.c (thread_jumps): Fix a comment typo.
1317 2004-11-01 Kazu Hirata <kazu@cs.umass.edu>
1319 * tree-cfg.c (thread_jumps): Fix a comment typo.
1321 2004-10-31 Nicolas Pitre <nico@cam.org>
1323 * config/arm/ieee754-sf.S (floatdisf): Fix regression with
1324 values smaller than 2^32.
1326 2004-10-31 Jeff Law <law@redhat.com>
1328 * cfgloop.h (struct loop): Remove unused "nodes" field.
1329 * timevar.def (TV_TREE_LOOP_BOUNDS): New.
1330 * tree-data-ref.c (find_data_references_in_loop): Use get_loop_body
1331 instead of calling flow_bb_inside_loop_p for every basic block
1333 * tree-ssa-loop.c (pass_record_bounds): Use TV_TREE_LOOP_BOUNDS.
1335 2004-10-31 Graham Stott <graham.stott@btinternet.com>
1337 * config/pa/pa.md: (prefetch_64, prefetch_32): Fix typo. Use
1338 INT_5_BITS instead of VAL_5_BITS_P.
1340 2004-10-31 Roger Sayle <roger@eyesopen.com>
1343 * tree-inline.c (inline_forbidden_p_1): Use %qF instead of '%F'
1344 for consistent quoting in diagnostic messages.
1345 (expand_call_inline): Likewise.
1346 * tree-optimize.c (tree_rest_of_compilation): Likewise.
1347 * tree-ssa.c (warn_uninitialized_var): Likewise.
1348 (warn_uninitialized_phi): Likewise.
1350 2004-10-31 Richard Sandiford <rsandifo@redhat.com>
1352 * config/mips/mips.c (mips_cannot_change_mode_class): Use a stricter
1355 2004-10-31 Kazu Hirata <kazu@cs.umass.edu>
1357 * c-common.c: Fix a comment typo.
1359 2004-10-31 Jason Merrill <jason@redhat.com>
1362 * tree-gimple.c (is_gimple_mem_rhs): Also require a val for
1363 aggregate types that are not BLKmode.
1365 2004-10-30 Ziemowit Laski <zlaski@apple.com>
1367 * c-common.h (objc_lookup_ivar): Add second parameter to
1369 * c-typeck.c (build_external_ref): After looking up symbol,
1370 pass it to objc_lookup_ivar() to decide whether it or the
1371 ivar should be used, rather than deciding the issue locally.
1372 * stub-objc.c (objc_lookup_ivar): Add an OTHER parameter,
1373 which is simply returned in the non-ObjC case.
1375 2004-10-30 Danny Smith <dannysmith@users.sourceforge.net>
1377 * sdbout.c (sdbout_symbol): Do not output type .def statements
1380 2004-10-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
1382 * c-common.c (catenate_strings): New.
1383 (c_parse_error): Use it. Don't over-escape.
1385 2004-10-30 Kaz Kojima <kkojima@gcc.gnu.org>
1387 * config/sh/sh.c (calc_live_regs): Declare reg as unsigned and
1388 modify the for loop expressions for it. Remove unnecessary casts.
1389 (sh_expand_prologue): Declare reg as unsigned.
1390 (sh_gimplify_va_arg_expr): Initinalize lab_over.
1391 (sh_handle_sp_switch_attribute): Add const qualifier appropriately.
1393 2004-10-30 Geoffrey Keating <geoffk@apple.com>
1395 * doc/invoke.texi (Darwin Options): Improve description of
1396 how the subtype is chosen.
1398 2004-10-30 Roger Sayle <roger@eyesopen.com>
1401 * config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Check that
1402 the stack adjustment, "size", is valid for Pmode. If the stack
1403 frame is too large, generate a trap insn and issue a warning.
1405 2004-10-30 Kazu Hirata <kazu@cs.umass.edu>
1407 * tree-ssa-dom.c: Fix comment typos.
1409 2004-10-30 Kaz Kojima <kkojima@gcc.gnu.org>
1411 * config/sh/sh.c (prepare_move_operands): Use operands[0]
1412 for the output rtl if no_new_pseudos is set. Remove redundant
1415 2004-10-30 Joseph S. Myers <joseph@codesourcery.com>
1418 * c-decl.c (start_function): Don't check for DECL_BUILT_IN when
1419 determining whether to copy parameter types from a previous
1420 prototype declaration.
1422 2004-10-29 Roger Sayle <roger@eyesopen.com>
1424 PR rtl-optimization/17581
1425 * cselib.c (cselib_process_insn): The last instruction of a libcall
1426 block, with the REG_RETVAL note, should be considered in the libcall.
1427 * gcse.c (do_local_cprop): Allow constants to be propagated outside
1429 (adjust_libcall_notes): Use simplify_replace_rtx instead of
1430 replace_rtx to avoid creating invalid RTL in REG_RETVAL notes.
1432 2004-10-30 Kazu Hirata <kazu@cs.umass.edu>
1434 * tree-phinodes.c (create_phi_node): Don't zero PHI_REWRITTEN.
1436 2004-10-29 Jeff Law <law@redhat.com>
1438 * tree-ssa-dom.c (struct edge_info): New structure holding
1439 edge equivalences and edge redirection information.
1440 (get_eq_expr_value, record_dominating_conditions): Kill.
1441 (propagate_to_outgoing_edges): Renamed from cprop_into_phis.
1442 Call record_edge_info.
1443 (allocate_edge_info, free_edge_info): New.
1444 (tree_ssa_dominator_optimize): Use propagate_to_outgoing_edges
1445 rather than cprop_into_phis. Free all edge infos before threading
1447 (thread_across_edge): Allocate new edge info structures as needed
1448 and store the redirection target into the edge info structure
1449 instead of the edge's AUX field.
1450 (dom_opt_initialize_block): Mark unused argument with ATTRIBUTE_UNUSED.
1451 (record_equivalence_from_incoming_edge): Lose unnecessary argument.
1452 Revamp code which finds and records equivalences associated with
1453 edges to use saved data in the edge_info structure.
1454 (record_equivalencs_from_phis): Similarly.
1455 (dom_opt_finalize_block): Revamp code which finds and records
1456 equivalences associated with edges to use saved data in the
1457 edge_info structure.
1458 (build_and_record_new_cond): New function.
1459 (record_conditions): Use build_and_record_new_cond to record
1460 dominating conditions.
1461 (record_edge_info): New function.
1462 (record_range): Tighten test for conditions which create
1463 useful range records.
1465 2004-10-29 Geoffrey Keating <geoffk@apple.com>
1467 * config/i386/darwin.h (ASM_SPEC): Simplify.
1468 (SUBTARGET_EXTRA_SPECS): Add darwin_subarch spec.
1469 * config/rs6000/darwin.h (DARWIN_SUBARCH_SPEC): New.
1470 (SUBTARGET_EXTRA_SPECS): Add darwin_subarch spec.
1471 * config/darwin.h (LINK_COMMAND_SPEC): Don't pass -arch here.
1472 (LINK_SPEC): Do pass -arch here. Handle -force_cpusubtype_ALL
1473 in all cases. Pass the right -arch or -arch_only based on -mcpu.
1474 (ASM_SPEC): Handle -force_cpusubtype_ALL.
1475 * doc/invoke.texi (Darwin Options): Improve documentation for
1476 Darwin linker (and libtool) switches.
1478 * config/rs6000/darwin-fallback.c: Include <mach/thread_status.h>.
1480 2004-10-29 Stan Shebs <shebs@apple.com>
1482 * config/rs6000/darwin-tramp.asm: Make more 64-bit-friendly.
1484 2004-10-29 Kazu Hirata <kazu@cs.umass.edu>
1486 * tree-phinodes.c (allocate_phi_node): New.
1487 (make_phi_node, resize_phi_node): Use it.
1489 2004-10-29 David Edelsohn <edelsohn@gnu.org>
1491 * config/rs6000/sysv4.h (TARGET_POWER): Define as 0.
1492 * config/rs6000/darwin.h (TARGET_POWER): Define as 0.
1494 2004-10-29 Kazu Hirata <kazu@cs.umass.edu>
1496 * tree-phinodes.c (make_phi_node, resize_phi_node): Don't zero
1498 * tree.h (tree_phi_node): Tell the garbage collector to chase
1501 2004-10-29 Richard Earnshaw <rearnsha@arm.com>
1503 * opts.c (decode_options): Lower the crossjump threshold for -Os.
1505 2004-10-29 Diego Novillo <dnovillo@redhat.com>
1507 * tree.h (struct tree_ssa_name): Remove field 'equiv'.
1509 2004-10-28 Nathan Sidwell <nathan@codesourcery.com>
1511 * bitmap.h (bitmap_empty_p): New.
1512 (bitmap_and, bitmap_and_into, bitmap_and_compl,
1513 bitmap_and_compl_into, bitmap_ior, bitmap_ior_into,
1514 bitmap_ior_compl, bitmap_xor, bitmap_xor_into): New bitmap
1516 (bitmap_ior_and_compl): Rename to ...
1517 (bitmap_ior_and_compl_into): ... here.
1518 * bitmap.c (bitmap_equal_p): Use bitmap_xor.
1519 (bitmap_ior_and_compl): Rename to ...
1520 (bitmap_ior_and_compl_into): ... here. Adjust. Return changed
1522 (bitmap_union_of_diff): Use renamed bitmap functions.
1523 * basic-block.h (AND_REG_SET, AND_COMPL_REG_SET, IOR_REG_SET,
1524 XOR_REG_SET, IOR_AND_COMPL_REG_SET): Likewise.
1525 * cfgrtl.c (safe_insert_insn_on_edge): Likewise.
1526 * df.c (df_bb_rd_local_compute)
1527 * flow.c (calculate_global_regs_live,
1528 init_propagate_block_info): Likewise.
1529 * ifcvt.c (find_if_case_1, find_if_case_2,
1530 dead_or_predicable): Likewise.
1531 * ra-build.c (union_web_part_roots, livethrough_conflicts_bb,
1532 reset_conflicts, conflicts_between_webs): Likewise.
1533 * ra-rewrite.c (reloads_to_loads, rewrite_program2,
1534 detect_web_parts_to_rebuild): Likewise.
1535 * sched-ebb.c (compute_jump_reg_dependencies): Likewise.
1536 * tree-int-ssa.c (insert_phi_nodes_for, rewrite_into_ssa): Likewise.
1537 * tree-sra.c (decide_instantiations): Likewise.
1538 * tree-ssa-alias.c (create_name_tags,
1539 merge_pointed_to_info): Likewise.
1540 * tree-ssa-dom.c (tree_ssa_dominator_optimize): Likewise.
1541 * tree-ssa-loop-im.c (move_computations): Likewise.
1542 * tree-ssa-operands.c (get_call_expr_operands): Likewise.
1543 * tree-ssa-pre.c (fini_pre): Likewise.
1544 * tree-ssa.c (verify_flow_sensitive_alias_info): Likewise.
1545 * tree-ssanames.c (any_marked_for_rewrite_p): Likewise.
1546 * tree-vectorizer.c (vectorize_loops): Likewise.
1548 2004-10-29 Nick Clifton <nickc@redhat.com>
1550 config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): When
1551 adding the PIC register to the fixed_regs array, also add it
1552 to the call_used_regs array.
1554 2004-10-29 Eric Botcazou <ebotcazou@libertysurf.fr>
1556 * gthr-posix.h (__gthread_recursive_mutex_init_function): Guard
1557 with #ifdef PTHREAD_MUTEX_RECURSIVE/#endif pairs.
1559 2004-10-28 Daniel Berlin <dberlin@dberlin.org>
1561 * tree-into-ssa.c (rewrite_virtual_phi_arguments): New function.
1562 (rewrite_blocks): Modify argument, and use it to decide which
1564 (rewrite_def_def_chains): Call rewrite_blocks with true here.
1565 (rewrite_into_ssa): and call it with false here.
1567 2004-10-29 Kazu Hirata <kazu@cs.umass.edu>
1569 * tree-phinodes.c (add_phi_arg): Turn an "if" that always
1570 triggers into gcc_assert.
1572 2004-10-28 Diego Novillo <dnovillo@redhat.com>
1574 PR tree-optimization/16728
1575 * tree-flow.h (get_ptr_info): Declare.
1576 * tree-ssa-alias.c (get_ptr_info): Make extern.
1577 * tree-ssa-copy.c (merge_alias_info): Merge flow-sensitive
1580 2004-10-28 Stan Shebs <shebs@apple.com>
1582 * config/rs6000/darwin.h (SUBTARGET_EXTRA_SPECS): Handle -m64.
1583 * config/rs6000/rs6000.c (rs6000_darwin_file_start): Add ppc64
1586 2004-10-28 Frank Ch. Eigler <fche@redhat.com>
1588 * tree-mudflap.c (mudflap_init): Mark cache-lookup decls to
1589 prevent their later unnecessary registration.
1590 (mf_build_check_statement_for): Remove "addr" argument, and
1591 related "__mf_value" generated code. Update callers.
1592 (mf_decl_eligible_p): New function, factored from mx_register_decls.
1593 (mx_register_decls): Call it.
1594 (mf_xform_derefs_1): Rewrite COMPONENT_REF and ARRAY_REF cases
1595 to restore support for complex nested expressions.
1596 (mudflap_enqueue_decl): Simplify. Move registration call emission
1598 (mudflap_finish_file): ... to here.
1599 (mudflap_enqueue_constant): Remove dump code.
1601 2004-10-28 Zack Weinberg <zack@codesourcery.com>
1604 * dbxout.c (dbxout_begin_complex_stabs_noforcetext): New function.
1605 (DBX_FINISH_STABS): Add (unused by default) SYM parameter.
1606 (dbxout_finish_complex_stabs): Update to match.
1607 (dbxout_symbol_location): Call emit_pending_bincls_if_required
1608 and FORCE_TEXT before DBX_STATIC_BLOCK_START. Use
1609 dbxout_begin_complex_stabs_noforcetext.
1610 * xcoffout.h (DBX_FINISH_STABS): Restore special case for
1611 N_GSYM, using new SYM parameter. Correct logic for special
1614 * varasm.c (function_section): If DECL is NULL_TREE, don't try
1615 to do anything else. Do not call get_insns if cfun or
1616 cfun->emit are NULL.
1618 2004-10-28 Adam Nemet <anemet@lnxw.com>
1621 * c-typeck.c (c_mark_addressable): Issue error if address of a
1622 register variable is taken. Use "%qD" to print DECL_NAME.
1624 2004-10-28 Diego Novillo <dnovillo@redhat.com>
1626 * opts.c (decode_options): Don't run PRE at -Os.
1628 2004-10-28 Richard Henderson <rth@redhat.com>
1630 * config/alpha/alpha.md (movqicc_internal): Allow exactly one
1631 zero in the conditional.
1632 (movhicc_internal, movsicc_internal, movdicc_internal): Likewise.
1634 2004-10-28 Richard Henderson <rth@redhat.com>
1636 * cse.c (memory_extend_rtx): Remove.
1637 (cse_main): Don't set it.
1638 (cse_insn): Use a local buffer instead.
1640 2004-10-28 Andreas Krebbel <krebbel1@de.ibm.com>
1642 * profile.c (branch_prob): Call to init_edge_profiler added.
1643 * rtl-profile.c (rtl_init_edge_profiler): New function.
1644 (rtl_gen_edge_profiler): Replaced call to insert_insn_on_edge with
1645 call to safe_insert_insn_on_edge.
1646 (rtl_profile_hooks): rtl_init_edge_profiler added.
1647 * tree-profile.c (tree_init_edge_profiler): New function.
1648 (tree_profile_hooks): tree_init_edge_profiler added.
1649 * value-prof.h (profile_hooks) init_edge_profiler prototype added.
1651 2004-10-28 Nick Clifton <nickc@redhat.com>
1653 * config/iq2000/iq2000.c (iq2000_expand_epilogue): Use
1654 emit_jump_insn() to generate the return instruction.
1656 2004-10-28 Kazu Hirata <kazu@cs.umass.edu>
1658 * tree-phinodes.c: Remove trailing whitespace.
1660 2004-10-28 Kazu Hirata <kazu@cs.umass.edu>
1662 * tree-ssa-loop-ivopts.c: Fix a comment typo.
1663 * doc/invoke.texi: Fix a typo.
1665 2004-10-28 Kazu Hirata <kazu@cs.umass.edu>
1667 * Makefile.in (OBJS-common): Remove duplicates.
1669 2004-10-28 Kazu Hirata <kazu@cs.umass.edu>
1671 * lambda-code.c (nestify_update_pending_stmts): Remove.
1672 (perfect_nestify): Use flush_pending_stmts instead of
1673 nestify_update_pending_stmts.
1674 * tree-cfg.c (tree_make_forwarder_block): Use
1675 flush_pending_stmts.
1676 * tree-flow.h: Add a prototype for flush_pending_stmts.
1677 * tree-ssa-loop-manip.c (tree_duplicate_loop_to_header_edge):
1678 Use flush_pending_stmts.
1679 (lv_update_pending_stmts): Remove.
1680 (tree_ssa_loop_version): Use flush_pending_stmts instead of
1681 lv_update_pending_stmts.
1682 * tree-ssa.c (flush_pending_stmts): New.
1684 2004-10-28 Ulrich Weigand <uweigand@de.ibm.com>
1687 * final.c (alter_subreg): Compute correct offset to use with
1688 paradoxical SUBREGs of memory operands.
1689 * recog.c (general_operand): Allow paradoxical SUBREGs of
1690 memory operands after reload.
1691 * simplify-rtx.c (simplify_gen_subreg): Fail if simplify_subreg
1692 has failed when passed a hard register.
1694 2004-10-28 Aldy Hernandez <aldyh@redhat.com>
1696 * function.c (assign_parm_setup_block): Handle parallels correctly.
1698 2004-10-28 Kaz Kojima <kkojima@gcc.gnu.org>
1700 * final.c (shorten_branches): Initialize flags structure.
1702 2004-10-28 Nathan Sidwell <nathan@codesourcery.com>
1704 * tree.c (int_cst_node, int_cst_hash_table): New variables.
1705 (init_ttree): Initialize them.
1706 (int_cst_hash_hash, int_cst_hash_eq): New hashing functions.
1707 (build_int_cst_wide): Use hash table for oversized integers.
1709 2004-10-28 Nick Clifton <nickc@redhat.com>
1711 * config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Define
1714 2004-10-27 Richard Henderson <rth@redhat.com>
1717 * expr.c (emit_group_load): Don't go force temporary for memory
1719 (emit_group_store): Similarly.
1721 2004-10-27 Andrew Pinski <pinskia@physics.uc.edu>
1724 * common.opt (--param): Fix spelling of parameter.
1726 2004-10-27 Andrew Pinski <pinskia@physics.uc.edu>
1729 * tree-cfg.c (remove_useless_stmts_1) <case SWITCH_EXPR>:
1730 Don't fold statement.
1731 <case ASM_EXPR>: Fold the statement.
1733 2004-10-28 Kazu Hirata <kazu@cs.umass.edu>
1735 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary)
1736 <COND_EXPR>: Use EDGE_COUNT instead of GOTO_DESTINATION.
1738 2004-10-28 Joseph S. Myers <jsm@polyomino.org.uk>
1740 * doc/contrib.texi, doc/cpp.texi, doc/cppopts.texi,
1741 doc/extend.texi, doc/gcov.texi, doc/install.texi, doc/invoke.texi,
1742 doc/libgcc.texi, doc/md.texi, doc/passes.texi,
1743 doc/sourcebuild.texi, doc/tm.texi: Improve Texinfo formatting.
1745 2004-10-28 Joseph S. Myers <jsm@polyomino.org.uk>
1747 * doc/c-tree.texi, doc/cpp.texi, doc/implement-c.texi,
1748 doc/invoke.texi, doc/md.texi, doc/passes.texi, doc/tm.texi: Put
1749 punctuation outside quotes.
1751 2004-10-27 David Mosberger <davidm@hpl.hp.com>
1752 James E Wilson <wilson@specifixinc.com>
1755 * config/ia64/ia64.c (ia64_expand_epilogue): Set RTX_FRAME_RELATED_P on
1756 sibcall alloc instruction.
1757 (process_set): Handle sibcall alloc instruction.
1759 2004-10-27 Geoffrey Keating <geoffk@apple.com>
1761 * config/rs6000/rs6000.c (rs6000_attribute_table): Add
1762 SUBTARGET_ATTRIBUTE_TABLE.
1763 * config/darwin.h (ASM_WEAKEN_DECL): Handle weak_import.
1764 (SUBTARGET_ATTRIBUTE_TABLE): Define.
1765 * config/darwin.c (darwin_handle_weak_import_attribute): New.
1766 (HAVE_DEAD_STRIP): Delete.
1767 (no_dead_strip): Don't test HAVE_DEAD_STRIP.
1768 * config/darwin-protos.h (darwin_handle_weak_import_attribute):
1771 * doc/tm.texi (USE_SELECT_SECTION_FOR_FUNCTIONS): Document.
1773 * config/darwin.h (GTHREAD_USE_WEAK): Define.
1775 2004-10-28 Ben Elliston <bje@au.ibm.com>
1777 * params.def (PARAM_SRA_MAX_STRUCTURE_SIZE): New.
1778 (PARAM_SRA_FIELD_STRUCTURE_RATIO): Likewise.
1779 * params.h (SRA_MAX_STRUCTURE_SIZE): New.
1780 (SRA_FIELD_STRUCTURE_RATIO): Likewise.
1781 * tree-sra.c: Include "params.h".
1782 (decide_block_copy): Use new parameters.
1783 * doc/invoke.texi (Optimize Options): Document new SRA pass
1784 parameters sra-max-structure-size and sra-field-structure-ratio.
1786 2004-10-27 Nicolas Pitre <nico@cam.org>
1788 * config/arm/ieee754-df.S (floatdidf): Fix regression with big values.
1790 2004-10-27 Zdenek Dvorak <dvorakz@suse.cz>
1792 PR tree-optimization/18048
1793 * fold-const.c (try_move_mult_to_index): New function.
1794 (fold): Use try_move_mult_to_index.
1795 * tree-ssa-loop-ivopts.c (try_add_cand_for): Prefer common candidates.
1796 * tree-ssa-loop-niter.c (number_of_iterations_cond): Produce
1797 an all-ones unsigned constant without extra bits.
1798 * tree.c (build_low_bits_mask): New function.
1799 * tree.h (build_low_bits_mask): Declare.
1801 2004-10-27 David Edelsohn <edelsohn@gnu.org>
1804 * config/rs6000/rs6000.md (maxsf3): Add !flag_trapping_math to
1810 2004-10-27 Kazu Hirata <kazu@cs.umass.edu>
1812 * tree-cfg.c (thread_jumps): Speed up by reordering the two
1813 conditions for entering basic blocks into worklist.
1815 2004-10-27 Kazu Hirata <kazu@cs.umass.edu>
1817 * tree-cfg.c (thread_jumps): Speed up by pretending to have
1818 ENTRY_BLOCK_PTR in worklist.
1820 2004-10-27 Kazu Hirata <kazu@cs.umass.edu>
1822 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary)
1823 <GOTO_EXPR>: Don't let an explicit GOTO_EXPR slip through.
1825 2004-10-27 Daniel Berlin <dberlin@dberlin.org>
1827 Fix PR tree-optimization/17133
1829 * tree-cfg.c (rewrite_to_new_ssa_names_bb): Also rewrite must
1832 * tree-flow-inline.h: V_MUST_DEF_OP became V_MUST_DEF_RESULT.
1833 (get_v_must_def_result_ptr): Modify for new structure of
1835 (get_v_must_def_kill_ptr): New.
1836 (op_iter_next_use): Add support for the kill that occurs in V_MUST_DEFs.
1837 (op_iter_next_tree): Ditto. Also V_MAY_DEF_OP became V_MAY_DEF_RESULT.
1838 (op_iter_next_def): V_MAY_DEF_OP became V_MAY_DEF_RESULT.
1839 (op_iter_init): Initialize new mustu members.
1840 (op_iter_next_mustdef): New function.
1841 (op_iter_init_mustdef): Ditto.
1843 * tree-flow.h (rewrite_def_def_chains): New function.
1845 * tree-into-ssa.c (mark_def_sites): Handle mustdefkill operands.
1846 (ssa_mark_def_sites): Ditto.
1847 (rewrite_stmt): Ditto.
1848 (ssa_rewrite_stmt): Ditto.
1849 (rewrite_blocks): Factor out from rewrite_into_ssa.
1850 (mark_def_block_sites): Ditto.
1851 (rewrite_def_def_chains): New function, just rewrites def-def
1852 chains without phi node insertion.
1854 * tree-pass.h (TODO_fix_def_def_chains): New todo flag.
1856 * tree-optimize.c (execute_todo): Handle TODO_fix_def_def_chains.
1858 * tree-pretty-print.c (dump_vops): Print out MUST_DEF's so that
1859 they include the rhs now.
1861 * tree-ssa-ccp.c (visit_assignment): V_MUST_DEF_OP became
1864 * tree-ssa-dce.c (mark_operand_necessary): Add phionly argument.
1866 (mark_really_necessary_kill_operand_phis): New function.
1867 (perform_tree_ssa_dce): Call it.
1868 (pass_dce): Add TODO_fix_def_def_chains.
1869 (pass_cd_dce): Ditto.
1871 * tree-ssa-loop-im.c (determine_max_movement): Look at kills as
1873 (rewrite_mem_refs): Ditto.
1875 * tree-ssa-loop-manip.c (find_uses_to_rename_stmt): Look at kills
1878 * tree-ssa-operands.c (allocate_v_may_def_optype):
1879 v_may_def_operand_type_t became v_def_use_operand_type_t.
1880 (allocate_v_must_def_optype) Ditto.
1881 (finalize_ssa_v_must_defs): Update for new operand type, as well
1882 as setting the use portion as well.
1883 (copy_virtual_operands): Copy the kill operand as well.
1884 (create_ssa_artficial_load_stmt): V_MUST_DEF_OP became
1887 * tree-ssa-operands.h (v_may_def_operand_type): Renamed to
1888 v_def_use_operand_type.
1889 (v_must_def_optype_d): Use v_def_use_operand_type.
1890 (V_MUST_DEF_OP_*): Renamed to V_MUST_DEF_RESULT_*
1891 (V_MUST_DEF_KILL_*): New macros.
1892 (struct ssa_operand_iterator_d): Add num_v_mustu and v_mustu_i
1894 Rename existing must_i and num_v_must members to mustd_i and
1896 (SSA_OP_VMUSTDEFKILL): New flag.
1897 (SSA_OP_VIRTUAL_KILLS): New flag.
1898 (SSA_OP_ALL_OPERANDS): Add in SSA_OP_ALL_KILLS.
1899 (SSA_OP_ALL_KILLS): New flag.
1900 (FOR_EACH_SSA_MUSTDEF_OPERAND): New macro.
1902 * tree-ssa.c (verify_ssa): Verify virtual kills as well.
1904 * tree-vectorizer.c (vect_create_data_ref_ptr): V_MUST_DEF_OP
1905 became V_MUST_DEF_RESULT.
1906 (rename_variables_in_bb): Rename kill pointer as well.
1908 * tree-dfa.c (compute_immediate_uses_for_stmt): Add kills into the
1911 2004-10-27 Richard Sandiford <rsandifo@redhat.com>
1913 * dbxout.c (dbxout_source_line): Move declaration of begin_label to
1914 the block that needs it.
1916 2004-10-27 Zack Weinberg <zack@codesourcery.com>
1918 * dbxout.c (dbxout_finish_complex_stabs): Mark 'line' variable
1921 2004-10-27 Zack Weinberg <zack@codesourcery.com>
1923 * c-lex.c (cb_def_pragma): Clean up code for making location
1924 palatable to diagnostic.c.
1926 2004-10-27 Steven Bosscher <stevenb@suse.de>
1928 PR tree-optimization/17757
1929 * tree-phinodes.c (remove_phi_arg_num): Don't remove PHIs
1930 without any PHI arguments left. Make sure the argument that
1931 we're supposed to remove exists at all.
1933 2004-10-27 Paul Brook <paul@codesourcery.com>
1935 * configure.ac: Don't test for [build] __cxa_atexit when building a
1937 * configure: Regenerate.
1939 2004-10-27 Paul Brook <paul@codeosurcery.com>
1941 * configure.ac: Use build_exeext not host_exeext when lookin for
1943 * configure: Regenerate.
1945 2004-10-27 Andreas Krebbel <krebbel1@de.ibm.com>
1947 * config/s390/s390.md ("*subdf3_cc"): Replaced plus by minus.
1949 2004-10-27 Andreas Krebbel <krebbel1@de.ibm.com>
1950 patch originally created by Kelley Cook <kcook@gcc.gnu.org>
1953 * opts.c (OPT_fprofile_generate): Default to -funroll-loops
1954 to match -fprofile-use.
1956 2004-10-27 Kazu Hirata <kazu@cs.umass.edu>
1958 * config/rs6000/rs6000.c: Fix a comment typo.
1960 2004-10-27 Zack Weinberg <zack@codesourcery.com>
1962 * config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Increment line
1965 2004-10-27 Andreas Schwab <schwab@suse.de>
1967 * varasm.c (default_stabs_asm_out_destructor): Mark symbol as
1969 (default_stabs_asm_out_constructor): Likewise.
1971 2004-10-26 Geoffrey Keating <geoffk@apple.com>
1973 * builtins.c (fold_builtin_unordered_cmp): Always bring both
1974 operands to the same type.
1976 2004-10-26 James E Wilson <wilson@specifixinc.com>
1979 * emit-rtl.c (emit_copy_of_insn_after): Copy RTX_FRAME_RELATED_P.
1981 2004-10-26 Zack Weinberg <zack@codesourcery.com>
1983 * dbxout.c: Include obstack.h.
1984 (ASM_STABS_OP): Take XCOFF_DEBUGGING_INFO into account in
1986 (ASM_STABD_OP, NO_DBX_MAIN_SOURCE_DIRECTORY, DBX_CONTIN_CHAR):
1987 Default-define here.
1988 (DBX_CONTIN_LENGTH): Move definition with others.
1989 (DBX_FINISH_STABS): New target macro.
1990 (current_sym_code, current_sym_value, current_sym_addr)
1991 (current_sym_nchars, CHARS, dbxout_continue)
1992 (print_int_cst_octal, print_octal, print_wide_int)
1993 (dbxout_prepare_symbol, dbxout_finish_symbol): Delete.
1994 (stabstr_ob, stabstr_last_contin_point): New variables.
1995 (NUMBER_FMT_LOOP): New improper macro.
1996 (dbxout_int, dbxout_stab_value_zero, dbxout_stab_value_label)
1997 (dbxout_stab_value_label_diff, dbxout_stab_value_internal_label)
1998 (dbxout_stab_value_internal_label_diff, dbxout_stabd)
1999 (dbxout_begin_stabn, dbxout_begin_stabn_sline)
2000 (dbxout_begin_simple_stabs, dbxout_begin_simple_stabs_desc)
2001 (dbxout_begin_complex_stabs, dbxout_finish_complex_stabs)
2002 (stabstr_C, stabstr_S, stabstr_I, stabstr_D, stabstr_U, stabstr_O)
2003 (stabstr_continue, DECL_ACCESSIBILITY_CHAR)
2004 New functions and/or proper function-like macros.
2005 (CONTIN): Use stabstr_continue, unconditionally.
2006 (get_lang_number): Define unconditionally, with ATTRIBUTE_UNUSED.
2007 (dbxout_init): Initialize stabstr_ob. Check
2008 NO_DBX_MAIN_SOURCE_DIRECTORY. Only write out the Ltext label
2009 if it was used. Use the new interfaces.
2010 (dbxout_source_file): Remove file argument; always write to
2011 asm_out_file. Use the new interfaces.
2012 (dbxout_type_method_1): Remove second argument which is always
2013 DECL_ASSEMBLER_NAME of the first argument. Use the new interfaces.
2014 (dbxout_type_methods): Remove write-only variables. Use the
2016 (dbxout_parms): Refactor to remove code duplicated in each of
2017 several successive if-else-if blocks. Use the new interfaces.
2018 (dbxout_function_end, emit_bincl_stab, dbxout_end_source_file)
2019 (dbxout_source_line, dbxout_finish, dbxout_type_index)
2020 (dbxout_type_fields, dbxout_range_type, dbxout_type, dbxout_type_name)
2021 (dbxout_class_name_qualifiers, dbxout_symbol, dbxout_symbol_location)
2022 (dbxout_symbol_name, dbxout_reg_parms, dbxout_args)
2023 (dbx_output_lbrac, dbx_output_rbrac, dbxout_block):
2024 Use the new interfaces.
2025 * Makefile.in (dbxout.o): Update dependencies.
2027 * defaults.h: Don't define ASM_STABD_OP.
2028 * output.h: Prototype new dbxout_* interfaces.
2029 * system.h: Poison DBX_OUTPUT_GCC_MARKER and DBX_FINISH_SYMBOL.
2030 * varasm.c: Don't define ASM_STABS_OP.
2031 (default_stabs_asm_out_constructor, default_stabs_asm_out_destructor):
2032 Use the new dbxout.c interfaces. Call sorry if neither
2033 DBX_DEBUGGING_INFO nor XCOFF_DEBUGGING_INFO is defined.
2035 * xcoffout.h: Don't define ASM_STABS_OP.
2036 (DBX_FINISH_SYMBOL): Rewrite and rename DBX_FINISH_STABS.
2037 (DBX_OUTPUT_MAIN_SOURCE_DIRECTORY, DBX_OUTPUT_GCC_MARKER): Delete.
2038 (NO_DBX_MAIN_SOURCE_DIRECTORY, NO_DBX_GCC_MARKER): Define.
2039 (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Change bare block to
2040 do { ... } while (0) idiom.
2042 * config/alpha/alpha.c (num_source_filenames): Export.
2043 * config/alpha/alpha.h (num_source_filenames): Declare.
2044 (DBX_OUTPUT_SOURCE_LINE): Use new interfaces.
2045 (SDB_OUTPUT_SOURCE_LINE): Add missing newline.
2046 * config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Use new interfaces.
2047 Always use .debugsym. Update commentary.
2048 * config/mips/mips.h (DBX_OUTPUT_SOURCE_LINE): Use new interfaces.
2049 (SDB_OUTPUT_SOURCE_LINE): Add missing newline.
2050 * config/rs6000/linux64.h (DBX_OUTPUT_SOURCE_LINE, DBX_OUTPUT_BRAC):
2052 * config/rs6000/rs6000.c: If TARGET_MACHO, include gstab.h.
2053 (macho_branch_islands): Use new interfaces.
2055 * doc/tm.texi: Update.
2057 2004-10-26 Aldy Hernandez <aldyh@redhat.com>
2059 * expr.c (emit_group_store): Do not treat floats as BLKmode.
2060 (emit_group_load): Same.
2062 2004-10-26 Joseph S. Myers <jsm@polyomino.org.uk>
2064 * c-parse.in (datadef): Use pedwarn rather than error and warning
2065 for diagnostic in case of no declaration specifiers.
2067 2004-10-26 Richard Sandiford <rsandifo@redhat.com>
2070 * doc/install.texi (mips-sgi-irix5): Document that /bin/sh has been
2071 reported to hang during bootstrap and that CONFIG_SHELL=/bin/ksh
2072 can be used to work around this.
2074 2004-10-26 Aldy Hernandez <aldyh@redhat.com>
2076 * config/rs6000/rs6000.h (MEMBER_TYPE_FORCES_BLK): Adjust for e500
2079 2004-10-26 Kazu Hirata <kazu@cs.umass.edu>
2081 * stmt.c (expand_case): Update a comment.
2083 2004-10-26 Kazu Hirata <kazu@cs.umass.edu>
2085 * stmt.c (expand_case): Put an assertion that index_expr is
2086 never INTEGER_CST. Don't special case for constant
2089 2004-10-26 Andrew Pinski <pinskia@physics.uc.edu>
2092 * c-parse.in (designator): Finish with a semi-colon.
2094 2004-10-26 Fariborz Jahanian <fjahanian@apple.com>
2096 * config/rs6000/rs6000.md (andsi3_internal8): Set CR when splitting
2099 2004-10-26 Kazu Hirata <kazu@cs.umass.edu>
2101 * stmt.c (expand_case): Remove code to handle SWITCH_EXPR with
2102 a default case only.
2104 2004-10-26 Aldy Hernandez <aldyh@redhat.com>
2106 * config/rs6000/rs6000.c (rs6000_hard_regno_nregs): Adjust for
2108 (spe_build_register_parallel): New.
2109 (rs6000_spe_function_arg): Handle e500 doubles.
2110 (function_arg): Same.
2111 (spe_func_has_64bit_regs_p): Same.
2112 (rs6000_function_value): Same.
2113 (rs6000_libcall_value): Same.
2114 (legitimate_lo_sum_address_p): Return false for e500 doubles.
2116 * config/rs6000/rs6000.h (LOCAL_ALIGNMENT): Adjust for e500
2118 (DATA_ALIGNMENT): Same.
2119 (CANNOT_CHANGE_MODE_CLASS): Same.
2121 2004-10-26 Aldy Hernandez <aldyh@redhat.com>
2123 * expr.c (emit_group_load): Handle floats.
2124 (emit_group_store): Same.
2126 2004-10-26 Nathan Sidwell <nathan@codesourcery.com>
2128 * c-lex.c (get_nonpadding_token): Remove.
2129 (c_lex_with_flags): Push timevar and eat padding here. Improve
2130 stray token diagnostic.
2131 (lex_string): Replace logic with switch statement, eat padding
2134 2004-10-26 Geoffrey Keating <geoffk@apple.com>
2137 * config/i386/darwin.h (ASM_SPEC): Undef it before defining.
2139 2004-10-25 Geoffrey Keating <geoffk@apple.com>
2141 * config/darwin.h (LINK_SPEC): Default weak_reference_mismatches
2143 (MAKE_DECL_ONE_ONLY): Set DECL_WEAK.
2144 (ASM_MAKE_LABEL_LINKONCE): Delete.
2145 (ASM_WEAKEN_DECL): New.
2146 (ASM_DECLARE_OBJECT_NAME): Look at DECL_WEAK not DECL_ONE_ONLY.
2147 (ASM_DECLARE_FUNCTION_NAME): Likewise.
2148 (TEXT_SECTION_ASM_OP): Add a tab.
2149 (DATA_SECTION_ASM_OP): Likewise.
2150 (SECTION_FUNCTION): Add a tab. Use fputs. Don't call
2151 data_section on every section change.
2152 (EXTRA_SECTIONS): Add a bunch of new extra sections.
2153 (EXTRA_SECTION_FUNCTIONS): Likewise.
2154 (USE_SELECT_SECTION_FOR_FUNCTIONS): Define.
2155 (JCR_SECTION_NAME): Define.
2156 (TARGET_SECTION_TYPE_FLAGS): Don't define.
2157 * config/darwin.c (darwin_encode_section_info): A symbol is defined
2158 in this file if it is not weak.
2159 (textcoal_section): Delete.
2160 (datacoal_section): Delete.
2161 (darwin_make_decl_one_only): Delete.
2162 (machopic_select_section): Handle functions.
2163 (darwin_asm_named_section): Add a tab.
2164 (darwin_section_type_flags): Delete.
2165 (darwin_unique_section): Delete contents.
2166 (darwin_emit_unwind_label): Add a tab. Make decls weak if
2168 * config/darwin-protos.h (darwin_section_type_flags): Delete.
2169 (darwin_make_decl_one_only): Delete.
2170 (text_coal_section): New.
2171 (text_unlikely_section): New.
2172 (text_unlikely_coal_section): New.
2173 (const_coal_section): New.
2174 (data_coal_section): New.
2175 (const_data_coal_section): New.
2176 * varasm.c (function_section): Honour
2177 USE_SELECT_SECTION_FOR_FUNCTIONS.
2178 * dwarf2out.c (output_call_frame_info): Look at DECL_WEAK when
2179 TARGET_USES_WEAK_UNWIND_INFO is in effect.
2180 * dbxout.c (dbxout_source_file): Don't change sections while
2181 a function is being output.
2183 2004-10-25 David Ayers <d.ayers@inode.at>
2185 * c-common.h: Remove RID_ID.
2186 * c-parse.in: Remove OBJECTNAME and references to RID_ID.
2187 (typespec_reserved_attr): Add rule for TYPENAME
2188 non_empty_protocolrefs.
2189 (yylexname): Remove special handling of RID_ID.
2191 2004-10-25 James E Wilson <wilson@specifixinc.com>
2193 * doc/invoke.texi (-fcrossjumping): Not enabled at -O.
2195 2004-10-25 Joseph S. Myers <jsm@polyomino.org.uk>
2198 * c-parse.in (array_designator): New.
2199 (designator): Use it.
2200 (initelt): Only permit array_designator without '=', not ".foo".
2202 2004-10-25 Kenneth Zadeck <zadeck@naturalbridge.com>
2203 * gcc/Makefile.in: removed ggc for cgraphunit.
2204 * gcc/cgraph.c.dump_cgraph_node: removed static var analysis.
2205 * gcc/cgraph.h: removed static var analysis data structures and calls.
2207 cgraph_mark_local_and_external_functions:changed name to
2208 cgraph_mark_local_functions
2209 (print_order,convert_UIDs_in_bitmap,new_static_vars_info,
2210 cgraph_reset_static_var_maps,get_global_static_vars_info,
2211 get_global_statics_not_read,get_global_statics_not_written,searchc,
2212 cgraph_reduced_inorder,has_proper_scope_for_analysis,check_rhs_var,
2213 check_lhs_var,get_asm_expr_operands,process_call_for_static_vars,
2214 scan_for_static_refs,cgraph_characterize_statics_local,
2215 clear_static_vars_maps,cgraph_propagate_bits,cgraph_characterize_statics):
2217 (cgraph_optimize,init_cgraph): removed calls to static vars analysis
2218 * gcc/tree-dfa.c find_referenced_vars: removed call to static vars
2220 * gcc/tree-flow.h static_vars_info: removed
2221 * gcc/tree-ssa-operands.c (add_call_clobber_ops,add_call_read_ops):
2222 removed calls to static vars analysis.
2223 get_call_expr_operands: removed callee variable.
2225 2004-10-25 Kazu Hirata <kazu@cs.umass.edu>
2227 * cfg.c (unchecked_make_edge, redirect_edge_succ,
2228 redirect_edge_pred): Use VEC_safe_push instead of
2230 * cfgrtl.c (force_nonfallthru_and_redirect): Likewise.
2232 2004-10-25 Kazu Hirata <kazu@cs.umass.edu>
2234 * cfgloopmanip.c (loopify): Take two more arguments true_edge
2236 * cfgloop.h: Adjust the corresponding prototype.
2237 * loop-unswitch.c (unswitch_loop): Adjust a call to loopify.
2238 * tree-ssa-loop-manip.c (tree_ssa_loop_version): Likewise.
2240 2004-10-25 Jakub Jelinek <jakub@redhat.com>
2242 * dwarf2out.c (rtl_for_decl_location): Avoid segfault if
2243 DECL_INCOMING_RTL is NULL.
2245 2004-10-25 Steven Bosscher <stevenb@suse.de>
2247 * timevar.def (TV_FIND_REFERENCED_VARS): New.
2248 * tree-dfa.c (pass_referenced_var): Use it.
2250 2004-10-25 Roger Sayle <roger@eyesopen.com>
2251 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2253 * cse.c: Change encoding of quantity numbers to avoid undefined
2254 pointer arithmetic on qty_table.
2255 (REGNO_QTY_VALID_P): A quantity is now valid if it isn't negative.
2256 (get_cse_reg_info): Initialize reg_qty to a unique negative value.
2257 (new_basic_block): Assign "real" quantity numbers from zero.
2258 (delete_reg_equiv): Do nothing if quantity is invalid. Reset the
2259 REG_QTY to its unique negative value.
2260 (merge_equiv_classes): Calculate need_rehash if quantity is valid.
2261 (cse_main): Don't include max_reg when determining max_qty.
2262 (cse_basic_block): Avoid subtracting a large offset from qty_table,
2263 which causes undefined C99 behaviour. Only allocate needed memory.
2265 2004-10-25 Kazu Hirata <kazu@cs.umass.edu>
2267 * stmt.c (expand_case): Remove an obsolete comment.
2269 2004-10-25 Andrew Pinski <pinskia@physics.uc.edu>
2272 * c-decl.c (grokdeclarator) <case cdk_array>: Remove the call
2273 layout_type as it is already done by build_array_type.
2274 * tree.c (build_array_type): Layout the type even
2276 2004-10-25 Alexandre Oliva <aoliva@redhat.com>
2278 * config/frv/linux.h (TARGET_C99_FUNCTIONS): Define to 0.
2280 2004-10-25 Alexandre Oliva <aoliva@redhat.com>
2282 * config/frv/frv.md (movdi, movdf): Handle wide-constant splits
2283 with wider-than-32-bit HOST_WIDE_INTs.
2285 2004-10-25 David Billinghurst <David.Billinghurst@riotinto.com>
2287 * config/mips/mips.c(mips_output_filename): Remove unused
2288 array ltext_label_name
2290 2004-10-24 Geoffrey Keating <geoffk@geoffk.org>
2292 * config/rs6000/darwin.h (BLOCK_REG_PADDING): Define.
2294 2004-10-25 Ben Elliston <bje@au.ibm.com>
2296 * cfgcleanup.c (outgoing_edges_match): Fix typo in dump output.
2298 2004-10-23 Andrew Pinski <pinskia@physics.uc.edu>
2300 * predict.c (predict_loops): Call scev_finalize instead of
2303 2004-10-24 Kazu Hirata <kazu@cs.umass.edu>
2305 * config/dbxcoff.h, config/dbxelf.h, config/libgloss.h,
2306 config/openbsd.h, config/mips/r3900.h, config/pdp11/pdp11.md,
2307 config/sh/ushmedia.h, config/sparc/elf.h,
2308 config/sparc/sp64-elf.h: Update copyright.
2310 2004-10-24 Kazu Hirata <kazu@cs.umass.edu>
2312 * stmt.c (expand_case): Handle the default label outside of
2313 the for loop. Remove code to handle a missing default label.
2315 2004-10-23 Kazu Hirata <kazu@cs.umass.edu>
2317 * dbxout.c (dbxout_function_decl): Don't use
2318 DBX_OUTPUT_FUNCTION_END.
2319 * system.h: Poison DBX_OUTPUT_FUNCTION_END.
2320 * doc/tm.texi (DBX_OUTPUT_FUNCTION_END): Remove.
2322 2004-10-23 Andrew Pinski <pinskia@physics.uc.edu>
2325 * tree-cfg.c (remove_usless_stmts_cond): Don't Fold statement.
2327 2004-10-23 Daniel Berlin <dberlin@dberlin.org>
2329 * tree-ssa-dom.c (record_equality): Use loop depth to determine
2330 which way to record the equality as well.
2331 (loop_depth_of_name): New function.
2333 2004-10-23 Eric Botcazou <ebotcazou@libertysurf.fr>
2336 * gimplify.c (gimplify_addr_expr) <VIEW_CONVERT_EXPR>: Look
2337 through the operand if it is a useless type conversion.
2339 2004-10-23 Ben Elliston <bje@au.ibm.com>
2341 * cfg.c (remove_edge): Use VEC_unordered_remove.
2342 (redirect_edge_succ): Likewise.
2343 (redirect_edge_pred): Likewise.
2344 * cfgrtl.c (force_nonfallthru_and_redirect): Likewise.
2346 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
2348 * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP): Don't access PTR
2351 2004-10-22 Eric Christopher <echristo@redhat.com>
2353 * config/rs6000/rs6000.c (setup_incoming_varargs): Align DFmode
2356 2004-10-22 Aldy Hernandez <aldyh@redhat.com>
2358 * config/rs6000/spe.md (spe_extendsfdf2): New.
2359 (movdf_e500_double): New.
2360 (spe_truncdfsf2): New.
2367 (spe_floatsidf2): New.
2368 (spe_floatunssidf2): New.
2369 (fix_truncdfsi2): New.
2370 (spe_fixuns_truncdfsi2): New.
2372 * config/rs6000/rs6000.md (truncdfsf2): Change to expander.
2373 (fpr_truncdfsf2): New.
2374 (negdf2): Change to expander.
2376 (fpr_nabsdf2): Name pattern.
2377 (adddf3): Change to expander.
2379 (subdf3): Change to expander.
2381 (muldf3): Change to expander.
2383 (divdf3): Change to expander.
2385 (movdf_softfloat32): Change !TARGET_FPRS to TARGET_E500_SINGLE.
2386 (cmpdf): Allow for TARGET_E500_DOUBLE.
2388 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
2390 * c-semantics.c (re_push_stmt_list): Remove.
2391 * c-common.h: Remove the corresponding prototype.
2393 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
2395 * stmt.c (asm_op_is_mem_input): Remove.
2396 * tree.h: Remove the corresponding prototype.
2398 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
2400 * tree-gimple.c (is_gimple_constructor_elt): Remove.
2401 * tree-gimple.h: Remove the corresponding prototype.
2403 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
2405 * varasm.c (get_pool_mode_for_function, get_pool_offset):
2407 * rtl.h: Remove the corresponding prototypes.
2409 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
2411 * tree-cfg.c (thread_jumps_from_bb): Speed up by extracting
2412 edge information when we commit ourselves to threading a
2415 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
2417 * tree-cfg.c (thread_jumps): Speed up by putting basic blocks
2418 into worklist instead of their indexes.
2420 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
2422 * alias.c, basic-block.h, cgraphunit.c, combine.c, domwalk.h,
2423 final.c, gengtype.c, genpreds.c, ggc-page.c, insn-notes.def,
2424 lambda-code.c, loop-unroll.c, modulo-sched.c, pointer-set.c,
2425 pretty-print.c, ra-colorize.c, sbitmap.c, tree-complex.c,
2426 tree-data-ref.c, tree-dfa.c, tree-inline.c, tree-into-ssa.c,
2427 tree-scalar-evolution.c, tree-ssa-dom.c,
2428 tree-ssa-loop-manip.c, tree-ssa-loop-niter.c,
2429 tree-ssa-phiopt.c, tree-ssa-pre.c, tree-ssa-threadupdate.c,
2430 tree-vectorizer.c, vec.h: Fix comment formatting.
2432 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
2434 * dwarf.h, gthr-dce.h, gthr-single.h, gthr-solaris.h, gthr.h,
2435 libfuncs.h, libgcc2.h, stab.def, tsystem.h: Update copyright.
2437 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
2439 * config/ptx4.h, config/mcore/mcore-pe.h,
2440 config/rs6000/eabi.h, config/vax/elf.h: Update copyright.
2442 2004-10-22 Peter Barada <peter@the-baradas.com>
2444 * config/m68k/m68k.h (HARD_REGNO_RENAME_OK): New macro.
2445 * config/m68k/m68k.c (m68k_hard regno_rename_ok): Disallow
2446 renaming of non-live registers in interrupt functions.
2447 * config/m68k/m68k-protos.h (m68k_hard_regno_rename_ok): Add prototype.
2449 2004-10-22 Zdenek Dvorak <dvorakz@suse.cz>
2451 * tree-ssa-loop-niter.c (inverse): Count in HOST_WIDE_INT if possible.
2452 Use integer for loop counter.
2453 (num_ending_zeros): New function.
2454 (number_of_iterations_cond): Use num_ending_zeros.
2456 2004-10-21 Aldy Hernandez <aldyh@redhat.com>
2458 * config.gcc: Add support for --enable-e500_double.
2460 * config/rs6000/e500-double.h: New file.
2462 * config/rs6000/rs6000.h: Define TARGET_E500_SINGLE and
2465 * config/rs6000/eabi.h: Define TARGET_E500_SINGLE and
2468 * config/rs6000/linuxspe.h: Same.
2470 * doc/invoke.texi (Option Summary): Document new options for
2472 (RS/6000 and PowerPC Options): Same.
2474 * config/rs6000/rs6000.c (rs6000_parse_float_gprs_option): New
2476 (rs6000_override_options): Use it. Use
2477 SUB3TARGET_OVERRIDE_OPTIONS.
2478 Add 8548 to processor_target_table.
2479 (rs6000_legitimate_address): Handle e500 doubles.
2480 (rs6000_legitimize_address): Same.
2481 (rs6000_legitimize_reload_address): Same.
2482 (rs6000_hard_regno_nregs): Same.
2483 (spe_func_has_64bit_regs_p): Same.
2484 (emit_frame_save): Same.
2485 (gen_frame_mem_offset): Same.
2486 (rs6000_dwarf_register_span): Same.
2487 (rs6000_generate_compare): Same.
2488 (easy_fp_constant): Same.
2489 (legitimate_offset_address_p): Same.
2491 * config/rs6000/spe.md: (cmdfeq_gpr): New.
2500 2004-10-21 Giovanni Bajo <giovannibajo@gcc.gnu.org>
2502 * config/arc/lib1funcs.asm (___umulsidi3): Fix typo.
2504 2004-10-21 Zack Weinberg <zack@codesourcery.com>
2506 * dbxout.c: Remove unnecessary #undefs.
2507 (GDB_INV_REF_REGPARM_STABS_LETTER, DBX_MEMPARM_STABS_LETTER)
2508 (FILE_NAME_JOINER, STABS_GCC_MARKER): Remove; fold sole
2509 definition into use sites.
2510 (cwd): Make local to dbxout_init.
2511 (dbxout_init): Restructure cwd-using logic for clarity. Use
2513 * xcoffout.h (DBX_OUTPUT_GCC_MARKER): Definition of
2514 STABS_GCC_MARKER folded in here.
2515 * system.h: Poison now-unused macros.
2516 * doc/tm.texi: Remove documentation of now-unused macros.
2518 2004-10-21 Andrew Pinski <pinskia@physics.uc.edu>
2521 * c-opts.c (push_command_line_include): Use the current file
2522 name instead of the main one.
2524 2004-10-21 Andrew Pinski <pinskia@physics.uc.edu>
2527 * tree.c (staticp): A CONST_DECL has static storage if either
2528 TREE_STATIC or DECL_EXTERNAL is set.
2529 * c-decl.c (pushdecl_top_level): Accept CONST_DECLs which can
2532 2004-10-21 Kazu Hirata <kazu@cs.umass.edu>
2534 * expr.c (store_expr): Remove dont_store_target.
2536 2004-10-21 Kazu Hirata <kazu@cs.umass.edu>
2538 * tree-cfg.c (thread_jumps): Speed up by using a worklist.
2540 2004-10-21 Kazu Hirata <kazu@cs.umass.edu>
2542 * tree-cfg.c (thread_jumps): Move a part of it to ...
2543 (thread_jumps_from_bb): ... here.
2545 2004-10-21 David Edelsohn <edelsohn@gnu.org>
2547 * dbxout.c (DBX_FINISH_SYMBOL): Add asm_out_file argument.
2548 * xcoffout.h (DBX_FINISH_SYMBOL): Change asmfile to (ASMFILE).
2550 2004-10-21 Kazu Hirata <kazu@cs.umass.edu>
2552 * expr.c (store_expr): Clean up by renaming want_value to
2555 2004-10-21 Kaz Kojima <kkojima@gcc.gnu.org>
2557 * config/sh/linux-unwind.h (sh_fallback_frame_state): Don't
2560 2004-10-21 Aldy Hernandez <aldyh@redhat.com>
2563 * expmed.c (store_bit_field): Pass original 'value' before
2566 2004-10-21 Nicolas Pitre <nico@cam.org>
2568 * config/arm/ieee754-sf.S: Large speed improvements. Fix NAN handling.
2569 * config/arm/ieee754-df.S: Ditto.
2571 2004-10-20 Zack Weinberg <zack@codesourcery.com>
2573 * dbxout.c (asmfile): Delete. All uses changed to asm_out_file.
2574 (DBX_BLOCKS_FUNCTION_RELATIVE, DBX_LINES_FUNCTION_RELATIVE):
2576 (dbxout_source_line): Use DBX_OUTPUT_SOURCE_LINE when defined.
2577 When it is not, but DBX_LINES_FUNCTION_RELATIVE is true, emit
2578 an internal label and an N_SLINE .stabn whose value is the
2579 difference between that label and the function entry label.
2580 (dbxout_finish): If DBX_OUTPUT_MAIN_SOURCE_FILE_END is not defined,
2581 but DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END is, emit a
2582 label and an N_SO stab with an empty string referring to it.
2583 (dbx_output_lbrac, dbx_output_rbrac): Use if statement instead
2584 of #ifdef directive to test DBX_BLOCKS_FUNCTION_RELATIVE.
2585 (dbxout_type_methods, dbxout_symbol): Remove #if 0 block.
2586 (dbxout_prepare_symbol): Remove #ifdef WINNING_GDB block, this
2587 macro is never defined.
2588 * sdbout.c (sdbout_source_line_counter): Delete.
2589 (PUT_SDB_SRC_FILE): Delete. Uses replaced with sole definition.
2590 (sdbout_source_line): Use SDB_OUTPUT_SOURCE_LINE, which takes
2592 * xcoffout.c (ASM_OUTPUT_SOURCE_LINE): Rename ASM_OUTPUT_LINE.
2594 * config/dbxcoff.h, config/dbxelf.h: Remove unncessary #undefs.
2595 * config/c4x/c4x.h, config/pa/pa.h: Remove unnecessary macro
2596 definitions (identical to default).
2597 * config/darwin.h, config/dbxcoff.h, config/dbxelf.h, config/ptx4.h
2598 * config/h8300/coff.h, config/pa/som.h, config/sh/elf.h:
2599 Define DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END, not
2600 DBX_OUTPUT_MAIN_SOURCE_FILE_END.
2601 * config/dbxcoff.h, config/dbxelf.h, config/ptx4.h
2602 * config/mcore/mcore-pe.h, config/pa/som.h, config/sh/elf.h:
2603 Define DBX_LINES_FUNCTION_RELATIVE, not ASM_OUTPUT_SOURCE_LINE.
2604 * config/alpha/alpha-protos.h: Don't prototype alpha_output_lineno.
2605 * config/alpha/alpha.c: Move declaration of num_source_filenames up.
2606 (alpha_start_function): Use SDB_OUTPUT_SOURCE_LINE.
2607 (sym_lineno): Delete.
2608 (alpha_output_filename): Do not emit N_SOL stabs here. Remove
2609 now-unused variable.
2610 (alpha_output_lineno): Delete.
2611 * config/mips/mips-protos.h: Don't prototype mips_output_lineno.
2612 * config/mips/mips.c (mips_output_filename): Don't use
2613 ASM_OUTPUT_FILENAME. Don't emit N_SOL stabs here.
2614 (mips_output_lineno): Delete.
2615 (mips_output_function_prologue: Use SDB_OUTPUT_SOURCE_LINE.
2616 * config/alpha/alpha.h: Define DBX_OUTPUT_SOURCE_LINE and
2617 SDB_OUTPUT_SOURCE_LINE, not ASM_OUTPUT_SOURCE_LINE.
2618 * config/mips/mips.h: Likewise. Don't define ASM_OUTPUT_FILENAME.
2619 * config/mips/sdb.h: Use SDB_OUTPUT_SOURCE_LINE.
2620 * config/avr/avr.h: Don't define ASM_OUTPUT_SOURCE_LINE.
2621 * config/mmix/mmix.h: Likewise.
2622 * config/mmix/mmix.c (mmix_asm_output_source_line): Delete.
2623 * config/mmix/mmix-protos.h: Don't prototype it.
2624 * config/alpha/unicosmk.h: Also #undef PREFERRED_DEBUGGING_TYPE;
2625 no need to #undef ASM_OUTPUT_SOURCE_LINE.
2626 * config/arm/aout.h: Remove RISCiX-specific definition of
2627 DBX_OUTPUT_MAIN_SOURCE_FILENAME.
2628 * config/m32r/m32r.h: Define DBX_OUTPUT_SOURCE_LINE, not
2629 ASM_OUTPUT_SOURCE_LINE.
2630 * config/rs6000/linux64.h (ASM_OUTPUT_SOURCE_LINE): Rename to
2631 DBX_OUTPUT_SOURCE_LINE. Don't use current_function_func_begin_label.
2632 * config/vax/elf.h: No need to define DBX_OUTPUT_FUNCTION_END.
2634 * doc/tm.texi: Update.
2636 2004-10-20 Richard Henderson <rth@redhat.com>
2638 * tree-sra.c (instantiate_element): Copy DECL_IGNORED_P also.
2640 2004-10-20 Kelley Cook <kcook@gcc.gnu.org>
2642 * configure.ac: Revert my previous patch.
2643 * configure: Regenerate.
2645 2004-10-20 Ben Elliston <bje@au.ibm.com>
2647 * config/rs6000/rs6000.c
2648 (rs6000_va_start): Use build_va_arg_indirect_ref.
2649 (rs6000_gimplify_va_arg): Likewise.
2651 2004-10-20 Bryce McKinlay <mckinlay@redhat.com>
2654 * configure.ac: Declare AM_LANGINFO_CODESET.
2655 * aclocal.m4: Define AM_LANGINFO_CODESET.
2656 * configure, config.in: Rebuilt.
2658 2004-10-20 Kazu Hirata <kazu@cs.umass.edu>
2660 * expr.c (store_expr): Remove code that is run when
2661 want_value & 1 is nonzero.
2663 2004-10-20 Mark Mitchell <mark@codesourcery.com>
2665 * gthr-posix.h (__gthread_active_p): Use __extension__ around cast
2666 from function pointer to void *.
2668 2004-10-20 Kaz Kojima <kkojima@gcc.gnu.org>
2671 * config/sh/sh.c (sh_expand_epilogue): Emit a blockage insn before
2672 the frame pointer adjustment when exception handling is enabled.
2674 2004-10-20 Kazu Hirata <kazu@cs.umass.edu>
2676 * stor-layout.c: Fix a comment typo.
2678 2004-10-20 Kazu Hirata <kazu@cs.umass.edu>
2680 * expr.c (store_field): Remove two arguments value_mode and
2682 (expand_assignment, store_constructor_field,
2683 expand_expr_real_1): Adjust calls to store_field.
2685 2004-10-18 Ramana Radhakrishnan <ramana.radhakrishnan@codito.com>
2687 * config/arc/lib1funcs.asm (___umulsidi3): Correct usage of flags.
2690 * config/arc/arc.h (REGNO_OK_FOR_BASE_P,REGNO_OK_FOR_INDEX_P,
2691 REG_OK_FOR_BASE, REG_OK_FOR_INDEX): Consider blink(r31) as a valid
2692 base and index register for loads.
2694 * config/arc/t-arc: Fix multilib handling.
2696 2004-10-20 Hans-Peter Nilsson <hp@bitrange.com>
2698 * cfgrtl.c (rtl_verify_flow_info_1): When checking insns in a bb,
2699 don't inspect BLOCK_FOR_INSN for barriers.
2700 * emit-rtl.c (emit_barrier_before): Revert last change.
2701 (emit_barrier_after, emit_barrier): Ditto.
2703 * doc/extend.texi (Extended Asm): Warn and provide example
2704 solution for using a call-clobbered asm register.
2705 (Local Reg Vars): Similar. Cross-reference example.
2707 2004-10-19 Andrew Pinski <pinskia@physics.uc.edu>
2709 * tree-cfg.c (group_case_labels): Look at the second to last
2710 case statement for combing with the default case.
2712 2004-10-19 Richard Hendeson <rth@redhat.com>
2715 * stor-layout.c (layout_type): Set TYPE_ALIGN for vectors.
2717 2004-10-19 Richard Hendeson <rth@redhat.com>
2719 * builtins.c (expand_builtin_memmove): If fold_builtin_memmove
2720 succeeds, only expand the result.
2722 2004-10-19 Richard Hendeson <rth@redhat.com>
2725 * tree.c (recompute_tree_invarant_for_addr_expr): Always poll address
2728 2004-10-19 Kazu Hirata <kazu@cs.umass.edu>
2730 * tree-cfg.c (thread_jumps): Use a do-while loop instead of a
2733 2004-10-19 Kazu Hirata <kazu@cs.umass.edu>
2735 * expr.c (expand_assignment): Remove the last argument.
2736 Change the return type to void.
2737 * expr.h: Update the prototype of expand_assignment.
2738 * function.c (assign_parm_setup_reg): Update a call to
2740 * stmt.c (expand_asm_expr): Likewise.
2742 2004-10-19 Kazu Hirata <kazu@cs.umass.edu>
2744 * expr.c (expand_expr_real_1) <MODIFY_EXPR>: Remove
2745 unnecessary assignments to temp. Return const0_rtx.
2747 2004-10-19 Kaz Kojima <kkojima@gcc.gnu.org>
2749 * config/sh/sh.c (sh5_schedule_saves): Fix typo.
2751 2004-10-18 Kelley Cook <kcook@gcc.gnu.org>
2753 * configure.ac (powerpc-*-darwin*): Require assembler to support
2755 * configure: Regenerate.
2757 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
2759 * reload1.c (ior_hard_reg_set): Remove.
2760 (finish_spills): Use IOR_HARD_REG_SET instead of
2763 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
2765 * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP): Speed up by shifting
2766 the currently visited word to right.
2768 2004-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
2771 * expmed.c (expand_smod_pow2): Handle modes whose size
2772 is greater than that of HOST_WIDE_INT.
2774 2004-10-18 Ziemowit Laski <zlaski@apple.com>
2776 * c-parse.in (reservedwords): Add OBJC_TYPE_QUAL as alternative.
2778 2004-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
2779 Roger Sayle <roger@eyesopen.com>
2782 * dojump.c (discard_pending_stack_adjust): New function.
2783 (clear_pending_stack_adjust): Call it.
2784 * expr.h (discard_pending_stack_adjust): Declare it.
2785 * explow.c (emit_stack_save): Emit pending stack adjustments
2786 before saving the stack pointer.
2787 (emit_stack_restore): Discard pending stack adjustments before
2788 restoring the stack pointer.
2790 2004-10-18 Richard Henderson <rth@redhat.com>
2792 * c-common.c (handle_mode_attribute): Allow scalar->vector
2795 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
2797 * expr.c (expand_expr_real_1) [MODIFY_EXPR]: Don't request a
2798 value to expand_assignment.
2800 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
2802 * tree-cfg.c (cleanup_tree_cfg): Don't iterate on
2804 (thread_jumps): Iterate until no new forwarder block arises.
2806 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
2808 * tree-cfg.c (tree_forwarder_block_p): Don't set forwardable.
2809 (thread_jumps): Use forwardable as cache of
2810 tree_forwarder_block_p throughout the function.
2812 2004-10-18 Andreas Krebbel <krebbel1@de.ibm.com>
2814 * cfg.c (dump_flow_info): Remove redundant dump of reg life info.
2816 2004-10-18 Andrew Pinski <pinskia@physics.uc.edu>
2820 * tree-cfg.c (remove_bb): If we have a label expression in the
2821 basic block and the label we have taken the address, move the
2822 label expression to the basic block which is previous in the
2824 (tree_verify_flow_info): Fix printing out the label name of the
2825 problematic label expression.
2827 2004-10-18 Pat Haugen <pthaugen@us.ibm.com>
2829 PR rtl-optimization/18002
2830 * simplify-rtx.c (mode_signbit_p): Externalize function...
2831 * rtl.h (mode_signbit_p): ... to here.
2832 * combine.c (simplify_shift_const): Recognize PLUS signbit as
2833 canonical form of XOR signbit and move to outer op.
2835 2004-10-18 Diego Novillo <dnovillo@redhat.com>
2837 * tree-cfg.c (bsi_for_stmt): Rename from stmt_for_bsi.
2839 * tree-ssa.c (replace_immediate_uses): Call bsi_for_stmt.
2840 Don't call fold_stmt more than once, use bsi_replace.
2842 2004-10-18 Diego Novillo <dnovillo@redhat.com>
2844 PR tree-optimization/17656
2845 * tree-ssa.c (replace_immediate_uses): When replacing a
2846 constant, if the call to fold_stmt produced a different
2847 statement, get an appropriate statement pointer by scanning
2850 2004-10-18 Richard Henderson <rth@redhat.com>
2852 * pointer-set.c (hash1): Don't use libm functions in fallback case.
2854 2004-10-18 H.J. Lu <hongjiu.lu@intel.com>
2857 * Makefile.in (clean): Remove libgcc_s$(SHLIB_EXT).1.stage?.
2858 (stage1-start): Remove and copy libunwind.a and
2859 libunwind*$(SHLIB_EXT) instead of libunwind*.
2860 (stage2-start): Likewise.
2861 (stage3-start): Likewise.
2862 (stage4-start): Likewise.
2863 (stageprofile-start): Likewise.
2864 (stagefeedback-start): Likewise.
2866 * config/alpha/t-osf4 (SHLIB_LINK): Use a temporary file for
2867 the shared library to be created and don't remove the existing
2869 * config/arm/t-netbsd (SHLIB_LINK): Likewise.
2870 * config/i386/t-nwld (SHLIB_LINK): Likewise.
2871 * config/mips/t-slibgcc-irix (SHLIB_LINK): Likewise.
2872 * config/pa/t-hpux-shlib (SHLIB_LINK): Likewise.
2873 * config/sh/t-linux (SHLIB_LINK): Likewise.
2874 * config/t-libunwind-elf (SHLIBUNWIND_LINK): Likewise.
2875 * config/t-slibgcc-darwin (SHLIB_LINK): Likewise.
2876 * config/t-slibgcc-elf-ver (SHLIB_LINK): Likewise.
2877 * config/t-slibgcc-sld (SHLIB_LINK): Likewise.
2879 * mklibgcc.in (libgcc-stage-start): Also move "*${objext}s"
2882 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
2884 * basic-block.h (reg_set_iterator): New.
2885 (EXECUTE_IF_SET_IN_REG_SET): Make it iterator style.
2886 (EXECUTE_IF_AND_COMPL_IN_REG_SET): Likewise.
2887 (EXECUTE_IF_AND_IN_REG_SET): Likewise.
2888 * caller-save.c (save_call_clobbered_regs): Adjust to the new
2890 * cfgcleanup.c (thread_jump): Likewise.
2891 * cfgrtl.c (safe_insert_insn_on_edge): Likewise.
2892 * conflict.c (conflict_graph_compute): Likewise.
2893 * flow.c (verify_local_live_at_start, update_life_info,
2894 initialize_uninitialized_subregs, propagate_one_insn,
2895 init_propagate_block_info, free_propagate_block_info,
2896 propagate_block, dump_regset): Likewise.
2897 * global.c (global_conflicts): Likewise.
2898 * graph.c (start_bb): Likewise.
2899 * local-alloc.c (update_equiv_regs): Likewise.
2900 * loop.c (load_mems): Likewise.
2901 * reload1.c (compute_use_by_pseudos, order_regs_for_reload,
2902 find_reg, finish_spills): Likewise.
2903 * resource.c (mark_target_live_regs): Likewise.
2904 * sched-deps.c (sched_analyze_insn): Likewise.
2905 * sched-rgn.c (sched-rgn.c): Likewise.
2906 * config/frv/frv.c (frv_ifcvt_modify_tests): Likewise.
2908 2004-10-18 Jakub Jelinek <jakub@redhat.com>
2910 * config/i386/i386.md (addqi_1_slp): Test for incdec_operand
2911 operand 1 instead of 2
2913 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
2915 * loop-unroll.c: Fix comment typos.
2917 2004-10-18 Revital Eres <eres@il.ibm.com>
2919 * Makefile.in (loop-unroll.o): Add VARRAY_H dependency.
2920 * loop-unroll.c: Include varray.h.
2921 (struct var_to_expand, struct opt_info): Rename split_ivs_info to
2922 opt_info and expand it to support variable expansion.
2923 (analyze_insns_in_loop): Rename analyze_ivs_to_split and
2924 expand it to support variable expansion.
2925 (pt_info_start_duplication): Rename si_info_start_duplication.
2926 (apply_opt_in_copies): Rename split_ivs_in_copies and add support
2927 to the variable expansion optimization.
2928 (free_opt_info): Rename free_si_info.
2929 (analyze_insn_to_expand_var, referenced_in_one_insn_in_loop_p,
2930 expand_var_during_unrolling, insert_var_expansion_initialization,
2931 combine_var_copies_in_loop_exit, release_var_copies,
2932 get_expansion): New functions.
2933 (peel_loop_completely, unroll_loop_constant_iterations,
2934 unroll_loop_runtime_iterations, peel_loop_simple,
2935 unroll_loop_stupid): Change uses of struct si_info
2937 and add uses of fvariable-expansion-in-unroller flag.
2938 * params.def: Add parameter to restrict the number of expansions.
2939 * params.h: (MAX_VARIABLE_EXPANSIONS): New define to restrict
2940 the number of expansions.
2941 * common.opt: (fvariable-expansion-in-unroller): New flag.
2942 * doc/invoke.texi: (fvariable-expansion-in-unroller): Document.
2944 2004-10-18 Danny Smith <dannysmith@users.sourceforge.net>
2946 * config/i386/cygming.h (TARGET_OS_CPP_BUILTINS): Define
2947 __GXX_MERGED_TYPEINFO_NAMES to 0.
2949 2004-10-17 Hans-Peter Nilsson <hp@bitrange.com>
2951 * cfgrtl.c (rtl_verify_flow_info_1): When checking insns in a bb,
2952 handle barriers in a bb by checking that it points to a NULL bb.
2953 * emit-rtl.c (emit_barrier_before): Set BLOCK_FOR_INSN to NULL.
2954 (emit_barrier_after, emit_barrier): Ditto.
2956 2004-10-18 Joseph S. Myers <jsm@polyomino.org.uk>
2958 * doc/extend.texi (Attribute Syntax): Clarify details of
2959 attributes on parameters.
2961 2004-10-17 Zdenek Dvorak <dvorakz@suse.cz>
2963 * tree-ssa-loop-ivopts.c (tree_ssa_iv_optimize): Move checking out of
2966 2004-10-17 Andrew Pinski <pinskia@physics.uc.edu>
2969 2004-10-17 Andrew Pinski <pinskia@physics.uc.edu>
2971 * c-typeck.c (default_function_array_conversion): Always create
2972 &a[0] for array types.
2973 (build_unary_op): Do not fold &a[x] into a + x.
2975 2004-10-17 Andrew Pinski <pinskia@physics.uc.edu>
2978 * cfgexpand.c (expand_gimple_cond_expr): Emit line notes for next basic
2979 block if there is a goto with a locus.
2981 2004-10-17 Kazu Hirata <kazu@cs.umass.edu>
2983 * config/elfos.h, config/gofast.h, config/interix.h,
2984 config/netbsd.h, config/svr3.h, config/vxworks.h,
2985 config/alpha/alpha-modes.def, config/alpha/alpha-protos.h,
2986 config/alpha/ev4.md, config/alpha/ev5.md, config/alpha/ev6.md,
2987 config/alpha/netbsd.h, config/arm/arm-modes.def,
2988 config/arm/unknown-elf.h, config/c4x/c4x-modes.def,
2989 config/cris/aout.h, config/frv/frv-modes.def,
2990 config/i386/beos-elf.h, config/i386/gas.h,
2991 config/i386/i386-coff.h, config/i386/i386-modes.def,
2992 config/i386/linux.h, config/i386/linux64.h,
2993 config/i386/mingw32.h, config/i386/netbsd-elf.h,
2994 config/i386/netbsd64.h, config/i386/sco5.h,
2995 config/i386/sol2.h, config/i386/uwin.h, config/i860/i860.md,
2996 config/ia64/ia64-modes.def, config/ia64/itanium1.md,
2997 config/ia64/itanium2.md, config/m68k/m68k-modes.def,
2998 config/mips/mips-modes.def, config/mips/sdb.h,
2999 config/mips/vr.h, config/mips/vxworks.h,
3000 config/pa/pa-hpux10.h, config/pa/pa-hpux11.h,
3001 config/pa/pa32-linux.h, config/rs6000/40x.md,
3002 config/rs6000/7450.md, config/rs6000/8540.md,
3003 config/rs6000/linuxspe.h, config/rs6000/power4.md,
3004 config/rs6000/rs6000-modes.def, config/rs6000/rtems.h,
3005 config/rs6000/spe.h, config/s390/2064.md, config/s390/linux.h,
3006 config/s390/s390-modes.def, config/sh/elf.h,
3007 config/sh/sh-modes.def, config/sh/sh64.h,
3008 config/sparc/ultra1_2.md, config/sparc/ultra3.md,
3009 config/stormy16/stormy16.md, config/v850/v850-protos.h,
3010 config/vax/vax.md: Update copyright.
3012 2004-10-17 Kazu Hirata <kazu@cs.umass.edu>
3014 * expr.c (expand_expr_real_1): Remove an obsolete comment.
3016 2004-10-17 Andrew Pinski <pinskia@physics.uc.edu>
3018 * c-typeck.c (default_function_array_conversion): Always create
3019 &a[0] for array types.
3020 (build_unary_op): Do not fold &a[x] into a + x.
3022 2004-10-17 Jakub Jelinek <jakub@redhat.com>
3024 * pointer-set.c (hash1): Use integer part of 2^64 / phi
3025 instead 2^32 / phi if long is 64-bit.
3027 2004-10-17 Joseph S. Myers <jsm@polyomino.org.uk>
3029 * c-common.h (enum rid): Remove RID_PTRBASE, RID_PTREXTENT and
3031 * c-parse.in (PTR_VALUE, PTR_BASE, PTR_EXTENT): Remove %token
3033 (reswords): Remove __ptrbase, __ptrbase__, __ptrextent,
3034 __ptrextent__, __ptrvalue and __ptrvalue__.
3035 (rid_to_yy): Remove RID_PTRBASE, RID_PTREXTENT and RID_PTRVALUE
3038 2004-10-16 Dale Johannesen <dalej@apple.com>
3040 * c-common.c (c_common_get_alias_set): Use GGC for type_hash_table.
3042 2004-10-16 Zdenek Dvorak <dvorakz@suse.cz>
3044 PR tree-optimization/17766
3045 * basic-block.h (enum dom_state): DOM_CONS_OK removed.
3046 (dom_info_available_p): Declare.
3047 * cfghooks.c (split_block, make_forwarder_block): Use
3048 dom_info_available_p.
3049 * dominance.c (compute_dom_fast_query, calculate_dominance_info,
3050 free_dominance_info, verify_dominators): Ditto.
3051 (dom_info_available_p): New function.
3052 * tree-cfg.c (cleanup_control_expr_graph): Free dominance information.
3053 (thread_jumps): Use dom_info_available_p.
3054 * tree-complex.c (expand_complex_div_wide): Ditto.
3055 * tree-mudflap.c (mf_build_check_statement_for): Ditto.
3057 2004-10-16 Zdenek Dvorak <dvorakz@suse.cz>
3059 * tree-ssa-loop-ivopts.c (struct ivopts_data): New field important_candidates.
3060 (find_best_candidate): Take also important candidates into account.
3061 (find_optimal_iv_set): Initialize important_candidates bitmap.
3063 2004-10-16 Zdenek Dvorak <dvorakz@suse.cz>
3065 PR tree-optimization/17560
3066 * predict.c (tree_estimate_probability): Mark irreducible
3069 2004-10-16 Zdenek Dvorak <dvorakz@suse.cz>
3071 PR rtl-optimization/17723
3072 * cfgcleanup.c (merge_memattrs): Handle case when
3073 MEM_SIZE == NULL_RTX.
3075 2004-10-15 Andrew Pinski <pinskia@physics.uc.edu>
3077 * toplev.c (dump_file_name): Change type to be const.
3079 2004-10-15 Joseph S. Myers <jsm@polyomino.org.uk>
3081 * c-typeck.c (build_compound_expr, build_c_cast): Don't try to use
3082 non_lvalue to stop something being a null pointer constant.
3084 2004-10-15 Aldy Hernandez <aldyh@redhat.com>
3086 * config/rs6000/rs6000.h (FUNCTION_ARG_REGNO_P): FPRs are only
3087 available for TARGET_FPRS.
3088 (FUNCTION_VALUE_REGNO_P): Same.
3090 2004-10-15 Geoffrey Keating <geoffk@apple.com>
3092 * doc/invoke.texi (RS/6000 and PowerPC Options): Document
3093 -maltivec in same style as other ISA options.
3095 2004-10-15 Jon Grimm <jgrimm2@us.ibm.com>
3097 * config/host-linux.c (TRY_EMPTY_VM_SPACE): Add __powerpc__
3100 2004-10-15 Kazu Hirata <kazu@cs.umass.edu>
3102 * bitmap.c, bitmap.h, builtin-attrs.def, cfglayout.h,
3103 collect2.h, conflict.c, coretypes.h, coverage.h, errors.h,
3104 gcc.h, gcov-dump.c, gen-protos.c, gencheck.c, gencodes.c,
3105 genconstants.c, gengenrtl.c, genmodes.c, genpeep.c,
3106 gensupport.h, graph.h, gthr-gnat.c, gthr-gnat.h, gthr-posix.c,
3107 gthr-posix.h, hard-reg-set.h, hwint.h, integrate.h, libgcc2.c,
3108 lists.c, machmode.def, mips-tdump.c, opts.h, params.c,
3109 predict.def, predict.h, protoize.c, reload.h, resource.h,
3110 rtl-error.c, sbitmap.c, sbitmap.h, sreal.c, tlink.c,
3111 tree-dump.h, tree-inline.h, unwind-dw2-fde.c, unwind-dw2.c,
3112 unwind-sjlj.c, value-prof.h: Update copyright.
3114 2004-10-15 Kazu Hirata <kazu@cs.umass.edu>
3116 * pointer-set.c, tree-vectorizer.c: Fix comment typos.
3118 2004-10-15 Diego Novillo <dnovillo@redhat.com>
3120 * tree-optimize.c (execute_one_pass): Stop timer right after
3123 2004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
3126 2004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
3129 * tree-cfg.c (remove_usless_stmts_cond): Fold statement.
3130 (remove_useless_stmts_1): Fold trees we know how to fold.
3132 2004-10-14 David Edelsohn <edelsohn@gnu.org>
3134 * configure.ac: Add .machine power4 directive when testing for
3136 * configure: Regenerate.
3138 2004-10-14 Geoffrey Keating <geoffk@apple.com>
3140 * config/darwin.h (JUMP_TABLES_IN_TEXT_SECTION): Don't define.
3142 2004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
3144 * tree-vectorizer.c (vect_transform_loop): Declare vectorization_factor
3147 2004-10-14 Daniel Jacobowitz <dan@codesourcery.com>
3149 * config/rs6000/rs6000.h (REG_CLASS_FROM_LETTER): Return NO_REGS
3150 for 'f' if !TARGET_FPRS.
3152 2004-10-14 Richard Henderson <rth@redhat.com>
3155 * dwarf2out.c (loc_descriptor_from_tree_1): Handle FIX_*_EXPR.
3157 2004-10-14 Richard Henderson <rth@redhat.com>
3160 * c-decl.c (store_parm_decls_oldstyle): Care for parameter type
3162 * c-parse.in (compstmt_primary_start): Check cur_stmt_list non-null
3163 instaed of current_function_decl non-null.
3165 2004-10-14 Matt Austern <austern@apple.com>
3167 * pointer-set.c: New file, special-purpose hash table.
3168 * pointer-set.h: New file.
3169 * tree.h (struct pointer_set_t): Declare as opaque type.
3170 (tree_walk): Last argument is pointer_set_t* now.
3171 * tree-inline.c (WALK_SUBTREE): Convert from htab to pset.
3173 (walk_tree): Convert from htab_t to pointer_set_t for keeping
3174 track of which nodes have already been visited.
3175 (walk_tree_without_duplicates): Convert from htab_t to pointer_set_t.
3176 * cgraphunit.c (cgraph_create_edges): Likewise.
3177 (cgraph_characterize_statics_local): Likewise.
3178 * tree-dfa.c (collect_dfa_stats): Likewise.
3179 * langhooks-def.h (lhd_tree_inlining_walk_subtrees): Last arg is
3181 * langhooks.c (lhd_tree_inlining_walk_subtrees): Likewise.
3182 * langhooks.h (struct lang_hooks_for_tree_inlining): Last arg type
3183 of walk_subtrees is pointer_set_t* now.
3184 * Makefile.in (OBJS-common): add pointer-set.o
3185 (tree-inline.o): Depends on pointer-set.h
3186 (tree-dfa.o): Likewise
3187 (cgraphunit.o): Likewise
3189 2004-10-14 Geoffrey Keating <geoffk@apple.com>
3191 * config/rs6000/darwin.h (ASM_SPEC): Delete.
3192 (TARGET_ASM_FILE_START): Define.
3193 * config/darwin.h (ASM_SPEC): Define.
3194 * config/rs6000/t-darwin (TARGET_LIBGCC2_CFLAGS): Don't supply
3195 -mlong-double-128, it's the default. Update comment about reason
3196 for force_cpusubtype_ALL.
3197 * config/rs6000/darwin-vecsave.asm: Supply .machine.
3198 * config/rs6000/darwin-world.asm: Likewise.
3199 * config/rs6000/rs6000.c (rs6000_darwin_file_start): New.
3200 (symbolic_operand): Delete #if 0ed code.
3202 2004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
3204 * stmt.c (add_case_node): Make sure that we have integer
3205 constant before calling tree_int_cst_compare.
3207 2004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
3211 * tree-cfg.c (remove_usless_stmts_cond): Fold statement.
3212 (remove_useless_stmts_1): Fold trees we know how to fold.
3214 2004-10-14 Joseph S. Myers <joseph@codesourcery.com>
3216 * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS),
3217 config/rs6000/linuxspe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Disallow
3220 2004-10-14 Ulrich Weigand <uweigand@de.ibm.com>
3222 * reload.c (find_reloads): When reloading a PLUS with constant
3223 operand, make sure the constant is pushed to the constant pool
3225 * config/s390/s390.c (s390_secondary_input_reload_class): Remove
3226 reload bug workaround.
3227 (s390_expand_plus_operand): Likewise.
3229 2004-10-14 David Edelsohn <edelsohn@gnu.org>
3231 * opts.c (common_handle_option): Do not enable
3232 flag_speculative_prefetching for -fprofile-generate/use.
3234 2004-10-14 Devang Patel <dpatel@apple.com>
3237 * tree-if-conv.c (process_phi_nodes): Process latch block.
3238 (combine_blocks): Process latch block and update loop structure.
3240 2004-10-14 Olga Golovanevsky <olga@il.ibm.com>
3242 * tree-vectorizer.c (vect_generate_tmps_on_preheader):
3243 (vect_update_ivs_after_vectorizer):
3244 (vect_transform_for_unknown_loop_bound):
3245 (tree_duplicate_loop_to_edge):
3246 (allocate_new_names):
3249 (rename_variables_in_bb):
3251 (rename_variables_in_loop):
3253 (update_phis_for_duplicate_loop):
3254 (update_phi_nodes_for_guard):
3255 (make_loop_iterate_ntimes):
3256 (tree_duplicate_loop_to_edge_cfg):
3258 (vect_analyze_loop_with_symbolic_num_of_iters):
3259 (verify_loop_for_duplication):
3260 (vect_gen_niters_for_prolog_loop):
3261 (vect_update_niters_after_peeling):
3262 (vect_update_inits_of_dr):
3263 (vect_update_inits_of_drs):
3264 (vect_build_loop_niters):
3265 (vect_do_peeling_for_alignment): New functions.
3266 (vect_transform_loop): Add unknown and known but indivisible loop
3267 bound support; add peeling for unalignment support.
3268 (vect_analyze_loop_form): Support symbolic number of iterations.
3269 (vect_transform_loop_bound): New input parameter.
3270 (vect_get_loop_niters): Change input parameter type.
3271 (new_loop_vec_info): LOOP_VINFO_NITERS is tree now.
3272 (vectorizable_store): Allow unaligned access.
3273 (vectorize_loops): Add rewrite_into_loop_closed_ssa.
3274 (vect_analyze_data_refs_alignment): Allowed one unaligned
3276 * tree-vectorizer.h (LOOP_VINFO_NITERS_KNOWN_P): Redefined
3278 (LOOP_VINFO_INT_NITERS): New macro.
3279 (MAX_NUMBER_OF_UNALIGNED_DATA_REFS): New define.
3280 (do_peeling_for_alignment):
3281 (unaligned_drs): New members of _loop_vec_info.
3282 (LOOP_DO_PEELING_FOR_ALIGNMENT): New macro.
3284 2004-10-14 Ranjit Mathew <rmathew@hotmail.com>
3286 * tree.h (TREE_STRING_POINTER): Wrap in "const char *".
3287 (struct tree_string): Remove "const" qualifier for "str".
3289 2004-10-14 Ira Rosen <irar@il.ibm.com>
3291 * tree-vectorizer.c (vect_analyze_data_refs): Call
3292 vect_get_base_and_bit_offset to get memory tag for array ref.
3293 (vect_create_addr_base_for_vector_ref): Remove redundant checks.
3295 2004-10-14 Richard Earnshaw <rearnsha@arm.com>
3297 * configure.ac: Use $LN_S for creating symlinks (not $LN).
3298 * configure: Regenerate.
3300 2004-10-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3302 * doc/install.texi (*-*-solaris2*): Update with info about kernel
3303 patches to solve spurious testsuite failures.
3305 2004-10-14 Dorit Naishlos <dorit@il.bim.com>
3307 * tree-vectorizer.c (get_vectype_for_scalar_type): Added debug prinouts.
3308 Added check that vectype is VECTOR_MODE_P, instead of check for BLKmode.
3309 (vect_analyze_operations): Make sure the vectorization factor > 1. Add
3310 gcc_assert under ENABLE_CHECKING.
3311 (vectorizable_operation): Remove check for VECTOR_MODE_P (moved to
3312 get_vectype_for_scalar_type).
3314 (vect_get_vec_def_for_operand): Remove redundant variables.
3315 (vect_transform_loop): Likewise.
3317 2004-10-14 Richard Sandiford <rsandifo@redhat.com>
3319 * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Make r11 fixed and
3320 global for -mcaller-super-interworking.
3321 (CALLER_INTERWORKING_SLOT_SIZE): New macro.
3322 * config/arm/arm.c (thumb_compute_save_reg_mask): Save r11 if
3323 CALLER_INTERWORKING_SLOT_SIZE is nonzero and the function does
3324 not need a frame pointer.
3325 (arm_get_frame_offsets): Add CALLER_INTERWORKING_SLOT_SIZE bytes to
3326 the soft frame pointer offset.
3327 (thumb_expand_prologue): Set up r11 for -mcaller-super-interworking.
3328 * config/arm/arm.md (*call_reg_thumb, *call_value_reg_thumb): Use
3329 _interwork_{r7,r11}_call_via_rN if some arguments are passed on
3330 the stack. Use frame_pointer_needed to choose between them.
3331 * config/arm/lib1funcs.asm (_arm_return_{r7,r11}): New functions.
3332 (interwork_with_frame): New macro.
3333 (interwork): Add _interwork_{r7,r11}_call_via_rN().
3335 2004-10-14 Ben Elliston <bje@au.ibm.com>
3338 * diagnostic.c (trim_filename): Fix logic bug in walking backwards
3339 up the filename looking for a previous directory separator.
3341 2004-10-14 Joseph S. Myers <jsm@polyomino.org.uk>
3343 * c-tree.h (enum c_typespec_kind, struct c_typespec,
3344 parser_xref_tag): New.
3345 (struct c_declspecs): Add tag_defined_p. Adjust definition of
3347 (declspecs_add_type): Adjust prototypes.
3348 * c-parse.in (%union): Add tstype.
3349 (typespec_nonattr, typespec_attr, typespec_reserved_nonattr,
3350 typespec_reserved_attr, typespec_nonreserved_nonattr,
3351 structsp_attr, structsp_nonattr): Change to tstype. Update
3353 * c-decl.c (build_null_declspecs): Initialize tag_defined_p.
3354 (declspecs_add_type): Update to take struct c_typespec argument.
3355 Set tag_defined_p and typedef_p as appropriate.
3356 (xref_tag): Rename to parser_xref_tag and replace by wrapper.
3357 Update to return struct c_typespec.
3358 (shadow_tag_warned): Don't let empty declarations with qualifiers
3359 or storage class specifiers redeclare a tag if a previous
3360 declaration is visible.
3362 2004-10-13 Richard Henderson <rth@redhat.com>
3365 * dwarf2out.c (rtl_for_decl_location): Apply big-endian correction
3366 for DECL_INCOMING_RTL.
3368 2004-10-14 Hans-Peter Nilsson <hp@axis.com>
3371 * config/cris/cris.md (asrandb, asrandw, lsrandb, lsrandw): Apply
3372 trunc_int_for_mode for constants used in shortened mode.
3374 2004-10-13 Richard Henderson <rth@redhat.com>
3377 * c-common.c (handle_mode_attribute): Disallow mode changes that
3378 alter the CODE of the top-level type.
3380 * crtstuff.c (__FRAME_END__): Remove mode attribute. Find 32-bit
3381 integer from internal limits macros.
3382 * config/i386/mm3dnow.h (__v2sf): Fix base type.
3384 2004-10-13 Richard Henderson <rth@redhat.com>
3387 * function.c (instantiate_decl): Recurse for CONCAT.
3389 2004-10-13 David Edelsohn <edelsohn@gnu.org>
3391 * config/rs6000/rs6000.md (andsi3): Add attribute "compare" for
3394 (extzvdi_internal1): Add attribute "compare".
3395 (extzvdi_internal2): Same.
3397 2004-10-12 Tom Tromey <tromey@redhat.com>
3399 * doc/md.texi (Insn Canonicalizations): Removed extraneous quote.
3401 2004-10-13 Dale Johannesen <dalej@apple.com>
3403 * doc/extend.texi (Extended Asm): Rewrite asm volatile description.
3405 2004-10-13 Frank Ch. Eigler <fche@redhat.com>
3407 * toplev.c (compile_file): Call mudflap_finish_file from here ...
3408 * c-decl.c (c_write_global_declarations): ... instead of here ...
3409 * cp/decl.c (cp_finish_file): ... and here.
3410 * tree-mudflap.c (mudflap_enqueue_decl): Reword a warning message.
3412 2004-10-13 Andrew Pinski <pinskia@physics.uc.edu>
3414 * tree-ssa-dom.c (record_range): Free the element if we are not
3417 2004-10-13 Tom Tromey <tromey@redhat.com>
3420 * gcc.c (option_map): Added --extdirs and --encoding.
3422 2004-10-13 Eric Botcazou <ebotcazou@libertysurf.fr>
3425 * config/sparc/sparc.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Set to
3426 sparc_can_output_mi_thunk.
3427 (sparc_output_mi_thunk): Simplify handling of delta offset. Add
3428 handling of vcall offset.
3429 (sparc_can_output_mi_thunk): New predicate.
3430 * doc/tm.texi (TARGET_ASM_OUTPUT_MI_THUNK): Document VCALL_OFFSET.
3431 (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Delete.
3432 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New target hook.
3434 * config/sparc/sparc.c (emit_and_preserve): Preserve stack alignment.
3436 * config/sparc/sparc.md (movdi): Remove redundant test.
3438 2004-10-13 Paolo Bonzini <bonzini@gnu.org>
3440 * tree-dump.c (dump_options): Remove TDF_TREE, TDF_RTL,
3441 TDF_IPA from -fdump-tree-*-all.
3443 2004-10-13 Paul Brook <paul@codesourcery.com>
3445 * config/arm/arm-protos.h (arm_load_pic_register): Update prototype.
3446 * config/arm/arm.c (thumb_find_work_register): Update comments.
3447 (arm_load_pic_register): Add argument for scratch register.
3448 (arm_expand_prologue, thumb_expand_prologue): Pass extra argument.
3449 * config/arm/arm.md (builtin_setjmp_receiver): Ditto.
3451 2004-10-13 Kazu Hirata <kazu@cs.umass.edu>
3453 * tree-data-ref.c: Fix comment typos.
3455 2004-10-13 Jakub Jelinek <jakub@redhat.com>
3456 Zdenek Dvorak <dvorakz@suse.cz>
3458 PR tree-optimization/17724
3459 * tree-cfg.c (tree_purge_dead_eh_edges): Free dominance info.
3461 2004-10-13 Dorit Naishlos <dorit@il.ibm.com>
3463 * rs6000.c (altivec_builtin_mask_for_load): Made static GTY(()).
3464 (altivec_builtin_mask_for_store): Likewise.
3465 (altivec_init_builtins): Use lang_hooks.builtin_function to
3466 create the decls for builtin_altivec_mask_for_load/store.
3468 2004-10-13 Nick Clifton <nickc@redhat.com>
3470 * config/c4x/c4x.c: Remove inclusion of loop.h.
3472 2004-10-12 Ben Elliston <bje@au.ibm.com>
3474 * basic-block.h (edge_iterator): Keep the address of VEC(edge) *.
3475 (ei_container): New; renamed.
3476 (ei_start, ei_last): New macros.
3477 (ei_start_1, ei_last_1): Renamed from ei_start.
3478 (ei_last_1, ei_end_p): Use ei_container() where applicable.
3479 (ei_one_before_end_p, ei_next, ei_edge): Likewise.
3480 * gcse.c (remove_reachable_equiv_notes): Use ei_container().
3482 2004-10-11 Sebastian Pop <pop@cri.ensmp.fr>
3484 * Makefile.in (tree-ssa-loop-niter.o): Depends on tree-data-ref.h.
3485 * cfgloop.c (initialize_loops_parallel_p): New.
3486 (flow_loops_find): Initialize the parallel_p field to true for all
3488 * tree-ssa-loop-niter.c: Include "tree-data-ref.h".
3489 (estimate_numbers_of_iterations_loop): Infers the loop bounds from
3490 the size of the data accessed in the loop.
3491 (struct nb_iter_bound): Moved...
3492 * cfgloop.h (struct nb_iter_bound): ... here.
3493 (estimated_nb_iterations, parallel_p): New fields in struct loop.
3494 (record_estimate): Declare extern here.
3495 * tree-chrec.c: Fix comments.