1 2004-11-18 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.comn>
3 * config/m32r/linux.h (TARGET_ASM_FILE_END): Set
4 TARGET_ASM_FILE_END to file_end_indicate_exec_stack.3
6 2004-11-18 Andreas Schwab <schwab@suse.de>
8 * config/i386/i386.md (define_peephole2): Revert last change.
10 2004-11-18 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.comn>
12 * config/m32r/linux.h (TARGET_ASM_FILE_END): Set
13 TARGET_ASM_FILE_END to file_end_indicate_exec_stack.
15 2004-11-18 Diego Novillo <dnovillo@redhat.com>
17 * tree-ssa-propagate.c (ssa_prop_init): Use FOR_ALL_BB instead
20 2004-11-18 Jon Grimm <jgrimm2@us.ibm.com>
22 * Makefile.in (macro_list): Depend on s-macro_list.
23 (s-macro_list): New target.
25 2004-11-18 Nathan Sidwell <nathan@codesourcery.com>
28 * fold-const.c (RANGE_TEST_NON_SHORT_CIRCUIT): Rename to ...
29 (LOGICAL_OP_NON_SHORT_CIRCUIT): ... here.
30 (fold_range_test): Adjust.
31 (fold_truthop): Use it.
32 * config/rs6000/rs6000.h (RANGE_TEST_NON_SHORT_CIRCUIT): Rename to ...
33 (LOGICAL_OP_NON_SHORT_CIRCUIT): ... here.
35 2004-11-18 Uros Bizjak <uros@kss-loka.si>
37 * configure/i386/i386.md (*fix_trunch_1): Add "&& 1" to
38 insn split constraint.
39 (define_peephole2): Remove unneeded "&& 1" from peephole2
42 2004-11-18 Ben Elliston <bje@au.ibm.com>
44 * doc/cfg.texi (Maintaining the CFG): Remove duplicated @item
45 element for bsi_prev; use @findex instead.
47 2004-11-18 Ben Elliston <bje@au.ibm.com>
49 * opts.h (add_input_filename): Remove extern declaration.
50 * opts.c (add_input_filename): Make static.
52 2004-11-17 Mark Mitchell <mark@codesourcery.com>
54 * config/i386/i386.c (i386_solaris_elf_named_section): Mark with
57 2004-11-17 Zack Weinberg <zack@codesourcery.com>
59 * defaults.h, config/darwin.h: Don't define TARGET_SUPPORTS_HIDDEN.
60 * system.h: Poison it.
61 * doc/tm.texi: Delete its documentation.
63 2004-11-18 Daniel Jacobowitz <dan@codesourcery.com>
64 Mark Mitchell <mark@codesourcery.com>
66 * config/i386/sol2-10.h, config/i386/t-sol2-10: New files.
67 * config/i386/i386.c (i386_solaris_elf_named_section): New
69 * config.gcc (i[34567]86-*-solaris2*): Handle Solaris 2.10.
70 * config/i386/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Handle
72 (ASM_QUAD): Don't undefine for biarch targets.
73 * config/i386/t-sol2: Introduce multilib support.
75 2004-11-18 Ben Elliston <bje@au.ibm.com>
77 * cgraphunit.c: Replace "it's" with "its" and fix a typo.
79 2004-11-18 Ben Elliston <bje@au.ibm.com>
81 * cgraph.h: Replace "it's" with "its" throughout.
83 2004-11-18 Ben Elliston <bje@au.ibm.com>
85 * doc/rtl.texi (Flags): Grammar fix.
87 2004-11-17 Kazu Hirata <kazu@cs.umass.edu>
89 * expmed.c (alg_code): Add alg_unknown.
90 (alg_hash_entry): New.
91 (NUM_ALG_HASH_ENTRIES): Likewise.
93 (synth_mult): Cache the result into alg_hash.
95 2004-11-17 Zack Weinberg <zack@codesourcery.com>
97 * config/rs6000/t-darwin: Augment SHLIB_MAPFILES with
98 config/rs6000/libgcc-ppc64.ver.
100 2004-11-17 Kazu Hirata <kazu@cs.umass.edu>
102 * cfgrtl.c (rtl_verify_flow_info): Don't use INSN_P when
103 checking if an unconditional return is followed by a barrier.
105 * jump.c (condjump_p): Remove unreachable code.
107 * basic-block.h, c-common.h, df.h, expr.h, output.h, rtl.h,
108 tree-chrec.h, tree-flow.h, tree-scalar-evolution.h,
109 tree-ssa-live.h, tree.h: Remove unused prototypes.
111 2004-11-17 Jeff Law <law@redhat.com>
113 * tree-cfg.c (edge_to_cases): Renamed from edge_to_case_leader.
114 (edge_to_cases_elt): Renamed from edge_to_case_leader.
115 (edge_to_cases_hash): Renamed from edge_to_case_leader_hash.
116 (edge_to_cases_eq): Renamed from edge_to_case_leader_eq.
117 (edge_to_cases_cleanup, recording_case_labels_p): New functions.
118 (get_cases_for_edge): New function.
119 (start_recording_case_labels, end_recording_case_labels): Similarly.
120 (record_switch_edge): Don't muck with the CASE_LABEL. Instead
121 chain equivalent CASE_LABEL_EXPRs together.
122 (get_case_leader_for_edge, get_case_leader_for_edge_hash): Kill.
123 (make_switch_expr_edges): Do not record edge/cases here.
124 (cleanup_tree_cfg): Record cases around the call to thread_jumps.
125 (split_critical_edges): Record cases around the edge splitting code.
126 (cleanup_dead_labels): Use CASE_LABEL again.
127 (tree_redirect_edge_and_branch): If we have a mapping from edge
128 to cases, use it to handle redirections. Else do it the slow way.
129 * tree.h (CASE_LEADER_OR_LABEL): Kill.
130 (CASE_LABEL): Revert to just looking at the tree's second operand.
131 * tree.c (get_case_label): Kill.
133 2004-11-17 Diego Novillo <dnovillo@redhat.com>
135 PR tree-optimization/18307
136 * tree-ssa-alias.c (merge_pointed_to_info): ICE if 'dest' and
137 'orig' are the same node.
138 (collect_points_to_info_r): Do not call merge_pointed_to_info
139 when the PHI argument is identical to the LHS.
141 2004-11-17 Steven Bosscher <stevenb@suse.de>
143 * tree-ssa-propagate.c (cfg_blocks_add): Assert we're not trying
144 to insert the exit or entry block.
145 (ssa_prop_init): Use add_control_edge to seed the algorithm.
147 2004-11-16 Zack Weinberg <zack@codesourcery.com>
149 * mkmap-flat.awk, mkmap-symver.awk: If the last version
150 assigned to a symbol was '%exclude', do not emit it anywhere.
151 If leading_underscore is true, prefix all symbols from the
152 version scripts with a leading underscore before comparing
153 them with nm output or emitting them. Remove support for dot
155 * config/t-slibgcc-darwin (SHLIB_LINK): Use mkmap-flat.awk.
156 (SHLIB_MAPFILES): Use libgcc-std.ver.
157 (SHLIB_MKMAP_OPTS): Enable leading-underscore mode.
158 (SHLIB_LINK): Add -Wl,-exported_symbols_list,$(SHLIB_MAP).
159 * config/sh/t-linux: Use the normal libgcc-std.ver, plus
160 libgcc-excl.ver and libgcc-glibc.ver.
162 * config/sh/libgcc-excl.ver: New file.
163 * config/sh/libgcc-std.ver, libgcc-darwin.ver: Delete.
165 2004-11-16 Daniel Berlin <dberlin@dberlin.org>
167 * lambda-code.c (lambda_loopnest_to_gcc_loopnest): Swap
168 the test when the edge has the opposite meaning, not when
169 the first argument is invariant.
171 2004-11-16 Aldy Hernandez <aldyh@redhat.com>
173 * config/rs6000/rs6000.c (rs6000_override_options): Split e500v2
175 (rs6000_complex_function_value): Handle e500 v2 variant.
177 2004-11-16 Daniel Berlin <dberlin@dberlin.org>
179 Fix PR tree-optimization/18519
181 * tree-optimize (execute_todo): Add case for TODO_cleanup_cfg.
182 * tree-pass.h: Add TODO_cleanup_cfg.
183 * tree-ssa-ccp.c (pass_ccp): Use TODO_cleanup_cfg.
184 (ccp_finalize): Remove call to cleanup_cfg.
185 * tree-ssa-dce.c (pass_dce): Use TODO_cleanup_cfg and TODO_dump_func.
186 (pass_cd_dce): Ditto.
187 (perform_tree_ssa_dce): Remove call to cleanup_cfg,
188 dump_function_to_file.
189 * tree-ssa-loop-ch.c (copy_loop_headers): Remove call
191 (pass_ch): Add TODO_cleanup_cfg.
192 * tree-ssa-loop.c (tree_ssa_loop_done): Remove call to
194 (pass_loop_done): Add TODO_cleanup_cfg.
195 * tree-ssa-phiopt.c (pass_phiopt): Ditto.
196 (tree_ssa_phiopt): Remove call to cleanup_cfg.
198 2004-11-16 Devang Patel <dpatel@apple.com>
200 * optabs.c (vector_compare_rtx): Fix COMPARISON_CLASS_P use.
202 2004-11-16 Kazu Hirata <kazu@cs.umass.edu>
204 * expmed.c, ra-colorize.c: Fix comment typos.
206 * doc/tm.texi: Fix typos.
208 2004-11-16 Daniel Jacobowitz <dan@codesourcery.com>
209 Mark Mitchell <mark@codesourcery.com>
212 * config/sol2.h (TARGET_OS_CPP_BUILTINS): Define __PIC__ and
215 2004-11-16 Ulrich Weigand <uweigand@de.ibm.com>
217 * regmove.c (regmove_optimize): Use lowpart_subreg instead of
218 gen_rtx_SUBREG with incorrect offset to compute SRC_SUBREG.
220 2004-11-16 Devang Patel <dpatel@apple.com>
222 * tree-if-conv.c (clean_predicate_lists): Update gcc_assert check.
224 2004-11-16 Eric Christopher <echristo@redhat.com>
226 * config/mips/mips.c: Use rtl _P predicates.
227 * config/mips/mips.h: Ditto.
228 * config/mips/mips.md: Ditto.
230 2004-11-16 Fariborz Jahanian <fjahanian@apple.com>
232 * config/rs6000/altivec.md (altivec_vandc): Canonicalize
235 2004-11-16 Andreas Krebbel <krebbel1@de.ibm.com>
237 * config/s390/s390.c (s390_cc_modes_compatible): New function.
238 (TARGET_CC_MODES_COMPATIBLE): Target macro defined.
240 2004-11-16 Kaz Kojima <kkojima@gcc.gnu.org>
243 * config/sh/sh.c (prepare_move_operands): Emit blockage insns
244 before and after the insns for getting GOT address in non-PIC
245 TLS_MODEL_INITIAL_EXEC tls sequence when the first scheduling
248 2004-11-16 Andreas Krebbel <krebbel1@de.ibm.com>
250 * gcc/cse.c (struct change_cc_mode_args): New structure.
251 (cse_change_cc_mode_insn): New function.
252 (cse_change_cc_mode): Use validate_change to perfom changes.
253 (cse_change_cc_mode_insns, cse_condition_code_reg):
254 Call cse_change_cc_mode_insn.
256 2004-11-16 Steven Bosscher <stevenb@suse.de>
260 2004-11-16 Steven Bosscher <stevenb@suse.de>
262 * config/i386/i386.c (x86_schedule): Fix typo, m_K6 intead of m_K8.
264 2004-11-15 Dale Johannesen <dalej@apple.com>
266 * tree-flow.h (add_referenced_temp_var): Remove name from prototype.
268 2004-11-15 Dale Johannesen <dalej@apple.com>
270 * profile.c (compute_branch_probabilities): Prevent
271 crash with EH in RTL-based profiling.
273 2004-11-16 Kazu Hirata <kazu@cs.umass.edu>
275 * tree-cfg.c (verify_expr): Replace TREE_OPERAND with
277 * tree-if-conv.c (tree_if_convert_cond_expr): Likewise.
278 * tree-ssa-dom.c (thread_across_edge): Likewise.
279 * tree-vectorizer.c (vect_transform_loop_bound): Replace
280 TREE_OPERAND with COND_EXPR_COND, COND_EXPR_THEN, or
283 * tree-cfg.c (bsi_commit_edge_inserts): Remove an argument.
284 (tree_flow_call_edges_add): Update the call to
285 bsi_commit_edge_inserts.
286 * lambda-code.c (lambda_loopnest_to_gcc_loopnest): Likewise.
287 * profile.c (branch_prob): Likewise.
288 * tree-mudflap.c (mf_decl_cache_locals): Likewise.
289 * tree-sra.c (scalarize_function): Likewise.
290 * tree-ssa-loop-im.c (loop_commit_inserts): Likewise.
291 * tree-ssa-pre.c (fini_pre): Likewise.
292 * tree-flow.h: Update the prototype for
293 bsi_commit_edge_inserts.
295 2004-11-15 Eric Christopher <echristo@redhat.com>
297 * sched-deps.c (set_sched_group_p): Delete.
298 (delete_all_dependencies): New function.
299 (fixup_sched_groups): Use. New function.
300 (sched_analyze_insn): Use.
302 2004-11-15 Joseph S. Myers <joseph@codesourcery.com>
304 * c-common.c (binary_op_error): Don't allow LROTATE_EXPR,
305 RROTATE_EXPR or unknown code.
306 * c-typeck.c (build_binary_op): Don't allow RROTATE_EXPR,
307 LROTATE_EXPR, MAX_EXPR, MIN_EXPR, UNORDERED_EXPR, ORDERED_EXPR,
308 UNLT_EXPR, UNLE_EXPR, UNGT_EXPR, UNGE_EXPR, UNEQ_EXPR, LTGT_EXPR
311 2004-11-15 Joseph S. Myers <joseph@codesourcery.com>
314 * c-decl.c (grokdeclarator): Call check_bitfield_type_and_width
315 after processing the declarator.
317 2004-11-15 Aldy Hernandez <aldyh@redhat.com>
319 * config/rs6000/altivec.md ("altivec_vsplth"): Rewrite with
321 (altivec_vspltb): Same.
322 (altivec_vspltw): Same.
323 (altivec_vspltisb): Same.
324 (altivec_vspltish): Same.
325 (altivec_vspltisw): Same.
326 (altivec_vspltisw_v4sf): Same.
327 (define_constants): Remove UNSPEC_VSPLTISB, UNSPEC_VSPLTISW,
329 Move "End of vector xor's" comment to the right place.
331 2004-11-15 Steve Ellcey <sje@cup.hp.com>
333 * config/ia64/ia64.md (*movtf_internal): Use destination_operand
334 instead of nonimmediate_operand.
336 2004-11-15 Mark Mitchell <mark@codesourcery.com>
338 * config/i386/sol2.h (ASM_OUTPUT_CALL): Use print_operand.
339 * config/sparc/sol2.h (ASM_OUTPUT_CALL): Likewise.
340 * config/sol2.c (solaris_output_init_fini): Update calls to
341 ASM_OUTPUT_CALL. Include "rtl.h".
343 2004-11-15 Mark Mitchell <mark@codesourcery.com>
345 * config/sol2-c.c (cmn_err_char_table): Add "p".
347 2004-11-15 Mark Mitchell <mark@codesourcery.com>
349 * config/sparc/sol2.h (SUPPORTS_INIT_PRIORITY): Remove.
350 * config/sol2.h (SUPPORTS_INIT_PRIORITY): Define here.
352 2004-11-15 Mark Mitchell <mark@codesourcery.com>
354 * config/t-slibgcc-sld (SHLIB_LINK): Make symlinks entirely
355 within the multilib directory.
357 2004-11-15 Nick Clifton <nickc@redhat.com>
359 * config/stormy16/stormy16.h (TARGET_CPU_CPP_BUILTINS): Add
360 builtin assert of cpu=xstormy16.
362 2004-11-15 Nathan Sidwell <nathan@codesourcery.com>
364 * tree-ssa-pre.c (bitmap_print_value_set): Fix uninitialized
367 2004-11-14 Richard Henderson <rth@redhat.com>
370 * calls.c (struct arg_data): Add parallel_value.
371 (precompute_register_parameters): Set it.
372 (load_register_parameters): Use it.
373 (store_one_arg): Also set it here.
375 2004-11-14 Zdenek Dvorak <dvorakz@suse.cz>
377 PR tree-optimization/18431
378 * fold-const.c (associate_trees): Do not produce x + 0.
379 (fold_widened_comparison, fold_sign_changed_comparison): New functions.
381 * tree-ssa-loop-niter.c (upper_bound_in_type, lower_bound_in_type):
383 * tree.c (upper_bound_in_type, lower_bound_in_type): Here.
384 * tree.h (upper_bound_in_type, lower_bound_in_type): Declare.
386 2004-11-14 Eric Botcazou <ebotcazou@libertysurf.fr>
388 * doc/rtl.texi (SUBREG): Adjust BYTENUM value in example.
390 2004-11-14 Kazu Hirata <kazu@cs.umass.edu>
392 * cfgrtl.c, global.c, tree-ssa-copy.c, tree-ssa-loop-ivopts.c,
393 value-prof.c: Fix comment typos.
395 2004-11-14 Stan Shebs <shebs@apple.com>
397 Basic ABI changes for passing structs by value in 64-bit Darwin.
398 * config/rs6000/rs6000.c (rs6000_darwin64_abi): New flag.
399 (rs6000_override_options): Set it for 64-bit Darwin.
400 (rs6000_parse_abi_options): Add testing options to change it.
401 (rs6000_return_in_memory): Test whether the type is one
402 that can be passed in registers.
403 (darwin64_function_arg_advance): New.
404 (function_arg_advance): Call it, plus add recursion depth
405 argument and test when counting off arguments.
406 (rs6000_darwin64_function_arg): New.
407 (function_arg): Call it.
408 (setup_incoming_varargs): Add argument to function_arg_advance.
409 (rs6000_darwin64_function_value): New.
410 (rs6000_function_value): Call it.
411 * config/rs6000/rs6000.h (FUNCTION_ARG_ADVANCE): Pass depth arg.
412 * config/rs6000/rs6000-protos.h: Update decl of
413 function_arg_advance.
415 2004-11-14 Andrew Pinski <pinskia@physics.uc.edu>
418 * c-common.c (c_common_nodes_and_builtins): Ask the back-end if we
419 support TImode before adding __int128_t and __uint128_t types.
421 2004-11-14 Dorit Naishlos <dorit@il.ibm.com>
424 * tree-vectorizer.c (make_loop_iterate_ntimes): Set loop->nb_iterations.
425 (vect_transform_loop_bound): Set loop->nb_iterations.
427 2004-11-14 Dorit Naishlos <dorit@il.ibm.com>
428 Andrew Pinski <pinskia@physics.uc.edu>
431 * tree-vectorize.c (vect_build_loop_niters): Do not insert
432 NULL into the instruction stream. Initialize new_bb to NULL.
433 (vect_update_ivs_after_vectorizer): Likewise.
434 (vect_gen_niters_for_prolog_loop): Likewise.
436 2004-11-14 Zdenek Dvorak <dvorakz@suse.cz>
438 PR tree-optimization/18431
439 * tree-flow.h (stmt_references_memory_p): Declare.
440 * tree-ssa-loop-im.c (stmt_cost): Use stmt_references_memory_p.
441 * tree-ssa.c (stmt_references_memory_p): New function.
443 2004-11-14 Andreas Schwab <schwab@suse.de>
445 * Makefile.in (lambda-code.o, tree-loop-linear.o): Depend on
448 2004-11-14 Kazu Hirata <kazu@cs.umass.edu>
450 * c-common.c (walk_stmt_tree): Remove.
451 * c-common.h: Remove the corresponding prototype.
453 * emit-rtl.c (push_to_full_sequence): Remove.
454 * rtl.h: Remove the corresponding prototype.
456 * cselib.c, expr.c: Fix comment typos.
458 2004-11-13 Richard Henderson <rth@redhat.com>
460 * calls.c (precompute_register_parameters): Force all PARALLELs
461 into pseudo registers.
462 (load_register_parameters): Copy PARALLELs into hard registers.
463 * function.c (assign_parm_setup_block): Copy PARALLELS into
464 pseudo registers. Do emit_group_store in conversion_insns.
465 * expr.c (emit_group_load_1): Rename from emit_group_load, take
466 tmps as an argument. Move final copy loop ...
467 (emit_group_load): ... here. New function.
468 (emit_group_load_into_temps, emit_group_move_into_temps): New.
469 * expr.h: Declare them.
471 2004-11-14 Kazu Hirata <kazu@cs.umass.edu>
473 * tree-cfg.c, tree-if-conv.c, tree-ssa-loop-ivopts.c,
474 tree-ssa-loop-manip.c, tree-vectorizer.c: Replace TREE_CHAIN
475 with PHI_CHAIN where appropriate.
477 2004-11-13 Dale Johannesen <dalej@apple.com>
479 * tree-flow.h (bsi_commit_one_edge_insert): Remove name from prototype.
480 (tree_block_label): Ditto.
481 (flush_pending_stmts): Ditto.
482 (insert_edge_copies): Ditto.
483 (expr_invariant_in_loop_p): Ditto.
484 (TDF_USE_OPS): Parenthesize definition.
485 (TDF_USE_VOPS): Ditto.
487 2004-11-13 David Edelsohn <edelsohn@gnu.org>
489 * config/rs6000/aix51.h (ASM_CPU_SPEC): Add 970 and G5.
490 * config/rs6000/aix52.h (ASM_CPU_SPEC): Same.
492 * config/rs6000/t-aix52 (BOOT_LDFLAGS): Define.
494 2004-11-14 Joseph Myers <joseph@codesourcery.com>
496 * config/i386/i386.c (override_options): Move loop to set default
497 tuning to correct place.
499 2004-11-13 Zak Kipling <zak@transversal.com>
502 * config/i386/i386.c (classify_argument): Fix infinite loop when
503 passing object with 3 or more base classes by value.
505 2004-11-13 Eric Botcazou <ebotcazou@libertysurf.fr>
507 * doc/md.texi (constraints) <% modifier>: Mention that it is
508 useless when the two alternatives are strictly identical.
510 2004-11-13 Richard Henderson <rth@redhat.com>
512 * expmed.c (extract_split_bit_field): Temporarily disable call to
513 extract_force_align_mem_bit_field.
515 2004-11-13 Kazu Hirata <kazu@cs.umass.edu>
517 * bitmap.c, bitmap.h, expmed.c, tree-cfg.c: Fix comment
520 * c-cppbuiltin.c, cgraph.c, domwalk.h, except.c, gimplify.c,
521 lambda-code.c, postreload.c, predict.c, tree-sra.c,
522 tree-ssa-loop-manip.c, tree.c: Fix comment typos.
524 2004-11-13 Kelley Cook <kcook@gcc.gnu.org>
526 * doc/install.texi (automake): Correctly document that everything now
527 will use automake 1.9.3.
529 2004-11-13 Hans-Peter Nilsson <hp@bitrange.com>
532 * config/mmix/mmix.c (mmix_function_outgoing_value): Handle
533 TImode. Sorry for other non-complex larger-than-64-bit modes.
534 * config/mmix/mmix.h (MIN_UNITS_PER_WORD): Do not define.
536 2004-11-13 Kelley Cook <kcook@gcc.gnu.org>
538 * doc/install.texi (automake): Document that everything now uses 1.9.
540 2004-11-13 Bernd Schmidt <bernd.schmidt@analog.com>
542 * cse.c (cse_insn): Stores in a libcall sequence can invalidate
545 2004-11-13 Kazu Hirata <kazu@cs.umass.edu>
547 * tree.h: Fix comment typos.
549 2004-11-13 Steven Bosscher <stevenb@suse.de>
551 * cse.c (CHEAP_REGNO): Redefine using REGNO_PTR_FRAME_P and
554 * cselib.c (new_cselib_val): Make comment correct and more detailed.
555 * flow.c (mark_set_1): Likewise.
557 * except.c (duplicate_eh_region_1, duplicate_eh_region_2,
558 duplicate_eh_regions): Remove.
559 * except.h (duplicate_eh_regions): Remove prototype.
560 * integrate.c (get_label_from_map, copy_rtx_and_substitute,
561 global_const_equiv_varray): Remove.
562 * integrate.h (get_label_from_map, copy_rtx_and_substitute,
563 global_const_equiv_varray, set_label_in_map): Remove prototypes,
564 extern declaration, and #define.
565 (MAYBE_EXTEND_CONST_EQUIV_VARRAY, SET_CONST_EQUIV_DATA): Remove.
566 (struct inline_remap): Remove.
567 * varray.c (struct element): Remove entry for const_equiv_data.
568 * varray.h (struct const_equiv_data): Remove.
569 (enum varray_data_enum) <VARRAY_DATA_CONST_EQUIV>: Remove.
570 (union varray_data_tag) <const_equiv>: Remove.
571 (VARRAY_CONST_EQUIV_INIT, VARRAY_CONST_EQUIV,
572 VARRAY_PUSH_CONST_EQUIV, VARRAY_TOP_CONST_EQUIV): Remove.
574 * regstack.c (record_label_references): Remove unused function.
576 * rtl.def (VALUE): Update comment.
577 (LABEL_REF): Remove unused operand 2.
578 * rtl.h (struct rtx_def): Update for removed accessor macros.
579 (XCADVFLAGS, INSN_DEAD_CODE_P, LINE_NUMBER, CONTAINING_INSN,
580 REG_LOOP_TEST_P): Remove.
581 (ADDR_DIFF_VEC_FLAGS, CSELIB_VAL_PTR, LABEL_NEXTREF): Add comments.
582 * web.c (entry_register): Don't copy REG_LOOP_TEST_P.
583 * doc/rtl.texi (INSN_DEAD_CODE_P, REG_LOOP_TEST_P): Remove.
585 2004-11-13 James A. Morrison <phython@gcc.gnu.org>
586 Eric Botcazou <ebotcazou@libertysurf.fr>
589 * config/sparc/sparc.c (sparc_rtx_costs): Handle the NAND vector
591 * config/sparc/sparc.md (V64I): New macro for 64-bit modes.
592 (V32I): New macro for 32-bit modes.
593 (anddi3, anddi_sp32, anddi_sp64, and_not_di_sp32, and_not_di_sp64,
594 iordi3, iordi3_sp32, iordi_sp64, or_not_di_sp32, or_not_di_sp64,
595 xordi3, xordi3_sp32, xordi3_sp64, {AND, IOR, XOR} DI splitter,
596 xor_not_di_sp32, xordi_not_di_sp64, one_cmpldi2, one_cmpldi_sp32,
597 one_cmpldi_sp64): Use V64I instead of DI.
598 (andsi3, andsi_sp32, andsi_sp64, and_not_si, iorsi3, or_not_si,
599 xorsi3, xor_not_si, one_cmplsi2): Use V32I instead of SI.
600 (addv2si3, addv4hi3, addv2hi3): Remove % modifier.
601 (nandv64i_vis, nandv32i_vis): New patterns.
603 2004-11-12 Mike Stump <mrs@apple.com>
605 * Makefile.in: Add html support.
606 * java/Make-lang.in: Likewise.
607 * fortran/Make-lang.in: Likewise.
608 * treelang/Make-lang.in: Likewise.
609 * doc/install.texi: Likewise.
610 * doc/makefile.texi: Likewise.
611 * doc/sourcebuild.texi: Likewise.
613 2004-11-13 Kazu Hirata <kazu@cs.umass.edu>
615 * tree-ssa-loop-manip.c: Fix a comment typo.
617 2004-11-12 Mike Stump <mrs@apple.com>
619 * doc/cppinternals.texi (Index): Fix html generation with makeinfo by
620 renaming this node to Concept Index.
621 * doc/gccint.texi (Index): Likewise. Also minor formatting tweaks
622 to more closely match gcc.texi.
624 2004-11-12 Jeff Law <law@redhat.com>
626 * tree-cfg.c (hashtab.h): Include.
627 (struct edge_to_case_leader_elt): New structure.
628 (edge_to_case_leader): New.
629 (edge_to_case_leader_hash): New hashtable hasing function.
630 (edge_to_case_leader_eq): New hashtable equality function.
631 (record_switch_edge): New function.
632 (get_case_leader_for_edge, get_case_leader_for_edge): New functions.
633 (make_switch_expr_edges): Build the edge-to-case-leader
634 hash table. Tear down the hash table when we're done.
635 (cleanup_dead_labels): Use CASE_LEADER_OR_LABEL instead of
637 (tree_node_can_be_shared): Allow sharing of CASE_LABEL_EXPR nodes.
638 (tree_redirect_edge_and_branch, case SWITCH_EXPR): Update
639 to use new concept of case leaders to reduce overhead of
640 redirecting outgoing edges from switch statements.
641 * tree.c (get_case_label): New function.
642 * tree.h (CASE_LABEL): Define in terms of get_case_label.
643 (CASE_LEADER_OR_LABEL): Define.
645 2004-11-12 Ziemowit Laski <zlaski@apple.com>
647 * varasm.c (output_addressed_constants): For CONST_DECLs,
648 output the initializer if present.
650 2004-11-12 Ziemowit Laski <zlaski@apple.com>
652 * config/rs6000/darwin.h: Fix confusing typo in comment.
654 2004-11-12 Devang Patel <dpatel@apple.com>
656 * optabs.c (vector_compare_rtx): Use COMPARISON_CLASS_P.
658 2004-11-12 Devang Patel <dpatel@apple.com>
660 * tree-if-conv.c (clean_predicate_lists): Use loop header
663 2004-11-12 Richard Henderson <rth@redhat.com>
666 * config/i386/i386.h (TARGET_96_ROUND_53_LONG_DOUBLE): New.
667 * config/i386/freebsd.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
668 (TARGET_96_ROUND_53_LONG_DOUBLE): New.
669 * config/i386/i386-modes.def (XF): Use it.
671 2004-11-11 Geoffrey Keating <geoffk@apple.com>
673 * Makefile.in (macro_list): Use move-if-change to avoid spurious
676 2004-11-12 Mark Mitchell <mark@codesourcery.com>
679 * passes.c (rest_of_decl_compilation): Do not look at DECL_RTL
680 when deciding whether to pass a variable to
681 cgraph_varpool_finalize_decl or assemble_variable.
682 * toplev.c (check_global_declarations): Do not clear DECL_RTL.
684 2004-11-12 Kazu Hirata <kazu@cs.umass.edu>
686 * tree-vectorizer.c: Fix a comment typo.
688 2004-11-12 Bernd Schmidt <bernd.schmidt@analog.com>
690 * genconfig.c (walk_insn_part): Look at match_dups inside a label_ref.
692 2004-11-12 Diego Novillo <dnovillo@redhat.com>
694 * tree-scalar-evolution.c (analyzable_condition): Remove
695 superfluous TREE_THIS_VOLATILE checks on SSA_NAMEs.
697 2004-11-12 Ralf Corsepius <ralf.corsepius@rtems.org>
699 * config/rs6000/t-rtems (MULTILIB_NEW_EXCEPTIONS_ONLY):
700 Remove m505/roe multilib variant.
702 2004-11-12 Eric Botcazou <ebotcazou@libertysurf.fr>
704 * expr.c (emit_group_load) <CONCAT>: Use extract_bit_field
705 to load from the stack.
707 2004-11-12 Richard Henderson <rth@redhat.com>
709 * toplev.c (floor_log2): Rename from floor_log2_wide, use CLZ_HWI.
710 (exact_log2): Rename from exact_log2_wide, use CTZ_HWI.
711 * toplev.h (FL2T__): Remove.
712 (CLZ_HWI): Rename from FL2T_CLZ__.
714 (floor_log2): Simplify.
717 2004-11-12 Sebastian Pop <pop@cri.ensmp.fr>
719 * tree-data-ref.c (analyze_subscript_affine_affine): Correctly
720 compute the first overlapping iterations.
722 2004-11-12 Sebastian Pop <pop@cri.ensmp.fr>
725 * tree-data-ref.c (estimate_niter_from_size_of_data): Ensure
726 that arguments of EXACT_DIV_EXPR are INTEGER_CST.
728 2004-11-12 Steven Bosscher <stevenb@suse.de>
730 PR tree-optimization/18419
731 * tree-ssa.c (walk_use_def_chains_1): Make the visited map a
732 pointer set instead of a bitmap.
733 (walk_use_def_chains): Create, pass and clean up that pointer_set.
735 * tree-ssa-alias.c (struct alias_info): Make the ssa_names_visited
737 (init_alias_info): Allocate and zero it here.
738 (delete_alias_info): Delete it here.
739 (collect_points_to_info_for): Use it.
741 2004-11-11 Kazu Hirata <kazu@cs.umass.edu>
743 * alias.c (record_alias_subset, addr_side_effect_eval):
745 * alias.h: Remove the prototype for record_alias_subset.
746 * expr.h: Remove the commented-out prototype for
748 * rtl.h: Remove the prototype for addr_side_effect_eval.
750 * cfglayout.c (choose_inner_scope): Make it static.
751 * rtl.h: Remove the corresponding prototype.
753 * cfgloopmanip.c (update_single_exits_after_duplication,
754 unloop): Make them static.
755 * cfgloop.h: Remove the corresponding prototypes.
757 * c-typeck.c (c_size_in_bytes, record_maybe_used_decl):
759 * c-tree.h: Remove the corresponding prototypes.
761 * explow.c (round_push): Make it static.
762 * expr.h: Remove the corresponding prototype.
764 * varasm.c (get_named_section_flags, decl_tls_model): Make
766 * output.h: Remove the prototype for get_named_section_flags.
767 * tree.h: Remove the prototype for decl_tls_model.
769 2004-11-11 Kazu Hirata <kazu@cs.umass.edu>
771 * function.c (expand_function_end): Remove an "if" statement
772 that always triggers.
773 * stmt.c (expand_null_return_1): Likewise.
775 2004-11-11 James E. Wilson <wilson@specifixinc.com>
777 * config/ia64/ia64.h (HARD_REGNO_NREGS): Handle XCmode.
778 (HARD_REGNO_MODE_OK, MODES_TIEABLE_P, SECONDARY_MEMORY_NEEDED,
779 CLASS_MAX_NREGS): Likewise.
781 2004-11-11 Zdenek Dvorak <dvorakz@suse.cz>
783 PR tree-optimization/17742
784 * tree-scalar-evolution.c (follow_ssa_edge_in_rhs): Handle
785 MINUS_EXPR correctly.
787 2004-11-11 Sebastian Pop <pop@cri.ensmp.fr>
789 * tree-scalar-evolution.c (follow_ssa_edge_in_condition_phi):
790 Give up as soon as the evolution is known not computable.
792 2004-11-11 Nathan Sidwell <nathan@codesourcery.com>
795 * config/rs6000/rs6000.c (mask64_2_operand): Stub to call
797 (mask64_1or2_operand): Broken out of mask64_2_operand, add flag
798 to spot rlwinm opportunities.
799 (and64_2_operand): Use mask_1or2_operand.
800 * config/rs6000/rs6000.md (anddi3): Use rlwinm when possible.
802 2004-11-11 Dorit Naishlos <dorit@il.ibm.com>
804 * tree-vectorizer.c (update_phi_nodes_for_guard): Call reverse_phis.
805 (vect_update_ivs_after_vectorizer): Update function documentation.
806 Avoid quadratic behavior and direct write to PHI_ARG_DEF.
808 2004-11-11 Kazu Hirata <kazu@cs.umass.edu>
810 * config/arm/arm.c: Fix a comment typo.
812 2004-11-11 Nathan Sidwell <nathan@codesourcery.com>
814 * bitmap.h (nBITMAP_WORD_BITS): Remove.
815 (BITMAP_WORD_BITS): Force unsigned by use of 1u.
816 (BITMAP_ELEMENT_WORDS, BITMAP_ELEMENT_ALL_BITS): Remove
818 (bitmap_first_set_bit): Return unsigned, use ctzl.
819 (bitmap_last_set_bit): Remove.
820 * bitmap.c (bitmap_element_zerop, bitmap_copy): Make iterator
822 (bitmap_first_set_bit): Return unsigned, require non-empty bitmap,
823 remove special case code for two word elements.
824 (bitmap_last_set_bit): Remove.
825 * ra-build.c (livethrough_conflicts_bb): Replace unnecessary use of
826 bitmap_first_set_bit with bitmap_empty_p.
827 * tree-outof-ssa.c (analyze_edges_for_bb): Likewise.
828 * tree-ssa-pre.c (bitmap_print_value): Use simple flag rather than
831 2004-11-11 Nathan Sidwell <nathan@codesourcery.com>
834 * config/rs6000/rs6000.md: Add DF & SF reg move peepholes.
837 * config/rs6000/rs6000.c (rs6000_generate_compare): Generate an
838 unsigned equality compare when we know the operands are unsigned.
840 2004-11-10 Peter S. Mazinger <ps.m@gmx.net>
842 * config/mips/linux.h (LINUX_TARGET_OS_CPP_BUILTINS): Define
843 __PIC__ and __pic__ only if TARGET_ABICALLS.
844 (SUBTARGET_CPP_SPECS): Don't define or undefine __PIC__ and __pic__.
845 (SUBTARGET_ASM_SPECS): Don't pass -non_shared to assembler; pass
846 -KPIC only if not -mno-abicalls.
848 * config/alpha/linux.h, config/arm/linux-elf.h, config/pa/pa-linux.h
849 * config/sparc/linux.h, config/sparc/linux64.h
850 (TARGET_OS_CPP_BUILTINS): Define __PIC__ and __pic__ if flag_pic.
852 * config/arm/linux-gas.h (CPP_SPEC): Don't define __PIC__ or __pic__.
853 * config/pa/pa/linux.h (CPP_SPEC): Likewise.
854 * config/sparc/linux.h (CPP_SUBTARGET_SPEC): Likewise.
855 * config/sparc/linux64.h (CPP_SUBTARGET_SPEC): Likewise.
857 2004-11-11 Paul Brook <paul@codesourcery.com>
859 * config/arm/arm.c (arm_compute_save_reg0_reg12_mask): Save PIC
860 register if current_function_uses_pic_offset_table is set.
862 2004-11-10 David Edelsohn <edelsohn@gnu.org>
864 * config/rs6000/rs6000.md (define_attr "type"): Add two and three.
865 Change multi-instruction sequences to new attribute.
866 * config/rs6000/{40x.md,440.md,603.md,6xx.md,
867 7450.md,7xx.md,8540.md,mpc.md,power4.md,power5.md,
868 rios1.md,rios2.md,rs64.md}: Add descriptions for two and three.
870 2004-11-10 Daniel Berlin <dberlin@dberlin.org>
872 * tree-data-ref.c (build_classic_dist_vector): If either loop
873 is outside of the nest we asked about, the dependence can't
875 (build_classic_dir_vector): Ditto.
877 2004-11-10 Zdenek Dvorak <dvorakz@suse.cz>
879 * tree-ssa-loop-ivopts.c (get_address_cost): Add address elements in
881 (force_var_cost): Determine cost of addition and multiplication more
883 (get_computation_cost_at): Add cost for computing address elements to
886 * fold-const.c (fold): Attempt to use ptr_difference_const whenever
887 one of the arguments of MINUS_EXPR is an address.
888 (split_address_to_core_and_offset): New function.
889 (ptr_difference_const): Handle case when one of the operands is a
891 * tree-ssa-loop-ivopts.c (determine_base_object): Fold &*addr.
892 (ptr_difference_cost): Pass addresses instead of objects to
893 ptr_difference_const.
895 2004-11-10 Nathan Sidwell <nathan@codesourcery.com>
897 * tree.c (tree_check_failed): Emit general error if the list of
900 2004-11-10 Eric Botcazou <ebotcazou@libertysurf.fr>
902 * config/sparc/sparc.c (function_arg_union_value): New 'slotno'
903 argument. When the union is passed in the 6th slot, build a
904 PARALLEL with only one element.
905 (function_arg): Adjust call to function_arg_union_value.
906 (function_value): Likewise.
908 2004-11-10 Fariborz Jahanian <fjahanian@apple.com>
910 PR tree-optimization/17892
911 * tree-ssa-dom.c (unsafe_associative_fp_binop): Add test for
914 2004-11-10 James A. Morrison <phython@gcc.gnu.org>
917 config/sparc/sparc.md (addsi3, subsi3): Set "fptype" attribute.
918 (addv2si, addv4hi, addv2hi, subv2si, subv4hi, subv2hi): New patterns.
920 2004-11-10 Steven Bosscher <stevenb@suse.de>
922 * basic-block.h (XMALLOC_REG_SET, XFREE_REG_SET): New.
923 (struct basic_block_def): Remove local_set and cond_local_set
924 fields. Update comment for global_live_at_start.
925 * flow.c (calculate_global_regs_live): Allocate local_sets and
926 cond_local_sets here as arrays of bitmaps previously stored in
927 bb->local_set and bb->cond_local_set. Use xmalloc instead of
928 obstack allocated bitmaps.
930 2004-11-09 H.J. Lu <hongjiu.lu@intel.com>
933 * config/ia64/unwind-ia64.h (_Unwind_FindTableEntry): Mark it
936 * unwind-dw2.c (_Unwind_FindTableEntry): Removed.
938 2004-11-09 Jeff Law <law@redhat.com>
940 * cfganal.c (flow_dfs_compute_reverse_execute): Accept new
941 argument holding last unvisited block. Start search for
942 unvisited blocks at LAST_UNVISITED rather than EXIT_BLOCK.
943 (connect_infinite_loops_to_exit): Supply last unvisited block
944 to flow_dfs_compute_reverse_execute.
946 2004-10-22 Aldy Hernandez <aldyh@redhat.com>
948 * config/rs6000/rs6000.md (fix_truncdfsi2): Handle e500
950 (floatunssidf2): Same.
952 ("extendsfdf2"): New expander.
953 (*extendsfdf2_fpr): Rename.
954 (*truncdfsf2_fpr): Same.
957 (*nabsdf2_fpr): Same.
963 * config/rs6000/spe.md ("spe_extendsfdf2"): Remove FIXME comment.
964 ("spe_fix_truncdfsi2"): Same.
965 (spe_floatunssidf2): Same.
966 (spe_floatsidf2): Same.
968 2004-11-09 Joseph S. Myers <joseph@codesourcery.com>
971 * c-common.c (fname_decl): Don't use line number of decl in
974 2004-11-09 Ulrich Weigand <uweigand@de.ibm.com>
976 * config/s390/s390-protos.h (s390_pool_operand): Remove.
977 * config/s390/s390.c (s390_pool_operand): Likewise.
978 (s390_extra_constraint_str): Handle 'B' constraints.
979 * config/s390/s390.h (CONSTRAINT_LEN): Handle 'B' constraints.
980 * config/s390/s390.md: Document 'B' constraints.
981 ("*cmpdi_cct", "*cmpsi_cct"): Use 'B' constraint instead of
982 s390_pool_operand to prevent insns with two literal pool
983 references. Make pattern commutative.
984 ("*cmpdi_ccu", "*cmpsi_ccu", "*cmphi_ccu", "*cmpqi_ccu"): Use
985 'B' constraint instead of s390_pool_operand.
987 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
989 * tree-cfg.c (create_bb): Remove unnecessary memset.
991 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
993 * tree-ssa-threadupdate.c (copy_phis_to_block): Remove.
994 (thread_block): Call flush_pending_stmt instead of
997 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
999 * loop-iv.c (iv_number_of_iterations): Make it static.
1000 * cfgloop.h: Remove the corresponding prototype.
1002 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
1004 * function.c (combine_temp_slots, assign_parms,
1005 expand_pending_sizes): Make them static.
1006 * tree.h: Remove the corresponding prototypes.
1008 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
1010 * emit-rtl.c (copy_most_rtx): Remove.
1011 * rtl.h: Remove the corresponding prototype.
1013 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
1015 * cfgloop.c (flow_loops_update): Remove.
1016 * cfgloop.h: Remove the corresponding prototype.
1018 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
1020 * conflict.c (mark_reg, conflict_graph_compute): Remove.
1021 * basic-block.h: Remove the prototype for
1022 conflict_graph_compute.
1024 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
1026 * tree-if-conv.c (add_to_dst_predicate_list): Change the
1027 second argument to basic_block.
1028 (tree_if_convert_cond_expr): Update call sites.
1030 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
1032 * fold-const.c (pedantic_non_lvalue): Make it static.
1033 * tree.h: Remove the corresponding prototype.
1035 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
1037 * optabs.c (prepare_operand): Make it static.
1038 * optabs.h: Remove the corresponding prototype.
1040 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
1042 * reload1.c (reloads_conflict, gen_reload): Make them static.
1043 * reload.h: Remove the corresponding prototypes.
1045 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
1047 * reload.c (refers_to_mem_for_reload_p,
1048 refers_to_regno_for_reload_p): Make them static.
1049 * reload.h: Remove the corresponding prototypes.
1051 2004-11-09 James A. Morrison <phython@gcc.gnu.org>
1052 Eric Botcazou <ebotcazou@libertysurf.fr>
1055 * doc/md.texi (SPARC constraints): Document 'Y' constraint.
1056 * config/sparc/sparc-modes.def: Add vector modes of 4 and 8 bytes.
1057 * config/sparc/sparc.c (sparc_vector_mode_supported_p): New function.
1058 (TARGET_VECTOR_MODE_SUPPORTED_P): Set to sparc_vector_mode_supported_p.
1059 (fp_zero_operand): Accept MODE_VECTOR_INT modes.
1060 (input_operand): Accept CONST_VECTOR with MODE_VECTOR_INT modes.
1061 (sparc_cannot_force_const_mem): Return false for CONST_VECTOR.
1062 (sparc_init_modes): Set sparc_mode_class to SF_MODE or DF_MODE for
1063 MODE_VECTOR_INT modes.
1064 (sparc_extra_constraint_check): Add new constraint 'Y'.
1065 * config/sparc/sparc.h: Define UNITS_PER_SIMD_WORD to 8 for TARGET_VIS.
1066 * config/sparc/sparc.md (V32): New mode macro for 32-bit modes.
1067 (V64): New mode macro for 64-bit modes.
1068 (movsf): Use V32 for mode instead of SF.
1069 (movsf_insn_vis): Use V32 for mode instead of SF. Add 'Y' constraint
1070 alongside 'G' constraint.
1071 (movdf): Use V64 for mode instead of DF.
1072 (movdf_insn_v9only_vis, modf_insn_sp64_vis): Use V64 for mode instead
1073 of DF. Add 'Y' constraint alongside 'G' constraint.
1074 (multi-isn and misaligned mems DFmode splitters): Use V64 for mode
1077 2004-11-09 Ulrich Weigand <uweigand@de.ibm.com>
1079 * config/s390/s390.c (s390_select_ccmode): Return CCAPmode for
1080 integer NEG and ABS.
1081 * config/s390/s390.md ("*negdi2_64"): Fix op_type attribute.
1082 ("*negdi2_31"): Reimplement using a splitter.
1083 ("*negdi2_cc", "*negdi2_cconly"): New insns.
1084 ("*negdi2_sign", "*negdi2_sign_cc"): Likewise.
1085 ("*negsi2_cc", "*negsi2_cconly"): Likewise.
1086 ("*negdf2_cc", "*negdf2_cconly"): Likewise.
1087 ("*negsf2_cc", "*negsf2_cconly"): Likewise.
1088 ("*absdi2_cc", "*absdi2_cconly"): New insns.
1089 ("*absdi2_sign", "*absdi2_sign_cc"): Likewise.
1090 ("*abssi2_cc", "*abssi2_cconly"): Likewise.
1091 ("*absdf2_cc", "*absdf2_cconly"): Likewise.
1092 ("*abssf2_cc", "*abssf2_cconly"): Likewise.
1093 ("*negabsdi2_cc", "*negabsdi2_cconly"): New insns.
1094 ("*negabsdi2_sign", "*negabsdi2_sign_cc"): Likewise.
1095 ("*negabssi2_cc", "*negabssi2_cconly"): Likewise.
1096 ("*negabsdf2_cc", "*negabsdf2_cconly"): Likewise.
1097 ("*negabssf2_cc", "*negabssf2_cconly"): Likewise.
1099 2004-11-09 Ulrich Weigand <uweigand@de.ibm.com>
1101 * config/s390/s390.c (s390_canonicalize_comparison): Reverse condition
1102 when eliminating an UNSPEC_CMPINT.
1103 (s390_secondary_input_reload_class): Fix test for CC register reload.
1104 (s390_secondary_output_reload_class): Likewise.
1105 (s390_expand_cmpmem): Swap operands. Use gen_cmpint.
1106 * config/s390/s390.md ("*cmpint_si", "*cmpint_di"): Remove.
1107 ("cmpint", "*cmpint_cc", "*cmpint_sign", "*cmpint_sign_cc"): New
1108 insn patterns with splitters.
1110 2004-11-09 David Edelsohn <edelsohn@gnu.org>
1112 * config/rs6000/rs6000.c (rs6000_rtx_costs): Add EQ, GTU, and LTU.
1113 * config/rs6000/rs6000.md (sCC): Split GTU and LTU patterns.
1115 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
1117 * tree-phinodes.c (phi_reverse): New.
1118 * tree-cfg.c (tree_make_forwarder_block, tree_duplicate_bb):
1120 * tree-flow.h: Add a prototype for phi_reverse.
1122 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
1124 * tree-ssa-loop-ivopts.c: Fix a comment typo.
1126 2004-11-09 James A. Morrison <phython@gcc.gnu.org>
1129 * config/host-linux.c (TRY_EMPTY_VM_SPACE): Add __sparc__
1132 2004-11-09 Joseph S. Myers <joseph@codesourcery.com>
1134 * builtins.c, c-common.c, c-decl.c, c-format.c: Say "argument"
1135 instead of "arg" in diagnostics.
1137 2004-11-09 Joseph S. Myers <joseph@codesourcery.com>
1139 * builtins.c, c-common.c, c-decl.c, c-format.c, c-format.h,
1140 c-parse.in, c-pch.c, c-pragma.c, collect2.c, final.c, gcc.c,
1141 gcov.c, opts.c, pretty-print.h, protoize.c, reg-stack.c, rtl.c,
1142 tlink.c, config/alpha/alpha.c, config/arc/arc.c, config/arm/arm.c,
1143 config/avr/avr.c, config/c4x/c4x.c, config/darwin.c,
1144 config/frv/frv.c, config/h8300/h8300.c, config/i386/i386.c,
1145 config/i386/winnt.c, config/ia64/ia64.c, config/ip2k/ip2k.c,
1146 config/iq2000/iq2000.c, config/m32r/m32r.c,
1147 config/m68hc11/m68hc11.c, config/m68k/m68k.c, config/m68k/m68k.h,
1148 config/mcore/mcore.c, config/mips/mips.c, config/mmix/mmix.c,
1149 config/ns32k/ns32k.c, config/rs6000/host-darwin.c,
1150 config/rs6000/rs6000.c, config/s390/s390.c, config/sh/sh.c,
1151 config/sh/symbian.c, config/stormy16/stormy16.c,
1152 config/v850/v850.c: Avoid "`" as left quote, using "'" or %q, %<
1153 and %> as appropriate. Use %' as apostrophe in diagnostics where
1154 applicable. Use %< and %> in place of '' quotes where applicable.
1155 Use %qs in place of %<%s%>. Consistently quote __builtin function
1158 2004-11-09 Hans-Peter Nilsson <hp@bitrange.com>
1160 * gdbinit.in (pbb, pbm): New macros.
1162 2004-11-08 Jeff Law <law@redhat.com>
1164 * cfg.c (redirect_edge_succ_nodup): Use find_edge rather than
1165 implementing it inline.
1167 * cfganal.c (find_edge): Search pred->succs or succ->preds,
1168 whichever is shorter.
1170 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
1172 * passes.c (rest_of_handle_jump): Remove dead code.
1174 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
1176 * tree-cfg.c (thread_jumps): Speed up by keeping a pointer to
1177 the last used element in the worklist.
1179 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
1181 * tree-inline.c (remap_save_expr): Make it static.
1182 * tree-inline.h: Remove the corresponding prototype.
1184 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
1186 * tree-ssa-loop-niter.c (upper_bound_in_type,
1187 lower_bound_in_type): Make them static.
1188 * tree.h: Remove the corresponding prototypes.
1190 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
1192 * tree-ssa-live.c (tpa_init, pop_best_coalesce): Make them
1194 * tree-ssa-live.h: Remove the corresponding prototypes.
1196 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
1198 * tree-if-conv.c (tree_if_conversion): Make it static.
1199 * tree-flow.h: Remove the corresponding prototype.
1201 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
1203 * tree-ssa-operands.c (build_ssa_operands): Make it static.
1204 * tree-flow.h: Remove the corresponding prototype.
1206 2004-11-08 Andrew Pinski <pinskia@physics.uc.edu>
1209 * tree-inline.c (copy_body_r): Change "t = t" to empty
1210 statement instead of "t".
1212 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
1214 * modulo-sched.c (create_partial_schedule,
1215 free_partial_schedule, reset_partial_schedule,
1216 ps_add_node_check_conflicts, rotate_partial_schedule): Make
1219 2004-11-08 Richard Henderson <rth@redhat.com>
1221 * expmed.c (extract_force_align_mem_bit_field): Correct handling at
1224 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
1226 * sched-deps.c (add_insn_mem_dependence): Make it static.
1227 * sched-int.h: Remove the corresponding prototypes.
1229 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
1231 * flow.c (allocate_bb_life_data): Make it static.
1232 * basic-block.h: Remove the corresponding prototype.
1234 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
1236 * calls.c (split_complex_values, split_complex_types): Make
1238 * expr.h: Remove the corresponding prototypes.
1240 2004-11-08 Richard Earnshaw <rearnsha@arm.com>
1242 * arm.c (arm_handle_notshared_attribute): Wrap declaration and use
1243 with #if TARGET_DLLIMPORT_DECL_ATTRIBUTES.
1245 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
1247 * tree-if-conv.c (tree_if_convert_cond_expr): Remove two "if"
1248 statements that always trigger.
1250 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
1252 * tree-cfg.c, tree-if-conv.c, tree-into-ssa.c,
1253 tree-scalar-evolution.c, tree-ssa-loop-im.c,
1254 tree-ssa-loop-ivopts.c, tree-ssa-loop-manip.c, tree-ssa.c,
1255 tree-vectorizer.c: Replace TREE_CHAIN with PHI_CHAIN where
1258 2004-11-08 Ben Elliston <bje@au.ibm.com>
1260 * cgraph.h (cgraph_calls_p): Remove.
1261 * cgraph.c (cgraph_calls_p): Likewise.
1263 * varray.h (varray_copy): Remove.
1264 * varray.c (varray_copy): Likewise.
1266 2004-11-07 Andrew Pinski <pinskia@physics.uc.edu>
1269 * config/darwin.c (machopic_indirect_data_reference):
1270 Call gen_macho_high and gen_macho_low instead of
1271 checking the mode and calling gen_macho_high_di directly.
1272 * config/rs6000/rs6000.c (rs6000_emit_move): Likewise.
1273 * config/rs6000/rs6000.md: Move most of TARGET_MACHO expand/insns
1275 (movdf_low, movsf_low, movsf_low_st, movsi_low, macho_correct_pic,
1276 load_macho_picbase, macho_low, macho_high): Removed.
1277 (builtin_setjmp_receiver): Call gen_macho_high and
1278 gen_macho_low instead of checking the mode and calling
1279 gen_macho_high_di directly.
1280 * config/rs6000/darwin.md (load_macho_picbase_di): Use the MD constant.
1281 (movdf_low_si, movsf_low_si, movsf_low_st_si, movsi_low_st):
1282 Moved from rs6000.md.
1283 (macho_high): New expander.
1284 (macho_high_si): Renamed version of macho_high from rs6000.md.
1285 (macho_low): New expander.
1286 (macho_low_si): Renamed version of macho_low from rs6000.md.
1287 (load_macho_picbase): New expander.
1288 (load_macho_picbase_si): Renamed version of load_macho_picbase
1290 (macho_correct_pic): New expander.
1291 (macho_correct_pic_si): Renamed version of macho_correct_pic
1294 2004-11-07 Joseph S. Myers <joseph@codesourcery.com>
1296 * c-decl.c (finish_struct): Use complete sentences for diagnostic
1297 for structures or unions with no members or named members.
1299 2004-11-07 Joseph S. Myers <joseph@codesourcery.com>
1301 * c-typeck.c (build_unary_op): Replace unreachable diagnostic for
1302 taking address of bit-field by assertion.
1304 2004-11-06 Ulrich Weigand <uweigand@de.ibm.com>
1306 * config/s390/s390.md (attribute "op_type"): Default to "NN".
1307 (attribute "atype"): Default to "agen".
1308 (attribute "length"): Default to 6.
1309 (define_asm_attibutes): Remove.
1310 ("movti", "*movdi_64", "*movdi_31", "*movsi_zarch", "*movsi_esa",
1311 "*movhi", "*movqi", "*movdf_64", "*movdf_31", "movsf",
1312 "*clc", "*mvc", "*nc", "*oc", "*xc", "*xc_zero"):
1313 Do not set type attribute to "cs" where already default.
1314 ("*cmpint_si", "*cmpint_di", "fix_truncdfsi2_ibm", "floatsidf2_ibm",
1316 Do not set type attribute to "other" where already default.
1317 ("movti", "*movdi_64", "*movdi_31", "*movdf_31",
1318 "*strlendi", "*strlensi",
1319 "*movmem_long_64", "*movmem_long_31",
1320 "*clrmem_long_64", "*clrmem_long_31",
1321 "*cmpmem_long_64", "*cmpmem_long_31",
1322 "*cmpint_si", "*cmpint_di",
1323 "addti3", "*adddi3_31z", "*adddi3_31",
1324 "subti3", "*subdi3_31z", "*subdi3_31", "*negdi2_31",
1325 "*sconddi", "*scondsi", "*sconddi_neg", "*scondsi_neg",
1326 "fix_truncdfsi2_ibm", "floatsidf2_ibm", "extendsfdf2_ibm",
1327 "*pool_entry", "pool_align", "pool_section_start",
1328 "pool_section_end", "main_pool", "reload_base_31", "pool"):
1329 Do not set op_type attribute to "NN" where already default.
1330 ("*extractqi", "*extracthi", "*zero_extendhisi2_31",
1331 "*zero_extendqisi2_31", "*zero_extendqihi2_31",
1332 "fix_truncdfsi2_ibm", "floatsidf2_ibm"):
1333 Do not set atype attribute to "agen" where already default.
1334 ("*movmem_short", "*clrmem_short", "*cmpmem_short"): Don't set op_type.
1336 2004-11-06 Richard Sandiford <rsandifo@redhat.com>
1338 * config/mips/t-iris6 (tp-bit.c): Fix target filename.
1340 2004-11-06 Richard Sandiford <rsandifo@redhat.com>
1343 * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Don't define the
1344 R3000 and R4000 macros on IRIX.
1346 2004-11-06 Andreas Schwab <schwab@suse.de>
1349 * config/rs6000/altivec.h: Replace bool by __bool and pixel by
1352 2004-11-06 Kazu Hirata <kazu@cs.umass.edu>
1354 * tree-ssa-copyrename.c (rename_ssa_copies): Make it static.
1356 2004-11-06 Ulrich Weigand <uweigand@de.ibm.com>
1358 * config/s390/2064.md ("z_int", "z_agen"): Ensure the condition
1359 matches no insns already matched by other reservations.
1360 * config/s390/2084.md ("x_int", "x_agen"): Ensure the condition
1361 matches no insns already matched by other reservations.
1362 ("x_ss"): Remove, replace by ...
1363 ("x_cs"): ... this new reservation. Check type instead of op_type.
1364 Update bypasses to use x_cs instead of x_ss.
1365 ("x_nn"): Remove, replace by ...
1366 ("x_other"): ... this new reservation. Check type instead of op_type.
1367 Add x_other and x_branch to bypasses.
1368 ("x_vs"): New reservation.
1369 * config/s390/s390.md (attribute "type"): Default according to op_type.
1370 ("*execute"): Set type to "cs".
1372 2004-11-06 Kazu Hirata <kazu@cs.umass.edu>
1374 * fold-const.c (non_lvalue): Don't construct NON_LVALUE_EXPR
1375 if we are in GIMPLE.
1377 2004-11-06 Hans-Peter Nilsson <hp@bitrange.com>
1379 PR rtl-optimization/17933
1380 * rtlanal.c (dead_or_set_regno_p): Break out common code to...
1381 (covers_regno_p): New function. Handle SETs of PARALLEL,
1382 and defer the rest to...
1383 (covers_regno_no_parallel_p): New function.
1385 2004-11-06 Eric Botcazou <ebotcazou@libertysurf.fr>
1387 * config/sparc/sparc.c (function_arg_record_value_1): Skip
1388 fields with zero length.
1389 (function_arg_record_value_2): Likewise.
1390 (function_arg_record_value_3): Use smallest_mode_for_size
1391 instead of mode_for_size.
1392 (function_arg_union_value): Return naked register for unions
1395 2004-11-06 Eric Botcazou <ebotcazou@libertysurf.fr>
1397 * config/sparc/sparc.c (scan_record_type): Handle vector types.
1398 (function_arg_slotno): Handle vector types specially.
1399 (function_arg_record_value_1): Split fields with vector type and
1400 BLKmode into their subparts.
1401 (function_arg_record_value_2): Likewise. Be prepared to handle
1402 more than 2 registers per field.
1403 (function_arg_union_value): Increment regno inside the loop.
1404 (function_arg_vector_value): New function.
1405 (function_arg): Use it to split fields with vector type and
1406 BLKmode into their subparts and build a PARALLEL. Treat
1407 other vector types like floats.
1408 (function_value): Likewise.
1409 (sparc_pass_by_reference): Handle vector types.
1410 (sparc_return_in_memory): Likewise.
1412 2004-11-06 Kazu Hirata <kazu@cs.umass.edu>
1414 * tree-cfg.c (find_taken_edge_cond_expr): Remove an "if"
1415 statement that never triggers.
1417 2004-11-06 Ulrich Weigand <uweigand@de.ibm.com>
1419 * config/s390/2064.md ("z_o2", "z_o3"): Remove.
1420 * config/s390/2084.md ("x_o2", "x_o3"): Remove.
1421 ("x_fdivd"): Use also for fsqrtd type.
1422 ("x_fdivs"): Use also for fsqrts type.
1423 * config/s390/s390.md (attribute "type"): Remove "o2" and "o3" types.
1424 ("fix_truncdfsi2_ieee"): Set type to "ftoi".
1425 ("fix_truncdfsi2_ibm"): Set type to "other".
1426 ("floatdidf2", "floatdisf2"): Do not clobber CC.
1427 ("floatsidf2", "floatsidf2_ieee"): Likewise.
1428 ("floatsisf2", "floatsisf2_ieee"): Likewise.
1429 ("truncdfsf2", "truncdfsf2_ieee"): Only allow "register_operand".
1430 ("truncdfsf2_ibm"): Only allow "nonimmediate_operand". Use LER
1432 ("extendsfdf2_ibm"): Do not set atype. Set type to "floads".
1433 ("sqrtdf2"): Set type to "fsqrtd".
1434 ("sqrtsf2"): Set type to "fsqrts".
1436 2004-11-06 Kazu Hirata <kazu@cs.umass.edu>
1438 * tree-phinodes.c (remove_all_phi_nodes_for): Speed up using a
1439 pointer to the last PHI node in the new PHI chain.
1441 2004-11-06 Kaz Kojima <kkojima@gcc.gnu.org>
1443 * config/sh/sh.c (prepare_move_operands): Emit a use of r12
1444 for non-PIC TLS_MODEL_INITIAL_EXEC case.
1446 2004-11-06 Kazu Hirata <kazu@cs.umass.edu>
1448 * expmed.c: Fix a comment typo.
1450 2004-11-06 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
1453 * config/i386/cygming.h
1454 [HAVE_GAS_WEAK] (ASM_WEAKEN_LABEL): Macro defined.
1456 2004-11-06 Kazu Hirata <kazu@cs.umass.edu>
1458 * config/sh/sh4a.md: Fix copyright.
1460 2004-11-06 Kazu Hirata <kazu@cs.umass.edu>
1462 * config/rs6000/darwin.md, config/sh/sh4a.md: Replace GNU CC
1465 2004-11-05 David Edelsohn <edelsohn@gnu.org>
1467 * config/rs6000/rs6000.md (scc patterns): Replace subfc with subf
1468 when carry not used. Suggested by Torbjorn Granlund.
1470 * config/rs6000/rs6000.c (rs6000_emit_move): Don't force_reg
1471 operand[1] unnecessarily. Suggested by Eric Christopher.
1472 (rs6000_adjust_cost): Increase latency of store to wider load.
1473 (rs6000_rtx_costs): mulli only allows 16-bit constants.
1475 2004-11-05 Stan Shebs <shebs@apple.com>
1477 * config/rs6000/rs6000.c (machopic_output_stub): Output
1478 ldu instead of lwzu for 64-bit stubs.
1480 2004-11-05 Richard Henderson <rth@redhat.com>
1482 * config/alpha/alpha.c (alpha_expand_unaligned_load): Special case
1484 (alpha_expand_unaligned_store): Likewise.
1486 2004-11-05 Richard Henderson <rth@redhat.com>
1488 * expmed.c (extract_force_align_mem_bit_field): New.
1489 (extract_split_bit_field): Call it.
1491 2004-11-05 Richard Henderson <rth@redhat.com>
1493 * ia64.md (UNSPEC_SHRP): New.
1494 (dshift_count_operand): New.
1495 (ashrti3, ashrti3_internal, lshrti3, lshrti3_internal, shrp): New.
1496 * ia64.c (rtx_needs_barrier): Handle UNSPEC_SHRP.
1498 2004-11-05 Joseph S. Myers <joseph@codesourcery.com>
1500 * c-typeck.c (output_init_element): Return early if value is
1503 2004-11-05 James E Wilson <wilson@specifixinc.com>
1505 * invoke.texi (-fno-guess-branch-probability): Rewrite.
1507 * config/ia64/ia64.c (rtx_needs_barrier, case UNSPEC_GR_SPILL): Change
1508 1 to UNSPEC_GR_SPILL.
1510 2004-11-05 Andreas Krebbel <krebbel1@de.ibm.com>
1512 * config/s390/s390.c (s390_fixed_condition_code_regs): New function.
1513 (TARGET_FIXED_CONDITION_CODE_REGS): Macro defined.
1515 2004-11-05 Nathan Sidwell <nathan@codesourcery.com>
1517 * bitmap.h (enum bitmap_bits): Remove.
1518 (bitmap_operation): Remove.
1519 (bitmap_and, bitmap_and_into, bitmap_and_compl,
1520 bitmap_and_compl_into, bitmap_ior, bitmap_ior_into, bitmap_xor,
1521 bitmap_xor_into): Prototype.
1522 * bitmap.c (bitmap_elt_insert_after, bitmap_elt_clear_from): New.
1523 (bitmap_operation): Remove.
1524 (bitmap_and, bitmap_and_into, bitmap_and_compl,
1525 bitmap_and_compl_into, bitmap_ior, bitmap_ior_into, bitmap_xor,
1526 bitmap_xor_into): New.
1527 (bitmap_ior_and_compl, bitmap_ior_and_compl_into): Adjust.
1529 PR tree-optimization/18307
1530 * tree-ssa-alias.c (merge_pointed_to_info): Protected against DEST
1531 and ORIG being the same node.
1533 2004-11-04 Geoffrey Keating <geoffk@apple.com>
1535 * Makefile.in (distclean): Don't delete nonexistent fixinc/ directory.
1536 (install-mkheaders): Install the version built for the
1537 host, not for the build machine.
1538 * configure.ac: Always run fixincludes.
1539 (all_outputs): Remove mkheaders.
1540 * configure: Regenerate.
1541 * fixinc.in: Move to fixincludes/.
1542 * mkfixinc.sh: Likewise.
1543 * mkheaders.in: Likewise.
1544 * README-fixinc: Likewise.
1546 2004-11-05 Ramana Radhakrishnan <ramana.radhakrishnan@codito.com>
1549 * config/arc/lib1funcs.asm (___umulsidi3): Change use of cmp to the
1550 equivalent on the A4.
1552 2004-11-05 Joseph S. Myers <joseph@codesourcery.com>
1554 * doc/c-tree.texi, doc/cfg.texi, doc/contrib.texi, doc/cpp.texi,
1555 doc/cppopts.texi, doc/extend.texi, doc/fragments.texi,
1556 doc/frontends.texi, doc/gcov.texi, doc/hostconfig.texi,
1557 doc/implement-c.texi, doc/install.texi, doc/invoke.texi,
1558 doc/libgcc.texi, doc/md.texi, doc/passes.texi,
1559 doc/portability.texi, doc/rtl.texi, doc/sourcebuild.texi,
1560 doc/standards.texi, doc/tm.texi, doc/tree-ssa.texi,
1561 doc/trouble.texi: Correct end-of-sentence markup and markup of
1562 "etc.", "e.g." and "i.e.". Use @code in various places where
1565 2004-11-05 Joseph S. Myers <joseph@codesourcery.com>
1567 * doc/c-tree.texi, doc/cfg.texi, doc/extend.texi, doc/gty.texi,
1568 doc/install.texi, doc/invoke.texi, doc/md.texi, doc/passes.texi,
1569 doc/rtl.texi, doc/tm.texi, doc/tree-ssa.texi: Remove trailing
1572 2004-11-04 Mark Mitchell <mark@codesourcery.com>
1574 * config/arm/arm.c (arm_handle_notshared_attribute): New function.
1575 * doc/extend.texi: Document "notshared" attribute.
1577 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
1579 * tree-phinodes.c (make_phi_node): Make it static.
1580 * tree.h: Remove the prototypes for make_phi_node.
1582 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
1584 * stmt.c (expand_asm, expand_asm_operands): Make them static.
1585 * tree.h: Remove the prototypes for expand_asm and
1586 expand_asm_operands.
1588 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
1590 * passes.c (rest_of_compilation): Make it static.
1591 * toplev.h: Remove the prototype for rest_of_compilation.
1593 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
1595 * jump.c (cleanup_barriers): Use delete_insn instead of
1597 (delete_barrier): Remove.
1598 * rtl.h: Remove the corresponding prototype.
1600 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
1602 * expr.c (mostly_zero_p): Make it static.
1603 * tree.h: Remove the prototype for mostly_zeros_p.
1605 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
1607 * cfgrtl.c (force_nonfallthru_and_redirect): Make it static.
1609 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
1611 * builtins.c (expand_builtin_return_addr,
1612 expand_builtin_longjmp, expand_builtin_trap): Make them static.
1613 * expr.h: Remove the prototypes for expand_builtin_longjmp and
1614 expand_builtin_trap.
1615 * tree.h: Remove the prototype for expand_builtin_return_addr.
1617 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
1619 * tree-cfg.c (find_taken_edge): Reject VAL begin NULL.
1620 * tree-ssa-ccp.c (visit_cond_stmt): Don't call find_taken_edge
1621 with VAL being NULL.
1623 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
1625 * cfghooks.c (delete_basic_block): Remove code to truncate
1628 2004-11-04 Andrew Pinski <pinskia@physics.uc.edu>
1630 * flow.c (init_propagate_block_info): Change the type of i to
1633 2004-11-04 Ulrich Weigand <uweigand@de.ibm.com>
1635 PR tree-optimization/18184
1636 * c-typeck.c (comptypes): Do not treat pointers of different
1637 modes or alias-all flags as equivalent.
1638 * tree-ssa.c (tree_ssa_useless_type_conversion_1): Likewise.
1640 2004-11-04 Joseph S. Myers <joseph@codesourcery.com>
1642 * doc/gty.texi, doc/makefile.texi, doc/sourcebuild.texi: Don't
1643 reference specific C parser files in examples.
1645 2004-11-04 Richard Sandiford <rsandifo@redhat.com>
1648 * regrename.c (scan_rtx): Treat the destinations of SETs and CLOBBERs
1649 as OP_INOUT if the instruction is predicated.
1651 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
1653 * bitmap.h: Fix a comment typo. Follow spelling conventions.
1654 * tree-vectorizer.c: Fix a comment typo.
1656 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
1658 * sdbout.c (SDB_GENERATE_FAKE): Remove.
1659 (gen_fake_label): Don't use SDB_GENERATE_FAKE.
1660 * system.h: Poison SDB_GENERATE_FAKE.
1661 * doc/tm.texi (SDB_GENERATE_FAKE): Remove.
1663 2004-11-04 Ulrich Weigand <uweigand@de.ibm.com>
1665 * config/s390/s390.md ("*addsi3_sign"): Use canonical RTL.
1667 2004-11-04 Eric Botcazou <ebotcazou@libertysurf.fr>
1670 * gthr-posix.h (__gthread_recursive_mutex_init_function): Revert
1673 2004-11-04 Nathan Sidwell <nathan@codesourcery.com>
1675 * predict.c (propagate_freq): Make bitno unsigned. Move
1676 npredecessors update out of loop.
1678 * bitmap.h (bitmap_iterator): Remove word_bit and bit
1679 fields. Rename others.
1680 (bmp_iter_common_next_1, bmp_iter_single_next_1,
1681 bmp_iter_single_init, bmp_iter_end_p, bmp_iter_single_next,
1682 bmp_iter_and_not_next_1, bmp_iter_and_not_init,
1683 bmp_iter_and_not_next, bmp_iter_and_next_1, bmp_iter_and_init,
1684 bmp_iter_and_next): Remove.
1685 (bmp_iter_set_init, bmp_iter_and_init, bmp_iter_and_compl_init,
1686 bmp_iter_next, bmp_iter_set, bmp_iter_and, bmp_iter_and_compl):
1688 (EXECUTE_IF_SET_IN_BITMAP, EXECUTE_IF_AND_IN_BITMAP,
1689 EXECUTE_IF_AND_COMPL_IN_BITMAP): Adjust.
1691 * bitmap.h (bitmap_a_or_b, bitmap_a_and_b): Remove.
1692 * df.c (dataflow_set_a_op_b): Use bitmap_and, bitmap_ior,
1693 bitmap_and_into, bitmap_ior_into as appropriate.
1694 * except.c (remove_eh_handler): Likewise.
1695 * global.c (modify_bb_reg_pav, make_accurate_live_analysis): Likewise.
1696 * tree-dfa.c (mark_new_vars_to_rename): Likewise.
1697 * tree-ssa-alias.c (merge_pointed_to_info): Likewise.
1698 * tree-ssa-live.h (live_merge_and_clear): Likewise.
1699 * tree-ssa-loop-ivopts.c (find_best_candidate, try_add_cand_for):
1702 * bitmap.c (bitmap_print): Make bitno unsigned.
1703 * bt-load.c (clear_btr_from_live_range,
1704 btr_def_live_range): Likewise.
1705 * caller-save.c (save_call_clobbered_regs): Likewise.
1706 * cfganal.c (compute_dominance_frontiers_1): Likewise.
1707 * cfgcleanup.c (thread_jump): Likewise.
1708 * cfgrtl.c (safe_insert_insn_on_edge): Likewise.
1709 * conflict.c (conflict_graph_compute): Likewise.
1710 * ddg.c (add_deps_for_use): Likewise.
1711 * df.c (df_refs_update): Likewise.
1712 * except.c (remove_eh_handler): Likewise.
1713 * flow.c (verify_local_live_at_start, update_life_info,
1714 initialize_uninitialized_subregs, propagate_one_insn,
1715 free_propagate_block_info, propagate_block, find_use_as_address,
1716 reg_set_to_hard_reg_set): Likewise.
1717 * gcse.c (clear_modify_mem_tables): Likewise.
1718 * global.c (global_conflicts, build_insn_chain): Likewise.
1719 * ifcvt.c (dead_or_predicable): Likewise.
1720 * local-alloc.c (update_equiv_regs): Likewise.
1721 * loop.c (load_mems): Likewise.
1722 * ra-build.c (livethrough_conflicts_bb, conflicts_between_webs):
1724 * ra-rewrite.c (reloads_to_loads, rewrite_program2, actual_spill):
1726 * reload1.c (order_regs_for_reload, finish_spills): Likewise.
1727 * sched-deps.c (sched_analyze_insn, free_deps): Likewise.
1728 * sched-rgn.c (propagate_deps
1729 * tree-cfg.c (tree_purge_all_dead_eh_edges): Likewise.
1730 * tree-dfa.c (dump_dfa_stats
1731 tree-into-ssa.c (compute_global_livein, insert_phi_nodes,
1732 insert_phi_nodes_for, debug_def_blocks_r, invalidate_name_tags):
1734 * tree-outof-ssa.c (coalesce_ssa_name, coalesce_vars,
1735 free_temp_expr_table, find_replaceable_exprs): Likewise.
1736 * tree-sra.c (scan_function, scalarize_parms): Likewise.
1737 * tree-ssa-alias.c (init_alias_info,
1738 compute_points_to_and_addr_escape,
1739 compute_flow_sensitive_aliasing, maybe_create_global_var): Likewise.
1740 * tree-ssa-dce.c (mark_control_dependent_edges_necessary): Likewise.
1741 * tree-ssa-live.c (new_tree_live_info, live_worklist,
1742 calculate_live_on_entry, calculate_live_on_exit, compare_pairs,
1743 sort_coalesce_list, build_tree_conflict_graph, dump_live_info
1744 tree-ssa-loop-manip.c (add_exit_phis_var): Likewise.
1745 tree-ssa-operands.c (get_asm_expr_operands, add_call_clobber_ops,
1746 add_call_read_ops): Likewise.
1747 * tree-ssa-pre.c (bitmap_print_value_set, insert_aux): Likewise.
1748 * tree-ssa-live.h (num_var_partitions): Return unsigned.
1750 2004-11-03 Dorit Naishlos <dorit@il.ibm.com>
1752 PR tree-optimization/18009
1753 * tree-vectorizer.h (enum dr_alignment_support): New type.
1754 (MAX_NUMBER_OF_UNALIGNED_DATA_REFS): Removed.
1755 (LOOP_UNALIGNED_DR): replaced with LOOP_VINFO_UNALIGNED_DR and holds a
1756 single data_reference (instead of a varray of references).
1757 * tree-vectorizer.c (new_loop_vec_info): Likewise.
1758 (vect_gen_niters_for_prolog_loop): Likewise.
1759 (vect_update_inits_of_drs): Likewise.
1761 (vect_update_inits_of_drs): Setting of DR_MISALIGNMENT moved to
1762 vect_enhance_data_refs_alignment.
1763 (vect_do_peeling_for_alignment): Likewise.
1764 (vect_enhance_data_refs_alignment): Decide if and by how much to peel;
1765 this functionality used to be in vect_analyze_data_refs_alignment.
1766 Also update DR_MISALIGNMENT due to peeling; this functionality used to
1767 be in vect_update_inits_of_drs and vect_do_peeling_for_alignment).
1768 (vect_analyze_data_refs_alignment): Decision on whether and by how much
1769 to peel moved to vect_enhance_data_refs_alignment. Call
1770 vect_supportable_dr_alignment.
1772 (vect_compute_data_ref_alignment): Set STMT_VINFO_VECTYPE.
1773 (vect_compute_data_refs_alignment): Return bool. Consider return value
1774 of vect_compute_data_ref_alignment and return true/false accordingly.
1775 (vect_enhance_data_refs_alignment): Consider return value of
1776 vect_compute_data_refs_alignment and return true/false accordingly.
1778 (vect_supportable_dr_alignment): New function.
1779 (vectorizable_store): Call vect_supportable_dr_alignment.
1780 (vectorizable_load): Call vect_supportable_dr_alignment. Alignment
1781 support checks moved from here to vect_supportable_dr_alignment.
1783 (vect_transform_loop): Avoid 80 columns overflow.
1785 2004-11-03 Andrew Pinski <pinskia@physics.uc.edu>
1787 * timevar.c (timevar_enable): Change from
1789 (timevar_push): Rename to ...
1790 (timevar_push_1): this and remove the
1792 (timevar_pop): Rename to ...
1793 (timevar_pop_1): this and remove the
1795 * timevar.h (POP_TIMEVAR_AND_RETURN): Use do/while loops.
1796 (timevar_pop): New macro.
1797 (timevar_push): New macro.
1798 (timevar_enable): Declare.
1800 2004-11-03 Andrew Pinski <pinskia@physics.uc.edu>
1802 * config/darwin.h (REAL_LIBGCC_SPEC): Define to use shared
1803 libgcc for shared libraries.
1805 2004-11-03 Ulrich Weigand <uweigand@de.ibm.com>
1807 * config/s390/s390-protos.h (s390_split_access_reg): Add prototype.
1808 * config/s390/s390.c (s390_split_access_reg): New function.
1809 (regclass_map): Add access registers.
1810 (get_thread_pointer): Use access register instead of UNSPEC_TP.
1811 * config/s390/s390.h (FIRST_PSEUDO_REGISTER): Set to 38.
1812 (ACCESS_REGNO_P, ACCESS_REG_P): New macros.
1813 (TP_REGNUM): New define.
1814 (FIXED_REGISTERS, CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS,
1815 REG_ALLOC_ORDER): Add access registers.
1816 (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK, CLASS_MAX_NREGS,
1817 CANNOT_CHANGE_MODE_CLASS): Support access registers.
1818 (enum reg_class): Add ACCESS_REGS.
1819 (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Likewise.
1820 (REG_CLASS_FROM_LETTER): Add 't' constraint.
1821 (REGISTER_NAMES): Add access registers.
1822 * config/s390/s390.md (UNSPEC_TP): Remove.
1823 ("*movdi_64"): Add access register alternatives. Provide splitters
1824 to split DImode access register <-> GPR moves into SImode moves.
1825 ("*movsi_zarch", "*movsi_esa"): Add access register alternatives.
1826 ("movstrictsi"): Likewise.
1827 ("get_tp_64", "get_tp_31"): Reimplement using access registers.
1828 ("set_tp_64", "set_tp_31"): Likewise.
1829 ("*set_tp"): New insn.
1831 2004-11-03 Kazu Hirata <kazu@cs.umass.edu>
1833 * tree-phinodes.c (resize_phi_node): Copy only a portion of
1834 the PHI node currently in use.
1836 2004-11-03 Andrew Pinski <pinskia@physics.uc.edu>
1839 * tree.c (staticp) <case FUNCTION_DECL>: Nested functions are static
1842 2004-11-03 Andrew MacLeod <amacleod@redhat.com>
1844 PR tree-optimization/18270
1845 * tree-outof-ssa.c (analyze_edges_for_bb): If a block has incoming
1846 abnormal edges, commit all pending stmts on incoming edges.
1848 2004-11-03 Ulrich Weigand <uweigand@de.ibm.com>
1850 * tree-ssa-loop-ivopts.c (get_address_cost): Offset zero does not
1851 cause extra costs. Generate canonical RTL.
1853 2004-11-02 Daniel Berlin <dberlin@dberlin.org>
1855 * lambda-code.c (lambda_compute_auxillary_space): Update comments.
1856 (lambda_compute_target_space). Ditto.
1857 * lambda.h (lambda_trans_matrix): Ditto.
1858 (lambda_linear_expression): Ditto.
1859 (lambda_body_vector): Ditto.
1860 (lambda_loopnest): Ditto.
1861 * tree-loop-linear.c (gather_interchange_stats): Combine tests,
1862 update comments, and remove pointless addition of 0.
1863 (linear_transform_loops): Update comments.
1865 2004-11-03 Sebastian Pop <pop@cri.ensmp.fr>
1867 * tree.c (tree_fold_gcd): Use FLOOR_MOD_EXPR instead of
1870 2004-11-03 Jeff Law <law@redhat.com>
1872 * predict.c (struct block_info_def): Kill "tovisit" field.
1873 (propagate_freq): Accept new "tovisit" parameter. Change
1874 read/write access methods for "tovisit" to check the "tovisit"
1875 bitmap instead of a bit in block_info_def.
1876 (estimate_loops_at_level): Allocate "tovisit" bitmap. Pass
1877 it to propagate_freq.
1879 * stmt.c (expand_case): Speed up code to detect duplicate case
1880 label targets and count unique case label targets.
1882 2004-11-03 Kazu Hirata <kazu@cs.umass.edu>
1884 * cppdefault.c, cppdefault.h, timevar.h: Update copyright.
1886 2004-11-03 Kazu Hirata <kazu@cs.umass.edu>
1888 * bitmap.h, dbxout.c, tree-mudflap.c: Fix comment formatting.
1890 2004-11-03 Kazu Hirata <kazu@cs.umass.edu>
1892 * tree-cfg.c (find_taken_edge): Abort if we are given a
1893 statement that is neither COND_EXPR nor SWITCH_EXPR.
1895 2004-11-02 Zdenek Dvorak <dvorakz@suse.cz>
1897 * fold-const.c (fold): Reassociate also (x - mult) + mult and
1898 (mult - x) + mult. Cast operands of expression after applying
1899 distributive law to the correct types. Apply distributive law
1900 to a * c - b * c for all non-float types.
1902 2004-11-02 Geoffrey Keating <geoffk@apple.com>
1904 * configure.ac: Don't clear STMP_FIXINC or STMP_FIXPROTO just
1905 because we don't want to run them now; instead, set them to
1906 stmp-install-fixproto or stmp-install-fixinc.
1907 * Makefile.in (stmp-install-fixproto): New.
1908 (stmp-install-fixinc): New.
1909 * configure: Regenerate.
1911 2004-11-02 Nathan Sidwell <nathan@codesourcery.com>
1913 * flow.c (init_propagate_block_info): Use bitmap_empty_p on result
1916 2004-11-02 Ziemowit Laski <zlaski@apple.com>
1918 * c-lang.c (LANG_HOOKS_TYPES_COMPATIBLE_P): Remove.
1919 (c_types_compatible_p): Move function definition...
1920 * c-objc-common.c (c_types_compatible_p): ...here.
1921 * c-objc-common.h (LANG_HOOKS_TYPES_COMPATIBLE_P): Moved here from
1924 2004-11-02 Steven Bosscher <stevenb@suse.de>
1926 * cfgloop.h (struct loop): Update comment.
1927 * cse.c (cse_main): Remove obsolete comment.
1929 * expr.h (gen_cond_trap): Move prototype under functions provided
1931 (canonicalize_condition, get_condition): Move to...
1932 * rtl.h (canonicalize_condition, get_condition): ...here.
1933 (branch_target_load_optimize): Add comment that this function is
1935 * loop.c (canonicalize_condition, get_condition): Move to...
1936 * rtlanal.c (canonicalize_condition, get_condition): ...here.
1937 * sched-deps.c (get_condition): Rename to sched_get_condition.
1938 (add_dependence): Update this caller.
1940 2004-11-02 Andrew Pinski <pinskia@physics.uc.edu>
1943 * tree-ssa.c (replace_immediate_uses): If we call fold_stmt, make sure
1944 that the vops get marked for renaming.
1946 2004-11-02 Andreas Krebbel <krebbel1@de.ibm.com>
1948 * config/s390/s390.md ("movcc"): Set type attribute.
1950 2004-11-02 Kazu Hirata <kazu@cs.umass.edu>
1952 * tree-phinodes.c (add_phi_arg): Add an assertion that the
1953 edge already exists.
1955 2004-11-02 Kazu Hirata <kazu@cs.umass.edu>
1957 * tree-phinodes.c (remove_phi_arg_num): Do not zero the
1958 element that's being removed.
1960 2004-11-02 Kazu Hirata <kazu@cs.umass.edu>
1962 * tree-ssa-threadupdate.c (copy_phis_to_block): Install PHI
1963 arguments using PENDING_STMT.
1964 (thread_block): Call copy_phis_to_block after redirecting an
1967 2004-11-02 Nathan Sidwell <nathan@codesourcery.com>
1969 * bitmap.h (bitmap_and, bitmap_and_into, bitmap_and_compl,
1970 bitmap_and_compl_into, bitmap_ior, bitmap_iot_into,
1971 bitmap_ior_compl, bitmap_xor, bitmap_xor_into): Produce void.
1972 (bitmap_ior_and_compl_into): Produce bool.
1973 (bitmap_union_of_diff): Rename to ...
1974 (bitmap_ior_and_compl): ... here. Produce bool.
1975 * bitmap.c (bitmap_ior_and_compl_into): Return bool. Use
1976 bitmap_operation directly.
1977 (bitmap_union_of_diff): Rename to ...
1978 (bitmap_ior_and_compl): ... here. Return bool, use
1979 bitmap_operation directly.
1980 * df.c (df_rd_transfer_function): Use bitmap_ior_and_compl.
1981 (df_ru_transfer_function, df_lr_transfer_function): Likewise.
1982 * global.c (modify_bb_reg_pav): Likewise.
1984 * bitmap.h (bitmap_equal_p): Return bool.
1985 (bitmap_intersect_p, bitmap_intersect_compl_p): Declare.
1986 * bitmap.c (bitmap_equal_p): Return bool. Compare directly.
1987 (bitmap_intersect_p, bitmap_intersect_compl_p): New.
1988 * flow.c (calculate_global_regs_live): Use bitmap_intersect_p and
1989 bitmap_intersect_compl_p.
1990 * ifcvt (dead_or_predicable): Likewise.
1992 2004-11-02 Nathan Sidwell <nathan@codesourcery.com>
1994 PR rtl-optimization/17104
1995 * config/rs6000/rs6000.c (rs6000_emit_move): Don't wrap small
1996 loads in zero_extend.
1998 2004-11-02 Danny Smith <dannysmith@users.sourceforge.net>
2001 * toplev.c (debug_type_names): Remove "dwarf-1".
2003 2004-11-02 Ben Elliston <bje@au.ibm.com>
2005 * timevar.h (timevar_get): Remove.
2006 * timevar.c (timevar_get): Remove unused function.
2008 2004-11-02 Joseph S. Myers <joseph@codesourcery.com>
2010 * doc/include/texinfo.tex: Update from Texinfo CVS.
2012 2004-11-02 Ben Elliston <bje@au.ibm.com>
2014 * cppdefault.h (cpp_SYSROOT): Remove.
2015 * cppdefault.c (cpp_SYSROOT): Likewise.
2017 2004-11-01 Andrew MacLeod <amacleod@redhat.com>
2019 PR tree-optimization/16447
2020 * tree-cfg.c (bsi_commit_one_edge_insert): Rename from
2021 bsi_commit_edge_inserts_1, and make funtion external. Return new block.
2022 (bsi_commit_edge_inserts): Use renamed bsi_commit_one_edge_insert.
2023 * tree-optimize.c (pass_cleanup_cfg_post_optimizing): Enable listing.
2024 * tree-flow.h (bsi_commit_one_edge_insert): Extern decl.
2025 * tree-outof-ssa.c (rewrite_trees): Don't commit edges here.
2026 (same_stmt_list_p): New. Return TRUE if edge is to be forwarded.
2027 (identical_copies_p): New. Return true is two copies are the same.
2028 (identical_stmt_lists_p): New. Return true if stmt lists are the same.
2029 (analyze_edges_for_bb): New. Determine how best to insert edge stmts
2031 (perform_edge_inserts): New. Determine what to do with all stmts that
2032 have been inserted on edges.
2033 (remove_ssa_form): Analyze and commit edges from here.
2035 2004-11-01 Andrew Pinski <pinskia@physics.uc.edu>
2038 * bitmap.h (bmp_iter_end_p): Take a const pointer instead of a struct.
2039 (EXECUTE_IF_SET_IN_BITMAP): Update call to bmp_iter_end_p.
2040 (EXECUTE_IF_AND_COMPL_IN_BITMAP): Likewise.
2041 (EXECUTE_IF_AND_IN_BITMAP): Likewise.
2043 2004-11-01 Joseph S. Myers <joseph@codesourcery.com>
2046 * c-decl.c (get_parm_info): Allow FUNCTION_DECLs to appear amongst
2047 parameter declarations.
2049 2004-11-01 Andreas Krebbel <krebbel1@de.ibm.com>
2051 * config/s390/s390.c (regclass_map): Put reg 33 (cc) to CC_REGS group.
2052 (s390_secondary_input_reload_class)
2053 (s390_secondary_output_reload_class): Use GENERAL_REGS to reload a cc
2055 (s390_expand_cmpmem): Enable cmpmem implementation.
2056 * config/s390/s390.h (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS):
2057 Added three new classes: CC_REGS, ADDR_CC_REGS, GENERAL_CC_REGS.
2058 (REG_CLASS_FROM_LETTER): New constraint 'c' added.
2059 * config/s390/s390.md ("movcc"): New insn pattern.
2060 * doc/md.texi: Document 'c' constraint for s390.
2062 2004-11-01 Nathan Sidwell <nathan@codesourcery.com>
2065 * doc/extend.texi (Deprecated Features): Deprecate G++ covariant
2068 2004-10-16 Daniel Berlin <dberlin@dberlin.org>
2070 Fix PR tree-optimization/17672
2071 Fix PR tree-optimization/18168
2073 * lambda-code.c (lambda_lattice_compute_base): Fix reversed
2075 (gcc_tree_to_linear_expression): Add extra to existing constant.
2076 (depth_of_nest): Factor out function used in various places.
2077 (gcc_loop_to_lambda_loop): Clean up code a little bit. No
2079 (find_induction_var_from_exit_cond): Stop guessing, and just
2080 get the right answer :).
2081 (gcc_loopnest_to_lambda_loopnest): Remove useless pre-allocation.
2082 Print out message about result of attempt to create perfect nest.
2083 (lbv_to_gcc_expression): Add type argument, use it to do math
2084 and induction variable creation.
2085 (lle_to_gcc_expression): Ditto.
2086 (lambda_loopnest_to_gcc_loopnest): Create new iv with same type as
2087 oldiv. Pass type argument to lle_to_gcc_expression and
2088 lbv_to_gcc_expression.
2089 Reset number of iterations after transformation.
2090 (perfect_nestify): Remove useless pre-allocation, and cleanup
2093 * tree-data-ref.c (build_classic_dist_vector): Return false for
2094 dependences completely outside of the loop nest we asked about.
2095 (build_classic_dir_vector): Ditto.
2096 (compute_data_dependences_for_loop): Only add dependence relations
2097 inside the loop we asked about.
2099 * tree-loop-linear.c (linear_transform_loops): Use DDR_SIZE_VECT.
2100 Compute immediate uses.
2102 * tree-optimize.c: Move linear_transform_loops to before ivcanon.
2104 2004-11-01 Kazu Hirata <kazu@cs.umass.edu>
2106 * tree-cfg.c (thread_jumps): Fix a comment typo.
2108 2004-11-01 Kazu Hirata <kazu@cs.umass.edu>
2110 * tree-cfg.c (thread_jumps): Fix a comment typo.
2112 2004-10-31 Nicolas Pitre <nico@cam.org>
2114 * config/arm/ieee754-sf.S (floatdisf): Fix regression with
2115 values smaller than 2^32.
2117 2004-10-31 Jeff Law <law@redhat.com>
2119 * cfgloop.h (struct loop): Remove unused "nodes" field.
2120 * timevar.def (TV_TREE_LOOP_BOUNDS): New.
2121 * tree-data-ref.c (find_data_references_in_loop): Use get_loop_body
2122 instead of calling flow_bb_inside_loop_p for every basic block
2124 * tree-ssa-loop.c (pass_record_bounds): Use TV_TREE_LOOP_BOUNDS.
2126 2004-10-31 Graham Stott <graham.stott@btinternet.com>
2128 * config/pa/pa.md: (prefetch_64, prefetch_32): Fix typo. Use
2129 INT_5_BITS instead of VAL_5_BITS_P.
2131 2004-10-31 Roger Sayle <roger@eyesopen.com>
2134 * tree-inline.c (inline_forbidden_p_1): Use %qF instead of '%F'
2135 for consistent quoting in diagnostic messages.
2136 (expand_call_inline): Likewise.
2137 * tree-optimize.c (tree_rest_of_compilation): Likewise.
2138 * tree-ssa.c (warn_uninitialized_var): Likewise.
2139 (warn_uninitialized_phi): Likewise.
2141 2004-10-31 Richard Sandiford <rsandifo@redhat.com>
2143 * config/mips/mips.c (mips_cannot_change_mode_class): Use a stricter
2146 2004-10-31 Kazu Hirata <kazu@cs.umass.edu>
2148 * c-common.c: Fix a comment typo.
2150 2004-10-31 Jason Merrill <jason@redhat.com>
2153 * tree-gimple.c (is_gimple_mem_rhs): Also require a val for
2154 aggregate types that are not BLKmode.
2156 2004-10-30 Ziemowit Laski <zlaski@apple.com>
2158 * c-common.h (objc_lookup_ivar): Add second parameter to
2160 * c-typeck.c (build_external_ref): After looking up symbol,
2161 pass it to objc_lookup_ivar() to decide whether it or the
2162 ivar should be used, rather than deciding the issue locally.
2163 * stub-objc.c (objc_lookup_ivar): Add an OTHER parameter,
2164 which is simply returned in the non-ObjC case.
2166 2004-10-30 Danny Smith <dannysmith@users.sourceforge.net>
2168 * sdbout.c (sdbout_symbol): Do not output type .def statements
2171 2004-10-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
2173 * c-common.c (catenate_strings): New.
2174 (c_parse_error): Use it. Don't over-escape.
2176 2004-10-30 Kaz Kojima <kkojima@gcc.gnu.org>
2178 * config/sh/sh.c (calc_live_regs): Declare reg as unsigned and
2179 modify the for loop expressions for it. Remove unnecessary casts.
2180 (sh_expand_prologue): Declare reg as unsigned.
2181 (sh_gimplify_va_arg_expr): Initinalize lab_over.
2182 (sh_handle_sp_switch_attribute): Add const qualifier appropriately.
2184 2004-10-30 Geoffrey Keating <geoffk@apple.com>
2186 * doc/invoke.texi (Darwin Options): Improve description of
2187 how the subtype is chosen.
2189 2004-10-30 Roger Sayle <roger@eyesopen.com>
2192 * config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Check that
2193 the stack adjustment, "size", is valid for Pmode. If the stack
2194 frame is too large, generate a trap insn and issue a warning.
2196 2004-10-30 Kazu Hirata <kazu@cs.umass.edu>
2198 * tree-ssa-dom.c: Fix comment typos.
2200 2004-10-30 Kaz Kojima <kkojima@gcc.gnu.org>
2202 * config/sh/sh.c (prepare_move_operands): Use operands[0]
2203 for the output rtl if no_new_pseudos is set. Remove redundant
2206 2004-10-30 Joseph S. Myers <joseph@codesourcery.com>
2209 * c-decl.c (start_function): Don't check for DECL_BUILT_IN when
2210 determining whether to copy parameter types from a previous
2211 prototype declaration.
2213 2004-10-29 Roger Sayle <roger@eyesopen.com>
2215 PR rtl-optimization/17581
2216 * cselib.c (cselib_process_insn): The last instruction of a libcall
2217 block, with the REG_RETVAL note, should be considered in the libcall.
2218 * gcse.c (do_local_cprop): Allow constants to be propagated outside
2220 (adjust_libcall_notes): Use simplify_replace_rtx instead of
2221 replace_rtx to avoid creating invalid RTL in REG_RETVAL notes.
2223 2004-10-30 Kazu Hirata <kazu@cs.umass.edu>
2225 * tree-phinodes.c (create_phi_node): Don't zero PHI_REWRITTEN.
2227 2004-10-29 Jeff Law <law@redhat.com>
2229 * tree-ssa-dom.c (struct edge_info): New structure holding
2230 edge equivalences and edge redirection information.
2231 (get_eq_expr_value, record_dominating_conditions): Kill.
2232 (propagate_to_outgoing_edges): Renamed from cprop_into_phis.
2233 Call record_edge_info.
2234 (allocate_edge_info, free_edge_info): New.
2235 (tree_ssa_dominator_optimize): Use propagate_to_outgoing_edges
2236 rather than cprop_into_phis. Free all edge infos before threading
2238 (thread_across_edge): Allocate new edge info structures as needed
2239 and store the redirection target into the edge info structure
2240 instead of the edge's AUX field.
2241 (dom_opt_initialize_block): Mark unused argument with ATTRIBUTE_UNUSED.
2242 (record_equivalence_from_incoming_edge): Lose unnecessary argument.
2243 Revamp code which finds and records equivalences associated with
2244 edges to use saved data in the edge_info structure.
2245 (record_equivalencs_from_phis): Similarly.
2246 (dom_opt_finalize_block): Revamp code which finds and records
2247 equivalences associated with edges to use saved data in the
2248 edge_info structure.
2249 (build_and_record_new_cond): New function.
2250 (record_conditions): Use build_and_record_new_cond to record
2251 dominating conditions.
2252 (record_edge_info): New function.
2253 (record_range): Tighten test for conditions which create
2254 useful range records.
2256 2004-10-29 Geoffrey Keating <geoffk@apple.com>
2258 * config/i386/darwin.h (ASM_SPEC): Simplify.
2259 (SUBTARGET_EXTRA_SPECS): Add darwin_subarch spec.
2260 * config/rs6000/darwin.h (DARWIN_SUBARCH_SPEC): New.
2261 (SUBTARGET_EXTRA_SPECS): Add darwin_subarch spec.
2262 * config/darwin.h (LINK_COMMAND_SPEC): Don't pass -arch here.
2263 (LINK_SPEC): Do pass -arch here. Handle -force_cpusubtype_ALL
2264 in all cases. Pass the right -arch or -arch_only based on -mcpu.
2265 (ASM_SPEC): Handle -force_cpusubtype_ALL.
2266 * doc/invoke.texi (Darwin Options): Improve documentation for
2267 Darwin linker (and libtool) switches.
2269 * config/rs6000/darwin-fallback.c: Include <mach/thread_status.h>.
2271 2004-10-29 Stan Shebs <shebs@apple.com>
2273 * config/rs6000/darwin-tramp.asm: Make more 64-bit-friendly.
2275 2004-10-29 Kazu Hirata <kazu@cs.umass.edu>
2277 * tree-phinodes.c (allocate_phi_node): New.
2278 (make_phi_node, resize_phi_node): Use it.
2280 2004-10-29 David Edelsohn <edelsohn@gnu.org>
2282 * config/rs6000/sysv4.h (TARGET_POWER): Define as 0.
2283 * config/rs6000/darwin.h (TARGET_POWER): Define as 0.
2285 2004-10-29 Kazu Hirata <kazu@cs.umass.edu>
2287 * tree-phinodes.c (make_phi_node, resize_phi_node): Don't zero
2289 * tree.h (tree_phi_node): Tell the garbage collector to chase
2292 2004-10-29 Richard Earnshaw <rearnsha@arm.com>
2294 * opts.c (decode_options): Lower the crossjump threshold for -Os.
2296 2004-10-29 Diego Novillo <dnovillo@redhat.com>
2298 * tree.h (struct tree_ssa_name): Remove field 'equiv'.
2300 2004-10-28 Nathan Sidwell <nathan@codesourcery.com>
2302 * bitmap.h (bitmap_empty_p): New.
2303 (bitmap_and, bitmap_and_into, bitmap_and_compl,
2304 bitmap_and_compl_into, bitmap_ior, bitmap_ior_into,
2305 bitmap_ior_compl, bitmap_xor, bitmap_xor_into): New bitmap
2307 (bitmap_ior_and_compl): Rename to ...
2308 (bitmap_ior_and_compl_into): ... here.
2309 * bitmap.c (bitmap_equal_p): Use bitmap_xor.
2310 (bitmap_ior_and_compl): Rename to ...
2311 (bitmap_ior_and_compl_into): ... here. Adjust. Return changed
2313 (bitmap_union_of_diff): Use renamed bitmap functions.
2314 * basic-block.h (AND_REG_SET, AND_COMPL_REG_SET, IOR_REG_SET,
2315 XOR_REG_SET, IOR_AND_COMPL_REG_SET): Likewise.
2316 * cfgrtl.c (safe_insert_insn_on_edge): Likewise.
2317 * df.c (df_bb_rd_local_compute)
2318 * flow.c (calculate_global_regs_live,
2319 init_propagate_block_info): Likewise.
2320 * ifcvt.c (find_if_case_1, find_if_case_2,
2321 dead_or_predicable): Likewise.
2322 * ra-build.c (union_web_part_roots, livethrough_conflicts_bb,
2323 reset_conflicts, conflicts_between_webs): Likewise.
2324 * ra-rewrite.c (reloads_to_loads, rewrite_program2,
2325 detect_web_parts_to_rebuild): Likewise.
2326 * sched-ebb.c (compute_jump_reg_dependencies): Likewise.
2327 * tree-int-ssa.c (insert_phi_nodes_for, rewrite_into_ssa): Likewise.
2328 * tree-sra.c (decide_instantiations): Likewise.
2329 * tree-ssa-alias.c (create_name_tags,
2330 merge_pointed_to_info): Likewise.
2331 * tree-ssa-dom.c (tree_ssa_dominator_optimize): Likewise.
2332 * tree-ssa-loop-im.c (move_computations): Likewise.
2333 * tree-ssa-operands.c (get_call_expr_operands): Likewise.
2334 * tree-ssa-pre.c (fini_pre): Likewise.
2335 * tree-ssa.c (verify_flow_sensitive_alias_info): Likewise.
2336 * tree-ssanames.c (any_marked_for_rewrite_p): Likewise.
2337 * tree-vectorizer.c (vectorize_loops): Likewise.
2339 2004-10-29 Nick Clifton <nickc@redhat.com>
2341 config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): When
2342 adding the PIC register to the fixed_regs array, also add it
2343 to the call_used_regs array.
2345 2004-10-29 Eric Botcazou <ebotcazou@libertysurf.fr>
2347 * gthr-posix.h (__gthread_recursive_mutex_init_function): Guard
2348 with #ifdef PTHREAD_MUTEX_RECURSIVE/#endif pairs.
2350 2004-10-28 Daniel Berlin <dberlin@dberlin.org>
2352 * tree-into-ssa.c (rewrite_virtual_phi_arguments): New function.
2353 (rewrite_blocks): Modify argument, and use it to decide which
2355 (rewrite_def_def_chains): Call rewrite_blocks with true here.
2356 (rewrite_into_ssa): and call it with false here.
2358 2004-10-29 Kazu Hirata <kazu@cs.umass.edu>
2360 * tree-phinodes.c (add_phi_arg): Turn an "if" that always
2361 triggers into gcc_assert.
2363 2004-10-28 Diego Novillo <dnovillo@redhat.com>
2365 PR tree-optimization/16728
2366 * tree-flow.h (get_ptr_info): Declare.
2367 * tree-ssa-alias.c (get_ptr_info): Make extern.
2368 * tree-ssa-copy.c (merge_alias_info): Merge flow-sensitive
2371 2004-10-28 Stan Shebs <shebs@apple.com>
2373 * config/rs6000/darwin.h (SUBTARGET_EXTRA_SPECS): Handle -m64.
2374 * config/rs6000/rs6000.c (rs6000_darwin_file_start): Add ppc64
2377 2004-10-28 Frank Ch. Eigler <fche@redhat.com>
2379 * tree-mudflap.c (mudflap_init): Mark cache-lookup decls to
2380 prevent their later unnecessary registration.
2381 (mf_build_check_statement_for): Remove "addr" argument, and
2382 related "__mf_value" generated code. Update callers.
2383 (mf_decl_eligible_p): New function, factored from mx_register_decls.
2384 (mx_register_decls): Call it.
2385 (mf_xform_derefs_1): Rewrite COMPONENT_REF and ARRAY_REF cases
2386 to restore support for complex nested expressions.
2387 (mudflap_enqueue_decl): Simplify. Move registration call emission
2389 (mudflap_finish_file): ... to here.
2390 (mudflap_enqueue_constant): Remove dump code.
2392 2004-10-28 Zack Weinberg <zack@codesourcery.com>
2395 * dbxout.c (dbxout_begin_complex_stabs_noforcetext): New function.
2396 (DBX_FINISH_STABS): Add (unused by default) SYM parameter.
2397 (dbxout_finish_complex_stabs): Update to match.
2398 (dbxout_symbol_location): Call emit_pending_bincls_if_required
2399 and FORCE_TEXT before DBX_STATIC_BLOCK_START. Use
2400 dbxout_begin_complex_stabs_noforcetext.
2401 * xcoffout.h (DBX_FINISH_STABS): Restore special case for
2402 N_GSYM, using new SYM parameter. Correct logic for special
2405 * varasm.c (function_section): If DECL is NULL_TREE, don't try
2406 to do anything else. Do not call get_insns if cfun or
2407 cfun->emit are NULL.
2409 2004-10-28 Adam Nemet <anemet@lnxw.com>
2412 * c-typeck.c (c_mark_addressable): Issue error if address of a
2413 register variable is taken. Use "%qD" to print DECL_NAME.
2415 2004-10-28 Diego Novillo <dnovillo@redhat.com>
2417 * opts.c (decode_options): Don't run PRE at -Os.
2419 2004-10-28 Richard Henderson <rth@redhat.com>
2421 * config/alpha/alpha.md (movqicc_internal): Allow exactly one
2422 zero in the conditional.
2423 (movhicc_internal, movsicc_internal, movdicc_internal): Likewise.
2425 2004-10-28 Richard Henderson <rth@redhat.com>
2427 * cse.c (memory_extend_rtx): Remove.
2428 (cse_main): Don't set it.
2429 (cse_insn): Use a local buffer instead.
2431 2004-10-28 Andreas Krebbel <krebbel1@de.ibm.com>
2433 * profile.c (branch_prob): Call to init_edge_profiler added.
2434 * rtl-profile.c (rtl_init_edge_profiler): New function.
2435 (rtl_gen_edge_profiler): Replaced call to insert_insn_on_edge with
2436 call to safe_insert_insn_on_edge.
2437 (rtl_profile_hooks): rtl_init_edge_profiler added.
2438 * tree-profile.c (tree_init_edge_profiler): New function.
2439 (tree_profile_hooks): tree_init_edge_profiler added.
2440 * value-prof.h (profile_hooks) init_edge_profiler prototype added.
2442 2004-10-28 Nick Clifton <nickc@redhat.com>
2444 * config/iq2000/iq2000.c (iq2000_expand_epilogue): Use
2445 emit_jump_insn() to generate the return instruction.
2447 2004-10-28 Kazu Hirata <kazu@cs.umass.edu>
2449 * tree-phinodes.c: Remove trailing whitespace.
2451 2004-10-28 Kazu Hirata <kazu@cs.umass.edu>
2453 * tree-ssa-loop-ivopts.c: Fix a comment typo.
2454 * doc/invoke.texi: Fix a typo.
2456 2004-10-28 Kazu Hirata <kazu@cs.umass.edu>
2458 * Makefile.in (OBJS-common): Remove duplicates.
2460 2004-10-28 Kazu Hirata <kazu@cs.umass.edu>
2462 * lambda-code.c (nestify_update_pending_stmts): Remove.
2463 (perfect_nestify): Use flush_pending_stmts instead of
2464 nestify_update_pending_stmts.
2465 * tree-cfg.c (tree_make_forwarder_block): Use
2466 flush_pending_stmts.
2467 * tree-flow.h: Add a prototype for flush_pending_stmts.
2468 * tree-ssa-loop-manip.c (tree_duplicate_loop_to_header_edge):
2469 Use flush_pending_stmts.
2470 (lv_update_pending_stmts): Remove.
2471 (tree_ssa_loop_version): Use flush_pending_stmts instead of
2472 lv_update_pending_stmts.
2473 * tree-ssa.c (flush_pending_stmts): New.
2475 2004-10-28 Ulrich Weigand <uweigand@de.ibm.com>
2478 * final.c (alter_subreg): Compute correct offset to use with
2479 paradoxical SUBREGs of memory operands.
2480 * recog.c (general_operand): Allow paradoxical SUBREGs of
2481 memory operands after reload.
2482 * simplify-rtx.c (simplify_gen_subreg): Fail if simplify_subreg
2483 has failed when passed a hard register.
2485 2004-10-28 Aldy Hernandez <aldyh@redhat.com>
2487 * function.c (assign_parm_setup_block): Handle parallels correctly.
2489 2004-10-28 Kaz Kojima <kkojima@gcc.gnu.org>
2491 * final.c (shorten_branches): Initialize flags structure.
2493 2004-10-28 Nathan Sidwell <nathan@codesourcery.com>
2495 * tree.c (int_cst_node, int_cst_hash_table): New variables.
2496 (init_ttree): Initialize them.
2497 (int_cst_hash_hash, int_cst_hash_eq): New hashing functions.
2498 (build_int_cst_wide): Use hash table for oversized integers.
2500 2004-10-28 Nick Clifton <nickc@redhat.com>
2502 * config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Define
2505 2004-10-27 Richard Henderson <rth@redhat.com>
2508 * expr.c (emit_group_load): Don't go force temporary for memory
2510 (emit_group_store): Similarly.
2512 2004-10-27 Andrew Pinski <pinskia@physics.uc.edu>
2515 * common.opt (--param): Fix spelling of parameter.
2517 2004-10-27 Andrew Pinski <pinskia@physics.uc.edu>
2520 * tree-cfg.c (remove_useless_stmts_1) <case SWITCH_EXPR>:
2521 Don't fold statement.
2522 <case ASM_EXPR>: Fold the statement.
2524 2004-10-28 Kazu Hirata <kazu@cs.umass.edu>
2526 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary)
2527 <COND_EXPR>: Use EDGE_COUNT instead of GOTO_DESTINATION.
2529 2004-10-28 Joseph S. Myers <jsm@polyomino.org.uk>
2531 * doc/contrib.texi, doc/cpp.texi, doc/cppopts.texi,
2532 doc/extend.texi, doc/gcov.texi, doc/install.texi, doc/invoke.texi,
2533 doc/libgcc.texi, doc/md.texi, doc/passes.texi,
2534 doc/sourcebuild.texi, doc/tm.texi: Improve Texinfo formatting.
2536 2004-10-28 Joseph S. Myers <jsm@polyomino.org.uk>
2538 * doc/c-tree.texi, doc/cpp.texi, doc/implement-c.texi,
2539 doc/invoke.texi, doc/md.texi, doc/passes.texi, doc/tm.texi: Put
2540 punctuation outside quotes.
2542 2004-10-27 David Mosberger <davidm@hpl.hp.com>
2543 James E Wilson <wilson@specifixinc.com>
2546 * config/ia64/ia64.c (ia64_expand_epilogue): Set RTX_FRAME_RELATED_P on
2547 sibcall alloc instruction.
2548 (process_set): Handle sibcall alloc instruction.
2550 2004-10-27 Geoffrey Keating <geoffk@apple.com>
2552 * config/rs6000/rs6000.c (rs6000_attribute_table): Add
2553 SUBTARGET_ATTRIBUTE_TABLE.
2554 * config/darwin.h (ASM_WEAKEN_DECL): Handle weak_import.
2555 (SUBTARGET_ATTRIBUTE_TABLE): Define.
2556 * config/darwin.c (darwin_handle_weak_import_attribute): New.
2557 (HAVE_DEAD_STRIP): Delete.
2558 (no_dead_strip): Don't test HAVE_DEAD_STRIP.
2559 * config/darwin-protos.h (darwin_handle_weak_import_attribute):
2562 * doc/tm.texi (USE_SELECT_SECTION_FOR_FUNCTIONS): Document.
2564 * config/darwin.h (GTHREAD_USE_WEAK): Define.
2566 2004-10-28 Ben Elliston <bje@au.ibm.com>
2568 * params.def (PARAM_SRA_MAX_STRUCTURE_SIZE): New.
2569 (PARAM_SRA_FIELD_STRUCTURE_RATIO): Likewise.
2570 * params.h (SRA_MAX_STRUCTURE_SIZE): New.
2571 (SRA_FIELD_STRUCTURE_RATIO): Likewise.
2572 * tree-sra.c: Include "params.h".
2573 (decide_block_copy): Use new parameters.
2574 * doc/invoke.texi (Optimize Options): Document new SRA pass
2575 parameters sra-max-structure-size and sra-field-structure-ratio.
2577 2004-10-27 Nicolas Pitre <nico@cam.org>
2579 * config/arm/ieee754-df.S (floatdidf): Fix regression with big values.
2581 2004-10-27 Zdenek Dvorak <dvorakz@suse.cz>
2583 PR tree-optimization/18048
2584 * fold-const.c (try_move_mult_to_index): New function.
2585 (fold): Use try_move_mult_to_index.
2586 * tree-ssa-loop-ivopts.c (try_add_cand_for): Prefer common candidates.
2587 * tree-ssa-loop-niter.c (number_of_iterations_cond): Produce
2588 an all-ones unsigned constant without extra bits.
2589 * tree.c (build_low_bits_mask): New function.
2590 * tree.h (build_low_bits_mask): Declare.
2592 2004-10-27 David Edelsohn <edelsohn@gnu.org>
2595 * config/rs6000/rs6000.md (maxsf3): Add !flag_trapping_math to
2601 2004-10-27 Kazu Hirata <kazu@cs.umass.edu>
2603 * tree-cfg.c (thread_jumps): Speed up by reordering the two
2604 conditions for entering basic blocks into worklist.
2606 2004-10-27 Kazu Hirata <kazu@cs.umass.edu>
2608 * tree-cfg.c (thread_jumps): Speed up by pretending to have
2609 ENTRY_BLOCK_PTR in worklist.
2611 2004-10-27 Kazu Hirata <kazu@cs.umass.edu>
2613 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary)
2614 <GOTO_EXPR>: Don't let an explicit GOTO_EXPR slip through.
2616 2004-10-27 Daniel Berlin <dberlin@dberlin.org>
2618 Fix PR tree-optimization/17133
2620 * tree-cfg.c (rewrite_to_new_ssa_names_bb): Also rewrite must
2623 * tree-flow-inline.h: V_MUST_DEF_OP became V_MUST_DEF_RESULT.
2624 (get_v_must_def_result_ptr): Modify for new structure of
2626 (get_v_must_def_kill_ptr): New.
2627 (op_iter_next_use): Add support for the kill that occurs in V_MUST_DEFs.
2628 (op_iter_next_tree): Ditto. Also V_MAY_DEF_OP became V_MAY_DEF_RESULT.
2629 (op_iter_next_def): V_MAY_DEF_OP became V_MAY_DEF_RESULT.
2630 (op_iter_init): Initialize new mustu members.
2631 (op_iter_next_mustdef): New function.
2632 (op_iter_init_mustdef): Ditto.
2634 * tree-flow.h (rewrite_def_def_chains): New function.
2636 * tree-into-ssa.c (mark_def_sites): Handle mustdefkill operands.
2637 (ssa_mark_def_sites): Ditto.
2638 (rewrite_stmt): Ditto.
2639 (ssa_rewrite_stmt): Ditto.
2640 (rewrite_blocks): Factor out from rewrite_into_ssa.
2641 (mark_def_block_sites): Ditto.
2642 (rewrite_def_def_chains): New function, just rewrites def-def
2643 chains without phi node insertion.
2645 * tree-pass.h (TODO_fix_def_def_chains): New todo flag.
2647 * tree-optimize.c (execute_todo): Handle TODO_fix_def_def_chains.
2649 * tree-pretty-print.c (dump_vops): Print out MUST_DEF's so that
2650 they include the rhs now.
2652 * tree-ssa-ccp.c (visit_assignment): V_MUST_DEF_OP became
2655 * tree-ssa-dce.c (mark_operand_necessary): Add phionly argument.
2657 (mark_really_necessary_kill_operand_phis): New function.
2658 (perform_tree_ssa_dce): Call it.
2659 (pass_dce): Add TODO_fix_def_def_chains.
2660 (pass_cd_dce): Ditto.
2662 * tree-ssa-loop-im.c (determine_max_movement): Look at kills as
2664 (rewrite_mem_refs): Ditto.
2666 * tree-ssa-loop-manip.c (find_uses_to_rename_stmt): Look at kills
2669 * tree-ssa-operands.c (allocate_v_may_def_optype):
2670 v_may_def_operand_type_t became v_def_use_operand_type_t.
2671 (allocate_v_must_def_optype) Ditto.
2672 (finalize_ssa_v_must_defs): Update for new operand type, as well
2673 as setting the use portion as well.
2674 (copy_virtual_operands): Copy the kill operand as well.
2675 (create_ssa_artficial_load_stmt): V_MUST_DEF_OP became
2678 * tree-ssa-operands.h (v_may_def_operand_type): Renamed to
2679 v_def_use_operand_type.
2680 (v_must_def_optype_d): Use v_def_use_operand_type.
2681 (V_MUST_DEF_OP_*): Renamed to V_MUST_DEF_RESULT_*
2682 (V_MUST_DEF_KILL_*): New macros.
2683 (struct ssa_operand_iterator_d): Add num_v_mustu and v_mustu_i
2685 Rename existing must_i and num_v_must members to mustd_i and
2687 (SSA_OP_VMUSTDEFKILL): New flag.
2688 (SSA_OP_VIRTUAL_KILLS): New flag.
2689 (SSA_OP_ALL_OPERANDS): Add in SSA_OP_ALL_KILLS.
2690 (SSA_OP_ALL_KILLS): New flag.
2691 (FOR_EACH_SSA_MUSTDEF_OPERAND): New macro.
2693 * tree-ssa.c (verify_ssa): Verify virtual kills as well.
2695 * tree-vectorizer.c (vect_create_data_ref_ptr): V_MUST_DEF_OP
2696 became V_MUST_DEF_RESULT.
2697 (rename_variables_in_bb): Rename kill pointer as well.
2699 * tree-dfa.c (compute_immediate_uses_for_stmt): Add kills into the
2702 2004-10-27 Richard Sandiford <rsandifo@redhat.com>
2704 * dbxout.c (dbxout_source_line): Move declaration of begin_label to
2705 the block that needs it.
2707 2004-10-27 Zack Weinberg <zack@codesourcery.com>
2709 * dbxout.c (dbxout_finish_complex_stabs): Mark 'line' variable
2712 2004-10-27 Zack Weinberg <zack@codesourcery.com>
2714 * c-lex.c (cb_def_pragma): Clean up code for making location
2715 palatable to diagnostic.c.
2717 2004-10-27 Steven Bosscher <stevenb@suse.de>
2719 PR tree-optimization/17757
2720 * tree-phinodes.c (remove_phi_arg_num): Don't remove PHIs
2721 without any PHI arguments left. Make sure the argument that
2722 we're supposed to remove exists at all.
2724 2004-10-27 Paul Brook <paul@codesourcery.com>
2726 * configure.ac: Don't test for [build] __cxa_atexit when building a
2728 * configure: Regenerate.
2730 2004-10-27 Paul Brook <paul@codeosurcery.com>
2732 * configure.ac: Use build_exeext not host_exeext when lookin for
2734 * configure: Regenerate.
2736 2004-10-27 Andreas Krebbel <krebbel1@de.ibm.com>
2738 * config/s390/s390.md ("*subdf3_cc"): Replaced plus by minus.
2740 2004-10-27 Andreas Krebbel <krebbel1@de.ibm.com>
2741 patch originally created by Kelley Cook <kcook@gcc.gnu.org>
2744 * opts.c (OPT_fprofile_generate): Default to -funroll-loops
2745 to match -fprofile-use.
2747 2004-10-27 Kazu Hirata <kazu@cs.umass.edu>
2749 * config/rs6000/rs6000.c: Fix a comment typo.
2751 2004-10-27 Zack Weinberg <zack@codesourcery.com>
2753 * config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Increment line
2756 2004-10-27 Andreas Schwab <schwab@suse.de>
2758 * varasm.c (default_stabs_asm_out_destructor): Mark symbol as
2760 (default_stabs_asm_out_constructor): Likewise.
2762 2004-10-26 Geoffrey Keating <geoffk@apple.com>
2764 * builtins.c (fold_builtin_unordered_cmp): Always bring both
2765 operands to the same type.
2767 2004-10-26 James E Wilson <wilson@specifixinc.com>
2770 * emit-rtl.c (emit_copy_of_insn_after): Copy RTX_FRAME_RELATED_P.
2772 2004-10-26 Zack Weinberg <zack@codesourcery.com>
2774 * dbxout.c: Include obstack.h.
2775 (ASM_STABS_OP): Take XCOFF_DEBUGGING_INFO into account in
2777 (ASM_STABD_OP, NO_DBX_MAIN_SOURCE_DIRECTORY, DBX_CONTIN_CHAR):
2778 Default-define here.
2779 (DBX_CONTIN_LENGTH): Move definition with others.
2780 (DBX_FINISH_STABS): New target macro.
2781 (current_sym_code, current_sym_value, current_sym_addr)
2782 (current_sym_nchars, CHARS, dbxout_continue)
2783 (print_int_cst_octal, print_octal, print_wide_int)
2784 (dbxout_prepare_symbol, dbxout_finish_symbol): Delete.
2785 (stabstr_ob, stabstr_last_contin_point): New variables.
2786 (NUMBER_FMT_LOOP): New improper macro.
2787 (dbxout_int, dbxout_stab_value_zero, dbxout_stab_value_label)
2788 (dbxout_stab_value_label_diff, dbxout_stab_value_internal_label)
2789 (dbxout_stab_value_internal_label_diff, dbxout_stabd)
2790 (dbxout_begin_stabn, dbxout_begin_stabn_sline)
2791 (dbxout_begin_simple_stabs, dbxout_begin_simple_stabs_desc)
2792 (dbxout_begin_complex_stabs, dbxout_finish_complex_stabs)
2793 (stabstr_C, stabstr_S, stabstr_I, stabstr_D, stabstr_U, stabstr_O)
2794 (stabstr_continue, DECL_ACCESSIBILITY_CHAR)
2795 New functions and/or proper function-like macros.
2796 (CONTIN): Use stabstr_continue, unconditionally.
2797 (get_lang_number): Define unconditionally, with ATTRIBUTE_UNUSED.
2798 (dbxout_init): Initialize stabstr_ob. Check
2799 NO_DBX_MAIN_SOURCE_DIRECTORY. Only write out the Ltext label
2800 if it was used. Use the new interfaces.
2801 (dbxout_source_file): Remove file argument; always write to
2802 asm_out_file. Use the new interfaces.
2803 (dbxout_type_method_1): Remove second argument which is always
2804 DECL_ASSEMBLER_NAME of the first argument. Use the new interfaces.
2805 (dbxout_type_methods): Remove write-only variables. Use the
2807 (dbxout_parms): Refactor to remove code duplicated in each of
2808 several successive if-else-if blocks. Use the new interfaces.
2809 (dbxout_function_end, emit_bincl_stab, dbxout_end_source_file)
2810 (dbxout_source_line, dbxout_finish, dbxout_type_index)
2811 (dbxout_type_fields, dbxout_range_type, dbxout_type, dbxout_type_name)
2812 (dbxout_class_name_qualifiers, dbxout_symbol, dbxout_symbol_location)
2813 (dbxout_symbol_name, dbxout_reg_parms, dbxout_args)
2814 (dbx_output_lbrac, dbx_output_rbrac, dbxout_block):
2815 Use the new interfaces.
2816 * Makefile.in (dbxout.o): Update dependencies.
2818 * defaults.h: Don't define ASM_STABD_OP.
2819 * output.h: Prototype new dbxout_* interfaces.
2820 * system.h: Poison DBX_OUTPUT_GCC_MARKER and DBX_FINISH_SYMBOL.
2821 * varasm.c: Don't define ASM_STABS_OP.
2822 (default_stabs_asm_out_constructor, default_stabs_asm_out_destructor):
2823 Use the new dbxout.c interfaces. Call sorry if neither
2824 DBX_DEBUGGING_INFO nor XCOFF_DEBUGGING_INFO is defined.
2826 * xcoffout.h: Don't define ASM_STABS_OP.
2827 (DBX_FINISH_SYMBOL): Rewrite and rename DBX_FINISH_STABS.
2828 (DBX_OUTPUT_MAIN_SOURCE_DIRECTORY, DBX_OUTPUT_GCC_MARKER): Delete.
2829 (NO_DBX_MAIN_SOURCE_DIRECTORY, NO_DBX_GCC_MARKER): Define.
2830 (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Change bare block to
2831 do { ... } while (0) idiom.
2833 * config/alpha/alpha.c (num_source_filenames): Export.
2834 * config/alpha/alpha.h (num_source_filenames): Declare.
2835 (DBX_OUTPUT_SOURCE_LINE): Use new interfaces.
2836 (SDB_OUTPUT_SOURCE_LINE): Add missing newline.
2837 * config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Use new interfaces.
2838 Always use .debugsym. Update commentary.
2839 * config/mips/mips.h (DBX_OUTPUT_SOURCE_LINE): Use new interfaces.
2840 (SDB_OUTPUT_SOURCE_LINE): Add missing newline.
2841 * config/rs6000/linux64.h (DBX_OUTPUT_SOURCE_LINE, DBX_OUTPUT_BRAC):
2843 * config/rs6000/rs6000.c: If TARGET_MACHO, include gstab.h.
2844 (macho_branch_islands): Use new interfaces.
2846 * doc/tm.texi: Update.
2848 2004-10-26 Aldy Hernandez <aldyh@redhat.com>
2850 * expr.c (emit_group_store): Do not treat floats as BLKmode.
2851 (emit_group_load): Same.
2853 2004-10-26 Joseph S. Myers <jsm@polyomino.org.uk>
2855 * c-parse.in (datadef): Use pedwarn rather than error and warning
2856 for diagnostic in case of no declaration specifiers.
2858 2004-10-26 Richard Sandiford <rsandifo@redhat.com>
2861 * doc/install.texi (mips-sgi-irix5): Document that /bin/sh has been
2862 reported to hang during bootstrap and that CONFIG_SHELL=/bin/ksh
2863 can be used to work around this.
2865 2004-10-26 Aldy Hernandez <aldyh@redhat.com>
2867 * config/rs6000/rs6000.h (MEMBER_TYPE_FORCES_BLK): Adjust for e500
2870 2004-10-26 Kazu Hirata <kazu@cs.umass.edu>
2872 * stmt.c (expand_case): Update a comment.
2874 2004-10-26 Kazu Hirata <kazu@cs.umass.edu>
2876 * stmt.c (expand_case): Put an assertion that index_expr is
2877 never INTEGER_CST. Don't special case for constant
2880 2004-10-26 Andrew Pinski <pinskia@physics.uc.edu>
2883 * c-parse.in (designator): Finish with a semi-colon.
2885 2004-10-26 Fariborz Jahanian <fjahanian@apple.com>
2887 * config/rs6000/rs6000.md (andsi3_internal8): Set CR when splitting
2890 2004-10-26 Kazu Hirata <kazu@cs.umass.edu>
2892 * stmt.c (expand_case): Remove code to handle SWITCH_EXPR with
2893 a default case only.
2895 2004-10-26 Aldy Hernandez <aldyh@redhat.com>
2897 * config/rs6000/rs6000.c (rs6000_hard_regno_nregs): Adjust for
2899 (spe_build_register_parallel): New.
2900 (rs6000_spe_function_arg): Handle e500 doubles.
2901 (function_arg): Same.
2902 (spe_func_has_64bit_regs_p): Same.
2903 (rs6000_function_value): Same.
2904 (rs6000_libcall_value): Same.
2905 (legitimate_lo_sum_address_p): Return false for e500 doubles.
2907 * config/rs6000/rs6000.h (LOCAL_ALIGNMENT): Adjust for e500
2909 (DATA_ALIGNMENT): Same.
2910 (CANNOT_CHANGE_MODE_CLASS): Same.
2912 2004-10-26 Aldy Hernandez <aldyh@redhat.com>
2914 * expr.c (emit_group_load): Handle floats.
2915 (emit_group_store): Same.
2917 2004-10-26 Nathan Sidwell <nathan@codesourcery.com>
2919 * c-lex.c (get_nonpadding_token): Remove.
2920 (c_lex_with_flags): Push timevar and eat padding here. Improve
2921 stray token diagnostic.
2922 (lex_string): Replace logic with switch statement, eat padding
2925 2004-10-26 Geoffrey Keating <geoffk@apple.com>
2928 * config/i386/darwin.h (ASM_SPEC): Undef it before defining.
2930 2004-10-25 Geoffrey Keating <geoffk@apple.com>
2932 * config/darwin.h (LINK_SPEC): Default weak_reference_mismatches
2934 (MAKE_DECL_ONE_ONLY): Set DECL_WEAK.
2935 (ASM_MAKE_LABEL_LINKONCE): Delete.
2936 (ASM_WEAKEN_DECL): New.
2937 (ASM_DECLARE_OBJECT_NAME): Look at DECL_WEAK not DECL_ONE_ONLY.
2938 (ASM_DECLARE_FUNCTION_NAME): Likewise.
2939 (TEXT_SECTION_ASM_OP): Add a tab.
2940 (DATA_SECTION_ASM_OP): Likewise.
2941 (SECTION_FUNCTION): Add a tab. Use fputs. Don't call
2942 data_section on every section change.
2943 (EXTRA_SECTIONS): Add a bunch of new extra sections.
2944 (EXTRA_SECTION_FUNCTIONS): Likewise.
2945 (USE_SELECT_SECTION_FOR_FUNCTIONS): Define.
2946 (JCR_SECTION_NAME): Define.
2947 (TARGET_SECTION_TYPE_FLAGS): Don't define.
2948 * config/darwin.c (darwin_encode_section_info): A symbol is defined
2949 in this file if it is not weak.
2950 (textcoal_section): Delete.
2951 (datacoal_section): Delete.
2952 (darwin_make_decl_one_only): Delete.
2953 (machopic_select_section): Handle functions.
2954 (darwin_asm_named_section): Add a tab.
2955 (darwin_section_type_flags): Delete.
2956 (darwin_unique_section): Delete contents.
2957 (darwin_emit_unwind_label): Add a tab. Make decls weak if
2959 * config/darwin-protos.h (darwin_section_type_flags): Delete.
2960 (darwin_make_decl_one_only): Delete.
2961 (text_coal_section): New.
2962 (text_unlikely_section): New.
2963 (text_unlikely_coal_section): New.
2964 (const_coal_section): New.
2965 (data_coal_section): New.
2966 (const_data_coal_section): New.
2967 * varasm.c (function_section): Honour
2968 USE_SELECT_SECTION_FOR_FUNCTIONS.
2969 * dwarf2out.c (output_call_frame_info): Look at DECL_WEAK when
2970 TARGET_USES_WEAK_UNWIND_INFO is in effect.
2971 * dbxout.c (dbxout_source_file): Don't change sections while
2972 a function is being output.
2974 2004-10-25 David Ayers <d.ayers@inode.at>
2976 * c-common.h: Remove RID_ID.
2977 * c-parse.in: Remove OBJECTNAME and references to RID_ID.
2978 (typespec_reserved_attr): Add rule for TYPENAME
2979 non_empty_protocolrefs.
2980 (yylexname): Remove special handling of RID_ID.
2982 2004-10-25 James E Wilson <wilson@specifixinc.com>
2984 * doc/invoke.texi (-fcrossjumping): Not enabled at -O.
2986 2004-10-25 Joseph S. Myers <jsm@polyomino.org.uk>
2989 * c-parse.in (array_designator): New.
2990 (designator): Use it.
2991 (initelt): Only permit array_designator without '=', not ".foo".
2993 2004-10-25 Kenneth Zadeck <zadeck@naturalbridge.com>
2994 * gcc/Makefile.in: removed ggc for cgraphunit.
2995 * gcc/cgraph.c.dump_cgraph_node: removed static var analysis.
2996 * gcc/cgraph.h: removed static var analysis data structures and calls.
2998 cgraph_mark_local_and_external_functions:changed name to
2999 cgraph_mark_local_functions
3000 (print_order,convert_UIDs_in_bitmap,new_static_vars_info,
3001 cgraph_reset_static_var_maps,get_global_static_vars_info,
3002 get_global_statics_not_read,get_global_statics_not_written,searchc,
3003 cgraph_reduced_inorder,has_proper_scope_for_analysis,check_rhs_var,
3004 check_lhs_var,get_asm_expr_operands,process_call_for_static_vars,
3005 scan_for_static_refs,cgraph_characterize_statics_local,
3006 clear_static_vars_maps,cgraph_propagate_bits,cgraph_characterize_statics):
3008 (cgraph_optimize,init_cgraph): removed calls to static vars analysis
3009 * gcc/tree-dfa.c find_referenced_vars: removed call to static vars
3011 * gcc/tree-flow.h static_vars_info: removed
3012 * gcc/tree-ssa-operands.c (add_call_clobber_ops,add_call_read_ops):
3013 removed calls to static vars analysis.
3014 get_call_expr_operands: removed callee variable.
3016 2004-10-25 Kazu Hirata <kazu@cs.umass.edu>
3018 * cfg.c (unchecked_make_edge, redirect_edge_succ,
3019 redirect_edge_pred): Use VEC_safe_push instead of
3021 * cfgrtl.c (force_nonfallthru_and_redirect): Likewise.
3023 2004-10-25 Kazu Hirata <kazu@cs.umass.edu>
3025 * cfgloopmanip.c (loopify): Take two more arguments true_edge
3027 * cfgloop.h: Adjust the corresponding prototype.
3028 * loop-unswitch.c (unswitch_loop): Adjust a call to loopify.
3029 * tree-ssa-loop-manip.c (tree_ssa_loop_version): Likewise.
3031 2004-10-25 Jakub Jelinek <jakub@redhat.com>
3033 * dwarf2out.c (rtl_for_decl_location): Avoid segfault if
3034 DECL_INCOMING_RTL is NULL.
3036 2004-10-25 Steven Bosscher <stevenb@suse.de>
3038 * timevar.def (TV_FIND_REFERENCED_VARS): New.
3039 * tree-dfa.c (pass_referenced_var): Use it.
3041 2004-10-25 Roger Sayle <roger@eyesopen.com>
3042 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3044 * cse.c: Change encoding of quantity numbers to avoid undefined
3045 pointer arithmetic on qty_table.
3046 (REGNO_QTY_VALID_P): A quantity is now valid if it isn't negative.
3047 (get_cse_reg_info): Initialize reg_qty to a unique negative value.
3048 (new_basic_block): Assign "real" quantity numbers from zero.
3049 (delete_reg_equiv): Do nothing if quantity is invalid. Reset the
3050 REG_QTY to its unique negative value.
3051 (merge_equiv_classes): Calculate need_rehash if quantity is valid.
3052 (cse_main): Don't include max_reg when determining max_qty.
3053 (cse_basic_block): Avoid subtracting a large offset from qty_table,
3054 which causes undefined C99 behaviour. Only allocate needed memory.
3056 2004-10-25 Kazu Hirata <kazu@cs.umass.edu>
3058 * stmt.c (expand_case): Remove an obsolete comment.
3060 2004-10-25 Andrew Pinski <pinskia@physics.uc.edu>
3063 * c-decl.c (grokdeclarator) <case cdk_array>: Remove the call
3064 layout_type as it is already done by build_array_type.
3065 * tree.c (build_array_type): Layout the type even
3067 2004-10-25 Alexandre Oliva <aoliva@redhat.com>
3069 * config/frv/linux.h (TARGET_C99_FUNCTIONS): Define to 0.
3071 2004-10-25 Alexandre Oliva <aoliva@redhat.com>
3073 * config/frv/frv.md (movdi, movdf): Handle wide-constant splits
3074 with wider-than-32-bit HOST_WIDE_INTs.
3076 2004-10-25 David Billinghurst <David.Billinghurst@riotinto.com>
3078 * config/mips/mips.c(mips_output_filename): Remove unused
3079 array ltext_label_name
3081 2004-10-24 Geoffrey Keating <geoffk@geoffk.org>
3083 * config/rs6000/darwin.h (BLOCK_REG_PADDING): Define.
3085 2004-10-25 Ben Elliston <bje@au.ibm.com>
3087 * cfgcleanup.c (outgoing_edges_match): Fix typo in dump output.
3089 2004-10-23 Andrew Pinski <pinskia@physics.uc.edu>
3091 * predict.c (predict_loops): Call scev_finalize instead of
3094 2004-10-24 Kazu Hirata <kazu@cs.umass.edu>
3096 * config/dbxcoff.h, config/dbxelf.h, config/libgloss.h,
3097 config/openbsd.h, config/mips/r3900.h, config/pdp11/pdp11.md,
3098 config/sh/ushmedia.h, config/sparc/elf.h,
3099 config/sparc/sp64-elf.h: Update copyright.
3101 2004-10-24 Kazu Hirata <kazu@cs.umass.edu>
3103 * stmt.c (expand_case): Handle the default label outside of
3104 the for loop. Remove code to handle a missing default label.
3106 2004-10-23 Kazu Hirata <kazu@cs.umass.edu>
3108 * dbxout.c (dbxout_function_decl): Don't use
3109 DBX_OUTPUT_FUNCTION_END.
3110 * system.h: Poison DBX_OUTPUT_FUNCTION_END.
3111 * doc/tm.texi (DBX_OUTPUT_FUNCTION_END): Remove.
3113 2004-10-23 Andrew Pinski <pinskia@physics.uc.edu>
3116 * tree-cfg.c (remove_usless_stmts_cond): Don't Fold statement.
3118 2004-10-23 Daniel Berlin <dberlin@dberlin.org>
3120 * tree-ssa-dom.c (record_equality): Use loop depth to determine
3121 which way to record the equality as well.
3122 (loop_depth_of_name): New function.
3124 2004-10-23 Eric Botcazou <ebotcazou@libertysurf.fr>
3127 * gimplify.c (gimplify_addr_expr) <VIEW_CONVERT_EXPR>: Look
3128 through the operand if it is a useless type conversion.
3130 2004-10-23 Ben Elliston <bje@au.ibm.com>
3132 * cfg.c (remove_edge): Use VEC_unordered_remove.
3133 (redirect_edge_succ): Likewise.
3134 (redirect_edge_pred): Likewise.
3135 * cfgrtl.c (force_nonfallthru_and_redirect): Likewise.
3137 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
3139 * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP): Don't access PTR
3142 2004-10-22 Eric Christopher <echristo@redhat.com>
3144 * config/rs6000/rs6000.c (setup_incoming_varargs): Align DFmode
3147 2004-10-22 Aldy Hernandez <aldyh@redhat.com>
3149 * config/rs6000/spe.md (spe_extendsfdf2): New.
3150 (movdf_e500_double): New.
3151 (spe_truncdfsf2): New.
3158 (spe_floatsidf2): New.
3159 (spe_floatunssidf2): New.
3160 (fix_truncdfsi2): New.
3161 (spe_fixuns_truncdfsi2): New.
3163 * config/rs6000/rs6000.md (truncdfsf2): Change to expander.
3164 (fpr_truncdfsf2): New.
3165 (negdf2): Change to expander.
3167 (fpr_nabsdf2): Name pattern.
3168 (adddf3): Change to expander.
3170 (subdf3): Change to expander.
3172 (muldf3): Change to expander.
3174 (divdf3): Change to expander.
3176 (movdf_softfloat32): Change !TARGET_FPRS to TARGET_E500_SINGLE.
3177 (cmpdf): Allow for TARGET_E500_DOUBLE.
3179 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
3181 * c-semantics.c (re_push_stmt_list): Remove.
3182 * c-common.h: Remove the corresponding prototype.
3184 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
3186 * stmt.c (asm_op_is_mem_input): Remove.
3187 * tree.h: Remove the corresponding prototype.
3189 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
3191 * tree-gimple.c (is_gimple_constructor_elt): Remove.
3192 * tree-gimple.h: Remove the corresponding prototype.
3194 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
3196 * varasm.c (get_pool_mode_for_function, get_pool_offset):
3198 * rtl.h: Remove the corresponding prototypes.
3200 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
3202 * tree-cfg.c (thread_jumps_from_bb): Speed up by extracting
3203 edge information when we commit ourselves to threading a
3206 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
3208 * tree-cfg.c (thread_jumps): Speed up by putting basic blocks
3209 into worklist instead of their indexes.
3211 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
3213 * alias.c, basic-block.h, cgraphunit.c, combine.c, domwalk.h,
3214 final.c, gengtype.c, genpreds.c, ggc-page.c, insn-notes.def,
3215 lambda-code.c, loop-unroll.c, modulo-sched.c, pointer-set.c,
3216 pretty-print.c, ra-colorize.c, sbitmap.c, tree-complex.c,
3217 tree-data-ref.c, tree-dfa.c, tree-inline.c, tree-into-ssa.c,
3218 tree-scalar-evolution.c, tree-ssa-dom.c,
3219 tree-ssa-loop-manip.c, tree-ssa-loop-niter.c,
3220 tree-ssa-phiopt.c, tree-ssa-pre.c, tree-ssa-threadupdate.c,
3221 tree-vectorizer.c, vec.h: Fix comment formatting.
3223 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
3225 * dwarf.h, gthr-dce.h, gthr-single.h, gthr-solaris.h, gthr.h,
3226 libfuncs.h, libgcc2.h, stab.def, tsystem.h: Update copyright.
3228 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
3230 * config/ptx4.h, config/mcore/mcore-pe.h,
3231 config/rs6000/eabi.h, config/vax/elf.h: Update copyright.
3233 2004-10-22 Peter Barada <peter@the-baradas.com>
3235 * config/m68k/m68k.h (HARD_REGNO_RENAME_OK): New macro.
3236 * config/m68k/m68k.c (m68k_hard regno_rename_ok): Disallow
3237 renaming of non-live registers in interrupt functions.
3238 * config/m68k/m68k-protos.h (m68k_hard_regno_rename_ok): Add prototype.
3240 2004-10-22 Zdenek Dvorak <dvorakz@suse.cz>
3242 * tree-ssa-loop-niter.c (inverse): Count in HOST_WIDE_INT if possible.
3243 Use integer for loop counter.
3244 (num_ending_zeros): New function.
3245 (number_of_iterations_cond): Use num_ending_zeros.
3247 2004-10-21 Aldy Hernandez <aldyh@redhat.com>
3249 * config.gcc: Add support for --enable-e500_double.
3251 * config/rs6000/e500-double.h: New file.
3253 * config/rs6000/rs6000.h: Define TARGET_E500_SINGLE and
3256 * config/rs6000/eabi.h: Define TARGET_E500_SINGLE and
3259 * config/rs6000/linuxspe.h: Same.
3261 * doc/invoke.texi (Option Summary): Document new options for
3263 (RS/6000 and PowerPC Options): Same.
3265 * config/rs6000/rs6000.c (rs6000_parse_float_gprs_option): New
3267 (rs6000_override_options): Use it. Use
3268 SUB3TARGET_OVERRIDE_OPTIONS.
3269 Add 8548 to processor_target_table.
3270 (rs6000_legitimate_address): Handle e500 doubles.
3271 (rs6000_legitimize_address): Same.
3272 (rs6000_legitimize_reload_address): Same.
3273 (rs6000_hard_regno_nregs): Same.
3274 (spe_func_has_64bit_regs_p): Same.
3275 (emit_frame_save): Same.
3276 (gen_frame_mem_offset): Same.
3277 (rs6000_dwarf_register_span): Same.
3278 (rs6000_generate_compare): Same.
3279 (easy_fp_constant): Same.
3280 (legitimate_offset_address_p): Same.
3282 * config/rs6000/spe.md: (cmdfeq_gpr): New.
3291 2004-10-21 Giovanni Bajo <giovannibajo@gcc.gnu.org>
3293 * config/arc/lib1funcs.asm (___umulsidi3): Fix typo.
3295 2004-10-21 Zack Weinberg <zack@codesourcery.com>
3297 * dbxout.c: Remove unnecessary #undefs.
3298 (GDB_INV_REF_REGPARM_STABS_LETTER, DBX_MEMPARM_STABS_LETTER)
3299 (FILE_NAME_JOINER, STABS_GCC_MARKER): Remove; fold sole
3300 definition into use sites.
3301 (cwd): Make local to dbxout_init.
3302 (dbxout_init): Restructure cwd-using logic for clarity. Use
3304 * xcoffout.h (DBX_OUTPUT_GCC_MARKER): Definition of
3305 STABS_GCC_MARKER folded in here.
3306 * system.h: Poison now-unused macros.
3307 * doc/tm.texi: Remove documentation of now-unused macros.
3309 2004-10-21 Andrew Pinski <pinskia@physics.uc.edu>
3312 * c-opts.c (push_command_line_include): Use the current file
3313 name instead of the main one.
3315 2004-10-21 Andrew Pinski <pinskia@physics.uc.edu>
3318 * tree.c (staticp): A CONST_DECL has static storage if either
3319 TREE_STATIC or DECL_EXTERNAL is set.
3320 * c-decl.c (pushdecl_top_level): Accept CONST_DECLs which can
3323 2004-10-21 Kazu Hirata <kazu@cs.umass.edu>
3325 * expr.c (store_expr): Remove dont_store_target.
3327 2004-10-21 Kazu Hirata <kazu@cs.umass.edu>
3329 * tree-cfg.c (thread_jumps): Speed up by using a worklist.
3331 2004-10-21 Kazu Hirata <kazu@cs.umass.edu>
3333 * tree-cfg.c (thread_jumps): Move a part of it to ...
3334 (thread_jumps_from_bb): ... here.
3336 2004-10-21 David Edelsohn <edelsohn@gnu.org>
3338 * dbxout.c (DBX_FINISH_SYMBOL): Add asm_out_file argument.
3339 * xcoffout.h (DBX_FINISH_SYMBOL): Change asmfile to (ASMFILE).
3341 2004-10-21 Kazu Hirata <kazu@cs.umass.edu>
3343 * expr.c (store_expr): Clean up by renaming want_value to
3346 2004-10-21 Kaz Kojima <kkojima@gcc.gnu.org>
3348 * config/sh/linux-unwind.h (sh_fallback_frame_state): Don't
3351 2004-10-21 Aldy Hernandez <aldyh@redhat.com>
3354 * expmed.c (store_bit_field): Pass original 'value' before
3357 2004-10-21 Nicolas Pitre <nico@cam.org>
3359 * config/arm/ieee754-sf.S: Large speed improvements. Fix NAN handling.
3360 * config/arm/ieee754-df.S: Ditto.
3362 2004-10-20 Zack Weinberg <zack@codesourcery.com>
3364 * dbxout.c (asmfile): Delete. All uses changed to asm_out_file.
3365 (DBX_BLOCKS_FUNCTION_RELATIVE, DBX_LINES_FUNCTION_RELATIVE):
3367 (dbxout_source_line): Use DBX_OUTPUT_SOURCE_LINE when defined.
3368 When it is not, but DBX_LINES_FUNCTION_RELATIVE is true, emit
3369 an internal label and an N_SLINE .stabn whose value is the
3370 difference between that label and the function entry label.
3371 (dbxout_finish): If DBX_OUTPUT_MAIN_SOURCE_FILE_END is not defined,
3372 but DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END is, emit a
3373 label and an N_SO stab with an empty string referring to it.
3374 (dbx_output_lbrac, dbx_output_rbrac): Use if statement instead
3375 of #ifdef directive to test DBX_BLOCKS_FUNCTION_RELATIVE.
3376 (dbxout_type_methods, dbxout_symbol): Remove #if 0 block.
3377 (dbxout_prepare_symbol): Remove #ifdef WINNING_GDB block, this
3378 macro is never defined.
3379 * sdbout.c (sdbout_source_line_counter): Delete.
3380 (PUT_SDB_SRC_FILE): Delete. Uses replaced with sole definition.
3381 (sdbout_source_line): Use SDB_OUTPUT_SOURCE_LINE, which takes
3383 * xcoffout.c (ASM_OUTPUT_SOURCE_LINE): Rename ASM_OUTPUT_LINE.
3385 * config/dbxcoff.h, config/dbxelf.h: Remove unncessary #undefs.
3386 * config/c4x/c4x.h, config/pa/pa.h: Remove unnecessary macro
3387 definitions (identical to default).
3388 * config/darwin.h, config/dbxcoff.h, config/dbxelf.h, config/ptx4.h
3389 * config/h8300/coff.h, config/pa/som.h, config/sh/elf.h:
3390 Define DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END, not
3391 DBX_OUTPUT_MAIN_SOURCE_FILE_END.
3392 * config/dbxcoff.h, config/dbxelf.h, config/ptx4.h
3393 * config/mcore/mcore-pe.h, config/pa/som.h, config/sh/elf.h:
3394 Define DBX_LINES_FUNCTION_RELATIVE, not ASM_OUTPUT_SOURCE_LINE.
3395 * config/alpha/alpha-protos.h: Don't prototype alpha_output_lineno.
3396 * config/alpha/alpha.c: Move declaration of num_source_filenames up.
3397 (alpha_start_function): Use SDB_OUTPUT_SOURCE_LINE.
3398 (sym_lineno): Delete.
3399 (alpha_output_filename): Do not emit N_SOL stabs here. Remove
3400 now-unused variable.
3401 (alpha_output_lineno): Delete.
3402 * config/mips/mips-protos.h: Don't prototype mips_output_lineno.
3403 * config/mips/mips.c (mips_output_filename): Don't use
3404 ASM_OUTPUT_FILENAME. Don't emit N_SOL stabs here.
3405 (mips_output_lineno): Delete.
3406 (mips_output_function_prologue: Use SDB_OUTPUT_SOURCE_LINE.
3407 * config/alpha/alpha.h: Define DBX_OUTPUT_SOURCE_LINE and
3408 SDB_OUTPUT_SOURCE_LINE, not ASM_OUTPUT_SOURCE_LINE.
3409 * config/mips/mips.h: Likewise. Don't define ASM_OUTPUT_FILENAME.
3410 * config/mips/sdb.h: Use SDB_OUTPUT_SOURCE_LINE.
3411 * config/avr/avr.h: Don't define ASM_OUTPUT_SOURCE_LINE.
3412 * config/mmix/mmix.h: Likewise.
3413 * config/mmix/mmix.c (mmix_asm_output_source_line): Delete.
3414 * config/mmix/mmix-protos.h: Don't prototype it.
3415 * config/alpha/unicosmk.h: Also #undef PREFERRED_DEBUGGING_TYPE;
3416 no need to #undef ASM_OUTPUT_SOURCE_LINE.
3417 * config/arm/aout.h: Remove RISCiX-specific definition of
3418 DBX_OUTPUT_MAIN_SOURCE_FILENAME.
3419 * config/m32r/m32r.h: Define DBX_OUTPUT_SOURCE_LINE, not
3420 ASM_OUTPUT_SOURCE_LINE.
3421 * config/rs6000/linux64.h (ASM_OUTPUT_SOURCE_LINE): Rename to
3422 DBX_OUTPUT_SOURCE_LINE. Don't use current_function_func_begin_label.
3423 * config/vax/elf.h: No need to define DBX_OUTPUT_FUNCTION_END.
3425 * doc/tm.texi: Update.
3427 2004-10-20 Richard Henderson <rth@redhat.com>
3429 * tree-sra.c (instantiate_element): Copy DECL_IGNORED_P also.
3431 2004-10-20 Kelley Cook <kcook@gcc.gnu.org>
3433 * configure.ac: Revert my previous patch.
3434 * configure: Regenerate.
3436 2004-10-20 Ben Elliston <bje@au.ibm.com>
3438 * config/rs6000/rs6000.c
3439 (rs6000_va_start): Use build_va_arg_indirect_ref.
3440 (rs6000_gimplify_va_arg): Likewise.
3442 2004-10-20 Bryce McKinlay <mckinlay@redhat.com>
3445 * configure.ac: Declare AM_LANGINFO_CODESET.
3446 * aclocal.m4: Define AM_LANGINFO_CODESET.
3447 * configure, config.in: Rebuilt.
3449 2004-10-20 Kazu Hirata <kazu@cs.umass.edu>
3451 * expr.c (store_expr): Remove code that is run when
3452 want_value & 1 is nonzero.
3454 2004-10-20 Mark Mitchell <mark@codesourcery.com>
3456 * gthr-posix.h (__gthread_active_p): Use __extension__ around cast
3457 from function pointer to void *.
3459 2004-10-20 Kaz Kojima <kkojima@gcc.gnu.org>
3462 * config/sh/sh.c (sh_expand_epilogue): Emit a blockage insn before
3463 the frame pointer adjustment when exception handling is enabled.
3465 2004-10-20 Kazu Hirata <kazu@cs.umass.edu>
3467 * stor-layout.c: Fix a comment typo.
3469 2004-10-20 Kazu Hirata <kazu@cs.umass.edu>
3471 * expr.c (store_field): Remove two arguments value_mode and
3473 (expand_assignment, store_constructor_field,
3474 expand_expr_real_1): Adjust calls to store_field.
3476 2004-10-18 Ramana Radhakrishnan <ramana.radhakrishnan@codito.com>
3478 * config/arc/lib1funcs.asm (___umulsidi3): Correct usage of flags.
3481 * config/arc/arc.h (REGNO_OK_FOR_BASE_P,REGNO_OK_FOR_INDEX_P,
3482 REG_OK_FOR_BASE, REG_OK_FOR_INDEX): Consider blink(r31) as a valid
3483 base and index register for loads.
3485 * config/arc/t-arc: Fix multilib handling.
3487 2004-10-20 Hans-Peter Nilsson <hp@bitrange.com>
3489 * cfgrtl.c (rtl_verify_flow_info_1): When checking insns in a bb,
3490 don't inspect BLOCK_FOR_INSN for barriers.
3491 * emit-rtl.c (emit_barrier_before): Revert last change.
3492 (emit_barrier_after, emit_barrier): Ditto.
3494 * doc/extend.texi (Extended Asm): Warn and provide example
3495 solution for using a call-clobbered asm register.
3496 (Local Reg Vars): Similar. Cross-reference example.
3498 2004-10-19 Andrew Pinski <pinskia@physics.uc.edu>
3500 * tree-cfg.c (group_case_labels): Look at the second to last