1 2004-11-12 Sebastian Pop <pop@cri.ensmp.fr>
3 * tree-data-ref.c (analyze_subscript_affine_affine): Correctly
4 compute the first overlapping iterations.
6 2004-11-12 Sebastian Pop <pop@cri.ensmp.fr>
9 * tree-data-ref.c (estimate_niter_from_size_of_data): Ensure
10 that arguments of EXACT_DIV_EXPR are INTEGER_CST.
12 2004-11-12 Steven Bosscher <stevenb@suse.de>
14 PR tree-optimization/18419
15 * tree-ssa.c (walk_use_def_chains_1): Make the visited map a
16 pointer set instead of a bitmap.
17 (walk_use_def_chains): Create, pass and clean up that pointer_set.
19 * tree-ssa-alias.c (struct alias_info): Make the ssa_names_visited
21 (init_alias_info): Allocate and zero it here.
22 (delete_alias_info): Delete it here.
23 (collect_points_to_info_for): Use it.
25 2004-11-11 Kazu Hirata <kazu@cs.umass.edu>
27 * alias.c (record_alias_subset, addr_side_effect_eval):
29 * alias.h: Remove the prototype for record_alias_subset.
30 * expr.h: Remove the commented-out prototype for
32 * rtl.h: Remove the prototype for addr_side_effect_eval.
34 * cfglayout.c (choose_inner_scope): Make it static.
35 * rtl.h: Remove the corresponding prototype.
37 * cfgloopmanip.c (update_single_exits_after_duplication,
38 unloop): Make them static.
39 * cfgloop.h: Remove the corresponding prototypes.
41 * c-typeck.c (c_size_in_bytes, record_maybe_used_decl):
43 * c-tree.h: Remove the corresponding prototypes.
45 * explow.c (round_push): Make it static.
46 * expr.h: Remove the corresponding prototype.
48 * varasm.c (get_named_section_flags, decl_tls_model): Make
50 * output.h: Remove the prototype for get_named_section_flags.
51 * tree.h: Remove the prototype for decl_tls_model.
53 2004-11-11 Kazu Hirata <kazu@cs.umass.edu>
55 * function.c (expand_function_end): Remove an "if" statement
57 * stmt.c (expand_null_return_1): Likewise.
59 2004-11-11 James E. Wilson <wilson@specifixinc.com>
61 * config/ia64/ia64.h (HARD_REGNO_NREGS): Handle XCmode.
62 (HARD_REGNO_MODE_OK, MODES_TIEABLE_P, SECONDARY_MEMORY_NEEDED,
63 CLASS_MAX_NREGS): Likewise.
65 2004-11-11 Zdenek Dvorak <dvorakz@suse.cz>
67 PR tree-optimization/17742
68 * tree-scalar-evolution.c (follow_ssa_edge_in_rhs): Handle
71 2004-11-11 Sebastian Pop <pop@cri.ensmp.fr>
73 * tree-scalar-evolution.c (follow_ssa_edge_in_condition_phi):
74 Give up as soon as the evolution is known not computable.
76 2004-11-11 Nathan Sidwell <nathan@codesourcery.com>
79 * config/rs6000/rs6000.c (mask64_2_operand): Stub to call
81 (mask64_1or2_operand): Broken out of mask64_2_operand, add flag
82 to spot rlwinm opportunities.
83 (and64_2_operand): Use mask_1or2_operand.
84 * config/rs6000/rs6000.md (anddi3): Use rlwinm when possible.
86 2004-11-11 Dorit Naishlos <dorit@il.ibm.com>
88 * tree-vectorizer.c (update_phi_nodes_for_guard): Call reverse_phis.
89 (vect_update_ivs_after_vectorizer): Update function documentation.
90 Avoid quadratic behavior and direct write to PHI_ARG_DEF.
92 2004-11-11 Kazu Hirata <kazu@cs.umass.edu>
94 * config/arm/arm.c: Fix a comment typo.
96 2004-11-11 Nathan Sidwell <nathan@codesourcery.com>
98 * bitmap.h (nBITMAP_WORD_BITS): Remove.
99 (BITMAP_WORD_BITS): Force unsigned by use of 1u.
100 (BITMAP_ELEMENT_WORDS, BITMAP_ELEMENT_ALL_BITS): Remove
102 (bitmap_first_set_bit): Return unsigned, use ctzl.
103 (bitmap_last_set_bit): Remove.
104 * bitmap.c (bitmap_element_zerop, bitmap_copy): Make iterator
106 (bitmap_first_set_bit): Return unsigned, require non-empty bitmap,
107 remove special case code for two word elements.
108 (bitmap_last_set_bit): Remove.
109 * ra-build.c (livethrough_conflicts_bb): Replace unnecessary use of
110 bitmap_first_set_bit with bitmap_empty_p.
111 * tree-outof-ssa.c (analyze_edges_for_bb): Likewise.
112 * tree-ssa-pre.c (bitmap_print_value): Use simple flag rather than
115 2004-11-11 Nathan Sidwell <nathan@codesourcery.com>
118 * config/rs6000/rs6000.md: Add DF & SF reg move peepholes.
121 * config/rs6000/rs6000.c (rs6000_generate_compare): Generate an
122 unsigned equality compare when we know the operands are unsigned.
124 2004-11-10 Peter S. Mazinger <ps.m@gmx.net>
126 * config/mips/linux.h (LINUX_TARGET_OS_CPP_BUILTINS): Define
127 __PIC__ and __pic__ only if TARGET_ABICALLS.
128 (SUBTARGET_CPP_SPECS): Don't define or undefine __PIC__ and __pic__.
129 (SUBTARGET_ASM_SPECS): Don't pass -non_shared to assembler; pass
130 -KPIC only if not -mno-abicalls.
132 * config/alpha/linux.h, config/arm/linux-elf.h, config/pa/pa-linux.h
133 * config/sparc/linux.h, config/sparc/linux64.h
134 (TARGET_OS_CPP_BUILTINS): Define __PIC__ and __pic__ if flag_pic.
136 * config/arm/linux-gas.h (CPP_SPEC): Don't define __PIC__ or __pic__.
137 * config/pa/pa/linux.h (CPP_SPEC): Likewise.
138 * config/sparc/linux.h (CPP_SUBTARGET_SPEC): Likewise.
139 * config/sparc/linux64.h (CPP_SUBTARGET_SPEC): Likewise.
141 2004-11-11 Paul Brook <paul@codesourcery.com>
143 * config/arm/arm.c (arm_compute_save_reg0_reg12_mask): Save PIC
144 register if current_function_uses_pic_offset_table is set.
146 2004-11-10 David Edelsohn <edelsohn@gnu.org>
148 * config/rs6000/rs6000.md (define_attr "type"): Add two and three.
149 Change multi-instruction sequences to new attribute.
150 * config/rs6000/{40x.md,440.md,603.md,6xx.md,
151 7450.md,7xx.md,8540.md,mpc.md,power4.md,power5.md,
152 rios1.md,rios2.md,rs64.md}: Add descriptions for two and three.
154 2004-11-10 Daniel Berlin <dberlin@dberlin.org>
156 * tree-data-ref.c (build_classic_dist_vector): If either loop
157 is outside of the nest we asked about, the dependence can't
159 (build_classic_dir_vector): Ditto.
161 2004-11-10 Zdenek Dvorak <dvorakz@suse.cz>
163 * tree-ssa-loop-ivopts.c (get_address_cost): Add address elements in
165 (force_var_cost): Determine cost of addition and multiplication more
167 (get_computation_cost_at): Add cost for computing address elements to
170 * fold-const.c (fold): Attempt to use ptr_difference_const whenever
171 one of the arguments of MINUS_EXPR is an address.
172 (split_address_to_core_and_offset): New function.
173 (ptr_difference_const): Handle case when one of the operands is a
175 * tree-ssa-loop-ivopts.c (determine_base_object): Fold &*addr.
176 (ptr_difference_cost): Pass addresses instead of objects to
177 ptr_difference_const.
179 2004-11-10 Nathan Sidwell <nathan@codesourcery.com>
181 * tree.c (tree_check_failed): Emit general error if the list of
184 2004-11-10 Eric Botcazou <ebotcazou@libertysurf.fr>
186 * config/sparc/sparc.c (function_arg_union_value): New 'slotno'
187 argument. When the union is passed in the 6th slot, build a
188 PARALLEL with only one element.
189 (function_arg): Adjust call to function_arg_union_value.
190 (function_value): Likewise.
192 2004-11-10 Fariborz Jahanian <fjahanian@apple.com>
194 PR tree-optimization/17892
195 * tree-ssa-dom.c (unsafe_associative_fp_binop): Add test for
198 2004-11-10 James A. Morrison <phython@gcc.gnu.org>
201 (addsi3, subsi3): Set "fptype" attribute.
202 (addv2si, addv4hi, addv2hi, subv2si, subv4hi, subv2hi): New patterns.
204 2004-11-10 Steven Bosscher <stevenb@suse.de>
206 * basic-block.h (XMALLOC_REG_SET, XFREE_REG_SET): New.
207 (struct basic_block_def): Remove local_set and cond_local_set
208 fields. Update comment for global_live_at_start.
209 * flow.c (calculate_global_regs_live): Allocate local_sets and
210 cond_local_sets here as arrays of bitmaps previously stored in
211 bb->local_set and bb->cond_local_set. Use xmalloc instead of
212 obstack allocated bitmaps.
214 2004-11-09 H.J. Lu <hongjiu.lu@intel.com>
217 * config/ia64/unwind-ia64.h (_Unwind_FindTableEntry): Mark it
220 * unwind-dw2.c (_Unwind_FindTableEntry): Removed.
222 2004-11-09 Jeff Law <law@redhat.com>
224 * cfganal.c (flow_dfs_compute_reverse_execute): Accept new
225 argument holding last unvisited block. Start search for
226 unvisited blocks at LAST_UNVISITED rather than EXIT_BLOCK.
227 (connect_infinite_loops_to_exit): Supply last unvisited block
228 to flow_dfs_compute_reverse_execute.
230 2004-10-22 Aldy Hernandez <aldyh@redhat.com>
232 * config/rs6000/rs6000.md (fix_truncdfsi2): Handle e500
234 (floatunssidf2): Same.
236 ("extendsfdf2"): New expander.
237 (*extendsfdf2_fpr): Rename.
238 (*truncdfsf2_fpr): Same.
241 (*nabsdf2_fpr): Same.
247 * config/rs6000/spe.md ("spe_extendsfdf2"): Remove FIXME comment.
248 ("spe_fix_truncdfsi2"): Same.
249 (spe_floatunssidf2): Same.
250 (spe_floatsidf2): Same.
252 2004-11-09 Joseph S. Myers <joseph@codesourcery.com>
255 * c-common.c (fname_decl): Don't use line number of decl in
258 2004-11-09 Ulrich Weigand <uweigand@de.ibm.com>
260 * config/s390/s390-protos.h (s390_pool_operand): Remove.
261 * config/s390/s390.c (s390_pool_operand): Likewise.
262 (s390_extra_constraint_str): Handle 'B' constraints.
263 * config/s390/s390.h (CONSTRAINT_LEN): Handle 'B' constraints.
264 * config/s390/s390.md: Document 'B' constraints.
265 ("*cmpdi_cct", "*cmpsi_cct"): Use 'B' constraint instead of
266 s390_pool_operand to prevent insns with two literal pool
267 references. Make pattern commutative.
268 ("*cmpdi_ccu", "*cmpsi_ccu", "*cmphi_ccu", "*cmpqi_ccu"): Use
269 'B' constraint instead of s390_pool_operand.
271 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
273 * tree-cfg.c (create_bb): Remove unnecessary memset.
275 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
277 * tree-ssa-threadupdate.c (copy_phis_to_block): Remove.
278 (thread_block): Call flush_pending_stmt instead of
281 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
283 * loop-iv.c (iv_number_of_iterations): Make it static.
284 * cfgloop.h: Remove the corresponding prototype.
286 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
288 * function.c (combine_temp_slots, assign_parms,
289 expand_pending_sizes): Make them static.
290 * tree.h: Remove the corresponding prototypes.
292 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
294 * emit-rtl.c (copy_most_rtx): Remove.
295 * rtl.h: Remove the corresponding prototype.
297 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
299 * cfgloop.c (flow_loops_update): Remove.
300 * cfgloop.h: Remove the corresponding prototype.
302 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
304 * conflict.c (mark_reg, conflict_graph_compute): Remove.
305 * basic-block.h: Remove the prototype for
306 conflict_graph_compute.
308 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
310 * tree-if-conv.c (add_to_dst_predicate_list): Change the
311 second argument to basic_block.
312 (tree_if_convert_cond_expr): Update call sites.
314 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
316 * fold-const.c (pedantic_non_lvalue): Make it static.
317 * tree.h: Remove the corresponding prototype.
319 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
321 * optabs.c (prepare_operand): Make it static.
322 * optabs.h: Remove the corresponding prototype.
324 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
326 * reload1.c (reloads_conflict, gen_reload): Make them static.
327 * reload.h: Remove the corresponding prototypes.
329 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
331 * reload.c (refers_to_mem_for_reload_p,
332 refers_to_regno_for_reload_p): Make them static.
333 * reload.h: Remove the corresponding prototypes.
335 2004-11-09 James A. Morrison <phython@gcc.gnu.org>
336 Eric Botcazou <ebotcazou@libertysurf.fr>
339 * doc/md.texi (SPARC constraints): Document 'Y' constraint.
340 * config/sparc/sparc-modes.def: Add vector modes of 4 and 8 bytes.
341 * config/sparc/sparc.c (sparc_vector_mode_supported_p): New function.
342 (TARGET_VECTOR_MODE_SUPPORTED_P): Set to sparc_vector_mode_supported_p.
343 (fp_zero_operand): Accept MODE_VECTOR_INT modes.
344 (input_operand): Accept CONST_VECTOR with MODE_VECTOR_INT modes.
345 (sparc_cannot_force_const_mem): Return false for CONST_VECTOR.
346 (sparc_init_modes): Set sparc_mode_class to SF_MODE or DF_MODE for
347 MODE_VECTOR_INT modes.
348 (sparc_extra_constraint_check): Add new constraint 'Y'.
349 * config/sparc/sparc.h: Define UNITS_PER_SIMD_WORD to 8 for TARGET_VIS.
350 * config/sparc/sparc.md (V32): New mode macro for 32-bit modes.
351 (V64): New mode macro for 64-bit modes.
352 (movsf): Use V32 for mode instead of SF.
353 (movsf_insn_vis): Use V32 for mode instead of SF. Add 'Y' constraint
354 alongside 'G' constraint.
355 (movdf): Use V64 for mode instead of DF.
356 (movdf_insn_v9only_vis, modf_insn_sp64_vis): Use V64 for mode instead
357 of DF. Add 'Y' constraint alongside 'G' constraint.
358 (multi-isn and misaligned mems DFmode splitters): Use V64 for mode
361 2004-11-09 Ulrich Weigand <uweigand@de.ibm.com>
363 * config/s390/s390.c (s390_select_ccmode): Return CCAPmode for
365 * config/s390/s390.md ("*negdi2_64"): Fix op_type attribute.
366 ("*negdi2_31"): Reimplement using a splitter.
367 ("*negdi2_cc", "*negdi2_cconly"): New insns.
368 ("*negdi2_sign", "*negdi2_sign_cc"): Likewise.
369 ("*negsi2_cc", "*negsi2_cconly"): Likewise.
370 ("*negdf2_cc", "*negdf2_cconly"): Likewise.
371 ("*negsf2_cc", "*negsf2_cconly"): Likewise.
372 ("*absdi2_cc", "*absdi2_cconly"): New insns.
373 ("*absdi2_sign", "*absdi2_sign_cc"): Likewise.
374 ("*abssi2_cc", "*abssi2_cconly"): Likewise.
375 ("*absdf2_cc", "*absdf2_cconly"): Likewise.
376 ("*abssf2_cc", "*abssf2_cconly"): Likewise.
377 ("*negabsdi2_cc", "*negabsdi2_cconly"): New insns.
378 ("*negabsdi2_sign", "*negabsdi2_sign_cc"): Likewise.
379 ("*negabssi2_cc", "*negabssi2_cconly"): Likewise.
380 ("*negabsdf2_cc", "*negabsdf2_cconly"): Likewise.
381 ("*negabssf2_cc", "*negabssf2_cconly"): Likewise.
383 2004-11-09 Ulrich Weigand <uweigand@de.ibm.com>
385 * config/s390/s390.c (s390_canonicalize_comparison): Reverse condition
386 when eliminating an UNSPEC_CMPINT.
387 (s390_secondary_input_reload_class): Fix test for CC register reload.
388 (s390_secondary_output_reload_class): Likewise.
389 (s390_expand_cmpmem): Swap operands. Use gen_cmpint.
390 * config/s390/s390.md ("*cmpint_si", "*cmpint_di"): Remove.
391 ("cmpint", "*cmpint_cc", "*cmpint_sign", "*cmpint_sign_cc"): New
392 insn patterns with splitters.
394 2004-11-09 David Edelsohn <edelsohn@gnu.org>
396 * config/rs6000/rs6000.c (rs6000_rtx_costs): Add EQ, GTU, and LTU.
397 * config/rs6000/rs6000.md (sCC): Split GTU and LTU patterns.
399 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
401 * tree-phinodes.c (phi_reverse): New.
402 * tree-cfg.c (tree_make_forwarder_block, tree_duplicate_bb):
404 * tree-flow.h: Add a prototype for phi_reverse.
406 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
408 * tree-ssa-loop-ivopts.c: Fix a comment typo.
410 2004-11-09 James A. Morrison <phython@gcc.gnu.org>
413 * config/host-linux.c (TRY_EMPTY_VM_SPACE): Add __sparc__
416 2004-11-09 Joseph S. Myers <joseph@codesourcery.com>
418 * builtins.c, c-common.c, c-decl.c, c-format.c: Say "argument"
419 instead of "arg" in diagnostics.
421 2004-11-09 Joseph S. Myers <joseph@codesourcery.com>
423 * builtins.c, c-common.c, c-decl.c, c-format.c, c-format.h,
424 c-parse.in, c-pch.c, c-pragma.c, collect2.c, final.c, gcc.c,
425 gcov.c, opts.c, pretty-print.h, protoize.c, reg-stack.c, rtl.c,
426 tlink.c, config/alpha/alpha.c, config/arc/arc.c, config/arm/arm.c,
427 config/avr/avr.c, config/c4x/c4x.c, config/darwin.c,
428 config/frv/frv.c, config/h8300/h8300.c, config/i386/i386.c,
429 config/i386/winnt.c, config/ia64/ia64.c, config/ip2k/ip2k.c,
430 config/iq2000/iq2000.c, config/m32r/m32r.c,
431 config/m68hc11/m68hc11.c, config/m68k/m68k.c, config/m68k/m68k.h,
432 config/mcore/mcore.c, config/mips/mips.c, config/mmix/mmix.c,
433 config/ns32k/ns32k.c, config/rs6000/host-darwin.c,
434 config/rs6000/rs6000.c, config/s390/s390.c, config/sh/sh.c,
435 config/sh/symbian.c, config/stormy16/stormy16.c,
436 config/v850/v850.c: Avoid "`" as left quote, using "'" or %q, %<
437 and %> as appropriate. Use %' as apostrophe in diagnostics where
438 applicable. Use %< and %> in place of '' quotes where applicable.
439 Use %qs in place of %<%s%>. Consistently quote __builtin function
442 2004-11-09 Hans-Peter Nilsson <hp@bitrange.com>
444 * gdbinit.in (pbb, pbm): New macros.
446 2004-11-08 Jeff Law <law@redhat.com>
448 * cfg.c (redirect_edge_succ_nodup): Use find_edge rather than
449 implementing it inline.
451 * cfganal.c (find_edge): Search pred->succs or succ->preds,
452 whichever is shorter.
454 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
456 * passes.c (rest_of_handle_jump): Remove dead code.
458 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
460 * tree-cfg.c (thread_jumps): Speed up by keeping a pointer to
461 the last used element in the worklist.
463 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
465 * tree-inline.c (remap_save_expr): Make it static.
466 * tree-inline.h: Remove the corresponding prototype.
468 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
470 * tree-ssa-loop-niter.c (upper_bound_in_type,
471 lower_bound_in_type): Make them static.
472 * tree.h: Remove the corresponding prototypes.
474 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
476 * tree-ssa-live.c (tpa_init, pop_best_coalesce): Make them
478 * tree-ssa-live.h: Remove the corresponding prototypes.
480 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
482 * tree-if-conv.c (tree_if_conversion): Make it static.
483 * tree-flow.h: Remove the corresponding prototype.
485 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
487 * tree-ssa-operands.c (build_ssa_operands): Make it static.
488 * tree-flow.h: Remove the corresponding prototype.
490 2004-11-08 Andrew Pinski <pinskia@physics.uc.edu>
493 * tree-inline.c (copy_body_r): Change "t = t" to empty
494 statement instead of "t".
496 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
498 * modulo-sched.c (create_partial_schedule,
499 free_partial_schedule, reset_partial_schedule,
500 ps_add_node_check_conflicts, rotate_partial_schedule): Make
503 2004-11-08 Richard Henderson <rth@redhat.com>
505 * expmed.c (extract_force_align_mem_bit_field): Correct handling at
508 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
510 * sched-deps.c (add_insn_mem_dependence): Make it static.
511 * sched-int.h: Remove the corresponding prototypes.
513 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
515 * flow.c (allocate_bb_life_data): Make it static.
516 * basic-block.h: Remove the corresponding prototype.
518 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
520 * calls.c (split_complex_values, split_complex_types): Make
522 * expr.h: Remove the corresponding prototypes.
524 2004-11-08 Richard Earnshaw <rearnsha@arm.com>
526 * arm.c (arm_handle_notshared_attribute): Wrap declaration and use
527 with #if TARGET_DLLIMPORT_DECL_ATTRIBUTES.
529 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
531 * tree-if-conv.c (tree_if_convert_cond_expr): Remove two "if"
532 statements that always trigger.
534 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
536 * tree-cfg.c, tree-if-conv.c, tree-into-ssa.c,
537 tree-scalar-evolution.c, tree-ssa-loop-im.c,
538 tree-ssa-loop-ivopts.c, tree-ssa-loop-manip.c, tree-ssa.c,
539 tree-vectorizer.c: Replace TREE_CHAIN with PHI_CHAIN where
542 2004-11-08 Ben Elliston <bje@au.ibm.com>
544 * cgraph.h (cgraph_calls_p): Remove.
545 * cgraph.c (cgraph_calls_p): Likewise.
547 * varray.h (varray_copy): Remove.
548 * varray.c (varray_copy): Likewise.
550 2004-11-07 Andrew Pinski <pinskia@physics.uc.edu>
553 * config/darwin.c (machopic_indirect_data_reference):
554 Call gen_macho_high and gen_macho_low instead of
555 checking the mode and calling gen_macho_high_di directly.
556 * config/rs6000/rs6000.c (rs6000_emit_move): Likewise.
557 * config/rs6000/rs6000.md: Move most of TARGET_MACHO expand/insns
559 (movdf_low, movsf_low, movsf_low_st, movsi_low, macho_correct_pic,
560 load_macho_picbase, macho_low, macho_high): Removed.
561 (builtin_setjmp_receiver): Call gen_macho_high and
562 gen_macho_low instead of checking the mode and calling
563 gen_macho_high_di directly.
564 * config/rs6000/darwin.md (load_macho_picbase_di): Use the MD constant.
565 (movdf_low_si, movsf_low_si, movsf_low_st_si, movsi_low_st):
566 Moved from rs6000.md.
567 (macho_high): New expander.
568 (macho_high_si): Renamed version of macho_high from rs6000.md.
569 (macho_low): New expander.
570 (macho_low_si): Renamed version of macho_low from rs6000.md.
571 (load_macho_picbase): New expander.
572 (load_macho_picbase_si): Renamed version of load_macho_picbase
574 (macho_correct_pic): New expander.
575 (macho_correct_pic_si): Renamed version of macho_correct_pic
578 2004-11-07 Joseph S. Myers <joseph@codesourcery.com>
580 * c-decl.c (finish_struct): Use complete sentences for diagnostic
581 for structures or unions with no members or named members.
583 2004-11-07 Joseph S. Myers <joseph@codesourcery.com>
585 * c-typeck.c (build_unary_op): Replace unreachable diagnostic for
586 taking address of bit-field by assertion.
588 2004-11-06 Ulrich Weigand <uweigand@de.ibm.com>
590 * config/s390/s390.md (attribute "op_type"): Default to "NN".
591 (attribute "atype"): Default to "agen".
592 (attribute "length"): Default to 6.
593 (define_asm_attibutes): Remove.
594 ("movti", "*movdi_64", "*movdi_31", "*movsi_zarch", "*movsi_esa",
595 "*movhi", "*movqi", "*movdf_64", "*movdf_31", "movsf",
596 "*clc", "*mvc", "*nc", "*oc", "*xc", "*xc_zero"):
597 Do not set type attribute to "cs" where already default.
598 ("*cmpint_si", "*cmpint_di", "fix_truncdfsi2_ibm", "floatsidf2_ibm",
600 Do not set type attribute to "other" where already default.
601 ("movti", "*movdi_64", "*movdi_31", "*movdf_31",
602 "*strlendi", "*strlensi",
603 "*movmem_long_64", "*movmem_long_31",
604 "*clrmem_long_64", "*clrmem_long_31",
605 "*cmpmem_long_64", "*cmpmem_long_31",
606 "*cmpint_si", "*cmpint_di",
607 "addti3", "*adddi3_31z", "*adddi3_31",
608 "subti3", "*subdi3_31z", "*subdi3_31", "*negdi2_31",
609 "*sconddi", "*scondsi", "*sconddi_neg", "*scondsi_neg",
610 "fix_truncdfsi2_ibm", "floatsidf2_ibm", "extendsfdf2_ibm",
611 "*pool_entry", "pool_align", "pool_section_start",
612 "pool_section_end", "main_pool", "reload_base_31", "pool"):
613 Do not set op_type attribute to "NN" where already default.
614 ("*extractqi", "*extracthi", "*zero_extendhisi2_31",
615 "*zero_extendqisi2_31", "*zero_extendqihi2_31",
616 "fix_truncdfsi2_ibm", "floatsidf2_ibm"):
617 Do not set atype attribute to "agen" where already default.
618 ("*movmem_short", "*clrmem_short", "*cmpmem_short"): Don't set op_type.
620 2004-11-06 Richard Sandiford <rsandifo@redhat.com>
622 * config/mips/t-iris6 (tp-bit.c): Fix target filename.
624 2004-11-06 Richard Sandiford <rsandifo@redhat.com>
627 * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Don't define the
628 R3000 and R4000 macros on IRIX.
630 2004-11-06 Andreas Schwab <schwab@suse.de>
633 * config/rs6000/altivec.h: Replace bool by __bool and pixel by
636 2004-11-06 Kazu Hirata <kazu@cs.umass.edu>
638 * tree-ssa-copyrename.c (rename_ssa_copies): Make it static.
640 2004-11-06 Ulrich Weigand <uweigand@de.ibm.com>
642 * config/s390/2064.md ("z_int", "z_agen"): Ensure the condition
643 matches no insns already matched by other reservations.
644 * config/s390/2084.md ("x_int", "x_agen"): Ensure the condition
645 matches no insns already matched by other reservations.
646 ("x_ss"): Remove, replace by ...
647 ("x_cs"): ... this new reservation. Check type instead of op_type.
648 Update bypasses to use x_cs instead of x_ss.
649 ("x_nn"): Remove, replace by ...
650 ("x_other"): ... this new reservation. Check type instead of op_type.
651 Add x_other and x_branch to bypasses.
652 ("x_vs"): New reservation.
653 * config/s390/s390.md (attribute "type"): Default according to op_type.
654 ("*execute"): Set type to "cs".
656 2004-11-06 Kazu Hirata <kazu@cs.umass.edu>
658 * fold-const.c (non_lvalue): Don't construct NON_LVALUE_EXPR
661 2004-11-06 Hans-Peter Nilsson <hp@bitrange.com>
663 PR rtl-optimization/17933
664 * rtlanal.c (dead_or_set_regno_p): Break out common code to...
665 (covers_regno_p): New function. Handle SETs of PARALLEL,
666 and defer the rest to...
667 (covers_regno_no_parallel_p): New function.
669 2004-11-06 Eric Botcazou <ebotcazou@libertysurf.fr>
671 * config/sparc/sparc.c (function_arg_record_value_1): Skip
672 fields with zero length.
673 (function_arg_record_value_2): Likewise.
674 (function_arg_record_value_3): Use smallest_mode_for_size
675 instead of mode_for_size.
676 (function_arg_union_value): Return naked register for unions
679 2004-11-06 Eric Botcazou <ebotcazou@libertysurf.fr>
681 * config/sparc/sparc.c (scan_record_type): Handle vector types.
682 (function_arg_slotno): Handle vector types specially.
683 (function_arg_record_value_1): Split fields with vector type and
684 BLKmode into their subparts.
685 (function_arg_record_value_2): Likewise. Be prepared to handle
686 more than 2 registers per field.
687 (function_arg_union_value): Increment regno inside the loop.
688 (function_arg_vector_value): New function.
689 (function_arg): Use it to split fields with vector type and
690 BLKmode into their subparts and build a PARALLEL. Treat
691 other vector types like floats.
692 (function_value): Likewise.
693 (sparc_pass_by_reference): Handle vector types.
694 (sparc_return_in_memory): Likewise.
696 2004-11-06 Kazu Hirata <kazu@cs.umass.edu>
698 * tree-cfg.c (find_taken_edge_cond_expr): Remove an "if"
699 statement that never triggers.
701 2004-11-06 Ulrich Weigand <uweigand@de.ibm.com>
703 * config/s390/2064.md ("z_o2", "z_o3"): Remove.
704 * config/s390/2084.md ("x_o2", "x_o3"): Remove.
705 ("x_fdivd"): Use also for fsqrtd type.
706 ("x_fdivs"): Use also for fsqrts type.
707 * config/s390/s390.md (attribute "type"): Remove "o2" and "o3" types.
708 ("fix_truncdfsi2_ieee"): Set type to "ftoi".
709 ("fix_truncdfsi2_ibm"): Set type to "other".
710 ("floatdidf2", "floatdisf2"): Do not clobber CC.
711 ("floatsidf2", "floatsidf2_ieee"): Likewise.
712 ("floatsisf2", "floatsisf2_ieee"): Likewise.
713 ("truncdfsf2", "truncdfsf2_ieee"): Only allow "register_operand".
714 ("truncdfsf2_ibm"): Only allow "nonimmediate_operand". Use LER
716 ("extendsfdf2_ibm"): Do not set atype. Set type to "floads".
717 ("sqrtdf2"): Set type to "fsqrtd".
718 ("sqrtsf2"): Set type to "fsqrts".
720 2004-11-06 Kazu Hirata <kazu@cs.umass.edu>
722 * tree-phinodes.c (remove_all_phi_nodes_for): Speed up using a
723 pointer to the last PHI node in the new PHI chain.
725 2004-11-06 Kaz Kojima <kkojima@gcc.gnu.org>
727 * config/sh/sh.c (prepare_move_operands): Emit a use of r12
728 for non-PIC TLS_MODEL_INITIAL_EXEC case.
730 2004-11-06 Kazu Hirata <kazu@cs.umass.edu>
732 * expmed.c: Fix a comment typo.
734 2004-11-06 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
737 * config/i386/cygming.h
738 [HAVE_GAS_WEAK] (ASM_WEAKEN_LABEL): Macro defined.
740 2004-11-06 Kazu Hirata <kazu@cs.umass.edu>
742 * config/sh/sh4a.md: Fix copyright.
744 2004-11-06 Kazu Hirata <kazu@cs.umass.edu>
746 * config/rs6000/darwin.md, config/sh/sh4a.md: Replace GNU CC
749 2004-11-05 David Edelsohn <edelsohn@gnu.org>
751 * config/rs6000/rs6000.md (scc patterns): Replace subfc with subf
752 when carry not used. Suggested by Torbjorn Granlund.
754 * config/rs6000/rs6000.c (rs6000_emit_move): Don't force_reg
755 operand[1] unnecessarily. Suggested by Eric Christopher.
756 (rs6000_adjust_cost): Increase latency of store to wider load.
757 (rs6000_rtx_costs): mulli only allows 16-bit constants.
759 2004-11-05 Stan Shebs <shebs@apple.com>
761 * config/rs6000/rs6000.c (machopic_output_stub): Output
762 ldu instead of lwzu for 64-bit stubs.
764 2004-11-05 Richard Henderson <rth@redhat.com>
766 * config/alpha/alpha.c (alpha_expand_unaligned_load): Special case
768 (alpha_expand_unaligned_store): Likewise.
770 2004-11-05 Richard Henderson <rth@redhat.com>
772 * expmed.c (extract_force_align_mem_bit_field): New.
773 (extract_split_bit_field): Call it.
775 2004-11-05 Richard Henderson <rth@redhat.com>
777 * ia64.md (UNSPEC_SHRP): New.
778 (dshift_count_operand): New.
779 (ashrti3, ashrti3_internal, lshrti3, lshrti3_internal, shrp): New.
780 * ia64.c (rtx_needs_barrier): Handle UNSPEC_SHRP.
782 2004-11-05 Joseph S. Myers <joseph@codesourcery.com>
784 * c-typeck.c (output_init_element): Return early if value is
787 2004-11-05 James E Wilson <wilson@specifixinc.com>
789 * invoke.texi (-fno-guess-branch-probability): Rewrite.
791 * config/ia64/ia64.c (rtx_needs_barrier, case UNSPEC_GR_SPILL): Change
792 1 to UNSPEC_GR_SPILL.
794 2004-11-05 Andreas Krebbel <krebbel1@de.ibm.com>
796 * config/s390/s390.c (s390_fixed_condition_code_regs): New function.
797 (TARGET_FIXED_CONDITION_CODE_REGS): Macro defined.
799 2004-11-05 Nathan Sidwell <nathan@codesourcery.com>
801 * bitmap.h (enum bitmap_bits): Remove.
802 (bitmap_operation): Remove.
803 (bitmap_and, bitmap_and_into, bitmap_and_compl,
804 bitmap_and_compl_into, bitmap_ior, bitmap_ior_into, bitmap_xor,
805 bitmap_xor_into): Prototype.
806 * bitmap.c (bitmap_elt_insert_after, bitmap_elt_clear_from): New.
807 (bitmap_operation): Remove.
808 (bitmap_and, bitmap_and_into, bitmap_and_compl,
809 bitmap_and_compl_into, bitmap_ior, bitmap_ior_into, bitmap_xor,
810 bitmap_xor_into): New.
811 (bitmap_ior_and_compl, bitmap_ior_and_compl_into): Adjust.
813 PR tree-optimization/18307
814 * tree-ssa-alias.c (merge_pointed_to_info): Protected against DEST
815 and ORIG being the same node.
817 2004-11-04 Geoffrey Keating <geoffk@apple.com>
819 * Makefile.in (distclean): Don't delete nonexistent fixinc/ directory.
820 (install-mkheaders): Install the version built for the
821 host, not for the build machine.
822 * configure.ac: Always run fixincludes.
823 (all_outputs): Remove mkheaders.
824 * configure: Regenerate.
825 * fixinc.in: Move to fixincludes/.
826 * mkfixinc.sh: Likewise.
827 * mkheaders.in: Likewise.
828 * README-fixinc: Likewise.
830 2004-11-05 Ramana Radhakrishnan <ramana.radhakrishnan@codito.com>
833 * config/arc/lib1funcs.asm (___umulsidi3): Change use of cmp to the
834 equivalent on the A4.
836 2004-11-05 Joseph S. Myers <joseph@codesourcery.com>
838 * doc/c-tree.texi, doc/cfg.texi, doc/contrib.texi, doc/cpp.texi,
839 doc/cppopts.texi, doc/extend.texi, doc/fragments.texi,
840 doc/frontends.texi, doc/gcov.texi, doc/hostconfig.texi,
841 doc/implement-c.texi, doc/install.texi, doc/invoke.texi,
842 doc/libgcc.texi, doc/md.texi, doc/passes.texi,
843 doc/portability.texi, doc/rtl.texi, doc/sourcebuild.texi,
844 doc/standards.texi, doc/tm.texi, doc/tree-ssa.texi,
845 doc/trouble.texi: Correct end-of-sentence markup and markup of
846 "etc.", "e.g." and "i.e.". Use @code in various places where
849 2004-11-05 Joseph S. Myers <joseph@codesourcery.com>
851 * doc/c-tree.texi, doc/cfg.texi, doc/extend.texi, doc/gty.texi,
852 doc/install.texi, doc/invoke.texi, doc/md.texi, doc/passes.texi,
853 doc/rtl.texi, doc/tm.texi, doc/tree-ssa.texi: Remove trailing
856 2004-11-04 Mark Mitchell <mark@codesourcery.com>
858 * config/arm/arm.c (arm_handle_notshared_attribute): New function.
859 * doc/extend.texi: Document "notshared" attribute.
861 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
863 * tree-phinodes.c (make_phi_node): Make it static.
864 * tree.h: Remove the prototypes for make_phi_node.
866 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
868 * stmt.c (expand_asm, expand_asm_operands): Make them static.
869 * tree.h: Remove the prototypes for expand_asm and
872 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
874 * passes.c (rest_of_compilation): Make it static.
875 * toplev.h: Remove the prototype for rest_of_compilation.
877 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
879 * jump.c (cleanup_barriers): Use delete_insn instead of
881 (delete_barrier): Remove.
882 * rtl.h: Remove the corresponding prototype.
884 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
886 * expr.c (mostly_zero_p): Make it static.
887 * tree.h: Remove the prototype for mostly_zeros_p.
889 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
891 * cfgrtl.c (force_nonfallthru_and_redirect): Make it static.
893 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
895 * builtins.c (expand_builtin_return_addr,
896 expand_builtin_longjmp, expand_builtin_trap): Make them static.
897 * expr.h: Remove the prototypes for expand_builtin_longjmp and
899 * tree.h: Remove the prototype for expand_builtin_return_addr.
901 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
903 * tree-cfg.c (find_taken_edge): Reject VAL begin NULL.
904 * tree-ssa-ccp.c (visit_cond_stmt): Don't call find_taken_edge
907 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
909 * cfghooks.c (delete_basic_block): Remove code to truncate
912 2004-11-04 Andrew Pinski <pinskia@physics.uc.edu>
914 * flow.c (init_propagate_block_info): Change the type of i to
917 2004-11-04 Ulrich Weigand <uweigand@de.ibm.com>
919 PR tree-optimization/18184
920 * c-typeck.c (comptypes): Do not treat pointers of different
921 modes or alias-all flags as equivalent.
922 * tree-ssa.c (tree_ssa_useless_type_conversion_1): Likewise.
924 2004-11-04 Joseph S. Myers <joseph@codesourcery.com>
926 * doc/gty.texi, doc/makefile.texi, doc/sourcebuild.texi: Don't
927 reference specific C parser files in examples.
929 2004-11-04 Richard Sandiford <rsandifo@redhat.com>
932 * regrename.c (scan_rtx): Treat the destinations of SETs and CLOBBERs
933 as OP_INOUT if the instruction is predicated.
935 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
937 * bitmap.h: Fix a comment typo. Follow spelling conventions.
938 * tree-vectorizer.c: Fix a comment typo.
940 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
942 * sdbout.c (SDB_GENERATE_FAKE): Remove.
943 (gen_fake_label): Don't use SDB_GENERATE_FAKE.
944 * system.h: Poison SDB_GENERATE_FAKE.
945 * doc/tm.texi (SDB_GENERATE_FAKE): Remove.
947 2004-11-04 Ulrich Weigand <uweigand@de.ibm.com>
949 * config/s390/s390.md ("*addsi3_sign"): Use canonical RTL.
951 2004-11-04 Eric Botcazou <ebotcazou@libertysurf.fr>
954 * gthr-posix.h (__gthread_recursive_mutex_init_function): Revert
957 2004-11-04 Nathan Sidwell <nathan@codesourcery.com>
959 * predict.c (propagate_freq): Make bitno unsigned. Move
960 npredecessors update out of loop.
962 * bitmap.h (bitmap_iterator): Remove word_bit and bit
963 fields. Rename others.
964 (bmp_iter_common_next_1, bmp_iter_single_next_1,
965 bmp_iter_single_init, bmp_iter_end_p, bmp_iter_single_next,
966 bmp_iter_and_not_next_1, bmp_iter_and_not_init,
967 bmp_iter_and_not_next, bmp_iter_and_next_1, bmp_iter_and_init,
968 bmp_iter_and_next): Remove.
969 (bmp_iter_set_init, bmp_iter_and_init, bmp_iter_and_compl_init,
970 bmp_iter_next, bmp_iter_set, bmp_iter_and, bmp_iter_and_compl):
972 (EXECUTE_IF_SET_IN_BITMAP, EXECUTE_IF_AND_IN_BITMAP,
973 EXECUTE_IF_AND_COMPL_IN_BITMAP): Adjust.
975 * bitmap.h (bitmap_a_or_b, bitmap_a_and_b): Remove.
976 * df.c (dataflow_set_a_op_b): Use bitmap_and, bitmap_ior,
977 bitmap_and_into, bitmap_ior_into as appropriate.
978 * except.c (remove_eh_handler): Likewise.
979 * global.c (modify_bb_reg_pav, make_accurate_live_analysis): Likewise.
980 * tree-dfa.c (mark_new_vars_to_rename): Likewise.
981 * tree-ssa-alias.c (merge_pointed_to_info): Likewise.
982 * tree-ssa-live.h (live_merge_and_clear): Likewise.
983 * tree-ssa-loop-ivopts.c (find_best_candidate, try_add_cand_for):
986 * bitmap.c (bitmap_print): Make bitno unsigned.
987 * bt-load.c (clear_btr_from_live_range,
988 btr_def_live_range): Likewise.
989 * caller-save.c (save_call_clobbered_regs): Likewise.
990 * cfganal.c (compute_dominance_frontiers_1): Likewise.
991 * cfgcleanup.c (thread_jump): Likewise.
992 * cfgrtl.c (safe_insert_insn_on_edge): Likewise.
993 * conflict.c (conflict_graph_compute): Likewise.
994 * ddg.c (add_deps_for_use): Likewise.
995 * df.c (df_refs_update): Likewise.
996 * except.c (remove_eh_handler): Likewise.
997 * flow.c (verify_local_live_at_start, update_life_info,
998 initialize_uninitialized_subregs, propagate_one_insn,
999 free_propagate_block_info, propagate_block, find_use_as_address,
1000 reg_set_to_hard_reg_set): Likewise.
1001 * gcse.c (clear_modify_mem_tables): Likewise.
1002 * global.c (global_conflicts, build_insn_chain): Likewise.
1003 * ifcvt.c (dead_or_predicable): Likewise.
1004 * local-alloc.c (update_equiv_regs): Likewise.
1005 * loop.c (load_mems): Likewise.
1006 * ra-build.c (livethrough_conflicts_bb, conflicts_between_webs):
1008 * ra-rewrite.c (reloads_to_loads, rewrite_program2, actual_spill):
1010 * reload1.c (order_regs_for_reload, finish_spills): Likewise.
1011 * sched-deps.c (sched_analyze_insn, free_deps): Likewise.
1012 * sched-rgn.c (propagate_deps
1013 * tree-cfg.c (tree_purge_all_dead_eh_edges): Likewise.
1014 * tree-dfa.c (dump_dfa_stats
1015 tree-into-ssa.c (compute_global_livein, insert_phi_nodes,
1016 insert_phi_nodes_for, debug_def_blocks_r, invalidate_name_tags):
1018 * tree-outof-ssa.c (coalesce_ssa_name, coalesce_vars,
1019 free_temp_expr_table, find_replaceable_exprs): Likewise.
1020 * tree-sra.c (scan_function, scalarize_parms): Likewise.
1021 * tree-ssa-alias.c (init_alias_info,
1022 compute_points_to_and_addr_escape,
1023 compute_flow_sensitive_aliasing, maybe_create_global_var): Likewise.
1024 * tree-ssa-dce.c (mark_control_dependent_edges_necessary): Likewise.
1025 * tree-ssa-live.c (new_tree_live_info, live_worklist,
1026 calculate_live_on_entry, calculate_live_on_exit, compare_pairs,
1027 sort_coalesce_list, build_tree_conflict_graph, dump_live_info
1028 tree-ssa-loop-manip.c (add_exit_phis_var): Likewise.
1029 tree-ssa-operands.c (get_asm_expr_operands, add_call_clobber_ops,
1030 add_call_read_ops): Likewise.
1031 * tree-ssa-pre.c (bitmap_print_value_set, insert_aux): Likewise.
1032 * tree-ssa-live.h (num_var_partitions): Return unsigned.
1034 2004-11-03 Dorit Naishlos <dorit@il.ibm.com>
1036 PR tree-optimization/18009
1037 * tree-vectorizer.h (enum dr_alignment_support): New type.
1038 (MAX_NUMBER_OF_UNALIGNED_DATA_REFS): Removed.
1039 (LOOP_UNALIGNED_DR): replaced with LOOP_VINFO_UNALIGNED_DR and holds a
1040 single data_reference (instead of a varray of references).
1041 * tree-vectorizer.c (new_loop_vec_info): Likewise.
1042 (vect_gen_niters_for_prolog_loop): Likewise.
1043 (vect_update_inits_of_drs): Likewise.
1045 (vect_update_inits_of_drs): Setting of DR_MISALIGNMENT moved to
1046 vect_enhance_data_refs_alignment.
1047 (vect_do_peeling_for_alignment): Likewise.
1048 (vect_enhance_data_refs_alignment): Decide if and by how much to peel;
1049 this functionality used to be in vect_analyze_data_refs_alignment.
1050 Also update DR_MISALIGNMENT due to peeling; this functionality used to
1051 be in vect_update_inits_of_drs and vect_do_peeling_for_alignment).
1052 (vect_analyze_data_refs_alignment): Decision on whether and by how much
1053 to peel moved to vect_enhance_data_refs_alignment. Call
1054 vect_supportable_dr_alignment.
1056 (vect_compute_data_ref_alignment): Set STMT_VINFO_VECTYPE.
1057 (vect_compute_data_refs_alignment): Return bool. Consider return value
1058 of vect_compute_data_ref_alignment and return true/false accordingly.
1059 (vect_enhance_data_refs_alignment): Consider return value of
1060 vect_compute_data_refs_alignment and return true/false accordingly.
1062 (vect_supportable_dr_alignment): New function.
1063 (vectorizable_store): Call vect_supportable_dr_alignment.
1064 (vectorizable_load): Call vect_supportable_dr_alignment. Alignment
1065 support checks moved from here to vect_supportable_dr_alignment.
1067 (vect_transform_loop): Avoid 80 columns overflow.
1069 2004-11-03 Andrew Pinski <pinskia@physics.uc.edu>
1071 * timevar.c (timevar_enable): Change from
1073 (timevar_push): Rename to ...
1074 (timevar_push_1): this and remove the
1076 (timevar_pop): Rename to ...
1077 (timevar_pop_1): this and remove the
1079 * timevar.h (POP_TIMEVAR_AND_RETURN): Use do/while loops.
1080 (timevar_pop): New macro.
1081 (timevar_push): New macro.
1082 (timevar_enable): Declare.
1084 2004-11-03 Andrew Pinski <pinskia@physics.uc.edu>
1086 * config/darwin.h (REAL_LIBGCC_SPEC): Define to use shared
1087 libgcc for shared libraries.
1089 2004-11-03 Ulrich Weigand <uweigand@de.ibm.com>
1091 * config/s390/s390-protos.h (s390_split_access_reg): Add prototype.
1092 * config/s390/s390.c (s390_split_access_reg): New function.
1093 (regclass_map): Add access registers.
1094 (get_thread_pointer): Use access register instead of UNSPEC_TP.
1095 * config/s390/s390.h (FIRST_PSEUDO_REGISTER): Set to 38.
1096 (ACCESS_REGNO_P, ACCESS_REG_P): New macros.
1097 (TP_REGNUM): New define.
1098 (FIXED_REGISTERS, CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS,
1099 REG_ALLOC_ORDER): Add access registers.
1100 (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK, CLASS_MAX_NREGS,
1101 CANNOT_CHANGE_MODE_CLASS): Support access registers.
1102 (enum reg_class): Add ACCESS_REGS.
1103 (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Likewise.
1104 (REG_CLASS_FROM_LETTER): Add 't' constraint.
1105 (REGISTER_NAMES): Add access registers.
1106 * config/s390/s390.md (UNSPEC_TP): Remove.
1107 ("*movdi_64"): Add access register alternatives. Provide splitters
1108 to split DImode access register <-> GPR moves into SImode moves.
1109 ("*movsi_zarch", "*movsi_esa"): Add access register alternatives.
1110 ("movstrictsi"): Likewise.
1111 ("get_tp_64", "get_tp_31"): Reimplement using access registers.
1112 ("set_tp_64", "set_tp_31"): Likewise.
1113 ("*set_tp"): New insn.
1115 2004-11-03 Kazu Hirata <kazu@cs.umass.edu>
1117 * tree-phinodes.c (resize_phi_node): Copy only a portion of
1118 the PHI node currently in use.
1120 2004-11-03 Andrew Pinski <pinskia@physics.uc.edu>
1123 * tree.c (staticp) <case FUNCTION_DECL>: Nested functions are static
1126 2004-11-03 Andrew MacLeod <amacleod@redhat.com>
1128 PR tree-optimization/18270
1129 * tree-outof-ssa.c (analyze_edges_for_bb): If a block has incoming
1130 abnormal edges, commit all pending stmts on incoming edges.
1132 2004-11-03 Ulrich Weigand <uweigand@de.ibm.com>
1134 * tree-ssa-loop-ivopts.c (get_address_cost): Offset zero does not
1135 cause extra costs. Generate canonical RTL.
1137 2004-11-02 Daniel Berlin <dberlin@dberlin.org>
1139 * lambda-code.c (lambda_compute_auxillary_space): Update comments.
1140 (lambda_compute_target_space). Ditto.
1141 * lambda.h (lambda_trans_matrix): Ditto.
1142 (lambda_linear_expression): Ditto.
1143 (lambda_body_vector): Ditto.
1144 (lambda_loopnest): Ditto.
1145 * tree-loop-linear.c (gather_interchange_stats): Combine tests,
1146 update comments, and remove pointless addition of 0.
1147 (linear_transform_loops): Update comments.
1149 2004-11-03 Sebastian Pop <pop@cri.ensmp.fr>
1151 * tree.c (tree_fold_gcd): Use FLOOR_MOD_EXPR instead of
1154 2004-11-03 Jeff Law <law@redhat.com>
1156 * predict.c (struct block_info_def): Kill "tovisit" field.
1157 (propagate_freq): Accept new "tovisit" parameter. Change
1158 read/write access methods for "tovisit" to check the "tovisit"
1159 bitmap instead of a bit in block_info_def.
1160 (estimate_loops_at_level): Allocate "tovisit" bitmap. Pass
1161 it to propagate_freq.
1163 * stmt.c (expand_case): Speed up code to detect duplicate case
1164 label targets and count unique case label targets.
1166 2004-11-03 Kazu Hirata <kazu@cs.umass.edu>
1168 * cppdefault.c, cppdefault.h, timevar.h: Update copyright.
1170 2004-11-03 Kazu Hirata <kazu@cs.umass.edu>
1172 * bitmap.h, dbxout.c, tree-mudflap.c: Fix comment formatting.
1174 2004-11-03 Kazu Hirata <kazu@cs.umass.edu>
1176 * tree-cfg.c (find_taken_edge): Abort if we are given a
1177 statement that is neither COND_EXPR nor SWITCH_EXPR.
1179 2004-11-02 Zdenek Dvorak <dvorakz@suse.cz>
1181 * fold-const.c (fold): Reassociate also (x - mult) + mult and
1182 (mult - x) + mult. Cast operands of expression after applying
1183 distributive law to the correct types. Apply distributive law
1184 to a * c - b * c for all non-float types.
1186 2004-11-02 Geoffrey Keating <geoffk@apple.com>
1188 * configure.ac: Don't clear STMP_FIXINC or STMP_FIXPROTO just
1189 because we don't want to run them now; instead, set them to
1190 stmp-install-fixproto or stmp-install-fixinc.
1191 * Makefile.in (stmp-install-fixproto): New.
1192 (stmp-install-fixinc): New.
1193 * configure: Regenerate.
1195 2004-11-02 Nathan Sidwell <nathan@codesourcery.com>
1197 * flow.c (init_propagate_block_info): Use bitmap_empty_p on result
1200 2004-11-02 Ziemowit Laski <zlaski@apple.com>
1202 * c-lang.c (LANG_HOOKS_TYPES_COMPATIBLE_P): Remove.
1203 (c_types_compatible_p): Move function definition...
1204 * c-objc-common.c (c_types_compatible_p): ...here.
1205 * c-objc-common.h (LANG_HOOKS_TYPES_COMPATIBLE_P): Moved here from
1208 2004-11-02 Steven Bosscher <stevenb@suse.de>
1210 * cfgloop.h (struct loop): Update comment.
1211 * cse.c (cse_main): Remove obsolete comment.
1213 * expr.h (gen_cond_trap): Move prototype under functions provided
1215 (canonicalize_condition, get_condition): Move to...
1216 * rtl.h (canonicalize_condition, get_condition): ...here.
1217 (branch_target_load_optimize): Add comment that this function is
1219 * loop.c (canonicalize_condition, get_condition): Move to...
1220 * rtlanal.c (canonicalize_condition, get_condition): ...here.
1221 * sched-deps.c (get_condition): Rename to sched_get_condition.
1222 (add_dependence): Update this caller.
1224 2004-11-02 Andrew Pinski <pinskia@physics.uc.edu>
1227 * tree-ssa.c (replace_immediate_uses): If we call fold_stmt, make sure
1228 that the vops get marked for renaming.
1230 2004-11-02 Andreas Krebbel <krebbel1@de.ibm.com>
1232 * config/s390/s390.md ("movcc"): Set type attribute.
1234 2004-11-02 Kazu Hirata <kazu@cs.umass.edu>
1236 * tree-phinodes.c (add_phi_arg): Add an assertion that the
1237 edge already exists.
1239 2004-11-02 Kazu Hirata <kazu@cs.umass.edu>
1241 * tree-phinodes.c (remove_phi_arg_num): Do not zero the
1242 element that's being removed.
1244 2004-11-02 Kazu Hirata <kazu@cs.umass.edu>
1246 * tree-ssa-threadupdate.c (copy_phis_to_block): Install PHI
1247 arguments using PENDING_STMT.
1248 (thread_block): Call copy_phis_to_block after redirecting an
1251 2004-11-02 Nathan Sidwell <nathan@codesourcery.com>
1253 * bitmap.h (bitmap_and, bitmap_and_into, bitmap_and_compl,
1254 bitmap_and_compl_into, bitmap_ior, bitmap_iot_into,
1255 bitmap_ior_compl, bitmap_xor, bitmap_xor_into): Produce void.
1256 (bitmap_ior_and_compl_into): Produce bool.
1257 (bitmap_union_of_diff): Rename to ...
1258 (bitmap_ior_and_compl): ... here. Produce bool.
1259 * bitmap.c (bitmap_ior_and_compl_into): Return bool. Use
1260 bitmap_operation directly.
1261 (bitmap_union_of_diff): Rename to ...
1262 (bitmap_ior_and_compl): ... here. Return bool, use
1263 bitmap_operation directly.
1264 * df.c (df_rd_transfer_function): Use bitmap_ior_and_compl.
1265 (df_ru_transfer_function, df_lr_transfer_function): Likewise.
1266 * global.c (modify_bb_reg_pav): Likewise.
1268 * bitmap.h (bitmap_equal_p): Return bool.
1269 (bitmap_intersect_p, bitmap_intersect_compl_p): Declare.
1270 * bitmap.c (bitmap_equal_p): Return bool. Compare directly.
1271 (bitmap_intersect_p, bitmap_intersect_compl_p): New.
1272 * flow.c (calculate_global_regs_live): Use bitmap_intersect_p and
1273 bitmap_intersect_compl_p.
1274 * ifcvt (dead_or_predicable): Likewise.
1276 2004-11-02 Nathan Sidwell <nathan@codesourcery.com>
1278 PR rtl-optimization/17104
1279 * config/rs6000/rs6000.c (rs6000_emit_move): Don't wrap small
1280 loads in zero_extend.
1282 2004-11-02 Danny Smith <dannysmith@users.sourceforge.net>
1285 * toplev.c (debug_type_names): Remove "dwarf-1".
1287 2004-11-02 Ben Elliston <bje@au.ibm.com>
1289 * timevar.h (timevar_get): Remove.
1290 * timevar.c (timevar_get): Remove unused function.
1292 2004-11-02 Joseph S. Myers <joseph@codesourcery.com>
1294 * doc/include/texinfo.tex: Update from Texinfo CVS.
1296 2004-11-02 Ben Elliston <bje@au.ibm.com>
1298 * cppdefault.h (cpp_SYSROOT): Remove.
1299 * cppdefault.c (cpp_SYSROOT): Likewise.
1301 2004-11-01 Andrew MacLeod <amacleod@redhat.com>
1303 PR tree-optimization/16447
1304 * tree-cfg.c (bsi_commit_one_edge_insert): Rename from
1305 bsi_commit_edge_inserts_1, and make funtion external. Return new block.
1306 (bsi_commit_edge_inserts): Use renamed bsi_commit_one_edge_insert.
1307 * tree-optimize.c (pass_cleanup_cfg_post_optimizing): Enable listing.
1308 * tree-flow.h (bsi_commit_one_edge_insert): Extern decl.
1309 * tree-outof-ssa.c (rewrite_trees): Don't commit edges here.
1310 (same_stmt_list_p): New. Return TRUE if edge is to be forwarded.
1311 (identical_copies_p): New. Return true is two copies are the same.
1312 (identical_stmt_lists_p): New. Return true if stmt lists are the same.
1313 (analyze_edges_for_bb): New. Determine how best to insert edge stmts
1315 (perform_edge_inserts): New. Determine what to do with all stmts that
1316 have been inserted on edges.
1317 (remove_ssa_form): Analyze and commit edges from here.
1319 2004-11-01 Andrew Pinski <pinskia@physics.uc.edu>
1322 * bitmap.h (bmp_iter_end_p): Take a const pointer instead of a struct.
1323 (EXECUTE_IF_SET_IN_BITMAP): Update call to bmp_iter_end_p.
1324 (EXECUTE_IF_AND_COMPL_IN_BITMAP): Likewise.
1325 (EXECUTE_IF_AND_IN_BITMAP): Likewise.
1327 2004-11-01 Joseph S. Myers <joseph@codesourcery.com>
1330 * c-decl.c (get_parm_info): Allow FUNCTION_DECLs to appear amongst
1331 parameter declarations.
1333 2004-11-01 Andreas Krebbel <krebbel1@de.ibm.com>
1335 * config/s390/s390.c (regclass_map): Put reg 33 (cc) to CC_REGS group.
1336 (s390_secondary_input_reload_class)
1337 (s390_secondary_output_reload_class): Use GENERAL_REGS to reload a cc
1339 (s390_expand_cmpmem): Enable cmpmem implementation.
1340 * config/s390/s390.h (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS):
1341 Added three new classes: CC_REGS, ADDR_CC_REGS, GENERAL_CC_REGS.
1342 (REG_CLASS_FROM_LETTER): New constraint 'c' added.
1343 * config/s390/s390.md ("movcc"): New insn pattern.
1344 * doc/md.texi: Document 'c' constraint for s390.
1346 2004-11-01 Nathan Sidwell <nathan@codesourcery.com>
1349 * doc/extend.texi (Deprecated Features): Deprecate G++ covariant
1352 2004-10-16 Daniel Berlin <dberlin@dberlin.org>
1354 Fix PR tree-optimization/17672
1355 Fix PR tree-optimization/18168
1357 * lambda-code.c (lambda_lattice_compute_base): Fix reversed
1359 (gcc_tree_to_linear_expression): Add extra to existing constant.
1360 (depth_of_nest): Factor out function used in various places.
1361 (gcc_loop_to_lambda_loop): Clean up code a little bit. No
1363 (find_induction_var_from_exit_cond): Stop guessing, and just
1364 get the right answer :).
1365 (gcc_loopnest_to_lambda_loopnest): Remove useless pre-allocation.
1366 Print out message about result of attempt to create perfect nest.
1367 (lbv_to_gcc_expression): Add type argument, use it to do math
1368 and induction variable creation.
1369 (lle_to_gcc_expression): Ditto.
1370 (lambda_loopnest_to_gcc_loopnest): Create new iv with same type as
1371 oldiv. Pass type argument to lle_to_gcc_expression and
1372 lbv_to_gcc_expression.
1373 Reset number of iterations after transformation.
1374 (perfect_nestify): Remove useless pre-allocation, and cleanup
1377 * tree-data-ref.c (build_classic_dist_vector): Return false for
1378 dependences completely outside of the loop nest we asked about.
1379 (build_classic_dir_vector): Ditto.
1380 (compute_data_dependences_for_loop): Only add dependence relations
1381 inside the loop we asked about.
1383 * tree-loop-linear.c (linear_transform_loops): Use DDR_SIZE_VECT.
1384 Compute immediate uses.
1386 * tree-optimize.c: Move linear_transform_loops to before ivcanon.
1388 2004-11-01 Kazu Hirata <kazu@cs.umass.edu>
1390 * tree-cfg.c (thread_jumps): Fix a comment typo.
1392 2004-11-01 Kazu Hirata <kazu@cs.umass.edu>
1394 * tree-cfg.c (thread_jumps): Fix a comment typo.
1396 2004-10-31 Nicolas Pitre <nico@cam.org>
1398 * config/arm/ieee754-sf.S (floatdisf): Fix regression with
1399 values smaller than 2^32.
1401 2004-10-31 Jeff Law <law@redhat.com>
1403 * cfgloop.h (struct loop): Remove unused "nodes" field.
1404 * timevar.def (TV_TREE_LOOP_BOUNDS): New.
1405 * tree-data-ref.c (find_data_references_in_loop): Use get_loop_body
1406 instead of calling flow_bb_inside_loop_p for every basic block
1408 * tree-ssa-loop.c (pass_record_bounds): Use TV_TREE_LOOP_BOUNDS.
1410 2004-10-31 Graham Stott <graham.stott@btinternet.com>
1412 * config/pa/pa.md: (prefetch_64, prefetch_32): Fix typo. Use
1413 INT_5_BITS instead of VAL_5_BITS_P.
1415 2004-10-31 Roger Sayle <roger@eyesopen.com>
1418 * tree-inline.c (inline_forbidden_p_1): Use %qF instead of '%F'
1419 for consistent quoting in diagnostic messages.
1420 (expand_call_inline): Likewise.
1421 * tree-optimize.c (tree_rest_of_compilation): Likewise.
1422 * tree-ssa.c (warn_uninitialized_var): Likewise.
1423 (warn_uninitialized_phi): Likewise.
1425 2004-10-31 Richard Sandiford <rsandifo@redhat.com>
1427 * config/mips/mips.c (mips_cannot_change_mode_class): Use a stricter
1430 2004-10-31 Kazu Hirata <kazu@cs.umass.edu>
1432 * c-common.c: Fix a comment typo.
1434 2004-10-31 Jason Merrill <jason@redhat.com>
1437 * tree-gimple.c (is_gimple_mem_rhs): Also require a val for
1438 aggregate types that are not BLKmode.
1440 2004-10-30 Ziemowit Laski <zlaski@apple.com>
1442 * c-common.h (objc_lookup_ivar): Add second parameter to
1444 * c-typeck.c (build_external_ref): After looking up symbol,
1445 pass it to objc_lookup_ivar() to decide whether it or the
1446 ivar should be used, rather than deciding the issue locally.
1447 * stub-objc.c (objc_lookup_ivar): Add an OTHER parameter,
1448 which is simply returned in the non-ObjC case.
1450 2004-10-30 Danny Smith <dannysmith@users.sourceforge.net>
1452 * sdbout.c (sdbout_symbol): Do not output type .def statements
1455 2004-10-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
1457 * c-common.c (catenate_strings): New.
1458 (c_parse_error): Use it. Don't over-escape.
1460 2004-10-30 Kaz Kojima <kkojima@gcc.gnu.org>
1462 * config/sh/sh.c (calc_live_regs): Declare reg as unsigned and
1463 modify the for loop expressions for it. Remove unnecessary casts.
1464 (sh_expand_prologue): Declare reg as unsigned.
1465 (sh_gimplify_va_arg_expr): Initinalize lab_over.
1466 (sh_handle_sp_switch_attribute): Add const qualifier appropriately.
1468 2004-10-30 Geoffrey Keating <geoffk@apple.com>
1470 * doc/invoke.texi (Darwin Options): Improve description of
1471 how the subtype is chosen.
1473 2004-10-30 Roger Sayle <roger@eyesopen.com>
1476 * config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Check that
1477 the stack adjustment, "size", is valid for Pmode. If the stack
1478 frame is too large, generate a trap insn and issue a warning.
1480 2004-10-30 Kazu Hirata <kazu@cs.umass.edu>
1482 * tree-ssa-dom.c: Fix comment typos.
1484 2004-10-30 Kaz Kojima <kkojima@gcc.gnu.org>
1486 * config/sh/sh.c (prepare_move_operands): Use operands[0]
1487 for the output rtl if no_new_pseudos is set. Remove redundant
1490 2004-10-30 Joseph S. Myers <joseph@codesourcery.com>
1493 * c-decl.c (start_function): Don't check for DECL_BUILT_IN when
1494 determining whether to copy parameter types from a previous
1495 prototype declaration.
1497 2004-10-29 Roger Sayle <roger@eyesopen.com>
1499 PR rtl-optimization/17581
1500 * cselib.c (cselib_process_insn): The last instruction of a libcall
1501 block, with the REG_RETVAL note, should be considered in the libcall.
1502 * gcse.c (do_local_cprop): Allow constants to be propagated outside
1504 (adjust_libcall_notes): Use simplify_replace_rtx instead of
1505 replace_rtx to avoid creating invalid RTL in REG_RETVAL notes.
1507 2004-10-30 Kazu Hirata <kazu@cs.umass.edu>
1509 * tree-phinodes.c (create_phi_node): Don't zero PHI_REWRITTEN.
1511 2004-10-29 Jeff Law <law@redhat.com>
1513 * tree-ssa-dom.c (struct edge_info): New structure holding
1514 edge equivalences and edge redirection information.
1515 (get_eq_expr_value, record_dominating_conditions): Kill.
1516 (propagate_to_outgoing_edges): Renamed from cprop_into_phis.
1517 Call record_edge_info.
1518 (allocate_edge_info, free_edge_info): New.
1519 (tree_ssa_dominator_optimize): Use propagate_to_outgoing_edges
1520 rather than cprop_into_phis. Free all edge infos before threading
1522 (thread_across_edge): Allocate new edge info structures as needed
1523 and store the redirection target into the edge info structure
1524 instead of the edge's AUX field.
1525 (dom_opt_initialize_block): Mark unused argument with ATTRIBUTE_UNUSED.
1526 (record_equivalence_from_incoming_edge): Lose unnecessary argument.
1527 Revamp code which finds and records equivalences associated with
1528 edges to use saved data in the edge_info structure.
1529 (record_equivalencs_from_phis): Similarly.
1530 (dom_opt_finalize_block): Revamp code which finds and records
1531 equivalences associated with edges to use saved data in the
1532 edge_info structure.
1533 (build_and_record_new_cond): New function.
1534 (record_conditions): Use build_and_record_new_cond to record
1535 dominating conditions.
1536 (record_edge_info): New function.
1537 (record_range): Tighten test for conditions which create
1538 useful range records.
1540 2004-10-29 Geoffrey Keating <geoffk@apple.com>
1542 * config/i386/darwin.h (ASM_SPEC): Simplify.
1543 (SUBTARGET_EXTRA_SPECS): Add darwin_subarch spec.
1544 * config/rs6000/darwin.h (DARWIN_SUBARCH_SPEC): New.
1545 (SUBTARGET_EXTRA_SPECS): Add darwin_subarch spec.
1546 * config/darwin.h (LINK_COMMAND_SPEC): Don't pass -arch here.
1547 (LINK_SPEC): Do pass -arch here. Handle -force_cpusubtype_ALL
1548 in all cases. Pass the right -arch or -arch_only based on -mcpu.
1549 (ASM_SPEC): Handle -force_cpusubtype_ALL.
1550 * doc/invoke.texi (Darwin Options): Improve documentation for
1551 Darwin linker (and libtool) switches.
1553 * config/rs6000/darwin-fallback.c: Include <mach/thread_status.h>.
1555 2004-10-29 Stan Shebs <shebs@apple.com>
1557 * config/rs6000/darwin-tramp.asm: Make more 64-bit-friendly.
1559 2004-10-29 Kazu Hirata <kazu@cs.umass.edu>
1561 * tree-phinodes.c (allocate_phi_node): New.
1562 (make_phi_node, resize_phi_node): Use it.
1564 2004-10-29 David Edelsohn <edelsohn@gnu.org>
1566 * config/rs6000/sysv4.h (TARGET_POWER): Define as 0.
1567 * config/rs6000/darwin.h (TARGET_POWER): Define as 0.
1569 2004-10-29 Kazu Hirata <kazu@cs.umass.edu>
1571 * tree-phinodes.c (make_phi_node, resize_phi_node): Don't zero
1573 * tree.h (tree_phi_node): Tell the garbage collector to chase
1576 2004-10-29 Richard Earnshaw <rearnsha@arm.com>
1578 * opts.c (decode_options): Lower the crossjump threshold for -Os.
1580 2004-10-29 Diego Novillo <dnovillo@redhat.com>
1582 * tree.h (struct tree_ssa_name): Remove field 'equiv'.
1584 2004-10-28 Nathan Sidwell <nathan@codesourcery.com>
1586 * bitmap.h (bitmap_empty_p): New.
1587 (bitmap_and, bitmap_and_into, bitmap_and_compl,
1588 bitmap_and_compl_into, bitmap_ior, bitmap_ior_into,
1589 bitmap_ior_compl, bitmap_xor, bitmap_xor_into): New bitmap
1591 (bitmap_ior_and_compl): Rename to ...
1592 (bitmap_ior_and_compl_into): ... here.
1593 * bitmap.c (bitmap_equal_p): Use bitmap_xor.
1594 (bitmap_ior_and_compl): Rename to ...
1595 (bitmap_ior_and_compl_into): ... here. Adjust. Return changed
1597 (bitmap_union_of_diff): Use renamed bitmap functions.
1598 * basic-block.h (AND_REG_SET, AND_COMPL_REG_SET, IOR_REG_SET,
1599 XOR_REG_SET, IOR_AND_COMPL_REG_SET): Likewise.
1600 * cfgrtl.c (safe_insert_insn_on_edge): Likewise.
1601 * df.c (df_bb_rd_local_compute)
1602 * flow.c (calculate_global_regs_live,
1603 init_propagate_block_info): Likewise.
1604 * ifcvt.c (find_if_case_1, find_if_case_2,
1605 dead_or_predicable): Likewise.
1606 * ra-build.c (union_web_part_roots, livethrough_conflicts_bb,
1607 reset_conflicts, conflicts_between_webs): Likewise.
1608 * ra-rewrite.c (reloads_to_loads, rewrite_program2,
1609 detect_web_parts_to_rebuild): Likewise.
1610 * sched-ebb.c (compute_jump_reg_dependencies): Likewise.
1611 * tree-int-ssa.c (insert_phi_nodes_for, rewrite_into_ssa): Likewise.
1612 * tree-sra.c (decide_instantiations): Likewise.
1613 * tree-ssa-alias.c (create_name_tags,
1614 merge_pointed_to_info): Likewise.
1615 * tree-ssa-dom.c (tree_ssa_dominator_optimize): Likewise.
1616 * tree-ssa-loop-im.c (move_computations): Likewise.
1617 * tree-ssa-operands.c (get_call_expr_operands): Likewise.
1618 * tree-ssa-pre.c (fini_pre): Likewise.
1619 * tree-ssa.c (verify_flow_sensitive_alias_info): Likewise.
1620 * tree-ssanames.c (any_marked_for_rewrite_p): Likewise.
1621 * tree-vectorizer.c (vectorize_loops): Likewise.
1623 2004-10-29 Nick Clifton <nickc@redhat.com>
1625 config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): When
1626 adding the PIC register to the fixed_regs array, also add it
1627 to the call_used_regs array.
1629 2004-10-29 Eric Botcazou <ebotcazou@libertysurf.fr>
1631 * gthr-posix.h (__gthread_recursive_mutex_init_function): Guard
1632 with #ifdef PTHREAD_MUTEX_RECURSIVE/#endif pairs.
1634 2004-10-28 Daniel Berlin <dberlin@dberlin.org>
1636 * tree-into-ssa.c (rewrite_virtual_phi_arguments): New function.
1637 (rewrite_blocks): Modify argument, and use it to decide which
1639 (rewrite_def_def_chains): Call rewrite_blocks with true here.
1640 (rewrite_into_ssa): and call it with false here.
1642 2004-10-29 Kazu Hirata <kazu@cs.umass.edu>
1644 * tree-phinodes.c (add_phi_arg): Turn an "if" that always
1645 triggers into gcc_assert.
1647 2004-10-28 Diego Novillo <dnovillo@redhat.com>
1649 PR tree-optimization/16728
1650 * tree-flow.h (get_ptr_info): Declare.
1651 * tree-ssa-alias.c (get_ptr_info): Make extern.
1652 * tree-ssa-copy.c (merge_alias_info): Merge flow-sensitive
1655 2004-10-28 Stan Shebs <shebs@apple.com>
1657 * config/rs6000/darwin.h (SUBTARGET_EXTRA_SPECS): Handle -m64.
1658 * config/rs6000/rs6000.c (rs6000_darwin_file_start): Add ppc64
1661 2004-10-28 Frank Ch. Eigler <fche@redhat.com>
1663 * tree-mudflap.c (mudflap_init): Mark cache-lookup decls to
1664 prevent their later unnecessary registration.
1665 (mf_build_check_statement_for): Remove "addr" argument, and
1666 related "__mf_value" generated code. Update callers.
1667 (mf_decl_eligible_p): New function, factored from mx_register_decls.
1668 (mx_register_decls): Call it.
1669 (mf_xform_derefs_1): Rewrite COMPONENT_REF and ARRAY_REF cases
1670 to restore support for complex nested expressions.
1671 (mudflap_enqueue_decl): Simplify. Move registration call emission
1673 (mudflap_finish_file): ... to here.
1674 (mudflap_enqueue_constant): Remove dump code.
1676 2004-10-28 Zack Weinberg <zack@codesourcery.com>
1679 * dbxout.c (dbxout_begin_complex_stabs_noforcetext): New function.
1680 (DBX_FINISH_STABS): Add (unused by default) SYM parameter.
1681 (dbxout_finish_complex_stabs): Update to match.
1682 (dbxout_symbol_location): Call emit_pending_bincls_if_required
1683 and FORCE_TEXT before DBX_STATIC_BLOCK_START. Use
1684 dbxout_begin_complex_stabs_noforcetext.
1685 * xcoffout.h (DBX_FINISH_STABS): Restore special case for
1686 N_GSYM, using new SYM parameter. Correct logic for special
1689 * varasm.c (function_section): If DECL is NULL_TREE, don't try
1690 to do anything else. Do not call get_insns if cfun or
1691 cfun->emit are NULL.
1693 2004-10-28 Adam Nemet <anemet@lnxw.com>
1696 * c-typeck.c (c_mark_addressable): Issue error if address of a
1697 register variable is taken. Use "%qD" to print DECL_NAME.
1699 2004-10-28 Diego Novillo <dnovillo@redhat.com>
1701 * opts.c (decode_options): Don't run PRE at -Os.
1703 2004-10-28 Richard Henderson <rth@redhat.com>
1705 * config/alpha/alpha.md (movqicc_internal): Allow exactly one
1706 zero in the conditional.
1707 (movhicc_internal, movsicc_internal, movdicc_internal): Likewise.
1709 2004-10-28 Richard Henderson <rth@redhat.com>
1711 * cse.c (memory_extend_rtx): Remove.
1712 (cse_main): Don't set it.
1713 (cse_insn): Use a local buffer instead.
1715 2004-10-28 Andreas Krebbel <krebbel1@de.ibm.com>
1717 * profile.c (branch_prob): Call to init_edge_profiler added.
1718 * rtl-profile.c (rtl_init_edge_profiler): New function.
1719 (rtl_gen_edge_profiler): Replaced call to insert_insn_on_edge with
1720 call to safe_insert_insn_on_edge.
1721 (rtl_profile_hooks): rtl_init_edge_profiler added.
1722 * tree-profile.c (tree_init_edge_profiler): New function.
1723 (tree_profile_hooks): tree_init_edge_profiler added.
1724 * value-prof.h (profile_hooks) init_edge_profiler prototype added.
1726 2004-10-28 Nick Clifton <nickc@redhat.com>
1728 * config/iq2000/iq2000.c (iq2000_expand_epilogue): Use
1729 emit_jump_insn() to generate the return instruction.
1731 2004-10-28 Kazu Hirata <kazu@cs.umass.edu>
1733 * tree-phinodes.c: Remove trailing whitespace.
1735 2004-10-28 Kazu Hirata <kazu@cs.umass.edu>
1737 * tree-ssa-loop-ivopts.c: Fix a comment typo.
1738 * doc/invoke.texi: Fix a typo.
1740 2004-10-28 Kazu Hirata <kazu@cs.umass.edu>
1742 * Makefile.in (OBJS-common): Remove duplicates.
1744 2004-10-28 Kazu Hirata <kazu@cs.umass.edu>
1746 * lambda-code.c (nestify_update_pending_stmts): Remove.
1747 (perfect_nestify): Use flush_pending_stmts instead of
1748 nestify_update_pending_stmts.
1749 * tree-cfg.c (tree_make_forwarder_block): Use
1750 flush_pending_stmts.
1751 * tree-flow.h: Add a prototype for flush_pending_stmts.
1752 * tree-ssa-loop-manip.c (tree_duplicate_loop_to_header_edge):
1753 Use flush_pending_stmts.
1754 (lv_update_pending_stmts): Remove.
1755 (tree_ssa_loop_version): Use flush_pending_stmts instead of
1756 lv_update_pending_stmts.
1757 * tree-ssa.c (flush_pending_stmts): New.
1759 2004-10-28 Ulrich Weigand <uweigand@de.ibm.com>
1762 * final.c (alter_subreg): Compute correct offset to use with
1763 paradoxical SUBREGs of memory operands.
1764 * recog.c (general_operand): Allow paradoxical SUBREGs of
1765 memory operands after reload.
1766 * simplify-rtx.c (simplify_gen_subreg): Fail if simplify_subreg
1767 has failed when passed a hard register.
1769 2004-10-28 Aldy Hernandez <aldyh@redhat.com>
1771 * function.c (assign_parm_setup_block): Handle parallels correctly.
1773 2004-10-28 Kaz Kojima <kkojima@gcc.gnu.org>
1775 * final.c (shorten_branches): Initialize flags structure.
1777 2004-10-28 Nathan Sidwell <nathan@codesourcery.com>
1779 * tree.c (int_cst_node, int_cst_hash_table): New variables.
1780 (init_ttree): Initialize them.
1781 (int_cst_hash_hash, int_cst_hash_eq): New hashing functions.
1782 (build_int_cst_wide): Use hash table for oversized integers.
1784 2004-10-28 Nick Clifton <nickc@redhat.com>
1786 * config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Define
1789 2004-10-27 Richard Henderson <rth@redhat.com>
1792 * expr.c (emit_group_load): Don't go force temporary for memory
1794 (emit_group_store): Similarly.
1796 2004-10-27 Andrew Pinski <pinskia@physics.uc.edu>
1799 * common.opt (--param): Fix spelling of parameter.
1801 2004-10-27 Andrew Pinski <pinskia@physics.uc.edu>
1804 * tree-cfg.c (remove_useless_stmts_1) <case SWITCH_EXPR>:
1805 Don't fold statement.
1806 <case ASM_EXPR>: Fold the statement.
1808 2004-10-28 Kazu Hirata <kazu@cs.umass.edu>
1810 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary)
1811 <COND_EXPR>: Use EDGE_COUNT instead of GOTO_DESTINATION.
1813 2004-10-28 Joseph S. Myers <jsm@polyomino.org.uk>
1815 * doc/contrib.texi, doc/cpp.texi, doc/cppopts.texi,
1816 doc/extend.texi, doc/gcov.texi, doc/install.texi, doc/invoke.texi,
1817 doc/libgcc.texi, doc/md.texi, doc/passes.texi,
1818 doc/sourcebuild.texi, doc/tm.texi: Improve Texinfo formatting.
1820 2004-10-28 Joseph S. Myers <jsm@polyomino.org.uk>
1822 * doc/c-tree.texi, doc/cpp.texi, doc/implement-c.texi,
1823 doc/invoke.texi, doc/md.texi, doc/passes.texi, doc/tm.texi: Put
1824 punctuation outside quotes.
1826 2004-10-27 David Mosberger <davidm@hpl.hp.com>
1827 James E Wilson <wilson@specifixinc.com>
1830 * config/ia64/ia64.c (ia64_expand_epilogue): Set RTX_FRAME_RELATED_P on
1831 sibcall alloc instruction.
1832 (process_set): Handle sibcall alloc instruction.
1834 2004-10-27 Geoffrey Keating <geoffk@apple.com>
1836 * config/rs6000/rs6000.c (rs6000_attribute_table): Add
1837 SUBTARGET_ATTRIBUTE_TABLE.
1838 * config/darwin.h (ASM_WEAKEN_DECL): Handle weak_import.
1839 (SUBTARGET_ATTRIBUTE_TABLE): Define.
1840 * config/darwin.c (darwin_handle_weak_import_attribute): New.
1841 (HAVE_DEAD_STRIP): Delete.
1842 (no_dead_strip): Don't test HAVE_DEAD_STRIP.
1843 * config/darwin-protos.h (darwin_handle_weak_import_attribute):
1846 * doc/tm.texi (USE_SELECT_SECTION_FOR_FUNCTIONS): Document.
1848 * config/darwin.h (GTHREAD_USE_WEAK): Define.
1850 2004-10-28 Ben Elliston <bje@au.ibm.com>
1852 * params.def (PARAM_SRA_MAX_STRUCTURE_SIZE): New.
1853 (PARAM_SRA_FIELD_STRUCTURE_RATIO): Likewise.
1854 * params.h (SRA_MAX_STRUCTURE_SIZE): New.
1855 (SRA_FIELD_STRUCTURE_RATIO): Likewise.
1856 * tree-sra.c: Include "params.h".
1857 (decide_block_copy): Use new parameters.
1858 * doc/invoke.texi (Optimize Options): Document new SRA pass
1859 parameters sra-max-structure-size and sra-field-structure-ratio.
1861 2004-10-27 Nicolas Pitre <nico@cam.org>
1863 * config/arm/ieee754-df.S (floatdidf): Fix regression with big values.
1865 2004-10-27 Zdenek Dvorak <dvorakz@suse.cz>
1867 PR tree-optimization/18048
1868 * fold-const.c (try_move_mult_to_index): New function.
1869 (fold): Use try_move_mult_to_index.
1870 * tree-ssa-loop-ivopts.c (try_add_cand_for): Prefer common candidates.
1871 * tree-ssa-loop-niter.c (number_of_iterations_cond): Produce
1872 an all-ones unsigned constant without extra bits.
1873 * tree.c (build_low_bits_mask): New function.
1874 * tree.h (build_low_bits_mask): Declare.
1876 2004-10-27 David Edelsohn <edelsohn@gnu.org>
1879 * config/rs6000/rs6000.md (maxsf3): Add !flag_trapping_math to
1885 2004-10-27 Kazu Hirata <kazu@cs.umass.edu>
1887 * tree-cfg.c (thread_jumps): Speed up by reordering the two
1888 conditions for entering basic blocks into worklist.
1890 2004-10-27 Kazu Hirata <kazu@cs.umass.edu>
1892 * tree-cfg.c (thread_jumps): Speed up by pretending to have
1893 ENTRY_BLOCK_PTR in worklist.
1895 2004-10-27 Kazu Hirata <kazu@cs.umass.edu>
1897 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary)
1898 <GOTO_EXPR>: Don't let an explicit GOTO_EXPR slip through.
1900 2004-10-27 Daniel Berlin <dberlin@dberlin.org>
1902 Fix PR tree-optimization/17133
1904 * tree-cfg.c (rewrite_to_new_ssa_names_bb): Also rewrite must
1907 * tree-flow-inline.h: V_MUST_DEF_OP became V_MUST_DEF_RESULT.
1908 (get_v_must_def_result_ptr): Modify for new structure of
1910 (get_v_must_def_kill_ptr): New.
1911 (op_iter_next_use): Add support for the kill that occurs in V_MUST_DEFs.
1912 (op_iter_next_tree): Ditto. Also V_MAY_DEF_OP became V_MAY_DEF_RESULT.
1913 (op_iter_next_def): V_MAY_DEF_OP became V_MAY_DEF_RESULT.
1914 (op_iter_init): Initialize new mustu members.
1915 (op_iter_next_mustdef): New function.
1916 (op_iter_init_mustdef): Ditto.
1918 * tree-flow.h (rewrite_def_def_chains): New function.
1920 * tree-into-ssa.c (mark_def_sites): Handle mustdefkill operands.
1921 (ssa_mark_def_sites): Ditto.
1922 (rewrite_stmt): Ditto.
1923 (ssa_rewrite_stmt): Ditto.
1924 (rewrite_blocks): Factor out from rewrite_into_ssa.
1925 (mark_def_block_sites): Ditto.
1926 (rewrite_def_def_chains): New function, just rewrites def-def
1927 chains without phi node insertion.
1929 * tree-pass.h (TODO_fix_def_def_chains): New todo flag.
1931 * tree-optimize.c (execute_todo): Handle TODO_fix_def_def_chains.
1933 * tree-pretty-print.c (dump_vops): Print out MUST_DEF's so that
1934 they include the rhs now.
1936 * tree-ssa-ccp.c (visit_assignment): V_MUST_DEF_OP became
1939 * tree-ssa-dce.c (mark_operand_necessary): Add phionly argument.
1941 (mark_really_necessary_kill_operand_phis): New function.
1942 (perform_tree_ssa_dce): Call it.
1943 (pass_dce): Add TODO_fix_def_def_chains.
1944 (pass_cd_dce): Ditto.
1946 * tree-ssa-loop-im.c (determine_max_movement): Look at kills as
1948 (rewrite_mem_refs): Ditto.
1950 * tree-ssa-loop-manip.c (find_uses_to_rename_stmt): Look at kills
1953 * tree-ssa-operands.c (allocate_v_may_def_optype):
1954 v_may_def_operand_type_t became v_def_use_operand_type_t.
1955 (allocate_v_must_def_optype) Ditto.
1956 (finalize_ssa_v_must_defs): Update for new operand type, as well
1957 as setting the use portion as well.
1958 (copy_virtual_operands): Copy the kill operand as well.
1959 (create_ssa_artficial_load_stmt): V_MUST_DEF_OP became
1962 * tree-ssa-operands.h (v_may_def_operand_type): Renamed to
1963 v_def_use_operand_type.
1964 (v_must_def_optype_d): Use v_def_use_operand_type.
1965 (V_MUST_DEF_OP_*): Renamed to V_MUST_DEF_RESULT_*
1966 (V_MUST_DEF_KILL_*): New macros.
1967 (struct ssa_operand_iterator_d): Add num_v_mustu and v_mustu_i
1969 Rename existing must_i and num_v_must members to mustd_i and
1971 (SSA_OP_VMUSTDEFKILL): New flag.
1972 (SSA_OP_VIRTUAL_KILLS): New flag.
1973 (SSA_OP_ALL_OPERANDS): Add in SSA_OP_ALL_KILLS.
1974 (SSA_OP_ALL_KILLS): New flag.
1975 (FOR_EACH_SSA_MUSTDEF_OPERAND): New macro.
1977 * tree-ssa.c (verify_ssa): Verify virtual kills as well.
1979 * tree-vectorizer.c (vect_create_data_ref_ptr): V_MUST_DEF_OP
1980 became V_MUST_DEF_RESULT.
1981 (rename_variables_in_bb): Rename kill pointer as well.
1983 * tree-dfa.c (compute_immediate_uses_for_stmt): Add kills into the
1986 2004-10-27 Richard Sandiford <rsandifo@redhat.com>
1988 * dbxout.c (dbxout_source_line): Move declaration of begin_label to
1989 the block that needs it.
1991 2004-10-27 Zack Weinberg <zack@codesourcery.com>
1993 * dbxout.c (dbxout_finish_complex_stabs): Mark 'line' variable
1996 2004-10-27 Zack Weinberg <zack@codesourcery.com>
1998 * c-lex.c (cb_def_pragma): Clean up code for making location
1999 palatable to diagnostic.c.
2001 2004-10-27 Steven Bosscher <stevenb@suse.de>
2003 PR tree-optimization/17757
2004 * tree-phinodes.c (remove_phi_arg_num): Don't remove PHIs
2005 without any PHI arguments left. Make sure the argument that
2006 we're supposed to remove exists at all.
2008 2004-10-27 Paul Brook <paul@codesourcery.com>
2010 * configure.ac: Don't test for [build] __cxa_atexit when building a
2012 * configure: Regenerate.
2014 2004-10-27 Paul Brook <paul@codeosurcery.com>
2016 * configure.ac: Use build_exeext not host_exeext when lookin for
2018 * configure: Regenerate.
2020 2004-10-27 Andreas Krebbel <krebbel1@de.ibm.com>
2022 * config/s390/s390.md ("*subdf3_cc"): Replaced plus by minus.
2024 2004-10-27 Andreas Krebbel <krebbel1@de.ibm.com>
2025 patch originally created by Kelley Cook <kcook@gcc.gnu.org>
2028 * opts.c (OPT_fprofile_generate): Default to -funroll-loops
2029 to match -fprofile-use.
2031 2004-10-27 Kazu Hirata <kazu@cs.umass.edu>
2033 * config/rs6000/rs6000.c: Fix a comment typo.
2035 2004-10-27 Zack Weinberg <zack@codesourcery.com>
2037 * config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Increment line
2040 2004-10-27 Andreas Schwab <schwab@suse.de>
2042 * varasm.c (default_stabs_asm_out_destructor): Mark symbol as
2044 (default_stabs_asm_out_constructor): Likewise.
2046 2004-10-26 Geoffrey Keating <geoffk@apple.com>
2048 * builtins.c (fold_builtin_unordered_cmp): Always bring both
2049 operands to the same type.
2051 2004-10-26 James E Wilson <wilson@specifixinc.com>
2054 * emit-rtl.c (emit_copy_of_insn_after): Copy RTX_FRAME_RELATED_P.
2056 2004-10-26 Zack Weinberg <zack@codesourcery.com>
2058 * dbxout.c: Include obstack.h.
2059 (ASM_STABS_OP): Take XCOFF_DEBUGGING_INFO into account in
2061 (ASM_STABD_OP, NO_DBX_MAIN_SOURCE_DIRECTORY, DBX_CONTIN_CHAR):
2062 Default-define here.
2063 (DBX_CONTIN_LENGTH): Move definition with others.
2064 (DBX_FINISH_STABS): New target macro.
2065 (current_sym_code, current_sym_value, current_sym_addr)
2066 (current_sym_nchars, CHARS, dbxout_continue)
2067 (print_int_cst_octal, print_octal, print_wide_int)
2068 (dbxout_prepare_symbol, dbxout_finish_symbol): Delete.
2069 (stabstr_ob, stabstr_last_contin_point): New variables.
2070 (NUMBER_FMT_LOOP): New improper macro.
2071 (dbxout_int, dbxout_stab_value_zero, dbxout_stab_value_label)
2072 (dbxout_stab_value_label_diff, dbxout_stab_value_internal_label)
2073 (dbxout_stab_value_internal_label_diff, dbxout_stabd)
2074 (dbxout_begin_stabn, dbxout_begin_stabn_sline)
2075 (dbxout_begin_simple_stabs, dbxout_begin_simple_stabs_desc)
2076 (dbxout_begin_complex_stabs, dbxout_finish_complex_stabs)
2077 (stabstr_C, stabstr_S, stabstr_I, stabstr_D, stabstr_U, stabstr_O)
2078 (stabstr_continue, DECL_ACCESSIBILITY_CHAR)
2079 New functions and/or proper function-like macros.
2080 (CONTIN): Use stabstr_continue, unconditionally.
2081 (get_lang_number): Define unconditionally, with ATTRIBUTE_UNUSED.
2082 (dbxout_init): Initialize stabstr_ob. Check
2083 NO_DBX_MAIN_SOURCE_DIRECTORY. Only write out the Ltext label
2084 if it was used. Use the new interfaces.
2085 (dbxout_source_file): Remove file argument; always write to
2086 asm_out_file. Use the new interfaces.
2087 (dbxout_type_method_1): Remove second argument which is always
2088 DECL_ASSEMBLER_NAME of the first argument. Use the new interfaces.
2089 (dbxout_type_methods): Remove write-only variables. Use the
2091 (dbxout_parms): Refactor to remove code duplicated in each of
2092 several successive if-else-if blocks. Use the new interfaces.
2093 (dbxout_function_end, emit_bincl_stab, dbxout_end_source_file)
2094 (dbxout_source_line, dbxout_finish, dbxout_type_index)
2095 (dbxout_type_fields, dbxout_range_type, dbxout_type, dbxout_type_name)
2096 (dbxout_class_name_qualifiers, dbxout_symbol, dbxout_symbol_location)
2097 (dbxout_symbol_name, dbxout_reg_parms, dbxout_args)
2098 (dbx_output_lbrac, dbx_output_rbrac, dbxout_block):
2099 Use the new interfaces.
2100 * Makefile.in (dbxout.o): Update dependencies.
2102 * defaults.h: Don't define ASM_STABD_OP.
2103 * output.h: Prototype new dbxout_* interfaces.
2104 * system.h: Poison DBX_OUTPUT_GCC_MARKER and DBX_FINISH_SYMBOL.
2105 * varasm.c: Don't define ASM_STABS_OP.
2106 (default_stabs_asm_out_constructor, default_stabs_asm_out_destructor):
2107 Use the new dbxout.c interfaces. Call sorry if neither
2108 DBX_DEBUGGING_INFO nor XCOFF_DEBUGGING_INFO is defined.
2110 * xcoffout.h: Don't define ASM_STABS_OP.
2111 (DBX_FINISH_SYMBOL): Rewrite and rename DBX_FINISH_STABS.
2112 (DBX_OUTPUT_MAIN_SOURCE_DIRECTORY, DBX_OUTPUT_GCC_MARKER): Delete.
2113 (NO_DBX_MAIN_SOURCE_DIRECTORY, NO_DBX_GCC_MARKER): Define.
2114 (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Change bare block to
2115 do { ... } while (0) idiom.
2117 * config/alpha/alpha.c (num_source_filenames): Export.
2118 * config/alpha/alpha.h (num_source_filenames): Declare.
2119 (DBX_OUTPUT_SOURCE_LINE): Use new interfaces.
2120 (SDB_OUTPUT_SOURCE_LINE): Add missing newline.
2121 * config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Use new interfaces.
2122 Always use .debugsym. Update commentary.
2123 * config/mips/mips.h (DBX_OUTPUT_SOURCE_LINE): Use new interfaces.
2124 (SDB_OUTPUT_SOURCE_LINE): Add missing newline.
2125 * config/rs6000/linux64.h (DBX_OUTPUT_SOURCE_LINE, DBX_OUTPUT_BRAC):
2127 * config/rs6000/rs6000.c: If TARGET_MACHO, include gstab.h.
2128 (macho_branch_islands): Use new interfaces.
2130 * doc/tm.texi: Update.
2132 2004-10-26 Aldy Hernandez <aldyh@redhat.com>
2134 * expr.c (emit_group_store): Do not treat floats as BLKmode.
2135 (emit_group_load): Same.
2137 2004-10-26 Joseph S. Myers <jsm@polyomino.org.uk>
2139 * c-parse.in (datadef): Use pedwarn rather than error and warning
2140 for diagnostic in case of no declaration specifiers.
2142 2004-10-26 Richard Sandiford <rsandifo@redhat.com>
2145 * doc/install.texi (mips-sgi-irix5): Document that /bin/sh has been
2146 reported to hang during bootstrap and that CONFIG_SHELL=/bin/ksh
2147 can be used to work around this.
2149 2004-10-26 Aldy Hernandez <aldyh@redhat.com>
2151 * config/rs6000/rs6000.h (MEMBER_TYPE_FORCES_BLK): Adjust for e500
2154 2004-10-26 Kazu Hirata <kazu@cs.umass.edu>
2156 * stmt.c (expand_case): Update a comment.
2158 2004-10-26 Kazu Hirata <kazu@cs.umass.edu>
2160 * stmt.c (expand_case): Put an assertion that index_expr is
2161 never INTEGER_CST. Don't special case for constant
2164 2004-10-26 Andrew Pinski <pinskia@physics.uc.edu>
2167 * c-parse.in (designator): Finish with a semi-colon.
2169 2004-10-26 Fariborz Jahanian <fjahanian@apple.com>
2171 * config/rs6000/rs6000.md (andsi3_internal8): Set CR when splitting
2174 2004-10-26 Kazu Hirata <kazu@cs.umass.edu>
2176 * stmt.c (expand_case): Remove code to handle SWITCH_EXPR with
2177 a default case only.
2179 2004-10-26 Aldy Hernandez <aldyh@redhat.com>
2181 * config/rs6000/rs6000.c (rs6000_hard_regno_nregs): Adjust for
2183 (spe_build_register_parallel): New.
2184 (rs6000_spe_function_arg): Handle e500 doubles.
2185 (function_arg): Same.
2186 (spe_func_has_64bit_regs_p): Same.
2187 (rs6000_function_value): Same.
2188 (rs6000_libcall_value): Same.
2189 (legitimate_lo_sum_address_p): Return false for e500 doubles.
2191 * config/rs6000/rs6000.h (LOCAL_ALIGNMENT): Adjust for e500
2193 (DATA_ALIGNMENT): Same.
2194 (CANNOT_CHANGE_MODE_CLASS): Same.
2196 2004-10-26 Aldy Hernandez <aldyh@redhat.com>
2198 * expr.c (emit_group_load): Handle floats.
2199 (emit_group_store): Same.
2201 2004-10-26 Nathan Sidwell <nathan@codesourcery.com>
2203 * c-lex.c (get_nonpadding_token): Remove.
2204 (c_lex_with_flags): Push timevar and eat padding here. Improve
2205 stray token diagnostic.
2206 (lex_string): Replace logic with switch statement, eat padding
2209 2004-10-26 Geoffrey Keating <geoffk@apple.com>
2212 * config/i386/darwin.h (ASM_SPEC): Undef it before defining.
2214 2004-10-25 Geoffrey Keating <geoffk@apple.com>
2216 * config/darwin.h (LINK_SPEC): Default weak_reference_mismatches
2218 (MAKE_DECL_ONE_ONLY): Set DECL_WEAK.
2219 (ASM_MAKE_LABEL_LINKONCE): Delete.
2220 (ASM_WEAKEN_DECL): New.
2221 (ASM_DECLARE_OBJECT_NAME): Look at DECL_WEAK not DECL_ONE_ONLY.
2222 (ASM_DECLARE_FUNCTION_NAME): Likewise.
2223 (TEXT_SECTION_ASM_OP): Add a tab.
2224 (DATA_SECTION_ASM_OP): Likewise.
2225 (SECTION_FUNCTION): Add a tab. Use fputs. Don't call
2226 data_section on every section change.
2227 (EXTRA_SECTIONS): Add a bunch of new extra sections.
2228 (EXTRA_SECTION_FUNCTIONS): Likewise.
2229 (USE_SELECT_SECTION_FOR_FUNCTIONS): Define.
2230 (JCR_SECTION_NAME): Define.
2231 (TARGET_SECTION_TYPE_FLAGS): Don't define.
2232 * config/darwin.c (darwin_encode_section_info): A symbol is defined
2233 in this file if it is not weak.
2234 (textcoal_section): Delete.
2235 (datacoal_section): Delete.
2236 (darwin_make_decl_one_only): Delete.
2237 (machopic_select_section): Handle functions.
2238 (darwin_asm_named_section): Add a tab.
2239 (darwin_section_type_flags): Delete.
2240 (darwin_unique_section): Delete contents.
2241 (darwin_emit_unwind_label): Add a tab. Make decls weak if
2243 * config/darwin-protos.h (darwin_section_type_flags): Delete.
2244 (darwin_make_decl_one_only): Delete.
2245 (text_coal_section): New.
2246 (text_unlikely_section): New.
2247 (text_unlikely_coal_section): New.
2248 (const_coal_section): New.
2249 (data_coal_section): New.
2250 (const_data_coal_section): New.
2251 * varasm.c (function_section): Honour
2252 USE_SELECT_SECTION_FOR_FUNCTIONS.
2253 * dwarf2out.c (output_call_frame_info): Look at DECL_WEAK when
2254 TARGET_USES_WEAK_UNWIND_INFO is in effect.
2255 * dbxout.c (dbxout_source_file): Don't change sections while
2256 a function is being output.
2258 2004-10-25 David Ayers <d.ayers@inode.at>
2260 * c-common.h: Remove RID_ID.
2261 * c-parse.in: Remove OBJECTNAME and references to RID_ID.
2262 (typespec_reserved_attr): Add rule for TYPENAME
2263 non_empty_protocolrefs.
2264 (yylexname): Remove special handling of RID_ID.
2266 2004-10-25 James E Wilson <wilson@specifixinc.com>
2268 * doc/invoke.texi (-fcrossjumping): Not enabled at -O.
2270 2004-10-25 Joseph S. Myers <jsm@polyomino.org.uk>
2273 * c-parse.in (array_designator): New.
2274 (designator): Use it.
2275 (initelt): Only permit array_designator without '=', not ".foo".
2277 2004-10-25 Kenneth Zadeck <zadeck@naturalbridge.com>
2278 * gcc/Makefile.in: removed ggc for cgraphunit.
2279 * gcc/cgraph.c.dump_cgraph_node: removed static var analysis.
2280 * gcc/cgraph.h: removed static var analysis data structures and calls.
2282 cgraph_mark_local_and_external_functions:changed name to
2283 cgraph_mark_local_functions
2284 (print_order,convert_UIDs_in_bitmap,new_static_vars_info,
2285 cgraph_reset_static_var_maps,get_global_static_vars_info,
2286 get_global_statics_not_read,get_global_statics_not_written,searchc,
2287 cgraph_reduced_inorder,has_proper_scope_for_analysis,check_rhs_var,
2288 check_lhs_var,get_asm_expr_operands,process_call_for_static_vars,
2289 scan_for_static_refs,cgraph_characterize_statics_local,
2290 clear_static_vars_maps,cgraph_propagate_bits,cgraph_characterize_statics):
2292 (cgraph_optimize,init_cgraph): removed calls to static vars analysis
2293 * gcc/tree-dfa.c find_referenced_vars: removed call to static vars
2295 * gcc/tree-flow.h static_vars_info: removed
2296 * gcc/tree-ssa-operands.c (add_call_clobber_ops,add_call_read_ops):
2297 removed calls to static vars analysis.
2298 get_call_expr_operands: removed callee variable.
2300 2004-10-25 Kazu Hirata <kazu@cs.umass.edu>
2302 * cfg.c (unchecked_make_edge, redirect_edge_succ,
2303 redirect_edge_pred): Use VEC_safe_push instead of
2305 * cfgrtl.c (force_nonfallthru_and_redirect): Likewise.
2307 2004-10-25 Kazu Hirata <kazu@cs.umass.edu>
2309 * cfgloopmanip.c (loopify): Take two more arguments true_edge
2311 * cfgloop.h: Adjust the corresponding prototype.
2312 * loop-unswitch.c (unswitch_loop): Adjust a call to loopify.
2313 * tree-ssa-loop-manip.c (tree_ssa_loop_version): Likewise.
2315 2004-10-25 Jakub Jelinek <jakub@redhat.com>
2317 * dwarf2out.c (rtl_for_decl_location): Avoid segfault if
2318 DECL_INCOMING_RTL is NULL.
2320 2004-10-25 Steven Bosscher <stevenb@suse.de>
2322 * timevar.def (TV_FIND_REFERENCED_VARS): New.
2323 * tree-dfa.c (pass_referenced_var): Use it.
2325 2004-10-25 Roger Sayle <roger@eyesopen.com>
2326 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2328 * cse.c: Change encoding of quantity numbers to avoid undefined
2329 pointer arithmetic on qty_table.
2330 (REGNO_QTY_VALID_P): A quantity is now valid if it isn't negative.
2331 (get_cse_reg_info): Initialize reg_qty to a unique negative value.
2332 (new_basic_block): Assign "real" quantity numbers from zero.
2333 (delete_reg_equiv): Do nothing if quantity is invalid. Reset the
2334 REG_QTY to its unique negative value.
2335 (merge_equiv_classes): Calculate need_rehash if quantity is valid.
2336 (cse_main): Don't include max_reg when determining max_qty.
2337 (cse_basic_block): Avoid subtracting a large offset from qty_table,
2338 which causes undefined C99 behaviour. Only allocate needed memory.
2340 2004-10-25 Kazu Hirata <kazu@cs.umass.edu>
2342 * stmt.c (expand_case): Remove an obsolete comment.
2344 2004-10-25 Andrew Pinski <pinskia@physics.uc.edu>
2347 * c-decl.c (grokdeclarator) <case cdk_array>: Remove the call
2348 layout_type as it is already done by build_array_type.
2349 * tree.c (build_array_type): Layout the type even
2351 2004-10-25 Alexandre Oliva <aoliva@redhat.com>
2353 * config/frv/linux.h (TARGET_C99_FUNCTIONS): Define to 0.
2355 2004-10-25 Alexandre Oliva <aoliva@redhat.com>
2357 * config/frv/frv.md (movdi, movdf): Handle wide-constant splits
2358 with wider-than-32-bit HOST_WIDE_INTs.
2360 2004-10-25 David Billinghurst <David.Billinghurst@riotinto.com>
2362 * config/mips/mips.c(mips_output_filename): Remove unused
2363 array ltext_label_name
2365 2004-10-24 Geoffrey Keating <geoffk@geoffk.org>
2367 * config/rs6000/darwin.h (BLOCK_REG_PADDING): Define.
2369 2004-10-25 Ben Elliston <bje@au.ibm.com>
2371 * cfgcleanup.c (outgoing_edges_match): Fix typo in dump output.
2373 2004-10-23 Andrew Pinski <pinskia@physics.uc.edu>
2375 * predict.c (predict_loops): Call scev_finalize instead of
2378 2004-10-24 Kazu Hirata <kazu@cs.umass.edu>
2380 * config/dbxcoff.h, config/dbxelf.h, config/libgloss.h,
2381 config/openbsd.h, config/mips/r3900.h, config/pdp11/pdp11.md,
2382 config/sh/ushmedia.h, config/sparc/elf.h,
2383 config/sparc/sp64-elf.h: Update copyright.
2385 2004-10-24 Kazu Hirata <kazu@cs.umass.edu>
2387 * stmt.c (expand_case): Handle the default label outside of
2388 the for loop. Remove code to handle a missing default label.
2390 2004-10-23 Kazu Hirata <kazu@cs.umass.edu>
2392 * dbxout.c (dbxout_function_decl): Don't use
2393 DBX_OUTPUT_FUNCTION_END.
2394 * system.h: Poison DBX_OUTPUT_FUNCTION_END.
2395 * doc/tm.texi (DBX_OUTPUT_FUNCTION_END): Remove.
2397 2004-10-23 Andrew Pinski <pinskia@physics.uc.edu>
2400 * tree-cfg.c (remove_usless_stmts_cond): Don't Fold statement.
2402 2004-10-23 Daniel Berlin <dberlin@dberlin.org>
2404 * tree-ssa-dom.c (record_equality): Use loop depth to determine
2405 which way to record the equality as well.
2406 (loop_depth_of_name): New function.
2408 2004-10-23 Eric Botcazou <ebotcazou@libertysurf.fr>
2411 * gimplify.c (gimplify_addr_expr) <VIEW_CONVERT_EXPR>: Look
2412 through the operand if it is a useless type conversion.
2414 2004-10-23 Ben Elliston <bje@au.ibm.com>
2416 * cfg.c (remove_edge): Use VEC_unordered_remove.
2417 (redirect_edge_succ): Likewise.
2418 (redirect_edge_pred): Likewise.
2419 * cfgrtl.c (force_nonfallthru_and_redirect): Likewise.
2421 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
2423 * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP): Don't access PTR
2426 2004-10-22 Eric Christopher <echristo@redhat.com>
2428 * config/rs6000/rs6000.c (setup_incoming_varargs): Align DFmode
2431 2004-10-22 Aldy Hernandez <aldyh@redhat.com>
2433 * config/rs6000/spe.md (spe_extendsfdf2): New.
2434 (movdf_e500_double): New.
2435 (spe_truncdfsf2): New.
2442 (spe_floatsidf2): New.
2443 (spe_floatunssidf2): New.
2444 (fix_truncdfsi2): New.
2445 (spe_fixuns_truncdfsi2): New.
2447 * config/rs6000/rs6000.md (truncdfsf2): Change to expander.
2448 (fpr_truncdfsf2): New.
2449 (negdf2): Change to expander.
2451 (fpr_nabsdf2): Name pattern.
2452 (adddf3): Change to expander.
2454 (subdf3): Change to expander.
2456 (muldf3): Change to expander.
2458 (divdf3): Change to expander.
2460 (movdf_softfloat32): Change !TARGET_FPRS to TARGET_E500_SINGLE.
2461 (cmpdf): Allow for TARGET_E500_DOUBLE.
2463 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
2465 * c-semantics.c (re_push_stmt_list): Remove.
2466 * c-common.h: Remove the corresponding prototype.
2468 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
2470 * stmt.c (asm_op_is_mem_input): Remove.
2471 * tree.h: Remove the corresponding prototype.
2473 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
2475 * tree-gimple.c (is_gimple_constructor_elt): Remove.
2476 * tree-gimple.h: Remove the corresponding prototype.
2478 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
2480 * varasm.c (get_pool_mode_for_function, get_pool_offset):
2482 * rtl.h: Remove the corresponding prototypes.
2484 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
2486 * tree-cfg.c (thread_jumps_from_bb): Speed up by extracting
2487 edge information when we commit ourselves to threading a
2490 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
2492 * tree-cfg.c (thread_jumps): Speed up by putting basic blocks
2493 into worklist instead of their indexes.
2495 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
2497 * alias.c, basic-block.h, cgraphunit.c, combine.c, domwalk.h,
2498 final.c, gengtype.c, genpreds.c, ggc-page.c, insn-notes.def,
2499 lambda-code.c, loop-unroll.c, modulo-sched.c, pointer-set.c,
2500 pretty-print.c, ra-colorize.c, sbitmap.c, tree-complex.c,
2501 tree-data-ref.c, tree-dfa.c, tree-inline.c, tree-into-ssa.c,
2502 tree-scalar-evolution.c, tree-ssa-dom.c,
2503 tree-ssa-loop-manip.c, tree-ssa-loop-niter.c,
2504 tree-ssa-phiopt.c, tree-ssa-pre.c, tree-ssa-threadupdate.c,
2505 tree-vectorizer.c, vec.h: Fix comment formatting.
2507 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
2509 * dwarf.h, gthr-dce.h, gthr-single.h, gthr-solaris.h, gthr.h,
2510 libfuncs.h, libgcc2.h, stab.def, tsystem.h: Update copyright.
2512 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
2514 * config/ptx4.h, config/mcore/mcore-pe.h,
2515 config/rs6000/eabi.h, config/vax/elf.h: Update copyright.
2517 2004-10-22 Peter Barada <peter@the-baradas.com>
2519 * config/m68k/m68k.h (HARD_REGNO_RENAME_OK): New macro.
2520 * config/m68k/m68k.c (m68k_hard regno_rename_ok): Disallow
2521 renaming of non-live registers in interrupt functions.
2522 * config/m68k/m68k-protos.h (m68k_hard_regno_rename_ok): Add prototype.
2524 2004-10-22 Zdenek Dvorak <dvorakz@suse.cz>
2526 * tree-ssa-loop-niter.c (inverse): Count in HOST_WIDE_INT if possible.
2527 Use integer for loop counter.
2528 (num_ending_zeros): New function.
2529 (number_of_iterations_cond): Use num_ending_zeros.
2531 2004-10-21 Aldy Hernandez <aldyh@redhat.com>
2533 * config.gcc: Add support for --enable-e500_double.
2535 * config/rs6000/e500-double.h: New file.
2537 * config/rs6000/rs6000.h: Define TARGET_E500_SINGLE and
2540 * config/rs6000/eabi.h: Define TARGET_E500_SINGLE and
2543 * config/rs6000/linuxspe.h: Same.
2545 * doc/invoke.texi (Option Summary): Document new options for
2547 (RS/6000 and PowerPC Options): Same.
2549 * config/rs6000/rs6000.c (rs6000_parse_float_gprs_option): New
2551 (rs6000_override_options): Use it. Use
2552 SUB3TARGET_OVERRIDE_OPTIONS.
2553 Add 8548 to processor_target_table.
2554 (rs6000_legitimate_address): Handle e500 doubles.
2555 (rs6000_legitimize_address): Same.
2556 (rs6000_legitimize_reload_address): Same.
2557 (rs6000_hard_regno_nregs): Same.
2558 (spe_func_has_64bit_regs_p): Same.
2559 (emit_frame_save): Same.
2560 (gen_frame_mem_offset): Same.
2561 (rs6000_dwarf_register_span): Same.
2562 (rs6000_generate_compare): Same.
2563 (easy_fp_constant): Same.
2564 (legitimate_offset_address_p): Same.
2566 * config/rs6000/spe.md: (cmdfeq_gpr): New.
2575 2004-10-21 Giovanni Bajo <giovannibajo@gcc.gnu.org>
2577 * config/arc/lib1funcs.asm (___umulsidi3): Fix typo.
2579 2004-10-21 Zack Weinberg <zack@codesourcery.com>
2581 * dbxout.c: Remove unnecessary #undefs.
2582 (GDB_INV_REF_REGPARM_STABS_LETTER, DBX_MEMPARM_STABS_LETTER)
2583 (FILE_NAME_JOINER, STABS_GCC_MARKER): Remove; fold sole
2584 definition into use sites.
2585 (cwd): Make local to dbxout_init.
2586 (dbxout_init): Restructure cwd-using logic for clarity. Use
2588 * xcoffout.h (DBX_OUTPUT_GCC_MARKER): Definition of
2589 STABS_GCC_MARKER folded in here.
2590 * system.h: Poison now-unused macros.
2591 * doc/tm.texi: Remove documentation of now-unused macros.
2593 2004-10-21 Andrew Pinski <pinskia@physics.uc.edu>
2596 * c-opts.c (push_command_line_include): Use the current file
2597 name instead of the main one.
2599 2004-10-21 Andrew Pinski <pinskia@physics.uc.edu>
2602 * tree.c (staticp): A CONST_DECL has static storage if either
2603 TREE_STATIC or DECL_EXTERNAL is set.
2604 * c-decl.c (pushdecl_top_level): Accept CONST_DECLs which can
2607 2004-10-21 Kazu Hirata <kazu@cs.umass.edu>
2609 * expr.c (store_expr): Remove dont_store_target.
2611 2004-10-21 Kazu Hirata <kazu@cs.umass.edu>
2613 * tree-cfg.c (thread_jumps): Speed up by using a worklist.
2615 2004-10-21 Kazu Hirata <kazu@cs.umass.edu>
2617 * tree-cfg.c (thread_jumps): Move a part of it to ...
2618 (thread_jumps_from_bb): ... here.
2620 2004-10-21 David Edelsohn <edelsohn@gnu.org>
2622 * dbxout.c (DBX_FINISH_SYMBOL): Add asm_out_file argument.
2623 * xcoffout.h (DBX_FINISH_SYMBOL): Change asmfile to (ASMFILE).
2625 2004-10-21 Kazu Hirata <kazu@cs.umass.edu>
2627 * expr.c (store_expr): Clean up by renaming want_value to
2630 2004-10-21 Kaz Kojima <kkojima@gcc.gnu.org>
2632 * config/sh/linux-unwind.h (sh_fallback_frame_state): Don't
2635 2004-10-21 Aldy Hernandez <aldyh@redhat.com>
2638 * expmed.c (store_bit_field): Pass original 'value' before
2641 2004-10-21 Nicolas Pitre <nico@cam.org>
2643 * config/arm/ieee754-sf.S: Large speed improvements. Fix NAN handling.
2644 * config/arm/ieee754-df.S: Ditto.
2646 2004-10-20 Zack Weinberg <zack@codesourcery.com>
2648 * dbxout.c (asmfile): Delete. All uses changed to asm_out_file.
2649 (DBX_BLOCKS_FUNCTION_RELATIVE, DBX_LINES_FUNCTION_RELATIVE):
2651 (dbxout_source_line): Use DBX_OUTPUT_SOURCE_LINE when defined.
2652 When it is not, but DBX_LINES_FUNCTION_RELATIVE is true, emit
2653 an internal label and an N_SLINE .stabn whose value is the
2654 difference between that label and the function entry label.
2655 (dbxout_finish): If DBX_OUTPUT_MAIN_SOURCE_FILE_END is not defined,
2656 but DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END is, emit a
2657 label and an N_SO stab with an empty string referring to it.
2658 (dbx_output_lbrac, dbx_output_rbrac): Use if statement instead
2659 of #ifdef directive to test DBX_BLOCKS_FUNCTION_RELATIVE.
2660 (dbxout_type_methods, dbxout_symbol): Remove #if 0 block.
2661 (dbxout_prepare_symbol): Remove #ifdef WINNING_GDB block, this
2662 macro is never defined.
2663 * sdbout.c (sdbout_source_line_counter): Delete.
2664 (PUT_SDB_SRC_FILE): Delete. Uses replaced with sole definition.
2665 (sdbout_source_line): Use SDB_OUTPUT_SOURCE_LINE, which takes
2667 * xcoffout.c (ASM_OUTPUT_SOURCE_LINE): Rename ASM_OUTPUT_LINE.
2669 * config/dbxcoff.h, config/dbxelf.h: Remove unncessary #undefs.
2670 * config/c4x/c4x.h, config/pa/pa.h: Remove unnecessary macro
2671 definitions (identical to default).
2672 * config/darwin.h, config/dbxcoff.h, config/dbxelf.h, config/ptx4.h
2673 * config/h8300/coff.h, config/pa/som.h, config/sh/elf.h:
2674 Define DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END, not
2675 DBX_OUTPUT_MAIN_SOURCE_FILE_END.
2676 * config/dbxcoff.h, config/dbxelf.h, config/ptx4.h
2677 * config/mcore/mcore-pe.h, config/pa/som.h, config/sh/elf.h:
2678 Define DBX_LINES_FUNCTION_RELATIVE, not ASM_OUTPUT_SOURCE_LINE.
2679 * config/alpha/alpha-protos.h: Don't prototype alpha_output_lineno.
2680 * config/alpha/alpha.c: Move declaration of num_source_filenames up.
2681 (alpha_start_function): Use SDB_OUTPUT_SOURCE_LINE.
2682 (sym_lineno): Delete.
2683 (alpha_output_filename): Do not emit N_SOL stabs here. Remove
2684 now-unused variable.
2685 (alpha_output_lineno): Delete.
2686 * config/mips/mips-protos.h: Don't prototype mips_output_lineno.
2687 * config/mips/mips.c (mips_output_filename): Don't use
2688 ASM_OUTPUT_FILENAME. Don't emit N_SOL stabs here.
2689 (mips_output_lineno): Delete.
2690 (mips_output_function_prologue: Use SDB_OUTPUT_SOURCE_LINE.
2691 * config/alpha/alpha.h: Define DBX_OUTPUT_SOURCE_LINE and
2692 SDB_OUTPUT_SOURCE_LINE, not ASM_OUTPUT_SOURCE_LINE.
2693 * config/mips/mips.h: Likewise. Don't define ASM_OUTPUT_FILENAME.
2694 * config/mips/sdb.h: Use SDB_OUTPUT_SOURCE_LINE.
2695 * config/avr/avr.h: Don't define ASM_OUTPUT_SOURCE_LINE.
2696 * config/mmix/mmix.h: Likewise.
2697 * config/mmix/mmix.c (mmix_asm_output_source_line): Delete.
2698 * config/mmix/mmix-protos.h: Don't prototype it.
2699 * config/alpha/unicosmk.h: Also #undef PREFERRED_DEBUGGING_TYPE;
2700 no need to #undef ASM_OUTPUT_SOURCE_LINE.
2701 * config/arm/aout.h: Remove RISCiX-specific definition of
2702 DBX_OUTPUT_MAIN_SOURCE_FILENAME.
2703 * config/m32r/m32r.h: Define DBX_OUTPUT_SOURCE_LINE, not
2704 ASM_OUTPUT_SOURCE_LINE.
2705 * config/rs6000/linux64.h (ASM_OUTPUT_SOURCE_LINE): Rename to
2706 DBX_OUTPUT_SOURCE_LINE. Don't use current_function_func_begin_label.
2707 * config/vax/elf.h: No need to define DBX_OUTPUT_FUNCTION_END.
2709 * doc/tm.texi: Update.
2711 2004-10-20 Richard Henderson <rth@redhat.com>
2713 * tree-sra.c (instantiate_element): Copy DECL_IGNORED_P also.
2715 2004-10-20 Kelley Cook <kcook@gcc.gnu.org>
2717 * configure.ac: Revert my previous patch.
2718 * configure: Regenerate.
2720 2004-10-20 Ben Elliston <bje@au.ibm.com>
2722 * config/rs6000/rs6000.c
2723 (rs6000_va_start): Use build_va_arg_indirect_ref.
2724 (rs6000_gimplify_va_arg): Likewise.
2726 2004-10-20 Bryce McKinlay <mckinlay@redhat.com>
2729 * configure.ac: Declare AM_LANGINFO_CODESET.
2730 * aclocal.m4: Define AM_LANGINFO_CODESET.
2731 * configure, config.in: Rebuilt.
2733 2004-10-20 Kazu Hirata <kazu@cs.umass.edu>
2735 * expr.c (store_expr): Remove code that is run when
2736 want_value & 1 is nonzero.
2738 2004-10-20 Mark Mitchell <mark@codesourcery.com>
2740 * gthr-posix.h (__gthread_active_p): Use __extension__ around cast
2741 from function pointer to void *.
2743 2004-10-20 Kaz Kojima <kkojima@gcc.gnu.org>
2746 * config/sh/sh.c (sh_expand_epilogue): Emit a blockage insn before
2747 the frame pointer adjustment when exception handling is enabled.
2749 2004-10-20 Kazu Hirata <kazu@cs.umass.edu>
2751 * stor-layout.c: Fix a comment typo.
2753 2004-10-20 Kazu Hirata <kazu@cs.umass.edu>
2755 * expr.c (store_field): Remove two arguments value_mode and
2757 (expand_assignment, store_constructor_field,
2758 expand_expr_real_1): Adjust calls to store_field.
2760 2004-10-18 Ramana Radhakrishnan <ramana.radhakrishnan@codito.com>
2762 * config/arc/lib1funcs.asm (___umulsidi3): Correct usage of flags.
2765 * config/arc/arc.h (REGNO_OK_FOR_BASE_P,REGNO_OK_FOR_INDEX_P,
2766 REG_OK_FOR_BASE, REG_OK_FOR_INDEX): Consider blink(r31) as a valid
2767 base and index register for loads.
2769 * config/arc/t-arc: Fix multilib handling.
2771 2004-10-20 Hans-Peter Nilsson <hp@bitrange.com>
2773 * cfgrtl.c (rtl_verify_flow_info_1): When checking insns in a bb,
2774 don't inspect BLOCK_FOR_INSN for barriers.
2775 * emit-rtl.c (emit_barrier_before): Revert last change.
2776 (emit_barrier_after, emit_barrier): Ditto.
2778 * doc/extend.texi (Extended Asm): Warn and provide example
2779 solution for using a call-clobbered asm register.
2780 (Local Reg Vars): Similar. Cross-reference example.
2782 2004-10-19 Andrew Pinski <pinskia@physics.uc.edu>
2784 * tree-cfg.c (group_case_labels): Look at the second to last
2785 case statement for combing with the default case.
2787 2004-10-19 Richard Hendeson <rth@redhat.com>
2790 * stor-layout.c (layout_type): Set TYPE_ALIGN for vectors.
2792 2004-10-19 Richard Hendeson <rth@redhat.com>
2794 * builtins.c (expand_builtin_memmove): If fold_builtin_memmove
2795 succeeds, only expand the result.
2797 2004-10-19 Richard Hendeson <rth@redhat.com>
2800 * tree.c (recompute_tree_invarant_for_addr_expr): Always poll address
2803 2004-10-19 Kazu Hirata <kazu@cs.umass.edu>
2805 * tree-cfg.c (thread_jumps): Use a do-while loop instead of a
2808 2004-10-19 Kazu Hirata <kazu@cs.umass.edu>
2810 * expr.c (expand_assignment): Remove the last argument.
2811 Change the return type to void.
2812 * expr.h: Update the prototype of expand_assignment.
2813 * function.c (assign_parm_setup_reg): Update a call to
2815 * stmt.c (expand_asm_expr): Likewise.
2817 2004-10-19 Kazu Hirata <kazu@cs.umass.edu>
2819 * expr.c (expand_expr_real_1) <MODIFY_EXPR>: Remove
2820 unnecessary assignments to temp. Return const0_rtx.
2822 2004-10-19 Kaz Kojima <kkojima@gcc.gnu.org>
2824 * config/sh/sh.c (sh5_schedule_saves): Fix typo.
2826 2004-10-18 Kelley Cook <kcook@gcc.gnu.org>
2828 * configure.ac (powerpc-*-darwin*): Require assembler to support
2830 * configure: Regenerate.
2832 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
2834 * reload1.c (ior_hard_reg_set): Remove.
2835 (finish_spills): Use IOR_HARD_REG_SET instead of
2838 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
2840 * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP): Speed up by shifting
2841 the currently visited word to right.
2843 2004-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
2846 * expmed.c (expand_smod_pow2): Handle modes whose size
2847 is greater than that of HOST_WIDE_INT.
2849 2004-10-18 Ziemowit Laski <zlaski@apple.com>
2851 * c-parse.in (reservedwords): Add OBJC_TYPE_QUAL as alternative.
2853 2004-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
2854 Roger Sayle <roger@eyesopen.com>
2857 * dojump.c (discard_pending_stack_adjust): New function.
2858 (clear_pending_stack_adjust): Call it.
2859 * expr.h (discard_pending_stack_adjust): Declare it.
2860 * explow.c (emit_stack_save): Emit pending stack adjustments
2861 before saving the stack pointer.
2862 (emit_stack_restore): Discard pending stack adjustments before
2863 restoring the stack pointer.
2865 2004-10-18 Richard Henderson <rth@redhat.com>
2867 * c-common.c (handle_mode_attribute): Allow scalar->vector
2870 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
2872 * expr.c (expand_expr_real_1) [MODIFY_EXPR]: Don't request a
2873 value to expand_assignment.
2875 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
2877 * tree-cfg.c (cleanup_tree_cfg): Don't iterate on
2879 (thread_jumps): Iterate until no new forwarder block arises.
2881 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
2883 * tree-cfg.c (tree_forwarder_block_p): Don't set forwardable.
2884 (thread_jumps): Use forwardable as cache of
2885 tree_forwarder_block_p throughout the function.
2887 2004-10-18 Andreas Krebbel <krebbel1@de.ibm.com>
2889 * cfg.c (dump_flow_info): Remove redundant dump of reg life info.
2891 2004-10-18 Andrew Pinski <pinskia@physics.uc.edu>
2895 * tree-cfg.c (remove_bb): If we have a label expression in the
2896 basic block and the label we have taken the address, move the
2897 label expression to the basic block which is previous in the
2899 (tree_verify_flow_info): Fix printing out the label name of the
2900 problematic label expression.
2902 2004-10-18 Pat Haugen <pthaugen@us.ibm.com>
2904 PR rtl-optimization/18002
2905 * simplify-rtx.c (mode_signbit_p): Externalize function...
2906 * rtl.h (mode_signbit_p): ... to here.
2907 * combine.c (simplify_shift_const): Recognize PLUS signbit as
2908 canonical form of XOR signbit and move to outer op.
2910 2004-10-18 Diego Novillo <dnovillo@redhat.com>
2912 * tree-cfg.c (bsi_for_stmt): Rename from stmt_for_bsi.
2914 * tree-ssa.c (replace_immediate_uses): Call bsi_for_stmt.
2915 Don't call fold_stmt more than once, use bsi_replace.
2917 2004-10-18 Diego Novillo <dnovillo@redhat.com>
2919 PR tree-optimization/17656
2920 * tree-ssa.c (replace_immediate_uses): When replacing a
2921 constant, if the call to fold_stmt produced a different
2922 statement, get an appropriate statement pointer by scanning
2925 2004-10-18 Richard Henderson <rth@redhat.com>
2927 * pointer-set.c (hash1): Don't use libm functions in fallback case.
2929 2004-10-18 H.J. Lu <hongjiu.lu@intel.com>
2932 * Makefile.in (clean): Remove libgcc_s$(SHLIB_EXT).1.stage?.
2933 (stage1-start): Remove and copy libunwind.a and
2934 libunwind*$(SHLIB_EXT) instead of libunwind*.
2935 (stage2-start): Likewise.
2936 (stage3-start): Likewise.
2937 (stage4-start): Likewise.
2938 (stageprofile-start): Likewise.
2939 (stagefeedback-start): Likewise.
2941 * config/alpha/t-osf4 (SHLIB_LINK): Use a temporary file for
2942 the shared library to be created and don't remove the existing
2944 * config/arm/t-netbsd (SHLIB_LINK): Likewise.
2945 * config/i386/t-nwld (SHLIB_LINK): Likewise.
2946 * config/mips/t-slibgcc-irix (SHLIB_LINK): Likewise.
2947 * config/pa/t-hpux-shlib (SHLIB_LINK): Likewise.
2948 * config/sh/t-linux (SHLIB_LINK): Likewise.
2949 * config/t-libunwind-elf (SHLIBUNWIND_LINK): Likewise.
2950 * config/t-slibgcc-darwin (SHLIB_LINK): Likewise.
2951 * config/t-slibgcc-elf-ver (SHLIB_LINK): Likewise.
2952 * config/t-slibgcc-sld (SHLIB_LINK): Likewise.
2954 * mklibgcc.in (libgcc-stage-start): Also move "*${objext}s"
2957 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
2959 * basic-block.h (reg_set_iterator): New.
2960 (EXECUTE_IF_SET_IN_REG_SET): Make it iterator style.
2961 (EXECUTE_IF_AND_COMPL_IN_REG_SET): Likewise.
2962 (EXECUTE_IF_AND_IN_REG_SET): Likewise.
2963 * caller-save.c (save_call_clobbered_regs): Adjust to the new
2965 * cfgcleanup.c (thread_jump): Likewise.
2966 * cfgrtl.c (safe_insert_insn_on_edge): Likewise.
2967 * conflict.c (conflict_graph_compute): Likewise.
2968 * flow.c (verify_local_live_at_start, update_life_info,
2969 initialize_uninitialized_subregs, propagate_one_insn,
2970 init_propagate_block_info, free_propagate_block_info,
2971 propagate_block, dump_regset): Likewise.
2972 * global.c (global_conflicts): Likewise.
2973 * graph.c (start_bb): Likewise.
2974 * local-alloc.c (update_equiv_regs): Likewise.
2975 * loop.c (load_mems): Likewise.
2976 * reload1.c (compute_use_by_pseudos, order_regs_for_reload,
2977 find_reg, finish_spills): Likewise.
2978 * resource.c (mark_target_live_regs): Likewise.
2979 * sched-deps.c (sched_analyze_insn): Likewise.
2980 * sched-rgn.c (sched-rgn.c): Likewise.
2981 * config/frv/frv.c (frv_ifcvt_modify_tests): Likewise.
2983 2004-10-18 Jakub Jelinek <jakub@redhat.com>
2985 * config/i386/i386.md (addqi_1_slp): Test for incdec_operand
2986 operand 1 instead of 2
2988 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
2990 * loop-unroll.c: Fix comment typos.
2992 2004-10-18 Revital Eres <eres@il.ibm.com>
2994 * Makefile.in (loop-unroll.o): Add VARRAY_H dependency.
2995 * loop-unroll.c: Include varray.h.
2996 (struct var_to_expand, struct opt_info): Rename split_ivs_info to
2997 opt_info and expand it to support variable expansion.
2998 (analyze_insns_in_loop): Rename analyze_ivs_to_split and
2999 expand it to support variable expansion.
3000 (pt_info_start_duplication): Rename si_info_start_duplication.
3001 (apply_opt_in_copies): Rename split_ivs_in_copies and add support
3002 to the variable expansion optimization.
3003 (free_opt_info): Rename free_si_info.
3004 (analyze_insn_to_expand_var, referenced_in_one_insn_in_loop_p,
3005 expand_var_during_unrolling, insert_var_expansion_initialization,
3006 combine_var_copies_in_loop_exit, release_var_copies,
3007 get_expansion): New functions.
3008 (peel_loop_completely, unroll_loop_constant_iterations,
3009 unroll_loop_runtime_iterations, peel_loop_simple,
3010 unroll_loop_stupid): Change uses of struct si_info
3012 and add uses of fvariable-expansion-in-unroller flag.
3013 * params.def: Add parameter to restrict the number of expansions.
3014 * params.h: (MAX_VARIABLE_EXPANSIONS): New define to restrict
3015 the number of expansions.
3016 * common.opt: (fvariable-expansion-in-unroller): New flag.
3017 * doc/invoke.texi: (fvariable-expansion-in-unroller): Document.
3019 2004-10-18 Danny Smith <dannysmith@users.sourceforge.net>
3021 * config/i386/cygming.h (TARGET_OS_CPP_BUILTINS): Define
3022 __GXX_MERGED_TYPEINFO_NAMES to 0.
3024 2004-10-17 Hans-Peter Nilsson <hp@bitrange.com>
3026 * cfgrtl.c (rtl_verify_flow_info_1): When checking insns in a bb,
3027 handle barriers in a bb by checking that it points to a NULL bb.
3028 * emit-rtl.c (emit_barrier_before): Set BLOCK_FOR_INSN to NULL.
3029 (emit_barrier_after, emit_barrier): Ditto.
3031 2004-10-18 Joseph S. Myers <jsm@polyomino.org.uk>
3033 * doc/extend.texi (Attribute Syntax): Clarify details of
3034 attributes on parameters.
3036 2004-10-17 Zdenek Dvorak <dvorakz@suse.cz>
3038 * tree-ssa-loop-ivopts.c (tree_ssa_iv_optimize): Move checking out of
3041 2004-10-17 Andrew Pinski <pinskia@physics.uc.edu>
3044 2004-10-17 Andrew Pinski <pinskia@physics.uc.edu>
3046 * c-typeck.c (default_function_array_conversion): Always create
3047 &a[0] for array types.
3048 (build_unary_op): Do not fold &a[x] into a + x.
3050 2004-10-17 Andrew Pinski <pinskia@physics.uc.edu>
3053 * cfgexpand.c (expand_gimple_cond_expr): Emit line notes for next basic
3054 block if there is a goto with a locus.
3056 2004-10-17 Kazu Hirata <kazu@cs.umass.edu>
3058 * config/elfos.h, config/gofast.h, config/interix.h,
3059 config/netbsd.h, config/svr3.h, config/vxworks.h,
3060 config/alpha/alpha-modes.def, config/alpha/alpha-protos.h,
3061 config/alpha/ev4.md, config/alpha/ev5.md, config/alpha/ev6.md,
3062 config/alpha/netbsd.h, config/arm/arm-modes.def,
3063 config/arm/unknown-elf.h, config/c4x/c4x-modes.def,
3064 config/cris/aout.h, config/frv/frv-modes.def,
3065 config/i386/beos-elf.h, config/i386/gas.h,
3066 config/i386/i386-coff.h, config/i386/i386-modes.def,
3067 config/i386/linux.h, config/i386/linux64.h,
3068 config/i386/mingw32.h, config/i386/netbsd-elf.h,
3069 config/i386/netbsd64.h, config/i386/sco5.h,
3070 config/i386/sol2.h, config/i386/uwin.h, config/i860/i860.md,
3071 config/ia64/ia64-modes.def, config/ia64/itanium1.md,
3072 config/ia64/itanium2.md, config/m68k/m68k-modes.def,
3073 config/mips/mips-modes.def, config/mips/sdb.h,
3074 config/mips/vr.h, config/mips/vxworks.h,
3075 config/pa/pa-hpux10.h, config/pa/pa-hpux11.h,
3076 config/pa/pa32-linux.h, config/rs6000/40x.md,
3077 config/rs6000/7450.md, config/rs6000/8540.md,
3078 config/rs6000/linuxspe.h, config/rs6000/power4.md,
3079 config/rs6000/rs6000-modes.def, config/rs6000/rtems.h,
3080 config/rs6000/spe.h, config/s390/2064.md, config/s390/linux.h,
3081 config/s390/s390-modes.def, config/sh/elf.h,
3082 config/sh/sh-modes.def, config/sh/sh64.h,
3083 config/sparc/ultra1_2.md, config/sparc/ultra3.md,
3084 config/stormy16/stormy16.md, config/v850/v850-protos.h,
3085 config/vax/vax.md: Update copyright.
3087 2004-10-17 Kazu Hirata <kazu@cs.umass.edu>
3089 * expr.c (expand_expr_real_1): Remove an obsolete comment.
3091 2004-10-17 Andrew Pinski <pinskia@physics.uc.edu>
3093 * c-typeck.c (default_function_array_conversion): Always create
3094 &a[0] for array types.
3095 (build_unary_op): Do not fold &a[x] into a + x.
3097 2004-10-17 Jakub Jelinek <jakub@redhat.com>
3099 * pointer-set.c (hash1): Use integer part of 2^64 / phi
3100 instead 2^32 / phi if long is 64-bit.
3102 2004-10-17 Joseph S. Myers <jsm@polyomino.org.uk>
3104 * c-common.h (enum rid): Remove RID_PTRBASE, RID_PTREXTENT and
3106 * c-parse.in (PTR_VALUE, PTR_BASE, PTR_EXTENT): Remove %token
3108 (reswords): Remove __ptrbase, __ptrbase__, __ptrextent,
3109 __ptrextent__, __ptrvalue and __ptrvalue__.
3110 (rid_to_yy): Remove RID_PTRBASE, RID_PTREXTENT and RID_PTRVALUE
3113 2004-10-16 Dale Johannesen <dalej@apple.com>
3115 * c-common.c (c_common_get_alias_set): Use GGC for type_hash_table.
3117 2004-10-16 Zdenek Dvorak <dvorakz@suse.cz>
3119 PR tree-optimization/17766
3120 * basic-block.h (enum dom_state): DOM_CONS_OK removed.
3121 (dom_info_available_p): Declare.
3122 * cfghooks.c (split_block, make_forwarder_block): Use
3123 dom_info_available_p.
3124 * dominance.c (compute_dom_fast_query, calculate_dominance_info,
3125 free_dominance_info, verify_dominators): Ditto.
3126 (dom_info_available_p): New function.
3127 * tree-cfg.c (cleanup_control_expr_graph): Free dominance information.
3128 (thread_jumps): Use dom_info_available_p.
3129 * tree-complex.c (expand_complex_div_wide): Ditto.
3130 * tree-mudflap.c (mf_build_check_statement_for): Ditto.
3132 2004-10-16 Zdenek Dvorak <dvorakz@suse.cz>
3134 * tree-ssa-loop-ivopts.c (struct ivopts_data): New field important_candidates.
3135 (find_best_candidate): Take also important candidates into account.
3136 (find_optimal_iv_set): Initialize important_candidates bitmap.
3138 2004-10-16 Zdenek Dvorak <dvorakz@suse.cz>
3140 PR tree-optimization/17560
3141 * predict.c (tree_estimate_probability): Mark irreducible
3144 2004-10-16 Zdenek Dvorak <dvorakz@suse.cz>
3146 PR rtl-optimization/17723
3147 * cfgcleanup.c (merge_memattrs): Handle case when
3148 MEM_SIZE == NULL_RTX.
3150 2004-10-15 Andrew Pinski <pinskia@physics.uc.edu>
3152 * toplev.c (dump_file_name): Change type to be const.
3154 2004-10-15 Joseph S. Myers <jsm@polyomino.org.uk>
3156 * c-typeck.c (build_compound_expr, build_c_cast): Don't try to use
3157 non_lvalue to stop something being a null pointer constant.
3159 2004-10-15 Aldy Hernandez <aldyh@redhat.com>
3161 * config/rs6000/rs6000.h (FUNCTION_ARG_REGNO_P): FPRs are only
3162 available for TARGET_FPRS.
3163 (FUNCTION_VALUE_REGNO_P): Same.
3165 2004-10-15 Geoffrey Keating <geoffk@apple.com>
3167 * doc/invoke.texi (RS/6000 and PowerPC Options): Document
3168 -maltivec in same style as other ISA options.
3170 2004-10-15 Jon Grimm <jgrimm2@us.ibm.com>
3172 * config/host-linux.c (TRY_EMPTY_VM_SPACE): Add __powerpc__
3175 2004-10-15 Kazu Hirata <kazu@cs.umass.edu>
3177 * bitmap.c, bitmap.h, builtin-attrs.def, cfglayout.h,
3178 collect2.h, conflict.c, coretypes.h, coverage.h, errors.h,
3179 gcc.h, gcov-dump.c, gen-protos.c, gencheck.c, gencodes.c,
3180 genconstants.c, gengenrtl.c, genmodes.c, genpeep.c,
3181 gensupport.h, graph.h, gthr-gnat.c, gthr-gnat.h, gthr-posix.c,
3182 gthr-posix.h, hard-reg-set.h, hwint.h, integrate.h, libgcc2.c,
3183 lists.c, machmode.def, mips-tdump.c, opts.h, params.c,
3184 predict.def, predict.h, protoize.c, reload.h, resource.h,
3185 rtl-error.c, sbitmap.c, sbitmap.h, sreal.c, tlink.c,
3186 tree-dump.h, tree-inline.h, unwind-dw2-fde.c, unwind-dw2.c,
3187 unwind-sjlj.c, value-prof.h: Update copyright.
3189 2004-10-15 Kazu Hirata <kazu@cs.umass.edu>
3191 * pointer-set.c, tree-vectorizer.c: Fix comment typos.
3193 2004-10-15 Diego Novillo <dnovillo@redhat.com>
3195 * tree-optimize.c (execute_one_pass): Stop timer right after
3198 2004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
3201 2004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
3204 * tree-cfg.c (remove_usless_stmts_cond): Fold statement.
3205 (remove_useless_stmts_1): Fold trees we know how to fold.
3207 2004-10-14 David Edelsohn <edelsohn@gnu.org>
3209 * configure.ac: Add .machine power4 directive when testing for
3211 * configure: Regenerate.
3213 2004-10-14 Geoffrey Keating <geoffk@apple.com>
3215 * config/darwin.h (JUMP_TABLES_IN_TEXT_SECTION): Don't define.
3217 2004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
3219 * tree-vectorizer.c (vect_transform_loop): Declare vectorization_factor
3222 2004-10-14 Daniel Jacobowitz <dan@codesourcery.com>
3224 * config/rs6000/rs6000.h (REG_CLASS_FROM_LETTER): Return NO_REGS
3225 for 'f' if !TARGET_FPRS.
3227 2004-10-14 Richard Henderson <rth@redhat.com>
3230 * dwarf2out.c (loc_descriptor_from_tree_1): Handle FIX_*_EXPR.
3232 2004-10-14 Richard Henderson <rth@redhat.com>
3235 * c-decl.c (store_parm_decls_oldstyle): Care for parameter type
3237 * c-parse.in (compstmt_primary_start): Check cur_stmt_list non-null
3238 instaed of current_function_decl non-null.
3240 2004-10-14 Matt Austern <austern@apple.com>
3242 * pointer-set.c: New file, special-purpose hash table.
3243 * pointer-set.h: New file.
3244 * tree.h (struct pointer_set_t): Declare as opaque type.
3245 (tree_walk): Last argument is pointer_set_t* now.
3246 * tree-inline.c (WALK_SUBTREE): Convert from htab to pset.
3248 (walk_tree): Convert from htab_t to pointer_set_t for keeping
3249 track of which nodes have already been visited.
3250 (walk_tree_without_duplicates): Convert from htab_t to pointer_set_t.
3251 * cgraphunit.c (cgraph_create_edges): Likewise.
3252 (cgraph_characterize_statics_local): Likewise.
3253 * tree-dfa.c (collect_dfa_stats): Likewise.
3254 * langhooks-def.h (lhd_tree_inlining_walk_subtrees): Last arg is
3256 * langhooks.c (lhd_tree_inlining_walk_subtrees): Likewise.
3257 * langhooks.h (struct lang_hooks_for_tree_inlining): Last arg type
3258 of walk_subtrees is pointer_set_t* now.
3259 * Makefile.in (OBJS-common): add pointer-set.o
3260 (tree-inline.o): Depends on pointer-set.h
3261 (tree-dfa.o): Likewise
3262 (cgraphunit.o): Likewise
3264 2004-10-14 Geoffrey Keating <geoffk@apple.com>
3266 * config/rs6000/darwin.h (ASM_SPEC): Delete.
3267 (TARGET_ASM_FILE_START): Define.
3268 * config/darwin.h (ASM_SPEC): Define.
3269 * config/rs6000/t-darwin (TARGET_LIBGCC2_CFLAGS): Don't supply
3270 -mlong-double-128, it's the default. Update comment about reason
3271 for force_cpusubtype_ALL.
3272 * config/rs6000/darwin-vecsave.asm: Supply .machine.
3273 * config/rs6000/darwin-world.asm: Likewise.
3274 * config/rs6000/rs6000.c (rs6000_darwin_file_start): New.
3275 (symbolic_operand): Delete #if 0ed code.
3277 2004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
3279 * stmt.c (add_case_node): Make sure that we have integer
3280 constant before calling tree_int_cst_compare.
3282 2004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
3286 * tree-cfg.c (remove_usless_stmts_cond): Fold statement.
3287 (remove_useless_stmts_1): Fold trees we know how to fold.
3289 2004-10-14 Joseph S. Myers <joseph@codesourcery.com>
3291 * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS),
3292 config/rs6000/linuxspe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Disallow
3295 2004-10-14 Ulrich Weigand <uweigand@de.ibm.com>
3297 * reload.c (find_reloads): When reloading a PLUS with constant
3298 operand, make sure the constant is pushed to the constant pool
3300 * config/s390/s390.c (s390_secondary_input_reload_class): Remove
3301 reload bug workaround.
3302 (s390_expand_plus_operand): Likewise.
3304 2004-10-14 David Edelsohn <edelsohn@gnu.org>
3306 * opts.c (common_handle_option): Do not enable
3307 flag_speculative_prefetching for -fprofile-generate/use.
3309 2004-10-14 Devang Patel <dpatel@apple.com>
3312 * tree-if-conv.c (process_phi_nodes): Process latch block.
3313 (combine_blocks): Process latch block and update loop structure.
3315 2004-10-14 Olga Golovanevsky <olga@il.ibm.com>
3317 * tree-vectorizer.c (vect_generate_tmps_on_preheader):
3318 (vect_update_ivs_after_vectorizer):
3319 (vect_transform_for_unknown_loop_bound):
3320 (tree_duplicate_loop_to_edge):
3321 (allocate_new_names):
3324 (rename_variables_in_bb):
3326 (rename_variables_in_loop):
3328 (update_phis_for_duplicate_loop):
3329 (update_phi_nodes_for_guard):
3330 (make_loop_iterate_ntimes):
3331 (tree_duplicate_loop_to_edge_cfg):
3333 (vect_analyze_loop_with_symbolic_num_of_iters):
3334 (verify_loop_for_duplication):
3335 (vect_gen_niters_for_prolog_loop):
3336 (vect_update_niters_after_peeling):
3337 (vect_update_inits_of_dr):
3338 (vect_update_inits_of_drs):
3339 (vect_build_loop_niters):
3340 (vect_do_peeling_for_alignment): New functions.
3341 (vect_transform_loop): Add unknown and known but indivisible loop
3342 bound support; add peeling for unalignment support.
3343 (vect_analyze_loop_form): Support symbolic number of iterations.
3344 (vect_transform_loop_bound): New input parameter.
3345 (vect_get_loop_niters): Change input parameter type.
3346 (new_loop_vec_info): LOOP_VINFO_NITERS is tree now.
3347 (vectorizable_store): Allow unaligned access.
3348 (vectorize_loops): Add rewrite_into_loop_closed_ssa.
3349 (vect_analyze_data_refs_alignment): Allowed one unaligned
3351 * tree-vectorizer.h (LOOP_VINFO_NITERS_KNOWN_P): Redefined
3353 (LOOP_VINFO_INT_NITERS): New macro.
3354 (MAX_NUMBER_OF_UNALIGNED_DATA_REFS): New define.
3355 (do_peeling_for_alignment):
3356 (unaligned_drs): New members of _loop_vec_info.
3357 (LOOP_DO_PEELING_FOR_ALIGNMENT): New macro.
3359 2004-10-14 Ranjit Mathew <rmathew@hotmail.com>
3361 * tree.h (TREE_STRING_POINTER): Wrap in "const char *".
3362 (struct tree_string): Remove "const" qualifier for "str".
3364 2004-10-14 Ira Rosen <irar@il.ibm.com>
3366 * tree-vectorizer.c (vect_analyze_data_refs): Call
3367 vect_get_base_and_bit_offset to get memory tag for array ref.
3368 (vect_create_addr_base_for_vector_ref): Remove redundant checks.
3370 2004-10-14 Richard Earnshaw <rearnsha@arm.com>
3372 * configure.ac: Use $LN_S for creating symlinks (not $LN).
3373 * configure: Regenerate.
3375 2004-10-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3377 * doc/install.texi (*-*-solaris2*): Update with info about kernel
3378 patches to solve spurious testsuite failures.
3380 2004-10-14 Dorit Naishlos <dorit@il.bim.com>
3382 * tree-vectorizer.c (get_vectype_for_scalar_type): Added debug prinouts.
3383 Added check that vectype is VECTOR_MODE_P, instead of check for BLKmode.
3384 (vect_analyze_operations): Make sure the vectorization factor > 1. Add
3385 gcc_assert under ENABLE_CHECKING.
3386 (vectorizable_operation): Remove check for VECTOR_MODE_P (moved to
3387 get_vectype_for_scalar_type).
3389 (vect_get_vec_def_for_operand): Remove redundant variables.
3390 (vect_transform_loop): Likewise.
3392 2004-10-14 Richard Sandiford <rsandifo@redhat.com>
3394 * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Make r11 fixed and
3395 global for -mcaller-super-interworking.
3396 (CALLER_INTERWORKING_SLOT_SIZE): New macro.
3397 * config/arm/arm.c (thumb_compute_save_reg_mask): Save r11 if
3398 CALLER_INTERWORKING_SLOT_SIZE is nonzero and the function does
3399 not need a frame pointer.
3400 (arm_get_frame_offsets): Add CALLER_INTERWORKING_SLOT_SIZE bytes to
3401 the soft frame pointer offset.
3402 (thumb_expand_prologue): Set up r11 for -mcaller-super-interworking.
3403 * config/arm/arm.md (*call_reg_thumb, *call_value_reg_thumb): Use
3404 _interwork_{r7,r11}_call_via_rN if some arguments are passed on
3405 the stack. Use frame_pointer_needed to choose between them.
3406 * config/arm/lib1funcs.asm (_arm_return_{r7,r11}): New functions.
3407 (interwork_with_frame): New macro.
3408 (interwork): Add _interwork_{r7,r11}_call_via_rN().
3410 2004-10-14 Ben Elliston <bje@au.ibm.com>
3413 * diagnostic.c (trim_filename): Fix logic bug in walking backwards
3414 up the filename looking for a previous directory separator.
3416 2004-10-14 Joseph S. Myers <jsm@polyomino.org.uk>
3418 * c-tree.h (enum c_typespec_kind, struct c_typespec,
3419 parser_xref_tag): New.
3420 (struct c_declspecs): Add tag_defined_p. Adjust definition of
3422 (declspecs_add_type): Adjust prototypes.
3423 * c-parse.in (%union): Add tstype.
3424 (typespec_nonattr, typespec_attr, typespec_reserved_nonattr,
3425 typespec_reserved_attr, typespec_nonreserved_nonattr,
3426 structsp_attr, structsp_nonattr): Change to tstype. Update
3428 * c-decl.c (build_null_declspecs): Initialize tag_defined_p.
3429 (declspecs_add_type): Update to take struct c_typespec argument.
3430 Set tag_defined_p and typedef_p as appropriate.
3431 (xref_tag): Rename to parser_xref_tag and replace by wrapper.
3432 Update to return struct c_typespec.
3433 (shadow_tag_warned): Don't let empty declarations with qualifiers
3434 or storage class specifiers redeclare a tag if a previous
3435 declaration is visible.
3437 2004-10-13 Richard Henderson <rth@redhat.com>
3440 * dwarf2out.c (rtl_for_decl_location): Apply big-endian correction
3441 for DECL_INCOMING_RTL.
3443 2004-10-14 Hans-Peter Nilsson <hp@axis.com>
3446 * config/cris/cris.md (asrandb, asrandw, lsrandb, lsrandw): Apply
3447 trunc_int_for_mode for constants used in shortened mode.
3449 2004-10-13 Richard Henderson <rth@redhat.com>
3452 * c-common.c (handle_mode_attribute): Disallow mode changes that
3453 alter the CODE of the top-level type.
3455 * crtstuff.c (__FRAME_END__): Remove mode attribute. Find 32-bit
3456 integer from internal limits macros.
3457 * config/i386/mm3dnow.h (__v2sf): Fix base type.
3459 2004-10-13 Richard Henderson <rth@redhat.com>
3462 * function.c (instantiate_decl): Recurse for CONCAT.
3464 2004-10-13 David Edelsohn <edelsohn@gnu.org>
3466 * config/rs6000/rs6000.md (andsi3): Add attribute "compare" for
3469 (extzvdi_internal1): Add attribute "compare".
3470 (extzvdi_internal2): Same.
3472 2004-10-12 Tom Tromey <tromey@redhat.com>
3474 * doc/md.texi (Insn Canonicalizations): Removed extraneous quote.
3476 2004-10-13 Dale Johannesen <dalej@apple.com>
3478 * doc/extend.texi (Extended Asm): Rewrite asm volatile description.
3480 2004-10-13 Frank Ch. Eigler <fche@redhat.com>
3482 * toplev.c (compile_file): Call mudflap_finish_file from here ...
3483 * c-decl.c (c_write_global_declarations): ... instead of here ...
3484 * cp/decl.c (cp_finish_file): ... and here.
3485 * tree-mudflap.c (mudflap_enqueue_decl): Reword a warning message.
3487 2004-10-13 Andrew Pinski <pinskia@physics.uc.edu>
3489 * tree-ssa-dom.c (record_range): Free the element if we are not
3492 2004-10-13 Tom Tromey <tromey@redhat.com>