1 2004-11-18 Andreas Schwab <schwab@suse.de>
3 * config/i386/i386.md (define_peephole2): Revert last change.
5 2004-11-18 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.comn>
7 * config/m32r/linux.h (TARGET_ASM_FILE_END): Set
8 TARGET_ASM_FILE_END to file_end_indicate_exec_stack.
10 2004-11-18 Diego Novillo <dnovillo@redhat.com>
12 * tree-ssa-propagate.c (ssa_prop_init): Use FOR_ALL_BB instead
15 2004-11-18 Jon Grimm <jgrimm2@us.ibm.com>
17 * Makefile.in (macro_list): Depend on s-macro_list.
18 (s-macro_list): New target.
20 2004-11-18 Nathan Sidwell <nathan@codesourcery.com>
23 * fold-const.c (RANGE_TEST_NON_SHORT_CIRCUIT): Rename to ...
24 (LOGICAL_OP_NON_SHORT_CIRCUIT): ... here.
25 (fold_range_test): Adjust.
26 (fold_truthop): Use it.
27 * config/rs6000/rs6000.h (RANGE_TEST_NON_SHORT_CIRCUIT): Rename to ...
28 (LOGICAL_OP_NON_SHORT_CIRCUIT): ... here.
30 2004-11-18 Uros Bizjak <uros@kss-loka.si>
32 * configure/i386/i386.md (*fix_trunch_1): Add "&& 1" to
33 insn split constraint.
34 (define_peephole2): Remove unneeded "&& 1" from peephole2
37 2004-11-18 Ben Elliston <bje@au.ibm.com>
39 * doc/cfg.texi (Maintaining the CFG): Remove duplicated @item
40 element for bsi_prev; use @findex instead.
42 2004-11-18 Ben Elliston <bje@au.ibm.com>
44 * opts.h (add_input_filename): Remove extern declaration.
45 * opts.c (add_input_filename): Make static.
47 2004-11-17 Mark Mitchell <mark@codesourcery.com>
49 * config/i386/i386.c (i386_solaris_elf_named_section): Mark with
52 2004-11-17 Zack Weinberg <zack@codesourcery.com>
54 * defaults.h, config/darwin.h: Don't define TARGET_SUPPORTS_HIDDEN.
55 * system.h: Poison it.
56 * doc/tm.texi: Delete its documentation.
58 2004-11-18 Daniel Jacobowitz <dan@codesourcery.com>
59 Mark Mitchell <mark@codesourcery.com>
61 * config/i386/sol2-10.h, config/i386/t-sol2-10: New files.
62 * config/i386/i386.c (i386_solaris_elf_named_section): New
64 * config.gcc (i[34567]86-*-solaris2*): Handle Solaris 2.10.
65 * config/i386/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Handle
67 (ASM_QUAD): Don't undefine for biarch targets.
68 * config/i386/t-sol2: Introduce multilib support.
70 2004-11-18 Ben Elliston <bje@au.ibm.com>
72 * cgraphunit.c: Replace "it's" with "its" and fix a typo.
74 2004-11-18 Ben Elliston <bje@au.ibm.com>
76 * cgraph.h: Replace "it's" with "its" throughout.
78 2004-11-18 Ben Elliston <bje@au.ibm.com>
80 * doc/rtl.texi (Flags): Grammar fix.
82 2004-11-17 Kazu Hirata <kazu@cs.umass.edu>
84 * expmed.c (alg_code): Add alg_unknown.
85 (alg_hash_entry): New.
86 (NUM_ALG_HASH_ENTRIES): Likewise.
88 (synth_mult): Cache the result into alg_hash.
90 2004-11-17 Zack Weinberg <zack@codesourcery.com>
92 * config/rs6000/t-darwin: Augment SHLIB_MAPFILES with
93 config/rs6000/libgcc-ppc64.ver.
95 2004-11-17 Kazu Hirata <kazu@cs.umass.edu>
97 * cfgrtl.c (rtl_verify_flow_info): Don't use INSN_P when
98 checking if an unconditional return is followed by a barrier.
100 * jump.c (condjump_p): Remove unreachable code.
102 * basic-block.h, c-common.h, df.h, expr.h, output.h, rtl.h,
103 tree-chrec.h, tree-flow.h, tree-scalar-evolution.h,
104 tree-ssa-live.h, tree.h: Remove unused prototypes.
106 2004-11-17 Jeff Law <law@redhat.com>
108 * tree-cfg.c (edge_to_cases): Renamed from edge_to_case_leader.
109 (edge_to_cases_elt): Renamed from edge_to_case_leader.
110 (edge_to_cases_hash): Renamed from edge_to_case_leader_hash.
111 (edge_to_cases_eq): Renamed from edge_to_case_leader_eq.
112 (edge_to_cases_cleanup, recording_case_labels_p): New functions.
113 (get_cases_for_edge): New function.
114 (start_recording_case_labels, end_recording_case_labels): Similarly.
115 (record_switch_edge): Don't muck with the CASE_LABEL. Instead
116 chain equivalent CASE_LABEL_EXPRs together.
117 (get_case_leader_for_edge, get_case_leader_for_edge_hash): Kill.
118 (make_switch_expr_edges): Do not record edge/cases here.
119 (cleanup_tree_cfg): Record cases around the call to thread_jumps.
120 (split_critical_edges): Record cases around the edge splitting code.
121 (cleanup_dead_labels): Use CASE_LABEL again.
122 (tree_redirect_edge_and_branch): If we have a mapping from edge
123 to cases, use it to handle redirections. Else do it the slow way.
124 * tree.h (CASE_LEADER_OR_LABEL): Kill.
125 (CASE_LABEL): Revert to just looking at the tree's second operand.
126 * tree.c (get_case_label): Kill.
128 2004-11-17 Diego Novillo <dnovillo@redhat.com>
130 PR tree-optimization/18307
131 * tree-ssa-alias.c (merge_pointed_to_info): ICE if 'dest' and
132 'orig' are the same node.
133 (collect_points_to_info_r): Do not call merge_pointed_to_info
134 when the PHI argument is identical to the LHS.
136 2004-11-17 Steven Bosscher <stevenb@suse.de>
138 * tree-ssa-propagate.c (cfg_blocks_add): Assert we're not trying
139 to insert the exit or entry block.
140 (ssa_prop_init): Use add_control_edge to seed the algorithm.
142 2004-11-16 Zack Weinberg <zack@codesourcery.com>
144 * mkmap-flat.awk, mkmap-symver.awk: If the last version
145 assigned to a symbol was '%exclude', do not emit it anywhere.
146 If leading_underscore is true, prefix all symbols from the
147 version scripts with a leading underscore before comparing
148 them with nm output or emitting them. Remove support for dot
150 * config/t-slibgcc-darwin (SHLIB_LINK): Use mkmap-flat.awk.
151 (SHLIB_MAPFILES): Use libgcc-std.ver.
152 (SHLIB_MKMAP_OPTS): Enable leading-underscore mode.
153 (SHLIB_LINK): Add -Wl,-exported_symbols_list,$(SHLIB_MAP).
154 * config/sh/t-linux: Use the normal libgcc-std.ver, plus
155 libgcc-excl.ver and libgcc-glibc.ver.
157 * config/sh/libgcc-excl.ver: New file.
158 * config/sh/libgcc-std.ver, libgcc-darwin.ver: Delete.
160 2004-11-16 Daniel Berlin <dberlin@dberlin.org>
162 * lambda-code.c (lambda_loopnest_to_gcc_loopnest): Swap
163 the test when the edge has the opposite meaning, not when
164 the first argument is invariant.
166 2004-11-16 Aldy Hernandez <aldyh@redhat.com>
168 * config/rs6000/rs6000.c (rs6000_override_options): Split e500v2
170 (rs6000_complex_function_value): Handle e500 v2 variant.
172 2004-11-16 Daniel Berlin <dberlin@dberlin.org>
174 Fix PR tree-optimization/18519
176 * tree-optimize (execute_todo): Add case for TODO_cleanup_cfg.
177 * tree-pass.h: Add TODO_cleanup_cfg.
178 * tree-ssa-ccp.c (pass_ccp): Use TODO_cleanup_cfg.
179 (ccp_finalize): Remove call to cleanup_cfg.
180 * tree-ssa-dce.c (pass_dce): Use TODO_cleanup_cfg and TODO_dump_func.
181 (pass_cd_dce): Ditto.
182 (perform_tree_ssa_dce): Remove call to cleanup_cfg,
183 dump_function_to_file.
184 * tree-ssa-loop-ch.c (copy_loop_headers): Remove call
186 (pass_ch): Add TODO_cleanup_cfg.
187 * tree-ssa-loop.c (tree_ssa_loop_done): Remove call to
189 (pass_loop_done): Add TODO_cleanup_cfg.
190 * tree-ssa-phiopt.c (pass_phiopt): Ditto.
191 (tree_ssa_phiopt): Remove call to cleanup_cfg.
193 2004-11-16 Devang Patel <dpatel@apple.com>
195 * optabs.c (vector_compare_rtx): Fix COMPARISON_CLASS_P use.
197 2004-11-16 Kazu Hirata <kazu@cs.umass.edu>
199 * expmed.c, ra-colorize.c: Fix comment typos.
201 * doc/tm.texi: Fix typos.
203 2004-11-16 Daniel Jacobowitz <dan@codesourcery.com>
204 Mark Mitchell <mark@codesourcery.com>
207 * config/sol2.h (TARGET_OS_CPP_BUILTINS): Define __PIC__ and
210 2004-11-16 Ulrich Weigand <uweigand@de.ibm.com>
212 * regmove.c (regmove_optimize): Use lowpart_subreg instead of
213 gen_rtx_SUBREG with incorrect offset to compute SRC_SUBREG.
215 2004-11-16 Devang Patel <dpatel@apple.com>
217 * tree-if-conv.c (clean_predicate_lists): Update gcc_assert check.
219 2004-11-16 Eric Christopher <echristo@redhat.com>
221 * config/mips/mips.c: Use rtl _P predicates.
222 * config/mips/mips.h: Ditto.
223 * config/mips/mips.md: Ditto.
225 2004-11-16 Fariborz Jahanian <fjahanian@apple.com>
227 * config/rs6000/altivec.md (altivec_vandc): Canonicalize
230 2004-11-16 Andreas Krebbel <krebbel1@de.ibm.com>
232 * config/s390/s390.c (s390_cc_modes_compatible): New function.
233 (TARGET_CC_MODES_COMPATIBLE): Target macro defined.
235 2004-11-16 Kaz Kojima <kkojima@gcc.gnu.org>
238 * config/sh/sh.c (prepare_move_operands): Emit blockage insns
239 before and after the insns for getting GOT address in non-PIC
240 TLS_MODEL_INITIAL_EXEC tls sequence when the first scheduling
243 2004-11-16 Andreas Krebbel <krebbel1@de.ibm.com>
245 * gcc/cse.c (struct change_cc_mode_args): New structure.
246 (cse_change_cc_mode_insn): New function.
247 (cse_change_cc_mode): Use validate_change to perfom changes.
248 (cse_change_cc_mode_insns, cse_condition_code_reg):
249 Call cse_change_cc_mode_insn.
251 2004-11-16 Steven Bosscher <stevenb@suse.de>
255 2004-11-16 Steven Bosscher <stevenb@suse.de>
257 * config/i386/i386.c (x86_schedule): Fix typo, m_K6 intead of m_K8.
259 2004-11-15 Dale Johannesen <dalej@apple.com>
261 * tree-flow.h (add_referenced_temp_var): Remove name from prototype.
263 2004-11-15 Dale Johannesen <dalej@apple.com>
265 * profile.c (compute_branch_probabilities): Prevent
266 crash with EH in RTL-based profiling.
268 2004-11-16 Kazu Hirata <kazu@cs.umass.edu>
270 * tree-cfg.c (verify_expr): Replace TREE_OPERAND with
272 * tree-if-conv.c (tree_if_convert_cond_expr): Likewise.
273 * tree-ssa-dom.c (thread_across_edge): Likewise.
274 * tree-vectorizer.c (vect_transform_loop_bound): Replace
275 TREE_OPERAND with COND_EXPR_COND, COND_EXPR_THEN, or
278 * tree-cfg.c (bsi_commit_edge_inserts): Remove an argument.
279 (tree_flow_call_edges_add): Update the call to
280 bsi_commit_edge_inserts.
281 * lambda-code.c (lambda_loopnest_to_gcc_loopnest): Likewise.
282 * profile.c (branch_prob): Likewise.
283 * tree-mudflap.c (mf_decl_cache_locals): Likewise.
284 * tree-sra.c (scalarize_function): Likewise.
285 * tree-ssa-loop-im.c (loop_commit_inserts): Likewise.
286 * tree-ssa-pre.c (fini_pre): Likewise.
287 * tree-flow.h: Update the prototype for
288 bsi_commit_edge_inserts.
290 2004-11-15 Eric Christopher <echristo@redhat.com>
292 * sched-deps.c (set_sched_group_p): Delete.
293 (delete_all_dependencies): New function.
294 (fixup_sched_groups): Use. New function.
295 (sched_analyze_insn): Use.
297 2004-11-15 Joseph S. Myers <joseph@codesourcery.com>
299 * c-common.c (binary_op_error): Don't allow LROTATE_EXPR,
300 RROTATE_EXPR or unknown code.
301 * c-typeck.c (build_binary_op): Don't allow RROTATE_EXPR,
302 LROTATE_EXPR, MAX_EXPR, MIN_EXPR, UNORDERED_EXPR, ORDERED_EXPR,
303 UNLT_EXPR, UNLE_EXPR, UNGT_EXPR, UNGE_EXPR, UNEQ_EXPR, LTGT_EXPR
306 2004-11-15 Joseph S. Myers <joseph@codesourcery.com>
309 * c-decl.c (grokdeclarator): Call check_bitfield_type_and_width
310 after processing the declarator.
312 2004-11-15 Aldy Hernandez <aldyh@redhat.com>
314 * config/rs6000/altivec.md ("altivec_vsplth"): Rewrite with
316 (altivec_vspltb): Same.
317 (altivec_vspltw): Same.
318 (altivec_vspltisb): Same.
319 (altivec_vspltish): Same.
320 (altivec_vspltisw): Same.
321 (altivec_vspltisw_v4sf): Same.
322 (define_constants): Remove UNSPEC_VSPLTISB, UNSPEC_VSPLTISW,
324 Move "End of vector xor's" comment to the right place.
326 2004-11-15 Steve Ellcey <sje@cup.hp.com>
328 * config/ia64/ia64.md (*movtf_internal): Use destination_operand
329 instead of nonimmediate_operand.
331 2004-11-15 Mark Mitchell <mark@codesourcery.com>
333 * config/i386/sol2.h (ASM_OUTPUT_CALL): Use print_operand.
334 * config/sparc/sol2.h (ASM_OUTPUT_CALL): Likewise.
335 * config/sol2.c (solaris_output_init_fini): Update calls to
336 ASM_OUTPUT_CALL. Include "rtl.h".
338 2004-11-15 Mark Mitchell <mark@codesourcery.com>
340 * config/sol2-c.c (cmn_err_char_table): Add "p".
342 2004-11-15 Mark Mitchell <mark@codesourcery.com>
344 * config/sparc/sol2.h (SUPPORTS_INIT_PRIORITY): Remove.
345 * config/sol2.h (SUPPORTS_INIT_PRIORITY): Define here.
347 2004-11-15 Mark Mitchell <mark@codesourcery.com>
349 * config/t-slibgcc-sld (SHLIB_LINK): Make symlinks entirely
350 within the multilib directory.
352 2004-11-15 Nick Clifton <nickc@redhat.com>
354 * config/stormy16/stormy16.h (TARGET_CPU_CPP_BUILTINS): Add
355 builtin assert of cpu=xstormy16.
357 2004-11-15 Nathan Sidwell <nathan@codesourcery.com>
359 * tree-ssa-pre.c (bitmap_print_value_set): Fix uninitialized
362 2004-11-14 Richard Henderson <rth@redhat.com>
365 * calls.c (struct arg_data): Add parallel_value.
366 (precompute_register_parameters): Set it.
367 (load_register_parameters): Use it.
368 (store_one_arg): Also set it here.
370 2004-11-14 Zdenek Dvorak <dvorakz@suse.cz>
372 PR tree-optimization/18431
373 * fold-const.c (associate_trees): Do not produce x + 0.
374 (fold_widened_comparison, fold_sign_changed_comparison): New functions.
376 * tree-ssa-loop-niter.c (upper_bound_in_type, lower_bound_in_type):
378 * tree.c (upper_bound_in_type, lower_bound_in_type): Here.
379 * tree.h (upper_bound_in_type, lower_bound_in_type): Declare.
381 2004-11-14 Eric Botcazou <ebotcazou@libertysurf.fr>
383 * doc/rtl.texi (SUBREG): Adjust BYTENUM value in example.
385 2004-11-14 Kazu Hirata <kazu@cs.umass.edu>
387 * cfgrtl.c, global.c, tree-ssa-copy.c, tree-ssa-loop-ivopts.c,
388 value-prof.c: Fix comment typos.
390 2004-11-14 Stan Shebs <shebs@apple.com>
392 Basic ABI changes for passing structs by value in 64-bit Darwin.
393 * config/rs6000/rs6000.c (rs6000_darwin64_abi): New flag.
394 (rs6000_override_options): Set it for 64-bit Darwin.
395 (rs6000_parse_abi_options): Add testing options to change it.
396 (rs6000_return_in_memory): Test whether the type is one
397 that can be passed in registers.
398 (darwin64_function_arg_advance): New.
399 (function_arg_advance): Call it, plus add recursion depth
400 argument and test when counting off arguments.
401 (rs6000_darwin64_function_arg): New.
402 (function_arg): Call it.
403 (setup_incoming_varargs): Add argument to function_arg_advance.
404 (rs6000_darwin64_function_value): New.
405 (rs6000_function_value): Call it.
406 * config/rs6000/rs6000.h (FUNCTION_ARG_ADVANCE): Pass depth arg.
407 * config/rs6000/rs6000-protos.h: Update decl of
408 function_arg_advance.
410 2004-11-14 Andrew Pinski <pinskia@physics.uc.edu>
413 * c-common.c (c_common_nodes_and_builtins): Ask the back-end if we
414 support TImode before adding __int128_t and __uint128_t types.
416 2004-11-14 Dorit Naishlos <dorit@il.ibm.com>
419 * tree-vectorizer.c (make_loop_iterate_ntimes): Set loop->nb_iterations.
420 (vect_transform_loop_bound): Set loop->nb_iterations.
422 2004-11-14 Dorit Naishlos <dorit@il.ibm.com>
423 Andrew Pinski <pinskia@physics.uc.edu>
426 * tree-vectorize.c (vect_build_loop_niters): Do not insert
427 NULL into the instruction stream. Initialize new_bb to NULL.
428 (vect_update_ivs_after_vectorizer): Likewise.
429 (vect_gen_niters_for_prolog_loop): Likewise.
431 2004-11-14 Zdenek Dvorak <dvorakz@suse.cz>
433 PR tree-optimization/18431
434 * tree-flow.h (stmt_references_memory_p): Declare.
435 * tree-ssa-loop-im.c (stmt_cost): Use stmt_references_memory_p.
436 * tree-ssa.c (stmt_references_memory_p): New function.
438 2004-11-14 Andreas Schwab <schwab@suse.de>
440 * Makefile.in (lambda-code.o, tree-loop-linear.o): Depend on
443 2004-11-14 Kazu Hirata <kazu@cs.umass.edu>
445 * c-common.c (walk_stmt_tree): Remove.
446 * c-common.h: Remove the corresponding prototype.
448 * emit-rtl.c (push_to_full_sequence): Remove.
449 * rtl.h: Remove the corresponding prototype.
451 * cselib.c, expr.c: Fix comment typos.
453 2004-11-13 Richard Henderson <rth@redhat.com>
455 * calls.c (precompute_register_parameters): Force all PARALLELs
456 into pseudo registers.
457 (load_register_parameters): Copy PARALLELs into hard registers.
458 * function.c (assign_parm_setup_block): Copy PARALLELS into
459 pseudo registers. Do emit_group_store in conversion_insns.
460 * expr.c (emit_group_load_1): Rename from emit_group_load, take
461 tmps as an argument. Move final copy loop ...
462 (emit_group_load): ... here. New function.
463 (emit_group_load_into_temps, emit_group_move_into_temps): New.
464 * expr.h: Declare them.
466 2004-11-14 Kazu Hirata <kazu@cs.umass.edu>
468 * tree-cfg.c, tree-if-conv.c, tree-ssa-loop-ivopts.c,
469 tree-ssa-loop-manip.c, tree-vectorizer.c: Replace TREE_CHAIN
470 with PHI_CHAIN where appropriate.
472 2004-11-13 Dale Johannesen <dalej@apple.com>
474 * tree-flow.h (bsi_commit_one_edge_insert): Remove name from prototype.
475 (tree_block_label): Ditto.
476 (flush_pending_stmts): Ditto.
477 (insert_edge_copies): Ditto.
478 (expr_invariant_in_loop_p): Ditto.
479 (TDF_USE_OPS): Parenthesize definition.
480 (TDF_USE_VOPS): Ditto.
482 2004-11-13 David Edelsohn <edelsohn@gnu.org>
484 * config/rs6000/aix51.h (ASM_CPU_SPEC): Add 970 and G5.
485 * config/rs6000/aix52.h (ASM_CPU_SPEC): Same.
487 * config/rs6000/t-aix52 (BOOT_LDFLAGS): Define.
489 2004-11-14 Joseph Myers <joseph@codesourcery.com>
491 * config/i386/i386.c (override_options): Move loop to set default
492 tuning to correct place.
494 2004-11-13 Zak Kipling <zak@transversal.com>
497 * config/i386/i386.c (classify_argument): Fix infinite loop when
498 passing object with 3 or more base classes by value.
500 2004-11-13 Eric Botcazou <ebotcazou@libertysurf.fr>
502 * doc/md.texi (constraints) <% modifier>: Mention that it is
503 useless when the two alternatives are strictly identical.
505 2004-11-13 Richard Henderson <rth@redhat.com>
507 * expmed.c (extract_split_bit_field): Temporarily disable call to
508 extract_force_align_mem_bit_field.
510 2004-11-13 Kazu Hirata <kazu@cs.umass.edu>
512 * bitmap.c, bitmap.h, expmed.c, tree-cfg.c: Fix comment
515 * c-cppbuiltin.c, cgraph.c, domwalk.h, except.c, gimplify.c,
516 lambda-code.c, postreload.c, predict.c, tree-sra.c,
517 tree-ssa-loop-manip.c, tree.c: Fix comment typos.
519 2004-11-13 Kelley Cook <kcook@gcc.gnu.org>
521 * doc/install.texi (automake): Correctly document that everything now
522 will use automake 1.9.3.
524 2004-11-13 Hans-Peter Nilsson <hp@bitrange.com>
527 * config/mmix/mmix.c (mmix_function_outgoing_value): Handle
528 TImode. Sorry for other non-complex larger-than-64-bit modes.
529 * config/mmix/mmix.h (MIN_UNITS_PER_WORD): Do not define.
531 2004-11-13 Kelley Cook <kcook@gcc.gnu.org>
533 * doc/install.texi (automake): Document that everything now uses 1.9.
535 2004-11-13 Bernd Schmidt <bernd.schmidt@analog.com>
537 * cse.c (cse_insn): Stores in a libcall sequence can invalidate
540 2004-11-13 Kazu Hirata <kazu@cs.umass.edu>
542 * tree.h: Fix comment typos.
544 2004-11-13 Steven Bosscher <stevenb@suse.de>
546 * cse.c (CHEAP_REGNO): Redefine using REGNO_PTR_FRAME_P and
549 * cselib.c (new_cselib_val): Make comment correct and more detailed.
550 * flow.c (mark_set_1): Likewise.
552 * except.c (duplicate_eh_region_1, duplicate_eh_region_2,
553 duplicate_eh_regions): Remove.
554 * except.h (duplicate_eh_regions): Remove prototype.
555 * integrate.c (get_label_from_map, copy_rtx_and_substitute,
556 global_const_equiv_varray): Remove.
557 * integrate.h (get_label_from_map, copy_rtx_and_substitute,
558 global_const_equiv_varray, set_label_in_map): Remove prototypes,
559 extern declaration, and #define.
560 (MAYBE_EXTEND_CONST_EQUIV_VARRAY, SET_CONST_EQUIV_DATA): Remove.
561 (struct inline_remap): Remove.
562 * varray.c (struct element): Remove entry for const_equiv_data.
563 * varray.h (struct const_equiv_data): Remove.
564 (enum varray_data_enum) <VARRAY_DATA_CONST_EQUIV>: Remove.
565 (union varray_data_tag) <const_equiv>: Remove.
566 (VARRAY_CONST_EQUIV_INIT, VARRAY_CONST_EQUIV,
567 VARRAY_PUSH_CONST_EQUIV, VARRAY_TOP_CONST_EQUIV): Remove.
569 * regstack.c (record_label_references): Remove unused function.
571 * rtl.def (VALUE): Update comment.
572 (LABEL_REF): Remove unused operand 2.
573 * rtl.h (struct rtx_def): Update for removed accessor macros.
574 (XCADVFLAGS, INSN_DEAD_CODE_P, LINE_NUMBER, CONTAINING_INSN,
575 REG_LOOP_TEST_P): Remove.
576 (ADDR_DIFF_VEC_FLAGS, CSELIB_VAL_PTR, LABEL_NEXTREF): Add comments.
577 * web.c (entry_register): Don't copy REG_LOOP_TEST_P.
578 * doc/rtl.texi (INSN_DEAD_CODE_P, REG_LOOP_TEST_P): Remove.
580 2004-11-13 James A. Morrison <phython@gcc.gnu.org>
581 Eric Botcazou <ebotcazou@libertysurf.fr>
584 * config/sparc/sparc.c (sparc_rtx_costs): Handle the NAND vector
586 * config/sparc/sparc.md (V64I): New macro for 64-bit modes.
587 (V32I): New macro for 32-bit modes.
588 (anddi3, anddi_sp32, anddi_sp64, and_not_di_sp32, and_not_di_sp64,
589 iordi3, iordi3_sp32, iordi_sp64, or_not_di_sp32, or_not_di_sp64,
590 xordi3, xordi3_sp32, xordi3_sp64, {AND, IOR, XOR} DI splitter,
591 xor_not_di_sp32, xordi_not_di_sp64, one_cmpldi2, one_cmpldi_sp32,
592 one_cmpldi_sp64): Use V64I instead of DI.
593 (andsi3, andsi_sp32, andsi_sp64, and_not_si, iorsi3, or_not_si,
594 xorsi3, xor_not_si, one_cmplsi2): Use V32I instead of SI.
595 (addv2si3, addv4hi3, addv2hi3): Remove % modifier.
596 (nandv64i_vis, nandv32i_vis): New patterns.
598 2004-11-12 Mike Stump <mrs@apple.com>
600 * Makefile.in: Add html support.
601 * java/Make-lang.in: Likewise.
602 * fortran/Make-lang.in: Likewise.
603 * treelang/Make-lang.in: Likewise.
604 * doc/install.texi: Likewise.
605 * doc/makefile.texi: Likewise.
606 * doc/sourcebuild.texi: Likewise.
608 2004-11-13 Kazu Hirata <kazu@cs.umass.edu>
610 * tree-ssa-loop-manip.c: Fix a comment typo.
612 2004-11-12 Mike Stump <mrs@apple.com>
614 * doc/cppinternals.texi (Index): Fix html generation with makeinfo by
615 renaming this node to Concept Index.
616 * doc/gccint.texi (Index): Likewise. Also minor formatting tweaks
617 to more closely match gcc.texi.
619 2004-11-12 Jeff Law <law@redhat.com>
621 * tree-cfg.c (hashtab.h): Include.
622 (struct edge_to_case_leader_elt): New structure.
623 (edge_to_case_leader): New.
624 (edge_to_case_leader_hash): New hashtable hasing function.
625 (edge_to_case_leader_eq): New hashtable equality function.
626 (record_switch_edge): New function.
627 (get_case_leader_for_edge, get_case_leader_for_edge): New functions.
628 (make_switch_expr_edges): Build the edge-to-case-leader
629 hash table. Tear down the hash table when we're done.
630 (cleanup_dead_labels): Use CASE_LEADER_OR_LABEL instead of
632 (tree_node_can_be_shared): Allow sharing of CASE_LABEL_EXPR nodes.
633 (tree_redirect_edge_and_branch, case SWITCH_EXPR): Update
634 to use new concept of case leaders to reduce overhead of
635 redirecting outgoing edges from switch statements.
636 * tree.c (get_case_label): New function.
637 * tree.h (CASE_LABEL): Define in terms of get_case_label.
638 (CASE_LEADER_OR_LABEL): Define.
640 2004-11-12 Ziemowit Laski <zlaski@apple.com>
642 * varasm.c (output_addressed_constants): For CONST_DECLs,
643 output the initializer if present.
645 2004-11-12 Ziemowit Laski <zlaski@apple.com>
647 * config/rs6000/darwin.h: Fix confusing typo in comment.
649 2004-11-12 Devang Patel <dpatel@apple.com>
651 * optabs.c (vector_compare_rtx): Use COMPARISON_CLASS_P.
653 2004-11-12 Devang Patel <dpatel@apple.com>
655 * tree-if-conv.c (clean_predicate_lists): Use loop header
658 2004-11-12 Richard Henderson <rth@redhat.com>
661 * config/i386/i386.h (TARGET_96_ROUND_53_LONG_DOUBLE): New.
662 * config/i386/freebsd.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
663 (TARGET_96_ROUND_53_LONG_DOUBLE): New.
664 * config/i386/i386-modes.def (XF): Use it.
666 2004-11-11 Geoffrey Keating <geoffk@apple.com>
668 * Makefile.in (macro_list): Use move-if-change to avoid spurious
671 2004-11-12 Mark Mitchell <mark@codesourcery.com>
674 * passes.c (rest_of_decl_compilation): Do not look at DECL_RTL
675 when deciding whether to pass a variable to
676 cgraph_varpool_finalize_decl or assemble_variable.
677 * toplev.c (check_global_declarations): Do not clear DECL_RTL.
679 2004-11-12 Kazu Hirata <kazu@cs.umass.edu>
681 * tree-vectorizer.c: Fix a comment typo.
683 2004-11-12 Bernd Schmidt <bernd.schmidt@analog.com>
685 * genconfig.c (walk_insn_part): Look at match_dups inside a label_ref.
687 2004-11-12 Diego Novillo <dnovillo@redhat.com>
689 * tree-scalar-evolution.c (analyzable_condition): Remove
690 superfluous TREE_THIS_VOLATILE checks on SSA_NAMEs.
692 2004-11-12 Ralf Corsepius <ralf.corsepius@rtems.org>
694 * config/rs6000/t-rtems (MULTILIB_NEW_EXCEPTIONS_ONLY):
695 Remove m505/roe multilib variant.
697 2004-11-12 Eric Botcazou <ebotcazou@libertysurf.fr>
699 * expr.c (emit_group_load) <CONCAT>: Use extract_bit_field
700 to load from the stack.
702 2004-11-12 Richard Henderson <rth@redhat.com>
704 * toplev.c (floor_log2): Rename from floor_log2_wide, use CLZ_HWI.
705 (exact_log2): Rename from exact_log2_wide, use CTZ_HWI.
706 * toplev.h (FL2T__): Remove.
707 (CLZ_HWI): Rename from FL2T_CLZ__.
709 (floor_log2): Simplify.
712 2004-11-12 Sebastian Pop <pop@cri.ensmp.fr>
714 * tree-data-ref.c (analyze_subscript_affine_affine): Correctly
715 compute the first overlapping iterations.
717 2004-11-12 Sebastian Pop <pop@cri.ensmp.fr>
720 * tree-data-ref.c (estimate_niter_from_size_of_data): Ensure
721 that arguments of EXACT_DIV_EXPR are INTEGER_CST.
723 2004-11-12 Steven Bosscher <stevenb@suse.de>
725 PR tree-optimization/18419
726 * tree-ssa.c (walk_use_def_chains_1): Make the visited map a
727 pointer set instead of a bitmap.
728 (walk_use_def_chains): Create, pass and clean up that pointer_set.
730 * tree-ssa-alias.c (struct alias_info): Make the ssa_names_visited
732 (init_alias_info): Allocate and zero it here.
733 (delete_alias_info): Delete it here.
734 (collect_points_to_info_for): Use it.
736 2004-11-11 Kazu Hirata <kazu@cs.umass.edu>
738 * alias.c (record_alias_subset, addr_side_effect_eval):
740 * alias.h: Remove the prototype for record_alias_subset.
741 * expr.h: Remove the commented-out prototype for
743 * rtl.h: Remove the prototype for addr_side_effect_eval.
745 * cfglayout.c (choose_inner_scope): Make it static.
746 * rtl.h: Remove the corresponding prototype.
748 * cfgloopmanip.c (update_single_exits_after_duplication,
749 unloop): Make them static.
750 * cfgloop.h: Remove the corresponding prototypes.
752 * c-typeck.c (c_size_in_bytes, record_maybe_used_decl):
754 * c-tree.h: Remove the corresponding prototypes.
756 * explow.c (round_push): Make it static.
757 * expr.h: Remove the corresponding prototype.
759 * varasm.c (get_named_section_flags, decl_tls_model): Make
761 * output.h: Remove the prototype for get_named_section_flags.
762 * tree.h: Remove the prototype for decl_tls_model.
764 2004-11-11 Kazu Hirata <kazu@cs.umass.edu>
766 * function.c (expand_function_end): Remove an "if" statement
767 that always triggers.
768 * stmt.c (expand_null_return_1): Likewise.
770 2004-11-11 James E. Wilson <wilson@specifixinc.com>
772 * config/ia64/ia64.h (HARD_REGNO_NREGS): Handle XCmode.
773 (HARD_REGNO_MODE_OK, MODES_TIEABLE_P, SECONDARY_MEMORY_NEEDED,
774 CLASS_MAX_NREGS): Likewise.
776 2004-11-11 Zdenek Dvorak <dvorakz@suse.cz>
778 PR tree-optimization/17742
779 * tree-scalar-evolution.c (follow_ssa_edge_in_rhs): Handle
780 MINUS_EXPR correctly.
782 2004-11-11 Sebastian Pop <pop@cri.ensmp.fr>
784 * tree-scalar-evolution.c (follow_ssa_edge_in_condition_phi):
785 Give up as soon as the evolution is known not computable.
787 2004-11-11 Nathan Sidwell <nathan@codesourcery.com>
790 * config/rs6000/rs6000.c (mask64_2_operand): Stub to call
792 (mask64_1or2_operand): Broken out of mask64_2_operand, add flag
793 to spot rlwinm opportunities.
794 (and64_2_operand): Use mask_1or2_operand.
795 * config/rs6000/rs6000.md (anddi3): Use rlwinm when possible.
797 2004-11-11 Dorit Naishlos <dorit@il.ibm.com>
799 * tree-vectorizer.c (update_phi_nodes_for_guard): Call reverse_phis.
800 (vect_update_ivs_after_vectorizer): Update function documentation.
801 Avoid quadratic behavior and direct write to PHI_ARG_DEF.
803 2004-11-11 Kazu Hirata <kazu@cs.umass.edu>
805 * config/arm/arm.c: Fix a comment typo.
807 2004-11-11 Nathan Sidwell <nathan@codesourcery.com>
809 * bitmap.h (nBITMAP_WORD_BITS): Remove.
810 (BITMAP_WORD_BITS): Force unsigned by use of 1u.
811 (BITMAP_ELEMENT_WORDS, BITMAP_ELEMENT_ALL_BITS): Remove
813 (bitmap_first_set_bit): Return unsigned, use ctzl.
814 (bitmap_last_set_bit): Remove.
815 * bitmap.c (bitmap_element_zerop, bitmap_copy): Make iterator
817 (bitmap_first_set_bit): Return unsigned, require non-empty bitmap,
818 remove special case code for two word elements.
819 (bitmap_last_set_bit): Remove.
820 * ra-build.c (livethrough_conflicts_bb): Replace unnecessary use of
821 bitmap_first_set_bit with bitmap_empty_p.
822 * tree-outof-ssa.c (analyze_edges_for_bb): Likewise.
823 * tree-ssa-pre.c (bitmap_print_value): Use simple flag rather than
826 2004-11-11 Nathan Sidwell <nathan@codesourcery.com>
829 * config/rs6000/rs6000.md: Add DF & SF reg move peepholes.
832 * config/rs6000/rs6000.c (rs6000_generate_compare): Generate an
833 unsigned equality compare when we know the operands are unsigned.
835 2004-11-10 Peter S. Mazinger <ps.m@gmx.net>
837 * config/mips/linux.h (LINUX_TARGET_OS_CPP_BUILTINS): Define
838 __PIC__ and __pic__ only if TARGET_ABICALLS.
839 (SUBTARGET_CPP_SPECS): Don't define or undefine __PIC__ and __pic__.
840 (SUBTARGET_ASM_SPECS): Don't pass -non_shared to assembler; pass
841 -KPIC only if not -mno-abicalls.
843 * config/alpha/linux.h, config/arm/linux-elf.h, config/pa/pa-linux.h
844 * config/sparc/linux.h, config/sparc/linux64.h
845 (TARGET_OS_CPP_BUILTINS): Define __PIC__ and __pic__ if flag_pic.
847 * config/arm/linux-gas.h (CPP_SPEC): Don't define __PIC__ or __pic__.
848 * config/pa/pa/linux.h (CPP_SPEC): Likewise.
849 * config/sparc/linux.h (CPP_SUBTARGET_SPEC): Likewise.
850 * config/sparc/linux64.h (CPP_SUBTARGET_SPEC): Likewise.
852 2004-11-11 Paul Brook <paul@codesourcery.com>
854 * config/arm/arm.c (arm_compute_save_reg0_reg12_mask): Save PIC
855 register if current_function_uses_pic_offset_table is set.
857 2004-11-10 David Edelsohn <edelsohn@gnu.org>
859 * config/rs6000/rs6000.md (define_attr "type"): Add two and three.
860 Change multi-instruction sequences to new attribute.
861 * config/rs6000/{40x.md,440.md,603.md,6xx.md,
862 7450.md,7xx.md,8540.md,mpc.md,power4.md,power5.md,
863 rios1.md,rios2.md,rs64.md}: Add descriptions for two and three.
865 2004-11-10 Daniel Berlin <dberlin@dberlin.org>
867 * tree-data-ref.c (build_classic_dist_vector): If either loop
868 is outside of the nest we asked about, the dependence can't
870 (build_classic_dir_vector): Ditto.
872 2004-11-10 Zdenek Dvorak <dvorakz@suse.cz>
874 * tree-ssa-loop-ivopts.c (get_address_cost): Add address elements in
876 (force_var_cost): Determine cost of addition and multiplication more
878 (get_computation_cost_at): Add cost for computing address elements to
881 * fold-const.c (fold): Attempt to use ptr_difference_const whenever
882 one of the arguments of MINUS_EXPR is an address.
883 (split_address_to_core_and_offset): New function.
884 (ptr_difference_const): Handle case when one of the operands is a
886 * tree-ssa-loop-ivopts.c (determine_base_object): Fold &*addr.
887 (ptr_difference_cost): Pass addresses instead of objects to
888 ptr_difference_const.
890 2004-11-10 Nathan Sidwell <nathan@codesourcery.com>
892 * tree.c (tree_check_failed): Emit general error if the list of
895 2004-11-10 Eric Botcazou <ebotcazou@libertysurf.fr>
897 * config/sparc/sparc.c (function_arg_union_value): New 'slotno'
898 argument. When the union is passed in the 6th slot, build a
899 PARALLEL with only one element.
900 (function_arg): Adjust call to function_arg_union_value.
901 (function_value): Likewise.
903 2004-11-10 Fariborz Jahanian <fjahanian@apple.com>
905 PR tree-optimization/17892
906 * tree-ssa-dom.c (unsafe_associative_fp_binop): Add test for
909 2004-11-10 James A. Morrison <phython@gcc.gnu.org>
912 config/sparc/sparc.md (addsi3, subsi3): Set "fptype" attribute.
913 (addv2si, addv4hi, addv2hi, subv2si, subv4hi, subv2hi): New patterns.
915 2004-11-10 Steven Bosscher <stevenb@suse.de>
917 * basic-block.h (XMALLOC_REG_SET, XFREE_REG_SET): New.
918 (struct basic_block_def): Remove local_set and cond_local_set
919 fields. Update comment for global_live_at_start.
920 * flow.c (calculate_global_regs_live): Allocate local_sets and
921 cond_local_sets here as arrays of bitmaps previously stored in
922 bb->local_set and bb->cond_local_set. Use xmalloc instead of
923 obstack allocated bitmaps.
925 2004-11-09 H.J. Lu <hongjiu.lu@intel.com>
928 * config/ia64/unwind-ia64.h (_Unwind_FindTableEntry): Mark it
931 * unwind-dw2.c (_Unwind_FindTableEntry): Removed.
933 2004-11-09 Jeff Law <law@redhat.com>
935 * cfganal.c (flow_dfs_compute_reverse_execute): Accept new
936 argument holding last unvisited block. Start search for
937 unvisited blocks at LAST_UNVISITED rather than EXIT_BLOCK.
938 (connect_infinite_loops_to_exit): Supply last unvisited block
939 to flow_dfs_compute_reverse_execute.
941 2004-10-22 Aldy Hernandez <aldyh@redhat.com>
943 * config/rs6000/rs6000.md (fix_truncdfsi2): Handle e500
945 (floatunssidf2): Same.
947 ("extendsfdf2"): New expander.
948 (*extendsfdf2_fpr): Rename.
949 (*truncdfsf2_fpr): Same.
952 (*nabsdf2_fpr): Same.
958 * config/rs6000/spe.md ("spe_extendsfdf2"): Remove FIXME comment.
959 ("spe_fix_truncdfsi2"): Same.
960 (spe_floatunssidf2): Same.
961 (spe_floatsidf2): Same.
963 2004-11-09 Joseph S. Myers <joseph@codesourcery.com>
966 * c-common.c (fname_decl): Don't use line number of decl in
969 2004-11-09 Ulrich Weigand <uweigand@de.ibm.com>
971 * config/s390/s390-protos.h (s390_pool_operand): Remove.
972 * config/s390/s390.c (s390_pool_operand): Likewise.
973 (s390_extra_constraint_str): Handle 'B' constraints.
974 * config/s390/s390.h (CONSTRAINT_LEN): Handle 'B' constraints.
975 * config/s390/s390.md: Document 'B' constraints.
976 ("*cmpdi_cct", "*cmpsi_cct"): Use 'B' constraint instead of
977 s390_pool_operand to prevent insns with two literal pool
978 references. Make pattern commutative.
979 ("*cmpdi_ccu", "*cmpsi_ccu", "*cmphi_ccu", "*cmpqi_ccu"): Use
980 'B' constraint instead of s390_pool_operand.
982 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
984 * tree-cfg.c (create_bb): Remove unnecessary memset.
986 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
988 * tree-ssa-threadupdate.c (copy_phis_to_block): Remove.
989 (thread_block): Call flush_pending_stmt instead of
992 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
994 * loop-iv.c (iv_number_of_iterations): Make it static.
995 * cfgloop.h: Remove the corresponding prototype.
997 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
999 * function.c (combine_temp_slots, assign_parms,
1000 expand_pending_sizes): Make them static.
1001 * tree.h: Remove the corresponding prototypes.
1003 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
1005 * emit-rtl.c (copy_most_rtx): Remove.
1006 * rtl.h: Remove the corresponding prototype.
1008 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
1010 * cfgloop.c (flow_loops_update): Remove.
1011 * cfgloop.h: Remove the corresponding prototype.
1013 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
1015 * conflict.c (mark_reg, conflict_graph_compute): Remove.
1016 * basic-block.h: Remove the prototype for
1017 conflict_graph_compute.
1019 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
1021 * tree-if-conv.c (add_to_dst_predicate_list): Change the
1022 second argument to basic_block.
1023 (tree_if_convert_cond_expr): Update call sites.
1025 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
1027 * fold-const.c (pedantic_non_lvalue): Make it static.
1028 * tree.h: Remove the corresponding prototype.
1030 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
1032 * optabs.c (prepare_operand): Make it static.
1033 * optabs.h: Remove the corresponding prototype.
1035 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
1037 * reload1.c (reloads_conflict, gen_reload): Make them static.
1038 * reload.h: Remove the corresponding prototypes.
1040 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
1042 * reload.c (refers_to_mem_for_reload_p,
1043 refers_to_regno_for_reload_p): Make them static.
1044 * reload.h: Remove the corresponding prototypes.
1046 2004-11-09 James A. Morrison <phython@gcc.gnu.org>
1047 Eric Botcazou <ebotcazou@libertysurf.fr>
1050 * doc/md.texi (SPARC constraints): Document 'Y' constraint.
1051 * config/sparc/sparc-modes.def: Add vector modes of 4 and 8 bytes.
1052 * config/sparc/sparc.c (sparc_vector_mode_supported_p): New function.
1053 (TARGET_VECTOR_MODE_SUPPORTED_P): Set to sparc_vector_mode_supported_p.
1054 (fp_zero_operand): Accept MODE_VECTOR_INT modes.
1055 (input_operand): Accept CONST_VECTOR with MODE_VECTOR_INT modes.
1056 (sparc_cannot_force_const_mem): Return false for CONST_VECTOR.
1057 (sparc_init_modes): Set sparc_mode_class to SF_MODE or DF_MODE for
1058 MODE_VECTOR_INT modes.
1059 (sparc_extra_constraint_check): Add new constraint 'Y'.
1060 * config/sparc/sparc.h: Define UNITS_PER_SIMD_WORD to 8 for TARGET_VIS.
1061 * config/sparc/sparc.md (V32): New mode macro for 32-bit modes.
1062 (V64): New mode macro for 64-bit modes.
1063 (movsf): Use V32 for mode instead of SF.
1064 (movsf_insn_vis): Use V32 for mode instead of SF. Add 'Y' constraint
1065 alongside 'G' constraint.
1066 (movdf): Use V64 for mode instead of DF.
1067 (movdf_insn_v9only_vis, modf_insn_sp64_vis): Use V64 for mode instead
1068 of DF. Add 'Y' constraint alongside 'G' constraint.
1069 (multi-isn and misaligned mems DFmode splitters): Use V64 for mode
1072 2004-11-09 Ulrich Weigand <uweigand@de.ibm.com>
1074 * config/s390/s390.c (s390_select_ccmode): Return CCAPmode for
1075 integer NEG and ABS.
1076 * config/s390/s390.md ("*negdi2_64"): Fix op_type attribute.
1077 ("*negdi2_31"): Reimplement using a splitter.
1078 ("*negdi2_cc", "*negdi2_cconly"): New insns.
1079 ("*negdi2_sign", "*negdi2_sign_cc"): Likewise.
1080 ("*negsi2_cc", "*negsi2_cconly"): Likewise.
1081 ("*negdf2_cc", "*negdf2_cconly"): Likewise.
1082 ("*negsf2_cc", "*negsf2_cconly"): Likewise.
1083 ("*absdi2_cc", "*absdi2_cconly"): New insns.
1084 ("*absdi2_sign", "*absdi2_sign_cc"): Likewise.
1085 ("*abssi2_cc", "*abssi2_cconly"): Likewise.
1086 ("*absdf2_cc", "*absdf2_cconly"): Likewise.
1087 ("*abssf2_cc", "*abssf2_cconly"): Likewise.
1088 ("*negabsdi2_cc", "*negabsdi2_cconly"): New insns.
1089 ("*negabsdi2_sign", "*negabsdi2_sign_cc"): Likewise.
1090 ("*negabssi2_cc", "*negabssi2_cconly"): Likewise.
1091 ("*negabsdf2_cc", "*negabsdf2_cconly"): Likewise.
1092 ("*negabssf2_cc", "*negabssf2_cconly"): Likewise.
1094 2004-11-09 Ulrich Weigand <uweigand@de.ibm.com>
1096 * config/s390/s390.c (s390_canonicalize_comparison): Reverse condition
1097 when eliminating an UNSPEC_CMPINT.
1098 (s390_secondary_input_reload_class): Fix test for CC register reload.
1099 (s390_secondary_output_reload_class): Likewise.
1100 (s390_expand_cmpmem): Swap operands. Use gen_cmpint.
1101 * config/s390/s390.md ("*cmpint_si", "*cmpint_di"): Remove.
1102 ("cmpint", "*cmpint_cc", "*cmpint_sign", "*cmpint_sign_cc"): New
1103 insn patterns with splitters.
1105 2004-11-09 David Edelsohn <edelsohn@gnu.org>
1107 * config/rs6000/rs6000.c (rs6000_rtx_costs): Add EQ, GTU, and LTU.
1108 * config/rs6000/rs6000.md (sCC): Split GTU and LTU patterns.
1110 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
1112 * tree-phinodes.c (phi_reverse): New.
1113 * tree-cfg.c (tree_make_forwarder_block, tree_duplicate_bb):
1115 * tree-flow.h: Add a prototype for phi_reverse.
1117 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
1119 * tree-ssa-loop-ivopts.c: Fix a comment typo.
1121 2004-11-09 James A. Morrison <phython@gcc.gnu.org>
1124 * config/host-linux.c (TRY_EMPTY_VM_SPACE): Add __sparc__
1127 2004-11-09 Joseph S. Myers <joseph@codesourcery.com>
1129 * builtins.c, c-common.c, c-decl.c, c-format.c: Say "argument"
1130 instead of "arg" in diagnostics.
1132 2004-11-09 Joseph S. Myers <joseph@codesourcery.com>
1134 * builtins.c, c-common.c, c-decl.c, c-format.c, c-format.h,
1135 c-parse.in, c-pch.c, c-pragma.c, collect2.c, final.c, gcc.c,
1136 gcov.c, opts.c, pretty-print.h, protoize.c, reg-stack.c, rtl.c,
1137 tlink.c, config/alpha/alpha.c, config/arc/arc.c, config/arm/arm.c,
1138 config/avr/avr.c, config/c4x/c4x.c, config/darwin.c,
1139 config/frv/frv.c, config/h8300/h8300.c, config/i386/i386.c,
1140 config/i386/winnt.c, config/ia64/ia64.c, config/ip2k/ip2k.c,
1141 config/iq2000/iq2000.c, config/m32r/m32r.c,
1142 config/m68hc11/m68hc11.c, config/m68k/m68k.c, config/m68k/m68k.h,
1143 config/mcore/mcore.c, config/mips/mips.c, config/mmix/mmix.c,
1144 config/ns32k/ns32k.c, config/rs6000/host-darwin.c,
1145 config/rs6000/rs6000.c, config/s390/s390.c, config/sh/sh.c,
1146 config/sh/symbian.c, config/stormy16/stormy16.c,
1147 config/v850/v850.c: Avoid "`" as left quote, using "'" or %q, %<
1148 and %> as appropriate. Use %' as apostrophe in diagnostics where
1149 applicable. Use %< and %> in place of '' quotes where applicable.
1150 Use %qs in place of %<%s%>. Consistently quote __builtin function
1153 2004-11-09 Hans-Peter Nilsson <hp@bitrange.com>
1155 * gdbinit.in (pbb, pbm): New macros.
1157 2004-11-08 Jeff Law <law@redhat.com>
1159 * cfg.c (redirect_edge_succ_nodup): Use find_edge rather than
1160 implementing it inline.
1162 * cfganal.c (find_edge): Search pred->succs or succ->preds,
1163 whichever is shorter.
1165 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
1167 * passes.c (rest_of_handle_jump): Remove dead code.
1169 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
1171 * tree-cfg.c (thread_jumps): Speed up by keeping a pointer to
1172 the last used element in the worklist.
1174 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
1176 * tree-inline.c (remap_save_expr): Make it static.
1177 * tree-inline.h: Remove the corresponding prototype.
1179 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
1181 * tree-ssa-loop-niter.c (upper_bound_in_type,
1182 lower_bound_in_type): Make them static.
1183 * tree.h: Remove the corresponding prototypes.
1185 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
1187 * tree-ssa-live.c (tpa_init, pop_best_coalesce): Make them
1189 * tree-ssa-live.h: Remove the corresponding prototypes.
1191 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
1193 * tree-if-conv.c (tree_if_conversion): Make it static.
1194 * tree-flow.h: Remove the corresponding prototype.
1196 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
1198 * tree-ssa-operands.c (build_ssa_operands): Make it static.
1199 * tree-flow.h: Remove the corresponding prototype.
1201 2004-11-08 Andrew Pinski <pinskia@physics.uc.edu>
1204 * tree-inline.c (copy_body_r): Change "t = t" to empty
1205 statement instead of "t".
1207 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
1209 * modulo-sched.c (create_partial_schedule,
1210 free_partial_schedule, reset_partial_schedule,
1211 ps_add_node_check_conflicts, rotate_partial_schedule): Make
1214 2004-11-08 Richard Henderson <rth@redhat.com>
1216 * expmed.c (extract_force_align_mem_bit_field): Correct handling at
1219 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
1221 * sched-deps.c (add_insn_mem_dependence): Make it static.
1222 * sched-int.h: Remove the corresponding prototypes.
1224 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
1226 * flow.c (allocate_bb_life_data): Make it static.
1227 * basic-block.h: Remove the corresponding prototype.
1229 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
1231 * calls.c (split_complex_values, split_complex_types): Make
1233 * expr.h: Remove the corresponding prototypes.
1235 2004-11-08 Richard Earnshaw <rearnsha@arm.com>
1237 * arm.c (arm_handle_notshared_attribute): Wrap declaration and use
1238 with #if TARGET_DLLIMPORT_DECL_ATTRIBUTES.
1240 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
1242 * tree-if-conv.c (tree_if_convert_cond_expr): Remove two "if"
1243 statements that always trigger.
1245 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
1247 * tree-cfg.c, tree-if-conv.c, tree-into-ssa.c,
1248 tree-scalar-evolution.c, tree-ssa-loop-im.c,
1249 tree-ssa-loop-ivopts.c, tree-ssa-loop-manip.c, tree-ssa.c,
1250 tree-vectorizer.c: Replace TREE_CHAIN with PHI_CHAIN where
1253 2004-11-08 Ben Elliston <bje@au.ibm.com>
1255 * cgraph.h (cgraph_calls_p): Remove.
1256 * cgraph.c (cgraph_calls_p): Likewise.
1258 * varray.h (varray_copy): Remove.
1259 * varray.c (varray_copy): Likewise.
1261 2004-11-07 Andrew Pinski <pinskia@physics.uc.edu>
1264 * config/darwin.c (machopic_indirect_data_reference):
1265 Call gen_macho_high and gen_macho_low instead of
1266 checking the mode and calling gen_macho_high_di directly.
1267 * config/rs6000/rs6000.c (rs6000_emit_move): Likewise.
1268 * config/rs6000/rs6000.md: Move most of TARGET_MACHO expand/insns
1270 (movdf_low, movsf_low, movsf_low_st, movsi_low, macho_correct_pic,
1271 load_macho_picbase, macho_low, macho_high): Removed.
1272 (builtin_setjmp_receiver): Call gen_macho_high and
1273 gen_macho_low instead of checking the mode and calling
1274 gen_macho_high_di directly.
1275 * config/rs6000/darwin.md (load_macho_picbase_di): Use the MD constant.
1276 (movdf_low_si, movsf_low_si, movsf_low_st_si, movsi_low_st):
1277 Moved from rs6000.md.
1278 (macho_high): New expander.
1279 (macho_high_si): Renamed version of macho_high from rs6000.md.
1280 (macho_low): New expander.
1281 (macho_low_si): Renamed version of macho_low from rs6000.md.
1282 (load_macho_picbase): New expander.
1283 (load_macho_picbase_si): Renamed version of load_macho_picbase
1285 (macho_correct_pic): New expander.
1286 (macho_correct_pic_si): Renamed version of macho_correct_pic
1289 2004-11-07 Joseph S. Myers <joseph@codesourcery.com>
1291 * c-decl.c (finish_struct): Use complete sentences for diagnostic
1292 for structures or unions with no members or named members.
1294 2004-11-07 Joseph S. Myers <joseph@codesourcery.com>
1296 * c-typeck.c (build_unary_op): Replace unreachable diagnostic for
1297 taking address of bit-field by assertion.
1299 2004-11-06 Ulrich Weigand <uweigand@de.ibm.com>
1301 * config/s390/s390.md (attribute "op_type"): Default to "NN".
1302 (attribute "atype"): Default to "agen".
1303 (attribute "length"): Default to 6.
1304 (define_asm_attibutes): Remove.
1305 ("movti", "*movdi_64", "*movdi_31", "*movsi_zarch", "*movsi_esa",
1306 "*movhi", "*movqi", "*movdf_64", "*movdf_31", "movsf",
1307 "*clc", "*mvc", "*nc", "*oc", "*xc", "*xc_zero"):
1308 Do not set type attribute to "cs" where already default.
1309 ("*cmpint_si", "*cmpint_di", "fix_truncdfsi2_ibm", "floatsidf2_ibm",
1311 Do not set type attribute to "other" where already default.
1312 ("movti", "*movdi_64", "*movdi_31", "*movdf_31",
1313 "*strlendi", "*strlensi",
1314 "*movmem_long_64", "*movmem_long_31",
1315 "*clrmem_long_64", "*clrmem_long_31",
1316 "*cmpmem_long_64", "*cmpmem_long_31",
1317 "*cmpint_si", "*cmpint_di",
1318 "addti3", "*adddi3_31z", "*adddi3_31",
1319 "subti3", "*subdi3_31z", "*subdi3_31", "*negdi2_31",
1320 "*sconddi", "*scondsi", "*sconddi_neg", "*scondsi_neg",
1321 "fix_truncdfsi2_ibm", "floatsidf2_ibm", "extendsfdf2_ibm",
1322 "*pool_entry", "pool_align", "pool_section_start",
1323 "pool_section_end", "main_pool", "reload_base_31", "pool"):
1324 Do not set op_type attribute to "NN" where already default.
1325 ("*extractqi", "*extracthi", "*zero_extendhisi2_31",
1326 "*zero_extendqisi2_31", "*zero_extendqihi2_31",
1327 "fix_truncdfsi2_ibm", "floatsidf2_ibm"):
1328 Do not set atype attribute to "agen" where already default.
1329 ("*movmem_short", "*clrmem_short", "*cmpmem_short"): Don't set op_type.
1331 2004-11-06 Richard Sandiford <rsandifo@redhat.com>
1333 * config/mips/t-iris6 (tp-bit.c): Fix target filename.
1335 2004-11-06 Richard Sandiford <rsandifo@redhat.com>
1338 * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Don't define the
1339 R3000 and R4000 macros on IRIX.
1341 2004-11-06 Andreas Schwab <schwab@suse.de>
1344 * config/rs6000/altivec.h: Replace bool by __bool and pixel by
1347 2004-11-06 Kazu Hirata <kazu@cs.umass.edu>
1349 * tree-ssa-copyrename.c (rename_ssa_copies): Make it static.
1351 2004-11-06 Ulrich Weigand <uweigand@de.ibm.com>
1353 * config/s390/2064.md ("z_int", "z_agen"): Ensure the condition
1354 matches no insns already matched by other reservations.
1355 * config/s390/2084.md ("x_int", "x_agen"): Ensure the condition
1356 matches no insns already matched by other reservations.
1357 ("x_ss"): Remove, replace by ...
1358 ("x_cs"): ... this new reservation. Check type instead of op_type.
1359 Update bypasses to use x_cs instead of x_ss.
1360 ("x_nn"): Remove, replace by ...
1361 ("x_other"): ... this new reservation. Check type instead of op_type.
1362 Add x_other and x_branch to bypasses.
1363 ("x_vs"): New reservation.
1364 * config/s390/s390.md (attribute "type"): Default according to op_type.
1365 ("*execute"): Set type to "cs".
1367 2004-11-06 Kazu Hirata <kazu@cs.umass.edu>
1369 * fold-const.c (non_lvalue): Don't construct NON_LVALUE_EXPR
1370 if we are in GIMPLE.
1372 2004-11-06 Hans-Peter Nilsson <hp@bitrange.com>
1374 PR rtl-optimization/17933
1375 * rtlanal.c (dead_or_set_regno_p): Break out common code to...
1376 (covers_regno_p): New function. Handle SETs of PARALLEL,
1377 and defer the rest to...
1378 (covers_regno_no_parallel_p): New function.
1380 2004-11-06 Eric Botcazou <ebotcazou@libertysurf.fr>
1382 * config/sparc/sparc.c (function_arg_record_value_1): Skip
1383 fields with zero length.
1384 (function_arg_record_value_2): Likewise.
1385 (function_arg_record_value_3): Use smallest_mode_for_size
1386 instead of mode_for_size.
1387 (function_arg_union_value): Return naked register for unions
1390 2004-11-06 Eric Botcazou <ebotcazou@libertysurf.fr>
1392 * config/sparc/sparc.c (scan_record_type): Handle vector types.
1393 (function_arg_slotno): Handle vector types specially.
1394 (function_arg_record_value_1): Split fields with vector type and
1395 BLKmode into their subparts.
1396 (function_arg_record_value_2): Likewise. Be prepared to handle
1397 more than 2 registers per field.
1398 (function_arg_union_value): Increment regno inside the loop.
1399 (function_arg_vector_value): New function.
1400 (function_arg): Use it to split fields with vector type and
1401 BLKmode into their subparts and build a PARALLEL. Treat
1402 other vector types like floats.
1403 (function_value): Likewise.
1404 (sparc_pass_by_reference): Handle vector types.
1405 (sparc_return_in_memory): Likewise.
1407 2004-11-06 Kazu Hirata <kazu@cs.umass.edu>
1409 * tree-cfg.c (find_taken_edge_cond_expr): Remove an "if"
1410 statement that never triggers.
1412 2004-11-06 Ulrich Weigand <uweigand@de.ibm.com>
1414 * config/s390/2064.md ("z_o2", "z_o3"): Remove.
1415 * config/s390/2084.md ("x_o2", "x_o3"): Remove.
1416 ("x_fdivd"): Use also for fsqrtd type.
1417 ("x_fdivs"): Use also for fsqrts type.
1418 * config/s390/s390.md (attribute "type"): Remove "o2" and "o3" types.
1419 ("fix_truncdfsi2_ieee"): Set type to "ftoi".
1420 ("fix_truncdfsi2_ibm"): Set type to "other".
1421 ("floatdidf2", "floatdisf2"): Do not clobber CC.
1422 ("floatsidf2", "floatsidf2_ieee"): Likewise.
1423 ("floatsisf2", "floatsisf2_ieee"): Likewise.
1424 ("truncdfsf2", "truncdfsf2_ieee"): Only allow "register_operand".
1425 ("truncdfsf2_ibm"): Only allow "nonimmediate_operand". Use LER
1427 ("extendsfdf2_ibm"): Do not set atype. Set type to "floads".
1428 ("sqrtdf2"): Set type to "fsqrtd".
1429 ("sqrtsf2"): Set type to "fsqrts".
1431 2004-11-06 Kazu Hirata <kazu@cs.umass.edu>
1433 * tree-phinodes.c (remove_all_phi_nodes_for): Speed up using a
1434 pointer to the last PHI node in the new PHI chain.
1436 2004-11-06 Kaz Kojima <kkojima@gcc.gnu.org>
1438 * config/sh/sh.c (prepare_move_operands): Emit a use of r12
1439 for non-PIC TLS_MODEL_INITIAL_EXEC case.
1441 2004-11-06 Kazu Hirata <kazu@cs.umass.edu>
1443 * expmed.c: Fix a comment typo.
1445 2004-11-06 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
1448 * config/i386/cygming.h
1449 [HAVE_GAS_WEAK] (ASM_WEAKEN_LABEL): Macro defined.
1451 2004-11-06 Kazu Hirata <kazu@cs.umass.edu>
1453 * config/sh/sh4a.md: Fix copyright.
1455 2004-11-06 Kazu Hirata <kazu@cs.umass.edu>
1457 * config/rs6000/darwin.md, config/sh/sh4a.md: Replace GNU CC
1460 2004-11-05 David Edelsohn <edelsohn@gnu.org>
1462 * config/rs6000/rs6000.md (scc patterns): Replace subfc with subf
1463 when carry not used. Suggested by Torbjorn Granlund.
1465 * config/rs6000/rs6000.c (rs6000_emit_move): Don't force_reg
1466 operand[1] unnecessarily. Suggested by Eric Christopher.
1467 (rs6000_adjust_cost): Increase latency of store to wider load.
1468 (rs6000_rtx_costs): mulli only allows 16-bit constants.
1470 2004-11-05 Stan Shebs <shebs@apple.com>
1472 * config/rs6000/rs6000.c (machopic_output_stub): Output
1473 ldu instead of lwzu for 64-bit stubs.
1475 2004-11-05 Richard Henderson <rth@redhat.com>
1477 * config/alpha/alpha.c (alpha_expand_unaligned_load): Special case
1479 (alpha_expand_unaligned_store): Likewise.
1481 2004-11-05 Richard Henderson <rth@redhat.com>
1483 * expmed.c (extract_force_align_mem_bit_field): New.
1484 (extract_split_bit_field): Call it.
1486 2004-11-05 Richard Henderson <rth@redhat.com>
1488 * ia64.md (UNSPEC_SHRP): New.
1489 (dshift_count_operand): New.
1490 (ashrti3, ashrti3_internal, lshrti3, lshrti3_internal, shrp): New.
1491 * ia64.c (rtx_needs_barrier): Handle UNSPEC_SHRP.
1493 2004-11-05 Joseph S. Myers <joseph@codesourcery.com>
1495 * c-typeck.c (output_init_element): Return early if value is
1498 2004-11-05 James E Wilson <wilson@specifixinc.com>
1500 * invoke.texi (-fno-guess-branch-probability): Rewrite.
1502 * config/ia64/ia64.c (rtx_needs_barrier, case UNSPEC_GR_SPILL): Change
1503 1 to UNSPEC_GR_SPILL.
1505 2004-11-05 Andreas Krebbel <krebbel1@de.ibm.com>
1507 * config/s390/s390.c (s390_fixed_condition_code_regs): New function.
1508 (TARGET_FIXED_CONDITION_CODE_REGS): Macro defined.
1510 2004-11-05 Nathan Sidwell <nathan@codesourcery.com>
1512 * bitmap.h (enum bitmap_bits): Remove.
1513 (bitmap_operation): Remove.
1514 (bitmap_and, bitmap_and_into, bitmap_and_compl,
1515 bitmap_and_compl_into, bitmap_ior, bitmap_ior_into, bitmap_xor,
1516 bitmap_xor_into): Prototype.
1517 * bitmap.c (bitmap_elt_insert_after, bitmap_elt_clear_from): New.
1518 (bitmap_operation): Remove.
1519 (bitmap_and, bitmap_and_into, bitmap_and_compl,
1520 bitmap_and_compl_into, bitmap_ior, bitmap_ior_into, bitmap_xor,
1521 bitmap_xor_into): New.
1522 (bitmap_ior_and_compl, bitmap_ior_and_compl_into): Adjust.
1524 PR tree-optimization/18307
1525 * tree-ssa-alias.c (merge_pointed_to_info): Protected against DEST
1526 and ORIG being the same node.
1528 2004-11-04 Geoffrey Keating <geoffk@apple.com>
1530 * Makefile.in (distclean): Don't delete nonexistent fixinc/ directory.
1531 (install-mkheaders): Install the version built for the
1532 host, not for the build machine.
1533 * configure.ac: Always run fixincludes.
1534 (all_outputs): Remove mkheaders.
1535 * configure: Regenerate.
1536 * fixinc.in: Move to fixincludes/.
1537 * mkfixinc.sh: Likewise.
1538 * mkheaders.in: Likewise.
1539 * README-fixinc: Likewise.
1541 2004-11-05 Ramana Radhakrishnan <ramana.radhakrishnan@codito.com>
1544 * config/arc/lib1funcs.asm (___umulsidi3): Change use of cmp to the
1545 equivalent on the A4.
1547 2004-11-05 Joseph S. Myers <joseph@codesourcery.com>
1549 * doc/c-tree.texi, doc/cfg.texi, doc/contrib.texi, doc/cpp.texi,
1550 doc/cppopts.texi, doc/extend.texi, doc/fragments.texi,
1551 doc/frontends.texi, doc/gcov.texi, doc/hostconfig.texi,
1552 doc/implement-c.texi, doc/install.texi, doc/invoke.texi,
1553 doc/libgcc.texi, doc/md.texi, doc/passes.texi,
1554 doc/portability.texi, doc/rtl.texi, doc/sourcebuild.texi,
1555 doc/standards.texi, doc/tm.texi, doc/tree-ssa.texi,
1556 doc/trouble.texi: Correct end-of-sentence markup and markup of
1557 "etc.", "e.g." and "i.e.". Use @code in various places where
1560 2004-11-05 Joseph S. Myers <joseph@codesourcery.com>
1562 * doc/c-tree.texi, doc/cfg.texi, doc/extend.texi, doc/gty.texi,
1563 doc/install.texi, doc/invoke.texi, doc/md.texi, doc/passes.texi,
1564 doc/rtl.texi, doc/tm.texi, doc/tree-ssa.texi: Remove trailing
1567 2004-11-04 Mark Mitchell <mark@codesourcery.com>
1569 * config/arm/arm.c (arm_handle_notshared_attribute): New function.
1570 * doc/extend.texi: Document "notshared" attribute.
1572 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
1574 * tree-phinodes.c (make_phi_node): Make it static.
1575 * tree.h: Remove the prototypes for make_phi_node.
1577 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
1579 * stmt.c (expand_asm, expand_asm_operands): Make them static.
1580 * tree.h: Remove the prototypes for expand_asm and
1581 expand_asm_operands.
1583 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
1585 * passes.c (rest_of_compilation): Make it static.
1586 * toplev.h: Remove the prototype for rest_of_compilation.
1588 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
1590 * jump.c (cleanup_barriers): Use delete_insn instead of
1592 (delete_barrier): Remove.
1593 * rtl.h: Remove the corresponding prototype.
1595 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
1597 * expr.c (mostly_zero_p): Make it static.
1598 * tree.h: Remove the prototype for mostly_zeros_p.
1600 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
1602 * cfgrtl.c (force_nonfallthru_and_redirect): Make it static.
1604 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
1606 * builtins.c (expand_builtin_return_addr,
1607 expand_builtin_longjmp, expand_builtin_trap): Make them static.
1608 * expr.h: Remove the prototypes for expand_builtin_longjmp and
1609 expand_builtin_trap.
1610 * tree.h: Remove the prototype for expand_builtin_return_addr.
1612 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
1614 * tree-cfg.c (find_taken_edge): Reject VAL begin NULL.
1615 * tree-ssa-ccp.c (visit_cond_stmt): Don't call find_taken_edge
1616 with VAL being NULL.
1618 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
1620 * cfghooks.c (delete_basic_block): Remove code to truncate
1623 2004-11-04 Andrew Pinski <pinskia@physics.uc.edu>
1625 * flow.c (init_propagate_block_info): Change the type of i to
1628 2004-11-04 Ulrich Weigand <uweigand@de.ibm.com>
1630 PR tree-optimization/18184
1631 * c-typeck.c (comptypes): Do not treat pointers of different
1632 modes or alias-all flags as equivalent.
1633 * tree-ssa.c (tree_ssa_useless_type_conversion_1): Likewise.
1635 2004-11-04 Joseph S. Myers <joseph@codesourcery.com>
1637 * doc/gty.texi, doc/makefile.texi, doc/sourcebuild.texi: Don't
1638 reference specific C parser files in examples.
1640 2004-11-04 Richard Sandiford <rsandifo@redhat.com>
1643 * regrename.c (scan_rtx): Treat the destinations of SETs and CLOBBERs
1644 as OP_INOUT if the instruction is predicated.
1646 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
1648 * bitmap.h: Fix a comment typo. Follow spelling conventions.
1649 * tree-vectorizer.c: Fix a comment typo.
1651 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
1653 * sdbout.c (SDB_GENERATE_FAKE): Remove.
1654 (gen_fake_label): Don't use SDB_GENERATE_FAKE.
1655 * system.h: Poison SDB_GENERATE_FAKE.
1656 * doc/tm.texi (SDB_GENERATE_FAKE): Remove.
1658 2004-11-04 Ulrich Weigand <uweigand@de.ibm.com>
1660 * config/s390/s390.md ("*addsi3_sign"): Use canonical RTL.
1662 2004-11-04 Eric Botcazou <ebotcazou@libertysurf.fr>
1665 * gthr-posix.h (__gthread_recursive_mutex_init_function): Revert
1668 2004-11-04 Nathan Sidwell <nathan@codesourcery.com>
1670 * predict.c (propagate_freq): Make bitno unsigned. Move
1671 npredecessors update out of loop.
1673 * bitmap.h (bitmap_iterator): Remove word_bit and bit
1674 fields. Rename others.
1675 (bmp_iter_common_next_1, bmp_iter_single_next_1,
1676 bmp_iter_single_init, bmp_iter_end_p, bmp_iter_single_next,
1677 bmp_iter_and_not_next_1, bmp_iter_and_not_init,
1678 bmp_iter_and_not_next, bmp_iter_and_next_1, bmp_iter_and_init,
1679 bmp_iter_and_next): Remove.
1680 (bmp_iter_set_init, bmp_iter_and_init, bmp_iter_and_compl_init,
1681 bmp_iter_next, bmp_iter_set, bmp_iter_and, bmp_iter_and_compl):
1683 (EXECUTE_IF_SET_IN_BITMAP, EXECUTE_IF_AND_IN_BITMAP,
1684 EXECUTE_IF_AND_COMPL_IN_BITMAP): Adjust.
1686 * bitmap.h (bitmap_a_or_b, bitmap_a_and_b): Remove.
1687 * df.c (dataflow_set_a_op_b): Use bitmap_and, bitmap_ior,
1688 bitmap_and_into, bitmap_ior_into as appropriate.
1689 * except.c (remove_eh_handler): Likewise.
1690 * global.c (modify_bb_reg_pav, make_accurate_live_analysis): Likewise.
1691 * tree-dfa.c (mark_new_vars_to_rename): Likewise.
1692 * tree-ssa-alias.c (merge_pointed_to_info): Likewise.
1693 * tree-ssa-live.h (live_merge_and_clear): Likewise.
1694 * tree-ssa-loop-ivopts.c (find_best_candidate, try_add_cand_for):
1697 * bitmap.c (bitmap_print): Make bitno unsigned.
1698 * bt-load.c (clear_btr_from_live_range,
1699 btr_def_live_range): Likewise.
1700 * caller-save.c (save_call_clobbered_regs): Likewise.
1701 * cfganal.c (compute_dominance_frontiers_1): Likewise.
1702 * cfgcleanup.c (thread_jump): Likewise.
1703 * cfgrtl.c (safe_insert_insn_on_edge): Likewise.
1704 * conflict.c (conflict_graph_compute): Likewise.
1705 * ddg.c (add_deps_for_use): Likewise.
1706 * df.c (df_refs_update): Likewise.
1707 * except.c (remove_eh_handler): Likewise.
1708 * flow.c (verify_local_live_at_start, update_life_info,
1709 initialize_uninitialized_subregs, propagate_one_insn,
1710 free_propagate_block_info, propagate_block, find_use_as_address,
1711 reg_set_to_hard_reg_set): Likewise.
1712 * gcse.c (clear_modify_mem_tables): Likewise.
1713 * global.c (global_conflicts, build_insn_chain): Likewise.
1714 * ifcvt.c (dead_or_predicable): Likewise.
1715 * local-alloc.c (update_equiv_regs): Likewise.
1716 * loop.c (load_mems): Likewise.
1717 * ra-build.c (livethrough_conflicts_bb, conflicts_between_webs):
1719 * ra-rewrite.c (reloads_to_loads, rewrite_program2, actual_spill):
1721 * reload1.c (order_regs_for_reload, finish_spills): Likewise.
1722 * sched-deps.c (sched_analyze_insn, free_deps): Likewise.
1723 * sched-rgn.c (propagate_deps
1724 * tree-cfg.c (tree_purge_all_dead_eh_edges): Likewise.
1725 * tree-dfa.c (dump_dfa_stats
1726 tree-into-ssa.c (compute_global_livein, insert_phi_nodes,
1727 insert_phi_nodes_for, debug_def_blocks_r, invalidate_name_tags):
1729 * tree-outof-ssa.c (coalesce_ssa_name, coalesce_vars,
1730 free_temp_expr_table, find_replaceable_exprs): Likewise.
1731 * tree-sra.c (scan_function, scalarize_parms): Likewise.
1732 * tree-ssa-alias.c (init_alias_info,
1733 compute_points_to_and_addr_escape,
1734 compute_flow_sensitive_aliasing, maybe_create_global_var): Likewise.
1735 * tree-ssa-dce.c (mark_control_dependent_edges_necessary): Likewise.
1736 * tree-ssa-live.c (new_tree_live_info, live_worklist,
1737 calculate_live_on_entry, calculate_live_on_exit, compare_pairs,
1738 sort_coalesce_list, build_tree_conflict_graph, dump_live_info
1739 tree-ssa-loop-manip.c (add_exit_phis_var): Likewise.
1740 tree-ssa-operands.c (get_asm_expr_operands, add_call_clobber_ops,
1741 add_call_read_ops): Likewise.
1742 * tree-ssa-pre.c (bitmap_print_value_set, insert_aux): Likewise.
1743 * tree-ssa-live.h (num_var_partitions): Return unsigned.
1745 2004-11-03 Dorit Naishlos <dorit@il.ibm.com>
1747 PR tree-optimization/18009
1748 * tree-vectorizer.h (enum dr_alignment_support): New type.
1749 (MAX_NUMBER_OF_UNALIGNED_DATA_REFS): Removed.
1750 (LOOP_UNALIGNED_DR): replaced with LOOP_VINFO_UNALIGNED_DR and holds a
1751 single data_reference (instead of a varray of references).
1752 * tree-vectorizer.c (new_loop_vec_info): Likewise.
1753 (vect_gen_niters_for_prolog_loop): Likewise.
1754 (vect_update_inits_of_drs): Likewise.
1756 (vect_update_inits_of_drs): Setting of DR_MISALIGNMENT moved to
1757 vect_enhance_data_refs_alignment.
1758 (vect_do_peeling_for_alignment): Likewise.
1759 (vect_enhance_data_refs_alignment): Decide if and by how much to peel;
1760 this functionality used to be in vect_analyze_data_refs_alignment.
1761 Also update DR_MISALIGNMENT due to peeling; this functionality used to
1762 be in vect_update_inits_of_drs and vect_do_peeling_for_alignment).
1763 (vect_analyze_data_refs_alignment): Decision on whether and by how much
1764 to peel moved to vect_enhance_data_refs_alignment. Call
1765 vect_supportable_dr_alignment.
1767 (vect_compute_data_ref_alignment): Set STMT_VINFO_VECTYPE.
1768 (vect_compute_data_refs_alignment): Return bool. Consider return value
1769 of vect_compute_data_ref_alignment and return true/false accordingly.
1770 (vect_enhance_data_refs_alignment): Consider return value of
1771 vect_compute_data_refs_alignment and return true/false accordingly.
1773 (vect_supportable_dr_alignment): New function.
1774 (vectorizable_store): Call vect_supportable_dr_alignment.
1775 (vectorizable_load): Call vect_supportable_dr_alignment. Alignment
1776 support checks moved from here to vect_supportable_dr_alignment.
1778 (vect_transform_loop): Avoid 80 columns overflow.
1780 2004-11-03 Andrew Pinski <pinskia@physics.uc.edu>
1782 * timevar.c (timevar_enable): Change from
1784 (timevar_push): Rename to ...
1785 (timevar_push_1): this and remove the
1787 (timevar_pop): Rename to ...
1788 (timevar_pop_1): this and remove the
1790 * timevar.h (POP_TIMEVAR_AND_RETURN): Use do/while loops.
1791 (timevar_pop): New macro.
1792 (timevar_push): New macro.
1793 (timevar_enable): Declare.
1795 2004-11-03 Andrew Pinski <pinskia@physics.uc.edu>
1797 * config/darwin.h (REAL_LIBGCC_SPEC): Define to use shared
1798 libgcc for shared libraries.
1800 2004-11-03 Ulrich Weigand <uweigand@de.ibm.com>
1802 * config/s390/s390-protos.h (s390_split_access_reg): Add prototype.
1803 * config/s390/s390.c (s390_split_access_reg): New function.
1804 (regclass_map): Add access registers.
1805 (get_thread_pointer): Use access register instead of UNSPEC_TP.
1806 * config/s390/s390.h (FIRST_PSEUDO_REGISTER): Set to 38.
1807 (ACCESS_REGNO_P, ACCESS_REG_P): New macros.
1808 (TP_REGNUM): New define.
1809 (FIXED_REGISTERS, CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS,
1810 REG_ALLOC_ORDER): Add access registers.
1811 (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK, CLASS_MAX_NREGS,
1812 CANNOT_CHANGE_MODE_CLASS): Support access registers.
1813 (enum reg_class): Add ACCESS_REGS.
1814 (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Likewise.
1815 (REG_CLASS_FROM_LETTER): Add 't' constraint.
1816 (REGISTER_NAMES): Add access registers.
1817 * config/s390/s390.md (UNSPEC_TP): Remove.
1818 ("*movdi_64"): Add access register alternatives. Provide splitters
1819 to split DImode access register <-> GPR moves into SImode moves.
1820 ("*movsi_zarch", "*movsi_esa"): Add access register alternatives.
1821 ("movstrictsi"): Likewise.
1822 ("get_tp_64", "get_tp_31"): Reimplement using access registers.
1823 ("set_tp_64", "set_tp_31"): Likewise.
1824 ("*set_tp"): New insn.
1826 2004-11-03 Kazu Hirata <kazu@cs.umass.edu>
1828 * tree-phinodes.c (resize_phi_node): Copy only a portion of
1829 the PHI node currently in use.
1831 2004-11-03 Andrew Pinski <pinskia@physics.uc.edu>
1834 * tree.c (staticp) <case FUNCTION_DECL>: Nested functions are static
1837 2004-11-03 Andrew MacLeod <amacleod@redhat.com>
1839 PR tree-optimization/18270
1840 * tree-outof-ssa.c (analyze_edges_for_bb): If a block has incoming
1841 abnormal edges, commit all pending stmts on incoming edges.
1843 2004-11-03 Ulrich Weigand <uweigand@de.ibm.com>
1845 * tree-ssa-loop-ivopts.c (get_address_cost): Offset zero does not
1846 cause extra costs. Generate canonical RTL.
1848 2004-11-02 Daniel Berlin <dberlin@dberlin.org>
1850 * lambda-code.c (lambda_compute_auxillary_space): Update comments.
1851 (lambda_compute_target_space). Ditto.
1852 * lambda.h (lambda_trans_matrix): Ditto.
1853 (lambda_linear_expression): Ditto.
1854 (lambda_body_vector): Ditto.
1855 (lambda_loopnest): Ditto.
1856 * tree-loop-linear.c (gather_interchange_stats): Combine tests,
1857 update comments, and remove pointless addition of 0.
1858 (linear_transform_loops): Update comments.
1860 2004-11-03 Sebastian Pop <pop@cri.ensmp.fr>
1862 * tree.c (tree_fold_gcd): Use FLOOR_MOD_EXPR instead of
1865 2004-11-03 Jeff Law <law@redhat.com>
1867 * predict.c (struct block_info_def): Kill "tovisit" field.
1868 (propagate_freq): Accept new "tovisit" parameter. Change
1869 read/write access methods for "tovisit" to check the "tovisit"
1870 bitmap instead of a bit in block_info_def.
1871 (estimate_loops_at_level): Allocate "tovisit" bitmap. Pass
1872 it to propagate_freq.
1874 * stmt.c (expand_case): Speed up code to detect duplicate case
1875 label targets and count unique case label targets.
1877 2004-11-03 Kazu Hirata <kazu@cs.umass.edu>
1879 * cppdefault.c, cppdefault.h, timevar.h: Update copyright.
1881 2004-11-03 Kazu Hirata <kazu@cs.umass.edu>
1883 * bitmap.h, dbxout.c, tree-mudflap.c: Fix comment formatting.
1885 2004-11-03 Kazu Hirata <kazu@cs.umass.edu>
1887 * tree-cfg.c (find_taken_edge): Abort if we are given a
1888 statement that is neither COND_EXPR nor SWITCH_EXPR.
1890 2004-11-02 Zdenek Dvorak <dvorakz@suse.cz>
1892 * fold-const.c (fold): Reassociate also (x - mult) + mult and
1893 (mult - x) + mult. Cast operands of expression after applying
1894 distributive law to the correct types. Apply distributive law
1895 to a * c - b * c for all non-float types.
1897 2004-11-02 Geoffrey Keating <geoffk@apple.com>
1899 * configure.ac: Don't clear STMP_FIXINC or STMP_FIXPROTO just
1900 because we don't want to run them now; instead, set them to
1901 stmp-install-fixproto or stmp-install-fixinc.
1902 * Makefile.in (stmp-install-fixproto): New.
1903 (stmp-install-fixinc): New.
1904 * configure: Regenerate.
1906 2004-11-02 Nathan Sidwell <nathan@codesourcery.com>
1908 * flow.c (init_propagate_block_info): Use bitmap_empty_p on result
1911 2004-11-02 Ziemowit Laski <zlaski@apple.com>
1913 * c-lang.c (LANG_HOOKS_TYPES_COMPATIBLE_P): Remove.
1914 (c_types_compatible_p): Move function definition...
1915 * c-objc-common.c (c_types_compatible_p): ...here.
1916 * c-objc-common.h (LANG_HOOKS_TYPES_COMPATIBLE_P): Moved here from
1919 2004-11-02 Steven Bosscher <stevenb@suse.de>
1921 * cfgloop.h (struct loop): Update comment.
1922 * cse.c (cse_main): Remove obsolete comment.
1924 * expr.h (gen_cond_trap): Move prototype under functions provided
1926 (canonicalize_condition, get_condition): Move to...
1927 * rtl.h (canonicalize_condition, get_condition): ...here.
1928 (branch_target_load_optimize): Add comment that this function is
1930 * loop.c (canonicalize_condition, get_condition): Move to...
1931 * rtlanal.c (canonicalize_condition, get_condition): ...here.
1932 * sched-deps.c (get_condition): Rename to sched_get_condition.
1933 (add_dependence): Update this caller.
1935 2004-11-02 Andrew Pinski <pinskia@physics.uc.edu>
1938 * tree-ssa.c (replace_immediate_uses): If we call fold_stmt, make sure
1939 that the vops get marked for renaming.
1941 2004-11-02 Andreas Krebbel <krebbel1@de.ibm.com>
1943 * config/s390/s390.md ("movcc"): Set type attribute.
1945 2004-11-02 Kazu Hirata <kazu@cs.umass.edu>
1947 * tree-phinodes.c (add_phi_arg): Add an assertion that the
1948 edge already exists.
1950 2004-11-02 Kazu Hirata <kazu@cs.umass.edu>
1952 * tree-phinodes.c (remove_phi_arg_num): Do not zero the
1953 element that's being removed.
1955 2004-11-02 Kazu Hirata <kazu@cs.umass.edu>
1957 * tree-ssa-threadupdate.c (copy_phis_to_block): Install PHI
1958 arguments using PENDING_STMT.
1959 (thread_block): Call copy_phis_to_block after redirecting an
1962 2004-11-02 Nathan Sidwell <nathan@codesourcery.com>
1964 * bitmap.h (bitmap_and, bitmap_and_into, bitmap_and_compl,
1965 bitmap_and_compl_into, bitmap_ior, bitmap_iot_into,
1966 bitmap_ior_compl, bitmap_xor, bitmap_xor_into): Produce void.
1967 (bitmap_ior_and_compl_into): Produce bool.
1968 (bitmap_union_of_diff): Rename to ...
1969 (bitmap_ior_and_compl): ... here. Produce bool.
1970 * bitmap.c (bitmap_ior_and_compl_into): Return bool. Use
1971 bitmap_operation directly.
1972 (bitmap_union_of_diff): Rename to ...
1973 (bitmap_ior_and_compl): ... here. Return bool, use
1974 bitmap_operation directly.
1975 * df.c (df_rd_transfer_function): Use bitmap_ior_and_compl.
1976 (df_ru_transfer_function, df_lr_transfer_function): Likewise.
1977 * global.c (modify_bb_reg_pav): Likewise.
1979 * bitmap.h (bitmap_equal_p): Return bool.
1980 (bitmap_intersect_p, bitmap_intersect_compl_p): Declare.
1981 * bitmap.c (bitmap_equal_p): Return bool. Compare directly.
1982 (bitmap_intersect_p, bitmap_intersect_compl_p): New.
1983 * flow.c (calculate_global_regs_live): Use bitmap_intersect_p and
1984 bitmap_intersect_compl_p.
1985 * ifcvt (dead_or_predicable): Likewise.
1987 2004-11-02 Nathan Sidwell <nathan@codesourcery.com>
1989 PR rtl-optimization/17104
1990 * config/rs6000/rs6000.c (rs6000_emit_move): Don't wrap small
1991 loads in zero_extend.
1993 2004-11-02 Danny Smith <dannysmith@users.sourceforge.net>
1996 * toplev.c (debug_type_names): Remove "dwarf-1".
1998 2004-11-02 Ben Elliston <bje@au.ibm.com>
2000 * timevar.h (timevar_get): Remove.
2001 * timevar.c (timevar_get): Remove unused function.
2003 2004-11-02 Joseph S. Myers <joseph@codesourcery.com>
2005 * doc/include/texinfo.tex: Update from Texinfo CVS.
2007 2004-11-02 Ben Elliston <bje@au.ibm.com>
2009 * cppdefault.h (cpp_SYSROOT): Remove.
2010 * cppdefault.c (cpp_SYSROOT): Likewise.
2012 2004-11-01 Andrew MacLeod <amacleod@redhat.com>
2014 PR tree-optimization/16447
2015 * tree-cfg.c (bsi_commit_one_edge_insert): Rename from
2016 bsi_commit_edge_inserts_1, and make funtion external. Return new block.
2017 (bsi_commit_edge_inserts): Use renamed bsi_commit_one_edge_insert.
2018 * tree-optimize.c (pass_cleanup_cfg_post_optimizing): Enable listing.
2019 * tree-flow.h (bsi_commit_one_edge_insert): Extern decl.
2020 * tree-outof-ssa.c (rewrite_trees): Don't commit edges here.
2021 (same_stmt_list_p): New. Return TRUE if edge is to be forwarded.
2022 (identical_copies_p): New. Return true is two copies are the same.
2023 (identical_stmt_lists_p): New. Return true if stmt lists are the same.
2024 (analyze_edges_for_bb): New. Determine how best to insert edge stmts
2026 (perform_edge_inserts): New. Determine what to do with all stmts that
2027 have been inserted on edges.
2028 (remove_ssa_form): Analyze and commit edges from here.
2030 2004-11-01 Andrew Pinski <pinskia@physics.uc.edu>
2033 * bitmap.h (bmp_iter_end_p): Take a const pointer instead of a struct.
2034 (EXECUTE_IF_SET_IN_BITMAP): Update call to bmp_iter_end_p.
2035 (EXECUTE_IF_AND_COMPL_IN_BITMAP): Likewise.
2036 (EXECUTE_IF_AND_IN_BITMAP): Likewise.
2038 2004-11-01 Joseph S. Myers <joseph@codesourcery.com>
2041 * c-decl.c (get_parm_info): Allow FUNCTION_DECLs to appear amongst
2042 parameter declarations.
2044 2004-11-01 Andreas Krebbel <krebbel1@de.ibm.com>
2046 * config/s390/s390.c (regclass_map): Put reg 33 (cc) to CC_REGS group.
2047 (s390_secondary_input_reload_class)
2048 (s390_secondary_output_reload_class): Use GENERAL_REGS to reload a cc
2050 (s390_expand_cmpmem): Enable cmpmem implementation.
2051 * config/s390/s390.h (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS):
2052 Added three new classes: CC_REGS, ADDR_CC_REGS, GENERAL_CC_REGS.
2053 (REG_CLASS_FROM_LETTER): New constraint 'c' added.
2054 * config/s390/s390.md ("movcc"): New insn pattern.
2055 * doc/md.texi: Document 'c' constraint for s390.
2057 2004-11-01 Nathan Sidwell <nathan@codesourcery.com>
2060 * doc/extend.texi (Deprecated Features): Deprecate G++ covariant
2063 2004-10-16 Daniel Berlin <dberlin@dberlin.org>
2065 Fix PR tree-optimization/17672
2066 Fix PR tree-optimization/18168
2068 * lambda-code.c (lambda_lattice_compute_base): Fix reversed
2070 (gcc_tree_to_linear_expression): Add extra to existing constant.
2071 (depth_of_nest): Factor out function used in various places.
2072 (gcc_loop_to_lambda_loop): Clean up code a little bit. No
2074 (find_induction_var_from_exit_cond): Stop guessing, and just
2075 get the right answer :).
2076 (gcc_loopnest_to_lambda_loopnest): Remove useless pre-allocation.
2077 Print out message about result of attempt to create perfect nest.
2078 (lbv_to_gcc_expression): Add type argument, use it to do math
2079 and induction variable creation.
2080 (lle_to_gcc_expression): Ditto.
2081 (lambda_loopnest_to_gcc_loopnest): Create new iv with same type as
2082 oldiv. Pass type argument to lle_to_gcc_expression and
2083 lbv_to_gcc_expression.
2084 Reset number of iterations after transformation.
2085 (perfect_nestify): Remove useless pre-allocation, and cleanup
2088 * tree-data-ref.c (build_classic_dist_vector): Return false for
2089 dependences completely outside of the loop nest we asked about.
2090 (build_classic_dir_vector): Ditto.
2091 (compute_data_dependences_for_loop): Only add dependence relations
2092 inside the loop we asked about.
2094 * tree-loop-linear.c (linear_transform_loops): Use DDR_SIZE_VECT.
2095 Compute immediate uses.
2097 * tree-optimize.c: Move linear_transform_loops to before ivcanon.
2099 2004-11-01 Kazu Hirata <kazu@cs.umass.edu>
2101 * tree-cfg.c (thread_jumps): Fix a comment typo.
2103 2004-11-01 Kazu Hirata <kazu@cs.umass.edu>
2105 * tree-cfg.c (thread_jumps): Fix a comment typo.
2107 2004-10-31 Nicolas Pitre <nico@cam.org>
2109 * config/arm/ieee754-sf.S (floatdisf): Fix regression with
2110 values smaller than 2^32.
2112 2004-10-31 Jeff Law <law@redhat.com>
2114 * cfgloop.h (struct loop): Remove unused "nodes" field.
2115 * timevar.def (TV_TREE_LOOP_BOUNDS): New.
2116 * tree-data-ref.c (find_data_references_in_loop): Use get_loop_body
2117 instead of calling flow_bb_inside_loop_p for every basic block
2119 * tree-ssa-loop.c (pass_record_bounds): Use TV_TREE_LOOP_BOUNDS.
2121 2004-10-31 Graham Stott <graham.stott@btinternet.com>
2123 * config/pa/pa.md: (prefetch_64, prefetch_32): Fix typo. Use
2124 INT_5_BITS instead of VAL_5_BITS_P.
2126 2004-10-31 Roger Sayle <roger@eyesopen.com>
2129 * tree-inline.c (inline_forbidden_p_1): Use %qF instead of '%F'
2130 for consistent quoting in diagnostic messages.
2131 (expand_call_inline): Likewise.
2132 * tree-optimize.c (tree_rest_of_compilation): Likewise.
2133 * tree-ssa.c (warn_uninitialized_var): Likewise.
2134 (warn_uninitialized_phi): Likewise.
2136 2004-10-31 Richard Sandiford <rsandifo@redhat.com>
2138 * config/mips/mips.c (mips_cannot_change_mode_class): Use a stricter
2141 2004-10-31 Kazu Hirata <kazu@cs.umass.edu>
2143 * c-common.c: Fix a comment typo.
2145 2004-10-31 Jason Merrill <jason@redhat.com>
2148 * tree-gimple.c (is_gimple_mem_rhs): Also require a val for
2149 aggregate types that are not BLKmode.
2151 2004-10-30 Ziemowit Laski <zlaski@apple.com>
2153 * c-common.h (objc_lookup_ivar): Add second parameter to
2155 * c-typeck.c (build_external_ref): After looking up symbol,
2156 pass it to objc_lookup_ivar() to decide whether it or the
2157 ivar should be used, rather than deciding the issue locally.
2158 * stub-objc.c (objc_lookup_ivar): Add an OTHER parameter,
2159 which is simply returned in the non-ObjC case.
2161 2004-10-30 Danny Smith <dannysmith@users.sourceforge.net>
2163 * sdbout.c (sdbout_symbol): Do not output type .def statements
2166 2004-10-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
2168 * c-common.c (catenate_strings): New.
2169 (c_parse_error): Use it. Don't over-escape.
2171 2004-10-30 Kaz Kojima <kkojima@gcc.gnu.org>
2173 * config/sh/sh.c (calc_live_regs): Declare reg as unsigned and
2174 modify the for loop expressions for it. Remove unnecessary casts.
2175 (sh_expand_prologue): Declare reg as unsigned.
2176 (sh_gimplify_va_arg_expr): Initinalize lab_over.
2177 (sh_handle_sp_switch_attribute): Add const qualifier appropriately.
2179 2004-10-30 Geoffrey Keating <geoffk@apple.com>
2181 * doc/invoke.texi (Darwin Options): Improve description of
2182 how the subtype is chosen.
2184 2004-10-30 Roger Sayle <roger@eyesopen.com>
2187 * config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Check that
2188 the stack adjustment, "size", is valid for Pmode. If the stack
2189 frame is too large, generate a trap insn and issue a warning.
2191 2004-10-30 Kazu Hirata <kazu@cs.umass.edu>
2193 * tree-ssa-dom.c: Fix comment typos.
2195 2004-10-30 Kaz Kojima <kkojima@gcc.gnu.org>
2197 * config/sh/sh.c (prepare_move_operands): Use operands[0]
2198 for the output rtl if no_new_pseudos is set. Remove redundant
2201 2004-10-30 Joseph S. Myers <joseph@codesourcery.com>
2204 * c-decl.c (start_function): Don't check for DECL_BUILT_IN when
2205 determining whether to copy parameter types from a previous
2206 prototype declaration.
2208 2004-10-29 Roger Sayle <roger@eyesopen.com>
2210 PR rtl-optimization/17581
2211 * cselib.c (cselib_process_insn): The last instruction of a libcall
2212 block, with the REG_RETVAL note, should be considered in the libcall.
2213 * gcse.c (do_local_cprop): Allow constants to be propagated outside
2215 (adjust_libcall_notes): Use simplify_replace_rtx instead of
2216 replace_rtx to avoid creating invalid RTL in REG_RETVAL notes.
2218 2004-10-30 Kazu Hirata <kazu@cs.umass.edu>
2220 * tree-phinodes.c (create_phi_node): Don't zero PHI_REWRITTEN.
2222 2004-10-29 Jeff Law <law@redhat.com>
2224 * tree-ssa-dom.c (struct edge_info): New structure holding
2225 edge equivalences and edge redirection information.
2226 (get_eq_expr_value, record_dominating_conditions): Kill.
2227 (propagate_to_outgoing_edges): Renamed from cprop_into_phis.
2228 Call record_edge_info.
2229 (allocate_edge_info, free_edge_info): New.
2230 (tree_ssa_dominator_optimize): Use propagate_to_outgoing_edges
2231 rather than cprop_into_phis. Free all edge infos before threading
2233 (thread_across_edge): Allocate new edge info structures as needed
2234 and store the redirection target into the edge info structure
2235 instead of the edge's AUX field.
2236 (dom_opt_initialize_block): Mark unused argument with ATTRIBUTE_UNUSED.
2237 (record_equivalence_from_incoming_edge): Lose unnecessary argument.
2238 Revamp code which finds and records equivalences associated with
2239 edges to use saved data in the edge_info structure.
2240 (record_equivalencs_from_phis): Similarly.
2241 (dom_opt_finalize_block): Revamp code which finds and records
2242 equivalences associated with edges to use saved data in the
2243 edge_info structure.
2244 (build_and_record_new_cond): New function.
2245 (record_conditions): Use build_and_record_new_cond to record
2246 dominating conditions.
2247 (record_edge_info): New function.
2248 (record_range): Tighten test for conditions which create
2249 useful range records.
2251 2004-10-29 Geoffrey Keating <geoffk@apple.com>
2253 * config/i386/darwin.h (ASM_SPEC): Simplify.
2254 (SUBTARGET_EXTRA_SPECS): Add darwin_subarch spec.
2255 * config/rs6000/darwin.h (DARWIN_SUBARCH_SPEC): New.
2256 (SUBTARGET_EXTRA_SPECS): Add darwin_subarch spec.
2257 * config/darwin.h (LINK_COMMAND_SPEC): Don't pass -arch here.
2258 (LINK_SPEC): Do pass -arch here. Handle -force_cpusubtype_ALL
2259 in all cases. Pass the right -arch or -arch_only based on -mcpu.
2260 (ASM_SPEC): Handle -force_cpusubtype_ALL.
2261 * doc/invoke.texi (Darwin Options): Improve documentation for
2262 Darwin linker (and libtool) switches.
2264 * config/rs6000/darwin-fallback.c: Include <mach/thread_status.h>.
2266 2004-10-29 Stan Shebs <shebs@apple.com>
2268 * config/rs6000/darwin-tramp.asm: Make more 64-bit-friendly.
2270 2004-10-29 Kazu Hirata <kazu@cs.umass.edu>
2272 * tree-phinodes.c (allocate_phi_node): New.
2273 (make_phi_node, resize_phi_node): Use it.
2275 2004-10-29 David Edelsohn <edelsohn@gnu.org>
2277 * config/rs6000/sysv4.h (TARGET_POWER): Define as 0.
2278 * config/rs6000/darwin.h (TARGET_POWER): Define as 0.
2280 2004-10-29 Kazu Hirata <kazu@cs.umass.edu>
2282 * tree-phinodes.c (make_phi_node, resize_phi_node): Don't zero
2284 * tree.h (tree_phi_node): Tell the garbage collector to chase
2287 2004-10-29 Richard Earnshaw <rearnsha@arm.com>
2289 * opts.c (decode_options): Lower the crossjump threshold for -Os.
2291 2004-10-29 Diego Novillo <dnovillo@redhat.com>
2293 * tree.h (struct tree_ssa_name): Remove field 'equiv'.
2295 2004-10-28 Nathan Sidwell <nathan@codesourcery.com>
2297 * bitmap.h (bitmap_empty_p): New.
2298 (bitmap_and, bitmap_and_into, bitmap_and_compl,
2299 bitmap_and_compl_into, bitmap_ior, bitmap_ior_into,
2300 bitmap_ior_compl, bitmap_xor, bitmap_xor_into): New bitmap
2302 (bitmap_ior_and_compl): Rename to ...
2303 (bitmap_ior_and_compl_into): ... here.
2304 * bitmap.c (bitmap_equal_p): Use bitmap_xor.
2305 (bitmap_ior_and_compl): Rename to ...
2306 (bitmap_ior_and_compl_into): ... here. Adjust. Return changed
2308 (bitmap_union_of_diff): Use renamed bitmap functions.
2309 * basic-block.h (AND_REG_SET, AND_COMPL_REG_SET, IOR_REG_SET,
2310 XOR_REG_SET, IOR_AND_COMPL_REG_SET): Likewise.
2311 * cfgrtl.c (safe_insert_insn_on_edge): Likewise.
2312 * df.c (df_bb_rd_local_compute)
2313 * flow.c (calculate_global_regs_live,
2314 init_propagate_block_info): Likewise.
2315 * ifcvt.c (find_if_case_1, find_if_case_2,
2316 dead_or_predicable): Likewise.
2317 * ra-build.c (union_web_part_roots, livethrough_conflicts_bb,
2318 reset_conflicts, conflicts_between_webs): Likewise.
2319 * ra-rewrite.c (reloads_to_loads, rewrite_program2,
2320 detect_web_parts_to_rebuild): Likewise.
2321 * sched-ebb.c (compute_jump_reg_dependencies): Likewise.
2322 * tree-int-ssa.c (insert_phi_nodes_for, rewrite_into_ssa): Likewise.
2323 * tree-sra.c (decide_instantiations): Likewise.
2324 * tree-ssa-alias.c (create_name_tags,
2325 merge_pointed_to_info): Likewise.
2326 * tree-ssa-dom.c (tree_ssa_dominator_optimize): Likewise.
2327 * tree-ssa-loop-im.c (move_computations): Likewise.
2328 * tree-ssa-operands.c (get_call_expr_operands): Likewise.
2329 * tree-ssa-pre.c (fini_pre): Likewise.
2330 * tree-ssa.c (verify_flow_sensitive_alias_info): Likewise.
2331 * tree-ssanames.c (any_marked_for_rewrite_p): Likewise.
2332 * tree-vectorizer.c (vectorize_loops): Likewise.
2334 2004-10-29 Nick Clifton <nickc@redhat.com>
2336 config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): When
2337 adding the PIC register to the fixed_regs array, also add it
2338 to the call_used_regs array.
2340 2004-10-29 Eric Botcazou <ebotcazou@libertysurf.fr>
2342 * gthr-posix.h (__gthread_recursive_mutex_init_function): Guard
2343 with #ifdef PTHREAD_MUTEX_RECURSIVE/#endif pairs.
2345 2004-10-28 Daniel Berlin <dberlin@dberlin.org>
2347 * tree-into-ssa.c (rewrite_virtual_phi_arguments): New function.
2348 (rewrite_blocks): Modify argument, and use it to decide which
2350 (rewrite_def_def_chains): Call rewrite_blocks with true here.
2351 (rewrite_into_ssa): and call it with false here.
2353 2004-10-29 Kazu Hirata <kazu@cs.umass.edu>
2355 * tree-phinodes.c (add_phi_arg): Turn an "if" that always
2356 triggers into gcc_assert.
2358 2004-10-28 Diego Novillo <dnovillo@redhat.com>
2360 PR tree-optimization/16728
2361 * tree-flow.h (get_ptr_info): Declare.
2362 * tree-ssa-alias.c (get_ptr_info): Make extern.
2363 * tree-ssa-copy.c (merge_alias_info): Merge flow-sensitive
2366 2004-10-28 Stan Shebs <shebs@apple.com>
2368 * config/rs6000/darwin.h (SUBTARGET_EXTRA_SPECS): Handle -m64.
2369 * config/rs6000/rs6000.c (rs6000_darwin_file_start): Add ppc64
2372 2004-10-28 Frank Ch. Eigler <fche@redhat.com>
2374 * tree-mudflap.c (mudflap_init): Mark cache-lookup decls to
2375 prevent their later unnecessary registration.
2376 (mf_build_check_statement_for): Remove "addr" argument, and
2377 related "__mf_value" generated code. Update callers.
2378 (mf_decl_eligible_p): New function, factored from mx_register_decls.
2379 (mx_register_decls): Call it.
2380 (mf_xform_derefs_1): Rewrite COMPONENT_REF and ARRAY_REF cases
2381 to restore support for complex nested expressions.
2382 (mudflap_enqueue_decl): Simplify. Move registration call emission
2384 (mudflap_finish_file): ... to here.
2385 (mudflap_enqueue_constant): Remove dump code.
2387 2004-10-28 Zack Weinberg <zack@codesourcery.com>
2390 * dbxout.c (dbxout_begin_complex_stabs_noforcetext): New function.
2391 (DBX_FINISH_STABS): Add (unused by default) SYM parameter.
2392 (dbxout_finish_complex_stabs): Update to match.
2393 (dbxout_symbol_location): Call emit_pending_bincls_if_required
2394 and FORCE_TEXT before DBX_STATIC_BLOCK_START. Use
2395 dbxout_begin_complex_stabs_noforcetext.
2396 * xcoffout.h (DBX_FINISH_STABS): Restore special case for
2397 N_GSYM, using new SYM parameter. Correct logic for special
2400 * varasm.c (function_section): If DECL is NULL_TREE, don't try
2401 to do anything else. Do not call get_insns if cfun or
2402 cfun->emit are NULL.
2404 2004-10-28 Adam Nemet <anemet@lnxw.com>
2407 * c-typeck.c (c_mark_addressable): Issue error if address of a
2408 register variable is taken. Use "%qD" to print DECL_NAME.
2410 2004-10-28 Diego Novillo <dnovillo@redhat.com>
2412 * opts.c (decode_options): Don't run PRE at -Os.
2414 2004-10-28 Richard Henderson <rth@redhat.com>
2416 * config/alpha/alpha.md (movqicc_internal): Allow exactly one
2417 zero in the conditional.
2418 (movhicc_internal, movsicc_internal, movdicc_internal): Likewise.
2420 2004-10-28 Richard Henderson <rth@redhat.com>
2422 * cse.c (memory_extend_rtx): Remove.
2423 (cse_main): Don't set it.
2424 (cse_insn): Use a local buffer instead.
2426 2004-10-28 Andreas Krebbel <krebbel1@de.ibm.com>
2428 * profile.c (branch_prob): Call to init_edge_profiler added.
2429 * rtl-profile.c (rtl_init_edge_profiler): New function.
2430 (rtl_gen_edge_profiler): Replaced call to insert_insn_on_edge with
2431 call to safe_insert_insn_on_edge.
2432 (rtl_profile_hooks): rtl_init_edge_profiler added.
2433 * tree-profile.c (tree_init_edge_profiler): New function.
2434 (tree_profile_hooks): tree_init_edge_profiler added.
2435 * value-prof.h (profile_hooks) init_edge_profiler prototype added.
2437 2004-10-28 Nick Clifton <nickc@redhat.com>
2439 * config/iq2000/iq2000.c (iq2000_expand_epilogue): Use
2440 emit_jump_insn() to generate the return instruction.
2442 2004-10-28 Kazu Hirata <kazu@cs.umass.edu>
2444 * tree-phinodes.c: Remove trailing whitespace.
2446 2004-10-28 Kazu Hirata <kazu@cs.umass.edu>
2448 * tree-ssa-loop-ivopts.c: Fix a comment typo.
2449 * doc/invoke.texi: Fix a typo.
2451 2004-10-28 Kazu Hirata <kazu@cs.umass.edu>
2453 * Makefile.in (OBJS-common): Remove duplicates.
2455 2004-10-28 Kazu Hirata <kazu@cs.umass.edu>
2457 * lambda-code.c (nestify_update_pending_stmts): Remove.
2458 (perfect_nestify): Use flush_pending_stmts instead of
2459 nestify_update_pending_stmts.
2460 * tree-cfg.c (tree_make_forwarder_block): Use
2461 flush_pending_stmts.
2462 * tree-flow.h: Add a prototype for flush_pending_stmts.
2463 * tree-ssa-loop-manip.c (tree_duplicate_loop_to_header_edge):
2464 Use flush_pending_stmts.
2465 (lv_update_pending_stmts): Remove.
2466 (tree_ssa_loop_version): Use flush_pending_stmts instead of
2467 lv_update_pending_stmts.
2468 * tree-ssa.c (flush_pending_stmts): New.
2470 2004-10-28 Ulrich Weigand <uweigand@de.ibm.com>
2473 * final.c (alter_subreg): Compute correct offset to use with
2474 paradoxical SUBREGs of memory operands.
2475 * recog.c (general_operand): Allow paradoxical SUBREGs of
2476 memory operands after reload.
2477 * simplify-rtx.c (simplify_gen_subreg): Fail if simplify_subreg
2478 has failed when passed a hard register.
2480 2004-10-28 Aldy Hernandez <aldyh@redhat.com>
2482 * function.c (assign_parm_setup_block): Handle parallels correctly.
2484 2004-10-28 Kaz Kojima <kkojima@gcc.gnu.org>
2486 * final.c (shorten_branches): Initialize flags structure.
2488 2004-10-28 Nathan Sidwell <nathan@codesourcery.com>
2490 * tree.c (int_cst_node, int_cst_hash_table): New variables.
2491 (init_ttree): Initialize them.
2492 (int_cst_hash_hash, int_cst_hash_eq): New hashing functions.
2493 (build_int_cst_wide): Use hash table for oversized integers.
2495 2004-10-28 Nick Clifton <nickc@redhat.com>
2497 * config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Define
2500 2004-10-27 Richard Henderson <rth@redhat.com>
2503 * expr.c (emit_group_load): Don't go force temporary for memory
2505 (emit_group_store): Similarly.
2507 2004-10-27 Andrew Pinski <pinskia@physics.uc.edu>
2510 * common.opt (--param): Fix spelling of parameter.
2512 2004-10-27 Andrew Pinski <pinskia@physics.uc.edu>
2515 * tree-cfg.c (remove_useless_stmts_1) <case SWITCH_EXPR>:
2516 Don't fold statement.
2517 <case ASM_EXPR>: Fold the statement.
2519 2004-10-28 Kazu Hirata <kazu@cs.umass.edu>
2521 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary)
2522 <COND_EXPR>: Use EDGE_COUNT instead of GOTO_DESTINATION.
2524 2004-10-28 Joseph S. Myers <jsm@polyomino.org.uk>
2526 * doc/contrib.texi, doc/cpp.texi, doc/cppopts.texi,
2527 doc/extend.texi, doc/gcov.texi, doc/install.texi, doc/invoke.texi,
2528 doc/libgcc.texi, doc/md.texi, doc/passes.texi,
2529 doc/sourcebuild.texi, doc/tm.texi: Improve Texinfo formatting.
2531 2004-10-28 Joseph S. Myers <jsm@polyomino.org.uk>
2533 * doc/c-tree.texi, doc/cpp.texi, doc/implement-c.texi,
2534 doc/invoke.texi, doc/md.texi, doc/passes.texi, doc/tm.texi: Put
2535 punctuation outside quotes.
2537 2004-10-27 David Mosberger <davidm@hpl.hp.com>
2538 James E Wilson <wilson@specifixinc.com>
2541 * config/ia64/ia64.c (ia64_expand_epilogue): Set RTX_FRAME_RELATED_P on
2542 sibcall alloc instruction.
2543 (process_set): Handle sibcall alloc instruction.
2545 2004-10-27 Geoffrey Keating <geoffk@apple.com>
2547 * config/rs6000/rs6000.c (rs6000_attribute_table): Add
2548 SUBTARGET_ATTRIBUTE_TABLE.
2549 * config/darwin.h (ASM_WEAKEN_DECL): Handle weak_import.
2550 (SUBTARGET_ATTRIBUTE_TABLE): Define.
2551 * config/darwin.c (darwin_handle_weak_import_attribute): New.
2552 (HAVE_DEAD_STRIP): Delete.
2553 (no_dead_strip): Don't test HAVE_DEAD_STRIP.
2554 * config/darwin-protos.h (darwin_handle_weak_import_attribute):
2557 * doc/tm.texi (USE_SELECT_SECTION_FOR_FUNCTIONS): Document.
2559 * config/darwin.h (GTHREAD_USE_WEAK): Define.
2561 2004-10-28 Ben Elliston <bje@au.ibm.com>
2563 * params.def (PARAM_SRA_MAX_STRUCTURE_SIZE): New.
2564 (PARAM_SRA_FIELD_STRUCTURE_RATIO): Likewise.
2565 * params.h (SRA_MAX_STRUCTURE_SIZE): New.
2566 (SRA_FIELD_STRUCTURE_RATIO): Likewise.
2567 * tree-sra.c: Include "params.h".
2568 (decide_block_copy): Use new parameters.
2569 * doc/invoke.texi (Optimize Options): Document new SRA pass
2570 parameters sra-max-structure-size and sra-field-structure-ratio.
2572 2004-10-27 Nicolas Pitre <nico@cam.org>
2574 * config/arm/ieee754-df.S (floatdidf): Fix regression with big values.
2576 2004-10-27 Zdenek Dvorak <dvorakz@suse.cz>
2578 PR tree-optimization/18048
2579 * fold-const.c (try_move_mult_to_index): New function.
2580 (fold): Use try_move_mult_to_index.
2581 * tree-ssa-loop-ivopts.c (try_add_cand_for): Prefer common candidates.
2582 * tree-ssa-loop-niter.c (number_of_iterations_cond): Produce
2583 an all-ones unsigned constant without extra bits.
2584 * tree.c (build_low_bits_mask): New function.
2585 * tree.h (build_low_bits_mask): Declare.
2587 2004-10-27 David Edelsohn <edelsohn@gnu.org>
2590 * config/rs6000/rs6000.md (maxsf3): Add !flag_trapping_math to
2596 2004-10-27 Kazu Hirata <kazu@cs.umass.edu>
2598 * tree-cfg.c (thread_jumps): Speed up by reordering the two
2599 conditions for entering basic blocks into worklist.
2601 2004-10-27 Kazu Hirata <kazu@cs.umass.edu>
2603 * tree-cfg.c (thread_jumps): Speed up by pretending to have
2604 ENTRY_BLOCK_PTR in worklist.
2606 2004-10-27 Kazu Hirata <kazu@cs.umass.edu>
2608 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary)
2609 <GOTO_EXPR>: Don't let an explicit GOTO_EXPR slip through.
2611 2004-10-27 Daniel Berlin <dberlin@dberlin.org>
2613 Fix PR tree-optimization/17133
2615 * tree-cfg.c (rewrite_to_new_ssa_names_bb): Also rewrite must
2618 * tree-flow-inline.h: V_MUST_DEF_OP became V_MUST_DEF_RESULT.
2619 (get_v_must_def_result_ptr): Modify for new structure of
2621 (get_v_must_def_kill_ptr): New.
2622 (op_iter_next_use): Add support for the kill that occurs in V_MUST_DEFs.
2623 (op_iter_next_tree): Ditto. Also V_MAY_DEF_OP became V_MAY_DEF_RESULT.
2624 (op_iter_next_def): V_MAY_DEF_OP became V_MAY_DEF_RESULT.
2625 (op_iter_init): Initialize new mustu members.
2626 (op_iter_next_mustdef): New function.
2627 (op_iter_init_mustdef): Ditto.
2629 * tree-flow.h (rewrite_def_def_chains): New function.
2631 * tree-into-ssa.c (mark_def_sites): Handle mustdefkill operands.
2632 (ssa_mark_def_sites): Ditto.
2633 (rewrite_stmt): Ditto.
2634 (ssa_rewrite_stmt): Ditto.
2635 (rewrite_blocks): Factor out from rewrite_into_ssa.
2636 (mark_def_block_sites): Ditto.
2637 (rewrite_def_def_chains): New function, just rewrites def-def
2638 chains without phi node insertion.
2640 * tree-pass.h (TODO_fix_def_def_chains): New todo flag.
2642 * tree-optimize.c (execute_todo): Handle TODO_fix_def_def_chains.
2644 * tree-pretty-print.c (dump_vops): Print out MUST_DEF's so that
2645 they include the rhs now.
2647 * tree-ssa-ccp.c (visit_assignment): V_MUST_DEF_OP became
2650 * tree-ssa-dce.c (mark_operand_necessary): Add phionly argument.
2652 (mark_really_necessary_kill_operand_phis): New function.
2653 (perform_tree_ssa_dce): Call it.
2654 (pass_dce): Add TODO_fix_def_def_chains.
2655 (pass_cd_dce): Ditto.
2657 * tree-ssa-loop-im.c (determine_max_movement): Look at kills as
2659 (rewrite_mem_refs): Ditto.
2661 * tree-ssa-loop-manip.c (find_uses_to_rename_stmt): Look at kills
2664 * tree-ssa-operands.c (allocate_v_may_def_optype):
2665 v_may_def_operand_type_t became v_def_use_operand_type_t.
2666 (allocate_v_must_def_optype) Ditto.
2667 (finalize_ssa_v_must_defs): Update for new operand type, as well
2668 as setting the use portion as well.
2669 (copy_virtual_operands): Copy the kill operand as well.
2670 (create_ssa_artficial_load_stmt): V_MUST_DEF_OP became
2673 * tree-ssa-operands.h (v_may_def_operand_type): Renamed to
2674 v_def_use_operand_type.
2675 (v_must_def_optype_d): Use v_def_use_operand_type.
2676 (V_MUST_DEF_OP_*): Renamed to V_MUST_DEF_RESULT_*
2677 (V_MUST_DEF_KILL_*): New macros.
2678 (struct ssa_operand_iterator_d): Add num_v_mustu and v_mustu_i
2680 Rename existing must_i and num_v_must members to mustd_i and
2682 (SSA_OP_VMUSTDEFKILL): New flag.
2683 (SSA_OP_VIRTUAL_KILLS): New flag.
2684 (SSA_OP_ALL_OPERANDS): Add in SSA_OP_ALL_KILLS.
2685 (SSA_OP_ALL_KILLS): New flag.
2686 (FOR_EACH_SSA_MUSTDEF_OPERAND): New macro.
2688 * tree-ssa.c (verify_ssa): Verify virtual kills as well.
2690 * tree-vectorizer.c (vect_create_data_ref_ptr): V_MUST_DEF_OP
2691 became V_MUST_DEF_RESULT.
2692 (rename_variables_in_bb): Rename kill pointer as well.
2694 * tree-dfa.c (compute_immediate_uses_for_stmt): Add kills into the
2697 2004-10-27 Richard Sandiford <rsandifo@redhat.com>
2699 * dbxout.c (dbxout_source_line): Move declaration of begin_label to
2700 the block that needs it.
2702 2004-10-27 Zack Weinberg <zack@codesourcery.com>
2704 * dbxout.c (dbxout_finish_complex_stabs): Mark 'line' variable
2707 2004-10-27 Zack Weinberg <zack@codesourcery.com>
2709 * c-lex.c (cb_def_pragma): Clean up code for making location
2710 palatable to diagnostic.c.
2712 2004-10-27 Steven Bosscher <stevenb@suse.de>
2714 PR tree-optimization/17757
2715 * tree-phinodes.c (remove_phi_arg_num): Don't remove PHIs
2716 without any PHI arguments left. Make sure the argument that
2717 we're supposed to remove exists at all.
2719 2004-10-27 Paul Brook <paul@codesourcery.com>
2721 * configure.ac: Don't test for [build] __cxa_atexit when building a
2723 * configure: Regenerate.
2725 2004-10-27 Paul Brook <paul@codeosurcery.com>
2727 * configure.ac: Use build_exeext not host_exeext when lookin for
2729 * configure: Regenerate.
2731 2004-10-27 Andreas Krebbel <krebbel1@de.ibm.com>
2733 * config/s390/s390.md ("*subdf3_cc"): Replaced plus by minus.
2735 2004-10-27 Andreas Krebbel <krebbel1@de.ibm.com>
2736 patch originally created by Kelley Cook <kcook@gcc.gnu.org>
2739 * opts.c (OPT_fprofile_generate): Default to -funroll-loops
2740 to match -fprofile-use.
2742 2004-10-27 Kazu Hirata <kazu@cs.umass.edu>
2744 * config/rs6000/rs6000.c: Fix a comment typo.
2746 2004-10-27 Zack Weinberg <zack@codesourcery.com>
2748 * config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Increment line
2751 2004-10-27 Andreas Schwab <schwab@suse.de>
2753 * varasm.c (default_stabs_asm_out_destructor): Mark symbol as
2755 (default_stabs_asm_out_constructor): Likewise.
2757 2004-10-26 Geoffrey Keating <geoffk@apple.com>
2759 * builtins.c (fold_builtin_unordered_cmp): Always bring both
2760 operands to the same type.
2762 2004-10-26 James E Wilson <wilson@specifixinc.com>
2765 * emit-rtl.c (emit_copy_of_insn_after): Copy RTX_FRAME_RELATED_P.
2767 2004-10-26 Zack Weinberg <zack@codesourcery.com>
2769 * dbxout.c: Include obstack.h.
2770 (ASM_STABS_OP): Take XCOFF_DEBUGGING_INFO into account in
2772 (ASM_STABD_OP, NO_DBX_MAIN_SOURCE_DIRECTORY, DBX_CONTIN_CHAR):
2773 Default-define here.
2774 (DBX_CONTIN_LENGTH): Move definition with others.
2775 (DBX_FINISH_STABS): New target macro.
2776 (current_sym_code, current_sym_value, current_sym_addr)
2777 (current_sym_nchars, CHARS, dbxout_continue)
2778 (print_int_cst_octal, print_octal, print_wide_int)
2779 (dbxout_prepare_symbol, dbxout_finish_symbol): Delete.
2780 (stabstr_ob, stabstr_last_contin_point): New variables.
2781 (NUMBER_FMT_LOOP): New improper macro.
2782 (dbxout_int, dbxout_stab_value_zero, dbxout_stab_value_label)
2783 (dbxout_stab_value_label_diff, dbxout_stab_value_internal_label)
2784 (dbxout_stab_value_internal_label_diff, dbxout_stabd)
2785 (dbxout_begin_stabn, dbxout_begin_stabn_sline)
2786 (dbxout_begin_simple_stabs, dbxout_begin_simple_stabs_desc)
2787 (dbxout_begin_complex_stabs, dbxout_finish_complex_stabs)
2788 (stabstr_C, stabstr_S, stabstr_I, stabstr_D, stabstr_U, stabstr_O)
2789 (stabstr_continue, DECL_ACCESSIBILITY_CHAR)
2790 New functions and/or proper function-like macros.
2791 (CONTIN): Use stabstr_continue, unconditionally.
2792 (get_lang_number): Define unconditionally, with ATTRIBUTE_UNUSED.
2793 (dbxout_init): Initialize stabstr_ob. Check
2794 NO_DBX_MAIN_SOURCE_DIRECTORY. Only write out the Ltext label
2795 if it was used. Use the new interfaces.
2796 (dbxout_source_file): Remove file argument; always write to
2797 asm_out_file. Use the new interfaces.
2798 (dbxout_type_method_1): Remove second argument which is always
2799 DECL_ASSEMBLER_NAME of the first argument. Use the new interfaces.
2800 (dbxout_type_methods): Remove write-only variables. Use the
2802 (dbxout_parms): Refactor to remove code duplicated in each of
2803 several successive if-else-if blocks. Use the new interfaces.
2804 (dbxout_function_end, emit_bincl_stab, dbxout_end_source_file)
2805 (dbxout_source_line, dbxout_finish, dbxout_type_index)
2806 (dbxout_type_fields, dbxout_range_type, dbxout_type, dbxout_type_name)
2807 (dbxout_class_name_qualifiers, dbxout_symbol, dbxout_symbol_location)
2808 (dbxout_symbol_name, dbxout_reg_parms, dbxout_args)
2809 (dbx_output_lbrac, dbx_output_rbrac, dbxout_block):
2810 Use the new interfaces.
2811 * Makefile.in (dbxout.o): Update dependencies.
2813 * defaults.h: Don't define ASM_STABD_OP.
2814 * output.h: Prototype new dbxout_* interfaces.
2815 * system.h: Poison DBX_OUTPUT_GCC_MARKER and DBX_FINISH_SYMBOL.
2816 * varasm.c: Don't define ASM_STABS_OP.
2817 (default_stabs_asm_out_constructor, default_stabs_asm_out_destructor):
2818 Use the new dbxout.c interfaces. Call sorry if neither
2819 DBX_DEBUGGING_INFO nor XCOFF_DEBUGGING_INFO is defined.
2821 * xcoffout.h: Don't define ASM_STABS_OP.
2822 (DBX_FINISH_SYMBOL): Rewrite and rename DBX_FINISH_STABS.
2823 (DBX_OUTPUT_MAIN_SOURCE_DIRECTORY, DBX_OUTPUT_GCC_MARKER): Delete.
2824 (NO_DBX_MAIN_SOURCE_DIRECTORY, NO_DBX_GCC_MARKER): Define.
2825 (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Change bare block to
2826 do { ... } while (0) idiom.
2828 * config/alpha/alpha.c (num_source_filenames): Export.
2829 * config/alpha/alpha.h (num_source_filenames): Declare.
2830 (DBX_OUTPUT_SOURCE_LINE): Use new interfaces.
2831 (SDB_OUTPUT_SOURCE_LINE): Add missing newline.
2832 * config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Use new interfaces.
2833 Always use .debugsym. Update commentary.
2834 * config/mips/mips.h (DBX_OUTPUT_SOURCE_LINE): Use new interfaces.
2835 (SDB_OUTPUT_SOURCE_LINE): Add missing newline.
2836 * config/rs6000/linux64.h (DBX_OUTPUT_SOURCE_LINE, DBX_OUTPUT_BRAC):
2838 * config/rs6000/rs6000.c: If TARGET_MACHO, include gstab.h.
2839 (macho_branch_islands): Use new interfaces.
2841 * doc/tm.texi: Update.
2843 2004-10-26 Aldy Hernandez <aldyh@redhat.com>
2845 * expr.c (emit_group_store): Do not treat floats as BLKmode.
2846 (emit_group_load): Same.
2848 2004-10-26 Joseph S. Myers <jsm@polyomino.org.uk>
2850 * c-parse.in (datadef): Use pedwarn rather than error and warning
2851 for diagnostic in case of no declaration specifiers.
2853 2004-10-26 Richard Sandiford <rsandifo@redhat.com>
2856 * doc/install.texi (mips-sgi-irix5): Document that /bin/sh has been
2857 reported to hang during bootstrap and that CONFIG_SHELL=/bin/ksh
2858 can be used to work around this.
2860 2004-10-26 Aldy Hernandez <aldyh@redhat.com>
2862 * config/rs6000/rs6000.h (MEMBER_TYPE_FORCES_BLK): Adjust for e500
2865 2004-10-26 Kazu Hirata <kazu@cs.umass.edu>
2867 * stmt.c (expand_case): Update a comment.
2869 2004-10-26 Kazu Hirata <kazu@cs.umass.edu>
2871 * stmt.c (expand_case): Put an assertion that index_expr is
2872 never INTEGER_CST. Don't special case for constant
2875 2004-10-26 Andrew Pinski <pinskia@physics.uc.edu>
2878 * c-parse.in (designator): Finish with a semi-colon.
2880 2004-10-26 Fariborz Jahanian <fjahanian@apple.com>
2882 * config/rs6000/rs6000.md (andsi3_internal8): Set CR when splitting
2885 2004-10-26 Kazu Hirata <kazu@cs.umass.edu>
2887 * stmt.c (expand_case): Remove code to handle SWITCH_EXPR with
2888 a default case only.
2890 2004-10-26 Aldy Hernandez <aldyh@redhat.com>
2892 * config/rs6000/rs6000.c (rs6000_hard_regno_nregs): Adjust for
2894 (spe_build_register_parallel): New.
2895 (rs6000_spe_function_arg): Handle e500 doubles.
2896 (function_arg): Same.
2897 (spe_func_has_64bit_regs_p): Same.
2898 (rs6000_function_value): Same.
2899 (rs6000_libcall_value): Same.
2900 (legitimate_lo_sum_address_p): Return false for e500 doubles.
2902 * config/rs6000/rs6000.h (LOCAL_ALIGNMENT): Adjust for e500
2904 (DATA_ALIGNMENT): Same.
2905 (CANNOT_CHANGE_MODE_CLASS): Same.
2907 2004-10-26 Aldy Hernandez <aldyh@redhat.com>
2909 * expr.c (emit_group_load): Handle floats.
2910 (emit_group_store): Same.
2912 2004-10-26 Nathan Sidwell <nathan@codesourcery.com>
2914 * c-lex.c (get_nonpadding_token): Remove.
2915 (c_lex_with_flags): Push timevar and eat padding here. Improve
2916 stray token diagnostic.
2917 (lex_string): Replace logic with switch statement, eat padding
2920 2004-10-26 Geoffrey Keating <geoffk@apple.com>
2923 * config/i386/darwin.h (ASM_SPEC): Undef it before defining.
2925 2004-10-25 Geoffrey Keating <geoffk@apple.com>
2927 * config/darwin.h (LINK_SPEC): Default weak_reference_mismatches
2929 (MAKE_DECL_ONE_ONLY): Set DECL_WEAK.
2930 (ASM_MAKE_LABEL_LINKONCE): Delete.
2931 (ASM_WEAKEN_DECL): New.
2932 (ASM_DECLARE_OBJECT_NAME): Look at DECL_WEAK not DECL_ONE_ONLY.
2933 (ASM_DECLARE_FUNCTION_NAME): Likewise.
2934 (TEXT_SECTION_ASM_OP): Add a tab.
2935 (DATA_SECTION_ASM_OP): Likewise.
2936 (SECTION_FUNCTION): Add a tab. Use fputs. Don't call
2937 data_section on every section change.
2938 (EXTRA_SECTIONS): Add a bunch of new extra sections.
2939 (EXTRA_SECTION_FUNCTIONS): Likewise.
2940 (USE_SELECT_SECTION_FOR_FUNCTIONS): Define.
2941 (JCR_SECTION_NAME): Define.
2942 (TARGET_SECTION_TYPE_FLAGS): Don't define.
2943 * config/darwin.c (darwin_encode_section_info): A symbol is defined
2944 in this file if it is not weak.
2945 (textcoal_section): Delete.
2946 (datacoal_section): Delete.
2947 (darwin_make_decl_one_only): Delete.
2948 (machopic_select_section): Handle functions.
2949 (darwin_asm_named_section): Add a tab.
2950 (darwin_section_type_flags): Delete.
2951 (darwin_unique_section): Delete contents.
2952 (darwin_emit_unwind_label): Add a tab. Make decls weak if
2954 * config/darwin-protos.h (darwin_section_type_flags): Delete.
2955 (darwin_make_decl_one_only): Delete.
2956 (text_coal_section): New.
2957 (text_unlikely_section): New.
2958 (text_unlikely_coal_section): New.
2959 (const_coal_section): New.
2960 (data_coal_section): New.
2961 (const_data_coal_section): New.
2962 * varasm.c (function_section): Honour
2963 USE_SELECT_SECTION_FOR_FUNCTIONS.
2964 * dwarf2out.c (output_call_frame_info): Look at DECL_WEAK when
2965 TARGET_USES_WEAK_UNWIND_INFO is in effect.
2966 * dbxout.c (dbxout_source_file): Don't change sections while
2967 a function is being output.
2969 2004-10-25 David Ayers <d.ayers@inode.at>
2971 * c-common.h: Remove RID_ID.
2972 * c-parse.in: Remove OBJECTNAME and references to RID_ID.
2973 (typespec_reserved_attr): Add rule for TYPENAME
2974 non_empty_protocolrefs.
2975 (yylexname): Remove special handling of RID_ID.
2977 2004-10-25 James E Wilson <wilson@specifixinc.com>
2979 * doc/invoke.texi (-fcrossjumping): Not enabled at -O.
2981 2004-10-25 Joseph S. Myers <jsm@polyomino.org.uk>
2984 * c-parse.in (array_designator): New.
2985 (designator): Use it.
2986 (initelt): Only permit array_designator without '=', not ".foo".
2988 2004-10-25 Kenneth Zadeck <zadeck@naturalbridge.com>
2989 * gcc/Makefile.in: removed ggc for cgraphunit.
2990 * gcc/cgraph.c.dump_cgraph_node: removed static var analysis.
2991 * gcc/cgraph.h: removed static var analysis data structures and calls.
2993 cgraph_mark_local_and_external_functions:changed name to
2994 cgraph_mark_local_functions
2995 (print_order,convert_UIDs_in_bitmap,new_static_vars_info,
2996 cgraph_reset_static_var_maps,get_global_static_vars_info,
2997 get_global_statics_not_read,get_global_statics_not_written,searchc,
2998 cgraph_reduced_inorder,has_proper_scope_for_analysis,check_rhs_var,
2999 check_lhs_var,get_asm_expr_operands,process_call_for_static_vars,
3000 scan_for_static_refs,cgraph_characterize_statics_local,
3001 clear_static_vars_maps,cgraph_propagate_bits,cgraph_characterize_statics):
3003 (cgraph_optimize,init_cgraph): removed calls to static vars analysis
3004 * gcc/tree-dfa.c find_referenced_vars: removed call to static vars
3006 * gcc/tree-flow.h static_vars_info: removed
3007 * gcc/tree-ssa-operands.c (add_call_clobber_ops,add_call_read_ops):
3008 removed calls to static vars analysis.
3009 get_call_expr_operands: removed callee variable.
3011 2004-10-25 Kazu Hirata <kazu@cs.umass.edu>
3013 * cfg.c (unchecked_make_edge, redirect_edge_succ,
3014 redirect_edge_pred): Use VEC_safe_push instead of
3016 * cfgrtl.c (force_nonfallthru_and_redirect): Likewise.
3018 2004-10-25 Kazu Hirata <kazu@cs.umass.edu>
3020 * cfgloopmanip.c (loopify): Take two more arguments true_edge
3022 * cfgloop.h: Adjust the corresponding prototype.
3023 * loop-unswitch.c (unswitch_loop): Adjust a call to loopify.
3024 * tree-ssa-loop-manip.c (tree_ssa_loop_version): Likewise.
3026 2004-10-25 Jakub Jelinek <jakub@redhat.com>
3028 * dwarf2out.c (rtl_for_decl_location): Avoid segfault if
3029 DECL_INCOMING_RTL is NULL.
3031 2004-10-25 Steven Bosscher <stevenb@suse.de>
3033 * timevar.def (TV_FIND_REFERENCED_VARS): New.
3034 * tree-dfa.c (pass_referenced_var): Use it.
3036 2004-10-25 Roger Sayle <roger@eyesopen.com>
3037 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3039 * cse.c: Change encoding of quantity numbers to avoid undefined
3040 pointer arithmetic on qty_table.
3041 (REGNO_QTY_VALID_P): A quantity is now valid if it isn't negative.
3042 (get_cse_reg_info): Initialize reg_qty to a unique negative value.
3043 (new_basic_block): Assign "real" quantity numbers from zero.
3044 (delete_reg_equiv): Do nothing if quantity is invalid. Reset the
3045 REG_QTY to its unique negative value.
3046 (merge_equiv_classes): Calculate need_rehash if quantity is valid.
3047 (cse_main): Don't include max_reg when determining max_qty.
3048 (cse_basic_block): Avoid subtracting a large offset from qty_table,
3049 which causes undefined C99 behaviour. Only allocate needed memory.
3051 2004-10-25 Kazu Hirata <kazu@cs.umass.edu>
3053 * stmt.c (expand_case): Remove an obsolete comment.
3055 2004-10-25 Andrew Pinski <pinskia@physics.uc.edu>
3058 * c-decl.c (grokdeclarator) <case cdk_array>: Remove the call
3059 layout_type as it is already done by build_array_type.
3060 * tree.c (build_array_type): Layout the type even
3062 2004-10-25 Alexandre Oliva <aoliva@redhat.com>
3064 * config/frv/linux.h (TARGET_C99_FUNCTIONS): Define to 0.
3066 2004-10-25 Alexandre Oliva <aoliva@redhat.com>
3068 * config/frv/frv.md (movdi, movdf): Handle wide-constant splits
3069 with wider-than-32-bit HOST_WIDE_INTs.
3071 2004-10-25 David Billinghurst <David.Billinghurst@riotinto.com>
3073 * config/mips/mips.c(mips_output_filename): Remove unused
3074 array ltext_label_name
3076 2004-10-24 Geoffrey Keating <geoffk@geoffk.org>
3078 * config/rs6000/darwin.h (BLOCK_REG_PADDING): Define.
3080 2004-10-25 Ben Elliston <bje@au.ibm.com>
3082 * cfgcleanup.c (outgoing_edges_match): Fix typo in dump output.
3084 2004-10-23 Andrew Pinski <pinskia@physics.uc.edu>
3086 * predict.c (predict_loops): Call scev_finalize instead of
3089 2004-10-24 Kazu Hirata <kazu@cs.umass.edu>
3091 * config/dbxcoff.h, config/dbxelf.h, config/libgloss.h,
3092 config/openbsd.h, config/mips/r3900.h, config/pdp11/pdp11.md,
3093 config/sh/ushmedia.h, config/sparc/elf.h,
3094 config/sparc/sp64-elf.h: Update copyright.
3096 2004-10-24 Kazu Hirata <kazu@cs.umass.edu>
3098 * stmt.c (expand_case): Handle the default label outside of
3099 the for loop. Remove code to handle a missing default label.
3101 2004-10-23 Kazu Hirata <kazu@cs.umass.edu>
3103 * dbxout.c (dbxout_function_decl): Don't use
3104 DBX_OUTPUT_FUNCTION_END.
3105 * system.h: Poison DBX_OUTPUT_FUNCTION_END.
3106 * doc/tm.texi (DBX_OUTPUT_FUNCTION_END): Remove.
3108 2004-10-23 Andrew Pinski <pinskia@physics.uc.edu>
3111 * tree-cfg.c (remove_usless_stmts_cond): Don't Fold statement.
3113 2004-10-23 Daniel Berlin <dberlin@dberlin.org>
3115 * tree-ssa-dom.c (record_equality): Use loop depth to determine
3116 which way to record the equality as well.
3117 (loop_depth_of_name): New function.
3119 2004-10-23 Eric Botcazou <ebotcazou@libertysurf.fr>
3122 * gimplify.c (gimplify_addr_expr) <VIEW_CONVERT_EXPR>: Look
3123 through the operand if it is a useless type conversion.
3125 2004-10-23 Ben Elliston <bje@au.ibm.com>
3127 * cfg.c (remove_edge): Use VEC_unordered_remove.
3128 (redirect_edge_succ): Likewise.
3129 (redirect_edge_pred): Likewise.
3130 * cfgrtl.c (force_nonfallthru_and_redirect): Likewise.
3132 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
3134 * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP): Don't access PTR
3137 2004-10-22 Eric Christopher <echristo@redhat.com>
3139 * config/rs6000/rs6000.c (setup_incoming_varargs): Align DFmode
3142 2004-10-22 Aldy Hernandez <aldyh@redhat.com>
3144 * config/rs6000/spe.md (spe_extendsfdf2): New.
3145 (movdf_e500_double): New.
3146 (spe_truncdfsf2): New.
3153 (spe_floatsidf2): New.
3154 (spe_floatunssidf2): New.
3155 (fix_truncdfsi2): New.
3156 (spe_fixuns_truncdfsi2): New.
3158 * config/rs6000/rs6000.md (truncdfsf2): Change to expander.
3159 (fpr_truncdfsf2): New.
3160 (negdf2): Change to expander.
3162 (fpr_nabsdf2): Name pattern.
3163 (adddf3): Change to expander.
3165 (subdf3): Change to expander.
3167 (muldf3): Change to expander.
3169 (divdf3): Change to expander.
3171 (movdf_softfloat32): Change !TARGET_FPRS to TARGET_E500_SINGLE.
3172 (cmpdf): Allow for TARGET_E500_DOUBLE.
3174 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
3176 * c-semantics.c (re_push_stmt_list): Remove.
3177 * c-common.h: Remove the corresponding prototype.
3179 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
3181 * stmt.c (asm_op_is_mem_input): Remove.
3182 * tree.h: Remove the corresponding prototype.
3184 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
3186 * tree-gimple.c (is_gimple_constructor_elt): Remove.
3187 * tree-gimple.h: Remove the corresponding prototype.
3189 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
3191 * varasm.c (get_pool_mode_for_function, get_pool_offset):
3193 * rtl.h: Remove the corresponding prototypes.
3195 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
3197 * tree-cfg.c (thread_jumps_from_bb): Speed up by extracting
3198 edge information when we commit ourselves to threading a
3201 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
3203 * tree-cfg.c (thread_jumps): Speed up by putting basic blocks
3204 into worklist instead of their indexes.
3206 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
3208 * alias.c, basic-block.h, cgraphunit.c, combine.c, domwalk.h,
3209 final.c, gengtype.c, genpreds.c, ggc-page.c, insn-notes.def,
3210 lambda-code.c, loop-unroll.c, modulo-sched.c, pointer-set.c,
3211 pretty-print.c, ra-colorize.c, sbitmap.c, tree-complex.c,
3212 tree-data-ref.c, tree-dfa.c, tree-inline.c, tree-into-ssa.c,
3213 tree-scalar-evolution.c, tree-ssa-dom.c,
3214 tree-ssa-loop-manip.c, tree-ssa-loop-niter.c,
3215 tree-ssa-phiopt.c, tree-ssa-pre.c, tree-ssa-threadupdate.c,
3216 tree-vectorizer.c, vec.h: Fix comment formatting.
3218 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
3220 * dwarf.h, gthr-dce.h, gthr-single.h, gthr-solaris.h, gthr.h,
3221 libfuncs.h, libgcc2.h, stab.def, tsystem.h: Update copyright.
3223 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
3225 * config/ptx4.h, config/mcore/mcore-pe.h,
3226 config/rs6000/eabi.h, config/vax/elf.h: Update copyright.
3228 2004-10-22 Peter Barada <peter@the-baradas.com>
3230 * config/m68k/m68k.h (HARD_REGNO_RENAME_OK): New macro.
3231 * config/m68k/m68k.c (m68k_hard regno_rename_ok): Disallow
3232 renaming of non-live registers in interrupt functions.
3233 * config/m68k/m68k-protos.h (m68k_hard_regno_rename_ok): Add prototype.
3235 2004-10-22 Zdenek Dvorak <dvorakz@suse.cz>
3237 * tree-ssa-loop-niter.c (inverse): Count in HOST_WIDE_INT if possible.
3238 Use integer for loop counter.
3239 (num_ending_zeros): New function.
3240 (number_of_iterations_cond): Use num_ending_zeros.
3242 2004-10-21 Aldy Hernandez <aldyh@redhat.com>
3244 * config.gcc: Add support for --enable-e500_double.
3246 * config/rs6000/e500-double.h: New file.
3248 * config/rs6000/rs6000.h: Define TARGET_E500_SINGLE and
3251 * config/rs6000/eabi.h: Define TARGET_E500_SINGLE and
3254 * config/rs6000/linuxspe.h: Same.
3256 * doc/invoke.texi (Option Summary): Document new options for
3258 (RS/6000 and PowerPC Options): Same.
3260 * config/rs6000/rs6000.c (rs6000_parse_float_gprs_option): New
3262 (rs6000_override_options): Use it. Use
3263 SUB3TARGET_OVERRIDE_OPTIONS.
3264 Add 8548 to processor_target_table.
3265 (rs6000_legitimate_address): Handle e500 doubles.
3266 (rs6000_legitimize_address): Same.
3267 (rs6000_legitimize_reload_address): Same.
3268 (rs6000_hard_regno_nregs): Same.
3269 (spe_func_has_64bit_regs_p): Same.
3270 (emit_frame_save): Same.
3271 (gen_frame_mem_offset): Same.
3272 (rs6000_dwarf_register_span): Same.
3273 (rs6000_generate_compare): Same.
3274 (easy_fp_constant): Same.
3275 (legitimate_offset_address_p): Same.
3277 * config/rs6000/spe.md: (cmdfeq_gpr): New.
3286 2004-10-21 Giovanni Bajo <giovannibajo@gcc.gnu.org>
3288 * config/arc/lib1funcs.asm (___umulsidi3): Fix typo.
3290 2004-10-21 Zack Weinberg <zack@codesourcery.com>
3292 * dbxout.c: Remove unnecessary #undefs.
3293 (GDB_INV_REF_REGPARM_STABS_LETTER, DBX_MEMPARM_STABS_LETTER)
3294 (FILE_NAME_JOINER, STABS_GCC_MARKER): Remove; fold sole
3295 definition into use sites.
3296 (cwd): Make local to dbxout_init.
3297 (dbxout_init): Restructure cwd-using logic for clarity. Use
3299 * xcoffout.h (DBX_OUTPUT_GCC_MARKER): Definition of
3300 STABS_GCC_MARKER folded in here.
3301 * system.h: Poison now-unused macros.
3302 * doc/tm.texi: Remove documentation of now-unused macros.
3304 2004-10-21 Andrew Pinski <pinskia@physics.uc.edu>
3307 * c-opts.c (push_command_line_include): Use the current file
3308 name instead of the main one.
3310 2004-10-21 Andrew Pinski <pinskia@physics.uc.edu>
3313 * tree.c (staticp): A CONST_DECL has static storage if either
3314 TREE_STATIC or DECL_EXTERNAL is set.
3315 * c-decl.c (pushdecl_top_level): Accept CONST_DECLs which can
3318 2004-10-21 Kazu Hirata <kazu@cs.umass.edu>
3320 * expr.c (store_expr): Remove dont_store_target.
3322 2004-10-21 Kazu Hirata <kazu@cs.umass.edu>
3324 * tree-cfg.c (thread_jumps): Speed up by using a worklist.
3326 2004-10-21 Kazu Hirata <kazu@cs.umass.edu>
3328 * tree-cfg.c (thread_jumps): Move a part of it to ...
3329 (thread_jumps_from_bb): ... here.
3331 2004-10-21 David Edelsohn <edelsohn@gnu.org>
3333 * dbxout.c (DBX_FINISH_SYMBOL): Add asm_out_file argument.
3334 * xcoffout.h (DBX_FINISH_SYMBOL): Change asmfile to (ASMFILE).
3336 2004-10-21 Kazu Hirata <kazu@cs.umass.edu>
3338 * expr.c (store_expr): Clean up by renaming want_value to
3341 2004-10-21 Kaz Kojima <kkojima@gcc.gnu.org>
3343 * config/sh/linux-unwind.h (sh_fallback_frame_state): Don't
3346 2004-10-21 Aldy Hernandez <aldyh@redhat.com>
3349 * expmed.c (store_bit_field): Pass original 'value' before
3352 2004-10-21 Nicolas Pitre <nico@cam.org>
3354 * config/arm/ieee754-sf.S: Large speed improvements. Fix NAN handling.
3355 * config/arm/ieee754-df.S: Ditto.
3357 2004-10-20 Zack Weinberg <zack@codesourcery.com>
3359 * dbxout.c (asmfile): Delete. All uses changed to asm_out_file.
3360 (DBX_BLOCKS_FUNCTION_RELATIVE, DBX_LINES_FUNCTION_RELATIVE):
3362 (dbxout_source_line): Use DBX_OUTPUT_SOURCE_LINE when defined.
3363 When it is not, but DBX_LINES_FUNCTION_RELATIVE is true, emit
3364 an internal label and an N_SLINE .stabn whose value is the
3365 difference between that label and the function entry label.
3366 (dbxout_finish): If DBX_OUTPUT_MAIN_SOURCE_FILE_END is not defined,
3367 but DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END is, emit a
3368 label and an N_SO stab with an empty string referring to it.
3369 (dbx_output_lbrac, dbx_output_rbrac): Use if statement instead
3370 of #ifdef directive to test DBX_BLOCKS_FUNCTION_RELATIVE.
3371 (dbxout_type_methods, dbxout_symbol): Remove #if 0 block.
3372 (dbxout_prepare_symbol): Remove #ifdef WINNING_GDB block, this
3373 macro is never defined.
3374 * sdbout.c (sdbout_source_line_counter): Delete.
3375 (PUT_SDB_SRC_FILE): Delete. Uses replaced with sole definition.
3376 (sdbout_source_line): Use SDB_OUTPUT_SOURCE_LINE, which takes
3378 * xcoffout.c (ASM_OUTPUT_SOURCE_LINE): Rename ASM_OUTPUT_LINE.
3380 * config/dbxcoff.h, config/dbxelf.h: Remove unncessary #undefs.
3381 * config/c4x/c4x.h, config/pa/pa.h: Remove unnecessary macro
3382 definitions (identical to default).
3383 * config/darwin.h, config/dbxcoff.h, config/dbxelf.h, config/ptx4.h
3384 * config/h8300/coff.h, config/pa/som.h, config/sh/elf.h:
3385 Define DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END, not
3386 DBX_OUTPUT_MAIN_SOURCE_FILE_END.
3387 * config/dbxcoff.h, config/dbxelf.h, config/ptx4.h
3388 * config/mcore/mcore-pe.h, config/pa/som.h, config/sh/elf.h:
3389 Define DBX_LINES_FUNCTION_RELATIVE, not ASM_OUTPUT_SOURCE_LINE.
3390 * config/alpha/alpha-protos.h: Don't prototype alpha_output_lineno.
3391 * config/alpha/alpha.c: Move declaration of num_source_filenames up.
3392 (alpha_start_function): Use SDB_OUTPUT_SOURCE_LINE.
3393 (sym_lineno): Delete.
3394 (alpha_output_filename): Do not emit N_SOL stabs here. Remove
3395 now-unused variable.
3396 (alpha_output_lineno): Delete.
3397 * config/mips/mips-protos.h: Don't prototype mips_output_lineno.
3398 * config/mips/mips.c (mips_output_filename): Don't use
3399 ASM_OUTPUT_FILENAME. Don't emit N_SOL stabs here.
3400 (mips_output_lineno): Delete.
3401 (mips_output_function_prologue: Use SDB_OUTPUT_SOURCE_LINE.
3402 * config/alpha/alpha.h: Define DBX_OUTPUT_SOURCE_LINE and
3403 SDB_OUTPUT_SOURCE_LINE, not ASM_OUTPUT_SOURCE_LINE.
3404 * config/mips/mips.h: Likewise. Don't define ASM_OUTPUT_FILENAME.
3405 * config/mips/sdb.h: Use SDB_OUTPUT_SOURCE_LINE.
3406 * config/avr/avr.h: Don't define ASM_OUTPUT_SOURCE_LINE.
3407 * config/mmix/mmix.h: Likewise.
3408 * config/mmix/mmix.c (mmix_asm_output_source_line): Delete.
3409 * config/mmix/mmix-protos.h: Don't prototype it.
3410 * config/alpha/unicosmk.h: Also #undef PREFERRED_DEBUGGING_TYPE;
3411 no need to #undef ASM_OUTPUT_SOURCE_LINE.
3412 * config/arm/aout.h: Remove RISCiX-specific definition of
3413 DBX_OUTPUT_MAIN_SOURCE_FILENAME.
3414 * config/m32r/m32r.h: Define DBX_OUTPUT_SOURCE_LINE, not
3415 ASM_OUTPUT_SOURCE_LINE.
3416 * config/rs6000/linux64.h (ASM_OUTPUT_SOURCE_LINE): Rename to
3417 DBX_OUTPUT_SOURCE_LINE. Don't use current_function_func_begin_label.
3418 * config/vax/elf.h: No need to define DBX_OUTPUT_FUNCTION_END.
3420 * doc/tm.texi: Update.
3422 2004-10-20 Richard Henderson <rth@redhat.com>
3424 * tree-sra.c (instantiate_element): Copy DECL_IGNORED_P also.
3426 2004-10-20 Kelley Cook <kcook@gcc.gnu.org>
3428 * configure.ac: Revert my previous patch.
3429 * configure: Regenerate.
3431 2004-10-20 Ben Elliston <bje@au.ibm.com>
3433 * config/rs6000/rs6000.c
3434 (rs6000_va_start): Use build_va_arg_indirect_ref.
3435 (rs6000_gimplify_va_arg): Likewise.
3437 2004-10-20 Bryce McKinlay <mckinlay@redhat.com>
3440 * configure.ac: Declare AM_LANGINFO_CODESET.
3441 * aclocal.m4: Define AM_LANGINFO_CODESET.
3442 * configure, config.in: Rebuilt.
3444 2004-10-20 Kazu Hirata <kazu@cs.umass.edu>
3446 * expr.c (store_expr): Remove code that is run when
3447 want_value & 1 is nonzero.
3449 2004-10-20 Mark Mitchell <mark@codesourcery.com>
3451 * gthr-posix.h (__gthread_active_p): Use __extension__ around cast
3452 from function pointer to void *.
3454 2004-10-20 Kaz Kojima <kkojima@gcc.gnu.org>
3457 * config/sh/sh.c (sh_expand_epilogue): Emit a blockage insn before
3458 the frame pointer adjustment when exception handling is enabled.
3460 2004-10-20 Kazu Hirata <kazu@cs.umass.edu>
3462 * stor-layout.c: Fix a comment typo.
3464 2004-10-20 Kazu Hirata <kazu@cs.umass.edu>
3466 * expr.c (store_field): Remove two arguments value_mode and
3468 (expand_assignment, store_constructor_field,
3469 expand_expr_real_1): Adjust calls to store_field.
3471 2004-10-18 Ramana Radhakrishnan <ramana.radhakrishnan@codito.com>
3473 * config/arc/lib1funcs.asm (___umulsidi3): Correct usage of flags.
3476 * config/arc/arc.h (REGNO_OK_FOR_BASE_P,REGNO_OK_FOR_INDEX_P,
3477 REG_OK_FOR_BASE, REG_OK_FOR_INDEX): Consider blink(r31) as a valid
3478 base and index register for loads.
3480 * config/arc/t-arc: Fix multilib handling.
3482 2004-10-20 Hans-Peter Nilsson <hp@bitrange.com>
3484 * cfgrtl.c (rtl_verify_flow_info_1): When checking insns in a bb,
3485 don't inspect BLOCK_FOR_INSN for barriers.
3486 * emit-rtl.c (emit_barrier_before): Revert last change.
3487 (emit_barrier_after, emit_barrier): Ditto.
3489 * doc/extend.texi (Extended Asm): Warn and provide example
3490 solution for using a call-clobbered asm register.
3491 (Local Reg Vars): Similar. Cross-reference example.
3493 2004-10-19 Andrew Pinski <pinskia@physics.uc.edu>
3495 * tree-cfg.c (group_case_labels): Look at the second to last
3496 case statement for combing with the default case.
3498 2004-10-19 Richard Hendeson <rth@redhat.com>
3501 * stor-layout.c (layout_type): Set TYPE_ALIGN for vectors.
3503 2004-10-19 Richard Hendeson <rth@redhat.com>
3505 * builtins.c (expand_builtin_memmove): If fold_builtin_memmove
3506 succeeds, only expand the result.
3508 2004-10-19 Richard Hendeson <rth@redhat.com>
3511 * tree.c (recompute_tree_invarant_for_addr_expr): Always poll address
3514 2004-10-19 Kazu Hirata <kazu@cs.umass.edu>
3516 * tree-cfg.c (thread_jumps): Use a do-while loop instead of a
3519 2004-10-19 Kazu Hirata <kazu@cs.umass.edu>
3521 * expr.c (expand_assignment): Remove the last argument.
3522 Change the return type to void.
3523 * expr.h: Update the prototype of expand_assignment.
3524 * function.c (assign_parm_setup_reg): Update a call to
3526 * stmt.c (expand_asm_expr): Likewise.
3528 2004-10-19 Kazu Hirata <kazu@cs.umass.edu>
3530 * expr.c (expand_expr_real_1) <MODIFY_EXPR>: Remove
3531 unnecessary assignments to temp. Return const0_rtx.
3533 2004-10-19 Kaz Kojima <kkojima@gcc.gnu.org>
3535 * config/sh/sh.c (sh5_schedule_saves): Fix typo.
3537 2004-10-18 Kelley Cook <kcook@gcc.gnu.org>
3539 * configure.ac (powerpc-*-darwin*): Require assembler to support
3541 * configure: Regenerate.
3543 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
3545 * reload1.c (ior_hard_reg_set): Remove.
3546 (finish_spills): Use IOR_HARD_REG_SET instead of
3549 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
3551 * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP): Speed up by shifting
3552 the currently visited word to right.
3554 2004-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
3557 * expmed.c (expand_smod_pow2): Handle modes whose size
3558 is greater than that of HOST_WIDE_INT.
3560 2004-10-18 Ziemowit Laski <zlaski@apple.com>
3562 * c-parse.in (reservedwords): Add OBJC_TYPE_QUAL as alternative.
3564 2004-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
3565 Roger Sayle <roger@eyesopen.com>
3568 * dojump.c (discard_pending_stack_adjust): New function.
3569 (clear_pending_stack_adjust): Call it.
3570 * expr.h (discard_pending_stack_adjust): Declare it.
3571 * explow.c (emit_stack_save): Emit pending stack adjustments
3572 before saving the stack pointer.
3573 (emit_stack_restore): Discard pending stack adjustments before
3574 restoring the stack pointer.
3576 2004-10-18 Richard Henderson <rth@redhat.com>
3578 * c-common.c (handle_mode_attribute): Allow scalar->vector
3581 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
3583 * expr.c (expand_expr_real_1) [MODIFY_EXPR]: Don't request a
3584 value to expand_assignment.
3586 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
3588 * tree-cfg.c (cleanup_tree_cfg): Don't iterate on
3590 (thread_jumps): Iterate until no new forwarder block arises.
3592 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
3594 * tree-cfg.c (tree_forwarder_block_p): Don't set forwardable.
3595 (thread_jumps): Use forwardable as cache of
3596 tree_forwarder_block_p throughout the function.
3598 2004-10-18 Andreas Krebbel <krebbel1@de.ibm.com>
3600 * cfg.c (dump_flow_info): Remove redundant dump of reg life info.
3602 2004-10-18 Andrew Pinski <pinskia@physics.uc.edu>
3606 * tree-cfg.c (remove_bb): If we have a label expression in the
3607 basic block and the label we have taken the address, move the
3608 label expression to the basic block which is previous in the
3610 (tree_verify_flow_info): Fix printing out the label name of the
3611 problematic label expression.
3613 2004-10-18 Pat Haugen <pthaugen@us.ibm.com>
3615 PR rtl-optimization/18002
3616 * simplify-rtx.c (mode_signbit_p): Externalize function...
3617 * rtl.h (mode_signbit_p): ... to here.
3618 * combine.c (simplify_shift_const): Recognize PLUS signbit as
3619 canonical form of XOR signbit and move to outer op.
3621 2004-10-18 Diego Novillo <dnovillo@redhat.com>
3623 * tree-cfg.c (bsi_for_stmt): Rename from stmt_for_bsi.
3625 * tree-ssa.c (replace_immediate_uses): Call bsi_for_stmt.
3626 Don't call fold_stmt more than once, use bsi_replace.
3628 2004-10-18 Diego Novillo <dnovillo@redhat.com>
3630 PR tree-optimization/17656
3631 * tree-ssa.c (replace_immediate_uses): When replacing a
3632 constant, if the call to fold_stmt produced a different
3633 statement, get an appropriate statement pointer by scanning
3636 2004-10-18 Richard Henderson <rth@redhat.com>
3638 * pointer-set.c (hash1): Don't use libm functions in fallback case.
3640 2004-10-18 H.J. Lu <hongjiu.lu@intel.com>
3643 * Makefile.in (clean): Remove libgcc_s$(SHLIB_EXT).1.stage?.
3644 (stage1-start): Remove and copy libunwind.a and
3645 libunwind*$(SHLIB_EXT) instead of libunwind*.
3646 (stage2-start): Likewise.
3647 (stage3-start): Likewise.
3648 (stage4-start): Likewise.
3649 (stageprofile-start): Likewise.
3650 (stagefeedback-start): Likewise.
3652 * config/alpha/t-osf4 (SHLIB_LINK): Use a temporary file for
3653 the shared library to be created and don't remove the existing
3655 * config/arm/t-netbsd (SHLIB_LINK): Likewise.
3656 * config/i386/t-nwld (SHLIB_LINK): Likewise.
3657 * config/mips/t-slibgcc-irix (SHLIB_LINK): Likewise.
3658 * config/pa/t-hpux-shlib (SHLIB_LINK): Likewise.
3659 * config/sh/t-linux (SHLIB_LINK): Likewise.
3660 * config/t-libunwind-elf (SHLIBUNWIND_LINK): Likewise.
3661 * config/t-slibgcc-darwin (SHLIB_LINK): Likewise.
3662 * config/t-slibgcc-elf-ver (SHLIB_LINK): Likewise.
3663 * config/t-slibgcc-sld (SHLIB_LINK): Likewise.
3665 * mklibgcc.in (libgcc-stage-start): Also move "*${objext}s"
3668 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
3670 * basic-block.h (reg_set_iterator): New.
3671 (EXECUTE_IF_SET_IN_REG_SET): Make it iterator style.
3672 (EXECUTE_IF_AND_COMPL_IN_REG_SET): Likewise.
3673 (EXECUTE_IF_AND_IN_REG_SET): Likewise.
3674 * caller-save.c (save_call_clobbered_regs): Adjust to the new
3676 * cfgcleanup.c (thread_jump): Likewise.
3677 * cfgrtl.c (safe_insert_insn_on_edge): Likewise.
3678 * conflict.c (conflict_graph_compute): Likewise.
3679 * flow.c (verify_local_live_at_start, update_life_info,
3680 initialize_uninitialized_subregs, propagate_one_insn,
3681 init_propagate_block_info, free_propagate_block_info,
3682 propagate_block, dump_regset): Likewise.
3683 * global.c (global_conflicts): Likewise.
3684 * graph.c (start_bb): Likewise.
3685 * local-alloc.c (update_equiv_regs): Likewise.
3686 * loop.c (load_mems): Likewise.
3687 * reload1.c (compute_use_by_pseudos, order_regs_for_reload,
3688 find_reg, finish_spills): Likewise.
3689 * resource.c (mark_target_live_regs): Likewise.
3690 * sched-deps.c (sched_analyze_insn): Likewise.
3691 * sched-rgn.c (sched-rgn.c): Likewise.
3692 * config/frv/frv.c (frv_ifcvt_modify_tests): Likewise.
3694 2004-10-18 Jakub Jelinek <jakub@redhat.com>
3696 * config/i386/i386.md (addqi_1_slp): Test for incdec_operand
3697 operand 1 instead of 2
3699 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
3701 * loop-unroll.c: Fix comment typos.
3703 2004-10-18 Revital Eres <eres@il.ibm.com>
3705 * Makefile.in (loop-unroll.o): Add VARRAY_H dependency.
3706 * loop-unroll.c: Include varray.h.
3707 (struct var_to_expand, struct opt_info): Rename split_ivs_info to
3708 opt_info and expand it to support variable expansion.
3709 (analyze_insns_in_loop): Rename analyze_ivs_to_split and
3710 expand it to support variable expansion.
3711 (pt_info_start_duplication): Rename si_info_start_duplication.
3712 (apply_opt_in_copies): Rename split_ivs_in_copies and add support
3713 to the variable expansion optimization.
3714 (free_opt_info): Rename free_si_info.
3715 (analyze_insn_to_expand_var, referenced_in_one_insn_in_loop_p,
3716 expand_var_during_unrolling, insert_var_expansion_initialization,
3717 combine_var_copies_in_loop_exit, release_var_copies,
3718 get_expansion): New functions.
3719 (peel_loop_completely, unroll_loop_constant_iterations,
3720 unroll_loop_runtime_iterations, peel_loop_simple,
3721 unroll_loop_stupid): Change uses of struct si_info
3723 and add uses of fvariable-expansion-in-unroller flag.
3724 * params.def: Add parameter to restrict the number of expansions.
3725 * params.h: (MAX_VARIABLE_EXPANSIONS): New define to restrict
3726 the number of expansions.
3727 * common.opt: (fvariable-expansion-in-unroller): New flag.
3728 * doc/invoke.texi: (fvariable-expansion-in-unroller): Document.
3730 2004-10-18 Danny Smith <dannysmith@users.sourceforge.net>
3732 * config/i386/cygming.h (TARGET_OS_CPP_BUILTINS): Define
3733 __GXX_MERGED_TYPEINFO_NAMES to 0.
3735 2004-10-17 Hans-Peter Nilsson <hp@bitrange.com>
3737 * cfgrtl.c (rtl_verify_flow_info_1): When checking insns in a bb,
3738 handle barriers in a bb by checking that it points to a NULL bb.
3739 * emit-rtl.c (emit_barrier_before): Set BLOCK_FOR_INSN to NULL.
3740 (emit_barrier_after, emit_barrier): Ditto.
3742 2004-10-18 Joseph S. Myers <jsm@polyomino.org.uk>
3744 * doc/extend.texi (Attribute Syntax): Clarify details of
3745 attributes on parameters.
3747 2004-10-17 Zdenek Dvorak <dvorakz@suse.cz>
3749 * tree-ssa-loop-ivopts.c (tree_ssa_iv_optimize): Move checking out of
3752 2004-10-17 Andrew Pinski <pinskia@physics.uc.edu>
3755 2004-10-17 Andrew Pinski <pinskia@physics.uc.edu>
3757 * c-typeck.c (default_function_array_conversion): Always create
3758 &a[0] for array types.
3759 (build_unary_op): Do not fold &a[x] into a + x.
3761 2004-10-17 Andrew Pinski <pinskia@physics.uc.edu>
3764 * cfgexpand.c (expand_gimple_cond_expr): Emit line notes for next basic
3765 block if there is a goto with a locus.
3767 2004-10-17 Kazu Hirata <kazu@cs.umass.edu>
3769 * config/elfos.h, config/gofast.h, config/interix.h,
3770 config/netbsd.h, config/svr3.h, config/vxworks.h,
3771 config/alpha/alpha-modes.def, config/alpha/alpha-protos.h,
3772 config/alpha/ev4.md, config/alpha/ev5.md, config/alpha/ev6.md,
3773 config/alpha/netbsd.h, config/arm/arm-modes.def,
3774 config/arm/unknown-elf.h, config/c4x/c4x-modes.def,
3775 config/cris/aout.h, config/frv/frv-modes.def,
3776 config/i386/beos-elf.h, config/i386/gas.h,
3777 config/i386/i386-coff.h, config/i386/i386-modes.def,
3778 config/i386/linux.h, config/i386/linux64.h,
3779 config/i386/mingw32.h, config/i386/netbsd-elf.h,
3780 config/i386/netbsd64.h, config/i386/sco5.h,
3781 config/i386/sol2.h, config/i386/uwin.h, config/i860/i860.md,
3782 config/ia64/ia64-modes.def, config/ia64/itanium1.md,
3783 config/ia64/itanium2.md, config/m68k/m68k-modes.def,
3784 config/mips/mips-modes.def, config/mips/sdb.h,
3785 config/mips/vr.h, config/mips/vxworks.h,
3786 config/pa/pa-hpux10.h, config/pa/pa-hpux11.h,
3787 config/pa/pa32-linux.h, config/rs6000/40x.md,
3788 config/rs6000/7450.md, config/rs6000/8540.md,
3789 config/rs6000/linuxspe.h, config/rs6000/power4.md,
3790 config/rs6000/rs6000-modes.def, config/rs6000/rtems.h,
3791 config/rs6000/spe.h, config/s390/2064.md, config/s390/linux.h,
3792 config/s390/s390-modes.def, config/sh/elf.h,
3793 config/sh/sh-modes.def, config/sh/sh64.h,
3794 config/sparc/ultra1_2.md, config/sparc/ultra3.md,
3795 config/stormy16/stormy16.md, config/v850/v850-protos.h,
3796 config/vax/vax.md: Update copyright.
3798 2004-10-17 Kazu Hirata <kazu@cs.umass.edu>
3800 * expr.c (expand_expr_real_1): Remove an obsolete comment.
3802 2004-10-17 Andrew Pinski <pinskia@physics.uc.edu>
3804 * c-typeck.c (default_function_array_conversion): Always create
3805 &a[0] for array types.
3806 (build_unary_op): Do not fold &a[x] into a + x.
3808 2004-10-17 Jakub Jelinek <jakub@redhat.com>
3810 * pointer-set.c (hash1): Use integer part of 2^64 / phi
3811 instead 2^32 / phi if long is 64-bit.
3813 2004-10-17 Joseph S. Myers <jsm@polyomino.org.uk>
3815 * c-common.h (enum rid): Remove RID_PTRBASE, RID_PTREXTENT and
3817 * c-parse.in (PTR_VALUE, PTR_BASE, PTR_EXTENT): Remove %token
3819 (reswords): Remove __ptrbase, __ptrbase__, __ptrextent,
3820 __ptrextent__, __ptrvalue and __ptrvalue__.
3821 (rid_to_yy): Remove RID_PTRBASE, RID_PTREXTENT and RID_PTRVALUE
3824 2004-10-16 Dale Johannesen <dalej@apple.com>
3826 * c-common.c (c_common_get_alias_set): Use GGC for type_hash_table.
3828 2004-10-16 Zdenek Dvorak <dvorakz@suse.cz>
3830 PR tree-optimization/17766
3831 * basic-block.h (enum dom_state): DOM_CONS_OK removed.
3832 (dom_info_available_p): Declare.
3833 * cfghooks.c (split_block, make_forwarder_block): Use
3834 dom_info_available_p.
3835 * dominance.c (compute_dom_fast_query, calculate_dominance_info,
3836 free_dominance_info, verify_dominators): Ditto.
3837 (dom_info_available_p): New function.
3838 * tree-cfg.c (cleanup_control_expr_graph): Free dominance information.
3839 (thread_jumps): Use dom_info_available_p.
3840 * tree-complex.c (expand_complex_div_wide): Ditto.
3841 * tree-mudflap.c (mf_build_check_statement_for): Ditto.
3843 2004-10-16 Zdenek Dvorak <dvorakz@suse.cz>
3845 * tree-ssa-loop-ivopts.c (struct ivopts_data): New field important_candidates.
3846 (find_best_candidate): Take also important candidates into account.
3847 (find_optimal_iv_set): Initialize important_candidates bitmap.
3849 2004-10-16 Zdenek Dvorak <dvorakz@suse.cz>
3851 PR tree-optimization/17560
3852 * predict.c (tree_estimate_probability): Mark irreducible
3855 2004-10-16 Zdenek Dvorak <dvorakz@suse.cz>
3857 PR rtl-optimization/17723
3858 * cfgcleanup.c (merge_memattrs): Handle case when
3859 MEM_SIZE == NULL_RTX.
3861 2004-10-15 Andrew Pinski <pinskia@physics.uc.edu>
3863 * toplev.c (dump_file_name): Change type to be const.
3865 2004-10-15 Joseph S. Myers <jsm@polyomino.org.uk>
3867 * c-typeck.c (build_compound_expr, build_c_cast): Don't try to use
3868 non_lvalue to stop something being a null pointer constant.
3870 2004-10-15 Aldy Hernandez <aldyh@redhat.com>
3872 * config/rs6000/rs6000.h (FUNCTION_ARG_REGNO_P): FPRs are only
3873 available for TARGET_FPRS.
3874 (FUNCTION_VALUE_REGNO_P): Same.
3876 2004-10-15 Geoffrey Keating <geoffk@apple.com>
3878 * doc/invoke.texi (RS/6000 and PowerPC Options): Document
3879 -maltivec in same style as other ISA options.
3881 2004-10-15 Jon Grimm <jgrimm2@us.ibm.com>
3883 * config/host-linux.c (TRY_EMPTY_VM_SPACE): Add __powerpc__
3886 2004-10-15 Kazu Hirata <kazu@cs.umass.edu>
3888 * bitmap.c, bitmap.h, builtin-attrs.def, cfglayout.h,
3889 collect2.h, conflict.c, coretypes.h, coverage.h, errors.h,
3890 gcc.h, gcov-dump.c, gen-protos.c, gencheck.c, gencodes.c,
3891 genconstants.c, gengenrtl.c, genmodes.c, genpeep.c,
3892 gensupport.h, graph.h, gthr-gnat.c, gthr-gnat.h, gthr-posix.c,
3893 gthr-posix.h, hard-reg-set.h, hwint.h, integrate.h, libgcc2.c,
3894 lists.c, machmode.def, mips-tdump.c, opts.h, params.c,
3895 predict.def, predict.h, protoize.c, reload.h, resource.h,
3896 rtl-error.c, sbitmap.c, sbitmap.h, sreal.c, tlink.c,
3897 tree-dump.h, tree-inline.h, unwind-dw2-fde.c, unwind-dw2.c,
3898 unwind-sjlj.c, value-prof.h: Update copyright.
3900 2004-10-15 Kazu Hirata <kazu@cs.umass.edu>
3902 * pointer-set.c, tree-vectorizer.c: Fix comment typos.
3904 2004-10-15 Diego Novillo <dnovillo@redhat.com>
3906 * tree-optimize.c (execute_one_pass): Stop timer right after
3909 2004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
3912 2004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
3915 * tree-cfg.c (remove_usless_stmts_cond): Fold statement.
3916 (remove_useless_stmts_1): Fold trees we know how to fold.
3918 2004-10-14 David Edelsohn <edelsohn@gnu.org>
3920 * configure.ac: Add .machine power4 directive when testing for
3922 * configure: Regenerate.
3924 2004-10-14 Geoffrey Keating <geoffk@apple.com>
3926 * config/darwin.h (JUMP_TABLES_IN_TEXT_SECTION): Don't define.
3928 2004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
3930 * tree-vectorizer.c (vect_transform_loop): Declare vectorization_factor
3933 2004-10-14 Daniel Jacobowitz <dan@codesourcery.com>
3935 * config/rs6000/rs6000.h (REG_CLASS_FROM_LETTER): Return NO_REGS
3936 for 'f' if !TARGET_FPRS.
3938 2004-10-14 Richard Henderson <rth@redhat.com>
3941 * dwarf2out.c (loc_descriptor_from_tree_1): Handle FIX_*_EXPR.
3943 2004-10-14 Richard Henderson <rth@redhat.com>
3946 * c-decl.c (store_parm_decls_oldstyle): Care for parameter type
3948 * c-parse.in (compstmt_primary_start): Check cur_stmt_list non-null
3949 instaed of current_function_decl non-null.
3951 2004-10-14 Matt Austern <austern@apple.com>
3953 * pointer-set.c: New file, special-purpose hash table.
3954 * pointer-set.h: New file.
3955 * tree.h (struct pointer_set_t): Declare as opaque type.
3956 (tree_walk): Last argument is pointer_set_t* now.
3957 * tree-inline.c (WALK_SUBTREE): Convert from htab to pset.
3959 (walk_tree): Convert from htab_t to pointer_set_t for keeping
3960 track of which nodes have already been visited.
3961 (walk_tree_without_duplicates): Convert from htab_t to pointer_set_t.
3962 * cgraphunit.c (cgraph_create_edges): Likewise.
3963 (cgraph_characterize_statics_local): Likewise.
3964 * tree-dfa.c (collect_dfa_stats): Likewise.
3965 * langhooks-def.h (lhd_tree_inlining_walk_subtrees): Last arg is
3967 * langhooks.c (lhd_tree_inlining_walk_subtrees): Likewise.
3968 * langhooks.h (struct lang_hooks_for_tree_inlining): Last arg type
3969 of walk_subtrees is pointer_set_t* now.
3970 * Makefile.in (OBJS-common): add pointer-set.o
3971 (tree-inline.o): Depends on pointer-set.h
3972 (tree-dfa.o): Likewise
3973 (cgraphunit.o): Likewise
3975 2004-10-14 Geoffrey Keating <geoffk@apple.com>
3977 * config/rs6000/darwin.h (ASM_SPEC): Delete.
3978 (TARGET_ASM_FILE_START): Define.
3979 * config/darwin.h (ASM_SPEC): Define.
3980 * config/rs6000/t-darwin (TARGET_LIBGCC2_CFLAGS): Don't supply
3981 -mlong-double-128, it's the default. Update comment about reason
3982 for force_cpusubtype_ALL.
3983 * config/rs6000/darwin-vecsave.asm: Supply .machine.
3984 * config/rs6000/darwin-world.asm: Likewise.
3985 * config/rs6000/rs6000.c (rs6000_darwin_file_start): New.
3986 (symbolic_operand): Delete #if 0ed code.
3988 2004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
3990 * stmt.c (add_case_node): Make sure that we have integer
3991 constant before calling tree_int_cst_compare.
3993 2004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
3997 * tree-cfg.c (remove_usless_stmts_cond): Fold statement.
3998 (remove_useless_stmts_1): Fold trees we know how to fold.
4000 2004-10-14 Joseph S. Myers <joseph@codesourcery.com>
4002 * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS),
4003 config/rs6000/linuxspe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Disallow
4006 2004-10-14 Ulrich Weigand <uweigand@de.ibm.com>
4008 * reload.c (find_reloads): When reloading a PLUS with constant
4009 operand, make sure the constant is pushed to the constant pool
4011 * config/s390/s390.c (s390_secondary_input_reload_class): Remove
4012 reload bug workaround.
4013 (s390_expand_plus_operand): Likewise.
4015 2004-10-14 David Edelsohn <edelsohn@gnu.org>
4017 * opts.c (common_handle_option): Do not enable
4018 flag_speculative_prefetching for -fprofile-generate/use.
4020 2004-10-14 Devang Patel <dpatel@apple.com>
4023 * tree-if-conv.c (process_phi_nodes): Process latch block.
4024 (combine_blocks): Process latch block and update loop structure.
4026 2004-10-14 Olga Golovanevsky <olga@il.ibm.com>
4028 * tree-vectorizer.c (vect_generate_tmps_on_preheader):
4029 (vect_update_ivs_after_vectorizer):
4030 (vect_transform_for_unknown_loop_bound):
4031 (tree_duplicate_loop_to_edge):
4032 (allocate_new_names):
4035 (rename_variables_in_bb):
4037 (rename_variables_in_loop):
4039 (update_phis_for_duplicate_loop):
4040 (update_phi_nodes_for_guard):
4041 (make_loop_iterate_ntimes):
4042 (tree_duplicate_loop_to_edge_cfg):
4044 (vect_analyze_loop_with_symbolic_num_of_iters):
4045 (verify_loop_for_duplication):
4046 (vect_gen_niters_for_prolog_loop):
4047 (vect_update_niters_after_peeling):
4048 (vect_update_inits_of_dr):
4049 (vect_update_inits_of_drs):
4050 (vect_build_loop_niters):
4051 (vect_do_peeling_for_alignment): New functions.
4052 (vect_transform_loop): Add unknown and known but indivisible loop
4053 bound support; add peeling for unalignment support.
4054 (vect_analyze_loop_form): Support symbolic number of iterations.
4055 (vect_transform_loop_bound): New input parameter.
4056 (vect_get_loop_niters): Change input parameter type.
4057 (new_loop_vec_info): LOOP_VINFO_NITERS is tree now.
4058 (vectorizable_store): Allow unaligned access.
4059 (vectorize_loops): Add rewrite_into_loop_closed_ssa.
4060 (vect_analyze_data_refs_alignment): Allowed one unaligned
4062 * tree-vectorizer.h (LOOP_VINFO_NITERS_KNOWN_P): Redefined
4064 (LOOP_VINFO_INT_NITERS): New macro.
4065 (MAX_NUMBER_OF_UNALIGNED_DATA_REFS): New define.
4066 (do_peeling_for_alignment):
4067 (unaligned_drs): New members of _loop_vec_info.
4068 (LOOP_DO_PEELING_FOR_ALIGNMENT): New macro.
4070 2004-10-14 Ranjit Mathew <rmathew@hotmail.com>
4072 * tree.h (TREE_STRING_POINTER): Wrap in "const char *".
4073 (struct tree_string): Remove "const" qualifier for "str".
4075 2004-10-14 Ira Rosen <irar@il.ibm.com>
4077 * tree-vectorizer.c (vect_analyze_data_refs): Call
4078 vect_get_base_and_bit_offset to get memory tag for array ref.
4079 (vect_create_addr_base_for_vector_ref): Remove redundant checks.
4081 2004-10-14 Richard Earnshaw <rearnsha@arm.com>
4083 * configure.ac: Use $LN_S for creating symlinks (not $LN).
4084 * configure: Regenerate.
4086 2004-10-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4088 * doc/install.texi (*-*-solaris2*): Update with info about kernel
4089 patches to solve spurious testsuite failures.
4091 2004-10-14 Dorit Naishlos <dorit@il.bim.com>
4093 * tree-vectorizer.c (get_vectype_for_scalar_type): Added debug prinouts.
4094 Added check that vectype is VECTOR_MODE_P, instead of check for BLKmode.
4095 (vect_analyze_operations): Make sure the vectorization factor > 1. Add
4096 gcc_assert under ENABLE_CHECKING.
4097 (vectorizable_operation): Remove check for VECTOR_MODE_P (moved to
4098 get_vectype_for_scalar_type).
4100 (vect_get_vec_def_for_operand): Remove redundant variables.
4101 (vect_transform_loop): Likewise.
4103 2004-10-14 Richard Sandiford <rsandifo@redhat.com>
4105 * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Make r11 fixed and
4106 global for -mcaller-super-interworking.
4107 (CALLER_INTERWORKING_SLOT_SIZE): New macro.
4108 * config/arm/arm.c (thumb_compute_save_reg_mask): Save r11 if
4109 CALLER_INTERWORKING_SLOT_SIZE is nonzero and the function does
4110 not need a frame pointer.
4111 (arm_get_frame_offsets): Add CALLER_INTERWORKING_SLOT_SIZE bytes to