1 2004-11-16 Zack Weinberg <zack@codesourcery.com>
3 * mkmap-flat.awk, mkmap-symver.awk: If the last version
4 assigned to a symbol was '%exclude', do not emit it anywhere.
5 If leading_underscore is true, prefix all symbols from the
6 version scripts with a leading underscore before comparing
7 them with nm output or emitting them. Remove support for dot
9 * config/t-slibgcc-darwin (SHLIB_LINK): Use mkmap-flat.awk.
10 (SHLIB_MAPFILES): Use libgcc-std.ver.
11 (SHLIB_MKMAP_OPTS): Enable leading-underscore mode.
12 (SHLIB_LINK): Add -Wl,-exported_symbols_list,$(SHLIB_MAP).
13 * config/sh/t-linux: Use the normal libgcc-std.ver, plus
14 libgcc-excl.ver and libgcc-glibc.ver.
16 * config/sh/libgcc-excl.ver: New file.
17 * config/sh/libgcc-std.ver, libgcc-darwin.ver: Delete.
19 2004-11-16 Daniel Berlin <dberlin@dberlin.org>
21 * lambda-code.c (lambda_loopnest_to_gcc_loopnest): Swap
22 the test when the edge has the opposite meaning, not when
23 the first argument is invariant.
25 2004-11-16 Aldy Hernandez <aldyh@redhat.com>
27 * config/rs6000/rs6000.c (rs6000_override_options): Split e500v2
29 (rs6000_complex_function_value): Handle e500 v2 variant.
31 2004-11-16 Daniel Berlin <dberlin@dberlin.org>
33 Fix PR tree-optimization/18519
35 * tree-optimize (execute_todo): Add case for TODO_cleanup_cfg.
36 * tree-pass.h: Add TODO_cleanup_cfg.
37 * tree-ssa-ccp.c (pass_ccp): Use TODO_cleanup_cfg.
38 (ccp_finalize): Remove call to cleanup_cfg.
39 * tree-ssa-dce.c (pass_dce): Use TODO_cleanup_cfg and TODO_dump_func.
41 (perform_tree_ssa_dce): Remove call to cleanup_cfg,
42 dump_function_to_file.
43 * tree-ssa-loop-ch.c (copy_loop_headers): Remove call
45 (pass_ch): Add TODO_cleanup_cfg.
46 * tree-ssa-loop.c (tree_ssa_loop_done): Remove call to
48 (pass_loop_done): Add TODO_cleanup_cfg.
49 * tree-ssa-phiopt.c (pass_phiopt): Ditto.
50 (tree_ssa_phiopt): Remove call to cleanup_cfg.
52 2004-11-16 Devang Patel <dpatel@apple.com>
54 * optabs.c (vector_compare_rtx): Fix COMPARISON_CLASS_P use.
56 2004-11-16 Kazu Hirata <kazu@cs.umass.edu>
58 * expmed.c, ra-colorize.c: Fix comment typos.
60 * doc/tm.texi: Fix typos.
62 2004-11-16 Daniel Jacobowitz <dan@codesourcery.com>
63 Mark Mitchell <mark@codesourcery.com>
66 * config/sol2.h (TARGET_OS_CPP_BUILTINS): Define __PIC__ and
69 2004-11-16 Ulrich Weigand <uweigand@de.ibm.com>
71 * regmove.c (regmove_optimize): Use lowpart_subreg instead of
72 gen_rtx_SUBREG with incorrect offset to compute SRC_SUBREG.
74 2004-11-16 Devang Patel <dpatel@apple.com>
76 * tree-if-conv.c (clean_predicate_lists): Update gcc_assert check.
78 2004-11-16 Eric Christopher <echristo@redhat.com>
80 * config/mips/mips.c: Use rtl _P predicates.
81 * config/mips/mips.h: Ditto.
82 * config/mips/mips.md: Ditto.
84 2004-11-16 Fariborz Jahanian <fjahanian@apple.com>
86 * config/rs6000/altivec.md (altivec_vandc): Canonicalize
89 2004-11-16 Andreas Krebbel <krebbel1@de.ibm.com>
91 * config/s390/s390.c (s390_cc_modes_compatible): New function.
92 (TARGET_CC_MODES_COMPATIBLE): Target macro defined.
94 2004-11-16 Kaz Kojima <kkojima@gcc.gnu.org>
97 * config/sh/sh.c (prepare_move_operands): Emit blockage insns
98 before and after the insns for getting GOT address in non-PIC
99 TLS_MODEL_INITIAL_EXEC tls sequence when the first scheduling
102 2004-11-16 Andreas Krebbel <krebbel1@de.ibm.com>
104 * gcc/cse.c (struct change_cc_mode_args): New structure.
105 (cse_change_cc_mode_insn): New function.
106 (cse_change_cc_mode): Use validate_change to perfom changes.
107 (cse_change_cc_mode_insns, cse_condition_code_reg):
108 Call cse_change_cc_mode_insn.
110 2004-11-16 Steven Bosscher <stevenb@suse.de>
114 2004-11-16 Steven Bosscher <stevenb@suse.de>
116 * config/i386/i386.c (x86_schedule): Fix typo, m_K6 intead of m_K8.
118 2004-11-15 Dale Johannesen <dalej@apple.com>
120 * tree-flow.h (add_referenced_temp_var): Remove name from prototype.
122 2004-11-15 Dale Johannesen <dalej@apple.com>
124 * profile.c (compute_branch_probabilities): Prevent
125 crash with EH in RTL-based profiling.
127 2004-11-16 Kazu Hirata <kazu@cs.umass.edu>
129 * tree-cfg.c (verify_expr): Replace TREE_OPERAND with
131 * tree-if-conv.c (tree_if_convert_cond_expr): Likewise.
132 * tree-ssa-dom.c (thread_across_edge): Likewise.
133 * tree-vectorizer.c (vect_transform_loop_bound): Replace
134 TREE_OPERAND with COND_EXPR_COND, COND_EXPR_THEN, or
137 * tree-cfg.c (bsi_commit_edge_inserts): Remove an argument.
138 (tree_flow_call_edges_add): Update the call to
139 bsi_commit_edge_inserts.
140 * lambda-code.c (lambda_loopnest_to_gcc_loopnest): Likewise.
141 * profile.c (branch_prob): Likewise.
142 * tree-mudflap.c (mf_decl_cache_locals): Likewise.
143 * tree-sra.c (scalarize_function): Likewise.
144 * tree-ssa-loop-im.c (loop_commit_inserts): Likewise.
145 * tree-ssa-pre.c (fini_pre): Likewise.
146 * tree-flow.h: Update the prototype for
147 bsi_commit_edge_inserts.
149 2004-11-15 Eric Christopher <echristo@redhat.com>
151 * sched-deps.c (set_sched_group_p): Delete.
152 (delete_all_dependencies): New function.
153 (fixup_sched_groups): Use. New function.
154 (sched_analyze_insn): Use.
156 2004-11-15 Joseph S. Myers <joseph@codesourcery.com>
158 * c-common.c (binary_op_error): Don't allow LROTATE_EXPR,
159 RROTATE_EXPR or unknown code.
160 * c-typeck.c (build_binary_op): Don't allow RROTATE_EXPR,
161 LROTATE_EXPR, MAX_EXPR, MIN_EXPR, UNORDERED_EXPR, ORDERED_EXPR,
162 UNLT_EXPR, UNLE_EXPR, UNGT_EXPR, UNGE_EXPR, UNEQ_EXPR, LTGT_EXPR
165 2004-11-15 Joseph S. Myers <joseph@codesourcery.com>
168 * c-decl.c (grokdeclarator): Call check_bitfield_type_and_width
169 after processing the declarator.
171 2004-11-15 Aldy Hernandez <aldyh@redhat.com>
173 * config/rs6000/altivec.md ("altivec_vsplth"): Rewrite with
175 (altivec_vspltb): Same.
176 (altivec_vspltw): Same.
177 (altivec_vspltisb): Same.
178 (altivec_vspltish): Same.
179 (altivec_vspltisw): Same.
180 (altivec_vspltisw_v4sf): Same.
181 (define_constants): Remove UNSPEC_VSPLTISB, UNSPEC_VSPLTISW,
183 Move "End of vector xor's" comment to the right place.
185 2004-11-15 Steve Ellcey <sje@cup.hp.com>
187 * config/ia64/ia64.md (*movtf_internal): Use destination_operand
188 instead of nonimmediate_operand.
190 2004-11-15 Mark Mitchell <mark@codesourcery.com>
192 * config/i386/sol2.h (ASM_OUTPUT_CALL): Use print_operand.
193 * config/sparc/sol2.h (ASM_OUTPUT_CALL): Likewise.
194 * config/sol2.c (solaris_output_init_fini): Update calls to
195 ASM_OUTPUT_CALL. Include "rtl.h".
197 2004-11-15 Mark Mitchell <mark@codesourcery.com>
199 * config/sol2-c.c (cmn_err_char_table): Add "p".
201 2004-11-15 Mark Mitchell <mark@codesourcery.com>
203 * config/sparc/sol2.h (SUPPORTS_INIT_PRIORITY): Remove.
204 * config/sol2.h (SUPPORTS_INIT_PRIORITY): Define here.
206 2004-11-15 Mark Mitchell <mark@codesourcery.com>
208 * config/t-slibgcc-sld (SHLIB_LINK): Make symlinks entirely
209 within the multilib directory.
211 2004-11-15 Nick Clifton <nickc@redhat.com>
213 * config/stormy16/stormy16.h (TARGET_CPU_CPP_BUILTINS): Add
214 builtin assert of cpu=xstormy16.
216 2004-11-15 Nathan Sidwell <nathan@codesourcery.com>
218 * tree-ssa-pre.c (bitmap_print_value_set): Fix uninitialized
221 2004-11-14 Richard Henderson <rth@redhat.com>
224 * calls.c (struct arg_data): Add parallel_value.
225 (precompute_register_parameters): Set it.
226 (load_register_parameters): Use it.
227 (store_one_arg): Also set it here.
229 2004-11-14 Zdenek Dvorak <dvorakz@suse.cz>
231 PR tree-optimization/18431
232 * fold-const.c (associate_trees): Do not produce x + 0.
233 (fold_widened_comparison, fold_sign_changed_comparison): New functions.
235 * tree-ssa-loop-niter.c (upper_bound_in_type, lower_bound_in_type):
237 * tree.c (upper_bound_in_type, lower_bound_in_type): Here.
238 * tree.h (upper_bound_in_type, lower_bound_in_type): Declare.
240 2004-11-14 Eric Botcazou <ebotcazou@libertysurf.fr>
242 * doc/rtl.texi (SUBREG): Adjust BYTENUM value in example.
244 2004-11-14 Kazu Hirata <kazu@cs.umass.edu>
246 * cfgrtl.c, global.c, tree-ssa-copy.c, tree-ssa-loop-ivopts.c,
247 value-prof.c: Fix comment typos.
249 2004-11-14 Stan Shebs <shebs@apple.com>
251 Basic ABI changes for passing structs by value in 64-bit Darwin.
252 * config/rs6000/rs6000.c (rs6000_darwin64_abi): New flag.
253 (rs6000_override_options): Set it for 64-bit Darwin.
254 (rs6000_parse_abi_options): Add testing options to change it.
255 (rs6000_return_in_memory): Test whether the type is one
256 that can be passed in registers.
257 (darwin64_function_arg_advance): New.
258 (function_arg_advance): Call it, plus add recursion depth
259 argument and test when counting off arguments.
260 (rs6000_darwin64_function_arg): New.
261 (function_arg): Call it.
262 (setup_incoming_varargs): Add argument to function_arg_advance.
263 (rs6000_darwin64_function_value): New.
264 (rs6000_function_value): Call it.
265 * config/rs6000/rs6000.h (FUNCTION_ARG_ADVANCE): Pass depth arg.
266 * config/rs6000/rs6000-protos.h: Update decl of
267 function_arg_advance.
269 2004-11-14 Andrew Pinski <pinskia@physics.uc.edu>
272 * c-common.c (c_common_nodes_and_builtins): Ask the back-end if we
273 support TImode before adding __int128_t and __uint128_t types.
275 2004-11-14 Dorit Naishlos <dorit@il.ibm.com>
278 * tree-vectorizer.c (make_loop_iterate_ntimes): Set loop->nb_iterations.
279 (vect_transform_loop_bound): Set loop->nb_iterations.
281 2004-11-14 Dorit Naishlos <dorit@il.ibm.com>
282 Andrew Pinski <pinskia@physics.uc.edu>
285 * tree-vectorize.c (vect_build_loop_niters): Do not insert
286 NULL into the instruction stream. Initialize new_bb to NULL.
287 (vect_update_ivs_after_vectorizer): Likewise.
288 (vect_gen_niters_for_prolog_loop): Likewise.
290 2004-11-14 Zdenek Dvorak <dvorakz@suse.cz>
292 PR tree-optimization/18431
293 * tree-flow.h (stmt_references_memory_p): Declare.
294 * tree-ssa-loop-im.c (stmt_cost): Use stmt_references_memory_p.
295 * tree-ssa.c (stmt_references_memory_p): New function.
297 2004-11-14 Andreas Schwab <schwab@suse.de>
299 * Makefile.in (lambda-code.o, tree-loop-linear.o): Depend on
302 2004-11-14 Kazu Hirata <kazu@cs.umass.edu>
304 * c-common.c (walk_stmt_tree): Remove.
305 * c-common.h: Remove the corresponding prototype.
307 * emit-rtl.c (push_to_full_sequence): Remove.
308 * rtl.h: Remove the corresponding prototype.
310 * cselib.c, expr.c: Fix comment typos.
312 2004-11-13 Richard Henderson <rth@redhat.com>
314 * calls.c (precompute_register_parameters): Force all PARALLELs
315 into pseudo registers.
316 (load_register_parameters): Copy PARALLELs into hard registers.
317 * function.c (assign_parm_setup_block): Copy PARALLELS into
318 pseudo registers. Do emit_group_store in conversion_insns.
319 * expr.c (emit_group_load_1): Rename from emit_group_load, take
320 tmps as an argument. Move final copy loop ...
321 (emit_group_load): ... here. New function.
322 (emit_group_load_into_temps, emit_group_move_into_temps): New.
323 * expr.h: Declare them.
325 2004-11-14 Kazu Hirata <kazu@cs.umass.edu>
327 * tree-cfg.c, tree-if-conv.c, tree-ssa-loop-ivopts.c,
328 tree-ssa-loop-manip.c, tree-vectorizer.c: Replace TREE_CHAIN
329 with PHI_CHAIN where appropriate.
331 2004-11-13 Dale Johannesen <dalej@apple.com>
333 * tree-flow.h (bsi_commit_one_edge_insert): Remove name from prototype.
334 (tree_block_label): Ditto.
335 (flush_pending_stmts): Ditto.
336 (insert_edge_copies): Ditto.
337 (expr_invariant_in_loop_p): Ditto.
338 (TDF_USE_OPS): Parenthesize definition.
339 (TDF_USE_VOPS): Ditto.
341 2004-11-13 David Edelsohn <edelsohn@gnu.org>
343 * config/rs6000/aix51.h (ASM_CPU_SPEC): Add 970 and G5.
344 * config/rs6000/aix52.h (ASM_CPU_SPEC): Same.
346 * config/rs6000/t-aix52 (BOOT_LDFLAGS): Define.
348 2004-11-14 Joseph Myers <joseph@codesourcery.com>
350 * config/i386/i386.c (override_options): Move loop to set default
351 tuning to correct place.
353 2004-11-13 Zak Kipling <zak@transversal.com>
356 * config/i386/i386.c (classify_argument): Fix infinite loop when
357 passing object with 3 or more base classes by value.
359 2004-11-13 Eric Botcazou <ebotcazou@libertysurf.fr>
361 * doc/md.texi (constraints) <% modifier>: Mention that it is
362 useless when the two alternatives are strictly identical.
364 2004-11-13 Richard Henderson <rth@redhat.com>
366 * expmed.c (extract_split_bit_field): Temporarily disable call to
367 extract_force_align_mem_bit_field.
369 2004-11-13 Kazu Hirata <kazu@cs.umass.edu>
371 * bitmap.c, bitmap.h, expmed.c, tree-cfg.c: Fix comment
374 * c-cppbuiltin.c, cgraph.c, domwalk.h, except.c, gimplify.c,
375 lambda-code.c, postreload.c, predict.c, tree-sra.c,
376 tree-ssa-loop-manip.c, tree.c: Fix comment typos.
378 2004-11-13 Kelley Cook <kcook@gcc.gnu.org>
380 * doc/install.texi (automake): Correctly document that everything now
381 will use automake 1.9.3.
383 2004-11-13 Hans-Peter Nilsson <hp@bitrange.com>
386 * config/mmix/mmix.c (mmix_function_outgoing_value): Handle
387 TImode. Sorry for other non-complex larger-than-64-bit modes.
388 * config/mmix/mmix.h (MIN_UNITS_PER_WORD): Do not define.
390 2004-11-13 Kelley Cook <kcook@gcc.gnu.org>
392 * doc/install.texi (automake): Document that everything now uses 1.9.
394 2004-11-13 Bernd Schmidt <bernd.schmidt@analog.com>
396 * cse.c (cse_insn): Stores in a libcall sequence can invalidate
399 2004-11-13 Kazu Hirata <kazu@cs.umass.edu>
401 * tree.h: Fix comment typos.
403 2004-11-13 Steven Bosscher <stevenb@suse.de>
405 * cse.c (CHEAP_REGNO): Redefine using REGNO_PTR_FRAME_P and
408 * cselib.c (new_cselib_val): Make comment correct and more detailed.
409 * flow.c (mark_set_1): Likewise.
411 * except.c (duplicate_eh_region_1, duplicate_eh_region_2,
412 duplicate_eh_regions): Remove.
413 * except.h (duplicate_eh_regions): Remove prototype.
414 * integrate.c (get_label_from_map, copy_rtx_and_substitute,
415 global_const_equiv_varray): Remove.
416 * integrate.h (get_label_from_map, copy_rtx_and_substitute,
417 global_const_equiv_varray, set_label_in_map): Remove prototypes,
418 extern declaration, and #define.
419 (MAYBE_EXTEND_CONST_EQUIV_VARRAY, SET_CONST_EQUIV_DATA): Remove.
420 (struct inline_remap): Remove.
421 * varray.c (struct element): Remove entry for const_equiv_data.
422 * varray.h (struct const_equiv_data): Remove.
423 (enum varray_data_enum) <VARRAY_DATA_CONST_EQUIV>: Remove.
424 (union varray_data_tag) <const_equiv>: Remove.
425 (VARRAY_CONST_EQUIV_INIT, VARRAY_CONST_EQUIV,
426 VARRAY_PUSH_CONST_EQUIV, VARRAY_TOP_CONST_EQUIV): Remove.
428 * regstack.c (record_label_references): Remove unused function.
430 * rtl.def (VALUE): Update comment.
431 (LABEL_REF): Remove unused operand 2.
432 * rtl.h (struct rtx_def): Update for removed accessor macros.
433 (XCADVFLAGS, INSN_DEAD_CODE_P, LINE_NUMBER, CONTAINING_INSN,
434 REG_LOOP_TEST_P): Remove.
435 (ADDR_DIFF_VEC_FLAGS, CSELIB_VAL_PTR, LABEL_NEXTREF): Add comments.
436 * web.c (entry_register): Don't copy REG_LOOP_TEST_P.
437 * doc/rtl.texi (INSN_DEAD_CODE_P, REG_LOOP_TEST_P): Remove.
439 2004-11-13 James A. Morrison <phython@gcc.gnu.org>
440 Eric Botcazou <ebotcazou@libertysurf.fr>
443 * config/sparc/sparc.c (sparc_rtx_costs): Handle the NAND vector
445 * config/sparc/sparc.md (V64I): New macro for 64-bit modes.
446 (V32I): New macro for 32-bit modes.
447 (anddi3, anddi_sp32, anddi_sp64, and_not_di_sp32, and_not_di_sp64,
448 iordi3, iordi3_sp32, iordi_sp64, or_not_di_sp32, or_not_di_sp64,
449 xordi3, xordi3_sp32, xordi3_sp64, {AND, IOR, XOR} DI splitter,
450 xor_not_di_sp32, xordi_not_di_sp64, one_cmpldi2, one_cmpldi_sp32,
451 one_cmpldi_sp64): Use V64I instead of DI.
452 (andsi3, andsi_sp32, andsi_sp64, and_not_si, iorsi3, or_not_si,
453 xorsi3, xor_not_si, one_cmplsi2): Use V32I instead of SI.
454 (addv2si3, addv4hi3, addv2hi3): Remove % modifier.
455 (nandv64i_vis, nandv32i_vis): New patterns.
457 2004-11-12 Mike Stump <mrs@apple.com>
459 * Makefile.in: Add html support.
460 * java/Make-lang.in: Likewise.
461 * fortran/Make-lang.in: Likewise.
462 * treelang/Make-lang.in: Likewise.
463 * doc/install.texi: Likewise.
464 * doc/makefile.texi: Likewise.
465 * doc/sourcebuild.texi: Likewise.
467 2004-11-13 Kazu Hirata <kazu@cs.umass.edu>
469 * tree-ssa-loop-manip.c: Fix a comment typo.
471 2004-11-12 Mike Stump <mrs@apple.com>
473 * doc/cppinternals.texi (Index): Fix html generation with makeinfo by
474 renaming this node to Concept Index.
475 * doc/gccint.texi (Index): Likewise. Also minor formatting tweaks
476 to more closely match gcc.texi.
478 2004-11-12 Jeff Law <law@redhat.com>
480 * tree-cfg.c (hashtab.h): Include.
481 (struct edge_to_case_leader_elt): New structure.
482 (edge_to_case_leader): New.
483 (edge_to_case_leader_hash): New hashtable hasing function.
484 (edge_to_case_leader_eq): New hashtable equality function.
485 (record_switch_edge): New function.
486 (get_case_leader_for_edge, get_case_leader_for_edge): New functions.
487 (make_switch_expr_edges): Build the edge-to-case-leader
488 hash table. Tear down the hash table when we're done.
489 (cleanup_dead_labels): Use CASE_LEADER_OR_LABEL instead of
491 (tree_node_can_be_shared): Allow sharing of CASE_LABEL_EXPR nodes.
492 (tree_redirect_edge_and_branch, case SWITCH_EXPR): Update
493 to use new concept of case leaders to reduce overhead of
494 redirecting outgoing edges from switch statements.
495 * tree.c (get_case_label): New function.
496 * tree.h (CASE_LABEL): Define in terms of get_case_label.
497 (CASE_LEADER_OR_LABEL): Define.
499 2004-11-12 Ziemowit Laski <zlaski@apple.com>
501 * varasm.c (output_addressed_constants): For CONST_DECLs,
502 output the initializer if present.
504 2004-11-12 Ziemowit Laski <zlaski@apple.com>
506 * config/rs6000/darwin.h: Fix confusing typo in comment.
508 2004-11-12 Devang Patel <dpatel@apple.com>
510 * optabs.c (vector_compare_rtx): Use COMPARISON_CLASS_P.
512 2004-11-12 Devang Patel <dpatel@apple.com>
514 * tree-if-conv.c (clean_predicate_lists): Use loop header
517 2004-11-12 Richard Henderson <rth@redhat.com>
520 * config/i386/i386.h (TARGET_96_ROUND_53_LONG_DOUBLE): New.
521 * config/i386/freebsd.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
522 (TARGET_96_ROUND_53_LONG_DOUBLE): New.
523 * config/i386/i386-modes.def (XF): Use it.
525 2004-11-11 Geoffrey Keating <geoffk@apple.com>
527 * Makefile.in (macro_list): Use move-if-change to avoid spurious
530 2004-11-12 Mark Mitchell <mark@codesourcery.com>
533 * passes.c (rest_of_decl_compilation): Do not look at DECL_RTL
534 when deciding whether to pass a variable to
535 cgraph_varpool_finalize_decl or assemble_variable.
536 * toplev.c (check_global_declarations): Do not clear DECL_RTL.
538 2004-11-12 Kazu Hirata <kazu@cs.umass.edu>
540 * tree-vectorizer.c: Fix a comment typo.
542 2004-11-12 Bernd Schmidt <bernd.schmidt@analog.com>
544 * genconfig.c (walk_insn_part): Look at match_dups inside a label_ref.
546 2004-11-12 Diego Novillo <dnovillo@redhat.com>
548 * tree-scalar-evolution.c (analyzable_condition): Remove
549 superfluous TREE_THIS_VOLATILE checks on SSA_NAMEs.
551 2004-11-12 Ralf Corsepius <ralf.corsepius@rtems.org>
553 * config/rs6000/t-rtems (MULTILIB_NEW_EXCEPTIONS_ONLY):
554 Remove m505/roe multilib variant.
556 2004-11-12 Eric Botcazou <ebotcazou@libertysurf.fr>
558 * expr.c (emit_group_load) <CONCAT>: Use extract_bit_field
559 to load from the stack.
561 2004-11-12 Richard Henderson <rth@redhat.com>
563 * toplev.c (floor_log2): Rename from floor_log2_wide, use CLZ_HWI.
564 (exact_log2): Rename from exact_log2_wide, use CTZ_HWI.
565 * toplev.h (FL2T__): Remove.
566 (CLZ_HWI): Rename from FL2T_CLZ__.
568 (floor_log2): Simplify.
571 2004-11-12 Sebastian Pop <pop@cri.ensmp.fr>
573 * tree-data-ref.c (analyze_subscript_affine_affine): Correctly
574 compute the first overlapping iterations.
576 2004-11-12 Sebastian Pop <pop@cri.ensmp.fr>
579 * tree-data-ref.c (estimate_niter_from_size_of_data): Ensure
580 that arguments of EXACT_DIV_EXPR are INTEGER_CST.
582 2004-11-12 Steven Bosscher <stevenb@suse.de>
584 PR tree-optimization/18419
585 * tree-ssa.c (walk_use_def_chains_1): Make the visited map a
586 pointer set instead of a bitmap.
587 (walk_use_def_chains): Create, pass and clean up that pointer_set.
589 * tree-ssa-alias.c (struct alias_info): Make the ssa_names_visited
591 (init_alias_info): Allocate and zero it here.
592 (delete_alias_info): Delete it here.
593 (collect_points_to_info_for): Use it.
595 2004-11-11 Kazu Hirata <kazu@cs.umass.edu>
597 * alias.c (record_alias_subset, addr_side_effect_eval):
599 * alias.h: Remove the prototype for record_alias_subset.
600 * expr.h: Remove the commented-out prototype for
602 * rtl.h: Remove the prototype for addr_side_effect_eval.
604 * cfglayout.c (choose_inner_scope): Make it static.
605 * rtl.h: Remove the corresponding prototype.
607 * cfgloopmanip.c (update_single_exits_after_duplication,
608 unloop): Make them static.
609 * cfgloop.h: Remove the corresponding prototypes.
611 * c-typeck.c (c_size_in_bytes, record_maybe_used_decl):
613 * c-tree.h: Remove the corresponding prototypes.
615 * explow.c (round_push): Make it static.
616 * expr.h: Remove the corresponding prototype.
618 * varasm.c (get_named_section_flags, decl_tls_model): Make
620 * output.h: Remove the prototype for get_named_section_flags.
621 * tree.h: Remove the prototype for decl_tls_model.
623 2004-11-11 Kazu Hirata <kazu@cs.umass.edu>
625 * function.c (expand_function_end): Remove an "if" statement
626 that always triggers.
627 * stmt.c (expand_null_return_1): Likewise.
629 2004-11-11 James E. Wilson <wilson@specifixinc.com>
631 * config/ia64/ia64.h (HARD_REGNO_NREGS): Handle XCmode.
632 (HARD_REGNO_MODE_OK, MODES_TIEABLE_P, SECONDARY_MEMORY_NEEDED,
633 CLASS_MAX_NREGS): Likewise.
635 2004-11-11 Zdenek Dvorak <dvorakz@suse.cz>
637 PR tree-optimization/17742
638 * tree-scalar-evolution.c (follow_ssa_edge_in_rhs): Handle
639 MINUS_EXPR correctly.
641 2004-11-11 Sebastian Pop <pop@cri.ensmp.fr>
643 * tree-scalar-evolution.c (follow_ssa_edge_in_condition_phi):
644 Give up as soon as the evolution is known not computable.
646 2004-11-11 Nathan Sidwell <nathan@codesourcery.com>
649 * config/rs6000/rs6000.c (mask64_2_operand): Stub to call
651 (mask64_1or2_operand): Broken out of mask64_2_operand, add flag
652 to spot rlwinm opportunities.
653 (and64_2_operand): Use mask_1or2_operand.
654 * config/rs6000/rs6000.md (anddi3): Use rlwinm when possible.
656 2004-11-11 Dorit Naishlos <dorit@il.ibm.com>
658 * tree-vectorizer.c (update_phi_nodes_for_guard): Call reverse_phis.
659 (vect_update_ivs_after_vectorizer): Update function documentation.
660 Avoid quadratic behavior and direct write to PHI_ARG_DEF.
662 2004-11-11 Kazu Hirata <kazu@cs.umass.edu>
664 * config/arm/arm.c: Fix a comment typo.
666 2004-11-11 Nathan Sidwell <nathan@codesourcery.com>
668 * bitmap.h (nBITMAP_WORD_BITS): Remove.
669 (BITMAP_WORD_BITS): Force unsigned by use of 1u.
670 (BITMAP_ELEMENT_WORDS, BITMAP_ELEMENT_ALL_BITS): Remove
672 (bitmap_first_set_bit): Return unsigned, use ctzl.
673 (bitmap_last_set_bit): Remove.
674 * bitmap.c (bitmap_element_zerop, bitmap_copy): Make iterator
676 (bitmap_first_set_bit): Return unsigned, require non-empty bitmap,
677 remove special case code for two word elements.
678 (bitmap_last_set_bit): Remove.
679 * ra-build.c (livethrough_conflicts_bb): Replace unnecessary use of
680 bitmap_first_set_bit with bitmap_empty_p.
681 * tree-outof-ssa.c (analyze_edges_for_bb): Likewise.
682 * tree-ssa-pre.c (bitmap_print_value): Use simple flag rather than
685 2004-11-11 Nathan Sidwell <nathan@codesourcery.com>
688 * config/rs6000/rs6000.md: Add DF & SF reg move peepholes.
691 * config/rs6000/rs6000.c (rs6000_generate_compare): Generate an
692 unsigned equality compare when we know the operands are unsigned.
694 2004-11-10 Peter S. Mazinger <ps.m@gmx.net>
696 * config/mips/linux.h (LINUX_TARGET_OS_CPP_BUILTINS): Define
697 __PIC__ and __pic__ only if TARGET_ABICALLS.
698 (SUBTARGET_CPP_SPECS): Don't define or undefine __PIC__ and __pic__.
699 (SUBTARGET_ASM_SPECS): Don't pass -non_shared to assembler; pass
700 -KPIC only if not -mno-abicalls.
702 * config/alpha/linux.h, config/arm/linux-elf.h, config/pa/pa-linux.h
703 * config/sparc/linux.h, config/sparc/linux64.h
704 (TARGET_OS_CPP_BUILTINS): Define __PIC__ and __pic__ if flag_pic.
706 * config/arm/linux-gas.h (CPP_SPEC): Don't define __PIC__ or __pic__.
707 * config/pa/pa/linux.h (CPP_SPEC): Likewise.
708 * config/sparc/linux.h (CPP_SUBTARGET_SPEC): Likewise.
709 * config/sparc/linux64.h (CPP_SUBTARGET_SPEC): Likewise.
711 2004-11-11 Paul Brook <paul@codesourcery.com>
713 * config/arm/arm.c (arm_compute_save_reg0_reg12_mask): Save PIC
714 register if current_function_uses_pic_offset_table is set.
716 2004-11-10 David Edelsohn <edelsohn@gnu.org>
718 * config/rs6000/rs6000.md (define_attr "type"): Add two and three.
719 Change multi-instruction sequences to new attribute.
720 * config/rs6000/{40x.md,440.md,603.md,6xx.md,
721 7450.md,7xx.md,8540.md,mpc.md,power4.md,power5.md,
722 rios1.md,rios2.md,rs64.md}: Add descriptions for two and three.
724 2004-11-10 Daniel Berlin <dberlin@dberlin.org>
726 * tree-data-ref.c (build_classic_dist_vector): If either loop
727 is outside of the nest we asked about, the dependence can't
729 (build_classic_dir_vector): Ditto.
731 2004-11-10 Zdenek Dvorak <dvorakz@suse.cz>
733 * tree-ssa-loop-ivopts.c (get_address_cost): Add address elements in
735 (force_var_cost): Determine cost of addition and multiplication more
737 (get_computation_cost_at): Add cost for computing address elements to
740 * fold-const.c (fold): Attempt to use ptr_difference_const whenever
741 one of the arguments of MINUS_EXPR is an address.
742 (split_address_to_core_and_offset): New function.
743 (ptr_difference_const): Handle case when one of the operands is a
745 * tree-ssa-loop-ivopts.c (determine_base_object): Fold &*addr.
746 (ptr_difference_cost): Pass addresses instead of objects to
747 ptr_difference_const.
749 2004-11-10 Nathan Sidwell <nathan@codesourcery.com>
751 * tree.c (tree_check_failed): Emit general error if the list of
754 2004-11-10 Eric Botcazou <ebotcazou@libertysurf.fr>
756 * config/sparc/sparc.c (function_arg_union_value): New 'slotno'
757 argument. When the union is passed in the 6th slot, build a
758 PARALLEL with only one element.
759 (function_arg): Adjust call to function_arg_union_value.
760 (function_value): Likewise.
762 2004-11-10 Fariborz Jahanian <fjahanian@apple.com>
764 PR tree-optimization/17892
765 * tree-ssa-dom.c (unsafe_associative_fp_binop): Add test for
768 2004-11-10 James A. Morrison <phython@gcc.gnu.org>
771 config/sparc/sparc.md (addsi3, subsi3): Set "fptype" attribute.
772 (addv2si, addv4hi, addv2hi, subv2si, subv4hi, subv2hi): New patterns.
774 2004-11-10 Steven Bosscher <stevenb@suse.de>
776 * basic-block.h (XMALLOC_REG_SET, XFREE_REG_SET): New.
777 (struct basic_block_def): Remove local_set and cond_local_set
778 fields. Update comment for global_live_at_start.
779 * flow.c (calculate_global_regs_live): Allocate local_sets and
780 cond_local_sets here as arrays of bitmaps previously stored in
781 bb->local_set and bb->cond_local_set. Use xmalloc instead of
782 obstack allocated bitmaps.
784 2004-11-09 H.J. Lu <hongjiu.lu@intel.com>
787 * config/ia64/unwind-ia64.h (_Unwind_FindTableEntry): Mark it
790 * unwind-dw2.c (_Unwind_FindTableEntry): Removed.
792 2004-11-09 Jeff Law <law@redhat.com>
794 * cfganal.c (flow_dfs_compute_reverse_execute): Accept new
795 argument holding last unvisited block. Start search for
796 unvisited blocks at LAST_UNVISITED rather than EXIT_BLOCK.
797 (connect_infinite_loops_to_exit): Supply last unvisited block
798 to flow_dfs_compute_reverse_execute.
800 2004-10-22 Aldy Hernandez <aldyh@redhat.com>
802 * config/rs6000/rs6000.md (fix_truncdfsi2): Handle e500
804 (floatunssidf2): Same.
806 ("extendsfdf2"): New expander.
807 (*extendsfdf2_fpr): Rename.
808 (*truncdfsf2_fpr): Same.
811 (*nabsdf2_fpr): Same.
817 * config/rs6000/spe.md ("spe_extendsfdf2"): Remove FIXME comment.
818 ("spe_fix_truncdfsi2"): Same.
819 (spe_floatunssidf2): Same.
820 (spe_floatsidf2): Same.
822 2004-11-09 Joseph S. Myers <joseph@codesourcery.com>
825 * c-common.c (fname_decl): Don't use line number of decl in
828 2004-11-09 Ulrich Weigand <uweigand@de.ibm.com>
830 * config/s390/s390-protos.h (s390_pool_operand): Remove.
831 * config/s390/s390.c (s390_pool_operand): Likewise.
832 (s390_extra_constraint_str): Handle 'B' constraints.
833 * config/s390/s390.h (CONSTRAINT_LEN): Handle 'B' constraints.
834 * config/s390/s390.md: Document 'B' constraints.
835 ("*cmpdi_cct", "*cmpsi_cct"): Use 'B' constraint instead of
836 s390_pool_operand to prevent insns with two literal pool
837 references. Make pattern commutative.
838 ("*cmpdi_ccu", "*cmpsi_ccu", "*cmphi_ccu", "*cmpqi_ccu"): Use
839 'B' constraint instead of s390_pool_operand.
841 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
843 * tree-cfg.c (create_bb): Remove unnecessary memset.
845 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
847 * tree-ssa-threadupdate.c (copy_phis_to_block): Remove.
848 (thread_block): Call flush_pending_stmt instead of
851 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
853 * loop-iv.c (iv_number_of_iterations): Make it static.
854 * cfgloop.h: Remove the corresponding prototype.
856 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
858 * function.c (combine_temp_slots, assign_parms,
859 expand_pending_sizes): Make them static.
860 * tree.h: Remove the corresponding prototypes.
862 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
864 * emit-rtl.c (copy_most_rtx): Remove.
865 * rtl.h: Remove the corresponding prototype.
867 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
869 * cfgloop.c (flow_loops_update): Remove.
870 * cfgloop.h: Remove the corresponding prototype.
872 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
874 * conflict.c (mark_reg, conflict_graph_compute): Remove.
875 * basic-block.h: Remove the prototype for
876 conflict_graph_compute.
878 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
880 * tree-if-conv.c (add_to_dst_predicate_list): Change the
881 second argument to basic_block.
882 (tree_if_convert_cond_expr): Update call sites.
884 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
886 * fold-const.c (pedantic_non_lvalue): Make it static.
887 * tree.h: Remove the corresponding prototype.
889 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
891 * optabs.c (prepare_operand): Make it static.
892 * optabs.h: Remove the corresponding prototype.
894 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
896 * reload1.c (reloads_conflict, gen_reload): Make them static.
897 * reload.h: Remove the corresponding prototypes.
899 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
901 * reload.c (refers_to_mem_for_reload_p,
902 refers_to_regno_for_reload_p): Make them static.
903 * reload.h: Remove the corresponding prototypes.
905 2004-11-09 James A. Morrison <phython@gcc.gnu.org>
906 Eric Botcazou <ebotcazou@libertysurf.fr>
909 * doc/md.texi (SPARC constraints): Document 'Y' constraint.
910 * config/sparc/sparc-modes.def: Add vector modes of 4 and 8 bytes.
911 * config/sparc/sparc.c (sparc_vector_mode_supported_p): New function.
912 (TARGET_VECTOR_MODE_SUPPORTED_P): Set to sparc_vector_mode_supported_p.
913 (fp_zero_operand): Accept MODE_VECTOR_INT modes.
914 (input_operand): Accept CONST_VECTOR with MODE_VECTOR_INT modes.
915 (sparc_cannot_force_const_mem): Return false for CONST_VECTOR.
916 (sparc_init_modes): Set sparc_mode_class to SF_MODE or DF_MODE for
917 MODE_VECTOR_INT modes.
918 (sparc_extra_constraint_check): Add new constraint 'Y'.
919 * config/sparc/sparc.h: Define UNITS_PER_SIMD_WORD to 8 for TARGET_VIS.
920 * config/sparc/sparc.md (V32): New mode macro for 32-bit modes.
921 (V64): New mode macro for 64-bit modes.
922 (movsf): Use V32 for mode instead of SF.
923 (movsf_insn_vis): Use V32 for mode instead of SF. Add 'Y' constraint
924 alongside 'G' constraint.
925 (movdf): Use V64 for mode instead of DF.
926 (movdf_insn_v9only_vis, modf_insn_sp64_vis): Use V64 for mode instead
927 of DF. Add 'Y' constraint alongside 'G' constraint.
928 (multi-isn and misaligned mems DFmode splitters): Use V64 for mode
931 2004-11-09 Ulrich Weigand <uweigand@de.ibm.com>
933 * config/s390/s390.c (s390_select_ccmode): Return CCAPmode for
935 * config/s390/s390.md ("*negdi2_64"): Fix op_type attribute.
936 ("*negdi2_31"): Reimplement using a splitter.
937 ("*negdi2_cc", "*negdi2_cconly"): New insns.
938 ("*negdi2_sign", "*negdi2_sign_cc"): Likewise.
939 ("*negsi2_cc", "*negsi2_cconly"): Likewise.
940 ("*negdf2_cc", "*negdf2_cconly"): Likewise.
941 ("*negsf2_cc", "*negsf2_cconly"): Likewise.
942 ("*absdi2_cc", "*absdi2_cconly"): New insns.
943 ("*absdi2_sign", "*absdi2_sign_cc"): Likewise.
944 ("*abssi2_cc", "*abssi2_cconly"): Likewise.
945 ("*absdf2_cc", "*absdf2_cconly"): Likewise.
946 ("*abssf2_cc", "*abssf2_cconly"): Likewise.
947 ("*negabsdi2_cc", "*negabsdi2_cconly"): New insns.
948 ("*negabsdi2_sign", "*negabsdi2_sign_cc"): Likewise.
949 ("*negabssi2_cc", "*negabssi2_cconly"): Likewise.
950 ("*negabsdf2_cc", "*negabsdf2_cconly"): Likewise.
951 ("*negabssf2_cc", "*negabssf2_cconly"): Likewise.
953 2004-11-09 Ulrich Weigand <uweigand@de.ibm.com>
955 * config/s390/s390.c (s390_canonicalize_comparison): Reverse condition
956 when eliminating an UNSPEC_CMPINT.
957 (s390_secondary_input_reload_class): Fix test for CC register reload.
958 (s390_secondary_output_reload_class): Likewise.
959 (s390_expand_cmpmem): Swap operands. Use gen_cmpint.
960 * config/s390/s390.md ("*cmpint_si", "*cmpint_di"): Remove.
961 ("cmpint", "*cmpint_cc", "*cmpint_sign", "*cmpint_sign_cc"): New
962 insn patterns with splitters.
964 2004-11-09 David Edelsohn <edelsohn@gnu.org>
966 * config/rs6000/rs6000.c (rs6000_rtx_costs): Add EQ, GTU, and LTU.
967 * config/rs6000/rs6000.md (sCC): Split GTU and LTU patterns.
969 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
971 * tree-phinodes.c (phi_reverse): New.
972 * tree-cfg.c (tree_make_forwarder_block, tree_duplicate_bb):
974 * tree-flow.h: Add a prototype for phi_reverse.
976 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
978 * tree-ssa-loop-ivopts.c: Fix a comment typo.
980 2004-11-09 James A. Morrison <phython@gcc.gnu.org>
983 * config/host-linux.c (TRY_EMPTY_VM_SPACE): Add __sparc__
986 2004-11-09 Joseph S. Myers <joseph@codesourcery.com>
988 * builtins.c, c-common.c, c-decl.c, c-format.c: Say "argument"
989 instead of "arg" in diagnostics.
991 2004-11-09 Joseph S. Myers <joseph@codesourcery.com>
993 * builtins.c, c-common.c, c-decl.c, c-format.c, c-format.h,
994 c-parse.in, c-pch.c, c-pragma.c, collect2.c, final.c, gcc.c,
995 gcov.c, opts.c, pretty-print.h, protoize.c, reg-stack.c, rtl.c,
996 tlink.c, config/alpha/alpha.c, config/arc/arc.c, config/arm/arm.c,
997 config/avr/avr.c, config/c4x/c4x.c, config/darwin.c,
998 config/frv/frv.c, config/h8300/h8300.c, config/i386/i386.c,
999 config/i386/winnt.c, config/ia64/ia64.c, config/ip2k/ip2k.c,
1000 config/iq2000/iq2000.c, config/m32r/m32r.c,
1001 config/m68hc11/m68hc11.c, config/m68k/m68k.c, config/m68k/m68k.h,
1002 config/mcore/mcore.c, config/mips/mips.c, config/mmix/mmix.c,
1003 config/ns32k/ns32k.c, config/rs6000/host-darwin.c,
1004 config/rs6000/rs6000.c, config/s390/s390.c, config/sh/sh.c,
1005 config/sh/symbian.c, config/stormy16/stormy16.c,
1006 config/v850/v850.c: Avoid "`" as left quote, using "'" or %q, %<
1007 and %> as appropriate. Use %' as apostrophe in diagnostics where
1008 applicable. Use %< and %> in place of '' quotes where applicable.
1009 Use %qs in place of %<%s%>. Consistently quote __builtin function
1012 2004-11-09 Hans-Peter Nilsson <hp@bitrange.com>
1014 * gdbinit.in (pbb, pbm): New macros.
1016 2004-11-08 Jeff Law <law@redhat.com>
1018 * cfg.c (redirect_edge_succ_nodup): Use find_edge rather than
1019 implementing it inline.
1021 * cfganal.c (find_edge): Search pred->succs or succ->preds,
1022 whichever is shorter.
1024 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
1026 * passes.c (rest_of_handle_jump): Remove dead code.
1028 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
1030 * tree-cfg.c (thread_jumps): Speed up by keeping a pointer to
1031 the last used element in the worklist.
1033 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
1035 * tree-inline.c (remap_save_expr): Make it static.
1036 * tree-inline.h: Remove the corresponding prototype.
1038 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
1040 * tree-ssa-loop-niter.c (upper_bound_in_type,
1041 lower_bound_in_type): Make them static.
1042 * tree.h: Remove the corresponding prototypes.
1044 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
1046 * tree-ssa-live.c (tpa_init, pop_best_coalesce): Make them
1048 * tree-ssa-live.h: Remove the corresponding prototypes.
1050 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
1052 * tree-if-conv.c (tree_if_conversion): Make it static.
1053 * tree-flow.h: Remove the corresponding prototype.
1055 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
1057 * tree-ssa-operands.c (build_ssa_operands): Make it static.
1058 * tree-flow.h: Remove the corresponding prototype.
1060 2004-11-08 Andrew Pinski <pinskia@physics.uc.edu>
1063 * tree-inline.c (copy_body_r): Change "t = t" to empty
1064 statement instead of "t".
1066 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
1068 * modulo-sched.c (create_partial_schedule,
1069 free_partial_schedule, reset_partial_schedule,
1070 ps_add_node_check_conflicts, rotate_partial_schedule): Make
1073 2004-11-08 Richard Henderson <rth@redhat.com>
1075 * expmed.c (extract_force_align_mem_bit_field): Correct handling at
1078 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
1080 * sched-deps.c (add_insn_mem_dependence): Make it static.
1081 * sched-int.h: Remove the corresponding prototypes.
1083 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
1085 * flow.c (allocate_bb_life_data): Make it static.
1086 * basic-block.h: Remove the corresponding prototype.
1088 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
1090 * calls.c (split_complex_values, split_complex_types): Make
1092 * expr.h: Remove the corresponding prototypes.
1094 2004-11-08 Richard Earnshaw <rearnsha@arm.com>
1096 * arm.c (arm_handle_notshared_attribute): Wrap declaration and use
1097 with #if TARGET_DLLIMPORT_DECL_ATTRIBUTES.
1099 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
1101 * tree-if-conv.c (tree_if_convert_cond_expr): Remove two "if"
1102 statements that always trigger.
1104 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
1106 * tree-cfg.c, tree-if-conv.c, tree-into-ssa.c,
1107 tree-scalar-evolution.c, tree-ssa-loop-im.c,
1108 tree-ssa-loop-ivopts.c, tree-ssa-loop-manip.c, tree-ssa.c,
1109 tree-vectorizer.c: Replace TREE_CHAIN with PHI_CHAIN where
1112 2004-11-08 Ben Elliston <bje@au.ibm.com>
1114 * cgraph.h (cgraph_calls_p): Remove.
1115 * cgraph.c (cgraph_calls_p): Likewise.
1117 * varray.h (varray_copy): Remove.
1118 * varray.c (varray_copy): Likewise.
1120 2004-11-07 Andrew Pinski <pinskia@physics.uc.edu>
1123 * config/darwin.c (machopic_indirect_data_reference):
1124 Call gen_macho_high and gen_macho_low instead of
1125 checking the mode and calling gen_macho_high_di directly.
1126 * config/rs6000/rs6000.c (rs6000_emit_move): Likewise.
1127 * config/rs6000/rs6000.md: Move most of TARGET_MACHO expand/insns
1129 (movdf_low, movsf_low, movsf_low_st, movsi_low, macho_correct_pic,
1130 load_macho_picbase, macho_low, macho_high): Removed.
1131 (builtin_setjmp_receiver): Call gen_macho_high and
1132 gen_macho_low instead of checking the mode and calling
1133 gen_macho_high_di directly.
1134 * config/rs6000/darwin.md (load_macho_picbase_di): Use the MD constant.
1135 (movdf_low_si, movsf_low_si, movsf_low_st_si, movsi_low_st):
1136 Moved from rs6000.md.
1137 (macho_high): New expander.
1138 (macho_high_si): Renamed version of macho_high from rs6000.md.
1139 (macho_low): New expander.
1140 (macho_low_si): Renamed version of macho_low from rs6000.md.
1141 (load_macho_picbase): New expander.
1142 (load_macho_picbase_si): Renamed version of load_macho_picbase
1144 (macho_correct_pic): New expander.
1145 (macho_correct_pic_si): Renamed version of macho_correct_pic
1148 2004-11-07 Joseph S. Myers <joseph@codesourcery.com>
1150 * c-decl.c (finish_struct): Use complete sentences for diagnostic
1151 for structures or unions with no members or named members.
1153 2004-11-07 Joseph S. Myers <joseph@codesourcery.com>
1155 * c-typeck.c (build_unary_op): Replace unreachable diagnostic for
1156 taking address of bit-field by assertion.
1158 2004-11-06 Ulrich Weigand <uweigand@de.ibm.com>
1160 * config/s390/s390.md (attribute "op_type"): Default to "NN".
1161 (attribute "atype"): Default to "agen".
1162 (attribute "length"): Default to 6.
1163 (define_asm_attibutes): Remove.
1164 ("movti", "*movdi_64", "*movdi_31", "*movsi_zarch", "*movsi_esa",
1165 "*movhi", "*movqi", "*movdf_64", "*movdf_31", "movsf",
1166 "*clc", "*mvc", "*nc", "*oc", "*xc", "*xc_zero"):
1167 Do not set type attribute to "cs" where already default.
1168 ("*cmpint_si", "*cmpint_di", "fix_truncdfsi2_ibm", "floatsidf2_ibm",
1170 Do not set type attribute to "other" where already default.
1171 ("movti", "*movdi_64", "*movdi_31", "*movdf_31",
1172 "*strlendi", "*strlensi",
1173 "*movmem_long_64", "*movmem_long_31",
1174 "*clrmem_long_64", "*clrmem_long_31",
1175 "*cmpmem_long_64", "*cmpmem_long_31",
1176 "*cmpint_si", "*cmpint_di",
1177 "addti3", "*adddi3_31z", "*adddi3_31",
1178 "subti3", "*subdi3_31z", "*subdi3_31", "*negdi2_31",
1179 "*sconddi", "*scondsi", "*sconddi_neg", "*scondsi_neg",
1180 "fix_truncdfsi2_ibm", "floatsidf2_ibm", "extendsfdf2_ibm",
1181 "*pool_entry", "pool_align", "pool_section_start",
1182 "pool_section_end", "main_pool", "reload_base_31", "pool"):
1183 Do not set op_type attribute to "NN" where already default.
1184 ("*extractqi", "*extracthi", "*zero_extendhisi2_31",
1185 "*zero_extendqisi2_31", "*zero_extendqihi2_31",
1186 "fix_truncdfsi2_ibm", "floatsidf2_ibm"):
1187 Do not set atype attribute to "agen" where already default.
1188 ("*movmem_short", "*clrmem_short", "*cmpmem_short"): Don't set op_type.
1190 2004-11-06 Richard Sandiford <rsandifo@redhat.com>
1192 * config/mips/t-iris6 (tp-bit.c): Fix target filename.
1194 2004-11-06 Richard Sandiford <rsandifo@redhat.com>
1197 * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Don't define the
1198 R3000 and R4000 macros on IRIX.
1200 2004-11-06 Andreas Schwab <schwab@suse.de>
1203 * config/rs6000/altivec.h: Replace bool by __bool and pixel by
1206 2004-11-06 Kazu Hirata <kazu@cs.umass.edu>
1208 * tree-ssa-copyrename.c (rename_ssa_copies): Make it static.
1210 2004-11-06 Ulrich Weigand <uweigand@de.ibm.com>
1212 * config/s390/2064.md ("z_int", "z_agen"): Ensure the condition
1213 matches no insns already matched by other reservations.
1214 * config/s390/2084.md ("x_int", "x_agen"): Ensure the condition
1215 matches no insns already matched by other reservations.
1216 ("x_ss"): Remove, replace by ...
1217 ("x_cs"): ... this new reservation. Check type instead of op_type.
1218 Update bypasses to use x_cs instead of x_ss.
1219 ("x_nn"): Remove, replace by ...
1220 ("x_other"): ... this new reservation. Check type instead of op_type.
1221 Add x_other and x_branch to bypasses.
1222 ("x_vs"): New reservation.
1223 * config/s390/s390.md (attribute "type"): Default according to op_type.
1224 ("*execute"): Set type to "cs".
1226 2004-11-06 Kazu Hirata <kazu@cs.umass.edu>
1228 * fold-const.c (non_lvalue): Don't construct NON_LVALUE_EXPR
1229 if we are in GIMPLE.
1231 2004-11-06 Hans-Peter Nilsson <hp@bitrange.com>
1233 PR rtl-optimization/17933
1234 * rtlanal.c (dead_or_set_regno_p): Break out common code to...
1235 (covers_regno_p): New function. Handle SETs of PARALLEL,
1236 and defer the rest to...
1237 (covers_regno_no_parallel_p): New function.
1239 2004-11-06 Eric Botcazou <ebotcazou@libertysurf.fr>
1241 * config/sparc/sparc.c (function_arg_record_value_1): Skip
1242 fields with zero length.
1243 (function_arg_record_value_2): Likewise.
1244 (function_arg_record_value_3): Use smallest_mode_for_size
1245 instead of mode_for_size.
1246 (function_arg_union_value): Return naked register for unions
1249 2004-11-06 Eric Botcazou <ebotcazou@libertysurf.fr>
1251 * config/sparc/sparc.c (scan_record_type): Handle vector types.
1252 (function_arg_slotno): Handle vector types specially.
1253 (function_arg_record_value_1): Split fields with vector type and
1254 BLKmode into their subparts.
1255 (function_arg_record_value_2): Likewise. Be prepared to handle
1256 more than 2 registers per field.
1257 (function_arg_union_value): Increment regno inside the loop.
1258 (function_arg_vector_value): New function.
1259 (function_arg): Use it to split fields with vector type and
1260 BLKmode into their subparts and build a PARALLEL. Treat
1261 other vector types like floats.
1262 (function_value): Likewise.
1263 (sparc_pass_by_reference): Handle vector types.
1264 (sparc_return_in_memory): Likewise.
1266 2004-11-06 Kazu Hirata <kazu@cs.umass.edu>
1268 * tree-cfg.c (find_taken_edge_cond_expr): Remove an "if"
1269 statement that never triggers.
1271 2004-11-06 Ulrich Weigand <uweigand@de.ibm.com>
1273 * config/s390/2064.md ("z_o2", "z_o3"): Remove.
1274 * config/s390/2084.md ("x_o2", "x_o3"): Remove.
1275 ("x_fdivd"): Use also for fsqrtd type.
1276 ("x_fdivs"): Use also for fsqrts type.
1277 * config/s390/s390.md (attribute "type"): Remove "o2" and "o3" types.
1278 ("fix_truncdfsi2_ieee"): Set type to "ftoi".
1279 ("fix_truncdfsi2_ibm"): Set type to "other".
1280 ("floatdidf2", "floatdisf2"): Do not clobber CC.
1281 ("floatsidf2", "floatsidf2_ieee"): Likewise.
1282 ("floatsisf2", "floatsisf2_ieee"): Likewise.
1283 ("truncdfsf2", "truncdfsf2_ieee"): Only allow "register_operand".
1284 ("truncdfsf2_ibm"): Only allow "nonimmediate_operand". Use LER
1286 ("extendsfdf2_ibm"): Do not set atype. Set type to "floads".
1287 ("sqrtdf2"): Set type to "fsqrtd".
1288 ("sqrtsf2"): Set type to "fsqrts".
1290 2004-11-06 Kazu Hirata <kazu@cs.umass.edu>
1292 * tree-phinodes.c (remove_all_phi_nodes_for): Speed up using a
1293 pointer to the last PHI node in the new PHI chain.
1295 2004-11-06 Kaz Kojima <kkojima@gcc.gnu.org>
1297 * config/sh/sh.c (prepare_move_operands): Emit a use of r12
1298 for non-PIC TLS_MODEL_INITIAL_EXEC case.
1300 2004-11-06 Kazu Hirata <kazu@cs.umass.edu>
1302 * expmed.c: Fix a comment typo.
1304 2004-11-06 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
1307 * config/i386/cygming.h
1308 [HAVE_GAS_WEAK] (ASM_WEAKEN_LABEL): Macro defined.
1310 2004-11-06 Kazu Hirata <kazu@cs.umass.edu>
1312 * config/sh/sh4a.md: Fix copyright.
1314 2004-11-06 Kazu Hirata <kazu@cs.umass.edu>
1316 * config/rs6000/darwin.md, config/sh/sh4a.md: Replace GNU CC
1319 2004-11-05 David Edelsohn <edelsohn@gnu.org>
1321 * config/rs6000/rs6000.md (scc patterns): Replace subfc with subf
1322 when carry not used. Suggested by Torbjorn Granlund.
1324 * config/rs6000/rs6000.c (rs6000_emit_move): Don't force_reg
1325 operand[1] unnecessarily. Suggested by Eric Christopher.
1326 (rs6000_adjust_cost): Increase latency of store to wider load.
1327 (rs6000_rtx_costs): mulli only allows 16-bit constants.
1329 2004-11-05 Stan Shebs <shebs@apple.com>
1331 * config/rs6000/rs6000.c (machopic_output_stub): Output
1332 ldu instead of lwzu for 64-bit stubs.
1334 2004-11-05 Richard Henderson <rth@redhat.com>
1336 * config/alpha/alpha.c (alpha_expand_unaligned_load): Special case
1338 (alpha_expand_unaligned_store): Likewise.
1340 2004-11-05 Richard Henderson <rth@redhat.com>
1342 * expmed.c (extract_force_align_mem_bit_field): New.
1343 (extract_split_bit_field): Call it.
1345 2004-11-05 Richard Henderson <rth@redhat.com>
1347 * ia64.md (UNSPEC_SHRP): New.
1348 (dshift_count_operand): New.
1349 (ashrti3, ashrti3_internal, lshrti3, lshrti3_internal, shrp): New.
1350 * ia64.c (rtx_needs_barrier): Handle UNSPEC_SHRP.
1352 2004-11-05 Joseph S. Myers <joseph@codesourcery.com>
1354 * c-typeck.c (output_init_element): Return early if value is
1357 2004-11-05 James E Wilson <wilson@specifixinc.com>
1359 * invoke.texi (-fno-guess-branch-probability): Rewrite.
1361 * config/ia64/ia64.c (rtx_needs_barrier, case UNSPEC_GR_SPILL): Change
1362 1 to UNSPEC_GR_SPILL.
1364 2004-11-05 Andreas Krebbel <krebbel1@de.ibm.com>
1366 * config/s390/s390.c (s390_fixed_condition_code_regs): New function.
1367 (TARGET_FIXED_CONDITION_CODE_REGS): Macro defined.
1369 2004-11-05 Nathan Sidwell <nathan@codesourcery.com>
1371 * bitmap.h (enum bitmap_bits): Remove.
1372 (bitmap_operation): Remove.
1373 (bitmap_and, bitmap_and_into, bitmap_and_compl,
1374 bitmap_and_compl_into, bitmap_ior, bitmap_ior_into, bitmap_xor,
1375 bitmap_xor_into): Prototype.
1376 * bitmap.c (bitmap_elt_insert_after, bitmap_elt_clear_from): New.
1377 (bitmap_operation): Remove.
1378 (bitmap_and, bitmap_and_into, bitmap_and_compl,
1379 bitmap_and_compl_into, bitmap_ior, bitmap_ior_into, bitmap_xor,
1380 bitmap_xor_into): New.
1381 (bitmap_ior_and_compl, bitmap_ior_and_compl_into): Adjust.
1383 PR tree-optimization/18307
1384 * tree-ssa-alias.c (merge_pointed_to_info): Protected against DEST
1385 and ORIG being the same node.
1387 2004-11-04 Geoffrey Keating <geoffk@apple.com>
1389 * Makefile.in (distclean): Don't delete nonexistent fixinc/ directory.
1390 (install-mkheaders): Install the version built for the
1391 host, not for the build machine.
1392 * configure.ac: Always run fixincludes.
1393 (all_outputs): Remove mkheaders.
1394 * configure: Regenerate.
1395 * fixinc.in: Move to fixincludes/.
1396 * mkfixinc.sh: Likewise.
1397 * mkheaders.in: Likewise.
1398 * README-fixinc: Likewise.
1400 2004-11-05 Ramana Radhakrishnan <ramana.radhakrishnan@codito.com>
1403 * config/arc/lib1funcs.asm (___umulsidi3): Change use of cmp to the
1404 equivalent on the A4.
1406 2004-11-05 Joseph S. Myers <joseph@codesourcery.com>
1408 * doc/c-tree.texi, doc/cfg.texi, doc/contrib.texi, doc/cpp.texi,
1409 doc/cppopts.texi, doc/extend.texi, doc/fragments.texi,
1410 doc/frontends.texi, doc/gcov.texi, doc/hostconfig.texi,
1411 doc/implement-c.texi, doc/install.texi, doc/invoke.texi,
1412 doc/libgcc.texi, doc/md.texi, doc/passes.texi,
1413 doc/portability.texi, doc/rtl.texi, doc/sourcebuild.texi,
1414 doc/standards.texi, doc/tm.texi, doc/tree-ssa.texi,
1415 doc/trouble.texi: Correct end-of-sentence markup and markup of
1416 "etc.", "e.g." and "i.e.". Use @code in various places where
1419 2004-11-05 Joseph S. Myers <joseph@codesourcery.com>
1421 * doc/c-tree.texi, doc/cfg.texi, doc/extend.texi, doc/gty.texi,
1422 doc/install.texi, doc/invoke.texi, doc/md.texi, doc/passes.texi,
1423 doc/rtl.texi, doc/tm.texi, doc/tree-ssa.texi: Remove trailing
1426 2004-11-04 Mark Mitchell <mark@codesourcery.com>
1428 * config/arm/arm.c (arm_handle_notshared_attribute): New function.
1429 * doc/extend.texi: Document "notshared" attribute.
1431 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
1433 * tree-phinodes.c (make_phi_node): Make it static.
1434 * tree.h: Remove the prototypes for make_phi_node.
1436 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
1438 * stmt.c (expand_asm, expand_asm_operands): Make them static.
1439 * tree.h: Remove the prototypes for expand_asm and
1440 expand_asm_operands.
1442 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
1444 * passes.c (rest_of_compilation): Make it static.
1445 * toplev.h: Remove the prototype for rest_of_compilation.
1447 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
1449 * jump.c (cleanup_barriers): Use delete_insn instead of
1451 (delete_barrier): Remove.
1452 * rtl.h: Remove the corresponding prototype.
1454 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
1456 * expr.c (mostly_zero_p): Make it static.
1457 * tree.h: Remove the prototype for mostly_zeros_p.
1459 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
1461 * cfgrtl.c (force_nonfallthru_and_redirect): Make it static.
1463 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
1465 * builtins.c (expand_builtin_return_addr,
1466 expand_builtin_longjmp, expand_builtin_trap): Make them static.
1467 * expr.h: Remove the prototypes for expand_builtin_longjmp and
1468 expand_builtin_trap.
1469 * tree.h: Remove the prototype for expand_builtin_return_addr.
1471 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
1473 * tree-cfg.c (find_taken_edge): Reject VAL begin NULL.
1474 * tree-ssa-ccp.c (visit_cond_stmt): Don't call find_taken_edge
1475 with VAL being NULL.
1477 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
1479 * cfghooks.c (delete_basic_block): Remove code to truncate
1482 2004-11-04 Andrew Pinski <pinskia@physics.uc.edu>
1484 * flow.c (init_propagate_block_info): Change the type of i to
1487 2004-11-04 Ulrich Weigand <uweigand@de.ibm.com>
1489 PR tree-optimization/18184
1490 * c-typeck.c (comptypes): Do not treat pointers of different
1491 modes or alias-all flags as equivalent.
1492 * tree-ssa.c (tree_ssa_useless_type_conversion_1): Likewise.
1494 2004-11-04 Joseph S. Myers <joseph@codesourcery.com>
1496 * doc/gty.texi, doc/makefile.texi, doc/sourcebuild.texi: Don't
1497 reference specific C parser files in examples.
1499 2004-11-04 Richard Sandiford <rsandifo@redhat.com>
1502 * regrename.c (scan_rtx): Treat the destinations of SETs and CLOBBERs
1503 as OP_INOUT if the instruction is predicated.
1505 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
1507 * bitmap.h: Fix a comment typo. Follow spelling conventions.
1508 * tree-vectorizer.c: Fix a comment typo.
1510 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
1512 * sdbout.c (SDB_GENERATE_FAKE): Remove.
1513 (gen_fake_label): Don't use SDB_GENERATE_FAKE.
1514 * system.h: Poison SDB_GENERATE_FAKE.
1515 * doc/tm.texi (SDB_GENERATE_FAKE): Remove.
1517 2004-11-04 Ulrich Weigand <uweigand@de.ibm.com>
1519 * config/s390/s390.md ("*addsi3_sign"): Use canonical RTL.
1521 2004-11-04 Eric Botcazou <ebotcazou@libertysurf.fr>
1524 * gthr-posix.h (__gthread_recursive_mutex_init_function): Revert
1527 2004-11-04 Nathan Sidwell <nathan@codesourcery.com>
1529 * predict.c (propagate_freq): Make bitno unsigned. Move
1530 npredecessors update out of loop.
1532 * bitmap.h (bitmap_iterator): Remove word_bit and bit
1533 fields. Rename others.
1534 (bmp_iter_common_next_1, bmp_iter_single_next_1,
1535 bmp_iter_single_init, bmp_iter_end_p, bmp_iter_single_next,
1536 bmp_iter_and_not_next_1, bmp_iter_and_not_init,
1537 bmp_iter_and_not_next, bmp_iter_and_next_1, bmp_iter_and_init,
1538 bmp_iter_and_next): Remove.
1539 (bmp_iter_set_init, bmp_iter_and_init, bmp_iter_and_compl_init,
1540 bmp_iter_next, bmp_iter_set, bmp_iter_and, bmp_iter_and_compl):
1542 (EXECUTE_IF_SET_IN_BITMAP, EXECUTE_IF_AND_IN_BITMAP,
1543 EXECUTE_IF_AND_COMPL_IN_BITMAP): Adjust.
1545 * bitmap.h (bitmap_a_or_b, bitmap_a_and_b): Remove.
1546 * df.c (dataflow_set_a_op_b): Use bitmap_and, bitmap_ior,
1547 bitmap_and_into, bitmap_ior_into as appropriate.
1548 * except.c (remove_eh_handler): Likewise.
1549 * global.c (modify_bb_reg_pav, make_accurate_live_analysis): Likewise.
1550 * tree-dfa.c (mark_new_vars_to_rename): Likewise.
1551 * tree-ssa-alias.c (merge_pointed_to_info): Likewise.
1552 * tree-ssa-live.h (live_merge_and_clear): Likewise.
1553 * tree-ssa-loop-ivopts.c (find_best_candidate, try_add_cand_for):
1556 * bitmap.c (bitmap_print): Make bitno unsigned.
1557 * bt-load.c (clear_btr_from_live_range,
1558 btr_def_live_range): Likewise.
1559 * caller-save.c (save_call_clobbered_regs): Likewise.
1560 * cfganal.c (compute_dominance_frontiers_1): Likewise.
1561 * cfgcleanup.c (thread_jump): Likewise.
1562 * cfgrtl.c (safe_insert_insn_on_edge): Likewise.
1563 * conflict.c (conflict_graph_compute): Likewise.
1564 * ddg.c (add_deps_for_use): Likewise.
1565 * df.c (df_refs_update): Likewise.
1566 * except.c (remove_eh_handler): Likewise.
1567 * flow.c (verify_local_live_at_start, update_life_info,
1568 initialize_uninitialized_subregs, propagate_one_insn,
1569 free_propagate_block_info, propagate_block, find_use_as_address,
1570 reg_set_to_hard_reg_set): Likewise.
1571 * gcse.c (clear_modify_mem_tables): Likewise.
1572 * global.c (global_conflicts, build_insn_chain): Likewise.
1573 * ifcvt.c (dead_or_predicable): Likewise.
1574 * local-alloc.c (update_equiv_regs): Likewise.
1575 * loop.c (load_mems): Likewise.
1576 * ra-build.c (livethrough_conflicts_bb, conflicts_between_webs):
1578 * ra-rewrite.c (reloads_to_loads, rewrite_program2, actual_spill):
1580 * reload1.c (order_regs_for_reload, finish_spills): Likewise.
1581 * sched-deps.c (sched_analyze_insn, free_deps): Likewise.
1582 * sched-rgn.c (propagate_deps
1583 * tree-cfg.c (tree_purge_all_dead_eh_edges): Likewise.
1584 * tree-dfa.c (dump_dfa_stats
1585 tree-into-ssa.c (compute_global_livein, insert_phi_nodes,
1586 insert_phi_nodes_for, debug_def_blocks_r, invalidate_name_tags):
1588 * tree-outof-ssa.c (coalesce_ssa_name, coalesce_vars,
1589 free_temp_expr_table, find_replaceable_exprs): Likewise.
1590 * tree-sra.c (scan_function, scalarize_parms): Likewise.
1591 * tree-ssa-alias.c (init_alias_info,
1592 compute_points_to_and_addr_escape,
1593 compute_flow_sensitive_aliasing, maybe_create_global_var): Likewise.
1594 * tree-ssa-dce.c (mark_control_dependent_edges_necessary): Likewise.
1595 * tree-ssa-live.c (new_tree_live_info, live_worklist,
1596 calculate_live_on_entry, calculate_live_on_exit, compare_pairs,
1597 sort_coalesce_list, build_tree_conflict_graph, dump_live_info
1598 tree-ssa-loop-manip.c (add_exit_phis_var): Likewise.
1599 tree-ssa-operands.c (get_asm_expr_operands, add_call_clobber_ops,
1600 add_call_read_ops): Likewise.
1601 * tree-ssa-pre.c (bitmap_print_value_set, insert_aux): Likewise.
1602 * tree-ssa-live.h (num_var_partitions): Return unsigned.
1604 2004-11-03 Dorit Naishlos <dorit@il.ibm.com>
1606 PR tree-optimization/18009
1607 * tree-vectorizer.h (enum dr_alignment_support): New type.
1608 (MAX_NUMBER_OF_UNALIGNED_DATA_REFS): Removed.
1609 (LOOP_UNALIGNED_DR): replaced with LOOP_VINFO_UNALIGNED_DR and holds a
1610 single data_reference (instead of a varray of references).
1611 * tree-vectorizer.c (new_loop_vec_info): Likewise.
1612 (vect_gen_niters_for_prolog_loop): Likewise.
1613 (vect_update_inits_of_drs): Likewise.
1615 (vect_update_inits_of_drs): Setting of DR_MISALIGNMENT moved to
1616 vect_enhance_data_refs_alignment.
1617 (vect_do_peeling_for_alignment): Likewise.
1618 (vect_enhance_data_refs_alignment): Decide if and by how much to peel;
1619 this functionality used to be in vect_analyze_data_refs_alignment.
1620 Also update DR_MISALIGNMENT due to peeling; this functionality used to
1621 be in vect_update_inits_of_drs and vect_do_peeling_for_alignment).
1622 (vect_analyze_data_refs_alignment): Decision on whether and by how much
1623 to peel moved to vect_enhance_data_refs_alignment. Call
1624 vect_supportable_dr_alignment.
1626 (vect_compute_data_ref_alignment): Set STMT_VINFO_VECTYPE.
1627 (vect_compute_data_refs_alignment): Return bool. Consider return value
1628 of vect_compute_data_ref_alignment and return true/false accordingly.
1629 (vect_enhance_data_refs_alignment): Consider return value of
1630 vect_compute_data_refs_alignment and return true/false accordingly.
1632 (vect_supportable_dr_alignment): New function.
1633 (vectorizable_store): Call vect_supportable_dr_alignment.
1634 (vectorizable_load): Call vect_supportable_dr_alignment. Alignment
1635 support checks moved from here to vect_supportable_dr_alignment.
1637 (vect_transform_loop): Avoid 80 columns overflow.
1639 2004-11-03 Andrew Pinski <pinskia@physics.uc.edu>
1641 * timevar.c (timevar_enable): Change from
1643 (timevar_push): Rename to ...
1644 (timevar_push_1): this and remove the
1646 (timevar_pop): Rename to ...
1647 (timevar_pop_1): this and remove the
1649 * timevar.h (POP_TIMEVAR_AND_RETURN): Use do/while loops.
1650 (timevar_pop): New macro.
1651 (timevar_push): New macro.
1652 (timevar_enable): Declare.
1654 2004-11-03 Andrew Pinski <pinskia@physics.uc.edu>
1656 * config/darwin.h (REAL_LIBGCC_SPEC): Define to use shared
1657 libgcc for shared libraries.
1659 2004-11-03 Ulrich Weigand <uweigand@de.ibm.com>
1661 * config/s390/s390-protos.h (s390_split_access_reg): Add prototype.
1662 * config/s390/s390.c (s390_split_access_reg): New function.
1663 (regclass_map): Add access registers.
1664 (get_thread_pointer): Use access register instead of UNSPEC_TP.
1665 * config/s390/s390.h (FIRST_PSEUDO_REGISTER): Set to 38.
1666 (ACCESS_REGNO_P, ACCESS_REG_P): New macros.
1667 (TP_REGNUM): New define.
1668 (FIXED_REGISTERS, CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS,
1669 REG_ALLOC_ORDER): Add access registers.
1670 (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK, CLASS_MAX_NREGS,
1671 CANNOT_CHANGE_MODE_CLASS): Support access registers.
1672 (enum reg_class): Add ACCESS_REGS.
1673 (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Likewise.
1674 (REG_CLASS_FROM_LETTER): Add 't' constraint.
1675 (REGISTER_NAMES): Add access registers.
1676 * config/s390/s390.md (UNSPEC_TP): Remove.
1677 ("*movdi_64"): Add access register alternatives. Provide splitters
1678 to split DImode access register <-> GPR moves into SImode moves.
1679 ("*movsi_zarch", "*movsi_esa"): Add access register alternatives.
1680 ("movstrictsi"): Likewise.
1681 ("get_tp_64", "get_tp_31"): Reimplement using access registers.
1682 ("set_tp_64", "set_tp_31"): Likewise.
1683 ("*set_tp"): New insn.
1685 2004-11-03 Kazu Hirata <kazu@cs.umass.edu>
1687 * tree-phinodes.c (resize_phi_node): Copy only a portion of
1688 the PHI node currently in use.
1690 2004-11-03 Andrew Pinski <pinskia@physics.uc.edu>
1693 * tree.c (staticp) <case FUNCTION_DECL>: Nested functions are static
1696 2004-11-03 Andrew MacLeod <amacleod@redhat.com>
1698 PR tree-optimization/18270
1699 * tree-outof-ssa.c (analyze_edges_for_bb): If a block has incoming
1700 abnormal edges, commit all pending stmts on incoming edges.
1702 2004-11-03 Ulrich Weigand <uweigand@de.ibm.com>
1704 * tree-ssa-loop-ivopts.c (get_address_cost): Offset zero does not
1705 cause extra costs. Generate canonical RTL.
1707 2004-11-02 Daniel Berlin <dberlin@dberlin.org>
1709 * lambda-code.c (lambda_compute_auxillary_space): Update comments.
1710 (lambda_compute_target_space). Ditto.
1711 * lambda.h (lambda_trans_matrix): Ditto.
1712 (lambda_linear_expression): Ditto.
1713 (lambda_body_vector): Ditto.
1714 (lambda_loopnest): Ditto.
1715 * tree-loop-linear.c (gather_interchange_stats): Combine tests,
1716 update comments, and remove pointless addition of 0.
1717 (linear_transform_loops): Update comments.
1719 2004-11-03 Sebastian Pop <pop@cri.ensmp.fr>
1721 * tree.c (tree_fold_gcd): Use FLOOR_MOD_EXPR instead of
1724 2004-11-03 Jeff Law <law@redhat.com>
1726 * predict.c (struct block_info_def): Kill "tovisit" field.
1727 (propagate_freq): Accept new "tovisit" parameter. Change
1728 read/write access methods for "tovisit" to check the "tovisit"
1729 bitmap instead of a bit in block_info_def.
1730 (estimate_loops_at_level): Allocate "tovisit" bitmap. Pass
1731 it to propagate_freq.
1733 * stmt.c (expand_case): Speed up code to detect duplicate case
1734 label targets and count unique case label targets.
1736 2004-11-03 Kazu Hirata <kazu@cs.umass.edu>
1738 * cppdefault.c, cppdefault.h, timevar.h: Update copyright.
1740 2004-11-03 Kazu Hirata <kazu@cs.umass.edu>
1742 * bitmap.h, dbxout.c, tree-mudflap.c: Fix comment formatting.
1744 2004-11-03 Kazu Hirata <kazu@cs.umass.edu>
1746 * tree-cfg.c (find_taken_edge): Abort if we are given a
1747 statement that is neither COND_EXPR nor SWITCH_EXPR.
1749 2004-11-02 Zdenek Dvorak <dvorakz@suse.cz>
1751 * fold-const.c (fold): Reassociate also (x - mult) + mult and
1752 (mult - x) + mult. Cast operands of expression after applying
1753 distributive law to the correct types. Apply distributive law
1754 to a * c - b * c for all non-float types.
1756 2004-11-02 Geoffrey Keating <geoffk@apple.com>
1758 * configure.ac: Don't clear STMP_FIXINC or STMP_FIXPROTO just
1759 because we don't want to run them now; instead, set them to
1760 stmp-install-fixproto or stmp-install-fixinc.
1761 * Makefile.in (stmp-install-fixproto): New.
1762 (stmp-install-fixinc): New.
1763 * configure: Regenerate.
1765 2004-11-02 Nathan Sidwell <nathan@codesourcery.com>
1767 * flow.c (init_propagate_block_info): Use bitmap_empty_p on result
1770 2004-11-02 Ziemowit Laski <zlaski@apple.com>
1772 * c-lang.c (LANG_HOOKS_TYPES_COMPATIBLE_P): Remove.
1773 (c_types_compatible_p): Move function definition...
1774 * c-objc-common.c (c_types_compatible_p): ...here.
1775 * c-objc-common.h (LANG_HOOKS_TYPES_COMPATIBLE_P): Moved here from
1778 2004-11-02 Steven Bosscher <stevenb@suse.de>
1780 * cfgloop.h (struct loop): Update comment.
1781 * cse.c (cse_main): Remove obsolete comment.
1783 * expr.h (gen_cond_trap): Move prototype under functions provided
1785 (canonicalize_condition, get_condition): Move to...
1786 * rtl.h (canonicalize_condition, get_condition): ...here.
1787 (branch_target_load_optimize): Add comment that this function is
1789 * loop.c (canonicalize_condition, get_condition): Move to...
1790 * rtlanal.c (canonicalize_condition, get_condition): ...here.
1791 * sched-deps.c (get_condition): Rename to sched_get_condition.
1792 (add_dependence): Update this caller.
1794 2004-11-02 Andrew Pinski <pinskia@physics.uc.edu>
1797 * tree-ssa.c (replace_immediate_uses): If we call fold_stmt, make sure
1798 that the vops get marked for renaming.
1800 2004-11-02 Andreas Krebbel <krebbel1@de.ibm.com>
1802 * config/s390/s390.md ("movcc"): Set type attribute.
1804 2004-11-02 Kazu Hirata <kazu@cs.umass.edu>
1806 * tree-phinodes.c (add_phi_arg): Add an assertion that the
1807 edge already exists.
1809 2004-11-02 Kazu Hirata <kazu@cs.umass.edu>
1811 * tree-phinodes.c (remove_phi_arg_num): Do not zero the
1812 element that's being removed.
1814 2004-11-02 Kazu Hirata <kazu@cs.umass.edu>
1816 * tree-ssa-threadupdate.c (copy_phis_to_block): Install PHI
1817 arguments using PENDING_STMT.
1818 (thread_block): Call copy_phis_to_block after redirecting an
1821 2004-11-02 Nathan Sidwell <nathan@codesourcery.com>
1823 * bitmap.h (bitmap_and, bitmap_and_into, bitmap_and_compl,
1824 bitmap_and_compl_into, bitmap_ior, bitmap_iot_into,
1825 bitmap_ior_compl, bitmap_xor, bitmap_xor_into): Produce void.
1826 (bitmap_ior_and_compl_into): Produce bool.
1827 (bitmap_union_of_diff): Rename to ...
1828 (bitmap_ior_and_compl): ... here. Produce bool.
1829 * bitmap.c (bitmap_ior_and_compl_into): Return bool. Use
1830 bitmap_operation directly.
1831 (bitmap_union_of_diff): Rename to ...
1832 (bitmap_ior_and_compl): ... here. Return bool, use
1833 bitmap_operation directly.
1834 * df.c (df_rd_transfer_function): Use bitmap_ior_and_compl.
1835 (df_ru_transfer_function, df_lr_transfer_function): Likewise.
1836 * global.c (modify_bb_reg_pav): Likewise.
1838 * bitmap.h (bitmap_equal_p): Return bool.
1839 (bitmap_intersect_p, bitmap_intersect_compl_p): Declare.
1840 * bitmap.c (bitmap_equal_p): Return bool. Compare directly.
1841 (bitmap_intersect_p, bitmap_intersect_compl_p): New.
1842 * flow.c (calculate_global_regs_live): Use bitmap_intersect_p and
1843 bitmap_intersect_compl_p.
1844 * ifcvt (dead_or_predicable): Likewise.
1846 2004-11-02 Nathan Sidwell <nathan@codesourcery.com>
1848 PR rtl-optimization/17104
1849 * config/rs6000/rs6000.c (rs6000_emit_move): Don't wrap small
1850 loads in zero_extend.
1852 2004-11-02 Danny Smith <dannysmith@users.sourceforge.net>
1855 * toplev.c (debug_type_names): Remove "dwarf-1".
1857 2004-11-02 Ben Elliston <bje@au.ibm.com>
1859 * timevar.h (timevar_get): Remove.
1860 * timevar.c (timevar_get): Remove unused function.
1862 2004-11-02 Joseph S. Myers <joseph@codesourcery.com>
1864 * doc/include/texinfo.tex: Update from Texinfo CVS.
1866 2004-11-02 Ben Elliston <bje@au.ibm.com>
1868 * cppdefault.h (cpp_SYSROOT): Remove.
1869 * cppdefault.c (cpp_SYSROOT): Likewise.
1871 2004-11-01 Andrew MacLeod <amacleod@redhat.com>
1873 PR tree-optimization/16447
1874 * tree-cfg.c (bsi_commit_one_edge_insert): Rename from
1875 bsi_commit_edge_inserts_1, and make funtion external. Return new block.
1876 (bsi_commit_edge_inserts): Use renamed bsi_commit_one_edge_insert.
1877 * tree-optimize.c (pass_cleanup_cfg_post_optimizing): Enable listing.
1878 * tree-flow.h (bsi_commit_one_edge_insert): Extern decl.
1879 * tree-outof-ssa.c (rewrite_trees): Don't commit edges here.
1880 (same_stmt_list_p): New. Return TRUE if edge is to be forwarded.
1881 (identical_copies_p): New. Return true is two copies are the same.
1882 (identical_stmt_lists_p): New. Return true if stmt lists are the same.
1883 (analyze_edges_for_bb): New. Determine how best to insert edge stmts
1885 (perform_edge_inserts): New. Determine what to do with all stmts that
1886 have been inserted on edges.
1887 (remove_ssa_form): Analyze and commit edges from here.
1889 2004-11-01 Andrew Pinski <pinskia@physics.uc.edu>
1892 * bitmap.h (bmp_iter_end_p): Take a const pointer instead of a struct.
1893 (EXECUTE_IF_SET_IN_BITMAP): Update call to bmp_iter_end_p.
1894 (EXECUTE_IF_AND_COMPL_IN_BITMAP): Likewise.
1895 (EXECUTE_IF_AND_IN_BITMAP): Likewise.
1897 2004-11-01 Joseph S. Myers <joseph@codesourcery.com>
1900 * c-decl.c (get_parm_info): Allow FUNCTION_DECLs to appear amongst
1901 parameter declarations.
1903 2004-11-01 Andreas Krebbel <krebbel1@de.ibm.com>
1905 * config/s390/s390.c (regclass_map): Put reg 33 (cc) to CC_REGS group.
1906 (s390_secondary_input_reload_class)
1907 (s390_secondary_output_reload_class): Use GENERAL_REGS to reload a cc
1909 (s390_expand_cmpmem): Enable cmpmem implementation.
1910 * config/s390/s390.h (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS):
1911 Added three new classes: CC_REGS, ADDR_CC_REGS, GENERAL_CC_REGS.
1912 (REG_CLASS_FROM_LETTER): New constraint 'c' added.
1913 * config/s390/s390.md ("movcc"): New insn pattern.
1914 * doc/md.texi: Document 'c' constraint for s390.
1916 2004-11-01 Nathan Sidwell <nathan@codesourcery.com>
1919 * doc/extend.texi (Deprecated Features): Deprecate G++ covariant
1922 2004-10-16 Daniel Berlin <dberlin@dberlin.org>
1924 Fix PR tree-optimization/17672
1925 Fix PR tree-optimization/18168
1927 * lambda-code.c (lambda_lattice_compute_base): Fix reversed
1929 (gcc_tree_to_linear_expression): Add extra to existing constant.
1930 (depth_of_nest): Factor out function used in various places.
1931 (gcc_loop_to_lambda_loop): Clean up code a little bit. No
1933 (find_induction_var_from_exit_cond): Stop guessing, and just
1934 get the right answer :).
1935 (gcc_loopnest_to_lambda_loopnest): Remove useless pre-allocation.
1936 Print out message about result of attempt to create perfect nest.
1937 (lbv_to_gcc_expression): Add type argument, use it to do math
1938 and induction variable creation.
1939 (lle_to_gcc_expression): Ditto.
1940 (lambda_loopnest_to_gcc_loopnest): Create new iv with same type as
1941 oldiv. Pass type argument to lle_to_gcc_expression and
1942 lbv_to_gcc_expression.
1943 Reset number of iterations after transformation.
1944 (perfect_nestify): Remove useless pre-allocation, and cleanup
1947 * tree-data-ref.c (build_classic_dist_vector): Return false for
1948 dependences completely outside of the loop nest we asked about.
1949 (build_classic_dir_vector): Ditto.
1950 (compute_data_dependences_for_loop): Only add dependence relations
1951 inside the loop we asked about.
1953 * tree-loop-linear.c (linear_transform_loops): Use DDR_SIZE_VECT.
1954 Compute immediate uses.
1956 * tree-optimize.c: Move linear_transform_loops to before ivcanon.
1958 2004-11-01 Kazu Hirata <kazu@cs.umass.edu>
1960 * tree-cfg.c (thread_jumps): Fix a comment typo.
1962 2004-11-01 Kazu Hirata <kazu@cs.umass.edu>
1964 * tree-cfg.c (thread_jumps): Fix a comment typo.
1966 2004-10-31 Nicolas Pitre <nico@cam.org>
1968 * config/arm/ieee754-sf.S (floatdisf): Fix regression with
1969 values smaller than 2^32.
1971 2004-10-31 Jeff Law <law@redhat.com>
1973 * cfgloop.h (struct loop): Remove unused "nodes" field.
1974 * timevar.def (TV_TREE_LOOP_BOUNDS): New.
1975 * tree-data-ref.c (find_data_references_in_loop): Use get_loop_body
1976 instead of calling flow_bb_inside_loop_p for every basic block
1978 * tree-ssa-loop.c (pass_record_bounds): Use TV_TREE_LOOP_BOUNDS.
1980 2004-10-31 Graham Stott <graham.stott@btinternet.com>
1982 * config/pa/pa.md: (prefetch_64, prefetch_32): Fix typo. Use
1983 INT_5_BITS instead of VAL_5_BITS_P.
1985 2004-10-31 Roger Sayle <roger@eyesopen.com>
1988 * tree-inline.c (inline_forbidden_p_1): Use %qF instead of '%F'
1989 for consistent quoting in diagnostic messages.
1990 (expand_call_inline): Likewise.
1991 * tree-optimize.c (tree_rest_of_compilation): Likewise.
1992 * tree-ssa.c (warn_uninitialized_var): Likewise.
1993 (warn_uninitialized_phi): Likewise.
1995 2004-10-31 Richard Sandiford <rsandifo@redhat.com>
1997 * config/mips/mips.c (mips_cannot_change_mode_class): Use a stricter
2000 2004-10-31 Kazu Hirata <kazu@cs.umass.edu>
2002 * c-common.c: Fix a comment typo.
2004 2004-10-31 Jason Merrill <jason@redhat.com>
2007 * tree-gimple.c (is_gimple_mem_rhs): Also require a val for
2008 aggregate types that are not BLKmode.
2010 2004-10-30 Ziemowit Laski <zlaski@apple.com>
2012 * c-common.h (objc_lookup_ivar): Add second parameter to
2014 * c-typeck.c (build_external_ref): After looking up symbol,
2015 pass it to objc_lookup_ivar() to decide whether it or the
2016 ivar should be used, rather than deciding the issue locally.
2017 * stub-objc.c (objc_lookup_ivar): Add an OTHER parameter,
2018 which is simply returned in the non-ObjC case.
2020 2004-10-30 Danny Smith <dannysmith@users.sourceforge.net>
2022 * sdbout.c (sdbout_symbol): Do not output type .def statements
2025 2004-10-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
2027 * c-common.c (catenate_strings): New.
2028 (c_parse_error): Use it. Don't over-escape.
2030 2004-10-30 Kaz Kojima <kkojima@gcc.gnu.org>
2032 * config/sh/sh.c (calc_live_regs): Declare reg as unsigned and
2033 modify the for loop expressions for it. Remove unnecessary casts.
2034 (sh_expand_prologue): Declare reg as unsigned.
2035 (sh_gimplify_va_arg_expr): Initinalize lab_over.
2036 (sh_handle_sp_switch_attribute): Add const qualifier appropriately.
2038 2004-10-30 Geoffrey Keating <geoffk@apple.com>
2040 * doc/invoke.texi (Darwin Options): Improve description of
2041 how the subtype is chosen.
2043 2004-10-30 Roger Sayle <roger@eyesopen.com>
2046 * config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Check that
2047 the stack adjustment, "size", is valid for Pmode. If the stack
2048 frame is too large, generate a trap insn and issue a warning.
2050 2004-10-30 Kazu Hirata <kazu@cs.umass.edu>
2052 * tree-ssa-dom.c: Fix comment typos.
2054 2004-10-30 Kaz Kojima <kkojima@gcc.gnu.org>
2056 * config/sh/sh.c (prepare_move_operands): Use operands[0]
2057 for the output rtl if no_new_pseudos is set. Remove redundant
2060 2004-10-30 Joseph S. Myers <joseph@codesourcery.com>
2063 * c-decl.c (start_function): Don't check for DECL_BUILT_IN when
2064 determining whether to copy parameter types from a previous
2065 prototype declaration.
2067 2004-10-29 Roger Sayle <roger@eyesopen.com>
2069 PR rtl-optimization/17581
2070 * cselib.c (cselib_process_insn): The last instruction of a libcall
2071 block, with the REG_RETVAL note, should be considered in the libcall.
2072 * gcse.c (do_local_cprop): Allow constants to be propagated outside
2074 (adjust_libcall_notes): Use simplify_replace_rtx instead of
2075 replace_rtx to avoid creating invalid RTL in REG_RETVAL notes.
2077 2004-10-30 Kazu Hirata <kazu@cs.umass.edu>
2079 * tree-phinodes.c (create_phi_node): Don't zero PHI_REWRITTEN.
2081 2004-10-29 Jeff Law <law@redhat.com>
2083 * tree-ssa-dom.c (struct edge_info): New structure holding
2084 edge equivalences and edge redirection information.
2085 (get_eq_expr_value, record_dominating_conditions): Kill.
2086 (propagate_to_outgoing_edges): Renamed from cprop_into_phis.
2087 Call record_edge_info.
2088 (allocate_edge_info, free_edge_info): New.
2089 (tree_ssa_dominator_optimize): Use propagate_to_outgoing_edges
2090 rather than cprop_into_phis. Free all edge infos before threading
2092 (thread_across_edge): Allocate new edge info structures as needed
2093 and store the redirection target into the edge info structure
2094 instead of the edge's AUX field.
2095 (dom_opt_initialize_block): Mark unused argument with ATTRIBUTE_UNUSED.
2096 (record_equivalence_from_incoming_edge): Lose unnecessary argument.
2097 Revamp code which finds and records equivalences associated with
2098 edges to use saved data in the edge_info structure.
2099 (record_equivalencs_from_phis): Similarly.
2100 (dom_opt_finalize_block): Revamp code which finds and records
2101 equivalences associated with edges to use saved data in the
2102 edge_info structure.
2103 (build_and_record_new_cond): New function.
2104 (record_conditions): Use build_and_record_new_cond to record
2105 dominating conditions.
2106 (record_edge_info): New function.
2107 (record_range): Tighten test for conditions which create
2108 useful range records.
2110 2004-10-29 Geoffrey Keating <geoffk@apple.com>
2112 * config/i386/darwin.h (ASM_SPEC): Simplify.
2113 (SUBTARGET_EXTRA_SPECS): Add darwin_subarch spec.
2114 * config/rs6000/darwin.h (DARWIN_SUBARCH_SPEC): New.
2115 (SUBTARGET_EXTRA_SPECS): Add darwin_subarch spec.
2116 * config/darwin.h (LINK_COMMAND_SPEC): Don't pass -arch here.
2117 (LINK_SPEC): Do pass -arch here. Handle -force_cpusubtype_ALL
2118 in all cases. Pass the right -arch or -arch_only based on -mcpu.
2119 (ASM_SPEC): Handle -force_cpusubtype_ALL.
2120 * doc/invoke.texi (Darwin Options): Improve documentation for
2121 Darwin linker (and libtool) switches.
2123 * config/rs6000/darwin-fallback.c: Include <mach/thread_status.h>.
2125 2004-10-29 Stan Shebs <shebs@apple.com>
2127 * config/rs6000/darwin-tramp.asm: Make more 64-bit-friendly.
2129 2004-10-29 Kazu Hirata <kazu@cs.umass.edu>
2131 * tree-phinodes.c (allocate_phi_node): New.
2132 (make_phi_node, resize_phi_node): Use it.
2134 2004-10-29 David Edelsohn <edelsohn@gnu.org>
2136 * config/rs6000/sysv4.h (TARGET_POWER): Define as 0.
2137 * config/rs6000/darwin.h (TARGET_POWER): Define as 0.
2139 2004-10-29 Kazu Hirata <kazu@cs.umass.edu>
2141 * tree-phinodes.c (make_phi_node, resize_phi_node): Don't zero
2143 * tree.h (tree_phi_node): Tell the garbage collector to chase
2146 2004-10-29 Richard Earnshaw <rearnsha@arm.com>
2148 * opts.c (decode_options): Lower the crossjump threshold for -Os.
2150 2004-10-29 Diego Novillo <dnovillo@redhat.com>
2152 * tree.h (struct tree_ssa_name): Remove field 'equiv'.
2154 2004-10-28 Nathan Sidwell <nathan@codesourcery.com>
2156 * bitmap.h (bitmap_empty_p): New.
2157 (bitmap_and, bitmap_and_into, bitmap_and_compl,
2158 bitmap_and_compl_into, bitmap_ior, bitmap_ior_into,
2159 bitmap_ior_compl, bitmap_xor, bitmap_xor_into): New bitmap
2161 (bitmap_ior_and_compl): Rename to ...
2162 (bitmap_ior_and_compl_into): ... here.
2163 * bitmap.c (bitmap_equal_p): Use bitmap_xor.
2164 (bitmap_ior_and_compl): Rename to ...
2165 (bitmap_ior_and_compl_into): ... here. Adjust. Return changed
2167 (bitmap_union_of_diff): Use renamed bitmap functions.
2168 * basic-block.h (AND_REG_SET, AND_COMPL_REG_SET, IOR_REG_SET,
2169 XOR_REG_SET, IOR_AND_COMPL_REG_SET): Likewise.
2170 * cfgrtl.c (safe_insert_insn_on_edge): Likewise.
2171 * df.c (df_bb_rd_local_compute)
2172 * flow.c (calculate_global_regs_live,
2173 init_propagate_block_info): Likewise.
2174 * ifcvt.c (find_if_case_1, find_if_case_2,
2175 dead_or_predicable): Likewise.
2176 * ra-build.c (union_web_part_roots, livethrough_conflicts_bb,
2177 reset_conflicts, conflicts_between_webs): Likewise.
2178 * ra-rewrite.c (reloads_to_loads, rewrite_program2,
2179 detect_web_parts_to_rebuild): Likewise.
2180 * sched-ebb.c (compute_jump_reg_dependencies): Likewise.
2181 * tree-int-ssa.c (insert_phi_nodes_for, rewrite_into_ssa): Likewise.
2182 * tree-sra.c (decide_instantiations): Likewise.
2183 * tree-ssa-alias.c (create_name_tags,
2184 merge_pointed_to_info): Likewise.
2185 * tree-ssa-dom.c (tree_ssa_dominator_optimize): Likewise.
2186 * tree-ssa-loop-im.c (move_computations): Likewise.
2187 * tree-ssa-operands.c (get_call_expr_operands): Likewise.
2188 * tree-ssa-pre.c (fini_pre): Likewise.
2189 * tree-ssa.c (verify_flow_sensitive_alias_info): Likewise.
2190 * tree-ssanames.c (any_marked_for_rewrite_p): Likewise.
2191 * tree-vectorizer.c (vectorize_loops): Likewise.
2193 2004-10-29 Nick Clifton <nickc@redhat.com>
2195 config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): When
2196 adding the PIC register to the fixed_regs array, also add it
2197 to the call_used_regs array.
2199 2004-10-29 Eric Botcazou <ebotcazou@libertysurf.fr>
2201 * gthr-posix.h (__gthread_recursive_mutex_init_function): Guard
2202 with #ifdef PTHREAD_MUTEX_RECURSIVE/#endif pairs.
2204 2004-10-28 Daniel Berlin <dberlin@dberlin.org>
2206 * tree-into-ssa.c (rewrite_virtual_phi_arguments): New function.
2207 (rewrite_blocks): Modify argument, and use it to decide which
2209 (rewrite_def_def_chains): Call rewrite_blocks with true here.
2210 (rewrite_into_ssa): and call it with false here.
2212 2004-10-29 Kazu Hirata <kazu@cs.umass.edu>
2214 * tree-phinodes.c (add_phi_arg): Turn an "if" that always
2215 triggers into gcc_assert.
2217 2004-10-28 Diego Novillo <dnovillo@redhat.com>
2219 PR tree-optimization/16728
2220 * tree-flow.h (get_ptr_info): Declare.
2221 * tree-ssa-alias.c (get_ptr_info): Make extern.
2222 * tree-ssa-copy.c (merge_alias_info): Merge flow-sensitive
2225 2004-10-28 Stan Shebs <shebs@apple.com>
2227 * config/rs6000/darwin.h (SUBTARGET_EXTRA_SPECS): Handle -m64.
2228 * config/rs6000/rs6000.c (rs6000_darwin_file_start): Add ppc64
2231 2004-10-28 Frank Ch. Eigler <fche@redhat.com>
2233 * tree-mudflap.c (mudflap_init): Mark cache-lookup decls to
2234 prevent their later unnecessary registration.
2235 (mf_build_check_statement_for): Remove "addr" argument, and
2236 related "__mf_value" generated code. Update callers.
2237 (mf_decl_eligible_p): New function, factored from mx_register_decls.
2238 (mx_register_decls): Call it.
2239 (mf_xform_derefs_1): Rewrite COMPONENT_REF and ARRAY_REF cases
2240 to restore support for complex nested expressions.
2241 (mudflap_enqueue_decl): Simplify. Move registration call emission
2243 (mudflap_finish_file): ... to here.
2244 (mudflap_enqueue_constant): Remove dump code.
2246 2004-10-28 Zack Weinberg <zack@codesourcery.com>
2249 * dbxout.c (dbxout_begin_complex_stabs_noforcetext): New function.
2250 (DBX_FINISH_STABS): Add (unused by default) SYM parameter.
2251 (dbxout_finish_complex_stabs): Update to match.
2252 (dbxout_symbol_location): Call emit_pending_bincls_if_required
2253 and FORCE_TEXT before DBX_STATIC_BLOCK_START. Use
2254 dbxout_begin_complex_stabs_noforcetext.
2255 * xcoffout.h (DBX_FINISH_STABS): Restore special case for
2256 N_GSYM, using new SYM parameter. Correct logic for special
2259 * varasm.c (function_section): If DECL is NULL_TREE, don't try
2260 to do anything else. Do not call get_insns if cfun or
2261 cfun->emit are NULL.
2263 2004-10-28 Adam Nemet <anemet@lnxw.com>
2266 * c-typeck.c (c_mark_addressable): Issue error if address of a
2267 register variable is taken. Use "%qD" to print DECL_NAME.
2269 2004-10-28 Diego Novillo <dnovillo@redhat.com>
2271 * opts.c (decode_options): Don't run PRE at -Os.
2273 2004-10-28 Richard Henderson <rth@redhat.com>
2275 * config/alpha/alpha.md (movqicc_internal): Allow exactly one
2276 zero in the conditional.
2277 (movhicc_internal, movsicc_internal, movdicc_internal): Likewise.
2279 2004-10-28 Richard Henderson <rth@redhat.com>
2281 * cse.c (memory_extend_rtx): Remove.
2282 (cse_main): Don't set it.
2283 (cse_insn): Use a local buffer instead.
2285 2004-10-28 Andreas Krebbel <krebbel1@de.ibm.com>
2287 * profile.c (branch_prob): Call to init_edge_profiler added.
2288 * rtl-profile.c (rtl_init_edge_profiler): New function.
2289 (rtl_gen_edge_profiler): Replaced call to insert_insn_on_edge with
2290 call to safe_insert_insn_on_edge.
2291 (rtl_profile_hooks): rtl_init_edge_profiler added.
2292 * tree-profile.c (tree_init_edge_profiler): New function.
2293 (tree_profile_hooks): tree_init_edge_profiler added.
2294 * value-prof.h (profile_hooks) init_edge_profiler prototype added.
2296 2004-10-28 Nick Clifton <nickc@redhat.com>
2298 * config/iq2000/iq2000.c (iq2000_expand_epilogue): Use
2299 emit_jump_insn() to generate the return instruction.
2301 2004-10-28 Kazu Hirata <kazu@cs.umass.edu>
2303 * tree-phinodes.c: Remove trailing whitespace.
2305 2004-10-28 Kazu Hirata <kazu@cs.umass.edu>
2307 * tree-ssa-loop-ivopts.c: Fix a comment typo.
2308 * doc/invoke.texi: Fix a typo.
2310 2004-10-28 Kazu Hirata <kazu@cs.umass.edu>
2312 * Makefile.in (OBJS-common): Remove duplicates.
2314 2004-10-28 Kazu Hirata <kazu@cs.umass.edu>
2316 * lambda-code.c (nestify_update_pending_stmts): Remove.
2317 (perfect_nestify): Use flush_pending_stmts instead of
2318 nestify_update_pending_stmts.
2319 * tree-cfg.c (tree_make_forwarder_block): Use
2320 flush_pending_stmts.
2321 * tree-flow.h: Add a prototype for flush_pending_stmts.
2322 * tree-ssa-loop-manip.c (tree_duplicate_loop_to_header_edge):
2323 Use flush_pending_stmts.
2324 (lv_update_pending_stmts): Remove.
2325 (tree_ssa_loop_version): Use flush_pending_stmts instead of
2326 lv_update_pending_stmts.
2327 * tree-ssa.c (flush_pending_stmts): New.
2329 2004-10-28 Ulrich Weigand <uweigand@de.ibm.com>
2332 * final.c (alter_subreg): Compute correct offset to use with
2333 paradoxical SUBREGs of memory operands.
2334 * recog.c (general_operand): Allow paradoxical SUBREGs of
2335 memory operands after reload.
2336 * simplify-rtx.c (simplify_gen_subreg): Fail if simplify_subreg
2337 has failed when passed a hard register.
2339 2004-10-28 Aldy Hernandez <aldyh@redhat.com>
2341 * function.c (assign_parm_setup_block): Handle parallels correctly.
2343 2004-10-28 Kaz Kojima <kkojima@gcc.gnu.org>
2345 * final.c (shorten_branches): Initialize flags structure.
2347 2004-10-28 Nathan Sidwell <nathan@codesourcery.com>
2349 * tree.c (int_cst_node, int_cst_hash_table): New variables.
2350 (init_ttree): Initialize them.
2351 (int_cst_hash_hash, int_cst_hash_eq): New hashing functions.
2352 (build_int_cst_wide): Use hash table for oversized integers.
2354 2004-10-28 Nick Clifton <nickc@redhat.com>
2356 * config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Define
2359 2004-10-27 Richard Henderson <rth@redhat.com>
2362 * expr.c (emit_group_load): Don't go force temporary for memory
2364 (emit_group_store): Similarly.
2366 2004-10-27 Andrew Pinski <pinskia@physics.uc.edu>
2369 * common.opt (--param): Fix spelling of parameter.
2371 2004-10-27 Andrew Pinski <pinskia@physics.uc.edu>
2374 * tree-cfg.c (remove_useless_stmts_1) <case SWITCH_EXPR>:
2375 Don't fold statement.
2376 <case ASM_EXPR>: Fold the statement.
2378 2004-10-28 Kazu Hirata <kazu@cs.umass.edu>
2380 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary)
2381 <COND_EXPR>: Use EDGE_COUNT instead of GOTO_DESTINATION.
2383 2004-10-28 Joseph S. Myers <jsm@polyomino.org.uk>
2385 * doc/contrib.texi, doc/cpp.texi, doc/cppopts.texi,
2386 doc/extend.texi, doc/gcov.texi, doc/install.texi, doc/invoke.texi,
2387 doc/libgcc.texi, doc/md.texi, doc/passes.texi,
2388 doc/sourcebuild.texi, doc/tm.texi: Improve Texinfo formatting.
2390 2004-10-28 Joseph S. Myers <jsm@polyomino.org.uk>
2392 * doc/c-tree.texi, doc/cpp.texi, doc/implement-c.texi,
2393 doc/invoke.texi, doc/md.texi, doc/passes.texi, doc/tm.texi: Put
2394 punctuation outside quotes.
2396 2004-10-27 David Mosberger <davidm@hpl.hp.com>
2397 James E Wilson <wilson@specifixinc.com>
2400 * config/ia64/ia64.c (ia64_expand_epilogue): Set RTX_FRAME_RELATED_P on
2401 sibcall alloc instruction.
2402 (process_set): Handle sibcall alloc instruction.
2404 2004-10-27 Geoffrey Keating <geoffk@apple.com>
2406 * config/rs6000/rs6000.c (rs6000_attribute_table): Add
2407 SUBTARGET_ATTRIBUTE_TABLE.
2408 * config/darwin.h (ASM_WEAKEN_DECL): Handle weak_import.
2409 (SUBTARGET_ATTRIBUTE_TABLE): Define.
2410 * config/darwin.c (darwin_handle_weak_import_attribute): New.
2411 (HAVE_DEAD_STRIP): Delete.
2412 (no_dead_strip): Don't test HAVE_DEAD_STRIP.
2413 * config/darwin-protos.h (darwin_handle_weak_import_attribute):
2416 * doc/tm.texi (USE_SELECT_SECTION_FOR_FUNCTIONS): Document.
2418 * config/darwin.h (GTHREAD_USE_WEAK): Define.
2420 2004-10-28 Ben Elliston <bje@au.ibm.com>
2422 * params.def (PARAM_SRA_MAX_STRUCTURE_SIZE): New.
2423 (PARAM_SRA_FIELD_STRUCTURE_RATIO): Likewise.
2424 * params.h (SRA_MAX_STRUCTURE_SIZE): New.
2425 (SRA_FIELD_STRUCTURE_RATIO): Likewise.
2426 * tree-sra.c: Include "params.h".
2427 (decide_block_copy): Use new parameters.
2428 * doc/invoke.texi (Optimize Options): Document new SRA pass
2429 parameters sra-max-structure-size and sra-field-structure-ratio.
2431 2004-10-27 Nicolas Pitre <nico@cam.org>
2433 * config/arm/ieee754-df.S (floatdidf): Fix regression with big values.
2435 2004-10-27 Zdenek Dvorak <dvorakz@suse.cz>
2437 PR tree-optimization/18048
2438 * fold-const.c (try_move_mult_to_index): New function.
2439 (fold): Use try_move_mult_to_index.
2440 * tree-ssa-loop-ivopts.c (try_add_cand_for): Prefer common candidates.
2441 * tree-ssa-loop-niter.c (number_of_iterations_cond): Produce
2442 an all-ones unsigned constant without extra bits.
2443 * tree.c (build_low_bits_mask): New function.
2444 * tree.h (build_low_bits_mask): Declare.
2446 2004-10-27 David Edelsohn <edelsohn@gnu.org>
2449 * config/rs6000/rs6000.md (maxsf3): Add !flag_trapping_math to
2455 2004-10-27 Kazu Hirata <kazu@cs.umass.edu>
2457 * tree-cfg.c (thread_jumps): Speed up by reordering the two
2458 conditions for entering basic blocks into worklist.
2460 2004-10-27 Kazu Hirata <kazu@cs.umass.edu>
2462 * tree-cfg.c (thread_jumps): Speed up by pretending to have
2463 ENTRY_BLOCK_PTR in worklist.
2465 2004-10-27 Kazu Hirata <kazu@cs.umass.edu>
2467 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary)
2468 <GOTO_EXPR>: Don't let an explicit GOTO_EXPR slip through.
2470 2004-10-27 Daniel Berlin <dberlin@dberlin.org>
2472 Fix PR tree-optimization/17133
2474 * tree-cfg.c (rewrite_to_new_ssa_names_bb): Also rewrite must
2477 * tree-flow-inline.h: V_MUST_DEF_OP became V_MUST_DEF_RESULT.
2478 (get_v_must_def_result_ptr): Modify for new structure of
2480 (get_v_must_def_kill_ptr): New.
2481 (op_iter_next_use): Add support for the kill that occurs in V_MUST_DEFs.
2482 (op_iter_next_tree): Ditto. Also V_MAY_DEF_OP became V_MAY_DEF_RESULT.
2483 (op_iter_next_def): V_MAY_DEF_OP became V_MAY_DEF_RESULT.
2484 (op_iter_init): Initialize new mustu members.
2485 (op_iter_next_mustdef): New function.
2486 (op_iter_init_mustdef): Ditto.
2488 * tree-flow.h (rewrite_def_def_chains): New function.
2490 * tree-into-ssa.c (mark_def_sites): Handle mustdefkill operands.
2491 (ssa_mark_def_sites): Ditto.
2492 (rewrite_stmt): Ditto.
2493 (ssa_rewrite_stmt): Ditto.
2494 (rewrite_blocks): Factor out from rewrite_into_ssa.
2495 (mark_def_block_sites): Ditto.
2496 (rewrite_def_def_chains): New function, just rewrites def-def
2497 chains without phi node insertion.
2499 * tree-pass.h (TODO_fix_def_def_chains): New todo flag.
2501 * tree-optimize.c (execute_todo): Handle TODO_fix_def_def_chains.
2503 * tree-pretty-print.c (dump_vops): Print out MUST_DEF's so that
2504 they include the rhs now.
2506 * tree-ssa-ccp.c (visit_assignment): V_MUST_DEF_OP became
2509 * tree-ssa-dce.c (mark_operand_necessary): Add phionly argument.
2511 (mark_really_necessary_kill_operand_phis): New function.
2512 (perform_tree_ssa_dce): Call it.
2513 (pass_dce): Add TODO_fix_def_def_chains.
2514 (pass_cd_dce): Ditto.
2516 * tree-ssa-loop-im.c (determine_max_movement): Look at kills as
2518 (rewrite_mem_refs): Ditto.
2520 * tree-ssa-loop-manip.c (find_uses_to_rename_stmt): Look at kills
2523 * tree-ssa-operands.c (allocate_v_may_def_optype):
2524 v_may_def_operand_type_t became v_def_use_operand_type_t.
2525 (allocate_v_must_def_optype) Ditto.
2526 (finalize_ssa_v_must_defs): Update for new operand type, as well
2527 as setting the use portion as well.
2528 (copy_virtual_operands): Copy the kill operand as well.
2529 (create_ssa_artficial_load_stmt): V_MUST_DEF_OP became
2532 * tree-ssa-operands.h (v_may_def_operand_type): Renamed to
2533 v_def_use_operand_type.
2534 (v_must_def_optype_d): Use v_def_use_operand_type.
2535 (V_MUST_DEF_OP_*): Renamed to V_MUST_DEF_RESULT_*
2536 (V_MUST_DEF_KILL_*): New macros.
2537 (struct ssa_operand_iterator_d): Add num_v_mustu and v_mustu_i
2539 Rename existing must_i and num_v_must members to mustd_i and
2541 (SSA_OP_VMUSTDEFKILL): New flag.
2542 (SSA_OP_VIRTUAL_KILLS): New flag.
2543 (SSA_OP_ALL_OPERANDS): Add in SSA_OP_ALL_KILLS.
2544 (SSA_OP_ALL_KILLS): New flag.
2545 (FOR_EACH_SSA_MUSTDEF_OPERAND): New macro.
2547 * tree-ssa.c (verify_ssa): Verify virtual kills as well.
2549 * tree-vectorizer.c (vect_create_data_ref_ptr): V_MUST_DEF_OP
2550 became V_MUST_DEF_RESULT.
2551 (rename_variables_in_bb): Rename kill pointer as well.
2553 * tree-dfa.c (compute_immediate_uses_for_stmt): Add kills into the
2556 2004-10-27 Richard Sandiford <rsandifo@redhat.com>
2558 * dbxout.c (dbxout_source_line): Move declaration of begin_label to
2559 the block that needs it.
2561 2004-10-27 Zack Weinberg <zack@codesourcery.com>
2563 * dbxout.c (dbxout_finish_complex_stabs): Mark 'line' variable
2566 2004-10-27 Zack Weinberg <zack@codesourcery.com>
2568 * c-lex.c (cb_def_pragma): Clean up code for making location
2569 palatable to diagnostic.c.
2571 2004-10-27 Steven Bosscher <stevenb@suse.de>
2573 PR tree-optimization/17757
2574 * tree-phinodes.c (remove_phi_arg_num): Don't remove PHIs
2575 without any PHI arguments left. Make sure the argument that
2576 we're supposed to remove exists at all.
2578 2004-10-27 Paul Brook <paul@codesourcery.com>
2580 * configure.ac: Don't test for [build] __cxa_atexit when building a
2582 * configure: Regenerate.
2584 2004-10-27 Paul Brook <paul@codeosurcery.com>
2586 * configure.ac: Use build_exeext not host_exeext when lookin for
2588 * configure: Regenerate.
2590 2004-10-27 Andreas Krebbel <krebbel1@de.ibm.com>
2592 * config/s390/s390.md ("*subdf3_cc"): Replaced plus by minus.
2594 2004-10-27 Andreas Krebbel <krebbel1@de.ibm.com>
2595 patch originally created by Kelley Cook <kcook@gcc.gnu.org>
2598 * opts.c (OPT_fprofile_generate): Default to -funroll-loops
2599 to match -fprofile-use.
2601 2004-10-27 Kazu Hirata <kazu@cs.umass.edu>
2603 * config/rs6000/rs6000.c: Fix a comment typo.
2605 2004-10-27 Zack Weinberg <zack@codesourcery.com>
2607 * config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Increment line
2610 2004-10-27 Andreas Schwab <schwab@suse.de>
2612 * varasm.c (default_stabs_asm_out_destructor): Mark symbol as
2614 (default_stabs_asm_out_constructor): Likewise.
2616 2004-10-26 Geoffrey Keating <geoffk@apple.com>
2618 * builtins.c (fold_builtin_unordered_cmp): Always bring both
2619 operands to the same type.
2621 2004-10-26 James E Wilson <wilson@specifixinc.com>
2624 * emit-rtl.c (emit_copy_of_insn_after): Copy RTX_FRAME_RELATED_P.
2626 2004-10-26 Zack Weinberg <zack@codesourcery.com>
2628 * dbxout.c: Include obstack.h.
2629 (ASM_STABS_OP): Take XCOFF_DEBUGGING_INFO into account in
2631 (ASM_STABD_OP, NO_DBX_MAIN_SOURCE_DIRECTORY, DBX_CONTIN_CHAR):
2632 Default-define here.
2633 (DBX_CONTIN_LENGTH): Move definition with others.
2634 (DBX_FINISH_STABS): New target macro.
2635 (current_sym_code, current_sym_value, current_sym_addr)
2636 (current_sym_nchars, CHARS, dbxout_continue)
2637 (print_int_cst_octal, print_octal, print_wide_int)
2638 (dbxout_prepare_symbol, dbxout_finish_symbol): Delete.
2639 (stabstr_ob, stabstr_last_contin_point): New variables.
2640 (NUMBER_FMT_LOOP): New improper macro.
2641 (dbxout_int, dbxout_stab_value_zero, dbxout_stab_value_label)
2642 (dbxout_stab_value_label_diff, dbxout_stab_value_internal_label)
2643 (dbxout_stab_value_internal_label_diff, dbxout_stabd)
2644 (dbxout_begin_stabn, dbxout_begin_stabn_sline)
2645 (dbxout_begin_simple_stabs, dbxout_begin_simple_stabs_desc)
2646 (dbxout_begin_complex_stabs, dbxout_finish_complex_stabs)
2647 (stabstr_C, stabstr_S, stabstr_I, stabstr_D, stabstr_U, stabstr_O)
2648 (stabstr_continue, DECL_ACCESSIBILITY_CHAR)
2649 New functions and/or proper function-like macros.
2650 (CONTIN): Use stabstr_continue, unconditionally.
2651 (get_lang_number): Define unconditionally, with ATTRIBUTE_UNUSED.
2652 (dbxout_init): Initialize stabstr_ob. Check
2653 NO_DBX_MAIN_SOURCE_DIRECTORY. Only write out the Ltext label
2654 if it was used. Use the new interfaces.
2655 (dbxout_source_file): Remove file argument; always write to
2656 asm_out_file. Use the new interfaces.
2657 (dbxout_type_method_1): Remove second argument which is always
2658 DECL_ASSEMBLER_NAME of the first argument. Use the new interfaces.
2659 (dbxout_type_methods): Remove write-only variables. Use the
2661 (dbxout_parms): Refactor to remove code duplicated in each of
2662 several successive if-else-if blocks. Use the new interfaces.
2663 (dbxout_function_end, emit_bincl_stab, dbxout_end_source_file)
2664 (dbxout_source_line, dbxout_finish, dbxout_type_index)
2665 (dbxout_type_fields, dbxout_range_type, dbxout_type, dbxout_type_name)
2666 (dbxout_class_name_qualifiers, dbxout_symbol, dbxout_symbol_location)
2667 (dbxout_symbol_name, dbxout_reg_parms, dbxout_args)
2668 (dbx_output_lbrac, dbx_output_rbrac, dbxout_block):
2669 Use the new interfaces.
2670 * Makefile.in (dbxout.o): Update dependencies.
2672 * defaults.h: Don't define ASM_STABD_OP.
2673 * output.h: Prototype new dbxout_* interfaces.
2674 * system.h: Poison DBX_OUTPUT_GCC_MARKER and DBX_FINISH_SYMBOL.
2675 * varasm.c: Don't define ASM_STABS_OP.
2676 (default_stabs_asm_out_constructor, default_stabs_asm_out_destructor):
2677 Use the new dbxout.c interfaces. Call sorry if neither
2678 DBX_DEBUGGING_INFO nor XCOFF_DEBUGGING_INFO is defined.
2680 * xcoffout.h: Don't define ASM_STABS_OP.
2681 (DBX_FINISH_SYMBOL): Rewrite and rename DBX_FINISH_STABS.
2682 (DBX_OUTPUT_MAIN_SOURCE_DIRECTORY, DBX_OUTPUT_GCC_MARKER): Delete.
2683 (NO_DBX_MAIN_SOURCE_DIRECTORY, NO_DBX_GCC_MARKER): Define.
2684 (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Change bare block to
2685 do { ... } while (0) idiom.
2687 * config/alpha/alpha.c (num_source_filenames): Export.
2688 * config/alpha/alpha.h (num_source_filenames): Declare.
2689 (DBX_OUTPUT_SOURCE_LINE): Use new interfaces.
2690 (SDB_OUTPUT_SOURCE_LINE): Add missing newline.
2691 * config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Use new interfaces.
2692 Always use .debugsym. Update commentary.
2693 * config/mips/mips.h (DBX_OUTPUT_SOURCE_LINE): Use new interfaces.
2694 (SDB_OUTPUT_SOURCE_LINE): Add missing newline.
2695 * config/rs6000/linux64.h (DBX_OUTPUT_SOURCE_LINE, DBX_OUTPUT_BRAC):
2697 * config/rs6000/rs6000.c: If TARGET_MACHO, include gstab.h.
2698 (macho_branch_islands): Use new interfaces.
2700 * doc/tm.texi: Update.
2702 2004-10-26 Aldy Hernandez <aldyh@redhat.com>
2704 * expr.c (emit_group_store): Do not treat floats as BLKmode.
2705 (emit_group_load): Same.
2707 2004-10-26 Joseph S. Myers <jsm@polyomino.org.uk>
2709 * c-parse.in (datadef): Use pedwarn rather than error and warning
2710 for diagnostic in case of no declaration specifiers.
2712 2004-10-26 Richard Sandiford <rsandifo@redhat.com>
2715 * doc/install.texi (mips-sgi-irix5): Document that /bin/sh has been
2716 reported to hang during bootstrap and that CONFIG_SHELL=/bin/ksh
2717 can be used to work around this.
2719 2004-10-26 Aldy Hernandez <aldyh@redhat.com>
2721 * config/rs6000/rs6000.h (MEMBER_TYPE_FORCES_BLK): Adjust for e500
2724 2004-10-26 Kazu Hirata <kazu@cs.umass.edu>
2726 * stmt.c (expand_case): Update a comment.
2728 2004-10-26 Kazu Hirata <kazu@cs.umass.edu>
2730 * stmt.c (expand_case): Put an assertion that index_expr is
2731 never INTEGER_CST. Don't special case for constant
2734 2004-10-26 Andrew Pinski <pinskia@physics.uc.edu>
2737 * c-parse.in (designator): Finish with a semi-colon.
2739 2004-10-26 Fariborz Jahanian <fjahanian@apple.com>
2741 * config/rs6000/rs6000.md (andsi3_internal8): Set CR when splitting
2744 2004-10-26 Kazu Hirata <kazu@cs.umass.edu>
2746 * stmt.c (expand_case): Remove code to handle SWITCH_EXPR with
2747 a default case only.
2749 2004-10-26 Aldy Hernandez <aldyh@redhat.com>
2751 * config/rs6000/rs6000.c (rs6000_hard_regno_nregs): Adjust for
2753 (spe_build_register_parallel): New.
2754 (rs6000_spe_function_arg): Handle e500 doubles.
2755 (function_arg): Same.
2756 (spe_func_has_64bit_regs_p): Same.
2757 (rs6000_function_value): Same.
2758 (rs6000_libcall_value): Same.
2759 (legitimate_lo_sum_address_p): Return false for e500 doubles.
2761 * config/rs6000/rs6000.h (LOCAL_ALIGNMENT): Adjust for e500
2763 (DATA_ALIGNMENT): Same.
2764 (CANNOT_CHANGE_MODE_CLASS): Same.
2766 2004-10-26 Aldy Hernandez <aldyh@redhat.com>
2768 * expr.c (emit_group_load): Handle floats.
2769 (emit_group_store): Same.
2771 2004-10-26 Nathan Sidwell <nathan@codesourcery.com>
2773 * c-lex.c (get_nonpadding_token): Remove.
2774 (c_lex_with_flags): Push timevar and eat padding here. Improve
2775 stray token diagnostic.
2776 (lex_string): Replace logic with switch statement, eat padding
2779 2004-10-26 Geoffrey Keating <geoffk@apple.com>
2782 * config/i386/darwin.h (ASM_SPEC): Undef it before defining.
2784 2004-10-25 Geoffrey Keating <geoffk@apple.com>
2786 * config/darwin.h (LINK_SPEC): Default weak_reference_mismatches
2788 (MAKE_DECL_ONE_ONLY): Set DECL_WEAK.
2789 (ASM_MAKE_LABEL_LINKONCE): Delete.
2790 (ASM_WEAKEN_DECL): New.
2791 (ASM_DECLARE_OBJECT_NAME): Look at DECL_WEAK not DECL_ONE_ONLY.
2792 (ASM_DECLARE_FUNCTION_NAME): Likewise.
2793 (TEXT_SECTION_ASM_OP): Add a tab.
2794 (DATA_SECTION_ASM_OP): Likewise.
2795 (SECTION_FUNCTION): Add a tab. Use fputs. Don't call
2796 data_section on every section change.
2797 (EXTRA_SECTIONS): Add a bunch of new extra sections.
2798 (EXTRA_SECTION_FUNCTIONS): Likewise.
2799 (USE_SELECT_SECTION_FOR_FUNCTIONS): Define.
2800 (JCR_SECTION_NAME): Define.
2801 (TARGET_SECTION_TYPE_FLAGS): Don't define.
2802 * config/darwin.c (darwin_encode_section_info): A symbol is defined
2803 in this file if it is not weak.
2804 (textcoal_section): Delete.
2805 (datacoal_section): Delete.
2806 (darwin_make_decl_one_only): Delete.
2807 (machopic_select_section): Handle functions.
2808 (darwin_asm_named_section): Add a tab.
2809 (darwin_section_type_flags): Delete.
2810 (darwin_unique_section): Delete contents.
2811 (darwin_emit_unwind_label): Add a tab. Make decls weak if
2813 * config/darwin-protos.h (darwin_section_type_flags): Delete.
2814 (darwin_make_decl_one_only): Delete.
2815 (text_coal_section): New.
2816 (text_unlikely_section): New.
2817 (text_unlikely_coal_section): New.
2818 (const_coal_section): New.
2819 (data_coal_section): New.
2820 (const_data_coal_section): New.
2821 * varasm.c (function_section): Honour
2822 USE_SELECT_SECTION_FOR_FUNCTIONS.
2823 * dwarf2out.c (output_call_frame_info): Look at DECL_WEAK when
2824 TARGET_USES_WEAK_UNWIND_INFO is in effect.
2825 * dbxout.c (dbxout_source_file): Don't change sections while
2826 a function is being output.
2828 2004-10-25 David Ayers <d.ayers@inode.at>
2830 * c-common.h: Remove RID_ID.
2831 * c-parse.in: Remove OBJECTNAME and references to RID_ID.
2832 (typespec_reserved_attr): Add rule for TYPENAME
2833 non_empty_protocolrefs.
2834 (yylexname): Remove special handling of RID_ID.
2836 2004-10-25 James E Wilson <wilson@specifixinc.com>
2838 * doc/invoke.texi (-fcrossjumping): Not enabled at -O.
2840 2004-10-25 Joseph S. Myers <jsm@polyomino.org.uk>
2843 * c-parse.in (array_designator): New.
2844 (designator): Use it.
2845 (initelt): Only permit array_designator without '=', not ".foo".
2847 2004-10-25 Kenneth Zadeck <zadeck@naturalbridge.com>
2848 * gcc/Makefile.in: removed ggc for cgraphunit.
2849 * gcc/cgraph.c.dump_cgraph_node: removed static var analysis.
2850 * gcc/cgraph.h: removed static var analysis data structures and calls.
2852 cgraph_mark_local_and_external_functions:changed name to
2853 cgraph_mark_local_functions
2854 (print_order,convert_UIDs_in_bitmap,new_static_vars_info,
2855 cgraph_reset_static_var_maps,get_global_static_vars_info,
2856 get_global_statics_not_read,get_global_statics_not_written,searchc,
2857 cgraph_reduced_inorder,has_proper_scope_for_analysis,check_rhs_var,
2858 check_lhs_var,get_asm_expr_operands,process_call_for_static_vars,
2859 scan_for_static_refs,cgraph_characterize_statics_local,
2860 clear_static_vars_maps,cgraph_propagate_bits,cgraph_characterize_statics):
2862 (cgraph_optimize,init_cgraph): removed calls to static vars analysis
2863 * gcc/tree-dfa.c find_referenced_vars: removed call to static vars
2865 * gcc/tree-flow.h static_vars_info: removed
2866 * gcc/tree-ssa-operands.c (add_call_clobber_ops,add_call_read_ops):
2867 removed calls to static vars analysis.
2868 get_call_expr_operands: removed callee variable.
2870 2004-10-25 Kazu Hirata <kazu@cs.umass.edu>
2872 * cfg.c (unchecked_make_edge, redirect_edge_succ,
2873 redirect_edge_pred): Use VEC_safe_push instead of
2875 * cfgrtl.c (force_nonfallthru_and_redirect): Likewise.
2877 2004-10-25 Kazu Hirata <kazu@cs.umass.edu>
2879 * cfgloopmanip.c (loopify): Take two more arguments true_edge
2881 * cfgloop.h: Adjust the corresponding prototype.
2882 * loop-unswitch.c (unswitch_loop): Adjust a call to loopify.
2883 * tree-ssa-loop-manip.c (tree_ssa_loop_version): Likewise.
2885 2004-10-25 Jakub Jelinek <jakub@redhat.com>
2887 * dwarf2out.c (rtl_for_decl_location): Avoid segfault if
2888 DECL_INCOMING_RTL is NULL.
2890 2004-10-25 Steven Bosscher <stevenb@suse.de>
2892 * timevar.def (TV_FIND_REFERENCED_VARS): New.
2893 * tree-dfa.c (pass_referenced_var): Use it.
2895 2004-10-25 Roger Sayle <roger@eyesopen.com>
2896 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2898 * cse.c: Change encoding of quantity numbers to avoid undefined
2899 pointer arithmetic on qty_table.
2900 (REGNO_QTY_VALID_P): A quantity is now valid if it isn't negative.
2901 (get_cse_reg_info): Initialize reg_qty to a unique negative value.
2902 (new_basic_block): Assign "real" quantity numbers from zero.
2903 (delete_reg_equiv): Do nothing if quantity is invalid. Reset the
2904 REG_QTY to its unique negative value.
2905 (merge_equiv_classes): Calculate need_rehash if quantity is valid.
2906 (cse_main): Don't include max_reg when determining max_qty.
2907 (cse_basic_block): Avoid subtracting a large offset from qty_table,
2908 which causes undefined C99 behaviour. Only allocate needed memory.
2910 2004-10-25 Kazu Hirata <kazu@cs.umass.edu>
2912 * stmt.c (expand_case): Remove an obsolete comment.
2914 2004-10-25 Andrew Pinski <pinskia@physics.uc.edu>
2917 * c-decl.c (grokdeclarator) <case cdk_array>: Remove the call
2918 layout_type as it is already done by build_array_type.
2919 * tree.c (build_array_type): Layout the type even
2921 2004-10-25 Alexandre Oliva <aoliva@redhat.com>
2923 * config/frv/linux.h (TARGET_C99_FUNCTIONS): Define to 0.
2925 2004-10-25 Alexandre Oliva <aoliva@redhat.com>
2927 * config/frv/frv.md (movdi, movdf): Handle wide-constant splits
2928 with wider-than-32-bit HOST_WIDE_INTs.
2930 2004-10-25 David Billinghurst <David.Billinghurst@riotinto.com>
2932 * config/mips/mips.c(mips_output_filename): Remove unused
2933 array ltext_label_name
2935 2004-10-24 Geoffrey Keating <geoffk@geoffk.org>
2937 * config/rs6000/darwin.h (BLOCK_REG_PADDING): Define.
2939 2004-10-25 Ben Elliston <bje@au.ibm.com>
2941 * cfgcleanup.c (outgoing_edges_match): Fix typo in dump output.
2943 2004-10-23 Andrew Pinski <pinskia@physics.uc.edu>
2945 * predict.c (predict_loops): Call scev_finalize instead of
2948 2004-10-24 Kazu Hirata <kazu@cs.umass.edu>
2950 * config/dbxcoff.h, config/dbxelf.h, config/libgloss.h,
2951 config/openbsd.h, config/mips/r3900.h, config/pdp11/pdp11.md,
2952 config/sh/ushmedia.h, config/sparc/elf.h,
2953 config/sparc/sp64-elf.h: Update copyright.
2955 2004-10-24 Kazu Hirata <kazu@cs.umass.edu>
2957 * stmt.c (expand_case): Handle the default label outside of
2958 the for loop. Remove code to handle a missing default label.
2960 2004-10-23 Kazu Hirata <kazu@cs.umass.edu>
2962 * dbxout.c (dbxout_function_decl): Don't use
2963 DBX_OUTPUT_FUNCTION_END.
2964 * system.h: Poison DBX_OUTPUT_FUNCTION_END.
2965 * doc/tm.texi (DBX_OUTPUT_FUNCTION_END): Remove.
2967 2004-10-23 Andrew Pinski <pinskia@physics.uc.edu>
2970 * tree-cfg.c (remove_usless_stmts_cond): Don't Fold statement.
2972 2004-10-23 Daniel Berlin <dberlin@dberlin.org>
2974 * tree-ssa-dom.c (record_equality): Use loop depth to determine
2975 which way to record the equality as well.
2976 (loop_depth_of_name): New function.
2978 2004-10-23 Eric Botcazou <ebotcazou@libertysurf.fr>
2981 * gimplify.c (gimplify_addr_expr) <VIEW_CONVERT_EXPR>: Look
2982 through the operand if it is a useless type conversion.
2984 2004-10-23 Ben Elliston <bje@au.ibm.com>
2986 * cfg.c (remove_edge): Use VEC_unordered_remove.
2987 (redirect_edge_succ): Likewise.
2988 (redirect_edge_pred): Likewise.
2989 * cfgrtl.c (force_nonfallthru_and_redirect): Likewise.
2991 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
2993 * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP): Don't access PTR
2996 2004-10-22 Eric Christopher <echristo@redhat.com>
2998 * config/rs6000/rs6000.c (setup_incoming_varargs): Align DFmode
3001 2004-10-22 Aldy Hernandez <aldyh@redhat.com>
3003 * config/rs6000/spe.md (spe_extendsfdf2): New.
3004 (movdf_e500_double): New.
3005 (spe_truncdfsf2): New.
3012 (spe_floatsidf2): New.
3013 (spe_floatunssidf2): New.
3014 (fix_truncdfsi2): New.
3015 (spe_fixuns_truncdfsi2): New.
3017 * config/rs6000/rs6000.md (truncdfsf2): Change to expander.
3018 (fpr_truncdfsf2): New.
3019 (negdf2): Change to expander.
3021 (fpr_nabsdf2): Name pattern.
3022 (adddf3): Change to expander.
3024 (subdf3): Change to expander.
3026 (muldf3): Change to expander.
3028 (divdf3): Change to expander.
3030 (movdf_softfloat32): Change !TARGET_FPRS to TARGET_E500_SINGLE.
3031 (cmpdf): Allow for TARGET_E500_DOUBLE.
3033 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
3035 * c-semantics.c (re_push_stmt_list): Remove.
3036 * c-common.h: Remove the corresponding prototype.
3038 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
3040 * stmt.c (asm_op_is_mem_input): Remove.
3041 * tree.h: Remove the corresponding prototype.
3043 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
3045 * tree-gimple.c (is_gimple_constructor_elt): Remove.
3046 * tree-gimple.h: Remove the corresponding prototype.
3048 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
3050 * varasm.c (get_pool_mode_for_function, get_pool_offset):
3052 * rtl.h: Remove the corresponding prototypes.
3054 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
3056 * tree-cfg.c (thread_jumps_from_bb): Speed up by extracting
3057 edge information when we commit ourselves to threading a
3060 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
3062 * tree-cfg.c (thread_jumps): Speed up by putting basic blocks
3063 into worklist instead of their indexes.
3065 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
3067 * alias.c, basic-block.h, cgraphunit.c, combine.c, domwalk.h,
3068 final.c, gengtype.c, genpreds.c, ggc-page.c, insn-notes.def,
3069 lambda-code.c, loop-unroll.c, modulo-sched.c, pointer-set.c,
3070 pretty-print.c, ra-colorize.c, sbitmap.c, tree-complex.c,
3071 tree-data-ref.c, tree-dfa.c, tree-inline.c, tree-into-ssa.c,
3072 tree-scalar-evolution.c, tree-ssa-dom.c,
3073 tree-ssa-loop-manip.c, tree-ssa-loop-niter.c,
3074 tree-ssa-phiopt.c, tree-ssa-pre.c, tree-ssa-threadupdate.c,
3075 tree-vectorizer.c, vec.h: Fix comment formatting.
3077 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
3079 * dwarf.h, gthr-dce.h, gthr-single.h, gthr-solaris.h, gthr.h,
3080 libfuncs.h, libgcc2.h, stab.def, tsystem.h: Update copyright.
3082 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
3084 * config/ptx4.h, config/mcore/mcore-pe.h,
3085 config/rs6000/eabi.h, config/vax/elf.h: Update copyright.
3087 2004-10-22 Peter Barada <peter@the-baradas.com>
3089 * config/m68k/m68k.h (HARD_REGNO_RENAME_OK): New macro.
3090 * config/m68k/m68k.c (m68k_hard regno_rename_ok): Disallow
3091 renaming of non-live registers in interrupt functions.
3092 * config/m68k/m68k-protos.h (m68k_hard_regno_rename_ok): Add prototype.
3094 2004-10-22 Zdenek Dvorak <dvorakz@suse.cz>
3096 * tree-ssa-loop-niter.c (inverse): Count in HOST_WIDE_INT if possible.
3097 Use integer for loop counter.
3098 (num_ending_zeros): New function.
3099 (number_of_iterations_cond): Use num_ending_zeros.
3101 2004-10-21 Aldy Hernandez <aldyh@redhat.com>
3103 * config.gcc: Add support for --enable-e500_double.
3105 * config/rs6000/e500-double.h: New file.
3107 * config/rs6000/rs6000.h: Define TARGET_E500_SINGLE and
3110 * config/rs6000/eabi.h: Define TARGET_E500_SINGLE and
3113 * config/rs6000/linuxspe.h: Same.
3115 * doc/invoke.texi (Option Summary): Document new options for
3117 (RS/6000 and PowerPC Options): Same.
3119 * config/rs6000/rs6000.c (rs6000_parse_float_gprs_option): New
3121 (rs6000_override_options): Use it. Use
3122 SUB3TARGET_OVERRIDE_OPTIONS.
3123 Add 8548 to processor_target_table.
3124 (rs6000_legitimate_address): Handle e500 doubles.
3125 (rs6000_legitimize_address): Same.
3126 (rs6000_legitimize_reload_address): Same.
3127 (rs6000_hard_regno_nregs): Same.
3128 (spe_func_has_64bit_regs_p): Same.
3129 (emit_frame_save): Same.
3130 (gen_frame_mem_offset): Same.
3131 (rs6000_dwarf_register_span): Same.
3132 (rs6000_generate_compare): Same.
3133 (easy_fp_constant): Same.
3134 (legitimate_offset_address_p): Same.
3136 * config/rs6000/spe.md: (cmdfeq_gpr): New.
3145 2004-10-21 Giovanni Bajo <giovannibajo@gcc.gnu.org>
3147 * config/arc/lib1funcs.asm (___umulsidi3): Fix typo.
3149 2004-10-21 Zack Weinberg <zack@codesourcery.com>
3151 * dbxout.c: Remove unnecessary #undefs.
3152 (GDB_INV_REF_REGPARM_STABS_LETTER, DBX_MEMPARM_STABS_LETTER)
3153 (FILE_NAME_JOINER, STABS_GCC_MARKER): Remove; fold sole
3154 definition into use sites.
3155 (cwd): Make local to dbxout_init.
3156 (dbxout_init): Restructure cwd-using logic for clarity. Use
3158 * xcoffout.h (DBX_OUTPUT_GCC_MARKER): Definition of
3159 STABS_GCC_MARKER folded in here.
3160 * system.h: Poison now-unused macros.
3161 * doc/tm.texi: Remove documentation of now-unused macros.
3163 2004-10-21 Andrew Pinski <pinskia@physics.uc.edu>
3166 * c-opts.c (push_command_line_include): Use the current file
3167 name instead of the main one.
3169 2004-10-21 Andrew Pinski <pinskia@physics.uc.edu>
3172 * tree.c (staticp): A CONST_DECL has static storage if either
3173 TREE_STATIC or DECL_EXTERNAL is set.
3174 * c-decl.c (pushdecl_top_level): Accept CONST_DECLs which can
3177 2004-10-21 Kazu Hirata <kazu@cs.umass.edu>
3179 * expr.c (store_expr): Remove dont_store_target.
3181 2004-10-21 Kazu Hirata <kazu@cs.umass.edu>
3183 * tree-cfg.c (thread_jumps): Speed up by using a worklist.
3185 2004-10-21 Kazu Hirata <kazu@cs.umass.edu>
3187 * tree-cfg.c (thread_jumps): Move a part of it to ...
3188 (thread_jumps_from_bb): ... here.
3190 2004-10-21 David Edelsohn <edelsohn@gnu.org>
3192 * dbxout.c (DBX_FINISH_SYMBOL): Add asm_out_file argument.
3193 * xcoffout.h (DBX_FINISH_SYMBOL): Change asmfile to (ASMFILE).
3195 2004-10-21 Kazu Hirata <kazu@cs.umass.edu>
3197 * expr.c (store_expr): Clean up by renaming want_value to
3200 2004-10-21 Kaz Kojima <kkojima@gcc.gnu.org>
3202 * config/sh/linux-unwind.h (sh_fallback_frame_state): Don't
3205 2004-10-21 Aldy Hernandez <aldyh@redhat.com>
3208 * expmed.c (store_bit_field): Pass original 'value' before
3211 2004-10-21 Nicolas Pitre <nico@cam.org>
3213 * config/arm/ieee754-sf.S: Large speed improvements. Fix NAN handling.
3214 * config/arm/ieee754-df.S: Ditto.
3216 2004-10-20 Zack Weinberg <zack@codesourcery.com>
3218 * dbxout.c (asmfile): Delete. All uses changed to asm_out_file.
3219 (DBX_BLOCKS_FUNCTION_RELATIVE, DBX_LINES_FUNCTION_RELATIVE):
3221 (dbxout_source_line): Use DBX_OUTPUT_SOURCE_LINE when defined.
3222 When it is not, but DBX_LINES_FUNCTION_RELATIVE is true, emit
3223 an internal label and an N_SLINE .stabn whose value is the
3224 difference between that label and the function entry label.
3225 (dbxout_finish): If DBX_OUTPUT_MAIN_SOURCE_FILE_END is not defined,
3226 but DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END is, emit a
3227 label and an N_SO stab with an empty string referring to it.
3228 (dbx_output_lbrac, dbx_output_rbrac): Use if statement instead
3229 of #ifdef directive to test DBX_BLOCKS_FUNCTION_RELATIVE.
3230 (dbxout_type_methods, dbxout_symbol): Remove #if 0 block.
3231 (dbxout_prepare_symbol): Remove #ifdef WINNING_GDB block, this
3232 macro is never defined.
3233 * sdbout.c (sdbout_source_line_counter): Delete.
3234 (PUT_SDB_SRC_FILE): Delete. Uses replaced with sole definition.
3235 (sdbout_source_line): Use SDB_OUTPUT_SOURCE_LINE, which takes
3237 * xcoffout.c (ASM_OUTPUT_SOURCE_LINE): Rename ASM_OUTPUT_LINE.
3239 * config/dbxcoff.h, config/dbxelf.h: Remove unncessary #undefs.
3240 * config/c4x/c4x.h, config/pa/pa.h: Remove unnecessary macro
3241 definitions (identical to default).
3242 * config/darwin.h, config/dbxcoff.h, config/dbxelf.h, config/ptx4.h
3243 * config/h8300/coff.h, config/pa/som.h, config/sh/elf.h:
3244 Define DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END, not
3245 DBX_OUTPUT_MAIN_SOURCE_FILE_END.
3246 * config/dbxcoff.h, config/dbxelf.h, config/ptx4.h
3247 * config/mcore/mcore-pe.h, config/pa/som.h, config/sh/elf.h:
3248 Define DBX_LINES_FUNCTION_RELATIVE, not ASM_OUTPUT_SOURCE_LINE.
3249 * config/alpha/alpha-protos.h: Don't prototype alpha_output_lineno.
3250 * config/alpha/alpha.c: Move declaration of num_source_filenames up.
3251 (alpha_start_function): Use SDB_OUTPUT_SOURCE_LINE.
3252 (sym_lineno): Delete.
3253 (alpha_output_filename): Do not emit N_SOL stabs here. Remove
3254 now-unused variable.
3255 (alpha_output_lineno): Delete.
3256 * config/mips/mips-protos.h: Don't prototype mips_output_lineno.
3257 * config/mips/mips.c (mips_output_filename): Don't use
3258 ASM_OUTPUT_FILENAME. Don't emit N_SOL stabs here.
3259 (mips_output_lineno): Delete.
3260 (mips_output_function_prologue: Use SDB_OUTPUT_SOURCE_LINE.
3261 * config/alpha/alpha.h: Define DBX_OUTPUT_SOURCE_LINE and
3262 SDB_OUTPUT_SOURCE_LINE, not ASM_OUTPUT_SOURCE_LINE.
3263 * config/mips/mips.h: Likewise. Don't define ASM_OUTPUT_FILENAME.
3264 * config/mips/sdb.h: Use SDB_OUTPUT_SOURCE_LINE.
3265 * config/avr/avr.h: Don't define ASM_OUTPUT_SOURCE_LINE.
3266 * config/mmix/mmix.h: Likewise.
3267 * config/mmix/mmix.c (mmix_asm_output_source_line): Delete.
3268 * config/mmix/mmix-protos.h: Don't prototype it.
3269 * config/alpha/unicosmk.h: Also #undef PREFERRED_DEBUGGING_TYPE;
3270 no need to #undef ASM_OUTPUT_SOURCE_LINE.
3271 * config/arm/aout.h: Remove RISCiX-specific definition of
3272 DBX_OUTPUT_MAIN_SOURCE_FILENAME.
3273 * config/m32r/m32r.h: Define DBX_OUTPUT_SOURCE_LINE, not
3274 ASM_OUTPUT_SOURCE_LINE.
3275 * config/rs6000/linux64.h (ASM_OUTPUT_SOURCE_LINE): Rename to
3276 DBX_OUTPUT_SOURCE_LINE. Don't use current_function_func_begin_label.
3277 * config/vax/elf.h: No need to define DBX_OUTPUT_FUNCTION_END.
3279 * doc/tm.texi: Update.
3281 2004-10-20 Richard Henderson <rth@redhat.com>
3283 * tree-sra.c (instantiate_element): Copy DECL_IGNORED_P also.
3285 2004-10-20 Kelley Cook <kcook@gcc.gnu.org>
3287 * configure.ac: Revert my previous patch.
3288 * configure: Regenerate.
3290 2004-10-20 Ben Elliston <bje@au.ibm.com>
3292 * config/rs6000/rs6000.c
3293 (rs6000_va_start): Use build_va_arg_indirect_ref.
3294 (rs6000_gimplify_va_arg): Likewise.
3296 2004-10-20 Bryce McKinlay <mckinlay@redhat.com>
3299 * configure.ac: Declare AM_LANGINFO_CODESET.
3300 * aclocal.m4: Define AM_LANGINFO_CODESET.
3301 * configure, config.in: Rebuilt.
3303 2004-10-20 Kazu Hirata <kazu@cs.umass.edu>
3305 * expr.c (store_expr): Remove code that is run when
3306 want_value & 1 is nonzero.
3308 2004-10-20 Mark Mitchell <mark@codesourcery.com>
3310 * gthr-posix.h (__gthread_active_p): Use __extension__ around cast
3311 from function pointer to void *.
3313 2004-10-20 Kaz Kojima <kkojima@gcc.gnu.org>
3316 * config/sh/sh.c (sh_expand_epilogue): Emit a blockage insn before
3317 the frame pointer adjustment when exception handling is enabled.
3319 2004-10-20 Kazu Hirata <kazu@cs.umass.edu>
3321 * stor-layout.c: Fix a comment typo.
3323 2004-10-20 Kazu Hirata <kazu@cs.umass.edu>
3325 * expr.c (store_field): Remove two arguments value_mode and
3327 (expand_assignment, store_constructor_field,
3328 expand_expr_real_1): Adjust calls to store_field.
3330 2004-10-18 Ramana Radhakrishnan <ramana.radhakrishnan@codito.com>
3332 * config/arc/lib1funcs.asm (___umulsidi3): Correct usage of flags.
3335 * config/arc/arc.h (REGNO_OK_FOR_BASE_P,REGNO_OK_FOR_INDEX_P,
3336 REG_OK_FOR_BASE, REG_OK_FOR_INDEX): Consider blink(r31) as a valid
3337 base and index register for loads.
3339 * config/arc/t-arc: Fix multilib handling.
3341 2004-10-20 Hans-Peter Nilsson <hp@bitrange.com>
3343 * cfgrtl.c (rtl_verify_flow_info_1): When checking insns in a bb,
3344 don't inspect BLOCK_FOR_INSN for barriers.
3345 * emit-rtl.c (emit_barrier_before): Revert last change.
3346 (emit_barrier_after, emit_barrier): Ditto.
3348 * doc/extend.texi (Extended Asm): Warn and provide example
3349 solution for using a call-clobbered asm register.
3350 (Local Reg Vars): Similar. Cross-reference example.
3352 2004-10-19 Andrew Pinski <pinskia@physics.uc.edu>
3354 * tree-cfg.c (group_case_labels): Look at the second to last
3355 case statement for combing with the default case.
3357 2004-10-19 Richard Hendeson <rth@redhat.com>
3360 * stor-layout.c (layout_type): Set TYPE_ALIGN for vectors.
3362 2004-10-19 Richard Hendeson <rth@redhat.com>
3364 * builtins.c (expand_builtin_memmove): If fold_builtin_memmove
3365 succeeds, only expand the result.
3367 2004-10-19 Richard Hendeson <rth@redhat.com>
3370 * tree.c (recompute_tree_invarant_for_addr_expr): Always poll address
3373 2004-10-19 Kazu Hirata <kazu@cs.umass.edu>
3375 * tree-cfg.c (thread_jumps): Use a do-while loop instead of a
3378 2004-10-19 Kazu Hirata <kazu@cs.umass.edu>
3380 * expr.c (expand_assignment): Remove the last argument.
3381 Change the return type to void.
3382 * expr.h: Update the prototype of expand_assignment.
3383 * function.c (assign_parm_setup_reg): Update a call to
3385 * stmt.c (expand_asm_expr): Likewise.
3387 2004-10-19 Kazu Hirata <kazu@cs.umass.edu>
3389 * expr.c (expand_expr_real_1) <MODIFY_EXPR>: Remove
3390 unnecessary assignments to temp. Return const0_rtx.
3392 2004-10-19 Kaz Kojima <kkojima@gcc.gnu.org>
3394 * config/sh/sh.c (sh5_schedule_saves): Fix typo.
3396 2004-10-18 Kelley Cook <kcook@gcc.gnu.org>
3398 * configure.ac (powerpc-*-darwin*): Require assembler to support
3400 * configure: Regenerate.
3402 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
3404 * reload1.c (ior_hard_reg_set): Remove.
3405 (finish_spills): Use IOR_HARD_REG_SET instead of
3408 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
3410 * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP): Speed up by shifting
3411 the currently visited word to right.
3413 2004-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
3416 * expmed.c (expand_smod_pow2): Handle modes whose size
3417 is greater than that of HOST_WIDE_INT.
3419 2004-10-18 Ziemowit Laski <zlaski@apple.com>
3421 * c-parse.in (reservedwords): Add OBJC_TYPE_QUAL as alternative.
3423 2004-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
3424 Roger Sayle <roger@eyesopen.com>
3427 * dojump.c (discard_pending_stack_adjust): New function.
3428 (clear_pending_stack_adjust): Call it.
3429 * expr.h (discard_pending_stack_adjust): Declare it.
3430 * explow.c (emit_stack_save): Emit pending stack adjustments
3431 before saving the stack pointer.
3432 (emit_stack_restore): Discard pending stack adjustments before
3433 restoring the stack pointer.
3435 2004-10-18 Richard Henderson <rth@redhat.com>
3437 * c-common.c (handle_mode_attribute): Allow scalar->vector
3440 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
3442 * expr.c (expand_expr_real_1) [MODIFY_EXPR]: Don't request a
3443 value to expand_assignment.
3445 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
3447 * tree-cfg.c (cleanup_tree_cfg): Don't iterate on
3449 (thread_jumps): Iterate until no new forwarder block arises.
3451 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
3453 * tree-cfg.c (tree_forwarder_block_p): Don't set forwardable.
3454 (thread_jumps): Use forwardable as cache of
3455 tree_forwarder_block_p throughout the function.
3457 2004-10-18 Andreas Krebbel <krebbel1@de.ibm.com>
3459 * cfg.c (dump_flow_info): Remove redundant dump of reg life info.
3461 2004-10-18 Andrew Pinski <pinskia@physics.uc.edu>
3465 * tree-cfg.c (remove_bb): If we have a label expression in the
3466 basic block and the label we have taken the address, move the
3467 label expression to the basic block which is previous in the
3469 (tree_verify_flow_info): Fix printing out the label name of the
3470 problematic label expression.
3472 2004-10-18 Pat Haugen <pthaugen@us.ibm.com>
3474 PR rtl-optimization/18002
3475 * simplify-rtx.c (mode_signbit_p): Externalize function...
3476 * rtl.h (mode_signbit_p): ... to here.
3477 * combine.c (simplify_shift_const): Recognize PLUS signbit as
3478 canonical form of XOR signbit and move to outer op.
3480 2004-10-18 Diego Novillo <dnovillo@redhat.com>
3482 * tree-cfg.c (bsi_for_stmt): Rename from stmt_for_bsi.
3484 * tree-ssa.c (replace_immediate_uses): Call bsi_for_stmt.
3485 Don't call fold_stmt more than once, use bsi_replace.
3487 2004-10-18 Diego Novillo <dnovillo@redhat.com>
3489 PR tree-optimization/17656
3490 * tree-ssa.c (replace_immediate_uses): When replacing a
3491 constant, if the call to fold_stmt produced a different
3492 statement, get an appropriate statement pointer by scanning
3495 2004-10-18 Richard Henderson <rth@redhat.com>
3497 * pointer-set.c (hash1): Don't use libm functions in fallback case.
3499 2004-10-18 H.J. Lu <hongjiu.lu@intel.com>
3502 * Makefile.in (clean): Remove libgcc_s$(SHLIB_EXT).1.stage?.
3503 (stage1-start): Remove and copy libunwind.a and
3504 libunwind*$(SHLIB_EXT) instead of libunwind*.
3505 (stage2-start): Likewise.
3506 (stage3-start): Likewise.
3507 (stage4-start): Likewise.
3508 (stageprofile-start): Likewise.
3509 (stagefeedback-start): Likewise.
3511 * config/alpha/t-osf4 (SHLIB_LINK): Use a temporary file for
3512 the shared library to be created and don't remove the existing
3514 * config/arm/t-netbsd (SHLIB_LINK): Likewise.
3515 * config/i386/t-nwld (SHLIB_LINK): Likewise.
3516 * config/mips/t-slibgcc-irix (SHLIB_LINK): Likewise.
3517 * config/pa/t-hpux-shlib (SHLIB_LINK): Likewise.
3518 * config/sh/t-linux (SHLIB_LINK): Likewise.
3519 * config/t-libunwind-elf (SHLIBUNWIND_LINK): Likewise.
3520 * config/t-slibgcc-darwin (SHLIB_LINK): Likewise.
3521 * config/t-slibgcc-elf-ver (SHLIB_LINK): Likewise.
3522 * config/t-slibgcc-sld (SHLIB_LINK): Likewise.
3524 * mklibgcc.in (libgcc-stage-start): Also move "*${objext}s"
3527 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
3529 * basic-block.h (reg_set_iterator): New.
3530 (EXECUTE_IF_SET_IN_REG_SET): Make it iterator style.
3531 (EXECUTE_IF_AND_COMPL_IN_REG_SET): Likewise.
3532 (EXECUTE_IF_AND_IN_REG_SET): Likewise.
3533 * caller-save.c (save_call_clobbered_regs): Adjust to the new
3535 * cfgcleanup.c (thread_jump): Likewise.
3536 * cfgrtl.c (safe_insert_insn_on_edge): Likewise.
3537 * conflict.c (conflict_graph_compute): Likewise.
3538 * flow.c (verify_local_live_at_start, update_life_info,
3539 initialize_uninitialized_subregs, propagate_one_insn,
3540 init_propagate_block_info, free_propagate_block_info,
3541 propagate_block, dump_regset): Likewise.
3542 * global.c (global_conflicts): Likewise.
3543 * graph.c (start_bb): Likewise.
3544 * local-alloc.c (update_equiv_regs): Likewise.
3545 * loop.c (load_mems): Likewise.
3546 * reload1.c (compute_use_by_pseudos, order_regs_for_reload,
3547 find_reg, finish_spills): Likewise.
3548 * resource.c (mark_target_live_regs): Likewise.
3549 * sched-deps.c (sched_analyze_insn): Likewise.
3550 * sched-rgn.c (sched-rgn.c): Likewise.
3551 * config/frv/frv.c (frv_ifcvt_modify_tests): Likewise.
3553 2004-10-18 Jakub Jelinek <jakub@redhat.com>
3555 * config/i386/i386.md (addqi_1_slp): Test for incdec_operand
3556 operand 1 instead of 2
3558 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
3560 * loop-unroll.c: Fix comment typos.
3562 2004-10-18 Revital Eres <eres@il.ibm.com>
3564 * Makefile.in (loop-unroll.o): Add VARRAY_H dependency.
3565 * loop-unroll.c: Include varray.h.
3566 (struct var_to_expand, struct opt_info): Rename split_ivs_info to
3567 opt_info and expand it to support variable expansion.
3568 (analyze_insns_in_loop): Rename analyze_ivs_to_split and
3569 expand it to support variable expansion.
3570 (pt_info_start_duplication): Rename si_info_start_duplication.
3571 (apply_opt_in_copies): Rename split_ivs_in_copies and add support
3572 to the variable expansion optimization.
3573 (free_opt_info): Rename free_si_info.
3574 (analyze_insn_to_expand_var, referenced_in_one_insn_in_loop_p,
3575 expand_var_during_unrolling, insert_var_expansion_initialization,
3576 combine_var_copies_in_loop_exit, release_var_copies,
3577 get_expansion): New functions.
3578 (peel_loop_completely, unroll_loop_constant_iterations,
3579 unroll_loop_runtime_iterations, peel_loop_simple,
3580 unroll_loop_stupid): Change uses of struct si_info
3582 and add uses of fvariable-expansion-in-unroller flag.
3583 * params.def: Add parameter to restrict the number of expansions.
3584 * params.h: (MAX_VARIABLE_EXPANSIONS): New define to restrict
3585 the number of expansions.
3586 * common.opt: (fvariable-expansion-in-unroller): New flag.
3587 * doc/invoke.texi: (fvariable-expansion-in-unroller): Document.
3589 2004-10-18 Danny Smith <dannysmith@users.sourceforge.net>
3591 * config/i386/cygming.h (TARGET_OS_CPP_BUILTINS): Define
3592 __GXX_MERGED_TYPEINFO_NAMES to 0.
3594 2004-10-17 Hans-Peter Nilsson <hp@bitrange.com>
3596 * cfgrtl.c (rtl_verify_flow_info_1): When checking insns in a bb,
3597 handle barriers in a bb by checking that it points to a NULL bb.
3598 * emit-rtl.c (emit_barrier_before): Set BLOCK_FOR_INSN to NULL.
3599 (emit_barrier_after, emit_barrier): Ditto.
3601 2004-10-18 Joseph S. Myers <jsm@polyomino.org.uk>
3603 * doc/extend.texi (Attribute Syntax): Clarify details of
3604 attributes on parameters.
3606 2004-10-17 Zdenek Dvorak <dvorakz@suse.cz>
3608 * tree-ssa-loop-ivopts.c (tree_ssa_iv_optimize): Move checking out of
3611 2004-10-17 Andrew Pinski <pinskia@physics.uc.edu>
3614 2004-10-17 Andrew Pinski <pinskia@physics.uc.edu>
3616 * c-typeck.c (default_function_array_conversion): Always create
3617 &a[0] for array types.
3618 (build_unary_op): Do not fold &a[x] into a + x.
3620 2004-10-17 Andrew Pinski <pinskia@physics.uc.edu>
3623 * cfgexpand.c (expand_gimple_cond_expr): Emit line notes for next basic
3624 block if there is a goto with a locus.
3626 2004-10-17 Kazu Hirata <kazu@cs.umass.edu>
3628 * config/elfos.h, config/gofast.h, config/interix.h,
3629 config/netbsd.h, config/svr3.h, config/vxworks.h,
3630 config/alpha/alpha-modes.def, config/alpha/alpha-protos.h,
3631 config/alpha/ev4.md, config/alpha/ev5.md, config/alpha/ev6.md,
3632 config/alpha/netbsd.h, config/arm/arm-modes.def,
3633 config/arm/unknown-elf.h, config/c4x/c4x-modes.def,
3634 config/cris/aout.h, config/frv/frv-modes.def,
3635 config/i386/beos-elf.h, config/i386/gas.h,
3636 config/i386/i386-coff.h, config/i386/i386-modes.def,
3637 config/i386/linux.h, config/i386/linux64.h,
3638 config/i386/mingw32.h, config/i386/netbsd-elf.h,
3639 config/i386/netbsd64.h, config/i386/sco5.h,
3640 config/i386/sol2.h, config/i386/uwin.h, config/i860/i860.md,
3641 config/ia64/ia64-modes.def, config/ia64/itanium1.md,
3642 config/ia64/itanium2.md, config/m68k/m68k-modes.def,
3643 config/mips/mips-modes.def, config/mips/sdb.h,
3644 config/mips/vr.h, config/mips/vxworks.h,
3645 config/pa/pa-hpux10.h, config/pa/pa-hpux11.h,
3646 config/pa/pa32-linux.h, config/rs6000/40x.md,
3647 config/rs6000/7450.md, config/rs6000/8540.md,
3648 config/rs6000/linuxspe.h, config/rs6000/power4.md,
3649 config/rs6000/rs6000-modes.def, config/rs6000/rtems.h,
3650 config/rs6000/spe.h, config/s390/2064.md, config/s390/linux.h,
3651 config/s390/s390-modes.def, config/sh/elf.h,
3652 config/sh/sh-modes.def, config/sh/sh64.h,
3653 config/sparc/ultra1_2.md, config/sparc/ultra3.md,
3654 config/stormy16/stormy16.md, config/v850/v850-protos.h,
3655 config/vax/vax.md: Update copyright.
3657 2004-10-17 Kazu Hirata <kazu@cs.umass.edu>
3659 * expr.c (expand_expr_real_1): Remove an obsolete comment.
3661 2004-10-17 Andrew Pinski <pinskia@physics.uc.edu>
3663 * c-typeck.c (default_function_array_conversion): Always create
3664 &a[0] for array types.
3665 (build_unary_op): Do not fold &a[x] into a + x.
3667 2004-10-17 Jakub Jelinek <jakub@redhat.com>
3669 * pointer-set.c (hash1): Use integer part of 2^64 / phi
3670 instead 2^32 / phi if long is 64-bit.
3672 2004-10-17 Joseph S. Myers <jsm@polyomino.org.uk>
3674 * c-common.h (enum rid): Remove RID_PTRBASE, RID_PTREXTENT and
3676 * c-parse.in (PTR_VALUE, PTR_BASE, PTR_EXTENT): Remove %token
3678 (reswords): Remove __ptrbase, __ptrbase__, __ptrextent,
3679 __ptrextent__, __ptrvalue and __ptrvalue__.
3680 (rid_to_yy): Remove RID_PTRBASE, RID_PTREXTENT and RID_PTRVALUE
3683 2004-10-16 Dale Johannesen <dalej@apple.com>
3685 * c-common.c (c_common_get_alias_set): Use GGC for type_hash_table.
3687 2004-10-16 Zdenek Dvorak <dvorakz@suse.cz>
3689 PR tree-optimization/17766
3690 * basic-block.h (enum dom_state): DOM_CONS_OK removed.
3691 (dom_info_available_p): Declare.
3692 * cfghooks.c (split_block, make_forwarder_block): Use
3693 dom_info_available_p.
3694 * dominance.c (compute_dom_fast_query, calculate_dominance_info,
3695 free_dominance_info, verify_dominators): Ditto.
3696 (dom_info_available_p): New function.
3697 * tree-cfg.c (cleanup_control_expr_graph): Free dominance information.
3698 (thread_jumps): Use dom_info_available_p.
3699 * tree-complex.c (expand_complex_div_wide): Ditto.
3700 * tree-mudflap.c (mf_build_check_statement_for): Ditto.
3702 2004-10-16 Zdenek Dvorak <dvorakz@suse.cz>
3704 * tree-ssa-loop-ivopts.c (struct ivopts_data): New field important_candidates.
3705 (find_best_candidate): Take also important candidates into account.
3706 (find_optimal_iv_set): Initialize important_candidates bitmap.
3708 2004-10-16 Zdenek Dvorak <dvorakz@suse.cz>
3710 PR tree-optimization/17560
3711 * predict.c (tree_estimate_probability): Mark irreducible
3714 2004-10-16 Zdenek Dvorak <dvorakz@suse.cz>
3716 PR rtl-optimization/17723
3717 * cfgcleanup.c (merge_memattrs): Handle case when
3718 MEM_SIZE == NULL_RTX.
3720 2004-10-15 Andrew Pinski <pinskia@physics.uc.edu>
3722 * toplev.c (dump_file_name): Change type to be const.
3724 2004-10-15 Joseph S. Myers <jsm@polyomino.org.uk>
3726 * c-typeck.c (build_compound_expr, build_c_cast): Don't try to use
3727 non_lvalue to stop something being a null pointer constant.
3729 2004-10-15 Aldy Hernandez <aldyh@redhat.com>
3731 * config/rs6000/rs6000.h (FUNCTION_ARG_REGNO_P): FPRs are only
3732 available for TARGET_FPRS.
3733 (FUNCTION_VALUE_REGNO_P): Same.
3735 2004-10-15 Geoffrey Keating <geoffk@apple.com>
3737 * doc/invoke.texi (RS/6000 and PowerPC Options): Document
3738 -maltivec in same style as other ISA options.
3740 2004-10-15 Jon Grimm <jgrimm2@us.ibm.com>
3742 * config/host-linux.c (TRY_EMPTY_VM_SPACE): Add __powerpc__
3745 2004-10-15 Kazu Hirata <kazu@cs.umass.edu>
3747 * bitmap.c, bitmap.h, builtin-attrs.def, cfglayout.h,
3748 collect2.h, conflict.c, coretypes.h, coverage.h, errors.h,
3749 gcc.h, gcov-dump.c, gen-protos.c, gencheck.c, gencodes.c,
3750 genconstants.c, gengenrtl.c, genmodes.c, genpeep.c,
3751 gensupport.h, graph.h, gthr-gnat.c, gthr-gnat.h, gthr-posix.c,
3752 gthr-posix.h, hard-reg-set.h, hwint.h, integrate.h, libgcc2.c,
3753 lists.c, machmode.def, mips-tdump.c, opts.h, params.c,
3754 predict.def, predict.h, protoize.c, reload.h, resource.h,
3755 rtl-error.c, sbitmap.c, sbitmap.h, sreal.c, tlink.c,
3756 tree-dump.h, tree-inline.h, unwind-dw2-fde.c, unwind-dw2.c,
3757 unwind-sjlj.c, value-prof.h: Update copyright.
3759 2004-10-15 Kazu Hirata <kazu@cs.umass.edu>
3761 * pointer-set.c, tree-vectorizer.c: Fix comment typos.
3763 2004-10-15 Diego Novillo <dnovillo@redhat.com>
3765 * tree-optimize.c (execute_one_pass): Stop timer right after
3768 2004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
3771 2004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
3774 * tree-cfg.c (remove_usless_stmts_cond): Fold statement.
3775 (remove_useless_stmts_1): Fold trees we know how to fold.
3777 2004-10-14 David Edelsohn <edelsohn@gnu.org>
3779 * configure.ac: Add .machine power4 directive when testing for
3781 * configure: Regenerate.
3783 2004-10-14 Geoffrey Keating <geoffk@apple.com>
3785 * config/darwin.h (JUMP_TABLES_IN_TEXT_SECTION): Don't define.
3787 2004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
3789 * tree-vectorizer.c (vect_transform_loop): Declare vectorization_factor
3792 2004-10-14 Daniel Jacobowitz <dan@codesourcery.com>
3794 * config/rs6000/rs6000.h (REG_CLASS_FROM_LETTER): Return NO_REGS
3795 for 'f' if !TARGET_FPRS.
3797 2004-10-14 Richard Henderson <rth@redhat.com>
3800 * dwarf2out.c (loc_descriptor_from_tree_1): Handle FIX_*_EXPR.
3802 2004-10-14 Richard Henderson <rth@redhat.com>
3805 * c-decl.c (store_parm_decls_oldstyle): Care for parameter type
3807 * c-parse.in (compstmt_primary_start): Check cur_stmt_list non-null
3808 instaed of current_function_decl non-null.
3810 2004-10-14 Matt Austern <austern@apple.com>
3812 * pointer-set.c: New file, special-purpose hash table.
3813 * pointer-set.h: New file.
3814 * tree.h (struct pointer_set_t): Declare as opaque type.
3815 (tree_walk): Last argument is pointer_set_t* now.
3816 * tree-inline.c (WALK_SUBTREE): Convert from htab to pset.
3818 (walk_tree): Convert from htab_t to pointer_set_t for keeping
3819 track of which nodes have already been visited.
3820 (walk_tree_without_duplicates): Convert from htab_t to pointer_set_t.
3821 * cgraphunit.c (cgraph_create_edges): Likewise.
3822 (cgraph_characterize_statics_local): Likewise.
3823 * tree-dfa.c (collect_dfa_stats): Likewise.
3824 * langhooks-def.h (lhd_tree_inlining_walk_subtrees): Last arg is
3826 * langhooks.c (lhd_tree_inlining_walk_subtrees): Likewise.
3827 * langhooks.h (struct lang_hooks_for_tree_inlining): Last arg type
3828 of walk_subtrees is pointer_set_t* now.
3829 * Makefile.in (OBJS-common): add pointer-set.o
3830 (tree-inline.o): Depends on pointer-set.h
3831 (tree-dfa.o): Likewise
3832 (cgraphunit.o): Likewise
3834 2004-10-14 Geoffrey Keating <geoffk@apple.com>
3836 * config/rs6000/darwin.h (ASM_SPEC): Delete.
3837 (TARGET_ASM_FILE_START): Define.
3838 * config/darwin.h (ASM_SPEC): Define.
3839 * config/rs6000/t-darwin (TARGET_LIBGCC2_CFLAGS): Don't supply
3840 -mlong-double-128, it's the default. Update comment about reason
3841 for force_cpusubtype_ALL.
3842 * config/rs6000/darwin-vecsave.asm: Supply .machine.
3843 * config/rs6000/darwin-world.asm: Likewise.
3844 * config/rs6000/rs6000.c (rs6000_darwin_file_start): New.
3845 (symbolic_operand): Delete #if 0ed code.
3847 2004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
3849 * stmt.c (add_case_node): Make sure that we have integer
3850 constant before calling tree_int_cst_compare.
3852 2004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
3856 * tree-cfg.c (remove_usless_stmts_cond): Fold statement.
3857 (remove_useless_stmts_1): Fold trees we know how to fold.
3859 2004-10-14 Joseph S. Myers <joseph@codesourcery.com>
3861 * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS),
3862 config/rs6000/linuxspe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Disallow
3865 2004-10-14 Ulrich Weigand <uweigand@de.ibm.com>
3867 * reload.c (find_reloads): When reloading a PLUS with constant
3868 operand, make sure the constant is pushed to the constant pool
3870 * config/s390/s390.c (s390_secondary_input_reload_class): Remove
3871 reload bug workaround.
3872 (s390_expand_plus_operand): Likewise.
3874 2004-10-14 David Edelsohn <edelsohn@gnu.org>
3876 * opts.c (common_handle_option): Do not enable
3877 flag_speculative_prefetching for -fprofile-generate/use.
3879 2004-10-14 Devang Patel <dpatel@apple.com>
3882 * tree-if-conv.c (process_phi_nodes): Process latch block.
3883 (combine_blocks): Process latch block and update loop structure.
3885 2004-10-14 Olga Golovanevsky <olga@il.ibm.com>
3887 * tree-vectorizer.c (vect_generate_tmps_on_preheader):
3888 (vect_update_ivs_after_vectorizer):
3889 (vect_transform_for_unknown_loop_bound):
3890 (tree_duplicate_loop_to_edge):
3891 (allocate_new_names):
3894 (rename_variables_in_bb):
3896 (rename_variables_in_loop):
3898 (update_phis_for_duplicate_loop):
3899 (update_phi_nodes_for_guard):
3900 (make_loop_iterate_ntimes):
3901 (tree_duplicate_loop_to_edge_cfg):
3903 (vect_analyze_loop_with_symbolic_num_of_iters):
3904 (verify_loop_for_duplication):
3905 (vect_gen_niters_for_prolog_loop):
3906 (vect_update_niters_after_peeling):
3907 (vect_update_inits_of_dr):
3908 (vect_update_inits_of_drs):
3909 (vect_build_loop_niters):
3910 (vect_do_peeling_for_alignment): New functions.
3911 (vect_transform_loop): Add unknown and known but indivisible loop
3912 bound support; add peeling for unalignment support.
3913 (vect_analyze_loop_form): Support symbolic number of iterations.
3914 (vect_transform_loop_bound): New input parameter.
3915 (vect_get_loop_niters): Change input parameter type.
3916 (new_loop_vec_info): LOOP_VINFO_NITERS is tree now.
3917 (vectorizable_store): Allow unaligned access.
3918 (vectorize_loops): Add rewrite_into_loop_closed_ssa.
3919 (vect_analyze_data_refs_alignment): Allowed one unaligned
3921 * tree-vectorizer.h (LOOP_VINFO_NITERS_KNOWN_P): Redefined
3923 (LOOP_VINFO_INT_NITERS): New macro.
3924 (MAX_NUMBER_OF_UNALIGNED_DATA_REFS): New define.
3925 (do_peeling_for_alignment):
3926 (unaligned_drs): New members of _loop_vec_info.
3927 (LOOP_DO_PEELING_FOR_ALIGNMENT): New macro.
3929 2004-10-14 Ranjit Mathew <rmathew@hotmail.com>
3931 * tree.h (TREE_STRING_POINTER): Wrap in "const char *".
3932 (struct tree_string): Remove "const" qualifier for "str".
3934 2004-10-14 Ira Rosen <irar@il.ibm.com>
3936 * tree-vectorizer.c (vect_analyze_data_refs): Call
3937 vect_get_base_and_bit_offset to get memory tag for array ref.
3938 (vect_create_addr_base_for_vector_ref): Remove redundant checks.
3940 2004-10-14 Richard Earnshaw <rearnsha@arm.com>
3942 * configure.ac: Use $LN_S for creating symlinks (not $LN).
3943 * configure: Regenerate.
3945 2004-10-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3947 * doc/install.texi (*-*-solaris2*): Update with info about kernel
3948 patches to solve spurious testsuite failures.
3950 2004-10-14 Dorit Naishlos <dorit@il.bim.com>
3952 * tree-vectorizer.c (get_vectype_for_scalar_type): Added debug prinouts.
3953 Added check that vectype is VECTOR_MODE_P, instead of check for BLKmode.
3954 (vect_analyze_operations): Make sure the vectorization factor > 1. Add
3955 gcc_assert under ENABLE_CHECKING.
3956 (vectorizable_operation): Remove check for VECTOR_MODE_P (moved to
3957 get_vectype_for_scalar_type).
3959 (vect_get_vec_def_for_operand): Remove redundant variables.
3960 (vect_transform_loop): Likewise.
3962 2004-10-14 Richard Sandiford <rsandifo@redhat.com>
3964 * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Make r11 fixed and
3965 global for -mcaller-super-interworking.
3966 (CALLER_INTERWORKING_SLOT_SIZE): New macro.
3967 * config/arm/arm.c (thumb_compute_save_reg_mask): Save r11 if
3968 CALLER_INTERWORKING_SLOT_SIZE is nonzero and the function does
3969 not need a frame pointer.
3970 (arm_get_frame_offsets): Add CALLER_INTERWORKING_SLOT_SIZE bytes to
3971 the soft frame pointer offset.
3972 (thumb_expand_prologue): Set up r11 for -mcaller-super-interworking.
3973 * config/arm/arm.md (*call_reg_thumb, *call_value_reg_thumb): Use
3974 _interwork_{r7,r11}_call_via_rN if some arguments are passed on
3975 the stack. Use frame_pointer_needed to choose between them.
3976 * config/arm/lib1funcs.asm (_arm_return_{r7,r11}): New functions.
3977 (interwork_with_frame): New macro.
3978 (interwork): Add _interwork_{r7,r11}_call_via_rN().
3980 2004-10-14 Ben Elliston <bje@au.ibm.com>
3983 * diagnostic.c (trim_filename): Fix logic bug in walking backwards
3984 up the filename looking for a previous directory separator.
3986 2004-10-14 Joseph S. Myers <jsm@polyomino.org.uk>
3988 * c-tree.h (enum c_typespec_kind, struct c_typespec,
3989 parser_xref_tag): New.
3990 (struct c_declspecs): Add tag_defined_p. Adjust definition of
3992 (declspecs_add_type): Adjust prototypes.
3993 * c-parse.in (%union): Add tstype.
3994 (typespec_nonattr, typespec_attr, typespec_reserved_nonattr,
3995 typespec_reserved_attr, typespec_nonreserved_nonattr,
3996 structsp_attr, structsp_nonattr): Change to tstype. Update
3998 * c-decl.c (build_null_declspecs): Initialize tag_defined_p.
3999 (declspecs_add_type): Update to take struct c_typespec argument.
4000 Set tag_defined_p and typedef_p as appropriate.
4001 (xref_tag): Rename to parser_xref_tag and replace by wrapper.
4002 Update to return struct c_typespec.
4003 (shadow_tag_warned): Don't let empty declarations with qualifiers
4004 or storage class specifiers redeclare a tag if a previous
4005 declaration is visible.
4007 2004-10-13 Richard Henderson <rth@redhat.com>
4010 * dwarf2out.c (rtl_for_decl_location): Apply big-endian correction
4011 for DECL_INCOMING_RTL.
4013 2004-10-14 Hans-Peter Nilsson <hp@axis.com>
4016 * config/cris/cris.md (asrandb, asrandw, lsrandb, lsrandw): Apply
4017 trunc_int_for_mode for constants used in shortened mode.
4019 2004-10-13 Richard Henderson <rth@redhat.com>
4022 * c-common.c (handle_mode_attribute): Disallow mode changes that
4023 alter the CODE of the top-level type.
4025 * crtstuff.c (__FRAME_END__): Remove mode attribute. Find 32-bit
4026 integer from internal limits macros.
4027 * config/i386/mm3dnow.h (__v2sf): Fix base type.
4029 2004-10-13 Richard Henderson <rth@redhat.com>
4032 * function.c (instantiate_decl): Recurse for CONCAT.
4034 2004-10-13 David Edelsohn <edelsohn@gnu.org>
4036 * config/rs6000/rs6000.md (andsi3): Add attribute "compare" for
4039 (extzvdi_internal1): Add attribute "compare".
4040 (extzvdi_internal2): Same.
4042 2004-10-12 Tom Tromey <tromey@redhat.com>
4044 * doc/md.texi (Insn Canonicalizations): Removed extraneous quote.
4046 2004-10-13 Dale Johannesen <dalej@apple.com>
4048 * doc/extend.texi (Extended Asm): Rewrite asm volatile description.
4050 2004-10-13 Frank Ch. Eigler <fche@redhat.com>
4052 * toplev.c (compile_file): Call mudflap_finish_file from here ...
4053 * c-decl.c (c_write_global_declarations): ... instead of here ...
4054 * cp/decl.c (cp_finish_file): ... and here.
4055 * tree-mudflap.c (mudflap_enqueue_decl): Reword a warning message.
4057 2004-10-13 Andrew Pinski <pinskia@physics.uc.edu>
4059 * tree-ssa-dom.c (record_range): Free the element if we are not
4062 2004-10-13 Tom Tromey <tromey@redhat.com>
4065 * gcc.c (option_map): Added --extdirs and --encoding.
4067 2004-10-13 Eric Botcazou <ebotcazou@libertysurf.fr>
4070 * config/sparc/sparc.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Set to
4071 sparc_can_output_mi_thunk.
4072 (sparc_output_mi_thunk): Simplify handling of delta offset. Add
4073 handling of vcall offset.
4074 (sparc_can_output_mi_thunk): New predicate.
4075 * doc/tm.texi (TARGET_ASM_OUTPUT_MI_THUNK): Document VCALL_OFFSET.
4076 (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Delete.
4077 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New target hook.
4079 * config/sparc/sparc.c (emit_and_preserve): Preserve stack alignment.
4081 * config/sparc/sparc.md (movdi): Remove redundant test.
4083 2004-10-13 Paolo Bonzini <bonzini@gnu.org>
4085 * tree-dump.c (dump_options): Remove TDF_TREE, TDF_RTL,
4086 TDF_IPA from -fdump-tree-*-all.
4088 2004-10-13 Paul Brook <paul@codesourcery.com>
4090 * config/arm/arm-protos.h (arm_load_pic_register): Update prototype.
4091 * config/arm/arm.c (thumb_find_work_register): Update comments.
4092 (arm_load_pic_register): Add argument for scratch register.
4093 (arm_expand_prologue, thumb_expand_prologue): Pass extra argument.
4094 * config/arm/arm.md (builtin_setjmp_receiver): Ditto.
4096 2004-10-13 Kazu Hirata <kazu@cs.umass.edu>
4098 * tree-data-ref.c: Fix comment typos.
4100 2004-10-13 Jakub Jelinek <jakub@redhat.com>
4101 Zdenek Dvorak <dvorakz@suse.cz>
4103 PR tree-optimization/17724
4104 * tree-cfg.c (tree_purge_dead_eh_edges): Free dominance info.
4106 2004-10-13 Dorit Naishlos <dorit@il.ibm.com>
4108 * rs6000.c (altivec_builtin_mask_for_load): Made static GTY(()).
4109 (altivec_builtin_mask_for_store): Likewise.
4110 (altivec_init_builtins): Use lang_hooks.builtin_function to