1 2004-11-12 Steven Bosscher <stevenb@suse.de>
3 PR tree-optimization/18419
4 * tree-ssa.c (walk_use_def_chains_1): Make the visited map a
5 pointer set instead of a bitmap.
6 (walk_use_def_chains): Create, pass and clean up that pointer_set.
8 * tree-ssa-alias.c (struct alias_info): Make the ssa_names_visited
10 (init_alias_info): Allocate and zero it here.
11 (delete_alias_info): Delete it here.
12 (collect_points_to_info_for): Use it.
14 2004-11-11 Kazu Hirata <kazu@cs.umass.edu>
16 * alias.c (record_alias_subset, addr_side_effect_eval):
18 * alias.h: Remove the prototype for record_alias_subset.
19 * expr.h: Remove the commented-out prototype for
21 * rtl.h: Remove the prototype for addr_side_effect_eval.
23 * cfglayout.c (choose_inner_scope): Make it static.
24 * rtl.h: Remove the corresponding prototype.
26 * cfgloopmanip.c (update_single_exits_after_duplication,
27 unloop): Make them static.
28 * cfgloop.h: Remove the corresponding prototypes.
30 * c-typeck.c (c_size_in_bytes, record_maybe_used_decl):
32 * c-tree.h: Remove the corresponding prototypes.
34 * explow.c (round_push): Make it static.
35 * expr.h: Remove the corresponding prototype.
37 * varasm.c (get_named_section_flags, decl_tls_model): Make
39 * output.h: Remove the prototype for get_named_section_flags.
40 * tree.h: Remove the prototype for decl_tls_model.
42 2004-11-11 Kazu Hirata <kazu@cs.umass.edu>
44 * function.c (expand_function_end): Remove an "if" statement
46 * stmt.c (expand_null_return_1): Likewise.
48 2004-11-11 James E. Wilson <wilson@specifixinc.com>
50 * config/ia64/ia64.h (HARD_REGNO_NREGS): Handle XCmode.
51 (HARD_REGNO_MODE_OK, MODES_TIEABLE_P, SECONDARY_MEMORY_NEEDED,
52 CLASS_MAX_NREGS): Likewise.
54 2004-11-11 Zdenek Dvorak <dvorakz@suse.cz>
56 PR tree-optimization/17742
57 * tree-scalar-evolution.c (follow_ssa_edge_in_rhs): Handle
60 2004-11-11 Sebastian Pop <pop@cri.ensmp.fr>
62 * tree-scalar-evolution.c (follow_ssa_edge_in_condition_phi):
63 Give up as soon as the evolution is known not computable.
65 2004-11-11 Nathan Sidwell <nathan@codesourcery.com>
68 * config/rs6000/rs6000.c (mask64_2_operand): Stub to call
70 (mask64_1or2_operand): Broken out of mask64_2_operand, add flag
71 to spot rlwinm opportunities.
72 (and64_2_operand): Use mask_1or2_operand.
73 * config/rs6000/rs6000.md (anddi3): Use rlwinm when possible.
75 2004-11-11 Dorit Naishlos <dorit@il.ibm.com>
77 * tree-vectorizer.c (update_phi_nodes_for_guard): Call reverse_phis.
78 (vect_update_ivs_after_vectorizer): Update function documentation.
79 Avoid quadratic behavior and direct write to PHI_ARG_DEF.
81 2004-11-11 Kazu Hirata <kazu@cs.umass.edu>
83 * config/arm/arm.c: Fix a comment typo.
85 2004-11-11 Nathan Sidwell <nathan@codesourcery.com>
87 * bitmap.h (nBITMAP_WORD_BITS): Remove.
88 (BITMAP_WORD_BITS): Force unsigned by use of 1u.
89 (BITMAP_ELEMENT_WORDS, BITMAP_ELEMENT_ALL_BITS): Remove
91 (bitmap_first_set_bit): Return unsigned, use ctzl.
92 (bitmap_last_set_bit): Remove.
93 * bitmap.c (bitmap_element_zerop, bitmap_copy): Make iterator
95 (bitmap_first_set_bit): Return unsigned, require non-empty bitmap,
96 remove special case code for two word elements.
97 (bitmap_last_set_bit): Remove.
98 * ra-build.c (livethrough_conflicts_bb): Replace unnecessary use of
99 bitmap_first_set_bit with bitmap_empty_p.
100 * tree-outof-ssa.c (analyze_edges_for_bb): Likewise.
101 * tree-ssa-pre.c (bitmap_print_value): Use simple flag rather than
104 2004-11-11 Nathan Sidwell <nathan@codesourcery.com>
107 * config/rs6000/rs6000.md: Add DF & SF reg move peepholes.
110 * config/rs6000/rs6000.c (rs6000_generate_compare): Generate an
111 unsigned equality compare when we know the operands are unsigned.
113 2004-11-10 Peter S. Mazinger <ps.m@gmx.net>
115 * config/mips/linux.h (LINUX_TARGET_OS_CPP_BUILTINS): Define
116 __PIC__ and __pic__ only if TARGET_ABICALLS.
117 (SUBTARGET_CPP_SPECS): Don't define or undefine __PIC__ and __pic__.
118 (SUBTARGET_ASM_SPECS): Don't pass -non_shared to assembler; pass
119 -KPIC only if not -mno-abicalls.
121 * config/alpha/linux.h, config/arm/linux-elf.h, config/pa/pa-linux.h
122 * config/sparc/linux.h, config/sparc/linux64.h
123 (TARGET_OS_CPP_BUILTINS): Define __PIC__ and __pic__ if flag_pic.
125 * config/arm/linux-gas.h (CPP_SPEC): Don't define __PIC__ or __pic__.
126 * config/pa/pa/linux.h (CPP_SPEC): Likewise.
127 * config/sparc/linux.h (CPP_SUBTARGET_SPEC): Likewise.
128 * config/sparc/linux64.h (CPP_SUBTARGET_SPEC): Likewise.
130 2004-11-11 Paul Brook <paul@codesourcery.com>
132 * config/arm/arm.c (arm_compute_save_reg0_reg12_mask): Save PIC
133 register if current_function_uses_pic_offset_table is set.
135 2004-11-10 David Edelsohn <edelsohn@gnu.org>
137 * config/rs6000/rs6000.md (define_attr "type"): Add two and three.
138 Change multi-instruction sequences to new attribute.
139 * config/rs6000/{40x.md,440.md,603.md,6xx.md,
140 7450.md,7xx.md,8540.md,mpc.md,power4.md,power5.md,
141 rios1.md,rios2.md,rs64.md}: Add descriptions for two and three.
143 2004-11-10 Daniel Berlin <dberlin@dberlin.org>
145 * tree-data-ref.c (build_classic_dist_vector): If either loop
146 is outside of the nest we asked about, the dependence can't
148 (build_classic_dir_vector): Ditto.
150 2004-11-10 Zdenek Dvorak <dvorakz@suse.cz>
152 * tree-ssa-loop-ivopts.c (get_address_cost): Add address elements in
154 (force_var_cost): Determine cost of addition and multiplication more
156 (get_computation_cost_at): Add cost for computing address elements to
159 * fold-const.c (fold): Attempt to use ptr_difference_const whenever
160 one of the arguments of MINUS_EXPR is an address.
161 (split_address_to_core_and_offset): New function.
162 (ptr_difference_const): Handle case when one of the operands is a
164 * tree-ssa-loop-ivopts.c (determine_base_object): Fold &*addr.
165 (ptr_difference_cost): Pass addresses instead of objects to
166 ptr_difference_const.
168 2004-11-10 Nathan Sidwell <nathan@codesourcery.com>
170 * tree.c (tree_check_failed): Emit general error if the list of
173 2004-11-10 Eric Botcazou <ebotcazou@libertysurf.fr>
175 * config/sparc/sparc.c (function_arg_union_value): New 'slotno'
176 argument. When the union is passed in the 6th slot, build a
177 PARALLEL with only one element.
178 (function_arg): Adjust call to function_arg_union_value.
179 (function_value): Likewise.
181 2004-11-10 Fariborz Jahanian <fjahanian@apple.com>
183 PR tree-optimization/17892
184 * tree-ssa-dom.c (unsafe_associative_fp_binop): Add test for
187 2004-11-10 James A. Morrison <phython@gcc.gnu.org>
190 (addsi3, subsi3): Set "fptype" attribute.
191 (addv2si, addv4hi, addv2hi, subv2si, subv4hi, subv2hi): New patterns.
193 2004-11-10 Steven Bosscher <stevenb@suse.de>
195 * basic-block.h (XMALLOC_REG_SET, XFREE_REG_SET): New.
196 (struct basic_block_def): Remove local_set and cond_local_set
197 fields. Update comment for global_live_at_start.
198 * flow.c (calculate_global_regs_live): Allocate local_sets and
199 cond_local_sets here as arrays of bitmaps previously stored in
200 bb->local_set and bb->cond_local_set. Use xmalloc instead of
201 obstack allocated bitmaps.
203 2004-11-09 H.J. Lu <hongjiu.lu@intel.com>
206 * config/ia64/unwind-ia64.h (_Unwind_FindTableEntry): Mark it
209 * unwind-dw2.c (_Unwind_FindTableEntry): Removed.
211 2004-11-09 Jeff Law <law@redhat.com>
213 * cfganal.c (flow_dfs_compute_reverse_execute): Accept new
214 argument holding last unvisited block. Start search for
215 unvisited blocks at LAST_UNVISITED rather than EXIT_BLOCK.
216 (connect_infinite_loops_to_exit): Supply last unvisited block
217 to flow_dfs_compute_reverse_execute.
219 2004-10-22 Aldy Hernandez <aldyh@redhat.com>
221 * config/rs6000/rs6000.md (fix_truncdfsi2): Handle e500
223 (floatunssidf2): Same.
225 ("extendsfdf2"): New expander.
226 (*extendsfdf2_fpr): Rename.
227 (*truncdfsf2_fpr): Same.
230 (*nabsdf2_fpr): Same.
236 * config/rs6000/spe.md ("spe_extendsfdf2"): Remove FIXME comment.
237 ("spe_fix_truncdfsi2"): Same.
238 (spe_floatunssidf2): Same.
239 (spe_floatsidf2): Same.
241 2004-11-09 Joseph S. Myers <joseph@codesourcery.com>
244 * c-common.c (fname_decl): Don't use line number of decl in
247 2004-11-09 Ulrich Weigand <uweigand@de.ibm.com>
249 * config/s390/s390-protos.h (s390_pool_operand): Remove.
250 * config/s390/s390.c (s390_pool_operand): Likewise.
251 (s390_extra_constraint_str): Handle 'B' constraints.
252 * config/s390/s390.h (CONSTRAINT_LEN): Handle 'B' constraints.
253 * config/s390/s390.md: Document 'B' constraints.
254 ("*cmpdi_cct", "*cmpsi_cct"): Use 'B' constraint instead of
255 s390_pool_operand to prevent insns with two literal pool
256 references. Make pattern commutative.
257 ("*cmpdi_ccu", "*cmpsi_ccu", "*cmphi_ccu", "*cmpqi_ccu"): Use
258 'B' constraint instead of s390_pool_operand.
260 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
262 * tree-cfg.c (create_bb): Remove unnecessary memset.
264 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
266 * tree-ssa-threadupdate.c (copy_phis_to_block): Remove.
267 (thread_block): Call flush_pending_stmt instead of
270 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
272 * loop-iv.c (iv_number_of_iterations): Make it static.
273 * cfgloop.h: Remove the corresponding prototype.
275 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
277 * function.c (combine_temp_slots, assign_parms,
278 expand_pending_sizes): Make them static.
279 * tree.h: Remove the corresponding prototypes.
281 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
283 * emit-rtl.c (copy_most_rtx): Remove.
284 * rtl.h: Remove the corresponding prototype.
286 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
288 * cfgloop.c (flow_loops_update): Remove.
289 * cfgloop.h: Remove the corresponding prototype.
291 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
293 * conflict.c (mark_reg, conflict_graph_compute): Remove.
294 * basic-block.h: Remove the prototype for
295 conflict_graph_compute.
297 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
299 * tree-if-conv.c (add_to_dst_predicate_list): Change the
300 second argument to basic_block.
301 (tree_if_convert_cond_expr): Update call sites.
303 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
305 * fold-const.c (pedantic_non_lvalue): Make it static.
306 * tree.h: Remove the corresponding prototype.
308 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
310 * optabs.c (prepare_operand): Make it static.
311 * optabs.h: Remove the corresponding prototype.
313 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
315 * reload1.c (reloads_conflict, gen_reload): Make them static.
316 * reload.h: Remove the corresponding prototypes.
318 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
320 * reload.c (refers_to_mem_for_reload_p,
321 refers_to_regno_for_reload_p): Make them static.
322 * reload.h: Remove the corresponding prototypes.
324 2004-11-09 James A. Morrison <phython@gcc.gnu.org>
325 Eric Botcazou <ebotcazou@libertysurf.fr>
328 * doc/md.texi (SPARC constraints): Document 'Y' constraint.
329 * config/sparc/sparc-modes.def: Add vector modes of 4 and 8 bytes.
330 * config/sparc/sparc.c (sparc_vector_mode_supported_p): New function.
331 (TARGET_VECTOR_MODE_SUPPORTED_P): Set to sparc_vector_mode_supported_p.
332 (fp_zero_operand): Accept MODE_VECTOR_INT modes.
333 (input_operand): Accept CONST_VECTOR with MODE_VECTOR_INT modes.
334 (sparc_cannot_force_const_mem): Return false for CONST_VECTOR.
335 (sparc_init_modes): Set sparc_mode_class to SF_MODE or DF_MODE for
336 MODE_VECTOR_INT modes.
337 (sparc_extra_constraint_check): Add new constraint 'Y'.
338 * config/sparc/sparc.h: Define UNITS_PER_SIMD_WORD to 8 for TARGET_VIS.
339 * config/sparc/sparc.md (V32): New mode macro for 32-bit modes.
340 (V64): New mode macro for 64-bit modes.
341 (movsf): Use V32 for mode instead of SF.
342 (movsf_insn_vis): Use V32 for mode instead of SF. Add 'Y' constraint
343 alongside 'G' constraint.
344 (movdf): Use V64 for mode instead of DF.
345 (movdf_insn_v9only_vis, modf_insn_sp64_vis): Use V64 for mode instead
346 of DF. Add 'Y' constraint alongside 'G' constraint.
347 (multi-isn and misaligned mems DFmode splitters): Use V64 for mode
350 2004-11-09 Ulrich Weigand <uweigand@de.ibm.com>
352 * config/s390/s390.c (s390_select_ccmode): Return CCAPmode for
354 * config/s390/s390.md ("*negdi2_64"): Fix op_type attribute.
355 ("*negdi2_31"): Reimplement using a splitter.
356 ("*negdi2_cc", "*negdi2_cconly"): New insns.
357 ("*negdi2_sign", "*negdi2_sign_cc"): Likewise.
358 ("*negsi2_cc", "*negsi2_cconly"): Likewise.
359 ("*negdf2_cc", "*negdf2_cconly"): Likewise.
360 ("*negsf2_cc", "*negsf2_cconly"): Likewise.
361 ("*absdi2_cc", "*absdi2_cconly"): New insns.
362 ("*absdi2_sign", "*absdi2_sign_cc"): Likewise.
363 ("*abssi2_cc", "*abssi2_cconly"): Likewise.
364 ("*absdf2_cc", "*absdf2_cconly"): Likewise.
365 ("*abssf2_cc", "*abssf2_cconly"): Likewise.
366 ("*negabsdi2_cc", "*negabsdi2_cconly"): New insns.
367 ("*negabsdi2_sign", "*negabsdi2_sign_cc"): Likewise.
368 ("*negabssi2_cc", "*negabssi2_cconly"): Likewise.
369 ("*negabsdf2_cc", "*negabsdf2_cconly"): Likewise.
370 ("*negabssf2_cc", "*negabssf2_cconly"): Likewise.
372 2004-11-09 Ulrich Weigand <uweigand@de.ibm.com>
374 * config/s390/s390.c (s390_canonicalize_comparison): Reverse condition
375 when eliminating an UNSPEC_CMPINT.
376 (s390_secondary_input_reload_class): Fix test for CC register reload.
377 (s390_secondary_output_reload_class): Likewise.
378 (s390_expand_cmpmem): Swap operands. Use gen_cmpint.
379 * config/s390/s390.md ("*cmpint_si", "*cmpint_di"): Remove.
380 ("cmpint", "*cmpint_cc", "*cmpint_sign", "*cmpint_sign_cc"): New
381 insn patterns with splitters.
383 2004-11-09 David Edelsohn <edelsohn@gnu.org>
385 * config/rs6000/rs6000.c (rs6000_rtx_costs): Add EQ, GTU, and LTU.
386 * config/rs6000/rs6000.md (sCC): Split GTU and LTU patterns.
388 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
390 * tree-phinodes.c (phi_reverse): New.
391 * tree-cfg.c (tree_make_forwarder_block, tree_duplicate_bb):
393 * tree-flow.h: Add a prototype for phi_reverse.
395 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
397 * tree-ssa-loop-ivopts.c: Fix a comment typo.
399 2004-11-09 James A. Morrison <phython@gcc.gnu.org>
402 * config/host-linux.c (TRY_EMPTY_VM_SPACE): Add __sparc__
405 2004-11-09 Joseph S. Myers <joseph@codesourcery.com>
407 * builtins.c, c-common.c, c-decl.c, c-format.c: Say "argument"
408 instead of "arg" in diagnostics.
410 2004-11-09 Joseph S. Myers <joseph@codesourcery.com>
412 * builtins.c, c-common.c, c-decl.c, c-format.c, c-format.h,
413 c-parse.in, c-pch.c, c-pragma.c, collect2.c, final.c, gcc.c,
414 gcov.c, opts.c, pretty-print.h, protoize.c, reg-stack.c, rtl.c,
415 tlink.c, config/alpha/alpha.c, config/arc/arc.c, config/arm/arm.c,
416 config/avr/avr.c, config/c4x/c4x.c, config/darwin.c,
417 config/frv/frv.c, config/h8300/h8300.c, config/i386/i386.c,
418 config/i386/winnt.c, config/ia64/ia64.c, config/ip2k/ip2k.c,
419 config/iq2000/iq2000.c, config/m32r/m32r.c,
420 config/m68hc11/m68hc11.c, config/m68k/m68k.c, config/m68k/m68k.h,
421 config/mcore/mcore.c, config/mips/mips.c, config/mmix/mmix.c,
422 config/ns32k/ns32k.c, config/rs6000/host-darwin.c,
423 config/rs6000/rs6000.c, config/s390/s390.c, config/sh/sh.c,
424 config/sh/symbian.c, config/stormy16/stormy16.c,
425 config/v850/v850.c: Avoid "`" as left quote, using "'" or %q, %<
426 and %> as appropriate. Use %' as apostrophe in diagnostics where
427 applicable. Use %< and %> in place of '' quotes where applicable.
428 Use %qs in place of %<%s%>. Consistently quote __builtin function
431 2004-11-09 Hans-Peter Nilsson <hp@bitrange.com>
433 * gdbinit.in (pbb, pbm): New macros.
435 2004-11-08 Jeff Law <law@redhat.com>
437 * cfg.c (redirect_edge_succ_nodup): Use find_edge rather than
438 implementing it inline.
440 * cfganal.c (find_edge): Search pred->succs or succ->preds,
441 whichever is shorter.
443 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
445 * passes.c (rest_of_handle_jump): Remove dead code.
447 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
449 * tree-cfg.c (thread_jumps): Speed up by keeping a pointer to
450 the last used element in the worklist.
452 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
454 * tree-inline.c (remap_save_expr): Make it static.
455 * tree-inline.h: Remove the corresponding prototype.
457 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
459 * tree-ssa-loop-niter.c (upper_bound_in_type,
460 lower_bound_in_type): Make them static.
461 * tree.h: Remove the corresponding prototypes.
463 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
465 * tree-ssa-live.c (tpa_init, pop_best_coalesce): Make them
467 * tree-ssa-live.h: Remove the corresponding prototypes.
469 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
471 * tree-if-conv.c (tree_if_conversion): Make it static.
472 * tree-flow.h: Remove the corresponding prototype.
474 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
476 * tree-ssa-operands.c (build_ssa_operands): Make it static.
477 * tree-flow.h: Remove the corresponding prototype.
479 2004-11-08 Andrew Pinski <pinskia@physics.uc.edu>
482 * tree-inline.c (copy_body_r): Change "t = t" to empty
483 statement instead of "t".
485 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
487 * modulo-sched.c (create_partial_schedule,
488 free_partial_schedule, reset_partial_schedule,
489 ps_add_node_check_conflicts, rotate_partial_schedule): Make
492 2004-11-08 Richard Henderson <rth@redhat.com>
494 * expmed.c (extract_force_align_mem_bit_field): Correct handling at
497 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
499 * sched-deps.c (add_insn_mem_dependence): Make it static.
500 * sched-int.h: Remove the corresponding prototypes.
502 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
504 * flow.c (allocate_bb_life_data): Make it static.
505 * basic-block.h: Remove the corresponding prototype.
507 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
509 * calls.c (split_complex_values, split_complex_types): Make
511 * expr.h: Remove the corresponding prototypes.
513 2004-11-08 Richard Earnshaw <rearnsha@arm.com>
515 * arm.c (arm_handle_notshared_attribute): Wrap declaration and use
516 with #if TARGET_DLLIMPORT_DECL_ATTRIBUTES.
518 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
520 * tree-if-conv.c (tree_if_convert_cond_expr): Remove two "if"
521 statements that always trigger.
523 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
525 * tree-cfg.c, tree-if-conv.c, tree-into-ssa.c,
526 tree-scalar-evolution.c, tree-ssa-loop-im.c,
527 tree-ssa-loop-ivopts.c, tree-ssa-loop-manip.c, tree-ssa.c,
528 tree-vectorizer.c: Replace TREE_CHAIN with PHI_CHAIN where
531 2004-11-08 Ben Elliston <bje@au.ibm.com>
533 * cgraph.h (cgraph_calls_p): Remove.
534 * cgraph.c (cgraph_calls_p): Likewise.
536 * varray.h (varray_copy): Remove.
537 * varray.c (varray_copy): Likewise.
539 2004-11-07 Andrew Pinski <pinskia@physics.uc.edu>
542 * config/darwin.c (machopic_indirect_data_reference):
543 Call gen_macho_high and gen_macho_low instead of
544 checking the mode and calling gen_macho_high_di directly.
545 * config/rs6000/rs6000.c (rs6000_emit_move): Likewise.
546 * config/rs6000/rs6000.md: Move most of TARGET_MACHO expand/insns
548 (movdf_low, movsf_low, movsf_low_st, movsi_low, macho_correct_pic,
549 load_macho_picbase, macho_low, macho_high): Removed.
550 (builtin_setjmp_receiver): Call gen_macho_high and
551 gen_macho_low instead of checking the mode and calling
552 gen_macho_high_di directly.
553 * config/rs6000/darwin.md (load_macho_picbase_di): Use the MD constant.
554 (movdf_low_si, movsf_low_si, movsf_low_st_si, movsi_low_st):
555 Moved from rs6000.md.
556 (macho_high): New expander.
557 (macho_high_si): Renamed version of macho_high from rs6000.md.
558 (macho_low): New expander.
559 (macho_low_si): Renamed version of macho_low from rs6000.md.
560 (load_macho_picbase): New expander.
561 (load_macho_picbase_si): Renamed version of load_macho_picbase
563 (macho_correct_pic): New expander.
564 (macho_correct_pic_si): Renamed version of macho_correct_pic
567 2004-11-07 Joseph S. Myers <joseph@codesourcery.com>
569 * c-decl.c (finish_struct): Use complete sentences for diagnostic
570 for structures or unions with no members or named members.
572 2004-11-07 Joseph S. Myers <joseph@codesourcery.com>
574 * c-typeck.c (build_unary_op): Replace unreachable diagnostic for
575 taking address of bit-field by assertion.
577 2004-11-06 Ulrich Weigand <uweigand@de.ibm.com>
579 * config/s390/s390.md (attribute "op_type"): Default to "NN".
580 (attribute "atype"): Default to "agen".
581 (attribute "length"): Default to 6.
582 (define_asm_attibutes): Remove.
583 ("movti", "*movdi_64", "*movdi_31", "*movsi_zarch", "*movsi_esa",
584 "*movhi", "*movqi", "*movdf_64", "*movdf_31", "movsf",
585 "*clc", "*mvc", "*nc", "*oc", "*xc", "*xc_zero"):
586 Do not set type attribute to "cs" where already default.
587 ("*cmpint_si", "*cmpint_di", "fix_truncdfsi2_ibm", "floatsidf2_ibm",
589 Do not set type attribute to "other" where already default.
590 ("movti", "*movdi_64", "*movdi_31", "*movdf_31",
591 "*strlendi", "*strlensi",
592 "*movmem_long_64", "*movmem_long_31",
593 "*clrmem_long_64", "*clrmem_long_31",
594 "*cmpmem_long_64", "*cmpmem_long_31",
595 "*cmpint_si", "*cmpint_di",
596 "addti3", "*adddi3_31z", "*adddi3_31",
597 "subti3", "*subdi3_31z", "*subdi3_31", "*negdi2_31",
598 "*sconddi", "*scondsi", "*sconddi_neg", "*scondsi_neg",
599 "fix_truncdfsi2_ibm", "floatsidf2_ibm", "extendsfdf2_ibm",
600 "*pool_entry", "pool_align", "pool_section_start",
601 "pool_section_end", "main_pool", "reload_base_31", "pool"):
602 Do not set op_type attribute to "NN" where already default.
603 ("*extractqi", "*extracthi", "*zero_extendhisi2_31",
604 "*zero_extendqisi2_31", "*zero_extendqihi2_31",
605 "fix_truncdfsi2_ibm", "floatsidf2_ibm"):
606 Do not set atype attribute to "agen" where already default.
607 ("*movmem_short", "*clrmem_short", "*cmpmem_short"): Don't set op_type.
609 2004-11-06 Richard Sandiford <rsandifo@redhat.com>
611 * config/mips/t-iris6 (tp-bit.c): Fix target filename.
613 2004-11-06 Richard Sandiford <rsandifo@redhat.com>
616 * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Don't define the
617 R3000 and R4000 macros on IRIX.
619 2004-11-06 Andreas Schwab <schwab@suse.de>
622 * config/rs6000/altivec.h: Replace bool by __bool and pixel by
625 2004-11-06 Kazu Hirata <kazu@cs.umass.edu>
627 * tree-ssa-copyrename.c (rename_ssa_copies): Make it static.
629 2004-11-06 Ulrich Weigand <uweigand@de.ibm.com>
631 * config/s390/2064.md ("z_int", "z_agen"): Ensure the condition
632 matches no insns already matched by other reservations.
633 * config/s390/2084.md ("x_int", "x_agen"): Ensure the condition
634 matches no insns already matched by other reservations.
635 ("x_ss"): Remove, replace by ...
636 ("x_cs"): ... this new reservation. Check type instead of op_type.
637 Update bypasses to use x_cs instead of x_ss.
638 ("x_nn"): Remove, replace by ...
639 ("x_other"): ... this new reservation. Check type instead of op_type.
640 Add x_other and x_branch to bypasses.
641 ("x_vs"): New reservation.
642 * config/s390/s390.md (attribute "type"): Default according to op_type.
643 ("*execute"): Set type to "cs".
645 2004-11-06 Kazu Hirata <kazu@cs.umass.edu>
647 * fold-const.c (non_lvalue): Don't construct NON_LVALUE_EXPR
650 2004-11-06 Hans-Peter Nilsson <hp@bitrange.com>
652 PR rtl-optimization/17933
653 * rtlanal.c (dead_or_set_regno_p): Break out common code to...
654 (covers_regno_p): New function. Handle SETs of PARALLEL,
655 and defer the rest to...
656 (covers_regno_no_parallel_p): New function.
658 2004-11-06 Eric Botcazou <ebotcazou@libertysurf.fr>
660 * config/sparc/sparc.c (function_arg_record_value_1): Skip
661 fields with zero length.
662 (function_arg_record_value_2): Likewise.
663 (function_arg_record_value_3): Use smallest_mode_for_size
664 instead of mode_for_size.
665 (function_arg_union_value): Return naked register for unions
668 2004-11-06 Eric Botcazou <ebotcazou@libertysurf.fr>
670 * config/sparc/sparc.c (scan_record_type): Handle vector types.
671 (function_arg_slotno): Handle vector types specially.
672 (function_arg_record_value_1): Split fields with vector type and
673 BLKmode into their subparts.
674 (function_arg_record_value_2): Likewise. Be prepared to handle
675 more than 2 registers per field.
676 (function_arg_union_value): Increment regno inside the loop.
677 (function_arg_vector_value): New function.
678 (function_arg): Use it to split fields with vector type and
679 BLKmode into their subparts and build a PARALLEL. Treat
680 other vector types like floats.
681 (function_value): Likewise.
682 (sparc_pass_by_reference): Handle vector types.
683 (sparc_return_in_memory): Likewise.
685 2004-11-06 Kazu Hirata <kazu@cs.umass.edu>
687 * tree-cfg.c (find_taken_edge_cond_expr): Remove an "if"
688 statement that never triggers.
690 2004-11-06 Ulrich Weigand <uweigand@de.ibm.com>
692 * config/s390/2064.md ("z_o2", "z_o3"): Remove.
693 * config/s390/2084.md ("x_o2", "x_o3"): Remove.
694 ("x_fdivd"): Use also for fsqrtd type.
695 ("x_fdivs"): Use also for fsqrts type.
696 * config/s390/s390.md (attribute "type"): Remove "o2" and "o3" types.
697 ("fix_truncdfsi2_ieee"): Set type to "ftoi".
698 ("fix_truncdfsi2_ibm"): Set type to "other".
699 ("floatdidf2", "floatdisf2"): Do not clobber CC.
700 ("floatsidf2", "floatsidf2_ieee"): Likewise.
701 ("floatsisf2", "floatsisf2_ieee"): Likewise.
702 ("truncdfsf2", "truncdfsf2_ieee"): Only allow "register_operand".
703 ("truncdfsf2_ibm"): Only allow "nonimmediate_operand". Use LER
705 ("extendsfdf2_ibm"): Do not set atype. Set type to "floads".
706 ("sqrtdf2"): Set type to "fsqrtd".
707 ("sqrtsf2"): Set type to "fsqrts".
709 2004-11-06 Kazu Hirata <kazu@cs.umass.edu>
711 * tree-phinodes.c (remove_all_phi_nodes_for): Speed up using a
712 pointer to the last PHI node in the new PHI chain.
714 2004-11-06 Kaz Kojima <kkojima@gcc.gnu.org>
716 * config/sh/sh.c (prepare_move_operands): Emit a use of r12
717 for non-PIC TLS_MODEL_INITIAL_EXEC case.
719 2004-11-06 Kazu Hirata <kazu@cs.umass.edu>
721 * expmed.c: Fix a comment typo.
723 2004-11-06 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
726 * config/i386/cygming.h
727 [HAVE_GAS_WEAK] (ASM_WEAKEN_LABEL): Macro defined.
729 2004-11-06 Kazu Hirata <kazu@cs.umass.edu>
731 * config/sh/sh4a.md: Fix copyright.
733 2004-11-06 Kazu Hirata <kazu@cs.umass.edu>
735 * config/rs6000/darwin.md, config/sh/sh4a.md: Replace GNU CC
738 2004-11-05 David Edelsohn <edelsohn@gnu.org>
740 * config/rs6000/rs6000.md (scc patterns): Replace subfc with subf
741 when carry not used. Suggested by Torbjorn Granlund.
743 * config/rs6000/rs6000.c (rs6000_emit_move): Don't force_reg
744 operand[1] unnecessarily. Suggested by Eric Christopher.
745 (rs6000_adjust_cost): Increase latency of store to wider load.
746 (rs6000_rtx_costs): mulli only allows 16-bit constants.
748 2004-11-05 Stan Shebs <shebs@apple.com>
750 * config/rs6000/rs6000.c (machopic_output_stub): Output
751 ldu instead of lwzu for 64-bit stubs.
753 2004-11-05 Richard Henderson <rth@redhat.com>
755 * config/alpha/alpha.c (alpha_expand_unaligned_load): Special case
757 (alpha_expand_unaligned_store): Likewise.
759 2004-11-05 Richard Henderson <rth@redhat.com>
761 * expmed.c (extract_force_align_mem_bit_field): New.
762 (extract_split_bit_field): Call it.
764 2004-11-05 Richard Henderson <rth@redhat.com>
766 * ia64.md (UNSPEC_SHRP): New.
767 (dshift_count_operand): New.
768 (ashrti3, ashrti3_internal, lshrti3, lshrti3_internal, shrp): New.
769 * ia64.c (rtx_needs_barrier): Handle UNSPEC_SHRP.
771 2004-11-05 Joseph S. Myers <joseph@codesourcery.com>
773 * c-typeck.c (output_init_element): Return early if value is
776 2004-11-05 James E Wilson <wilson@specifixinc.com>
778 * invoke.texi (-fno-guess-branch-probability): Rewrite.
780 * config/ia64/ia64.c (rtx_needs_barrier, case UNSPEC_GR_SPILL): Change
781 1 to UNSPEC_GR_SPILL.
783 2004-11-05 Andreas Krebbel <krebbel1@de.ibm.com>
785 * config/s390/s390.c (s390_fixed_condition_code_regs): New function.
786 (TARGET_FIXED_CONDITION_CODE_REGS): Macro defined.
788 2004-11-05 Nathan Sidwell <nathan@codesourcery.com>
790 * bitmap.h (enum bitmap_bits): Remove.
791 (bitmap_operation): Remove.
792 (bitmap_and, bitmap_and_into, bitmap_and_compl,
793 bitmap_and_compl_into, bitmap_ior, bitmap_ior_into, bitmap_xor,
794 bitmap_xor_into): Prototype.
795 * bitmap.c (bitmap_elt_insert_after, bitmap_elt_clear_from): New.
796 (bitmap_operation): Remove.
797 (bitmap_and, bitmap_and_into, bitmap_and_compl,
798 bitmap_and_compl_into, bitmap_ior, bitmap_ior_into, bitmap_xor,
799 bitmap_xor_into): New.
800 (bitmap_ior_and_compl, bitmap_ior_and_compl_into): Adjust.
802 PR tree-optimization/18307
803 * tree-ssa-alias.c (merge_pointed_to_info): Protected against DEST
804 and ORIG being the same node.
806 2004-11-04 Geoffrey Keating <geoffk@apple.com>
808 * Makefile.in (distclean): Don't delete nonexistent fixinc/ directory.
809 (install-mkheaders): Install the version built for the
810 host, not for the build machine.
811 * configure.ac: Always run fixincludes.
812 (all_outputs): Remove mkheaders.
813 * configure: Regenerate.
814 * fixinc.in: Move to fixincludes/.
815 * mkfixinc.sh: Likewise.
816 * mkheaders.in: Likewise.
817 * README-fixinc: Likewise.
819 2004-11-05 Ramana Radhakrishnan <ramana.radhakrishnan@codito.com>
822 * config/arc/lib1funcs.asm (___umulsidi3): Change use of cmp to the
823 equivalent on the A4.
825 2004-11-05 Joseph S. Myers <joseph@codesourcery.com>
827 * doc/c-tree.texi, doc/cfg.texi, doc/contrib.texi, doc/cpp.texi,
828 doc/cppopts.texi, doc/extend.texi, doc/fragments.texi,
829 doc/frontends.texi, doc/gcov.texi, doc/hostconfig.texi,
830 doc/implement-c.texi, doc/install.texi, doc/invoke.texi,
831 doc/libgcc.texi, doc/md.texi, doc/passes.texi,
832 doc/portability.texi, doc/rtl.texi, doc/sourcebuild.texi,
833 doc/standards.texi, doc/tm.texi, doc/tree-ssa.texi,
834 doc/trouble.texi: Correct end-of-sentence markup and markup of
835 "etc.", "e.g." and "i.e.". Use @code in various places where
838 2004-11-05 Joseph S. Myers <joseph@codesourcery.com>
840 * doc/c-tree.texi, doc/cfg.texi, doc/extend.texi, doc/gty.texi,
841 doc/install.texi, doc/invoke.texi, doc/md.texi, doc/passes.texi,
842 doc/rtl.texi, doc/tm.texi, doc/tree-ssa.texi: Remove trailing
845 2004-11-04 Mark Mitchell <mark@codesourcery.com>
847 * config/arm/arm.c (arm_handle_notshared_attribute): New function.
848 * doc/extend.texi: Document "notshared" attribute.
850 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
852 * tree-phinodes.c (make_phi_node): Make it static.
853 * tree.h: Remove the prototypes for make_phi_node.
855 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
857 * stmt.c (expand_asm, expand_asm_operands): Make them static.
858 * tree.h: Remove the prototypes for expand_asm and
861 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
863 * passes.c (rest_of_compilation): Make it static.
864 * toplev.h: Remove the prototype for rest_of_compilation.
866 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
868 * jump.c (cleanup_barriers): Use delete_insn instead of
870 (delete_barrier): Remove.
871 * rtl.h: Remove the corresponding prototype.
873 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
875 * expr.c (mostly_zero_p): Make it static.
876 * tree.h: Remove the prototype for mostly_zeros_p.
878 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
880 * cfgrtl.c (force_nonfallthru_and_redirect): Make it static.
882 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
884 * builtins.c (expand_builtin_return_addr,
885 expand_builtin_longjmp, expand_builtin_trap): Make them static.
886 * expr.h: Remove the prototypes for expand_builtin_longjmp and
888 * tree.h: Remove the prototype for expand_builtin_return_addr.
890 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
892 * tree-cfg.c (find_taken_edge): Reject VAL begin NULL.
893 * tree-ssa-ccp.c (visit_cond_stmt): Don't call find_taken_edge
896 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
898 * cfghooks.c (delete_basic_block): Remove code to truncate
901 2004-11-04 Andrew Pinski <pinskia@physics.uc.edu>
903 * flow.c (init_propagate_block_info): Change the type of i to
906 2004-11-04 Ulrich Weigand <uweigand@de.ibm.com>
908 PR tree-optimization/18184
909 * c-typeck.c (comptypes): Do not treat pointers of different
910 modes or alias-all flags as equivalent.
911 * tree-ssa.c (tree_ssa_useless_type_conversion_1): Likewise.
913 2004-11-04 Joseph S. Myers <joseph@codesourcery.com>
915 * doc/gty.texi, doc/makefile.texi, doc/sourcebuild.texi: Don't
916 reference specific C parser files in examples.
918 2004-11-04 Richard Sandiford <rsandifo@redhat.com>
921 * regrename.c (scan_rtx): Treat the destinations of SETs and CLOBBERs
922 as OP_INOUT if the instruction is predicated.
924 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
926 * bitmap.h: Fix a comment typo. Follow spelling conventions.
927 * tree-vectorizer.c: Fix a comment typo.
929 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
931 * sdbout.c (SDB_GENERATE_FAKE): Remove.
932 (gen_fake_label): Don't use SDB_GENERATE_FAKE.
933 * system.h: Poison SDB_GENERATE_FAKE.
934 * doc/tm.texi (SDB_GENERATE_FAKE): Remove.
936 2004-11-04 Ulrich Weigand <uweigand@de.ibm.com>
938 * config/s390/s390.md ("*addsi3_sign"): Use canonical RTL.
940 2004-11-04 Eric Botcazou <ebotcazou@libertysurf.fr>
943 * gthr-posix.h (__gthread_recursive_mutex_init_function): Revert
946 2004-11-04 Nathan Sidwell <nathan@codesourcery.com>
948 * predict.c (propagate_freq): Make bitno unsigned. Move
949 npredecessors update out of loop.
951 * bitmap.h (bitmap_iterator): Remove word_bit and bit
952 fields. Rename others.
953 (bmp_iter_common_next_1, bmp_iter_single_next_1,
954 bmp_iter_single_init, bmp_iter_end_p, bmp_iter_single_next,
955 bmp_iter_and_not_next_1, bmp_iter_and_not_init,
956 bmp_iter_and_not_next, bmp_iter_and_next_1, bmp_iter_and_init,
957 bmp_iter_and_next): Remove.
958 (bmp_iter_set_init, bmp_iter_and_init, bmp_iter_and_compl_init,
959 bmp_iter_next, bmp_iter_set, bmp_iter_and, bmp_iter_and_compl):
961 (EXECUTE_IF_SET_IN_BITMAP, EXECUTE_IF_AND_IN_BITMAP,
962 EXECUTE_IF_AND_COMPL_IN_BITMAP): Adjust.
964 * bitmap.h (bitmap_a_or_b, bitmap_a_and_b): Remove.
965 * df.c (dataflow_set_a_op_b): Use bitmap_and, bitmap_ior,
966 bitmap_and_into, bitmap_ior_into as appropriate.
967 * except.c (remove_eh_handler): Likewise.
968 * global.c (modify_bb_reg_pav, make_accurate_live_analysis): Likewise.
969 * tree-dfa.c (mark_new_vars_to_rename): Likewise.
970 * tree-ssa-alias.c (merge_pointed_to_info): Likewise.
971 * tree-ssa-live.h (live_merge_and_clear): Likewise.
972 * tree-ssa-loop-ivopts.c (find_best_candidate, try_add_cand_for):
975 * bitmap.c (bitmap_print): Make bitno unsigned.
976 * bt-load.c (clear_btr_from_live_range,
977 btr_def_live_range): Likewise.
978 * caller-save.c (save_call_clobbered_regs): Likewise.
979 * cfganal.c (compute_dominance_frontiers_1): Likewise.
980 * cfgcleanup.c (thread_jump): Likewise.
981 * cfgrtl.c (safe_insert_insn_on_edge): Likewise.
982 * conflict.c (conflict_graph_compute): Likewise.
983 * ddg.c (add_deps_for_use): Likewise.
984 * df.c (df_refs_update): Likewise.
985 * except.c (remove_eh_handler): Likewise.
986 * flow.c (verify_local_live_at_start, update_life_info,
987 initialize_uninitialized_subregs, propagate_one_insn,
988 free_propagate_block_info, propagate_block, find_use_as_address,
989 reg_set_to_hard_reg_set): Likewise.
990 * gcse.c (clear_modify_mem_tables): Likewise.
991 * global.c (global_conflicts, build_insn_chain): Likewise.
992 * ifcvt.c (dead_or_predicable): Likewise.
993 * local-alloc.c (update_equiv_regs): Likewise.
994 * loop.c (load_mems): Likewise.
995 * ra-build.c (livethrough_conflicts_bb, conflicts_between_webs):
997 * ra-rewrite.c (reloads_to_loads, rewrite_program2, actual_spill):
999 * reload1.c (order_regs_for_reload, finish_spills): Likewise.
1000 * sched-deps.c (sched_analyze_insn, free_deps): Likewise.
1001 * sched-rgn.c (propagate_deps
1002 * tree-cfg.c (tree_purge_all_dead_eh_edges): Likewise.
1003 * tree-dfa.c (dump_dfa_stats
1004 tree-into-ssa.c (compute_global_livein, insert_phi_nodes,
1005 insert_phi_nodes_for, debug_def_blocks_r, invalidate_name_tags):
1007 * tree-outof-ssa.c (coalesce_ssa_name, coalesce_vars,
1008 free_temp_expr_table, find_replaceable_exprs): Likewise.
1009 * tree-sra.c (scan_function, scalarize_parms): Likewise.
1010 * tree-ssa-alias.c (init_alias_info,
1011 compute_points_to_and_addr_escape,
1012 compute_flow_sensitive_aliasing, maybe_create_global_var): Likewise.
1013 * tree-ssa-dce.c (mark_control_dependent_edges_necessary): Likewise.
1014 * tree-ssa-live.c (new_tree_live_info, live_worklist,
1015 calculate_live_on_entry, calculate_live_on_exit, compare_pairs,
1016 sort_coalesce_list, build_tree_conflict_graph, dump_live_info
1017 tree-ssa-loop-manip.c (add_exit_phis_var): Likewise.
1018 tree-ssa-operands.c (get_asm_expr_operands, add_call_clobber_ops,
1019 add_call_read_ops): Likewise.
1020 * tree-ssa-pre.c (bitmap_print_value_set, insert_aux): Likewise.
1021 * tree-ssa-live.h (num_var_partitions): Return unsigned.
1023 2004-11-03 Dorit Naishlos <dorit@il.ibm.com>
1025 PR tree-optimization/18009
1026 * tree-vectorizer.h (enum dr_alignment_support): New type.
1027 (MAX_NUMBER_OF_UNALIGNED_DATA_REFS): Removed.
1028 (LOOP_UNALIGNED_DR): replaced with LOOP_VINFO_UNALIGNED_DR and holds a
1029 single data_reference (instead of a varray of references).
1030 * tree-vectorizer.c (new_loop_vec_info): Likewise.
1031 (vect_gen_niters_for_prolog_loop): Likewise.
1032 (vect_update_inits_of_drs): Likewise.
1034 (vect_update_inits_of_drs): Setting of DR_MISALIGNMENT moved to
1035 vect_enhance_data_refs_alignment.
1036 (vect_do_peeling_for_alignment): Likewise.
1037 (vect_enhance_data_refs_alignment): Decide if and by how much to peel;
1038 this functionality used to be in vect_analyze_data_refs_alignment.
1039 Also update DR_MISALIGNMENT due to peeling; this functionality used to
1040 be in vect_update_inits_of_drs and vect_do_peeling_for_alignment).
1041 (vect_analyze_data_refs_alignment): Decision on whether and by how much
1042 to peel moved to vect_enhance_data_refs_alignment. Call
1043 vect_supportable_dr_alignment.
1045 (vect_compute_data_ref_alignment): Set STMT_VINFO_VECTYPE.
1046 (vect_compute_data_refs_alignment): Return bool. Consider return value
1047 of vect_compute_data_ref_alignment and return true/false accordingly.
1048 (vect_enhance_data_refs_alignment): Consider return value of
1049 vect_compute_data_refs_alignment and return true/false accordingly.
1051 (vect_supportable_dr_alignment): New function.
1052 (vectorizable_store): Call vect_supportable_dr_alignment.
1053 (vectorizable_load): Call vect_supportable_dr_alignment. Alignment
1054 support checks moved from here to vect_supportable_dr_alignment.
1056 (vect_transform_loop): Avoid 80 columns overflow.
1058 2004-11-03 Andrew Pinski <pinskia@physics.uc.edu>
1060 * timevar.c (timevar_enable): Change from
1062 (timevar_push): Rename to ...
1063 (timevar_push_1): this and remove the
1065 (timevar_pop): Rename to ...
1066 (timevar_pop_1): this and remove the
1068 * timevar.h (POP_TIMEVAR_AND_RETURN): Use do/while loops.
1069 (timevar_pop): New macro.
1070 (timevar_push): New macro.
1071 (timevar_enable): Declare.
1073 2004-11-03 Andrew Pinski <pinskia@physics.uc.edu>
1075 * config/darwin.h (REAL_LIBGCC_SPEC): Define to use shared
1076 libgcc for shared libraries.
1078 2004-11-03 Ulrich Weigand <uweigand@de.ibm.com>
1080 * config/s390/s390-protos.h (s390_split_access_reg): Add prototype.
1081 * config/s390/s390.c (s390_split_access_reg): New function.
1082 (regclass_map): Add access registers.
1083 (get_thread_pointer): Use access register instead of UNSPEC_TP.
1084 * config/s390/s390.h (FIRST_PSEUDO_REGISTER): Set to 38.
1085 (ACCESS_REGNO_P, ACCESS_REG_P): New macros.
1086 (TP_REGNUM): New define.
1087 (FIXED_REGISTERS, CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS,
1088 REG_ALLOC_ORDER): Add access registers.
1089 (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK, CLASS_MAX_NREGS,
1090 CANNOT_CHANGE_MODE_CLASS): Support access registers.
1091 (enum reg_class): Add ACCESS_REGS.
1092 (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Likewise.
1093 (REG_CLASS_FROM_LETTER): Add 't' constraint.
1094 (REGISTER_NAMES): Add access registers.
1095 * config/s390/s390.md (UNSPEC_TP): Remove.
1096 ("*movdi_64"): Add access register alternatives. Provide splitters
1097 to split DImode access register <-> GPR moves into SImode moves.
1098 ("*movsi_zarch", "*movsi_esa"): Add access register alternatives.
1099 ("movstrictsi"): Likewise.
1100 ("get_tp_64", "get_tp_31"): Reimplement using access registers.
1101 ("set_tp_64", "set_tp_31"): Likewise.
1102 ("*set_tp"): New insn.
1104 2004-11-03 Kazu Hirata <kazu@cs.umass.edu>
1106 * tree-phinodes.c (resize_phi_node): Copy only a portion of
1107 the PHI node currently in use.
1109 2004-11-03 Andrew Pinski <pinskia@physics.uc.edu>
1112 * tree.c (staticp) <case FUNCTION_DECL>: Nested functions are static
1115 2004-11-03 Andrew MacLeod <amacleod@redhat.com>
1117 PR tree-optimization/18270
1118 * tree-outof-ssa.c (analyze_edges_for_bb): If a block has incoming
1119 abnormal edges, commit all pending stmts on incoming edges.
1121 2004-11-03 Ulrich Weigand <uweigand@de.ibm.com>
1123 * tree-ssa-loop-ivopts.c (get_address_cost): Offset zero does not
1124 cause extra costs. Generate canonical RTL.
1126 2004-11-02 Daniel Berlin <dberlin@dberlin.org>
1128 * lambda-code.c (lambda_compute_auxillary_space): Update comments.
1129 (lambda_compute_target_space). Ditto.
1130 * lambda.h (lambda_trans_matrix): Ditto.
1131 (lambda_linear_expression): Ditto.
1132 (lambda_body_vector): Ditto.
1133 (lambda_loopnest): Ditto.
1134 * tree-loop-linear.c (gather_interchange_stats): Combine tests,
1135 update comments, and remove pointless addition of 0.
1136 (linear_transform_loops): Update comments.
1138 2004-11-03 Sebastian Pop <pop@cri.ensmp.fr>
1140 * tree.c (tree_fold_gcd): Use FLOOR_MOD_EXPR instead of
1143 2004-11-03 Jeff Law <law@redhat.com>
1145 * predict.c (struct block_info_def): Kill "tovisit" field.
1146 (propagate_freq): Accept new "tovisit" parameter. Change
1147 read/write access methods for "tovisit" to check the "tovisit"
1148 bitmap instead of a bit in block_info_def.
1149 (estimate_loops_at_level): Allocate "tovisit" bitmap. Pass
1150 it to propagate_freq.
1152 * stmt.c (expand_case): Speed up code to detect duplicate case
1153 label targets and count unique case label targets.
1155 2004-11-03 Kazu Hirata <kazu@cs.umass.edu>
1157 * cppdefault.c, cppdefault.h, timevar.h: Update copyright.
1159 2004-11-03 Kazu Hirata <kazu@cs.umass.edu>
1161 * bitmap.h, dbxout.c, tree-mudflap.c: Fix comment formatting.
1163 2004-11-03 Kazu Hirata <kazu@cs.umass.edu>
1165 * tree-cfg.c (find_taken_edge): Abort if we are given a
1166 statement that is neither COND_EXPR nor SWITCH_EXPR.
1168 2004-11-02 Zdenek Dvorak <dvorakz@suse.cz>
1170 * fold-const.c (fold): Reassociate also (x - mult) + mult and
1171 (mult - x) + mult. Cast operands of expression after applying
1172 distributive law to the correct types. Apply distributive law
1173 to a * c - b * c for all non-float types.
1175 2004-11-02 Geoffrey Keating <geoffk@apple.com>
1177 * configure.ac: Don't clear STMP_FIXINC or STMP_FIXPROTO just
1178 because we don't want to run them now; instead, set them to
1179 stmp-install-fixproto or stmp-install-fixinc.
1180 * Makefile.in (stmp-install-fixproto): New.
1181 (stmp-install-fixinc): New.
1182 * configure: Regenerate.
1184 2004-11-02 Nathan Sidwell <nathan@codesourcery.com>
1186 * flow.c (init_propagate_block_info): Use bitmap_empty_p on result
1189 2004-11-02 Ziemowit Laski <zlaski@apple.com>
1191 * c-lang.c (LANG_HOOKS_TYPES_COMPATIBLE_P): Remove.
1192 (c_types_compatible_p): Move function definition...
1193 * c-objc-common.c (c_types_compatible_p): ...here.
1194 * c-objc-common.h (LANG_HOOKS_TYPES_COMPATIBLE_P): Moved here from
1197 2004-11-02 Steven Bosscher <stevenb@suse.de>
1199 * cfgloop.h (struct loop): Update comment.
1200 * cse.c (cse_main): Remove obsolete comment.
1202 * expr.h (gen_cond_trap): Move prototype under functions provided
1204 (canonicalize_condition, get_condition): Move to...
1205 * rtl.h (canonicalize_condition, get_condition): ...here.
1206 (branch_target_load_optimize): Add comment that this function is
1208 * loop.c (canonicalize_condition, get_condition): Move to...
1209 * rtlanal.c (canonicalize_condition, get_condition): ...here.
1210 * sched-deps.c (get_condition): Rename to sched_get_condition.
1211 (add_dependence): Update this caller.
1213 2004-11-02 Andrew Pinski <pinskia@physics.uc.edu>
1216 * tree-ssa.c (replace_immediate_uses): If we call fold_stmt, make sure
1217 that the vops get marked for renaming.
1219 2004-11-02 Andreas Krebbel <krebbel1@de.ibm.com>
1221 * config/s390/s390.md ("movcc"): Set type attribute.
1223 2004-11-02 Kazu Hirata <kazu@cs.umass.edu>
1225 * tree-phinodes.c (add_phi_arg): Add an assertion that the
1226 edge already exists.
1228 2004-11-02 Kazu Hirata <kazu@cs.umass.edu>
1230 * tree-phinodes.c (remove_phi_arg_num): Do not zero the
1231 element that's being removed.
1233 2004-11-02 Kazu Hirata <kazu@cs.umass.edu>
1235 * tree-ssa-threadupdate.c (copy_phis_to_block): Install PHI
1236 arguments using PENDING_STMT.
1237 (thread_block): Call copy_phis_to_block after redirecting an
1240 2004-11-02 Nathan Sidwell <nathan@codesourcery.com>
1242 * bitmap.h (bitmap_and, bitmap_and_into, bitmap_and_compl,
1243 bitmap_and_compl_into, bitmap_ior, bitmap_iot_into,
1244 bitmap_ior_compl, bitmap_xor, bitmap_xor_into): Produce void.
1245 (bitmap_ior_and_compl_into): Produce bool.
1246 (bitmap_union_of_diff): Rename to ...
1247 (bitmap_ior_and_compl): ... here. Produce bool.
1248 * bitmap.c (bitmap_ior_and_compl_into): Return bool. Use
1249 bitmap_operation directly.
1250 (bitmap_union_of_diff): Rename to ...
1251 (bitmap_ior_and_compl): ... here. Return bool, use
1252 bitmap_operation directly.
1253 * df.c (df_rd_transfer_function): Use bitmap_ior_and_compl.
1254 (df_ru_transfer_function, df_lr_transfer_function): Likewise.
1255 * global.c (modify_bb_reg_pav): Likewise.
1257 * bitmap.h (bitmap_equal_p): Return bool.
1258 (bitmap_intersect_p, bitmap_intersect_compl_p): Declare.
1259 * bitmap.c (bitmap_equal_p): Return bool. Compare directly.
1260 (bitmap_intersect_p, bitmap_intersect_compl_p): New.
1261 * flow.c (calculate_global_regs_live): Use bitmap_intersect_p and
1262 bitmap_intersect_compl_p.
1263 * ifcvt (dead_or_predicable): Likewise.
1265 2004-11-02 Nathan Sidwell <nathan@codesourcery.com>
1267 PR rtl-optimization/17104
1268 * config/rs6000/rs6000.c (rs6000_emit_move): Don't wrap small
1269 loads in zero_extend.
1271 2004-11-02 Danny Smith <dannysmith@users.sourceforge.net>
1274 * toplev.c (debug_type_names): Remove "dwarf-1".
1276 2004-11-02 Ben Elliston <bje@au.ibm.com>
1278 * timevar.h (timevar_get): Remove.
1279 * timevar.c (timevar_get): Remove unused function.
1281 2004-11-02 Joseph S. Myers <joseph@codesourcery.com>
1283 * doc/include/texinfo.tex: Update from Texinfo CVS.
1285 2004-11-02 Ben Elliston <bje@au.ibm.com>
1287 * cppdefault.h (cpp_SYSROOT): Remove.
1288 * cppdefault.c (cpp_SYSROOT): Likewise.
1290 2004-11-01 Andrew MacLeod <amacleod@redhat.com>
1292 PR tree-optimization/16447
1293 * tree-cfg.c (bsi_commit_one_edge_insert): Rename from
1294 bsi_commit_edge_inserts_1, and make funtion external. Return new block.
1295 (bsi_commit_edge_inserts): Use renamed bsi_commit_one_edge_insert.
1296 * tree-optimize.c (pass_cleanup_cfg_post_optimizing): Enable listing.
1297 * tree-flow.h (bsi_commit_one_edge_insert): Extern decl.
1298 * tree-outof-ssa.c (rewrite_trees): Don't commit edges here.
1299 (same_stmt_list_p): New. Return TRUE if edge is to be forwarded.
1300 (identical_copies_p): New. Return true is two copies are the same.
1301 (identical_stmt_lists_p): New. Return true if stmt lists are the same.
1302 (analyze_edges_for_bb): New. Determine how best to insert edge stmts
1304 (perform_edge_inserts): New. Determine what to do with all stmts that
1305 have been inserted on edges.
1306 (remove_ssa_form): Analyze and commit edges from here.
1308 2004-11-01 Andrew Pinski <pinskia@physics.uc.edu>
1311 * bitmap.h (bmp_iter_end_p): Take a const pointer instead of a struct.
1312 (EXECUTE_IF_SET_IN_BITMAP): Update call to bmp_iter_end_p.
1313 (EXECUTE_IF_AND_COMPL_IN_BITMAP): Likewise.
1314 (EXECUTE_IF_AND_IN_BITMAP): Likewise.
1316 2004-11-01 Joseph S. Myers <joseph@codesourcery.com>
1319 * c-decl.c (get_parm_info): Allow FUNCTION_DECLs to appear amongst
1320 parameter declarations.
1322 2004-11-01 Andreas Krebbel <krebbel1@de.ibm.com>
1324 * config/s390/s390.c (regclass_map): Put reg 33 (cc) to CC_REGS group.
1325 (s390_secondary_input_reload_class)
1326 (s390_secondary_output_reload_class): Use GENERAL_REGS to reload a cc
1328 (s390_expand_cmpmem): Enable cmpmem implementation.
1329 * config/s390/s390.h (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS):
1330 Added three new classes: CC_REGS, ADDR_CC_REGS, GENERAL_CC_REGS.
1331 (REG_CLASS_FROM_LETTER): New constraint 'c' added.
1332 * config/s390/s390.md ("movcc"): New insn pattern.
1333 * doc/md.texi: Document 'c' constraint for s390.
1335 2004-11-01 Nathan Sidwell <nathan@codesourcery.com>
1338 * doc/extend.texi (Deprecated Features): Deprecate G++ covariant
1341 2004-10-16 Daniel Berlin <dberlin@dberlin.org>
1343 Fix PR tree-optimization/17672
1344 Fix PR tree-optimization/18168
1346 * lambda-code.c (lambda_lattice_compute_base): Fix reversed
1348 (gcc_tree_to_linear_expression): Add extra to existing constant.
1349 (depth_of_nest): Factor out function used in various places.
1350 (gcc_loop_to_lambda_loop): Clean up code a little bit. No
1352 (find_induction_var_from_exit_cond): Stop guessing, and just
1353 get the right answer :).
1354 (gcc_loopnest_to_lambda_loopnest): Remove useless pre-allocation.
1355 Print out message about result of attempt to create perfect nest.
1356 (lbv_to_gcc_expression): Add type argument, use it to do math
1357 and induction variable creation.
1358 (lle_to_gcc_expression): Ditto.
1359 (lambda_loopnest_to_gcc_loopnest): Create new iv with same type as
1360 oldiv. Pass type argument to lle_to_gcc_expression and
1361 lbv_to_gcc_expression.
1362 Reset number of iterations after transformation.
1363 (perfect_nestify): Remove useless pre-allocation, and cleanup
1366 * tree-data-ref.c (build_classic_dist_vector): Return false for
1367 dependences completely outside of the loop nest we asked about.
1368 (build_classic_dir_vector): Ditto.
1369 (compute_data_dependences_for_loop): Only add dependence relations
1370 inside the loop we asked about.
1372 * tree-loop-linear.c (linear_transform_loops): Use DDR_SIZE_VECT.
1373 Compute immediate uses.
1375 * tree-optimize.c: Move linear_transform_loops to before ivcanon.
1377 2004-11-01 Kazu Hirata <kazu@cs.umass.edu>
1379 * tree-cfg.c (thread_jumps): Fix a comment typo.
1381 2004-11-01 Kazu Hirata <kazu@cs.umass.edu>
1383 * tree-cfg.c (thread_jumps): Fix a comment typo.
1385 2004-10-31 Nicolas Pitre <nico@cam.org>
1387 * config/arm/ieee754-sf.S (floatdisf): Fix regression with
1388 values smaller than 2^32.
1390 2004-10-31 Jeff Law <law@redhat.com>
1392 * cfgloop.h (struct loop): Remove unused "nodes" field.
1393 * timevar.def (TV_TREE_LOOP_BOUNDS): New.
1394 * tree-data-ref.c (find_data_references_in_loop): Use get_loop_body
1395 instead of calling flow_bb_inside_loop_p for every basic block
1397 * tree-ssa-loop.c (pass_record_bounds): Use TV_TREE_LOOP_BOUNDS.
1399 2004-10-31 Graham Stott <graham.stott@btinternet.com>
1401 * config/pa/pa.md: (prefetch_64, prefetch_32): Fix typo. Use
1402 INT_5_BITS instead of VAL_5_BITS_P.
1404 2004-10-31 Roger Sayle <roger@eyesopen.com>
1407 * tree-inline.c (inline_forbidden_p_1): Use %qF instead of '%F'
1408 for consistent quoting in diagnostic messages.
1409 (expand_call_inline): Likewise.
1410 * tree-optimize.c (tree_rest_of_compilation): Likewise.
1411 * tree-ssa.c (warn_uninitialized_var): Likewise.
1412 (warn_uninitialized_phi): Likewise.
1414 2004-10-31 Richard Sandiford <rsandifo@redhat.com>
1416 * config/mips/mips.c (mips_cannot_change_mode_class): Use a stricter
1419 2004-10-31 Kazu Hirata <kazu@cs.umass.edu>
1421 * c-common.c: Fix a comment typo.
1423 2004-10-31 Jason Merrill <jason@redhat.com>
1426 * tree-gimple.c (is_gimple_mem_rhs): Also require a val for
1427 aggregate types that are not BLKmode.
1429 2004-10-30 Ziemowit Laski <zlaski@apple.com>
1431 * c-common.h (objc_lookup_ivar): Add second parameter to
1433 * c-typeck.c (build_external_ref): After looking up symbol,
1434 pass it to objc_lookup_ivar() to decide whether it or the
1435 ivar should be used, rather than deciding the issue locally.
1436 * stub-objc.c (objc_lookup_ivar): Add an OTHER parameter,
1437 which is simply returned in the non-ObjC case.
1439 2004-10-30 Danny Smith <dannysmith@users.sourceforge.net>
1441 * sdbout.c (sdbout_symbol): Do not output type .def statements
1444 2004-10-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
1446 * c-common.c (catenate_strings): New.
1447 (c_parse_error): Use it. Don't over-escape.
1449 2004-10-30 Kaz Kojima <kkojima@gcc.gnu.org>
1451 * config/sh/sh.c (calc_live_regs): Declare reg as unsigned and
1452 modify the for loop expressions for it. Remove unnecessary casts.
1453 (sh_expand_prologue): Declare reg as unsigned.
1454 (sh_gimplify_va_arg_expr): Initinalize lab_over.
1455 (sh_handle_sp_switch_attribute): Add const qualifier appropriately.
1457 2004-10-30 Geoffrey Keating <geoffk@apple.com>
1459 * doc/invoke.texi (Darwin Options): Improve description of
1460 how the subtype is chosen.
1462 2004-10-30 Roger Sayle <roger@eyesopen.com>
1465 * config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Check that
1466 the stack adjustment, "size", is valid for Pmode. If the stack
1467 frame is too large, generate a trap insn and issue a warning.
1469 2004-10-30 Kazu Hirata <kazu@cs.umass.edu>
1471 * tree-ssa-dom.c: Fix comment typos.
1473 2004-10-30 Kaz Kojima <kkojima@gcc.gnu.org>
1475 * config/sh/sh.c (prepare_move_operands): Use operands[0]
1476 for the output rtl if no_new_pseudos is set. Remove redundant
1479 2004-10-30 Joseph S. Myers <joseph@codesourcery.com>
1482 * c-decl.c (start_function): Don't check for DECL_BUILT_IN when
1483 determining whether to copy parameter types from a previous
1484 prototype declaration.
1486 2004-10-29 Roger Sayle <roger@eyesopen.com>
1488 PR rtl-optimization/17581
1489 * cselib.c (cselib_process_insn): The last instruction of a libcall
1490 block, with the REG_RETVAL note, should be considered in the libcall.
1491 * gcse.c (do_local_cprop): Allow constants to be propagated outside
1493 (adjust_libcall_notes): Use simplify_replace_rtx instead of
1494 replace_rtx to avoid creating invalid RTL in REG_RETVAL notes.
1496 2004-10-30 Kazu Hirata <kazu@cs.umass.edu>
1498 * tree-phinodes.c (create_phi_node): Don't zero PHI_REWRITTEN.
1500 2004-10-29 Jeff Law <law@redhat.com>
1502 * tree-ssa-dom.c (struct edge_info): New structure holding
1503 edge equivalences and edge redirection information.
1504 (get_eq_expr_value, record_dominating_conditions): Kill.
1505 (propagate_to_outgoing_edges): Renamed from cprop_into_phis.
1506 Call record_edge_info.
1507 (allocate_edge_info, free_edge_info): New.
1508 (tree_ssa_dominator_optimize): Use propagate_to_outgoing_edges
1509 rather than cprop_into_phis. Free all edge infos before threading
1511 (thread_across_edge): Allocate new edge info structures as needed
1512 and store the redirection target into the edge info structure
1513 instead of the edge's AUX field.
1514 (dom_opt_initialize_block): Mark unused argument with ATTRIBUTE_UNUSED.
1515 (record_equivalence_from_incoming_edge): Lose unnecessary argument.
1516 Revamp code which finds and records equivalences associated with
1517 edges to use saved data in the edge_info structure.
1518 (record_equivalencs_from_phis): Similarly.
1519 (dom_opt_finalize_block): Revamp code which finds and records
1520 equivalences associated with edges to use saved data in the
1521 edge_info structure.
1522 (build_and_record_new_cond): New function.
1523 (record_conditions): Use build_and_record_new_cond to record
1524 dominating conditions.
1525 (record_edge_info): New function.
1526 (record_range): Tighten test for conditions which create
1527 useful range records.
1529 2004-10-29 Geoffrey Keating <geoffk@apple.com>
1531 * config/i386/darwin.h (ASM_SPEC): Simplify.
1532 (SUBTARGET_EXTRA_SPECS): Add darwin_subarch spec.
1533 * config/rs6000/darwin.h (DARWIN_SUBARCH_SPEC): New.
1534 (SUBTARGET_EXTRA_SPECS): Add darwin_subarch spec.
1535 * config/darwin.h (LINK_COMMAND_SPEC): Don't pass -arch here.
1536 (LINK_SPEC): Do pass -arch here. Handle -force_cpusubtype_ALL
1537 in all cases. Pass the right -arch or -arch_only based on -mcpu.
1538 (ASM_SPEC): Handle -force_cpusubtype_ALL.
1539 * doc/invoke.texi (Darwin Options): Improve documentation for
1540 Darwin linker (and libtool) switches.
1542 * config/rs6000/darwin-fallback.c: Include <mach/thread_status.h>.
1544 2004-10-29 Stan Shebs <shebs@apple.com>
1546 * config/rs6000/darwin-tramp.asm: Make more 64-bit-friendly.
1548 2004-10-29 Kazu Hirata <kazu@cs.umass.edu>
1550 * tree-phinodes.c (allocate_phi_node): New.
1551 (make_phi_node, resize_phi_node): Use it.
1553 2004-10-29 David Edelsohn <edelsohn@gnu.org>
1555 * config/rs6000/sysv4.h (TARGET_POWER): Define as 0.
1556 * config/rs6000/darwin.h (TARGET_POWER): Define as 0.
1558 2004-10-29 Kazu Hirata <kazu@cs.umass.edu>
1560 * tree-phinodes.c (make_phi_node, resize_phi_node): Don't zero
1562 * tree.h (tree_phi_node): Tell the garbage collector to chase
1565 2004-10-29 Richard Earnshaw <rearnsha@arm.com>
1567 * opts.c (decode_options): Lower the crossjump threshold for -Os.
1569 2004-10-29 Diego Novillo <dnovillo@redhat.com>
1571 * tree.h (struct tree_ssa_name): Remove field 'equiv'.
1573 2004-10-28 Nathan Sidwell <nathan@codesourcery.com>
1575 * bitmap.h (bitmap_empty_p): New.
1576 (bitmap_and, bitmap_and_into, bitmap_and_compl,
1577 bitmap_and_compl_into, bitmap_ior, bitmap_ior_into,
1578 bitmap_ior_compl, bitmap_xor, bitmap_xor_into): New bitmap
1580 (bitmap_ior_and_compl): Rename to ...
1581 (bitmap_ior_and_compl_into): ... here.
1582 * bitmap.c (bitmap_equal_p): Use bitmap_xor.
1583 (bitmap_ior_and_compl): Rename to ...
1584 (bitmap_ior_and_compl_into): ... here. Adjust. Return changed
1586 (bitmap_union_of_diff): Use renamed bitmap functions.
1587 * basic-block.h (AND_REG_SET, AND_COMPL_REG_SET, IOR_REG_SET,
1588 XOR_REG_SET, IOR_AND_COMPL_REG_SET): Likewise.
1589 * cfgrtl.c (safe_insert_insn_on_edge): Likewise.
1590 * df.c (df_bb_rd_local_compute)
1591 * flow.c (calculate_global_regs_live,
1592 init_propagate_block_info): Likewise.
1593 * ifcvt.c (find_if_case_1, find_if_case_2,
1594 dead_or_predicable): Likewise.
1595 * ra-build.c (union_web_part_roots, livethrough_conflicts_bb,
1596 reset_conflicts, conflicts_between_webs): Likewise.
1597 * ra-rewrite.c (reloads_to_loads, rewrite_program2,
1598 detect_web_parts_to_rebuild): Likewise.
1599 * sched-ebb.c (compute_jump_reg_dependencies): Likewise.
1600 * tree-int-ssa.c (insert_phi_nodes_for, rewrite_into_ssa): Likewise.
1601 * tree-sra.c (decide_instantiations): Likewise.
1602 * tree-ssa-alias.c (create_name_tags,
1603 merge_pointed_to_info): Likewise.
1604 * tree-ssa-dom.c (tree_ssa_dominator_optimize): Likewise.
1605 * tree-ssa-loop-im.c (move_computations): Likewise.
1606 * tree-ssa-operands.c (get_call_expr_operands): Likewise.
1607 * tree-ssa-pre.c (fini_pre): Likewise.
1608 * tree-ssa.c (verify_flow_sensitive_alias_info): Likewise.
1609 * tree-ssanames.c (any_marked_for_rewrite_p): Likewise.
1610 * tree-vectorizer.c (vectorize_loops): Likewise.
1612 2004-10-29 Nick Clifton <nickc@redhat.com>
1614 config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): When
1615 adding the PIC register to the fixed_regs array, also add it
1616 to the call_used_regs array.
1618 2004-10-29 Eric Botcazou <ebotcazou@libertysurf.fr>
1620 * gthr-posix.h (__gthread_recursive_mutex_init_function): Guard
1621 with #ifdef PTHREAD_MUTEX_RECURSIVE/#endif pairs.
1623 2004-10-28 Daniel Berlin <dberlin@dberlin.org>
1625 * tree-into-ssa.c (rewrite_virtual_phi_arguments): New function.
1626 (rewrite_blocks): Modify argument, and use it to decide which
1628 (rewrite_def_def_chains): Call rewrite_blocks with true here.
1629 (rewrite_into_ssa): and call it with false here.
1631 2004-10-29 Kazu Hirata <kazu@cs.umass.edu>
1633 * tree-phinodes.c (add_phi_arg): Turn an "if" that always
1634 triggers into gcc_assert.
1636 2004-10-28 Diego Novillo <dnovillo@redhat.com>
1638 PR tree-optimization/16728
1639 * tree-flow.h (get_ptr_info): Declare.
1640 * tree-ssa-alias.c (get_ptr_info): Make extern.
1641 * tree-ssa-copy.c (merge_alias_info): Merge flow-sensitive
1644 2004-10-28 Stan Shebs <shebs@apple.com>
1646 * config/rs6000/darwin.h (SUBTARGET_EXTRA_SPECS): Handle -m64.
1647 * config/rs6000/rs6000.c (rs6000_darwin_file_start): Add ppc64
1650 2004-10-28 Frank Ch. Eigler <fche@redhat.com>
1652 * tree-mudflap.c (mudflap_init): Mark cache-lookup decls to
1653 prevent their later unnecessary registration.
1654 (mf_build_check_statement_for): Remove "addr" argument, and
1655 related "__mf_value" generated code. Update callers.
1656 (mf_decl_eligible_p): New function, factored from mx_register_decls.
1657 (mx_register_decls): Call it.
1658 (mf_xform_derefs_1): Rewrite COMPONENT_REF and ARRAY_REF cases
1659 to restore support for complex nested expressions.
1660 (mudflap_enqueue_decl): Simplify. Move registration call emission
1662 (mudflap_finish_file): ... to here.
1663 (mudflap_enqueue_constant): Remove dump code.
1665 2004-10-28 Zack Weinberg <zack@codesourcery.com>
1668 * dbxout.c (dbxout_begin_complex_stabs_noforcetext): New function.
1669 (DBX_FINISH_STABS): Add (unused by default) SYM parameter.
1670 (dbxout_finish_complex_stabs): Update to match.
1671 (dbxout_symbol_location): Call emit_pending_bincls_if_required
1672 and FORCE_TEXT before DBX_STATIC_BLOCK_START. Use
1673 dbxout_begin_complex_stabs_noforcetext.
1674 * xcoffout.h (DBX_FINISH_STABS): Restore special case for
1675 N_GSYM, using new SYM parameter. Correct logic for special
1678 * varasm.c (function_section): If DECL is NULL_TREE, don't try
1679 to do anything else. Do not call get_insns if cfun or
1680 cfun->emit are NULL.
1682 2004-10-28 Adam Nemet <anemet@lnxw.com>
1685 * c-typeck.c (c_mark_addressable): Issue error if address of a
1686 register variable is taken. Use "%qD" to print DECL_NAME.
1688 2004-10-28 Diego Novillo <dnovillo@redhat.com>
1690 * opts.c (decode_options): Don't run PRE at -Os.
1692 2004-10-28 Richard Henderson <rth@redhat.com>
1694 * config/alpha/alpha.md (movqicc_internal): Allow exactly one
1695 zero in the conditional.
1696 (movhicc_internal, movsicc_internal, movdicc_internal): Likewise.
1698 2004-10-28 Richard Henderson <rth@redhat.com>
1700 * cse.c (memory_extend_rtx): Remove.
1701 (cse_main): Don't set it.
1702 (cse_insn): Use a local buffer instead.
1704 2004-10-28 Andreas Krebbel <krebbel1@de.ibm.com>
1706 * profile.c (branch_prob): Call to init_edge_profiler added.
1707 * rtl-profile.c (rtl_init_edge_profiler): New function.
1708 (rtl_gen_edge_profiler): Replaced call to insert_insn_on_edge with
1709 call to safe_insert_insn_on_edge.
1710 (rtl_profile_hooks): rtl_init_edge_profiler added.
1711 * tree-profile.c (tree_init_edge_profiler): New function.
1712 (tree_profile_hooks): tree_init_edge_profiler added.
1713 * value-prof.h (profile_hooks) init_edge_profiler prototype added.
1715 2004-10-28 Nick Clifton <nickc@redhat.com>
1717 * config/iq2000/iq2000.c (iq2000_expand_epilogue): Use
1718 emit_jump_insn() to generate the return instruction.
1720 2004-10-28 Kazu Hirata <kazu@cs.umass.edu>
1722 * tree-phinodes.c: Remove trailing whitespace.
1724 2004-10-28 Kazu Hirata <kazu@cs.umass.edu>
1726 * tree-ssa-loop-ivopts.c: Fix a comment typo.
1727 * doc/invoke.texi: Fix a typo.
1729 2004-10-28 Kazu Hirata <kazu@cs.umass.edu>
1731 * Makefile.in (OBJS-common): Remove duplicates.
1733 2004-10-28 Kazu Hirata <kazu@cs.umass.edu>
1735 * lambda-code.c (nestify_update_pending_stmts): Remove.
1736 (perfect_nestify): Use flush_pending_stmts instead of
1737 nestify_update_pending_stmts.
1738 * tree-cfg.c (tree_make_forwarder_block): Use
1739 flush_pending_stmts.
1740 * tree-flow.h: Add a prototype for flush_pending_stmts.
1741 * tree-ssa-loop-manip.c (tree_duplicate_loop_to_header_edge):
1742 Use flush_pending_stmts.
1743 (lv_update_pending_stmts): Remove.
1744 (tree_ssa_loop_version): Use flush_pending_stmts instead of
1745 lv_update_pending_stmts.
1746 * tree-ssa.c (flush_pending_stmts): New.
1748 2004-10-28 Ulrich Weigand <uweigand@de.ibm.com>
1751 * final.c (alter_subreg): Compute correct offset to use with
1752 paradoxical SUBREGs of memory operands.
1753 * recog.c (general_operand): Allow paradoxical SUBREGs of
1754 memory operands after reload.
1755 * simplify-rtx.c (simplify_gen_subreg): Fail if simplify_subreg
1756 has failed when passed a hard register.
1758 2004-10-28 Aldy Hernandez <aldyh@redhat.com>
1760 * function.c (assign_parm_setup_block): Handle parallels correctly.
1762 2004-10-28 Kaz Kojima <kkojima@gcc.gnu.org>
1764 * final.c (shorten_branches): Initialize flags structure.
1766 2004-10-28 Nathan Sidwell <nathan@codesourcery.com>
1768 * tree.c (int_cst_node, int_cst_hash_table): New variables.
1769 (init_ttree): Initialize them.
1770 (int_cst_hash_hash, int_cst_hash_eq): New hashing functions.
1771 (build_int_cst_wide): Use hash table for oversized integers.
1773 2004-10-28 Nick Clifton <nickc@redhat.com>
1775 * config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Define
1778 2004-10-27 Richard Henderson <rth@redhat.com>
1781 * expr.c (emit_group_load): Don't go force temporary for memory
1783 (emit_group_store): Similarly.
1785 2004-10-27 Andrew Pinski <pinskia@physics.uc.edu>
1788 * common.opt (--param): Fix spelling of parameter.
1790 2004-10-27 Andrew Pinski <pinskia@physics.uc.edu>
1793 * tree-cfg.c (remove_useless_stmts_1) <case SWITCH_EXPR>:
1794 Don't fold statement.
1795 <case ASM_EXPR>: Fold the statement.
1797 2004-10-28 Kazu Hirata <kazu@cs.umass.edu>
1799 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary)
1800 <COND_EXPR>: Use EDGE_COUNT instead of GOTO_DESTINATION.
1802 2004-10-28 Joseph S. Myers <jsm@polyomino.org.uk>
1804 * doc/contrib.texi, doc/cpp.texi, doc/cppopts.texi,
1805 doc/extend.texi, doc/gcov.texi, doc/install.texi, doc/invoke.texi,
1806 doc/libgcc.texi, doc/md.texi, doc/passes.texi,
1807 doc/sourcebuild.texi, doc/tm.texi: Improve Texinfo formatting.
1809 2004-10-28 Joseph S. Myers <jsm@polyomino.org.uk>
1811 * doc/c-tree.texi, doc/cpp.texi, doc/implement-c.texi,
1812 doc/invoke.texi, doc/md.texi, doc/passes.texi, doc/tm.texi: Put
1813 punctuation outside quotes.
1815 2004-10-27 David Mosberger <davidm@hpl.hp.com>
1816 James E Wilson <wilson@specifixinc.com>
1819 * config/ia64/ia64.c (ia64_expand_epilogue): Set RTX_FRAME_RELATED_P on
1820 sibcall alloc instruction.
1821 (process_set): Handle sibcall alloc instruction.
1823 2004-10-27 Geoffrey Keating <geoffk@apple.com>
1825 * config/rs6000/rs6000.c (rs6000_attribute_table): Add
1826 SUBTARGET_ATTRIBUTE_TABLE.
1827 * config/darwin.h (ASM_WEAKEN_DECL): Handle weak_import.
1828 (SUBTARGET_ATTRIBUTE_TABLE): Define.
1829 * config/darwin.c (darwin_handle_weak_import_attribute): New.
1830 (HAVE_DEAD_STRIP): Delete.
1831 (no_dead_strip): Don't test HAVE_DEAD_STRIP.
1832 * config/darwin-protos.h (darwin_handle_weak_import_attribute):
1835 * doc/tm.texi (USE_SELECT_SECTION_FOR_FUNCTIONS): Document.
1837 * config/darwin.h (GTHREAD_USE_WEAK): Define.
1839 2004-10-28 Ben Elliston <bje@au.ibm.com>
1841 * params.def (PARAM_SRA_MAX_STRUCTURE_SIZE): New.
1842 (PARAM_SRA_FIELD_STRUCTURE_RATIO): Likewise.
1843 * params.h (SRA_MAX_STRUCTURE_SIZE): New.
1844 (SRA_FIELD_STRUCTURE_RATIO): Likewise.
1845 * tree-sra.c: Include "params.h".
1846 (decide_block_copy): Use new parameters.
1847 * doc/invoke.texi (Optimize Options): Document new SRA pass
1848 parameters sra-max-structure-size and sra-field-structure-ratio.
1850 2004-10-27 Nicolas Pitre <nico@cam.org>
1852 * config/arm/ieee754-df.S (floatdidf): Fix regression with big values.
1854 2004-10-27 Zdenek Dvorak <dvorakz@suse.cz>
1856 PR tree-optimization/18048
1857 * fold-const.c (try_move_mult_to_index): New function.
1858 (fold): Use try_move_mult_to_index.
1859 * tree-ssa-loop-ivopts.c (try_add_cand_for): Prefer common candidates.
1860 * tree-ssa-loop-niter.c (number_of_iterations_cond): Produce
1861 an all-ones unsigned constant without extra bits.
1862 * tree.c (build_low_bits_mask): New function.
1863 * tree.h (build_low_bits_mask): Declare.
1865 2004-10-27 David Edelsohn <edelsohn@gnu.org>
1868 * config/rs6000/rs6000.md (maxsf3): Add !flag_trapping_math to
1874 2004-10-27 Kazu Hirata <kazu@cs.umass.edu>
1876 * tree-cfg.c (thread_jumps): Speed up by reordering the two
1877 conditions for entering basic blocks into worklist.
1879 2004-10-27 Kazu Hirata <kazu@cs.umass.edu>
1881 * tree-cfg.c (thread_jumps): Speed up by pretending to have
1882 ENTRY_BLOCK_PTR in worklist.
1884 2004-10-27 Kazu Hirata <kazu@cs.umass.edu>
1886 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary)
1887 <GOTO_EXPR>: Don't let an explicit GOTO_EXPR slip through.
1889 2004-10-27 Daniel Berlin <dberlin@dberlin.org>
1891 Fix PR tree-optimization/17133
1893 * tree-cfg.c (rewrite_to_new_ssa_names_bb): Also rewrite must
1896 * tree-flow-inline.h: V_MUST_DEF_OP became V_MUST_DEF_RESULT.
1897 (get_v_must_def_result_ptr): Modify for new structure of
1899 (get_v_must_def_kill_ptr): New.
1900 (op_iter_next_use): Add support for the kill that occurs in V_MUST_DEFs.
1901 (op_iter_next_tree): Ditto. Also V_MAY_DEF_OP became V_MAY_DEF_RESULT.
1902 (op_iter_next_def): V_MAY_DEF_OP became V_MAY_DEF_RESULT.
1903 (op_iter_init): Initialize new mustu members.
1904 (op_iter_next_mustdef): New function.
1905 (op_iter_init_mustdef): Ditto.
1907 * tree-flow.h (rewrite_def_def_chains): New function.
1909 * tree-into-ssa.c (mark_def_sites): Handle mustdefkill operands.
1910 (ssa_mark_def_sites): Ditto.
1911 (rewrite_stmt): Ditto.
1912 (ssa_rewrite_stmt): Ditto.
1913 (rewrite_blocks): Factor out from rewrite_into_ssa.
1914 (mark_def_block_sites): Ditto.
1915 (rewrite_def_def_chains): New function, just rewrites def-def
1916 chains without phi node insertion.
1918 * tree-pass.h (TODO_fix_def_def_chains): New todo flag.
1920 * tree-optimize.c (execute_todo): Handle TODO_fix_def_def_chains.
1922 * tree-pretty-print.c (dump_vops): Print out MUST_DEF's so that
1923 they include the rhs now.
1925 * tree-ssa-ccp.c (visit_assignment): V_MUST_DEF_OP became
1928 * tree-ssa-dce.c (mark_operand_necessary): Add phionly argument.
1930 (mark_really_necessary_kill_operand_phis): New function.
1931 (perform_tree_ssa_dce): Call it.
1932 (pass_dce): Add TODO_fix_def_def_chains.
1933 (pass_cd_dce): Ditto.
1935 * tree-ssa-loop-im.c (determine_max_movement): Look at kills as
1937 (rewrite_mem_refs): Ditto.
1939 * tree-ssa-loop-manip.c (find_uses_to_rename_stmt): Look at kills
1942 * tree-ssa-operands.c (allocate_v_may_def_optype):
1943 v_may_def_operand_type_t became v_def_use_operand_type_t.
1944 (allocate_v_must_def_optype) Ditto.
1945 (finalize_ssa_v_must_defs): Update for new operand type, as well
1946 as setting the use portion as well.
1947 (copy_virtual_operands): Copy the kill operand as well.
1948 (create_ssa_artficial_load_stmt): V_MUST_DEF_OP became
1951 * tree-ssa-operands.h (v_may_def_operand_type): Renamed to
1952 v_def_use_operand_type.
1953 (v_must_def_optype_d): Use v_def_use_operand_type.
1954 (V_MUST_DEF_OP_*): Renamed to V_MUST_DEF_RESULT_*
1955 (V_MUST_DEF_KILL_*): New macros.
1956 (struct ssa_operand_iterator_d): Add num_v_mustu and v_mustu_i
1958 Rename existing must_i and num_v_must members to mustd_i and
1960 (SSA_OP_VMUSTDEFKILL): New flag.
1961 (SSA_OP_VIRTUAL_KILLS): New flag.
1962 (SSA_OP_ALL_OPERANDS): Add in SSA_OP_ALL_KILLS.
1963 (SSA_OP_ALL_KILLS): New flag.
1964 (FOR_EACH_SSA_MUSTDEF_OPERAND): New macro.
1966 * tree-ssa.c (verify_ssa): Verify virtual kills as well.
1968 * tree-vectorizer.c (vect_create_data_ref_ptr): V_MUST_DEF_OP
1969 became V_MUST_DEF_RESULT.
1970 (rename_variables_in_bb): Rename kill pointer as well.
1972 * tree-dfa.c (compute_immediate_uses_for_stmt): Add kills into the
1975 2004-10-27 Richard Sandiford <rsandifo@redhat.com>
1977 * dbxout.c (dbxout_source_line): Move declaration of begin_label to
1978 the block that needs it.
1980 2004-10-27 Zack Weinberg <zack@codesourcery.com>
1982 * dbxout.c (dbxout_finish_complex_stabs): Mark 'line' variable
1985 2004-10-27 Zack Weinberg <zack@codesourcery.com>
1987 * c-lex.c (cb_def_pragma): Clean up code for making location
1988 palatable to diagnostic.c.
1990 2004-10-27 Steven Bosscher <stevenb@suse.de>
1992 PR tree-optimization/17757
1993 * tree-phinodes.c (remove_phi_arg_num): Don't remove PHIs
1994 without any PHI arguments left. Make sure the argument that
1995 we're supposed to remove exists at all.
1997 2004-10-27 Paul Brook <paul@codesourcery.com>
1999 * configure.ac: Don't test for [build] __cxa_atexit when building a
2001 * configure: Regenerate.
2003 2004-10-27 Paul Brook <paul@codeosurcery.com>
2005 * configure.ac: Use build_exeext not host_exeext when lookin for
2007 * configure: Regenerate.
2009 2004-10-27 Andreas Krebbel <krebbel1@de.ibm.com>
2011 * config/s390/s390.md ("*subdf3_cc"): Replaced plus by minus.
2013 2004-10-27 Andreas Krebbel <krebbel1@de.ibm.com>
2014 patch originally created by Kelley Cook <kcook@gcc.gnu.org>
2017 * opts.c (OPT_fprofile_generate): Default to -funroll-loops
2018 to match -fprofile-use.
2020 2004-10-27 Kazu Hirata <kazu@cs.umass.edu>
2022 * config/rs6000/rs6000.c: Fix a comment typo.
2024 2004-10-27 Zack Weinberg <zack@codesourcery.com>
2026 * config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Increment line
2029 2004-10-27 Andreas Schwab <schwab@suse.de>
2031 * varasm.c (default_stabs_asm_out_destructor): Mark symbol as
2033 (default_stabs_asm_out_constructor): Likewise.
2035 2004-10-26 Geoffrey Keating <geoffk@apple.com>
2037 * builtins.c (fold_builtin_unordered_cmp): Always bring both
2038 operands to the same type.
2040 2004-10-26 James E Wilson <wilson@specifixinc.com>
2043 * emit-rtl.c (emit_copy_of_insn_after): Copy RTX_FRAME_RELATED_P.
2045 2004-10-26 Zack Weinberg <zack@codesourcery.com>
2047 * dbxout.c: Include obstack.h.
2048 (ASM_STABS_OP): Take XCOFF_DEBUGGING_INFO into account in
2050 (ASM_STABD_OP, NO_DBX_MAIN_SOURCE_DIRECTORY, DBX_CONTIN_CHAR):
2051 Default-define here.
2052 (DBX_CONTIN_LENGTH): Move definition with others.
2053 (DBX_FINISH_STABS): New target macro.
2054 (current_sym_code, current_sym_value, current_sym_addr)
2055 (current_sym_nchars, CHARS, dbxout_continue)
2056 (print_int_cst_octal, print_octal, print_wide_int)
2057 (dbxout_prepare_symbol, dbxout_finish_symbol): Delete.
2058 (stabstr_ob, stabstr_last_contin_point): New variables.
2059 (NUMBER_FMT_LOOP): New improper macro.
2060 (dbxout_int, dbxout_stab_value_zero, dbxout_stab_value_label)
2061 (dbxout_stab_value_label_diff, dbxout_stab_value_internal_label)
2062 (dbxout_stab_value_internal_label_diff, dbxout_stabd)
2063 (dbxout_begin_stabn, dbxout_begin_stabn_sline)
2064 (dbxout_begin_simple_stabs, dbxout_begin_simple_stabs_desc)
2065 (dbxout_begin_complex_stabs, dbxout_finish_complex_stabs)
2066 (stabstr_C, stabstr_S, stabstr_I, stabstr_D, stabstr_U, stabstr_O)
2067 (stabstr_continue, DECL_ACCESSIBILITY_CHAR)
2068 New functions and/or proper function-like macros.
2069 (CONTIN): Use stabstr_continue, unconditionally.
2070 (get_lang_number): Define unconditionally, with ATTRIBUTE_UNUSED.
2071 (dbxout_init): Initialize stabstr_ob. Check
2072 NO_DBX_MAIN_SOURCE_DIRECTORY. Only write out the Ltext label
2073 if it was used. Use the new interfaces.
2074 (dbxout_source_file): Remove file argument; always write to
2075 asm_out_file. Use the new interfaces.
2076 (dbxout_type_method_1): Remove second argument which is always
2077 DECL_ASSEMBLER_NAME of the first argument. Use the new interfaces.
2078 (dbxout_type_methods): Remove write-only variables. Use the
2080 (dbxout_parms): Refactor to remove code duplicated in each of
2081 several successive if-else-if blocks. Use the new interfaces.
2082 (dbxout_function_end, emit_bincl_stab, dbxout_end_source_file)
2083 (dbxout_source_line, dbxout_finish, dbxout_type_index)
2084 (dbxout_type_fields, dbxout_range_type, dbxout_type, dbxout_type_name)
2085 (dbxout_class_name_qualifiers, dbxout_symbol, dbxout_symbol_location)
2086 (dbxout_symbol_name, dbxout_reg_parms, dbxout_args)
2087 (dbx_output_lbrac, dbx_output_rbrac, dbxout_block):
2088 Use the new interfaces.
2089 * Makefile.in (dbxout.o): Update dependencies.
2091 * defaults.h: Don't define ASM_STABD_OP.
2092 * output.h: Prototype new dbxout_* interfaces.
2093 * system.h: Poison DBX_OUTPUT_GCC_MARKER and DBX_FINISH_SYMBOL.
2094 * varasm.c: Don't define ASM_STABS_OP.
2095 (default_stabs_asm_out_constructor, default_stabs_asm_out_destructor):
2096 Use the new dbxout.c interfaces. Call sorry if neither
2097 DBX_DEBUGGING_INFO nor XCOFF_DEBUGGING_INFO is defined.
2099 * xcoffout.h: Don't define ASM_STABS_OP.
2100 (DBX_FINISH_SYMBOL): Rewrite and rename DBX_FINISH_STABS.
2101 (DBX_OUTPUT_MAIN_SOURCE_DIRECTORY, DBX_OUTPUT_GCC_MARKER): Delete.
2102 (NO_DBX_MAIN_SOURCE_DIRECTORY, NO_DBX_GCC_MARKER): Define.
2103 (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Change bare block to
2104 do { ... } while (0) idiom.
2106 * config/alpha/alpha.c (num_source_filenames): Export.
2107 * config/alpha/alpha.h (num_source_filenames): Declare.
2108 (DBX_OUTPUT_SOURCE_LINE): Use new interfaces.
2109 (SDB_OUTPUT_SOURCE_LINE): Add missing newline.
2110 * config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Use new interfaces.
2111 Always use .debugsym. Update commentary.
2112 * config/mips/mips.h (DBX_OUTPUT_SOURCE_LINE): Use new interfaces.
2113 (SDB_OUTPUT_SOURCE_LINE): Add missing newline.
2114 * config/rs6000/linux64.h (DBX_OUTPUT_SOURCE_LINE, DBX_OUTPUT_BRAC):
2116 * config/rs6000/rs6000.c: If TARGET_MACHO, include gstab.h.
2117 (macho_branch_islands): Use new interfaces.
2119 * doc/tm.texi: Update.
2121 2004-10-26 Aldy Hernandez <aldyh@redhat.com>
2123 * expr.c (emit_group_store): Do not treat floats as BLKmode.
2124 (emit_group_load): Same.
2126 2004-10-26 Joseph S. Myers <jsm@polyomino.org.uk>
2128 * c-parse.in (datadef): Use pedwarn rather than error and warning
2129 for diagnostic in case of no declaration specifiers.
2131 2004-10-26 Richard Sandiford <rsandifo@redhat.com>
2134 * doc/install.texi (mips-sgi-irix5): Document that /bin/sh has been
2135 reported to hang during bootstrap and that CONFIG_SHELL=/bin/ksh
2136 can be used to work around this.
2138 2004-10-26 Aldy Hernandez <aldyh@redhat.com>
2140 * config/rs6000/rs6000.h (MEMBER_TYPE_FORCES_BLK): Adjust for e500
2143 2004-10-26 Kazu Hirata <kazu@cs.umass.edu>
2145 * stmt.c (expand_case): Update a comment.
2147 2004-10-26 Kazu Hirata <kazu@cs.umass.edu>
2149 * stmt.c (expand_case): Put an assertion that index_expr is
2150 never INTEGER_CST. Don't special case for constant
2153 2004-10-26 Andrew Pinski <pinskia@physics.uc.edu>
2156 * c-parse.in (designator): Finish with a semi-colon.
2158 2004-10-26 Fariborz Jahanian <fjahanian@apple.com>
2160 * config/rs6000/rs6000.md (andsi3_internal8): Set CR when splitting
2163 2004-10-26 Kazu Hirata <kazu@cs.umass.edu>
2165 * stmt.c (expand_case): Remove code to handle SWITCH_EXPR with
2166 a default case only.
2168 2004-10-26 Aldy Hernandez <aldyh@redhat.com>
2170 * config/rs6000/rs6000.c (rs6000_hard_regno_nregs): Adjust for
2172 (spe_build_register_parallel): New.
2173 (rs6000_spe_function_arg): Handle e500 doubles.
2174 (function_arg): Same.
2175 (spe_func_has_64bit_regs_p): Same.
2176 (rs6000_function_value): Same.
2177 (rs6000_libcall_value): Same.
2178 (legitimate_lo_sum_address_p): Return false for e500 doubles.
2180 * config/rs6000/rs6000.h (LOCAL_ALIGNMENT): Adjust for e500
2182 (DATA_ALIGNMENT): Same.
2183 (CANNOT_CHANGE_MODE_CLASS): Same.
2185 2004-10-26 Aldy Hernandez <aldyh@redhat.com>
2187 * expr.c (emit_group_load): Handle floats.
2188 (emit_group_store): Same.
2190 2004-10-26 Nathan Sidwell <nathan@codesourcery.com>
2192 * c-lex.c (get_nonpadding_token): Remove.
2193 (c_lex_with_flags): Push timevar and eat padding here. Improve
2194 stray token diagnostic.
2195 (lex_string): Replace logic with switch statement, eat padding
2198 2004-10-26 Geoffrey Keating <geoffk@apple.com>
2201 * config/i386/darwin.h (ASM_SPEC): Undef it before defining.
2203 2004-10-25 Geoffrey Keating <geoffk@apple.com>
2205 * config/darwin.h (LINK_SPEC): Default weak_reference_mismatches
2207 (MAKE_DECL_ONE_ONLY): Set DECL_WEAK.
2208 (ASM_MAKE_LABEL_LINKONCE): Delete.
2209 (ASM_WEAKEN_DECL): New.
2210 (ASM_DECLARE_OBJECT_NAME): Look at DECL_WEAK not DECL_ONE_ONLY.
2211 (ASM_DECLARE_FUNCTION_NAME): Likewise.
2212 (TEXT_SECTION_ASM_OP): Add a tab.
2213 (DATA_SECTION_ASM_OP): Likewise.
2214 (SECTION_FUNCTION): Add a tab. Use fputs. Don't call
2215 data_section on every section change.
2216 (EXTRA_SECTIONS): Add a bunch of new extra sections.
2217 (EXTRA_SECTION_FUNCTIONS): Likewise.
2218 (USE_SELECT_SECTION_FOR_FUNCTIONS): Define.
2219 (JCR_SECTION_NAME): Define.
2220 (TARGET_SECTION_TYPE_FLAGS): Don't define.
2221 * config/darwin.c (darwin_encode_section_info): A symbol is defined
2222 in this file if it is not weak.
2223 (textcoal_section): Delete.
2224 (datacoal_section): Delete.
2225 (darwin_make_decl_one_only): Delete.
2226 (machopic_select_section): Handle functions.
2227 (darwin_asm_named_section): Add a tab.
2228 (darwin_section_type_flags): Delete.
2229 (darwin_unique_section): Delete contents.
2230 (darwin_emit_unwind_label): Add a tab. Make decls weak if
2232 * config/darwin-protos.h (darwin_section_type_flags): Delete.
2233 (darwin_make_decl_one_only): Delete.
2234 (text_coal_section): New.
2235 (text_unlikely_section): New.
2236 (text_unlikely_coal_section): New.
2237 (const_coal_section): New.
2238 (data_coal_section): New.
2239 (const_data_coal_section): New.
2240 * varasm.c (function_section): Honour
2241 USE_SELECT_SECTION_FOR_FUNCTIONS.
2242 * dwarf2out.c (output_call_frame_info): Look at DECL_WEAK when
2243 TARGET_USES_WEAK_UNWIND_INFO is in effect.
2244 * dbxout.c (dbxout_source_file): Don't change sections while
2245 a function is being output.
2247 2004-10-25 David Ayers <d.ayers@inode.at>
2249 * c-common.h: Remove RID_ID.
2250 * c-parse.in: Remove OBJECTNAME and references to RID_ID.
2251 (typespec_reserved_attr): Add rule for TYPENAME
2252 non_empty_protocolrefs.
2253 (yylexname): Remove special handling of RID_ID.
2255 2004-10-25 James E Wilson <wilson@specifixinc.com>
2257 * doc/invoke.texi (-fcrossjumping): Not enabled at -O.
2259 2004-10-25 Joseph S. Myers <jsm@polyomino.org.uk>
2262 * c-parse.in (array_designator): New.
2263 (designator): Use it.
2264 (initelt): Only permit array_designator without '=', not ".foo".
2266 2004-10-25 Kenneth Zadeck <zadeck@naturalbridge.com>
2267 * gcc/Makefile.in: removed ggc for cgraphunit.
2268 * gcc/cgraph.c.dump_cgraph_node: removed static var analysis.
2269 * gcc/cgraph.h: removed static var analysis data structures and calls.
2271 cgraph_mark_local_and_external_functions:changed name to
2272 cgraph_mark_local_functions
2273 (print_order,convert_UIDs_in_bitmap,new_static_vars_info,
2274 cgraph_reset_static_var_maps,get_global_static_vars_info,
2275 get_global_statics_not_read,get_global_statics_not_written,searchc,
2276 cgraph_reduced_inorder,has_proper_scope_for_analysis,check_rhs_var,
2277 check_lhs_var,get_asm_expr_operands,process_call_for_static_vars,
2278 scan_for_static_refs,cgraph_characterize_statics_local,
2279 clear_static_vars_maps,cgraph_propagate_bits,cgraph_characterize_statics):
2281 (cgraph_optimize,init_cgraph): removed calls to static vars analysis
2282 * gcc/tree-dfa.c find_referenced_vars: removed call to static vars
2284 * gcc/tree-flow.h static_vars_info: removed
2285 * gcc/tree-ssa-operands.c (add_call_clobber_ops,add_call_read_ops):
2286 removed calls to static vars analysis.
2287 get_call_expr_operands: removed callee variable.
2289 2004-10-25 Kazu Hirata <kazu@cs.umass.edu>
2291 * cfg.c (unchecked_make_edge, redirect_edge_succ,
2292 redirect_edge_pred): Use VEC_safe_push instead of
2294 * cfgrtl.c (force_nonfallthru_and_redirect): Likewise.
2296 2004-10-25 Kazu Hirata <kazu@cs.umass.edu>
2298 * cfgloopmanip.c (loopify): Take two more arguments true_edge
2300 * cfgloop.h: Adjust the corresponding prototype.
2301 * loop-unswitch.c (unswitch_loop): Adjust a call to loopify.
2302 * tree-ssa-loop-manip.c (tree_ssa_loop_version): Likewise.
2304 2004-10-25 Jakub Jelinek <jakub@redhat.com>
2306 * dwarf2out.c (rtl_for_decl_location): Avoid segfault if
2307 DECL_INCOMING_RTL is NULL.
2309 2004-10-25 Steven Bosscher <stevenb@suse.de>
2311 * timevar.def (TV_FIND_REFERENCED_VARS): New.
2312 * tree-dfa.c (pass_referenced_var): Use it.
2314 2004-10-25 Roger Sayle <roger@eyesopen.com>
2315 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2317 * cse.c: Change encoding of quantity numbers to avoid undefined
2318 pointer arithmetic on qty_table.
2319 (REGNO_QTY_VALID_P): A quantity is now valid if it isn't negative.
2320 (get_cse_reg_info): Initialize reg_qty to a unique negative value.
2321 (new_basic_block): Assign "real" quantity numbers from zero.
2322 (delete_reg_equiv): Do nothing if quantity is invalid. Reset the
2323 REG_QTY to its unique negative value.
2324 (merge_equiv_classes): Calculate need_rehash if quantity is valid.
2325 (cse_main): Don't include max_reg when determining max_qty.
2326 (cse_basic_block): Avoid subtracting a large offset from qty_table,
2327 which causes undefined C99 behaviour. Only allocate needed memory.
2329 2004-10-25 Kazu Hirata <kazu@cs.umass.edu>
2331 * stmt.c (expand_case): Remove an obsolete comment.
2333 2004-10-25 Andrew Pinski <pinskia@physics.uc.edu>
2336 * c-decl.c (grokdeclarator) <case cdk_array>: Remove the call
2337 layout_type as it is already done by build_array_type.
2338 * tree.c (build_array_type): Layout the type even
2340 2004-10-25 Alexandre Oliva <aoliva@redhat.com>
2342 * config/frv/linux.h (TARGET_C99_FUNCTIONS): Define to 0.
2344 2004-10-25 Alexandre Oliva <aoliva@redhat.com>
2346 * config/frv/frv.md (movdi, movdf): Handle wide-constant splits
2347 with wider-than-32-bit HOST_WIDE_INTs.
2349 2004-10-25 David Billinghurst <David.Billinghurst@riotinto.com>
2351 * config/mips/mips.c(mips_output_filename): Remove unused
2352 array ltext_label_name
2354 2004-10-24 Geoffrey Keating <geoffk@geoffk.org>
2356 * config/rs6000/darwin.h (BLOCK_REG_PADDING): Define.
2358 2004-10-25 Ben Elliston <bje@au.ibm.com>
2360 * cfgcleanup.c (outgoing_edges_match): Fix typo in dump output.
2362 2004-10-23 Andrew Pinski <pinskia@physics.uc.edu>
2364 * predict.c (predict_loops): Call scev_finalize instead of
2367 2004-10-24 Kazu Hirata <kazu@cs.umass.edu>
2369 * config/dbxcoff.h, config/dbxelf.h, config/libgloss.h,
2370 config/openbsd.h, config/mips/r3900.h, config/pdp11/pdp11.md,
2371 config/sh/ushmedia.h, config/sparc/elf.h,
2372 config/sparc/sp64-elf.h: Update copyright.
2374 2004-10-24 Kazu Hirata <kazu@cs.umass.edu>
2376 * stmt.c (expand_case): Handle the default label outside of
2377 the for loop. Remove code to handle a missing default label.
2379 2004-10-23 Kazu Hirata <kazu@cs.umass.edu>
2381 * dbxout.c (dbxout_function_decl): Don't use
2382 DBX_OUTPUT_FUNCTION_END.
2383 * system.h: Poison DBX_OUTPUT_FUNCTION_END.
2384 * doc/tm.texi (DBX_OUTPUT_FUNCTION_END): Remove.
2386 2004-10-23 Andrew Pinski <pinskia@physics.uc.edu>
2389 * tree-cfg.c (remove_usless_stmts_cond): Don't Fold statement.
2391 2004-10-23 Daniel Berlin <dberlin@dberlin.org>
2393 * tree-ssa-dom.c (record_equality): Use loop depth to determine
2394 which way to record the equality as well.
2395 (loop_depth_of_name): New function.
2397 2004-10-23 Eric Botcazou <ebotcazou@libertysurf.fr>
2400 * gimplify.c (gimplify_addr_expr) <VIEW_CONVERT_EXPR>: Look
2401 through the operand if it is a useless type conversion.
2403 2004-10-23 Ben Elliston <bje@au.ibm.com>
2405 * cfg.c (remove_edge): Use VEC_unordered_remove.
2406 (redirect_edge_succ): Likewise.
2407 (redirect_edge_pred): Likewise.
2408 * cfgrtl.c (force_nonfallthru_and_redirect): Likewise.
2410 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
2412 * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP): Don't access PTR
2415 2004-10-22 Eric Christopher <echristo@redhat.com>
2417 * config/rs6000/rs6000.c (setup_incoming_varargs): Align DFmode
2420 2004-10-22 Aldy Hernandez <aldyh@redhat.com>
2422 * config/rs6000/spe.md (spe_extendsfdf2): New.
2423 (movdf_e500_double): New.
2424 (spe_truncdfsf2): New.
2431 (spe_floatsidf2): New.
2432 (spe_floatunssidf2): New.
2433 (fix_truncdfsi2): New.
2434 (spe_fixuns_truncdfsi2): New.
2436 * config/rs6000/rs6000.md (truncdfsf2): Change to expander.
2437 (fpr_truncdfsf2): New.
2438 (negdf2): Change to expander.
2440 (fpr_nabsdf2): Name pattern.
2441 (adddf3): Change to expander.
2443 (subdf3): Change to expander.
2445 (muldf3): Change to expander.
2447 (divdf3): Change to expander.
2449 (movdf_softfloat32): Change !TARGET_FPRS to TARGET_E500_SINGLE.
2450 (cmpdf): Allow for TARGET_E500_DOUBLE.
2452 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
2454 * c-semantics.c (re_push_stmt_list): Remove.
2455 * c-common.h: Remove the corresponding prototype.
2457 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
2459 * stmt.c (asm_op_is_mem_input): Remove.
2460 * tree.h: Remove the corresponding prototype.
2462 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
2464 * tree-gimple.c (is_gimple_constructor_elt): Remove.
2465 * tree-gimple.h: Remove the corresponding prototype.
2467 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
2469 * varasm.c (get_pool_mode_for_function, get_pool_offset):
2471 * rtl.h: Remove the corresponding prototypes.
2473 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
2475 * tree-cfg.c (thread_jumps_from_bb): Speed up by extracting
2476 edge information when we commit ourselves to threading a
2479 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
2481 * tree-cfg.c (thread_jumps): Speed up by putting basic blocks
2482 into worklist instead of their indexes.
2484 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
2486 * alias.c, basic-block.h, cgraphunit.c, combine.c, domwalk.h,
2487 final.c, gengtype.c, genpreds.c, ggc-page.c, insn-notes.def,
2488 lambda-code.c, loop-unroll.c, modulo-sched.c, pointer-set.c,
2489 pretty-print.c, ra-colorize.c, sbitmap.c, tree-complex.c,
2490 tree-data-ref.c, tree-dfa.c, tree-inline.c, tree-into-ssa.c,
2491 tree-scalar-evolution.c, tree-ssa-dom.c,
2492 tree-ssa-loop-manip.c, tree-ssa-loop-niter.c,
2493 tree-ssa-phiopt.c, tree-ssa-pre.c, tree-ssa-threadupdate.c,
2494 tree-vectorizer.c, vec.h: Fix comment formatting.
2496 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
2498 * dwarf.h, gthr-dce.h, gthr-single.h, gthr-solaris.h, gthr.h,
2499 libfuncs.h, libgcc2.h, stab.def, tsystem.h: Update copyright.
2501 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
2503 * config/ptx4.h, config/mcore/mcore-pe.h,
2504 config/rs6000/eabi.h, config/vax/elf.h: Update copyright.
2506 2004-10-22 Peter Barada <peter@the-baradas.com>
2508 * config/m68k/m68k.h (HARD_REGNO_RENAME_OK): New macro.
2509 * config/m68k/m68k.c (m68k_hard regno_rename_ok): Disallow
2510 renaming of non-live registers in interrupt functions.
2511 * config/m68k/m68k-protos.h (m68k_hard_regno_rename_ok): Add prototype.
2513 2004-10-22 Zdenek Dvorak <dvorakz@suse.cz>
2515 * tree-ssa-loop-niter.c (inverse): Count in HOST_WIDE_INT if possible.
2516 Use integer for loop counter.
2517 (num_ending_zeros): New function.
2518 (number_of_iterations_cond): Use num_ending_zeros.
2520 2004-10-21 Aldy Hernandez <aldyh@redhat.com>
2522 * config.gcc: Add support for --enable-e500_double.
2524 * config/rs6000/e500-double.h: New file.
2526 * config/rs6000/rs6000.h: Define TARGET_E500_SINGLE and
2529 * config/rs6000/eabi.h: Define TARGET_E500_SINGLE and
2532 * config/rs6000/linuxspe.h: Same.
2534 * doc/invoke.texi (Option Summary): Document new options for
2536 (RS/6000 and PowerPC Options): Same.
2538 * config/rs6000/rs6000.c (rs6000_parse_float_gprs_option): New
2540 (rs6000_override_options): Use it. Use
2541 SUB3TARGET_OVERRIDE_OPTIONS.
2542 Add 8548 to processor_target_table.
2543 (rs6000_legitimate_address): Handle e500 doubles.
2544 (rs6000_legitimize_address): Same.
2545 (rs6000_legitimize_reload_address): Same.
2546 (rs6000_hard_regno_nregs): Same.
2547 (spe_func_has_64bit_regs_p): Same.
2548 (emit_frame_save): Same.
2549 (gen_frame_mem_offset): Same.
2550 (rs6000_dwarf_register_span): Same.
2551 (rs6000_generate_compare): Same.
2552 (easy_fp_constant): Same.
2553 (legitimate_offset_address_p): Same.
2555 * config/rs6000/spe.md: (cmdfeq_gpr): New.
2564 2004-10-21 Giovanni Bajo <giovannibajo@gcc.gnu.org>
2566 * config/arc/lib1funcs.asm (___umulsidi3): Fix typo.
2568 2004-10-21 Zack Weinberg <zack@codesourcery.com>
2570 * dbxout.c: Remove unnecessary #undefs.
2571 (GDB_INV_REF_REGPARM_STABS_LETTER, DBX_MEMPARM_STABS_LETTER)
2572 (FILE_NAME_JOINER, STABS_GCC_MARKER): Remove; fold sole
2573 definition into use sites.
2574 (cwd): Make local to dbxout_init.
2575 (dbxout_init): Restructure cwd-using logic for clarity. Use
2577 * xcoffout.h (DBX_OUTPUT_GCC_MARKER): Definition of
2578 STABS_GCC_MARKER folded in here.
2579 * system.h: Poison now-unused macros.
2580 * doc/tm.texi: Remove documentation of now-unused macros.
2582 2004-10-21 Andrew Pinski <pinskia@physics.uc.edu>
2585 * c-opts.c (push_command_line_include): Use the current file
2586 name instead of the main one.
2588 2004-10-21 Andrew Pinski <pinskia@physics.uc.edu>
2591 * tree.c (staticp): A CONST_DECL has static storage if either
2592 TREE_STATIC or DECL_EXTERNAL is set.
2593 * c-decl.c (pushdecl_top_level): Accept CONST_DECLs which can
2596 2004-10-21 Kazu Hirata <kazu@cs.umass.edu>
2598 * expr.c (store_expr): Remove dont_store_target.
2600 2004-10-21 Kazu Hirata <kazu@cs.umass.edu>
2602 * tree-cfg.c (thread_jumps): Speed up by using a worklist.
2604 2004-10-21 Kazu Hirata <kazu@cs.umass.edu>
2606 * tree-cfg.c (thread_jumps): Move a part of it to ...
2607 (thread_jumps_from_bb): ... here.
2609 2004-10-21 David Edelsohn <edelsohn@gnu.org>
2611 * dbxout.c (DBX_FINISH_SYMBOL): Add asm_out_file argument.
2612 * xcoffout.h (DBX_FINISH_SYMBOL): Change asmfile to (ASMFILE).
2614 2004-10-21 Kazu Hirata <kazu@cs.umass.edu>
2616 * expr.c (store_expr): Clean up by renaming want_value to
2619 2004-10-21 Kaz Kojima <kkojima@gcc.gnu.org>
2621 * config/sh/linux-unwind.h (sh_fallback_frame_state): Don't
2624 2004-10-21 Aldy Hernandez <aldyh@redhat.com>
2627 * expmed.c (store_bit_field): Pass original 'value' before
2630 2004-10-21 Nicolas Pitre <nico@cam.org>
2632 * config/arm/ieee754-sf.S: Large speed improvements. Fix NAN handling.
2633 * config/arm/ieee754-df.S: Ditto.
2635 2004-10-20 Zack Weinberg <zack@codesourcery.com>
2637 * dbxout.c (asmfile): Delete. All uses changed to asm_out_file.
2638 (DBX_BLOCKS_FUNCTION_RELATIVE, DBX_LINES_FUNCTION_RELATIVE):
2640 (dbxout_source_line): Use DBX_OUTPUT_SOURCE_LINE when defined.
2641 When it is not, but DBX_LINES_FUNCTION_RELATIVE is true, emit
2642 an internal label and an N_SLINE .stabn whose value is the
2643 difference between that label and the function entry label.
2644 (dbxout_finish): If DBX_OUTPUT_MAIN_SOURCE_FILE_END is not defined,
2645 but DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END is, emit a
2646 label and an N_SO stab with an empty string referring to it.
2647 (dbx_output_lbrac, dbx_output_rbrac): Use if statement instead
2648 of #ifdef directive to test DBX_BLOCKS_FUNCTION_RELATIVE.
2649 (dbxout_type_methods, dbxout_symbol): Remove #if 0 block.
2650 (dbxout_prepare_symbol): Remove #ifdef WINNING_GDB block, this
2651 macro is never defined.
2652 * sdbout.c (sdbout_source_line_counter): Delete.
2653 (PUT_SDB_SRC_FILE): Delete. Uses replaced with sole definition.
2654 (sdbout_source_line): Use SDB_OUTPUT_SOURCE_LINE, which takes
2656 * xcoffout.c (ASM_OUTPUT_SOURCE_LINE): Rename ASM_OUTPUT_LINE.
2658 * config/dbxcoff.h, config/dbxelf.h: Remove unncessary #undefs.
2659 * config/c4x/c4x.h, config/pa/pa.h: Remove unnecessary macro
2660 definitions (identical to default).
2661 * config/darwin.h, config/dbxcoff.h, config/dbxelf.h, config/ptx4.h
2662 * config/h8300/coff.h, config/pa/som.h, config/sh/elf.h:
2663 Define DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END, not
2664 DBX_OUTPUT_MAIN_SOURCE_FILE_END.
2665 * config/dbxcoff.h, config/dbxelf.h, config/ptx4.h
2666 * config/mcore/mcore-pe.h, config/pa/som.h, config/sh/elf.h:
2667 Define DBX_LINES_FUNCTION_RELATIVE, not ASM_OUTPUT_SOURCE_LINE.
2668 * config/alpha/alpha-protos.h: Don't prototype alpha_output_lineno.
2669 * config/alpha/alpha.c: Move declaration of num_source_filenames up.
2670 (alpha_start_function): Use SDB_OUTPUT_SOURCE_LINE.
2671 (sym_lineno): Delete.
2672 (alpha_output_filename): Do not emit N_SOL stabs here. Remove
2673 now-unused variable.
2674 (alpha_output_lineno): Delete.
2675 * config/mips/mips-protos.h: Don't prototype mips_output_lineno.
2676 * config/mips/mips.c (mips_output_filename): Don't use
2677 ASM_OUTPUT_FILENAME. Don't emit N_SOL stabs here.
2678 (mips_output_lineno): Delete.
2679 (mips_output_function_prologue: Use SDB_OUTPUT_SOURCE_LINE.
2680 * config/alpha/alpha.h: Define DBX_OUTPUT_SOURCE_LINE and
2681 SDB_OUTPUT_SOURCE_LINE, not ASM_OUTPUT_SOURCE_LINE.
2682 * config/mips/mips.h: Likewise. Don't define ASM_OUTPUT_FILENAME.
2683 * config/mips/sdb.h: Use SDB_OUTPUT_SOURCE_LINE.
2684 * config/avr/avr.h: Don't define ASM_OUTPUT_SOURCE_LINE.
2685 * config/mmix/mmix.h: Likewise.
2686 * config/mmix/mmix.c (mmix_asm_output_source_line): Delete.
2687 * config/mmix/mmix-protos.h: Don't prototype it.
2688 * config/alpha/unicosmk.h: Also #undef PREFERRED_DEBUGGING_TYPE;
2689 no need to #undef ASM_OUTPUT_SOURCE_LINE.
2690 * config/arm/aout.h: Remove RISCiX-specific definition of
2691 DBX_OUTPUT_MAIN_SOURCE_FILENAME.
2692 * config/m32r/m32r.h: Define DBX_OUTPUT_SOURCE_LINE, not
2693 ASM_OUTPUT_SOURCE_LINE.
2694 * config/rs6000/linux64.h (ASM_OUTPUT_SOURCE_LINE): Rename to
2695 DBX_OUTPUT_SOURCE_LINE. Don't use current_function_func_begin_label.
2696 * config/vax/elf.h: No need to define DBX_OUTPUT_FUNCTION_END.
2698 * doc/tm.texi: Update.
2700 2004-10-20 Richard Henderson <rth@redhat.com>
2702 * tree-sra.c (instantiate_element): Copy DECL_IGNORED_P also.
2704 2004-10-20 Kelley Cook <kcook@gcc.gnu.org>
2706 * configure.ac: Revert my previous patch.
2707 * configure: Regenerate.
2709 2004-10-20 Ben Elliston <bje@au.ibm.com>
2711 * config/rs6000/rs6000.c
2712 (rs6000_va_start): Use build_va_arg_indirect_ref.
2713 (rs6000_gimplify_va_arg): Likewise.
2715 2004-10-20 Bryce McKinlay <mckinlay@redhat.com>
2718 * configure.ac: Declare AM_LANGINFO_CODESET.
2719 * aclocal.m4: Define AM_LANGINFO_CODESET.
2720 * configure, config.in: Rebuilt.
2722 2004-10-20 Kazu Hirata <kazu@cs.umass.edu>
2724 * expr.c (store_expr): Remove code that is run when
2725 want_value & 1 is nonzero.
2727 2004-10-20 Mark Mitchell <mark@codesourcery.com>
2729 * gthr-posix.h (__gthread_active_p): Use __extension__ around cast
2730 from function pointer to void *.
2732 2004-10-20 Kaz Kojima <kkojima@gcc.gnu.org>
2735 * config/sh/sh.c (sh_expand_epilogue): Emit a blockage insn before
2736 the frame pointer adjustment when exception handling is enabled.
2738 2004-10-20 Kazu Hirata <kazu@cs.umass.edu>
2740 * stor-layout.c: Fix a comment typo.
2742 2004-10-20 Kazu Hirata <kazu@cs.umass.edu>
2744 * expr.c (store_field): Remove two arguments value_mode and
2746 (expand_assignment, store_constructor_field,
2747 expand_expr_real_1): Adjust calls to store_field.
2749 2004-10-18 Ramana Radhakrishnan <ramana.radhakrishnan@codito.com>
2751 * config/arc/lib1funcs.asm (___umulsidi3): Correct usage of flags.
2754 * config/arc/arc.h (REGNO_OK_FOR_BASE_P,REGNO_OK_FOR_INDEX_P,
2755 REG_OK_FOR_BASE, REG_OK_FOR_INDEX): Consider blink(r31) as a valid
2756 base and index register for loads.
2758 * config/arc/t-arc: Fix multilib handling.
2760 2004-10-20 Hans-Peter Nilsson <hp@bitrange.com>
2762 * cfgrtl.c (rtl_verify_flow_info_1): When checking insns in a bb,
2763 don't inspect BLOCK_FOR_INSN for barriers.
2764 * emit-rtl.c (emit_barrier_before): Revert last change.
2765 (emit_barrier_after, emit_barrier): Ditto.
2767 * doc/extend.texi (Extended Asm): Warn and provide example
2768 solution for using a call-clobbered asm register.
2769 (Local Reg Vars): Similar. Cross-reference example.
2771 2004-10-19 Andrew Pinski <pinskia@physics.uc.edu>
2773 * tree-cfg.c (group_case_labels): Look at the second to last
2774 case statement for combing with the default case.
2776 2004-10-19 Richard Hendeson <rth@redhat.com>
2779 * stor-layout.c (layout_type): Set TYPE_ALIGN for vectors.
2781 2004-10-19 Richard Hendeson <rth@redhat.com>
2783 * builtins.c (expand_builtin_memmove): If fold_builtin_memmove
2784 succeeds, only expand the result.
2786 2004-10-19 Richard Hendeson <rth@redhat.com>
2789 * tree.c (recompute_tree_invarant_for_addr_expr): Always poll address
2792 2004-10-19 Kazu Hirata <kazu@cs.umass.edu>
2794 * tree-cfg.c (thread_jumps): Use a do-while loop instead of a
2797 2004-10-19 Kazu Hirata <kazu@cs.umass.edu>
2799 * expr.c (expand_assignment): Remove the last argument.
2800 Change the return type to void.
2801 * expr.h: Update the prototype of expand_assignment.
2802 * function.c (assign_parm_setup_reg): Update a call to
2804 * stmt.c (expand_asm_expr): Likewise.
2806 2004-10-19 Kazu Hirata <kazu@cs.umass.edu>
2808 * expr.c (expand_expr_real_1) <MODIFY_EXPR>: Remove
2809 unnecessary assignments to temp. Return const0_rtx.
2811 2004-10-19 Kaz Kojima <kkojima@gcc.gnu.org>
2813 * config/sh/sh.c (sh5_schedule_saves): Fix typo.
2815 2004-10-18 Kelley Cook <kcook@gcc.gnu.org>
2817 * configure.ac (powerpc-*-darwin*): Require assembler to support
2819 * configure: Regenerate.
2821 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
2823 * reload1.c (ior_hard_reg_set): Remove.
2824 (finish_spills): Use IOR_HARD_REG_SET instead of
2827 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
2829 * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP): Speed up by shifting
2830 the currently visited word to right.
2832 2004-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
2835 * expmed.c (expand_smod_pow2): Handle modes whose size
2836 is greater than that of HOST_WIDE_INT.
2838 2004-10-18 Ziemowit Laski <zlaski@apple.com>
2840 * c-parse.in (reservedwords): Add OBJC_TYPE_QUAL as alternative.
2842 2004-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
2843 Roger Sayle <roger@eyesopen.com>
2846 * dojump.c (discard_pending_stack_adjust): New function.
2847 (clear_pending_stack_adjust): Call it.
2848 * expr.h (discard_pending_stack_adjust): Declare it.
2849 * explow.c (emit_stack_save): Emit pending stack adjustments
2850 before saving the stack pointer.
2851 (emit_stack_restore): Discard pending stack adjustments before
2852 restoring the stack pointer.
2854 2004-10-18 Richard Henderson <rth@redhat.com>
2856 * c-common.c (handle_mode_attribute): Allow scalar->vector
2859 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
2861 * expr.c (expand_expr_real_1) [MODIFY_EXPR]: Don't request a
2862 value to expand_assignment.
2864 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
2866 * tree-cfg.c (cleanup_tree_cfg): Don't iterate on
2868 (thread_jumps): Iterate until no new forwarder block arises.
2870 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
2872 * tree-cfg.c (tree_forwarder_block_p): Don't set forwardable.
2873 (thread_jumps): Use forwardable as cache of
2874 tree_forwarder_block_p throughout the function.
2876 2004-10-18 Andreas Krebbel <krebbel1@de.ibm.com>
2878 * cfg.c (dump_flow_info): Remove redundant dump of reg life info.
2880 2004-10-18 Andrew Pinski <pinskia@physics.uc.edu>
2884 * tree-cfg.c (remove_bb): If we have a label expression in the
2885 basic block and the label we have taken the address, move the
2886 label expression to the basic block which is previous in the
2888 (tree_verify_flow_info): Fix printing out the label name of the
2889 problematic label expression.
2891 2004-10-18 Pat Haugen <pthaugen@us.ibm.com>
2893 PR rtl-optimization/18002
2894 * simplify-rtx.c (mode_signbit_p): Externalize function...
2895 * rtl.h (mode_signbit_p): ... to here.
2896 * combine.c (simplify_shift_const): Recognize PLUS signbit as
2897 canonical form of XOR signbit and move to outer op.
2899 2004-10-18 Diego Novillo <dnovillo@redhat.com>
2901 * tree-cfg.c (bsi_for_stmt): Rename from stmt_for_bsi.
2903 * tree-ssa.c (replace_immediate_uses): Call bsi_for_stmt.
2904 Don't call fold_stmt more than once, use bsi_replace.
2906 2004-10-18 Diego Novillo <dnovillo@redhat.com>
2908 PR tree-optimization/17656
2909 * tree-ssa.c (replace_immediate_uses): When replacing a
2910 constant, if the call to fold_stmt produced a different
2911 statement, get an appropriate statement pointer by scanning
2914 2004-10-18 Richard Henderson <rth@redhat.com>
2916 * pointer-set.c (hash1): Don't use libm functions in fallback case.
2918 2004-10-18 H.J. Lu <hongjiu.lu@intel.com>
2921 * Makefile.in (clean): Remove libgcc_s$(SHLIB_EXT).1.stage?.
2922 (stage1-start): Remove and copy libunwind.a and
2923 libunwind*$(SHLIB_EXT) instead of libunwind*.
2924 (stage2-start): Likewise.
2925 (stage3-start): Likewise.
2926 (stage4-start): Likewise.
2927 (stageprofile-start): Likewise.
2928 (stagefeedback-start): Likewise.
2930 * config/alpha/t-osf4 (SHLIB_LINK): Use a temporary file for
2931 the shared library to be created and don't remove the existing
2933 * config/arm/t-netbsd (SHLIB_LINK): Likewise.
2934 * config/i386/t-nwld (SHLIB_LINK): Likewise.
2935 * config/mips/t-slibgcc-irix (SHLIB_LINK): Likewise.
2936 * config/pa/t-hpux-shlib (SHLIB_LINK): Likewise.
2937 * config/sh/t-linux (SHLIB_LINK): Likewise.
2938 * config/t-libunwind-elf (SHLIBUNWIND_LINK): Likewise.
2939 * config/t-slibgcc-darwin (SHLIB_LINK): Likewise.
2940 * config/t-slibgcc-elf-ver (SHLIB_LINK): Likewise.
2941 * config/t-slibgcc-sld (SHLIB_LINK): Likewise.
2943 * mklibgcc.in (libgcc-stage-start): Also move "*${objext}s"
2946 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
2948 * basic-block.h (reg_set_iterator): New.
2949 (EXECUTE_IF_SET_IN_REG_SET): Make it iterator style.
2950 (EXECUTE_IF_AND_COMPL_IN_REG_SET): Likewise.
2951 (EXECUTE_IF_AND_IN_REG_SET): Likewise.
2952 * caller-save.c (save_call_clobbered_regs): Adjust to the new
2954 * cfgcleanup.c (thread_jump): Likewise.
2955 * cfgrtl.c (safe_insert_insn_on_edge): Likewise.
2956 * conflict.c (conflict_graph_compute): Likewise.
2957 * flow.c (verify_local_live_at_start, update_life_info,
2958 initialize_uninitialized_subregs, propagate_one_insn,
2959 init_propagate_block_info, free_propagate_block_info,
2960 propagate_block, dump_regset): Likewise.
2961 * global.c (global_conflicts): Likewise.
2962 * graph.c (start_bb): Likewise.
2963 * local-alloc.c (update_equiv_regs): Likewise.
2964 * loop.c (load_mems): Likewise.
2965 * reload1.c (compute_use_by_pseudos, order_regs_for_reload,
2966 find_reg, finish_spills): Likewise.
2967 * resource.c (mark_target_live_regs): Likewise.
2968 * sched-deps.c (sched_analyze_insn): Likewise.
2969 * sched-rgn.c (sched-rgn.c): Likewise.
2970 * config/frv/frv.c (frv_ifcvt_modify_tests): Likewise.
2972 2004-10-18 Jakub Jelinek <jakub@redhat.com>
2974 * config/i386/i386.md (addqi_1_slp): Test for incdec_operand
2975 operand 1 instead of 2
2977 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
2979 * loop-unroll.c: Fix comment typos.
2981 2004-10-18 Revital Eres <eres@il.ibm.com>
2983 * Makefile.in (loop-unroll.o): Add VARRAY_H dependency.
2984 * loop-unroll.c: Include varray.h.
2985 (struct var_to_expand, struct opt_info): Rename split_ivs_info to
2986 opt_info and expand it to support variable expansion.
2987 (analyze_insns_in_loop): Rename analyze_ivs_to_split and
2988 expand it to support variable expansion.
2989 (pt_info_start_duplication): Rename si_info_start_duplication.
2990 (apply_opt_in_copies): Rename split_ivs_in_copies and add support
2991 to the variable expansion optimization.
2992 (free_opt_info): Rename free_si_info.
2993 (analyze_insn_to_expand_var, referenced_in_one_insn_in_loop_p,
2994 expand_var_during_unrolling, insert_var_expansion_initialization,
2995 combine_var_copies_in_loop_exit, release_var_copies,
2996 get_expansion): New functions.
2997 (peel_loop_completely, unroll_loop_constant_iterations,
2998 unroll_loop_runtime_iterations, peel_loop_simple,
2999 unroll_loop_stupid): Change uses of struct si_info
3001 and add uses of fvariable-expansion-in-unroller flag.
3002 * params.def: Add parameter to restrict the number of expansions.
3003 * params.h: (MAX_VARIABLE_EXPANSIONS): New define to restrict
3004 the number of expansions.
3005 * common.opt: (fvariable-expansion-in-unroller): New flag.
3006 * doc/invoke.texi: (fvariable-expansion-in-unroller): Document.
3008 2004-10-18 Danny Smith <dannysmith@users.sourceforge.net>
3010 * config/i386/cygming.h (TARGET_OS_CPP_BUILTINS): Define
3011 __GXX_MERGED_TYPEINFO_NAMES to 0.
3013 2004-10-17 Hans-Peter Nilsson <hp@bitrange.com>
3015 * cfgrtl.c (rtl_verify_flow_info_1): When checking insns in a bb,
3016 handle barriers in a bb by checking that it points to a NULL bb.
3017 * emit-rtl.c (emit_barrier_before): Set BLOCK_FOR_INSN to NULL.
3018 (emit_barrier_after, emit_barrier): Ditto.
3020 2004-10-18 Joseph S. Myers <jsm@polyomino.org.uk>
3022 * doc/extend.texi (Attribute Syntax): Clarify details of
3023 attributes on parameters.
3025 2004-10-17 Zdenek Dvorak <dvorakz@suse.cz>
3027 * tree-ssa-loop-ivopts.c (tree_ssa_iv_optimize): Move checking out of
3030 2004-10-17 Andrew Pinski <pinskia@physics.uc.edu>
3033 2004-10-17 Andrew Pinski <pinskia@physics.uc.edu>
3035 * c-typeck.c (default_function_array_conversion): Always create
3036 &a[0] for array types.
3037 (build_unary_op): Do not fold &a[x] into a + x.
3039 2004-10-17 Andrew Pinski <pinskia@physics.uc.edu>
3042 * cfgexpand.c (expand_gimple_cond_expr): Emit line notes for next basic
3043 block if there is a goto with a locus.
3045 2004-10-17 Kazu Hirata <kazu@cs.umass.edu>
3047 * config/elfos.h, config/gofast.h, config/interix.h,
3048 config/netbsd.h, config/svr3.h, config/vxworks.h,
3049 config/alpha/alpha-modes.def, config/alpha/alpha-protos.h,
3050 config/alpha/ev4.md, config/alpha/ev5.md, config/alpha/ev6.md,
3051 config/alpha/netbsd.h, config/arm/arm-modes.def,
3052 config/arm/unknown-elf.h, config/c4x/c4x-modes.def,
3053 config/cris/aout.h, config/frv/frv-modes.def,
3054 config/i386/beos-elf.h, config/i386/gas.h,
3055 config/i386/i386-coff.h, config/i386/i386-modes.def,
3056 config/i386/linux.h, config/i386/linux64.h,
3057 config/i386/mingw32.h, config/i386/netbsd-elf.h,
3058 config/i386/netbsd64.h, config/i386/sco5.h,
3059 config/i386/sol2.h, config/i386/uwin.h, config/i860/i860.md,
3060 config/ia64/ia64-modes.def, config/ia64/itanium1.md,
3061 config/ia64/itanium2.md, config/m68k/m68k-modes.def,
3062 config/mips/mips-modes.def, config/mips/sdb.h,
3063 config/mips/vr.h, config/mips/vxworks.h,
3064 config/pa/pa-hpux10.h, config/pa/pa-hpux11.h,
3065 config/pa/pa32-linux.h, config/rs6000/40x.md,
3066 config/rs6000/7450.md, config/rs6000/8540.md,
3067 config/rs6000/linuxspe.h, config/rs6000/power4.md,
3068 config/rs6000/rs6000-modes.def, config/rs6000/rtems.h,
3069 config/rs6000/spe.h, config/s390/2064.md, config/s390/linux.h,
3070 config/s390/s390-modes.def, config/sh/elf.h,
3071 config/sh/sh-modes.def, config/sh/sh64.h,
3072 config/sparc/ultra1_2.md, config/sparc/ultra3.md,
3073 config/stormy16/stormy16.md, config/v850/v850-protos.h,
3074 config/vax/vax.md: Update copyright.
3076 2004-10-17 Kazu Hirata <kazu@cs.umass.edu>
3078 * expr.c (expand_expr_real_1): Remove an obsolete comment.
3080 2004-10-17 Andrew Pinski <pinskia@physics.uc.edu>
3082 * c-typeck.c (default_function_array_conversion): Always create
3083 &a[0] for array types.
3084 (build_unary_op): Do not fold &a[x] into a + x.
3086 2004-10-17 Jakub Jelinek <jakub@redhat.com>
3088 * pointer-set.c (hash1): Use integer part of 2^64 / phi
3089 instead 2^32 / phi if long is 64-bit.
3091 2004-10-17 Joseph S. Myers <jsm@polyomino.org.uk>
3093 * c-common.h (enum rid): Remove RID_PTRBASE, RID_PTREXTENT and
3095 * c-parse.in (PTR_VALUE, PTR_BASE, PTR_EXTENT): Remove %token
3097 (reswords): Remove __ptrbase, __ptrbase__, __ptrextent,
3098 __ptrextent__, __ptrvalue and __ptrvalue__.
3099 (rid_to_yy): Remove RID_PTRBASE, RID_PTREXTENT and RID_PTRVALUE
3102 2004-10-16 Dale Johannesen <dalej@apple.com>
3104 * c-common.c (c_common_get_alias_set): Use GGC for type_hash_table.
3106 2004-10-16 Zdenek Dvorak <dvorakz@suse.cz>
3108 PR tree-optimization/17766
3109 * basic-block.h (enum dom_state): DOM_CONS_OK removed.
3110 (dom_info_available_p): Declare.
3111 * cfghooks.c (split_block, make_forwarder_block): Use
3112 dom_info_available_p.
3113 * dominance.c (compute_dom_fast_query, calculate_dominance_info,
3114 free_dominance_info, verify_dominators): Ditto.
3115 (dom_info_available_p): New function.
3116 * tree-cfg.c (cleanup_control_expr_graph): Free dominance information.
3117 (thread_jumps): Use dom_info_available_p.
3118 * tree-complex.c (expand_complex_div_wide): Ditto.
3119 * tree-mudflap.c (mf_build_check_statement_for): Ditto.
3121 2004-10-16 Zdenek Dvorak <dvorakz@suse.cz>
3123 * tree-ssa-loop-ivopts.c (struct ivopts_data): New field important_candidates.
3124 (find_best_candidate): Take also important candidates into account.
3125 (find_optimal_iv_set): Initialize important_candidates bitmap.
3127 2004-10-16 Zdenek Dvorak <dvorakz@suse.cz>
3129 PR tree-optimization/17560
3130 * predict.c (tree_estimate_probability): Mark irreducible
3133 2004-10-16 Zdenek Dvorak <dvorakz@suse.cz>
3135 PR rtl-optimization/17723
3136 * cfgcleanup.c (merge_memattrs): Handle case when
3137 MEM_SIZE == NULL_RTX.
3139 2004-10-15 Andrew Pinski <pinskia@physics.uc.edu>
3141 * toplev.c (dump_file_name): Change type to be const.
3143 2004-10-15 Joseph S. Myers <jsm@polyomino.org.uk>
3145 * c-typeck.c (build_compound_expr, build_c_cast): Don't try to use
3146 non_lvalue to stop something being a null pointer constant.
3148 2004-10-15 Aldy Hernandez <aldyh@redhat.com>
3150 * config/rs6000/rs6000.h (FUNCTION_ARG_REGNO_P): FPRs are only
3151 available for TARGET_FPRS.
3152 (FUNCTION_VALUE_REGNO_P): Same.
3154 2004-10-15 Geoffrey Keating <geoffk@apple.com>
3156 * doc/invoke.texi (RS/6000 and PowerPC Options): Document
3157 -maltivec in same style as other ISA options.
3159 2004-10-15 Jon Grimm <jgrimm2@us.ibm.com>
3161 * config/host-linux.c (TRY_EMPTY_VM_SPACE): Add __powerpc__
3164 2004-10-15 Kazu Hirata <kazu@cs.umass.edu>
3166 * bitmap.c, bitmap.h, builtin-attrs.def, cfglayout.h,
3167 collect2.h, conflict.c, coretypes.h, coverage.h, errors.h,
3168 gcc.h, gcov-dump.c, gen-protos.c, gencheck.c, gencodes.c,
3169 genconstants.c, gengenrtl.c, genmodes.c, genpeep.c,
3170 gensupport.h, graph.h, gthr-gnat.c, gthr-gnat.h, gthr-posix.c,
3171 gthr-posix.h, hard-reg-set.h, hwint.h, integrate.h, libgcc2.c,
3172 lists.c, machmode.def, mips-tdump.c, opts.h, params.c,
3173 predict.def, predict.h, protoize.c, reload.h, resource.h,
3174 rtl-error.c, sbitmap.c, sbitmap.h, sreal.c, tlink.c,
3175 tree-dump.h, tree-inline.h, unwind-dw2-fde.c, unwind-dw2.c,
3176 unwind-sjlj.c, value-prof.h: Update copyright.
3178 2004-10-15 Kazu Hirata <kazu@cs.umass.edu>
3180 * pointer-set.c, tree-vectorizer.c: Fix comment typos.
3182 2004-10-15 Diego Novillo <dnovillo@redhat.com>
3184 * tree-optimize.c (execute_one_pass): Stop timer right after
3187 2004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
3190 2004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
3193 * tree-cfg.c (remove_usless_stmts_cond): Fold statement.
3194 (remove_useless_stmts_1): Fold trees we know how to fold.
3196 2004-10-14 David Edelsohn <edelsohn@gnu.org>
3198 * configure.ac: Add .machine power4 directive when testing for
3200 * configure: Regenerate.
3202 2004-10-14 Geoffrey Keating <geoffk@apple.com>
3204 * config/darwin.h (JUMP_TABLES_IN_TEXT_SECTION): Don't define.
3206 2004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
3208 * tree-vectorizer.c (vect_transform_loop): Declare vectorization_factor
3211 2004-10-14 Daniel Jacobowitz <dan@codesourcery.com>
3213 * config/rs6000/rs6000.h (REG_CLASS_FROM_LETTER): Return NO_REGS
3214 for 'f' if !TARGET_FPRS.
3216 2004-10-14 Richard Henderson <rth@redhat.com>
3219 * dwarf2out.c (loc_descriptor_from_tree_1): Handle FIX_*_EXPR.
3221 2004-10-14 Richard Henderson <rth@redhat.com>
3224 * c-decl.c (store_parm_decls_oldstyle): Care for parameter type
3226 * c-parse.in (compstmt_primary_start): Check cur_stmt_list non-null
3227 instaed of current_function_decl non-null.
3229 2004-10-14 Matt Austern <austern@apple.com>
3231 * pointer-set.c: New file, special-purpose hash table.
3232 * pointer-set.h: New file.
3233 * tree.h (struct pointer_set_t): Declare as opaque type.
3234 (tree_walk): Last argument is pointer_set_t* now.
3235 * tree-inline.c (WALK_SUBTREE): Convert from htab to pset.
3237 (walk_tree): Convert from htab_t to pointer_set_t for keeping
3238 track of which nodes have already been visited.
3239 (walk_tree_without_duplicates): Convert from htab_t to pointer_set_t.
3240 * cgraphunit.c (cgraph_create_edges): Likewise.
3241 (cgraph_characterize_statics_local): Likewise.
3242 * tree-dfa.c (collect_dfa_stats): Likewise.
3243 * langhooks-def.h (lhd_tree_inlining_walk_subtrees): Last arg is
3245 * langhooks.c (lhd_tree_inlining_walk_subtrees): Likewise.
3246 * langhooks.h (struct lang_hooks_for_tree_inlining): Last arg type
3247 of walk_subtrees is pointer_set_t* now.
3248 * Makefile.in (OBJS-common): add pointer-set.o
3249 (tree-inline.o): Depends on pointer-set.h
3250 (tree-dfa.o): Likewise
3251 (cgraphunit.o): Likewise
3253 2004-10-14 Geoffrey Keating <geoffk@apple.com>
3255 * config/rs6000/darwin.h (ASM_SPEC): Delete.
3256 (TARGET_ASM_FILE_START): Define.
3257 * config/darwin.h (ASM_SPEC): Define.
3258 * config/rs6000/t-darwin (TARGET_LIBGCC2_CFLAGS): Don't supply
3259 -mlong-double-128, it's the default. Update comment about reason
3260 for force_cpusubtype_ALL.
3261 * config/rs6000/darwin-vecsave.asm: Supply .machine.
3262 * config/rs6000/darwin-world.asm: Likewise.
3263 * config/rs6000/rs6000.c (rs6000_darwin_file_start): New.
3264 (symbolic_operand): Delete #if 0ed code.
3266 2004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
3268 * stmt.c (add_case_node): Make sure that we have integer
3269 constant before calling tree_int_cst_compare.
3271 2004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
3275 * tree-cfg.c (remove_usless_stmts_cond): Fold statement.
3276 (remove_useless_stmts_1): Fold trees we know how to fold.
3278 2004-10-14 Joseph S. Myers <joseph@codesourcery.com>
3280 * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS),
3281 config/rs6000/linuxspe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Disallow
3284 2004-10-14 Ulrich Weigand <uweigand@de.ibm.com>
3286 * reload.c (find_reloads): When reloading a PLUS with constant
3287 operand, make sure the constant is pushed to the constant pool
3289 * config/s390/s390.c (s390_secondary_input_reload_class): Remove
3290 reload bug workaround.
3291 (s390_expand_plus_operand): Likewise.
3293 2004-10-14 David Edelsohn <edelsohn@gnu.org>
3295 * opts.c (common_handle_option): Do not enable
3296 flag_speculative_prefetching for -fprofile-generate/use.
3298 2004-10-14 Devang Patel <dpatel@apple.com>
3301 * tree-if-conv.c (process_phi_nodes): Process latch block.
3302 (combine_blocks): Process latch block and update loop structure.
3304 2004-10-14 Olga Golovanevsky <olga@il.ibm.com>
3306 * tree-vectorizer.c (vect_generate_tmps_on_preheader):
3307 (vect_update_ivs_after_vectorizer):
3308 (vect_transform_for_unknown_loop_bound):
3309 (tree_duplicate_loop_to_edge):
3310 (allocate_new_names):
3313 (rename_variables_in_bb):
3315 (rename_variables_in_loop):
3317 (update_phis_for_duplicate_loop):
3318 (update_phi_nodes_for_guard):
3319 (make_loop_iterate_ntimes):
3320 (tree_duplicate_loop_to_edge_cfg):
3322 (vect_analyze_loop_with_symbolic_num_of_iters):
3323 (verify_loop_for_duplication):
3324 (vect_gen_niters_for_prolog_loop):
3325 (vect_update_niters_after_peeling):
3326 (vect_update_inits_of_dr):
3327 (vect_update_inits_of_drs):
3328 (vect_build_loop_niters):
3329 (vect_do_peeling_for_alignment): New functions.
3330 (vect_transform_loop): Add unknown and known but indivisible loop
3331 bound support; add peeling for unalignment support.
3332 (vect_analyze_loop_form): Support symbolic number of iterations.
3333 (vect_transform_loop_bound): New input parameter.
3334 (vect_get_loop_niters): Change input parameter type.
3335 (new_loop_vec_info): LOOP_VINFO_NITERS is tree now.
3336 (vectorizable_store): Allow unaligned access.
3337 (vectorize_loops): Add rewrite_into_loop_closed_ssa.
3338 (vect_analyze_data_refs_alignment): Allowed one unaligned
3340 * tree-vectorizer.h (LOOP_VINFO_NITERS_KNOWN_P): Redefined
3342 (LOOP_VINFO_INT_NITERS): New macro.
3343 (MAX_NUMBER_OF_UNALIGNED_DATA_REFS): New define.
3344 (do_peeling_for_alignment):
3345 (unaligned_drs): New members of _loop_vec_info.
3346 (LOOP_DO_PEELING_FOR_ALIGNMENT): New macro.
3348 2004-10-14 Ranjit Mathew <rmathew@hotmail.com>
3350 * tree.h (TREE_STRING_POINTER): Wrap in "const char *".
3351 (struct tree_string): Remove "const" qualifier for "str".
3353 2004-10-14 Ira Rosen <irar@il.ibm.com>
3355 * tree-vectorizer.c (vect_analyze_data_refs): Call
3356 vect_get_base_and_bit_offset to get memory tag for array ref.
3357 (vect_create_addr_base_for_vector_ref): Remove redundant checks.
3359 2004-10-14 Richard Earnshaw <rearnsha@arm.com>
3361 * configure.ac: Use $LN_S for creating symlinks (not $LN).
3362 * configure: Regenerate.
3364 2004-10-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3366 * doc/install.texi (*-*-solaris2*): Update with info about kernel
3367 patches to solve spurious testsuite failures.
3369 2004-10-14 Dorit Naishlos <dorit@il.bim.com>
3371 * tree-vectorizer.c (get_vectype_for_scalar_type): Added debug prinouts.
3372 Added check that vectype is VECTOR_MODE_P, instead of check for BLKmode.
3373 (vect_analyze_operations): Make sure the vectorization factor > 1. Add
3374 gcc_assert under ENABLE_CHECKING.
3375 (vectorizable_operation): Remove check for VECTOR_MODE_P (moved to
3376 get_vectype_for_scalar_type).
3378 (vect_get_vec_def_for_operand): Remove redundant variables.
3379 (vect_transform_loop): Likewise.
3381 2004-10-14 Richard Sandiford <rsandifo@redhat.com>
3383 * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Make r11 fixed and
3384 global for -mcaller-super-interworking.
3385 (CALLER_INTERWORKING_SLOT_SIZE): New macro.
3386 * config/arm/arm.c (thumb_compute_save_reg_mask): Save r11 if
3387 CALLER_INTERWORKING_SLOT_SIZE is nonzero and the function does
3388 not need a frame pointer.
3389 (arm_get_frame_offsets): Add CALLER_INTERWORKING_SLOT_SIZE bytes to
3390 the soft frame pointer offset.
3391 (thumb_expand_prologue): Set up r11 for -mcaller-super-interworking.
3392 * config/arm/arm.md (*call_reg_thumb, *call_value_reg_thumb): Use
3393 _interwork_{r7,r11}_call_via_rN if some arguments are passed on
3394 the stack. Use frame_pointer_needed to choose between them.
3395 * config/arm/lib1funcs.asm (_arm_return_{r7,r11}): New functions.
3396 (interwork_with_frame): New macro.
3397 (interwork): Add _interwork_{r7,r11}_call_via_rN().
3399 2004-10-14 Ben Elliston <bje@au.ibm.com>
3402 * diagnostic.c (trim_filename): Fix logic bug in walking backwards
3403 up the filename looking for a previous directory separator.
3405 2004-10-14 Joseph S. Myers <jsm@polyomino.org.uk>
3407 * c-tree.h (enum c_typespec_kind, struct c_typespec,
3408 parser_xref_tag): New.
3409 (struct c_declspecs): Add tag_defined_p. Adjust definition of
3411 (declspecs_add_type): Adjust prototypes.
3412 * c-parse.in (%union): Add tstype.
3413 (typespec_nonattr, typespec_attr, typespec_reserved_nonattr,
3414 typespec_reserved_attr, typespec_nonreserved_nonattr,
3415 structsp_attr, structsp_nonattr): Change to tstype. Update
3417 * c-decl.c (build_null_declspecs): Initialize tag_defined_p.
3418 (declspecs_add_type): Update to take struct c_typespec argument.
3419 Set tag_defined_p and typedef_p as appropriate.
3420 (xref_tag): Rename to parser_xref_tag and replace by wrapper.
3421 Update to return struct c_typespec.
3422 (shadow_tag_warned): Don't let empty declarations with qualifiers
3423 or storage class specifiers redeclare a tag if a previous
3424 declaration is visible.
3426 2004-10-13 Richard Henderson <rth@redhat.com>
3429 * dwarf2out.c (rtl_for_decl_location): Apply big-endian correction
3430 for DECL_INCOMING_RTL.
3432 2004-10-14 Hans-Peter Nilsson <hp@axis.com>
3435 * config/cris/cris.md (asrandb, asrandw, lsrandb, lsrandw): Apply
3436 trunc_int_for_mode for constants used in shortened mode.
3438 2004-10-13 Richard Henderson <rth@redhat.com>
3441 * c-common.c (handle_mode_attribute): Disallow mode changes that
3442 alter the CODE of the top-level type.
3444 * crtstuff.c (__FRAME_END__): Remove mode attribute. Find 32-bit
3445 integer from internal limits macros.
3446 * config/i386/mm3dnow.h (__v2sf): Fix base type.
3448 2004-10-13 Richard Henderson <rth@redhat.com>
3451 * function.c (instantiate_decl): Recurse for CONCAT.
3453 2004-10-13 David Edelsohn <edelsohn@gnu.org>
3455 * config/rs6000/rs6000.md (andsi3): Add attribute "compare" for
3458 (extzvdi_internal1): Add attribute "compare".
3459 (extzvdi_internal2): Same.
3461 2004-10-12 Tom Tromey <tromey@redhat.com>
3463 * doc/md.texi (Insn Canonicalizations): Removed extraneous quote.
3465 2004-10-13 Dale Johannesen <dalej@apple.com>
3467 * doc/extend.texi (Extended Asm): Rewrite asm volatile description.
3469 2004-10-13 Frank Ch. Eigler <fche@redhat.com>
3471 * toplev.c (compile_file): Call mudflap_finish_file from here ...
3472 * c-decl.c (c_write_global_declarations): ... instead of here ...
3473 * cp/decl.c (cp_finish_file): ... and here.
3474 * tree-mudflap.c (mudflap_enqueue_decl): Reword a warning message.
3476 2004-10-13 Andrew Pinski <pinskia@physics.uc.edu>
3478 * tree-ssa-dom.c (record_range): Free the element if we are not
3481 2004-10-13 Tom Tromey <tromey@redhat.com>
3484 * gcc.c (option_map): Added --extdirs and --encoding.
3486 2004-10-13 Eric Botcazou <ebotcazou@libertysurf.fr>
3489 * config/sparc/sparc.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Set to
3490 sparc_can_output_mi_thunk.
3491 (sparc_output_mi_thunk): Simplify handling of delta offset. Add
3492 handling of vcall offset.
3493 (sparc_can_output_mi_thunk): New predicate.
3494 * doc/tm.texi (TARGET_ASM_OUTPUT_MI_THUNK): Document VCALL_OFFSET.
3495 (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Delete.
3496 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New target hook.
3498 * config/sparc/sparc.c (emit_and_preserve): Preserve stack alignment.
3500 * config/sparc/sparc.md (movdi): Remove redundant test.
3502 2004-10-13 Paolo Bonzini <bonzini@gnu.org>
3504 * tree-dump.c (dump_options): Remove TDF_TREE, TDF_RTL,
3505 TDF_IPA from -fdump-tree-*-all.
3507 2004-10-13 Paul Brook <paul@codesourcery.com>
3509 * config/arm/arm-protos.h (arm_load_pic_register): Update prototype.
3510 * config/arm/arm.c (thumb_find_work_register): Update comments.
3511 (arm_load_pic_register): Add argument for scratch register.
3512 (arm_expand_prologue, thumb_expand_prologue): Pass extra argument.
3513 * config/arm/arm.md (builtin_setjmp_receiver): Ditto.
3515 2004-10-13 Kazu Hirata <kazu@cs.umass.edu>
3517 * tree-data-ref.c: Fix comment typos.
3519 2004-10-13 Jakub Jelinek <jakub@redhat.com>
3520 Zdenek Dvorak <dvorakz@suse.cz>
3522 PR tree-optimization/17724
3523 * tree-cfg.c (tree_purge_dead_eh_edges): Free dominance info.
3525 2004-10-13 Dorit Naishlos <dorit@il.ibm.com>
3527 * rs6000.c (altivec_builtin_mask_for_load): Made static GTY(()).
3528 (altivec_builtin_mask_for_store): Likewise.
3529 (altivec_init_builtins): Use lang_hooks.builtin_function to
3530 create the decls for builtin_altivec_mask_for_load/store.
3532 2004-10-13 Nick Clifton <nickc@redhat.com>
3534 * config/c4x/c4x.c: Remove inclusion of loop.h.
3536 2004-10-12 Ben Elliston <bje@au.ibm.com>
3538 * basic-block.h (edge_iterator): Keep the address of VEC(edge) *.
3539 (ei_container): New; renamed.
3540 (ei_start, ei_last): New macros.
3541 (ei_start_1, ei_last_1): Renamed from ei_start.
3542 (ei_last_1, ei_end_p): Use ei_container() where applicable.
3543 (ei_one_before_end_p, ei_next, ei_edge): Likewise.
3544 * gcse.c (remove_reachable_equiv_notes): Use ei_container().
3546 2004-10-11 Sebastian Pop <pop@cri.ensmp.fr>
3548 * Makefile.in (tree-ssa-loop-niter.o): Depends on tree-data-ref.h.
3549 * cfgloop.c (initialize_loops_parallel_p): New.
3550 (flow_loops_find): Initialize the parallel_p field to true for all
3552 * tree-ssa-loop-niter.c: Include "tree-data-ref.h".
3553 (estimate_numbers_of_iterations_loop): Infers the loop bounds from
3554 the size of the data accessed in the loop.
3555 (struct nb_iter_bound): Moved...
3556 * cfgloop.h (struct nb_iter_bound): ... here.
3557 (estimated_nb_iterations, parallel_p): New fields in struct loop.
3558 (record_estimate): Declare extern here.
3559 * tree-chrec.c: Fix comments.
3560 (nb_vars_in_chrec): New function.
3561 * tree-chrec.h (nb_vars_in_chrec): Declared here.
3562 * tree-data-ref.c: Don't include lambda.h, that is already included
3564 (tree_fold_divides_p): Don't check for integer_onep.
3565 (tree_fold_bezout): Removed.
3566 (gcd): New static duplicated function.
3567 (int_divides_p, dump_subscript): New.
3568 (dump_data_dependence_relation): Use dump_subscript.
3569 (dump_dist_dir_vectors, dump_ddrs, compute_estimated_nb_iterations,
3570 estimate_niter_from_size_of_data): New.
3571 (analyze_array_indexes, analyze_array): Call
3572 estimate_niter_from_size_of_data during the detection of array
3573 references. Pass in a pointer to the statement that contains the
3575 (all_chrecs_equal_p): New.
3576 (compute_distance_vector): Renamed compute_subscript_distance.
3577 Deal with multivariate conflict functions.
3578 (initialize_data_dependence_relation): Initialize DDR_AFFINE_P,
3579 DDR_SIZE_VECT, DDR_DIST_VECT, and DDR_DIR_VECT.
3580 (non_affine_dependence_relation): New.
3581 (analyze_ziv_subscript, analyze_siv_subscript_cst_affine,
3582 analyze_siv_subscript, analyze_miv_subscript,
3583 analyze_overlapping_iterations, subscript_dependence_tester):
3584 Initialize and return last_conflicts function.
3585 (initialize_matrix_A, FLOOR, compute_overlap_steps_for_affine_univar,
3586 compute_overlap_steps_for_affine_1_2): New.
3587 (analyze_siv_subscript_affine_cst): Removed.
3588 (analyze_subscript_affine_affine): Disprove dependences based on the
3589 iteration domains. Solve the univariate dependence case as before,
3590 but use lambda_matrix_right_hermite instead of tree_fold_bezout.
3591 Implement the multivariate case of 2 versus 1 variables.
3592 (build_classic_dist_vector, build_classic_dir_vector): Implement some
3594 (find_data_references_in_loop): Compute and initialize
3595 loop->estimated_nb_iterations and loop->parallel_p.
3596 (analyze_all_data_dependences): Modify the debug dump order.
3597 * tree-data-ref.h (SUB_LAST_CONFLICT_IN_A, SUB_LAST_CONFLICT_IN_B,
3598 subscript->last_conflict_in_a, subscript->last_conflict_in_b): Removed.
3599 (SUB_LAST_CONFLICT, subscript->last_conflict,
3600 data_dependence_relation->affine_p, data_dependence_relation->size_vect,
3601 DDR_AFFINE_P, DDR_SIZE_VECT): New.
3602 (find_data_references_in_loop, initialize_data_dependence_relation,
3603 dump_subscript, dump_ddrs, dump_dist_dir_vectors): Declared here.
3605 2004-10-12 Kelley Cook <kcook@gcc.gnu.org>
3607 * configure: Regenerate.
3609 2004-10-12 Fariborz Jahanian <fjahanian@apple.com>
3612 * tree-ssa-dom.c (unsafe_associative_fp_binop): New function.
3613 (simplify_rhs_and_lookup_avail_expr): Disallow associativity
3614 and constant folding of floating point MULT_EXPR/PLUS_EXPR
3617 2004-10-12 Ulrich Weigand <uweigand@de.ibm.com>
3619 * config/s390/s390.c (s390_va_start): Use build_va_arg_indirect_ref.
3620 (s390_gimplify_va_arg): Likewise.
3622 2004-10-12 Daniel Jacobowitz <dan@debian.org>
3624 * defaults.h (REGNO_MODE_OK_FOR_BASE_P, REG_MODE_OK_FOR_BASE_P)
3625 (MODE_BASE_REG_REG_CLASS, REGNO_MODE_OK_FOR_REG_BASE_P)
3626 (REG_MODE_OK_FOR_REG_BASE_P): Provide default definitions.
3627 * regclass.c (record_address_regs): Remove ifdef. Use
3628 REG_MODE_OK_FOR_REG_BASE_P and MODE_BASE_REG_REG_CLASS.
3629 * regrename.c (REG_MODE_OK_FOR_BASE_P): Remove unnecessary
3631 (scan_rtx_address, replace_oldest_value_addr): Use
3632 REG_MODE_OK_FOR_REG_BASE_P and MODE_BASE_REG_REG_CLASS.
3633 * reload.c (REGNO_MODE_OK_FOR_BASE_P, REG_MODE_OK_FOR_BASE_P): Remove
3634 unnecessary definitions.
3635 (find_reloads_address_1): Support REG_MODE_OK_FOR_REG_BASE_P
3636 and MODE_BASE_REG_REG_CLASS.
3637 * config/arm/arm.h (MODE_BASE_REG_CLASS): Don't check reload_completed.
3638 (MODE_BASE_REG_REG_CLASS): Define.
3639 (REGNO_MODE_OK_FOR_REG_BASE_P): Define.
3640 (REG_MODE_OK_FOR_REG_BASE_P): Define.
3641 * doc/tm.texi (Register Classes): Document MODE_BASE_REG_REG_CLASS,
3642 REG_MODE_OK_FOR_REG_BASE_P, and REGNO_MODE_OK_FOR_REG_BASE_P.
3644 2004-10-12 Daniel Berlin <dberlin@dberlin.org>
3646 * tree-ssa-alias.c (verify_name_tags): New function.
3647 (verify_flow_sensitive_alias_info): Remove code that used to check name tags.
3648 (verify_alias_info): Call verify_name_tags.
3650 2004-10-12 Kazu Hirata <kazu@cs.umass.edu>
3652 PR rtl-optimization/17931
3653 * config/i386/i386.c (ix86_rtx_costs): Handle COMPARE with
3656 2004-10-12 Richard Earnshaw <rearnsha@arm.com>
3658 * arm.c (arm_print_operand): Use output_operand_lossage where possible
3659 rather than aborting.
3661 2004-10-12 Paul Brook <paul@coudesourcery.com>
3663 * config.gcc: Add armv6{k,z,zk}
3664 * config/arm/arm-cores.def: Add arm1176 and mpcore.
3665 * config/arm/tune.md: Regenerate.
3666 * config/arm/arm.c (FL_FOR_ARCH6K, FL_FOR_ARCH6Z, FL_FOR_ARCH6ZK):
3668 (all_architectures): Add armv6k, armv6z, armv6zk.
3669 * config/arm/lib1funcs.asm: Recognise new arm arcitectures.
3670 * doc/invoke.texi: Document new arch and cpu values.
3672 2004-10-12 Paul Brook <paul@coodesourcery.com>
3674 * config/arm/bpabi.h (SUBTARGET_EXTRA_ASM_SPEC): Change meabi=3 to
3677 2004-10-12 Paul Brook <paul@codesourcery.com>
3679 * config/arm/arm.md (addsi3_cbranch_scratch): Correct constraints.
3680 Handle negative constants.
3682 2004-10-12 Joseph S. Myers <jsm@polyomino.org.uk>
3685 * c-typeck.c (convert_arguments): Return error_mark_node if there
3686 are too few arguments.
3687 (build_function_call): Handle error_mark_node return from
3690 2004-10-06 Paolo Bonzini <bonzini@gnu.org>
3692 * configure.ac (symbolic_link): Replace with $LN_S.
3693 (Assembler/Linker): Hard link from gas and binutils trees.
3694 * aclocal.m4 (gcc_AC_PROG_LN_S): Try "cp -p" before cp.
3695 * configure: Regenerate.
3697 2004-10-12 Paul Brook <paul@codesourcery.com>
3699 * configure.ac: Don't look for host assembler when building a canadian
3701 * configure: Regenerate.
3703 2004-10-11 Roger Sayle <roger@eyesopen.com>
3706 * c-opts.c (permit_fortran_options): Delete/obsolete global variable.
3707 (c_common_init_options): Remove #ifdef CL_F77 code. Scan command
3708 line options for "-lang-asm" and if found allow any of the C-family
3710 (c_common_handle_option): Remove last use of permit_fortran_options.
3712 2004-10-11 Ulrich Weigand <uweigand@de.ibm.com>
3714 * config/s390/s390.c (print_operand): Support 'S' format flag.
3715 * config/s390/s390.md ("*tmqi_mem"): Use 'S' format flag.
3716 ("*tstsi", "*tstsi_cconly", "*tstsi_cconly2"): Likewise.
3717 ("*tsthiCCT", "*tsthiCCT_cconly", "*tsthi", "*tsthi_cconly"): Likewise.
3718 ("*tstqiCCT", "*tstqiCCT_cconly", "*tstqi", "*tstqi_cconly"): Likewise.
3719 ("*cmphi_ccu", "*cmpqi_ccu", "*clc"): Likewise
3720 ("movti", "*movdi_31", "*movqi", "*movdf_31", "*mvc"): Likewise.
3721 ("*movstricthi"): Likewise.
3722 ("*load_multiple_di", "*load_multiple_si"): Likewise.
3723 ("*store_multiple_di", "*store_multiple_si"): Likewise.
3724 ("*sethiqisi", "*sethihisi"): Likewise.
3725 ("*sethiqidi_64", "*sethiqidi_31"): Likewise.
3726 ("*andqi3_zarch", "*andqi3_esa", "*nc"): Likewise.
3727 ("*iorqi3_zarch", "*iorqi3_esa", "*oc"): Likewise.
3728 ("*xorqi3", "*xc", "*xc_zero"): Likewise.
3729 ("get_tp_64", "get_tp_31", "set_tp_64", "set_tp_31"): Likewise.
3731 ("*tmhi_full"): Fix incorrect op_type attribute.
3733 ("*adddi3_alc_cc", "*adddi3_alc"): Remove double backslash.
3734 ("*subdi3_slb_cc", "*subdi3_slb"): Likewise.
3735 ("*addsi3_alc_cc", "*addsi3_alc"): Likewise.
3736 ("*subsi3_slb_cc", "*subsi3_slb"): Likewise.
3738 2004-10-11 Andrew Pinski <pinskia@physics.uc.edu
3741 * function.c (temp_slots_at_level): Fix typo which creates too
3742 many temp stack slots levels.
3744 2004-10-11 Ulrich Weigand <uweigand@de.ibm.com>
3746 * config/s390/s390.c (s390_trampoline_template): Generate shorter
3748 (s390_trampoline_instantiate): Adapt.
3749 * config/s390/s390.h (TRAMPOLINE_SIZE): Adapt to new code.
3751 2004-10-11 Roger Sayle <roger@eyesopen.com>
3754 * stmt.c (add_case_node): Add additional type argument. Declare
3755 as static to match prototype. Convert the upper and lower bounds
3756 to the specified index type. Optimize away case ranges/values
3757 that are outside the index type's bounds. Truncate case ranges
3758 that span the index type's bounds.
3759 (expand_case): Avoid unnessary computation and memory allocation
3760 when index type is error_mark_node. Pass index_type as required
3761 by change to add_case_node API. No need to convert case range
3762 bounds to index_type, this is now done by add_case_node.
3764 2004-10-11 Ulrich Weigand <uweigand@de.ibm.com>
3766 * config/s390/s390-protos.h (s390_offset_p): Add prototype.
3767 * config/s390/s390.c (s390_offset_p): New function.
3768 * config/s390/s390.md ("*cmpdi_cct", "*cmpsi_cct", "*cmpdi_ccu",
3769 "*cmpsi_ccu", "*cmphi_ccu", "*cmpqi_ccu"): Use splitter to
3770 transform Q->Q alternatives to *clc pattern.
3772 ("movti", "*movdi_64", "*movdi_31", "*movsi_zarch", "*movsi_esa",
3773 "*movhi", "*movqi", "*movdf_64", "*movdf_31", "movsf"): Use splitter
3774 to transform Q->Q alternatives to *mvc pattern.
3775 ("*mvc"): Move. Add peephole to merge adjacent MVCs.
3776 ("*anddi3", "*andsi3_zarch", "*andsi3_esa", "*andhi3_zarch",
3777 "*andhi3_esa", "*andqi3_zarch", "*andqi3_esa"): Use splitter to
3778 transform Q->Q alternatives to *nc pattern.
3779 ("*nc"): New insn. New peephole to merge adjacent NCs.
3780 ("*iordi3", "*iorsi3_zarch", "*iorsi3_esa", "*iorhi3_zarch",
3781 "*iorhi3_esa", "*iorqi3_zarch", "*iorqi3_esa"): Use splitter to
3782 transform Q->Q alternatives to *oc pattern.
3783 ("*oc"): New insn. New peephole to merge adjacent OCs.
3784 ("*xordi3", "*xorsi3", "*xorhi3", "*xorqi3"): Use splitter to
3785 transform Q->Q alternatives to *xc pattern.
3786 ("*xc"): New insn. New peephole to merge adjacent XCs.
3787 ("*xc_zero"): Move. Add peephole to merge adjacent XCs.
3789 2004-10-11 Andrew Pinski <pinskia@physics.uc.edu>
3791 * gimplify.c (gimple_push_condition): Make sure that we don't
3792 have any saved condition cleanup if we were at the top level.
3794 2004-10-11 Richard Sandiford <rsandifo@redhat.com>
3796 * config/frv/frv.md (*adddi3_internal): Change name to...
3797 (adddi3): ...replacing the exisiting define_expand. Combine
3798 alternatives. Fix the range of the constant constraints ('J' instead
3799 of 'NOP'). Remove bogus operands[2] check. Use simplify_gen_subreg
3800 to extract the lower and upper halves of the DImode operands.
3801 Always use addi3_lower and adddi3_upper, not the subdi3 forms.
3802 (adddi3_lower): Fix the range of the constant constraints and
3803 remove the bogus operands[2] check.
3804 (adddi3_upper): Use gpr_or_int10_operand as the predicate for
3805 operand 2. Use addxi to handle constant operands.
3806 (subdi3_lower, subdi3_upper): Don't handle constant operands.
3808 2004-10-11 Nathan Sidwell <nathan@codesourcery.com>
3810 * gengtype-lex.l: Add commented } & ) characters to unconfuse
3811 editor's paren matching. Allow #define inside a struct.
3813 2004-10-10 Andrew Pinski <pinskia@physics.uc.edu>
3816 part of PR c++/17657
3817 * fold-const.c (fold_build_cleanup_point_expr): New function.
3818 * tree.h (fold_build_cleanup_point_expr): Prototype.
3820 2004-10-10 Eric Christopher <echristo@redhat.com>
3822 * dwarf2out.c: Move attribute to subprogram declaration
3823 instead of subroutine type.
3825 2004-10-10 Kazu Hirata <kazu@cs.umass.edu>
3827 * basic-block.h: Remove the prototypes for can_hoist_insn_p,
3828 hoist_insn_after, and hoist_insn_to_edge.
3829 * rtl.h: Remove the prototypes for reg_referenced_between_p,
3830 no_jumps_between_p, and insn_dependent_p.
3831 * rtlanal.c (no_jumps_between_p, reg_referenced_between_p,
3832 insn_dependent_p, insn_dependent_p_1, hoist_test_store,
3833 can_hoist_insn_p, hoist_update_store, hoist_insn_after,
3834 hoist_insn_to_edge): Remove.
3836 2004-10-10 Joseph S. Myers <jsm@polyomino.org.uk>
3839 * c-decl.c (grokparms): Don't warn for parameters of incomplete
3840 type in declarations that are not definitions except for the case
3841 of parameters of void type.
3843 2004-10-10 Kazu Hirata <kazu@cs.umass.edu>
3845 * tree-cfg.c: Fix comment typos.
3847 2004-10-10 Joseph S. Myers <jsm@polyomino.org.uk>
3850 * builtins.c (expand_builtin_va_start): Check for too few
3851 arguments to va_start.
3853 2004-10-10 Joseph S. Myers <jsm@polyomino.org.uk>
3856 * c-decl.c (grokfield): Make diagnostic for bad cases of unnamed
3857 fields a pedwarn. Pedwarn here for unnamed structs/unions if
3859 * c-parse.in (component_decl): Don't pedwarn here for unnamed
3862 2004-10-09 Zdenek Dvorak <dvorakz@suse.cz>
3864 PR tree-optimization/17906
3865 * tree-tailcall.c (tree_optimize_tail_calls_1): Do not attempt to
3866 copy non-gimple reg arguments.
3868 2004-10-09 Roger Sayle <roger@eyesopen.com>
3870 PR rtl-optimization/17853
3871 * simplify-rtx.c (simplify_relational_operation): Correct comment.
3872 Reorganize handling of comparison operations with floating point
3873 results (always return 0.0 even without FLOAT_STORE_FLAG_VALUE).
3874 Likewise, introduce support for comparison operations with vector
3875 result types, introducing a new VECTOR_STORE_FLAG_VALUE target macro.
3877 * doc/rtl.texi: Document new VECTOR_STORE_FLAG_VALUE target macro.
3878 * doc/tm.texi: Likewise.
3880 2004-10-09 Steven Bosscher <stevenb@suse.de>
3882 * regs.h (struct reg_info_def): Remove the last_node_uid and
3883 changes_mode fields.
3884 (REGNO_LAST_NOTE_UID): Don't define.
3885 * regclass.c (reg_scan_mark_refs): Don't set REGNO_LAST_NOTE_UID.
3886 * regmove.c (copy_src_to_dest): Likewise.
3888 2004-10-09 Roger Sayle <roger@eyesopen.com>
3891 * fold-const.c (fold_div_compare): When optimizing X/C1 op C2, the
3892 relational comparison operator op needs to be swapped/reversed when
3893 C1 is negative. i.e. X/-10 < 1 becomes X >= -9, not X < -9.
3895 2004-10-08 Andrew Pinski <pinskia@physics.uc.edu>
3898 * tree-ssa-phiopt.c (conditional_replacement): Use bsi_after_labels
3899 instead of bsi_start.
3900 (value_replacement): Likewise.
3901 (abs_replacement): Likewise
3903 2004-10-09 Steven Bosscher <stevenb@suse.de>
3905 * cfgexpand.c (maybe_dump_rtl_for_tree_stmt): New function.
3906 (expand_gimple_cond_expr, expand_gimple_tailcall,
3907 expand_gimple_basic_block): Use it to dump RTL for each stmt.
3908 (tree_expand_cfg): Announce full RTL function dump.
3909 * tree-optimize.c (execute_one_pass): Use normal RTL printing,
3910 not the graph version.
3911 * tree-pretty-print.c (dump_generic_node): Allow empty statements
3912 in the arms of a COND_EXPR for lowered nodes.
3914 2004-10-08 Joseph S. Myers <joseph@codesourcery.com>
3916 * config/rs6000/spe.h (atosfix16, atosfix32, atosfix64, atoufix16,
3917 atoufix32, atoufix64, strtosfix16, strtosfix32, strtosfix64,
3918 strtoufix16, strtoufix32, strtoufix64): Declare.
3920 2004-10-08 Joseph S. Myers <jsm@polyomino.org.uk>
3922 * c-lex.c (interpret_float): Give a pedwarn rather than a warning
3923 for an out-of-range floating point constant.
3924 * builtins.c (fold_builtin_inf): Give a pedwarn rather than a
3925 warning if the target format does not support infinities.
3927 2004-10-08 Kazu Hirata <kazu@cs.umass.edu>
3929 * emit-rtl.c (last_label_num, base_label_num): Remove.
3930 (max_label_num): Always return label_num.
3931 (set_new_last_label_num, restore_emit_status): Remove.
3932 (init_emit): Don't initialize last_label_num.
3933 * function.c (pop_function_context_from): Don't call
3934 restore_emit_status.
3935 * function.h: Remove the prototype for restore_emit_status.
3936 * rtl.h: Remove the prototype for set_new_last_label_num.
3938 2004-10-08 Kazu Hirata <kazu@cs.umass.edu>
3940 * stmt.c (expand_decl_init): Remove.
3941 * tree.h: Remove the corresponding prototype.
3943 2004-10-08 Kazu Hirata <kazu@cs.umass.edu>
3945 * integrate.c (try_constants, subst_constants, mark_stores):
3947 * integrate.h: Remove the prototype for try_constants.
3949 2004-10-08 Joseph S. Myers <jsm@polyomino.org.uk>
3951 * c-typeck.c (enum impl_conv): Add ic_argpass_nonproto.
3952 (convert_for_assignment): Handle ic_argpass_nonproto. Add
3953 comments about its relevance to errors.
3954 (c_convert_parm_for_inlining): Use ic_argpass_nonproto.
3956 2004-10-08 Andrew Pinski <pinskia@physics.uc.edu>
3959 * c-ppoutput.c (cb_ident): Don't quote string as it is already
3962 2004-10-08 Diego Novillo <dnovillo@redhat.com>
3964 * tree-ssa-pre.c (init_pre): Use size of ARRAY_REF to allocate
3965 reference_node_pool.
3967 2004-10-08 Kazu Hirata <kazu@cs.umass.edu>
3969 * tree-cfg.c: Fix a comment typo.
3971 2004-10-08 Andreas Krebbel <krebbel1@de.ibm.com>
3973 * config/s390/s390.c (s390_register_info): Don't save fprs for
3975 (s390_conditional_register_usage): Make fprs 'fixed' for -msoft-float.
3977 2004-10-08 Ulrich Weigand <uweigand@de.ibm.com>
3979 * config/s390/s390.h (TARGET_DEFAULT_BACKCHAIN): New define.
3980 (TARGET_DEFAULT): Use symbolic values.
3981 * config/s390/tpf.h (TARGET_DEFAULT_BACKCHAIN): Redefine.
3982 (TARGET_DEFAULT): Use symbolic values.
3983 * config/s390/s390.c (s390_backchain_string): Initialize to
3984 TARGET_DEFAULT_BACKCHAIN.
3986 2004-10-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3988 * builtins.c (expand_builtin_mempcpy): Move tree handling code to
3989 fold_builtin_mempcpy. Accept a type parameter. Delete duplicate
3991 (expand_builtin_strcat): Accept a type parameter.
3992 (fold_builtin_mempcpy): Accept a type and endp parameter.
3994 * builtins.c (expand_builtin_strncpy): Delete duplicate code.
3995 Accept an `exp' instead of an `arglist'.
3997 2004-10-08 Nathan Sidwell <nathan@codesourcery.com>
3999 * tree-tailcall.c (tree_optimize_tail_calls_1): Use fold_convert,
4000 reverting my 2004-09-07 patch to use build_int_cst.
4002 2004-10-08 Eric Botcazou <ebotcazou@libertysurf.fr>
4005 * config/sparc/sparc.c (input_operand): Remove redundant code
4006 for handling LO_SUM.
4007 (legitimate_address_p) <REG+REG>: Do not recheck TARGET_V9.
4008 <LO_SUM>: If LO_SUM is offsettable, accept it for TFmode on V9.
4009 Otherwise only accept it for TFmode if quad move insns are available.
4011 2004-10-08 Kazu Hirata <kazu@cs.umass.edu>
4013 * tree-cfg.c (tree_forwarder_block_p): Reorder checks so that
4014 common cases will be caught earlier than others.
4016 2004-10-08 Michael Matz <matz@suse.de>
4018 * loop-doloop.c (doloop_optimize): Extend count.
4020 2004-10-08 Kaz Kojima <kkojima@gcc.gnu.org>
4022 * config/sh/sh.md (prefetch_media, prefetch_i4): New insns.
4023 (prefetch): Convert to expander.
4025 2004-10-08 Kaz Kojima <kkojima@gcc.gnu.org>
4027 * config/sh/sh.md (tls_global_dynamic): Use MEM pattern for the
4028 first argument of CALL.
4029 (tls_local_dynamic): Likewise.
4031 2004-10-08 Joseph S. Myers <jsm@polyomino.org.uk>
4033 * c-typeck.c (enum impl_conv): New.
4034 (convert_for_assignment): Use it. Take tree for function called
4035 instead of its name. Handle ObjC selectors for diagnostics at
4036 start of function. Select diagnostic text within the function
4037 using full sentences for diagnsotics. Use %qE to name functions
4039 (convert_arguments, build_modify_expr,
4040 c_convert_parm_for_inlining, digest_init, c_finish_return): Update
4041 callers to convert_for_assignment.
4042 (warn_for_assignment): Remove.
4044 2004-10-08 Nick Clifton <nickc@redhat.com>
4046 * config/sh/symbian.c (symbian_possibly_export_base_class):
4047 Replace use of deleted TYPE_USES_VIRTUAL_BASECLASSES macro with
4048 TYPE_CONTAINS_VPTR_P.
4050 2004-10-08 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
4052 * config/m32r/m32r.h (CONDITIONAL_REGISTER_USAGE): Don't exclude
4053 fixed registers form all_used_regs. Update call_really_used_regs.
4054 (CALL_REALLY_USED_REGISTERS): Define.
4055 * config/m32r/m32r.c (MUST_SAVE_REGISTER): Replace call_used_regs
4056 with call_really_used_regs.
4058 2004-10-08 Alan Modra <amodra@bigpond.net.au>
4060 * config/rs6000/sysv4.h (STARTFILE_LINUX_SPEC): Choose gcrt1.o
4061 for -profile as well as -p and -pg.
4063 2004-10-07 Andrew Pinski <pinskia@physics.uc.edu>
4065 * libgcc2.c (__moddi3): Cast &w to UDWtype*.
4067 2004-10-07 Kazu Hirata <kazu@cs.umass.edu>
4069 * tree-cfg.c (tree_block_forwards_to): Remove.
4070 * tree-flow.h: Remove the corresponding prototype.
4072 2004-10-07 Kazu Hirata <kazu@cs.umass.edu>
4074 * tree-flow-inline.h (phi_nodes): Remove an unnecessary check
4075 for ENTRY_BLOCK_PTR and EXIT_BLOCK_PTR.
4077 2004-10-07 Geoffrey Keating <geoffk@apple.com>
4080 * config/rs6000/rs6000.c (rs6000_generate_compare): When
4081 flag_trapping_math is in effect, don't generate subtract
4084 2004-10-07 Ulrich Weigand <uweigand@de.ibm.com>
4086 * config/s390/s390-protos.h (s390_narrow_logical_operator): Add.
4087 * config/s390/s390.c (s390_narrow_logical_operator): New fu