1 2004-11-18 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.comn>
3 * config/m32r/linux.h (TARGET_ASM_FILE_END): Set
4 TARGET_ASM_FILE_END to file_end_indicate_exec_stack.
6 2004-11-18 Diego Novillo <dnovillo@redhat.com>
8 * tree-ssa-propagate.c (ssa_prop_init): Use FOR_ALL_BB instead
11 2004-11-18 Jon Grimm <jgrimm2@us.ibm.com>
13 * Makefile.in (macro_list): Depend on s-macro_list.
14 (s-macro_list): New target.
16 2004-11-18 Nathan Sidwell <nathan@codesourcery.com>
19 * fold-const.c (RANGE_TEST_NON_SHORT_CIRCUIT): Rename to ...
20 (LOGICAL_OP_NON_SHORT_CIRCUIT): ... here.
21 (fold_range_test): Adjust.
22 (fold_truthop): Use it.
23 * config/rs6000/rs6000.h (RANGE_TEST_NON_SHORT_CIRCUIT): Rename to ...
24 (LOGICAL_OP_NON_SHORT_CIRCUIT): ... here.
26 2004-11-18 Uros Bizjak <uros@kss-loka.si>
28 * configure/i386/i386.md (*fix_trunch_1): Add "&& 1" to
29 insn split constraint.
30 (define_peephole2): Remove unneeded "&& 1" from peephole2
33 2004-11-18 Ben Elliston <bje@au.ibm.com>
35 * doc/cfg.texi (Maintaining the CFG): Remove duplicated @item
36 element for bsi_prev; use @findex instead.
38 2004-11-18 Ben Elliston <bje@au.ibm.com>
40 * opts.h (add_input_filename): Remove extern declaration.
41 * opts.c (add_input_filename): Make static.
43 2004-11-17 Mark Mitchell <mark@codesourcery.com>
45 * config/i386/i386.c (i386_solaris_elf_named_section): Mark with
48 2004-11-17 Zack Weinberg <zack@codesourcery.com>
50 * defaults.h, config/darwin.h: Don't define TARGET_SUPPORTS_HIDDEN.
51 * system.h: Poison it.
52 * doc/tm.texi: Delete its documentation.
54 2004-11-18 Daniel Jacobowitz <dan@codesourcery.com>
55 Mark Mitchell <mark@codesourcery.com>
57 * config/i386/sol2-10.h, config/i386/t-sol2-10: New files.
58 * config/i386/i386.c (i386_solaris_elf_named_section): New
60 * config.gcc (i[34567]86-*-solaris2*): Handle Solaris 2.10.
61 * config/i386/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Handle
63 (ASM_QUAD): Don't undefine for biarch targets.
64 * config/i386/t-sol2: Introduce multilib support.
66 2004-11-18 Ben Elliston <bje@au.ibm.com>
68 * cgraphunit.c: Replace "it's" with "its" and fix a typo.
70 2004-11-18 Ben Elliston <bje@au.ibm.com>
72 * cgraph.h: Replace "it's" with "its" throughout.
74 2004-11-18 Ben Elliston <bje@au.ibm.com>
76 * doc/rtl.texi (Flags): Grammar fix.
78 2004-11-17 Kazu Hirata <kazu@cs.umass.edu>
80 * expmed.c (alg_code): Add alg_unknown.
81 (alg_hash_entry): New.
82 (NUM_ALG_HASH_ENTRIES): Likewise.
84 (synth_mult): Cache the result into alg_hash.
86 2004-11-17 Zack Weinberg <zack@codesourcery.com>
88 * config/rs6000/t-darwin: Augment SHLIB_MAPFILES with
89 config/rs6000/libgcc-ppc64.ver.
91 2004-11-17 Kazu Hirata <kazu@cs.umass.edu>
93 * cfgrtl.c (rtl_verify_flow_info): Don't use INSN_P when
94 checking if an unconditional return is followed by a barrier.
96 * jump.c (condjump_p): Remove unreachable code.
98 * basic-block.h, c-common.h, df.h, expr.h, output.h, rtl.h,
99 tree-chrec.h, tree-flow.h, tree-scalar-evolution.h,
100 tree-ssa-live.h, tree.h: Remove unused prototypes.
102 2004-11-17 Jeff Law <law@redhat.com>
104 * tree-cfg.c (edge_to_cases): Renamed from edge_to_case_leader.
105 (edge_to_cases_elt): Renamed from edge_to_case_leader.
106 (edge_to_cases_hash): Renamed from edge_to_case_leader_hash.
107 (edge_to_cases_eq): Renamed from edge_to_case_leader_eq.
108 (edge_to_cases_cleanup, recording_case_labels_p): New functions.
109 (get_cases_for_edge): New function.
110 (start_recording_case_labels, end_recording_case_labels): Similarly.
111 (record_switch_edge): Don't muck with the CASE_LABEL. Instead
112 chain equivalent CASE_LABEL_EXPRs together.
113 (get_case_leader_for_edge, get_case_leader_for_edge_hash): Kill.
114 (make_switch_expr_edges): Do not record edge/cases here.
115 (cleanup_tree_cfg): Record cases around the call to thread_jumps.
116 (split_critical_edges): Record cases around the edge splitting code.
117 (cleanup_dead_labels): Use CASE_LABEL again.
118 (tree_redirect_edge_and_branch): If we have a mapping from edge
119 to cases, use it to handle redirections. Else do it the slow way.
120 * tree.h (CASE_LEADER_OR_LABEL): Kill.
121 (CASE_LABEL): Revert to just looking at the tree's second operand.
122 * tree.c (get_case_label): Kill.
124 2004-11-17 Diego Novillo <dnovillo@redhat.com>
126 PR tree-optimization/18307
127 * tree-ssa-alias.c (merge_pointed_to_info): ICE if 'dest' and
128 'orig' are the same node.
129 (collect_points_to_info_r): Do not call merge_pointed_to_info
130 when the PHI argument is identical to the LHS.
132 2004-11-17 Steven Bosscher <stevenb@suse.de>
134 * tree-ssa-propagate.c (cfg_blocks_add): Assert we're not trying
135 to insert the exit or entry block.
136 (ssa_prop_init): Use add_control_edge to seed the algorithm.
138 2004-11-16 Zack Weinberg <zack@codesourcery.com>
140 * mkmap-flat.awk, mkmap-symver.awk: If the last version
141 assigned to a symbol was '%exclude', do not emit it anywhere.
142 If leading_underscore is true, prefix all symbols from the
143 version scripts with a leading underscore before comparing
144 them with nm output or emitting them. Remove support for dot
146 * config/t-slibgcc-darwin (SHLIB_LINK): Use mkmap-flat.awk.
147 (SHLIB_MAPFILES): Use libgcc-std.ver.
148 (SHLIB_MKMAP_OPTS): Enable leading-underscore mode.
149 (SHLIB_LINK): Add -Wl,-exported_symbols_list,$(SHLIB_MAP).
150 * config/sh/t-linux: Use the normal libgcc-std.ver, plus
151 libgcc-excl.ver and libgcc-glibc.ver.
153 * config/sh/libgcc-excl.ver: New file.
154 * config/sh/libgcc-std.ver, libgcc-darwin.ver: Delete.
156 2004-11-16 Daniel Berlin <dberlin@dberlin.org>
158 * lambda-code.c (lambda_loopnest_to_gcc_loopnest): Swap
159 the test when the edge has the opposite meaning, not when
160 the first argument is invariant.
162 2004-11-16 Aldy Hernandez <aldyh@redhat.com>
164 * config/rs6000/rs6000.c (rs6000_override_options): Split e500v2
166 (rs6000_complex_function_value): Handle e500 v2 variant.
168 2004-11-16 Daniel Berlin <dberlin@dberlin.org>
170 Fix PR tree-optimization/18519
172 * tree-optimize (execute_todo): Add case for TODO_cleanup_cfg.
173 * tree-pass.h: Add TODO_cleanup_cfg.
174 * tree-ssa-ccp.c (pass_ccp): Use TODO_cleanup_cfg.
175 (ccp_finalize): Remove call to cleanup_cfg.
176 * tree-ssa-dce.c (pass_dce): Use TODO_cleanup_cfg and TODO_dump_func.
177 (pass_cd_dce): Ditto.
178 (perform_tree_ssa_dce): Remove call to cleanup_cfg,
179 dump_function_to_file.
180 * tree-ssa-loop-ch.c (copy_loop_headers): Remove call
182 (pass_ch): Add TODO_cleanup_cfg.
183 * tree-ssa-loop.c (tree_ssa_loop_done): Remove call to
185 (pass_loop_done): Add TODO_cleanup_cfg.
186 * tree-ssa-phiopt.c (pass_phiopt): Ditto.
187 (tree_ssa_phiopt): Remove call to cleanup_cfg.
189 2004-11-16 Devang Patel <dpatel@apple.com>
191 * optabs.c (vector_compare_rtx): Fix COMPARISON_CLASS_P use.
193 2004-11-16 Kazu Hirata <kazu@cs.umass.edu>
195 * expmed.c, ra-colorize.c: Fix comment typos.
197 * doc/tm.texi: Fix typos.
199 2004-11-16 Daniel Jacobowitz <dan@codesourcery.com>
200 Mark Mitchell <mark@codesourcery.com>
203 * config/sol2.h (TARGET_OS_CPP_BUILTINS): Define __PIC__ and
206 2004-11-16 Ulrich Weigand <uweigand@de.ibm.com>
208 * regmove.c (regmove_optimize): Use lowpart_subreg instead of
209 gen_rtx_SUBREG with incorrect offset to compute SRC_SUBREG.
211 2004-11-16 Devang Patel <dpatel@apple.com>
213 * tree-if-conv.c (clean_predicate_lists): Update gcc_assert check.
215 2004-11-16 Eric Christopher <echristo@redhat.com>
217 * config/mips/mips.c: Use rtl _P predicates.
218 * config/mips/mips.h: Ditto.
219 * config/mips/mips.md: Ditto.
221 2004-11-16 Fariborz Jahanian <fjahanian@apple.com>
223 * config/rs6000/altivec.md (altivec_vandc): Canonicalize
226 2004-11-16 Andreas Krebbel <krebbel1@de.ibm.com>
228 * config/s390/s390.c (s390_cc_modes_compatible): New function.
229 (TARGET_CC_MODES_COMPATIBLE): Target macro defined.
231 2004-11-16 Kaz Kojima <kkojima@gcc.gnu.org>
234 * config/sh/sh.c (prepare_move_operands): Emit blockage insns
235 before and after the insns for getting GOT address in non-PIC
236 TLS_MODEL_INITIAL_EXEC tls sequence when the first scheduling
239 2004-11-16 Andreas Krebbel <krebbel1@de.ibm.com>
241 * gcc/cse.c (struct change_cc_mode_args): New structure.
242 (cse_change_cc_mode_insn): New function.
243 (cse_change_cc_mode): Use validate_change to perfom changes.
244 (cse_change_cc_mode_insns, cse_condition_code_reg):
245 Call cse_change_cc_mode_insn.
247 2004-11-16 Steven Bosscher <stevenb@suse.de>
251 2004-11-16 Steven Bosscher <stevenb@suse.de>
253 * config/i386/i386.c (x86_schedule): Fix typo, m_K6 intead of m_K8.
255 2004-11-15 Dale Johannesen <dalej@apple.com>
257 * tree-flow.h (add_referenced_temp_var): Remove name from prototype.
259 2004-11-15 Dale Johannesen <dalej@apple.com>
261 * profile.c (compute_branch_probabilities): Prevent
262 crash with EH in RTL-based profiling.
264 2004-11-16 Kazu Hirata <kazu@cs.umass.edu>
266 * tree-cfg.c (verify_expr): Replace TREE_OPERAND with
268 * tree-if-conv.c (tree_if_convert_cond_expr): Likewise.
269 * tree-ssa-dom.c (thread_across_edge): Likewise.
270 * tree-vectorizer.c (vect_transform_loop_bound): Replace
271 TREE_OPERAND with COND_EXPR_COND, COND_EXPR_THEN, or
274 * tree-cfg.c (bsi_commit_edge_inserts): Remove an argument.
275 (tree_flow_call_edges_add): Update the call to
276 bsi_commit_edge_inserts.
277 * lambda-code.c (lambda_loopnest_to_gcc_loopnest): Likewise.
278 * profile.c (branch_prob): Likewise.
279 * tree-mudflap.c (mf_decl_cache_locals): Likewise.
280 * tree-sra.c (scalarize_function): Likewise.
281 * tree-ssa-loop-im.c (loop_commit_inserts): Likewise.
282 * tree-ssa-pre.c (fini_pre): Likewise.
283 * tree-flow.h: Update the prototype for
284 bsi_commit_edge_inserts.
286 2004-11-15 Eric Christopher <echristo@redhat.com>
288 * sched-deps.c (set_sched_group_p): Delete.
289 (delete_all_dependencies): New function.
290 (fixup_sched_groups): Use. New function.
291 (sched_analyze_insn): Use.
293 2004-11-15 Joseph S. Myers <joseph@codesourcery.com>
295 * c-common.c (binary_op_error): Don't allow LROTATE_EXPR,
296 RROTATE_EXPR or unknown code.
297 * c-typeck.c (build_binary_op): Don't allow RROTATE_EXPR,
298 LROTATE_EXPR, MAX_EXPR, MIN_EXPR, UNORDERED_EXPR, ORDERED_EXPR,
299 UNLT_EXPR, UNLE_EXPR, UNGT_EXPR, UNGE_EXPR, UNEQ_EXPR, LTGT_EXPR
302 2004-11-15 Joseph S. Myers <joseph@codesourcery.com>
305 * c-decl.c (grokdeclarator): Call check_bitfield_type_and_width
306 after processing the declarator.
308 2004-11-15 Aldy Hernandez <aldyh@redhat.com>
310 * config/rs6000/altivec.md ("altivec_vsplth"): Rewrite with
312 (altivec_vspltb): Same.
313 (altivec_vspltw): Same.
314 (altivec_vspltisb): Same.
315 (altivec_vspltish): Same.
316 (altivec_vspltisw): Same.
317 (altivec_vspltisw_v4sf): Same.
318 (define_constants): Remove UNSPEC_VSPLTISB, UNSPEC_VSPLTISW,
320 Move "End of vector xor's" comment to the right place.
322 2004-11-15 Steve Ellcey <sje@cup.hp.com>
324 * config/ia64/ia64.md (*movtf_internal): Use destination_operand
325 instead of nonimmediate_operand.
327 2004-11-15 Mark Mitchell <mark@codesourcery.com>
329 * config/i386/sol2.h (ASM_OUTPUT_CALL): Use print_operand.
330 * config/sparc/sol2.h (ASM_OUTPUT_CALL): Likewise.
331 * config/sol2.c (solaris_output_init_fini): Update calls to
332 ASM_OUTPUT_CALL. Include "rtl.h".
334 2004-11-15 Mark Mitchell <mark@codesourcery.com>
336 * config/sol2-c.c (cmn_err_char_table): Add "p".
338 2004-11-15 Mark Mitchell <mark@codesourcery.com>
340 * config/sparc/sol2.h (SUPPORTS_INIT_PRIORITY): Remove.
341 * config/sol2.h (SUPPORTS_INIT_PRIORITY): Define here.
343 2004-11-15 Mark Mitchell <mark@codesourcery.com>
345 * config/t-slibgcc-sld (SHLIB_LINK): Make symlinks entirely
346 within the multilib directory.
348 2004-11-15 Nick Clifton <nickc@redhat.com>
350 * config/stormy16/stormy16.h (TARGET_CPU_CPP_BUILTINS): Add
351 builtin assert of cpu=xstormy16.
353 2004-11-15 Nathan Sidwell <nathan@codesourcery.com>
355 * tree-ssa-pre.c (bitmap_print_value_set): Fix uninitialized
358 2004-11-14 Richard Henderson <rth@redhat.com>
361 * calls.c (struct arg_data): Add parallel_value.
362 (precompute_register_parameters): Set it.
363 (load_register_parameters): Use it.
364 (store_one_arg): Also set it here.
366 2004-11-14 Zdenek Dvorak <dvorakz@suse.cz>
368 PR tree-optimization/18431
369 * fold-const.c (associate_trees): Do not produce x + 0.
370 (fold_widened_comparison, fold_sign_changed_comparison): New functions.
372 * tree-ssa-loop-niter.c (upper_bound_in_type, lower_bound_in_type):
374 * tree.c (upper_bound_in_type, lower_bound_in_type): Here.
375 * tree.h (upper_bound_in_type, lower_bound_in_type): Declare.
377 2004-11-14 Eric Botcazou <ebotcazou@libertysurf.fr>
379 * doc/rtl.texi (SUBREG): Adjust BYTENUM value in example.
381 2004-11-14 Kazu Hirata <kazu@cs.umass.edu>
383 * cfgrtl.c, global.c, tree-ssa-copy.c, tree-ssa-loop-ivopts.c,
384 value-prof.c: Fix comment typos.
386 2004-11-14 Stan Shebs <shebs@apple.com>
388 Basic ABI changes for passing structs by value in 64-bit Darwin.
389 * config/rs6000/rs6000.c (rs6000_darwin64_abi): New flag.
390 (rs6000_override_options): Set it for 64-bit Darwin.
391 (rs6000_parse_abi_options): Add testing options to change it.
392 (rs6000_return_in_memory): Test whether the type is one
393 that can be passed in registers.
394 (darwin64_function_arg_advance): New.
395 (function_arg_advance): Call it, plus add recursion depth
396 argument and test when counting off arguments.
397 (rs6000_darwin64_function_arg): New.
398 (function_arg): Call it.
399 (setup_incoming_varargs): Add argument to function_arg_advance.
400 (rs6000_darwin64_function_value): New.
401 (rs6000_function_value): Call it.
402 * config/rs6000/rs6000.h (FUNCTION_ARG_ADVANCE): Pass depth arg.
403 * config/rs6000/rs6000-protos.h: Update decl of
404 function_arg_advance.
406 2004-11-14 Andrew Pinski <pinskia@physics.uc.edu>
409 * c-common.c (c_common_nodes_and_builtins): Ask the back-end if we
410 support TImode before adding __int128_t and __uint128_t types.
412 2004-11-14 Dorit Naishlos <dorit@il.ibm.com>
415 * tree-vectorizer.c (make_loop_iterate_ntimes): Set loop->nb_iterations.
416 (vect_transform_loop_bound): Set loop->nb_iterations.
418 2004-11-14 Dorit Naishlos <dorit@il.ibm.com>
419 Andrew Pinski <pinskia@physics.uc.edu>
422 * tree-vectorize.c (vect_build_loop_niters): Do not insert
423 NULL into the instruction stream. Initialize new_bb to NULL.
424 (vect_update_ivs_after_vectorizer): Likewise.
425 (vect_gen_niters_for_prolog_loop): Likewise.
427 2004-11-14 Zdenek Dvorak <dvorakz@suse.cz>
429 PR tree-optimization/18431
430 * tree-flow.h (stmt_references_memory_p): Declare.
431 * tree-ssa-loop-im.c (stmt_cost): Use stmt_references_memory_p.
432 * tree-ssa.c (stmt_references_memory_p): New function.
434 2004-11-14 Andreas Schwab <schwab@suse.de>
436 * Makefile.in (lambda-code.o, tree-loop-linear.o): Depend on
439 2004-11-14 Kazu Hirata <kazu@cs.umass.edu>
441 * c-common.c (walk_stmt_tree): Remove.
442 * c-common.h: Remove the corresponding prototype.
444 * emit-rtl.c (push_to_full_sequence): Remove.
445 * rtl.h: Remove the corresponding prototype.
447 * cselib.c, expr.c: Fix comment typos.
449 2004-11-13 Richard Henderson <rth@redhat.com>
451 * calls.c (precompute_register_parameters): Force all PARALLELs
452 into pseudo registers.
453 (load_register_parameters): Copy PARALLELs into hard registers.
454 * function.c (assign_parm_setup_block): Copy PARALLELS into
455 pseudo registers. Do emit_group_store in conversion_insns.
456 * expr.c (emit_group_load_1): Rename from emit_group_load, take
457 tmps as an argument. Move final copy loop ...
458 (emit_group_load): ... here. New function.
459 (emit_group_load_into_temps, emit_group_move_into_temps): New.
460 * expr.h: Declare them.
462 2004-11-14 Kazu Hirata <kazu@cs.umass.edu>
464 * tree-cfg.c, tree-if-conv.c, tree-ssa-loop-ivopts.c,
465 tree-ssa-loop-manip.c, tree-vectorizer.c: Replace TREE_CHAIN
466 with PHI_CHAIN where appropriate.
468 2004-11-13 Dale Johannesen <dalej@apple.com>
470 * tree-flow.h (bsi_commit_one_edge_insert): Remove name from prototype.
471 (tree_block_label): Ditto.
472 (flush_pending_stmts): Ditto.
473 (insert_edge_copies): Ditto.
474 (expr_invariant_in_loop_p): Ditto.
475 (TDF_USE_OPS): Parenthesize definition.
476 (TDF_USE_VOPS): Ditto.
478 2004-11-13 David Edelsohn <edelsohn@gnu.org>
480 * config/rs6000/aix51.h (ASM_CPU_SPEC): Add 970 and G5.
481 * config/rs6000/aix52.h (ASM_CPU_SPEC): Same.
483 * config/rs6000/t-aix52 (BOOT_LDFLAGS): Define.
485 2004-11-14 Joseph Myers <joseph@codesourcery.com>
487 * config/i386/i386.c (override_options): Move loop to set default
488 tuning to correct place.
490 2004-11-13 Zak Kipling <zak@transversal.com>
493 * config/i386/i386.c (classify_argument): Fix infinite loop when
494 passing object with 3 or more base classes by value.
496 2004-11-13 Eric Botcazou <ebotcazou@libertysurf.fr>
498 * doc/md.texi (constraints) <% modifier>: Mention that it is
499 useless when the two alternatives are strictly identical.
501 2004-11-13 Richard Henderson <rth@redhat.com>
503 * expmed.c (extract_split_bit_field): Temporarily disable call to
504 extract_force_align_mem_bit_field.
506 2004-11-13 Kazu Hirata <kazu@cs.umass.edu>
508 * bitmap.c, bitmap.h, expmed.c, tree-cfg.c: Fix comment
511 * c-cppbuiltin.c, cgraph.c, domwalk.h, except.c, gimplify.c,
512 lambda-code.c, postreload.c, predict.c, tree-sra.c,
513 tree-ssa-loop-manip.c, tree.c: Fix comment typos.
515 2004-11-13 Kelley Cook <kcook@gcc.gnu.org>
517 * doc/install.texi (automake): Correctly document that everything now
518 will use automake 1.9.3.
520 2004-11-13 Hans-Peter Nilsson <hp@bitrange.com>
523 * config/mmix/mmix.c (mmix_function_outgoing_value): Handle
524 TImode. Sorry for other non-complex larger-than-64-bit modes.
525 * config/mmix/mmix.h (MIN_UNITS_PER_WORD): Do not define.
527 2004-11-13 Kelley Cook <kcook@gcc.gnu.org>
529 * doc/install.texi (automake): Document that everything now uses 1.9.
531 2004-11-13 Bernd Schmidt <bernd.schmidt@analog.com>
533 * cse.c (cse_insn): Stores in a libcall sequence can invalidate
536 2004-11-13 Kazu Hirata <kazu@cs.umass.edu>
538 * tree.h: Fix comment typos.
540 2004-11-13 Steven Bosscher <stevenb@suse.de>
542 * cse.c (CHEAP_REGNO): Redefine using REGNO_PTR_FRAME_P and
545 * cselib.c (new_cselib_val): Make comment correct and more detailed.
546 * flow.c (mark_set_1): Likewise.
548 * except.c (duplicate_eh_region_1, duplicate_eh_region_2,
549 duplicate_eh_regions): Remove.
550 * except.h (duplicate_eh_regions): Remove prototype.
551 * integrate.c (get_label_from_map, copy_rtx_and_substitute,
552 global_const_equiv_varray): Remove.
553 * integrate.h (get_label_from_map, copy_rtx_and_substitute,
554 global_const_equiv_varray, set_label_in_map): Remove prototypes,
555 extern declaration, and #define.
556 (MAYBE_EXTEND_CONST_EQUIV_VARRAY, SET_CONST_EQUIV_DATA): Remove.
557 (struct inline_remap): Remove.
558 * varray.c (struct element): Remove entry for const_equiv_data.
559 * varray.h (struct const_equiv_data): Remove.
560 (enum varray_data_enum) <VARRAY_DATA_CONST_EQUIV>: Remove.
561 (union varray_data_tag) <const_equiv>: Remove.
562 (VARRAY_CONST_EQUIV_INIT, VARRAY_CONST_EQUIV,
563 VARRAY_PUSH_CONST_EQUIV, VARRAY_TOP_CONST_EQUIV): Remove.
565 * regstack.c (record_label_references): Remove unused function.
567 * rtl.def (VALUE): Update comment.
568 (LABEL_REF): Remove unused operand 2.
569 * rtl.h (struct rtx_def): Update for removed accessor macros.
570 (XCADVFLAGS, INSN_DEAD_CODE_P, LINE_NUMBER, CONTAINING_INSN,
571 REG_LOOP_TEST_P): Remove.
572 (ADDR_DIFF_VEC_FLAGS, CSELIB_VAL_PTR, LABEL_NEXTREF): Add comments.
573 * web.c (entry_register): Don't copy REG_LOOP_TEST_P.
574 * doc/rtl.texi (INSN_DEAD_CODE_P, REG_LOOP_TEST_P): Remove.
576 2004-11-13 James A. Morrison <phython@gcc.gnu.org>
577 Eric Botcazou <ebotcazou@libertysurf.fr>
580 * config/sparc/sparc.c (sparc_rtx_costs): Handle the NAND vector
582 * config/sparc/sparc.md (V64I): New macro for 64-bit modes.
583 (V32I): New macro for 32-bit modes.
584 (anddi3, anddi_sp32, anddi_sp64, and_not_di_sp32, and_not_di_sp64,
585 iordi3, iordi3_sp32, iordi_sp64, or_not_di_sp32, or_not_di_sp64,
586 xordi3, xordi3_sp32, xordi3_sp64, {AND, IOR, XOR} DI splitter,
587 xor_not_di_sp32, xordi_not_di_sp64, one_cmpldi2, one_cmpldi_sp32,
588 one_cmpldi_sp64): Use V64I instead of DI.
589 (andsi3, andsi_sp32, andsi_sp64, and_not_si, iorsi3, or_not_si,
590 xorsi3, xor_not_si, one_cmplsi2): Use V32I instead of SI.
591 (addv2si3, addv4hi3, addv2hi3): Remove % modifier.
592 (nandv64i_vis, nandv32i_vis): New patterns.
594 2004-11-12 Mike Stump <mrs@apple.com>
596 * Makefile.in: Add html support.
597 * java/Make-lang.in: Likewise.
598 * fortran/Make-lang.in: Likewise.
599 * treelang/Make-lang.in: Likewise.
600 * doc/install.texi: Likewise.
601 * doc/makefile.texi: Likewise.
602 * doc/sourcebuild.texi: Likewise.
604 2004-11-13 Kazu Hirata <kazu@cs.umass.edu>
606 * tree-ssa-loop-manip.c: Fix a comment typo.
608 2004-11-12 Mike Stump <mrs@apple.com>
610 * doc/cppinternals.texi (Index): Fix html generation with makeinfo by
611 renaming this node to Concept Index.
612 * doc/gccint.texi (Index): Likewise. Also minor formatting tweaks
613 to more closely match gcc.texi.
615 2004-11-12 Jeff Law <law@redhat.com>
617 * tree-cfg.c (hashtab.h): Include.
618 (struct edge_to_case_leader_elt): New structure.
619 (edge_to_case_leader): New.
620 (edge_to_case_leader_hash): New hashtable hasing function.
621 (edge_to_case_leader_eq): New hashtable equality function.
622 (record_switch_edge): New function.
623 (get_case_leader_for_edge, get_case_leader_for_edge): New functions.
624 (make_switch_expr_edges): Build the edge-to-case-leader
625 hash table. Tear down the hash table when we're done.
626 (cleanup_dead_labels): Use CASE_LEADER_OR_LABEL instead of
628 (tree_node_can_be_shared): Allow sharing of CASE_LABEL_EXPR nodes.
629 (tree_redirect_edge_and_branch, case SWITCH_EXPR): Update
630 to use new concept of case leaders to reduce overhead of
631 redirecting outgoing edges from switch statements.
632 * tree.c (get_case_label): New function.
633 * tree.h (CASE_LABEL): Define in terms of get_case_label.
634 (CASE_LEADER_OR_LABEL): Define.
636 2004-11-12 Ziemowit Laski <zlaski@apple.com>
638 * varasm.c (output_addressed_constants): For CONST_DECLs,
639 output the initializer if present.
641 2004-11-12 Ziemowit Laski <zlaski@apple.com>
643 * config/rs6000/darwin.h: Fix confusing typo in comment.
645 2004-11-12 Devang Patel <dpatel@apple.com>
647 * optabs.c (vector_compare_rtx): Use COMPARISON_CLASS_P.
649 2004-11-12 Devang Patel <dpatel@apple.com>
651 * tree-if-conv.c (clean_predicate_lists): Use loop header
654 2004-11-12 Richard Henderson <rth@redhat.com>
657 * config/i386/i386.h (TARGET_96_ROUND_53_LONG_DOUBLE): New.
658 * config/i386/freebsd.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
659 (TARGET_96_ROUND_53_LONG_DOUBLE): New.
660 * config/i386/i386-modes.def (XF): Use it.
662 2004-11-11 Geoffrey Keating <geoffk@apple.com>
664 * Makefile.in (macro_list): Use move-if-change to avoid spurious
667 2004-11-12 Mark Mitchell <mark@codesourcery.com>
670 * passes.c (rest_of_decl_compilation): Do not look at DECL_RTL
671 when deciding whether to pass a variable to
672 cgraph_varpool_finalize_decl or assemble_variable.
673 * toplev.c (check_global_declarations): Do not clear DECL_RTL.
675 2004-11-12 Kazu Hirata <kazu@cs.umass.edu>
677 * tree-vectorizer.c: Fix a comment typo.
679 2004-11-12 Bernd Schmidt <bernd.schmidt@analog.com>
681 * genconfig.c (walk_insn_part): Look at match_dups inside a label_ref.
683 2004-11-12 Diego Novillo <dnovillo@redhat.com>
685 * tree-scalar-evolution.c (analyzable_condition): Remove
686 superfluous TREE_THIS_VOLATILE checks on SSA_NAMEs.
688 2004-11-12 Ralf Corsepius <ralf.corsepius@rtems.org>
690 * config/rs6000/t-rtems (MULTILIB_NEW_EXCEPTIONS_ONLY):
691 Remove m505/roe multilib variant.
693 2004-11-12 Eric Botcazou <ebotcazou@libertysurf.fr>
695 * expr.c (emit_group_load) <CONCAT>: Use extract_bit_field
696 to load from the stack.
698 2004-11-12 Richard Henderson <rth@redhat.com>
700 * toplev.c (floor_log2): Rename from floor_log2_wide, use CLZ_HWI.
701 (exact_log2): Rename from exact_log2_wide, use CTZ_HWI.
702 * toplev.h (FL2T__): Remove.
703 (CLZ_HWI): Rename from FL2T_CLZ__.
705 (floor_log2): Simplify.
708 2004-11-12 Sebastian Pop <pop@cri.ensmp.fr>
710 * tree-data-ref.c (analyze_subscript_affine_affine): Correctly
711 compute the first overlapping iterations.
713 2004-11-12 Sebastian Pop <pop@cri.ensmp.fr>
716 * tree-data-ref.c (estimate_niter_from_size_of_data): Ensure
717 that arguments of EXACT_DIV_EXPR are INTEGER_CST.
719 2004-11-12 Steven Bosscher <stevenb@suse.de>
721 PR tree-optimization/18419
722 * tree-ssa.c (walk_use_def_chains_1): Make the visited map a
723 pointer set instead of a bitmap.
724 (walk_use_def_chains): Create, pass and clean up that pointer_set.
726 * tree-ssa-alias.c (struct alias_info): Make the ssa_names_visited
728 (init_alias_info): Allocate and zero it here.
729 (delete_alias_info): Delete it here.
730 (collect_points_to_info_for): Use it.
732 2004-11-11 Kazu Hirata <kazu@cs.umass.edu>
734 * alias.c (record_alias_subset, addr_side_effect_eval):
736 * alias.h: Remove the prototype for record_alias_subset.
737 * expr.h: Remove the commented-out prototype for
739 * rtl.h: Remove the prototype for addr_side_effect_eval.
741 * cfglayout.c (choose_inner_scope): Make it static.
742 * rtl.h: Remove the corresponding prototype.
744 * cfgloopmanip.c (update_single_exits_after_duplication,
745 unloop): Make them static.
746 * cfgloop.h: Remove the corresponding prototypes.
748 * c-typeck.c (c_size_in_bytes, record_maybe_used_decl):
750 * c-tree.h: Remove the corresponding prototypes.
752 * explow.c (round_push): Make it static.
753 * expr.h: Remove the corresponding prototype.
755 * varasm.c (get_named_section_flags, decl_tls_model): Make
757 * output.h: Remove the prototype for get_named_section_flags.
758 * tree.h: Remove the prototype for decl_tls_model.
760 2004-11-11 Kazu Hirata <kazu@cs.umass.edu>
762 * function.c (expand_function_end): Remove an "if" statement
763 that always triggers.
764 * stmt.c (expand_null_return_1): Likewise.
766 2004-11-11 James E. Wilson <wilson@specifixinc.com>
768 * config/ia64/ia64.h (HARD_REGNO_NREGS): Handle XCmode.
769 (HARD_REGNO_MODE_OK, MODES_TIEABLE_P, SECONDARY_MEMORY_NEEDED,
770 CLASS_MAX_NREGS): Likewise.
772 2004-11-11 Zdenek Dvorak <dvorakz@suse.cz>
774 PR tree-optimization/17742
775 * tree-scalar-evolution.c (follow_ssa_edge_in_rhs): Handle
776 MINUS_EXPR correctly.
778 2004-11-11 Sebastian Pop <pop@cri.ensmp.fr>
780 * tree-scalar-evolution.c (follow_ssa_edge_in_condition_phi):
781 Give up as soon as the evolution is known not computable.
783 2004-11-11 Nathan Sidwell <nathan@codesourcery.com>
786 * config/rs6000/rs6000.c (mask64_2_operand): Stub to call
788 (mask64_1or2_operand): Broken out of mask64_2_operand, add flag
789 to spot rlwinm opportunities.
790 (and64_2_operand): Use mask_1or2_operand.
791 * config/rs6000/rs6000.md (anddi3): Use rlwinm when possible.
793 2004-11-11 Dorit Naishlos <dorit@il.ibm.com>
795 * tree-vectorizer.c (update_phi_nodes_for_guard): Call reverse_phis.
796 (vect_update_ivs_after_vectorizer): Update function documentation.
797 Avoid quadratic behavior and direct write to PHI_ARG_DEF.
799 2004-11-11 Kazu Hirata <kazu@cs.umass.edu>
801 * config/arm/arm.c: Fix a comment typo.
803 2004-11-11 Nathan Sidwell <nathan@codesourcery.com>
805 * bitmap.h (nBITMAP_WORD_BITS): Remove.
806 (BITMAP_WORD_BITS): Force unsigned by use of 1u.
807 (BITMAP_ELEMENT_WORDS, BITMAP_ELEMENT_ALL_BITS): Remove
809 (bitmap_first_set_bit): Return unsigned, use ctzl.
810 (bitmap_last_set_bit): Remove.
811 * bitmap.c (bitmap_element_zerop, bitmap_copy): Make iterator
813 (bitmap_first_set_bit): Return unsigned, require non-empty bitmap,
814 remove special case code for two word elements.
815 (bitmap_last_set_bit): Remove.
816 * ra-build.c (livethrough_conflicts_bb): Replace unnecessary use of
817 bitmap_first_set_bit with bitmap_empty_p.
818 * tree-outof-ssa.c (analyze_edges_for_bb): Likewise.
819 * tree-ssa-pre.c (bitmap_print_value): Use simple flag rather than
822 2004-11-11 Nathan Sidwell <nathan@codesourcery.com>
825 * config/rs6000/rs6000.md: Add DF & SF reg move peepholes.
828 * config/rs6000/rs6000.c (rs6000_generate_compare): Generate an
829 unsigned equality compare when we know the operands are unsigned.
831 2004-11-10 Peter S. Mazinger <ps.m@gmx.net>
833 * config/mips/linux.h (LINUX_TARGET_OS_CPP_BUILTINS): Define
834 __PIC__ and __pic__ only if TARGET_ABICALLS.
835 (SUBTARGET_CPP_SPECS): Don't define or undefine __PIC__ and __pic__.
836 (SUBTARGET_ASM_SPECS): Don't pass -non_shared to assembler; pass
837 -KPIC only if not -mno-abicalls.
839 * config/alpha/linux.h, config/arm/linux-elf.h, config/pa/pa-linux.h
840 * config/sparc/linux.h, config/sparc/linux64.h
841 (TARGET_OS_CPP_BUILTINS): Define __PIC__ and __pic__ if flag_pic.
843 * config/arm/linux-gas.h (CPP_SPEC): Don't define __PIC__ or __pic__.
844 * config/pa/pa/linux.h (CPP_SPEC): Likewise.
845 * config/sparc/linux.h (CPP_SUBTARGET_SPEC): Likewise.
846 * config/sparc/linux64.h (CPP_SUBTARGET_SPEC): Likewise.
848 2004-11-11 Paul Brook <paul@codesourcery.com>
850 * config/arm/arm.c (arm_compute_save_reg0_reg12_mask): Save PIC
851 register if current_function_uses_pic_offset_table is set.
853 2004-11-10 David Edelsohn <edelsohn@gnu.org>
855 * config/rs6000/rs6000.md (define_attr "type"): Add two and three.
856 Change multi-instruction sequences to new attribute.
857 * config/rs6000/{40x.md,440.md,603.md,6xx.md,
858 7450.md,7xx.md,8540.md,mpc.md,power4.md,power5.md,
859 rios1.md,rios2.md,rs64.md}: Add descriptions for two and three.
861 2004-11-10 Daniel Berlin <dberlin@dberlin.org>
863 * tree-data-ref.c (build_classic_dist_vector): If either loop
864 is outside of the nest we asked about, the dependence can't
866 (build_classic_dir_vector): Ditto.
868 2004-11-10 Zdenek Dvorak <dvorakz@suse.cz>
870 * tree-ssa-loop-ivopts.c (get_address_cost): Add address elements in
872 (force_var_cost): Determine cost of addition and multiplication more
874 (get_computation_cost_at): Add cost for computing address elements to
877 * fold-const.c (fold): Attempt to use ptr_difference_const whenever
878 one of the arguments of MINUS_EXPR is an address.
879 (split_address_to_core_and_offset): New function.
880 (ptr_difference_const): Handle case when one of the operands is a
882 * tree-ssa-loop-ivopts.c (determine_base_object): Fold &*addr.
883 (ptr_difference_cost): Pass addresses instead of objects to
884 ptr_difference_const.
886 2004-11-10 Nathan Sidwell <nathan@codesourcery.com>
888 * tree.c (tree_check_failed): Emit general error if the list of
891 2004-11-10 Eric Botcazou <ebotcazou@libertysurf.fr>
893 * config/sparc/sparc.c (function_arg_union_value): New 'slotno'
894 argument. When the union is passed in the 6th slot, build a
895 PARALLEL with only one element.
896 (function_arg): Adjust call to function_arg_union_value.
897 (function_value): Likewise.
899 2004-11-10 Fariborz Jahanian <fjahanian@apple.com>
901 PR tree-optimization/17892
902 * tree-ssa-dom.c (unsafe_associative_fp_binop): Add test for
905 2004-11-10 James A. Morrison <phython@gcc.gnu.org>
908 config/sparc/sparc.md (addsi3, subsi3): Set "fptype" attribute.
909 (addv2si, addv4hi, addv2hi, subv2si, subv4hi, subv2hi): New patterns.
911 2004-11-10 Steven Bosscher <stevenb@suse.de>
913 * basic-block.h (XMALLOC_REG_SET, XFREE_REG_SET): New.
914 (struct basic_block_def): Remove local_set and cond_local_set
915 fields. Update comment for global_live_at_start.
916 * flow.c (calculate_global_regs_live): Allocate local_sets and
917 cond_local_sets here as arrays of bitmaps previously stored in
918 bb->local_set and bb->cond_local_set. Use xmalloc instead of
919 obstack allocated bitmaps.
921 2004-11-09 H.J. Lu <hongjiu.lu@intel.com>
924 * config/ia64/unwind-ia64.h (_Unwind_FindTableEntry): Mark it
927 * unwind-dw2.c (_Unwind_FindTableEntry): Removed.
929 2004-11-09 Jeff Law <law@redhat.com>
931 * cfganal.c (flow_dfs_compute_reverse_execute): Accept new
932 argument holding last unvisited block. Start search for
933 unvisited blocks at LAST_UNVISITED rather than EXIT_BLOCK.
934 (connect_infinite_loops_to_exit): Supply last unvisited block
935 to flow_dfs_compute_reverse_execute.
937 2004-10-22 Aldy Hernandez <aldyh@redhat.com>
939 * config/rs6000/rs6000.md (fix_truncdfsi2): Handle e500
941 (floatunssidf2): Same.
943 ("extendsfdf2"): New expander.
944 (*extendsfdf2_fpr): Rename.
945 (*truncdfsf2_fpr): Same.
948 (*nabsdf2_fpr): Same.
954 * config/rs6000/spe.md ("spe_extendsfdf2"): Remove FIXME comment.
955 ("spe_fix_truncdfsi2"): Same.
956 (spe_floatunssidf2): Same.
957 (spe_floatsidf2): Same.
959 2004-11-09 Joseph S. Myers <joseph@codesourcery.com>
962 * c-common.c (fname_decl): Don't use line number of decl in
965 2004-11-09 Ulrich Weigand <uweigand@de.ibm.com>
967 * config/s390/s390-protos.h (s390_pool_operand): Remove.
968 * config/s390/s390.c (s390_pool_operand): Likewise.
969 (s390_extra_constraint_str): Handle 'B' constraints.
970 * config/s390/s390.h (CONSTRAINT_LEN): Handle 'B' constraints.
971 * config/s390/s390.md: Document 'B' constraints.
972 ("*cmpdi_cct", "*cmpsi_cct"): Use 'B' constraint instead of
973 s390_pool_operand to prevent insns with two literal pool
974 references. Make pattern commutative.
975 ("*cmpdi_ccu", "*cmpsi_ccu", "*cmphi_ccu", "*cmpqi_ccu"): Use
976 'B' constraint instead of s390_pool_operand.
978 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
980 * tree-cfg.c (create_bb): Remove unnecessary memset.
982 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
984 * tree-ssa-threadupdate.c (copy_phis_to_block): Remove.
985 (thread_block): Call flush_pending_stmt instead of
988 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
990 * loop-iv.c (iv_number_of_iterations): Make it static.
991 * cfgloop.h: Remove the corresponding prototype.
993 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
995 * function.c (combine_temp_slots, assign_parms,
996 expand_pending_sizes): Make them static.
997 * tree.h: Remove the corresponding prototypes.
999 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
1001 * emit-rtl.c (copy_most_rtx): Remove.
1002 * rtl.h: Remove the corresponding prototype.
1004 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
1006 * cfgloop.c (flow_loops_update): Remove.
1007 * cfgloop.h: Remove the corresponding prototype.
1009 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
1011 * conflict.c (mark_reg, conflict_graph_compute): Remove.
1012 * basic-block.h: Remove the prototype for
1013 conflict_graph_compute.
1015 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
1017 * tree-if-conv.c (add_to_dst_predicate_list): Change the
1018 second argument to basic_block.
1019 (tree_if_convert_cond_expr): Update call sites.
1021 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
1023 * fold-const.c (pedantic_non_lvalue): Make it static.
1024 * tree.h: Remove the corresponding prototype.
1026 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
1028 * optabs.c (prepare_operand): Make it static.
1029 * optabs.h: Remove the corresponding prototype.
1031 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
1033 * reload1.c (reloads_conflict, gen_reload): Make them static.
1034 * reload.h: Remove the corresponding prototypes.
1036 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
1038 * reload.c (refers_to_mem_for_reload_p,
1039 refers_to_regno_for_reload_p): Make them static.
1040 * reload.h: Remove the corresponding prototypes.
1042 2004-11-09 James A. Morrison <phython@gcc.gnu.org>
1043 Eric Botcazou <ebotcazou@libertysurf.fr>
1046 * doc/md.texi (SPARC constraints): Document 'Y' constraint.
1047 * config/sparc/sparc-modes.def: Add vector modes of 4 and 8 bytes.
1048 * config/sparc/sparc.c (sparc_vector_mode_supported_p): New function.
1049 (TARGET_VECTOR_MODE_SUPPORTED_P): Set to sparc_vector_mode_supported_p.
1050 (fp_zero_operand): Accept MODE_VECTOR_INT modes.
1051 (input_operand): Accept CONST_VECTOR with MODE_VECTOR_INT modes.
1052 (sparc_cannot_force_const_mem): Return false for CONST_VECTOR.
1053 (sparc_init_modes): Set sparc_mode_class to SF_MODE or DF_MODE for
1054 MODE_VECTOR_INT modes.
1055 (sparc_extra_constraint_check): Add new constraint 'Y'.
1056 * config/sparc/sparc.h: Define UNITS_PER_SIMD_WORD to 8 for TARGET_VIS.
1057 * config/sparc/sparc.md (V32): New mode macro for 32-bit modes.
1058 (V64): New mode macro for 64-bit modes.
1059 (movsf): Use V32 for mode instead of SF.
1060 (movsf_insn_vis): Use V32 for mode instead of SF. Add 'Y' constraint
1061 alongside 'G' constraint.
1062 (movdf): Use V64 for mode instead of DF.
1063 (movdf_insn_v9only_vis, modf_insn_sp64_vis): Use V64 for mode instead
1064 of DF. Add 'Y' constraint alongside 'G' constraint.
1065 (multi-isn and misaligned mems DFmode splitters): Use V64 for mode
1068 2004-11-09 Ulrich Weigand <uweigand@de.ibm.com>
1070 * config/s390/s390.c (s390_select_ccmode): Return CCAPmode for
1071 integer NEG and ABS.
1072 * config/s390/s390.md ("*negdi2_64"): Fix op_type attribute.
1073 ("*negdi2_31"): Reimplement using a splitter.
1074 ("*negdi2_cc", "*negdi2_cconly"): New insns.
1075 ("*negdi2_sign", "*negdi2_sign_cc"): Likewise.
1076 ("*negsi2_cc", "*negsi2_cconly"): Likewise.
1077 ("*negdf2_cc", "*negdf2_cconly"): Likewise.
1078 ("*negsf2_cc", "*negsf2_cconly"): Likewise.
1079 ("*absdi2_cc", "*absdi2_cconly"): New insns.
1080 ("*absdi2_sign", "*absdi2_sign_cc"): Likewise.
1081 ("*abssi2_cc", "*abssi2_cconly"): Likewise.
1082 ("*absdf2_cc", "*absdf2_cconly"): Likewise.
1083 ("*abssf2_cc", "*abssf2_cconly"): Likewise.
1084 ("*negabsdi2_cc", "*negabsdi2_cconly"): New insns.
1085 ("*negabsdi2_sign", "*negabsdi2_sign_cc"): Likewise.
1086 ("*negabssi2_cc", "*negabssi2_cconly"): Likewise.
1087 ("*negabsdf2_cc", "*negabsdf2_cconly"): Likewise.
1088 ("*negabssf2_cc", "*negabssf2_cconly"): Likewise.
1090 2004-11-09 Ulrich Weigand <uweigand@de.ibm.com>
1092 * config/s390/s390.c (s390_canonicalize_comparison): Reverse condition
1093 when eliminating an UNSPEC_CMPINT.
1094 (s390_secondary_input_reload_class): Fix test for CC register reload.
1095 (s390_secondary_output_reload_class): Likewise.
1096 (s390_expand_cmpmem): Swap operands. Use gen_cmpint.
1097 * config/s390/s390.md ("*cmpint_si", "*cmpint_di"): Remove.
1098 ("cmpint", "*cmpint_cc", "*cmpint_sign", "*cmpint_sign_cc"): New
1099 insn patterns with splitters.
1101 2004-11-09 David Edelsohn <edelsohn@gnu.org>
1103 * config/rs6000/rs6000.c (rs6000_rtx_costs): Add EQ, GTU, and LTU.
1104 * config/rs6000/rs6000.md (sCC): Split GTU and LTU patterns.
1106 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
1108 * tree-phinodes.c (phi_reverse): New.
1109 * tree-cfg.c (tree_make_forwarder_block, tree_duplicate_bb):
1111 * tree-flow.h: Add a prototype for phi_reverse.
1113 2004-11-09 Kazu Hirata <kazu@cs.umass.edu>
1115 * tree-ssa-loop-ivopts.c: Fix a comment typo.
1117 2004-11-09 James A. Morrison <phython@gcc.gnu.org>
1120 * config/host-linux.c (TRY_EMPTY_VM_SPACE): Add __sparc__
1123 2004-11-09 Joseph S. Myers <joseph@codesourcery.com>
1125 * builtins.c, c-common.c, c-decl.c, c-format.c: Say "argument"
1126 instead of "arg" in diagnostics.
1128 2004-11-09 Joseph S. Myers <joseph@codesourcery.com>
1130 * builtins.c, c-common.c, c-decl.c, c-format.c, c-format.h,
1131 c-parse.in, c-pch.c, c-pragma.c, collect2.c, final.c, gcc.c,
1132 gcov.c, opts.c, pretty-print.h, protoize.c, reg-stack.c, rtl.c,
1133 tlink.c, config/alpha/alpha.c, config/arc/arc.c, config/arm/arm.c,
1134 config/avr/avr.c, config/c4x/c4x.c, config/darwin.c,
1135 config/frv/frv.c, config/h8300/h8300.c, config/i386/i386.c,
1136 config/i386/winnt.c, config/ia64/ia64.c, config/ip2k/ip2k.c,
1137 config/iq2000/iq2000.c, config/m32r/m32r.c,
1138 config/m68hc11/m68hc11.c, config/m68k/m68k.c, config/m68k/m68k.h,
1139 config/mcore/mcore.c, config/mips/mips.c, config/mmix/mmix.c,
1140 config/ns32k/ns32k.c, config/rs6000/host-darwin.c,
1141 config/rs6000/rs6000.c, config/s390/s390.c, config/sh/sh.c,
1142 config/sh/symbian.c, config/stormy16/stormy16.c,
1143 config/v850/v850.c: Avoid "`" as left quote, using "'" or %q, %<
1144 and %> as appropriate. Use %' as apostrophe in diagnostics where
1145 applicable. Use %< and %> in place of '' quotes where applicable.
1146 Use %qs in place of %<%s%>. Consistently quote __builtin function
1149 2004-11-09 Hans-Peter Nilsson <hp@bitrange.com>
1151 * gdbinit.in (pbb, pbm): New macros.
1153 2004-11-08 Jeff Law <law@redhat.com>
1155 * cfg.c (redirect_edge_succ_nodup): Use find_edge rather than
1156 implementing it inline.
1158 * cfganal.c (find_edge): Search pred->succs or succ->preds,
1159 whichever is shorter.
1161 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
1163 * passes.c (rest_of_handle_jump): Remove dead code.
1165 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
1167 * tree-cfg.c (thread_jumps): Speed up by keeping a pointer to
1168 the last used element in the worklist.
1170 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
1172 * tree-inline.c (remap_save_expr): Make it static.
1173 * tree-inline.h: Remove the corresponding prototype.
1175 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
1177 * tree-ssa-loop-niter.c (upper_bound_in_type,
1178 lower_bound_in_type): Make them static.
1179 * tree.h: Remove the corresponding prototypes.
1181 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
1183 * tree-ssa-live.c (tpa_init, pop_best_coalesce): Make them
1185 * tree-ssa-live.h: Remove the corresponding prototypes.
1187 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
1189 * tree-if-conv.c (tree_if_conversion): Make it static.
1190 * tree-flow.h: Remove the corresponding prototype.
1192 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
1194 * tree-ssa-operands.c (build_ssa_operands): Make it static.
1195 * tree-flow.h: Remove the corresponding prototype.
1197 2004-11-08 Andrew Pinski <pinskia@physics.uc.edu>
1200 * tree-inline.c (copy_body_r): Change "t = t" to empty
1201 statement instead of "t".
1203 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
1205 * modulo-sched.c (create_partial_schedule,
1206 free_partial_schedule, reset_partial_schedule,
1207 ps_add_node_check_conflicts, rotate_partial_schedule): Make
1210 2004-11-08 Richard Henderson <rth@redhat.com>
1212 * expmed.c (extract_force_align_mem_bit_field): Correct handling at
1215 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
1217 * sched-deps.c (add_insn_mem_dependence): Make it static.
1218 * sched-int.h: Remove the corresponding prototypes.
1220 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
1222 * flow.c (allocate_bb_life_data): Make it static.
1223 * basic-block.h: Remove the corresponding prototype.
1225 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
1227 * calls.c (split_complex_values, split_complex_types): Make
1229 * expr.h: Remove the corresponding prototypes.
1231 2004-11-08 Richard Earnshaw <rearnsha@arm.com>
1233 * arm.c (arm_handle_notshared_attribute): Wrap declaration and use
1234 with #if TARGET_DLLIMPORT_DECL_ATTRIBUTES.
1236 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
1238 * tree-if-conv.c (tree_if_convert_cond_expr): Remove two "if"
1239 statements that always trigger.
1241 2004-11-08 Kazu Hirata <kazu@cs.umass.edu>
1243 * tree-cfg.c, tree-if-conv.c, tree-into-ssa.c,
1244 tree-scalar-evolution.c, tree-ssa-loop-im.c,
1245 tree-ssa-loop-ivopts.c, tree-ssa-loop-manip.c, tree-ssa.c,
1246 tree-vectorizer.c: Replace TREE_CHAIN with PHI_CHAIN where
1249 2004-11-08 Ben Elliston <bje@au.ibm.com>
1251 * cgraph.h (cgraph_calls_p): Remove.
1252 * cgraph.c (cgraph_calls_p): Likewise.
1254 * varray.h (varray_copy): Remove.
1255 * varray.c (varray_copy): Likewise.
1257 2004-11-07 Andrew Pinski <pinskia@physics.uc.edu>
1260 * config/darwin.c (machopic_indirect_data_reference):
1261 Call gen_macho_high and gen_macho_low instead of
1262 checking the mode and calling gen_macho_high_di directly.
1263 * config/rs6000/rs6000.c (rs6000_emit_move): Likewise.
1264 * config/rs6000/rs6000.md: Move most of TARGET_MACHO expand/insns
1266 (movdf_low, movsf_low, movsf_low_st, movsi_low, macho_correct_pic,
1267 load_macho_picbase, macho_low, macho_high): Removed.
1268 (builtin_setjmp_receiver): Call gen_macho_high and
1269 gen_macho_low instead of checking the mode and calling
1270 gen_macho_high_di directly.
1271 * config/rs6000/darwin.md (load_macho_picbase_di): Use the MD constant.
1272 (movdf_low_si, movsf_low_si, movsf_low_st_si, movsi_low_st):
1273 Moved from rs6000.md.
1274 (macho_high): New expander.
1275 (macho_high_si): Renamed version of macho_high from rs6000.md.
1276 (macho_low): New expander.
1277 (macho_low_si): Renamed version of macho_low from rs6000.md.
1278 (load_macho_picbase): New expander.
1279 (load_macho_picbase_si): Renamed version of load_macho_picbase
1281 (macho_correct_pic): New expander.
1282 (macho_correct_pic_si): Renamed version of macho_correct_pic
1285 2004-11-07 Joseph S. Myers <joseph@codesourcery.com>
1287 * c-decl.c (finish_struct): Use complete sentences for diagnostic
1288 for structures or unions with no members or named members.
1290 2004-11-07 Joseph S. Myers <joseph@codesourcery.com>
1292 * c-typeck.c (build_unary_op): Replace unreachable diagnostic for
1293 taking address of bit-field by assertion.
1295 2004-11-06 Ulrich Weigand <uweigand@de.ibm.com>
1297 * config/s390/s390.md (attribute "op_type"): Default to "NN".
1298 (attribute "atype"): Default to "agen".
1299 (attribute "length"): Default to 6.
1300 (define_asm_attibutes): Remove.
1301 ("movti", "*movdi_64", "*movdi_31", "*movsi_zarch", "*movsi_esa",
1302 "*movhi", "*movqi", "*movdf_64", "*movdf_31", "movsf",
1303 "*clc", "*mvc", "*nc", "*oc", "*xc", "*xc_zero"):
1304 Do not set type attribute to "cs" where already default.
1305 ("*cmpint_si", "*cmpint_di", "fix_truncdfsi2_ibm", "floatsidf2_ibm",
1307 Do not set type attribute to "other" where already default.
1308 ("movti", "*movdi_64", "*movdi_31", "*movdf_31",
1309 "*strlendi", "*strlensi",
1310 "*movmem_long_64", "*movmem_long_31",
1311 "*clrmem_long_64", "*clrmem_long_31",
1312 "*cmpmem_long_64", "*cmpmem_long_31",
1313 "*cmpint_si", "*cmpint_di",
1314 "addti3", "*adddi3_31z", "*adddi3_31",
1315 "subti3", "*subdi3_31z", "*subdi3_31", "*negdi2_31",
1316 "*sconddi", "*scondsi", "*sconddi_neg", "*scondsi_neg",
1317 "fix_truncdfsi2_ibm", "floatsidf2_ibm", "extendsfdf2_ibm",
1318 "*pool_entry", "pool_align", "pool_section_start",
1319 "pool_section_end", "main_pool", "reload_base_31", "pool"):
1320 Do not set op_type attribute to "NN" where already default.
1321 ("*extractqi", "*extracthi", "*zero_extendhisi2_31",
1322 "*zero_extendqisi2_31", "*zero_extendqihi2_31",
1323 "fix_truncdfsi2_ibm", "floatsidf2_ibm"):
1324 Do not set atype attribute to "agen" where already default.
1325 ("*movmem_short", "*clrmem_short", "*cmpmem_short"): Don't set op_type.
1327 2004-11-06 Richard Sandiford <rsandifo@redhat.com>
1329 * config/mips/t-iris6 (tp-bit.c): Fix target filename.
1331 2004-11-06 Richard Sandiford <rsandifo@redhat.com>
1334 * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Don't define the
1335 R3000 and R4000 macros on IRIX.
1337 2004-11-06 Andreas Schwab <schwab@suse.de>
1340 * config/rs6000/altivec.h: Replace bool by __bool and pixel by
1343 2004-11-06 Kazu Hirata <kazu@cs.umass.edu>
1345 * tree-ssa-copyrename.c (rename_ssa_copies): Make it static.
1347 2004-11-06 Ulrich Weigand <uweigand@de.ibm.com>
1349 * config/s390/2064.md ("z_int", "z_agen"): Ensure the condition
1350 matches no insns already matched by other reservations.
1351 * config/s390/2084.md ("x_int", "x_agen"): Ensure the condition
1352 matches no insns already matched by other reservations.
1353 ("x_ss"): Remove, replace by ...
1354 ("x_cs"): ... this new reservation. Check type instead of op_type.
1355 Update bypasses to use x_cs instead of x_ss.
1356 ("x_nn"): Remove, replace by ...
1357 ("x_other"): ... this new reservation. Check type instead of op_type.
1358 Add x_other and x_branch to bypasses.
1359 ("x_vs"): New reservation.
1360 * config/s390/s390.md (attribute "type"): Default according to op_type.
1361 ("*execute"): Set type to "cs".
1363 2004-11-06 Kazu Hirata <kazu@cs.umass.edu>
1365 * fold-const.c (non_lvalue): Don't construct NON_LVALUE_EXPR
1366 if we are in GIMPLE.
1368 2004-11-06 Hans-Peter Nilsson <hp@bitrange.com>
1370 PR rtl-optimization/17933
1371 * rtlanal.c (dead_or_set_regno_p): Break out common code to...
1372 (covers_regno_p): New function. Handle SETs of PARALLEL,
1373 and defer the rest to...
1374 (covers_regno_no_parallel_p): New function.
1376 2004-11-06 Eric Botcazou <ebotcazou@libertysurf.fr>
1378 * config/sparc/sparc.c (function_arg_record_value_1): Skip
1379 fields with zero length.
1380 (function_arg_record_value_2): Likewise.
1381 (function_arg_record_value_3): Use smallest_mode_for_size
1382 instead of mode_for_size.
1383 (function_arg_union_value): Return naked register for unions
1386 2004-11-06 Eric Botcazou <ebotcazou@libertysurf.fr>
1388 * config/sparc/sparc.c (scan_record_type): Handle vector types.
1389 (function_arg_slotno): Handle vector types specially.
1390 (function_arg_record_value_1): Split fields with vector type and
1391 BLKmode into their subparts.
1392 (function_arg_record_value_2): Likewise. Be prepared to handle
1393 more than 2 registers per field.
1394 (function_arg_union_value): Increment regno inside the loop.
1395 (function_arg_vector_value): New function.
1396 (function_arg): Use it to split fields with vector type and
1397 BLKmode into their subparts and build a PARALLEL. Treat
1398 other vector types like floats.
1399 (function_value): Likewise.
1400 (sparc_pass_by_reference): Handle vector types.
1401 (sparc_return_in_memory): Likewise.
1403 2004-11-06 Kazu Hirata <kazu@cs.umass.edu>
1405 * tree-cfg.c (find_taken_edge_cond_expr): Remove an "if"
1406 statement that never triggers.
1408 2004-11-06 Ulrich Weigand <uweigand@de.ibm.com>
1410 * config/s390/2064.md ("z_o2", "z_o3"): Remove.
1411 * config/s390/2084.md ("x_o2", "x_o3"): Remove.
1412 ("x_fdivd"): Use also for fsqrtd type.
1413 ("x_fdivs"): Use also for fsqrts type.
1414 * config/s390/s390.md (attribute "type"): Remove "o2" and "o3" types.
1415 ("fix_truncdfsi2_ieee"): Set type to "ftoi".
1416 ("fix_truncdfsi2_ibm"): Set type to "other".
1417 ("floatdidf2", "floatdisf2"): Do not clobber CC.
1418 ("floatsidf2", "floatsidf2_ieee"): Likewise.
1419 ("floatsisf2", "floatsisf2_ieee"): Likewise.
1420 ("truncdfsf2", "truncdfsf2_ieee"): Only allow "register_operand".
1421 ("truncdfsf2_ibm"): Only allow "nonimmediate_operand". Use LER
1423 ("extendsfdf2_ibm"): Do not set atype. Set type to "floads".
1424 ("sqrtdf2"): Set type to "fsqrtd".
1425 ("sqrtsf2"): Set type to "fsqrts".
1427 2004-11-06 Kazu Hirata <kazu@cs.umass.edu>
1429 * tree-phinodes.c (remove_all_phi_nodes_for): Speed up using a
1430 pointer to the last PHI node in the new PHI chain.
1432 2004-11-06 Kaz Kojima <kkojima@gcc.gnu.org>
1434 * config/sh/sh.c (prepare_move_operands): Emit a use of r12
1435 for non-PIC TLS_MODEL_INITIAL_EXEC case.
1437 2004-11-06 Kazu Hirata <kazu@cs.umass.edu>
1439 * expmed.c: Fix a comment typo.
1441 2004-11-06 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
1444 * config/i386/cygming.h
1445 [HAVE_GAS_WEAK] (ASM_WEAKEN_LABEL): Macro defined.
1447 2004-11-06 Kazu Hirata <kazu@cs.umass.edu>
1449 * config/sh/sh4a.md: Fix copyright.
1451 2004-11-06 Kazu Hirata <kazu@cs.umass.edu>
1453 * config/rs6000/darwin.md, config/sh/sh4a.md: Replace GNU CC
1456 2004-11-05 David Edelsohn <edelsohn@gnu.org>
1458 * config/rs6000/rs6000.md (scc patterns): Replace subfc with subf
1459 when carry not used. Suggested by Torbjorn Granlund.
1461 * config/rs6000/rs6000.c (rs6000_emit_move): Don't force_reg
1462 operand[1] unnecessarily. Suggested by Eric Christopher.
1463 (rs6000_adjust_cost): Increase latency of store to wider load.
1464 (rs6000_rtx_costs): mulli only allows 16-bit constants.
1466 2004-11-05 Stan Shebs <shebs@apple.com>
1468 * config/rs6000/rs6000.c (machopic_output_stub): Output
1469 ldu instead of lwzu for 64-bit stubs.
1471 2004-11-05 Richard Henderson <rth@redhat.com>
1473 * config/alpha/alpha.c (alpha_expand_unaligned_load): Special case
1475 (alpha_expand_unaligned_store): Likewise.
1477 2004-11-05 Richard Henderson <rth@redhat.com>
1479 * expmed.c (extract_force_align_mem_bit_field): New.
1480 (extract_split_bit_field): Call it.
1482 2004-11-05 Richard Henderson <rth@redhat.com>
1484 * ia64.md (UNSPEC_SHRP): New.
1485 (dshift_count_operand): New.
1486 (ashrti3, ashrti3_internal, lshrti3, lshrti3_internal, shrp): New.
1487 * ia64.c (rtx_needs_barrier): Handle UNSPEC_SHRP.
1489 2004-11-05 Joseph S. Myers <joseph@codesourcery.com>
1491 * c-typeck.c (output_init_element): Return early if value is
1494 2004-11-05 James E Wilson <wilson@specifixinc.com>
1496 * invoke.texi (-fno-guess-branch-probability): Rewrite.
1498 * config/ia64/ia64.c (rtx_needs_barrier, case UNSPEC_GR_SPILL): Change
1499 1 to UNSPEC_GR_SPILL.
1501 2004-11-05 Andreas Krebbel <krebbel1@de.ibm.com>
1503 * config/s390/s390.c (s390_fixed_condition_code_regs): New function.
1504 (TARGET_FIXED_CONDITION_CODE_REGS): Macro defined.
1506 2004-11-05 Nathan Sidwell <nathan@codesourcery.com>
1508 * bitmap.h (enum bitmap_bits): Remove.
1509 (bitmap_operation): Remove.
1510 (bitmap_and, bitmap_and_into, bitmap_and_compl,
1511 bitmap_and_compl_into, bitmap_ior, bitmap_ior_into, bitmap_xor,
1512 bitmap_xor_into): Prototype.
1513 * bitmap.c (bitmap_elt_insert_after, bitmap_elt_clear_from): New.
1514 (bitmap_operation): Remove.
1515 (bitmap_and, bitmap_and_into, bitmap_and_compl,
1516 bitmap_and_compl_into, bitmap_ior, bitmap_ior_into, bitmap_xor,
1517 bitmap_xor_into): New.
1518 (bitmap_ior_and_compl, bitmap_ior_and_compl_into): Adjust.
1520 PR tree-optimization/18307
1521 * tree-ssa-alias.c (merge_pointed_to_info): Protected against DEST
1522 and ORIG being the same node.
1524 2004-11-04 Geoffrey Keating <geoffk@apple.com>
1526 * Makefile.in (distclean): Don't delete nonexistent fixinc/ directory.
1527 (install-mkheaders): Install the version built for the
1528 host, not for the build machine.
1529 * configure.ac: Always run fixincludes.
1530 (all_outputs): Remove mkheaders.
1531 * configure: Regenerate.
1532 * fixinc.in: Move to fixincludes/.
1533 * mkfixinc.sh: Likewise.
1534 * mkheaders.in: Likewise.
1535 * README-fixinc: Likewise.
1537 2004-11-05 Ramana Radhakrishnan <ramana.radhakrishnan@codito.com>
1540 * config/arc/lib1funcs.asm (___umulsidi3): Change use of cmp to the
1541 equivalent on the A4.
1543 2004-11-05 Joseph S. Myers <joseph@codesourcery.com>
1545 * doc/c-tree.texi, doc/cfg.texi, doc/contrib.texi, doc/cpp.texi,
1546 doc/cppopts.texi, doc/extend.texi, doc/fragments.texi,
1547 doc/frontends.texi, doc/gcov.texi, doc/hostconfig.texi,
1548 doc/implement-c.texi, doc/install.texi, doc/invoke.texi,
1549 doc/libgcc.texi, doc/md.texi, doc/passes.texi,
1550 doc/portability.texi, doc/rtl.texi, doc/sourcebuild.texi,
1551 doc/standards.texi, doc/tm.texi, doc/tree-ssa.texi,
1552 doc/trouble.texi: Correct end-of-sentence markup and markup of
1553 "etc.", "e.g." and "i.e.". Use @code in various places where
1556 2004-11-05 Joseph S. Myers <joseph@codesourcery.com>
1558 * doc/c-tree.texi, doc/cfg.texi, doc/extend.texi, doc/gty.texi,
1559 doc/install.texi, doc/invoke.texi, doc/md.texi, doc/passes.texi,
1560 doc/rtl.texi, doc/tm.texi, doc/tree-ssa.texi: Remove trailing
1563 2004-11-04 Mark Mitchell <mark@codesourcery.com>
1565 * config/arm/arm.c (arm_handle_notshared_attribute): New function.
1566 * doc/extend.texi: Document "notshared" attribute.
1568 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
1570 * tree-phinodes.c (make_phi_node): Make it static.
1571 * tree.h: Remove the prototypes for make_phi_node.
1573 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
1575 * stmt.c (expand_asm, expand_asm_operands): Make them static.
1576 * tree.h: Remove the prototypes for expand_asm and
1577 expand_asm_operands.
1579 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
1581 * passes.c (rest_of_compilation): Make it static.
1582 * toplev.h: Remove the prototype for rest_of_compilation.
1584 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
1586 * jump.c (cleanup_barriers): Use delete_insn instead of
1588 (delete_barrier): Remove.
1589 * rtl.h: Remove the corresponding prototype.
1591 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
1593 * expr.c (mostly_zero_p): Make it static.
1594 * tree.h: Remove the prototype for mostly_zeros_p.
1596 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
1598 * cfgrtl.c (force_nonfallthru_and_redirect): Make it static.
1600 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
1602 * builtins.c (expand_builtin_return_addr,
1603 expand_builtin_longjmp, expand_builtin_trap): Make them static.
1604 * expr.h: Remove the prototypes for expand_builtin_longjmp and
1605 expand_builtin_trap.
1606 * tree.h: Remove the prototype for expand_builtin_return_addr.
1608 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
1610 * tree-cfg.c (find_taken_edge): Reject VAL begin NULL.
1611 * tree-ssa-ccp.c (visit_cond_stmt): Don't call find_taken_edge
1612 with VAL being NULL.
1614 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
1616 * cfghooks.c (delete_basic_block): Remove code to truncate
1619 2004-11-04 Andrew Pinski <pinskia@physics.uc.edu>
1621 * flow.c (init_propagate_block_info): Change the type of i to
1624 2004-11-04 Ulrich Weigand <uweigand@de.ibm.com>
1626 PR tree-optimization/18184
1627 * c-typeck.c (comptypes): Do not treat pointers of different
1628 modes or alias-all flags as equivalent.
1629 * tree-ssa.c (tree_ssa_useless_type_conversion_1): Likewise.
1631 2004-11-04 Joseph S. Myers <joseph@codesourcery.com>
1633 * doc/gty.texi, doc/makefile.texi, doc/sourcebuild.texi: Don't
1634 reference specific C parser files in examples.
1636 2004-11-04 Richard Sandiford <rsandifo@redhat.com>
1639 * regrename.c (scan_rtx): Treat the destinations of SETs and CLOBBERs
1640 as OP_INOUT if the instruction is predicated.
1642 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
1644 * bitmap.h: Fix a comment typo. Follow spelling conventions.
1645 * tree-vectorizer.c: Fix a comment typo.
1647 2004-11-04 Kazu Hirata <kazu@cs.umass.edu>
1649 * sdbout.c (SDB_GENERATE_FAKE): Remove.
1650 (gen_fake_label): Don't use SDB_GENERATE_FAKE.
1651 * system.h: Poison SDB_GENERATE_FAKE.
1652 * doc/tm.texi (SDB_GENERATE_FAKE): Remove.
1654 2004-11-04 Ulrich Weigand <uweigand@de.ibm.com>
1656 * config/s390/s390.md ("*addsi3_sign"): Use canonical RTL.
1658 2004-11-04 Eric Botcazou <ebotcazou@libertysurf.fr>
1661 * gthr-posix.h (__gthread_recursive_mutex_init_function): Revert
1664 2004-11-04 Nathan Sidwell <nathan@codesourcery.com>
1666 * predict.c (propagate_freq): Make bitno unsigned. Move
1667 npredecessors update out of loop.
1669 * bitmap.h (bitmap_iterator): Remove word_bit and bit
1670 fields. Rename others.
1671 (bmp_iter_common_next_1, bmp_iter_single_next_1,
1672 bmp_iter_single_init, bmp_iter_end_p, bmp_iter_single_next,
1673 bmp_iter_and_not_next_1, bmp_iter_and_not_init,
1674 bmp_iter_and_not_next, bmp_iter_and_next_1, bmp_iter_and_init,
1675 bmp_iter_and_next): Remove.
1676 (bmp_iter_set_init, bmp_iter_and_init, bmp_iter_and_compl_init,
1677 bmp_iter_next, bmp_iter_set, bmp_iter_and, bmp_iter_and_compl):
1679 (EXECUTE_IF_SET_IN_BITMAP, EXECUTE_IF_AND_IN_BITMAP,
1680 EXECUTE_IF_AND_COMPL_IN_BITMAP): Adjust.
1682 * bitmap.h (bitmap_a_or_b, bitmap_a_and_b): Remove.
1683 * df.c (dataflow_set_a_op_b): Use bitmap_and, bitmap_ior,
1684 bitmap_and_into, bitmap_ior_into as appropriate.
1685 * except.c (remove_eh_handler): Likewise.
1686 * global.c (modify_bb_reg_pav, make_accurate_live_analysis): Likewise.
1687 * tree-dfa.c (mark_new_vars_to_rename): Likewise.
1688 * tree-ssa-alias.c (merge_pointed_to_info): Likewise.
1689 * tree-ssa-live.h (live_merge_and_clear): Likewise.
1690 * tree-ssa-loop-ivopts.c (find_best_candidate, try_add_cand_for):
1693 * bitmap.c (bitmap_print): Make bitno unsigned.
1694 * bt-load.c (clear_btr_from_live_range,
1695 btr_def_live_range): Likewise.
1696 * caller-save.c (save_call_clobbered_regs): Likewise.
1697 * cfganal.c (compute_dominance_frontiers_1): Likewise.
1698 * cfgcleanup.c (thread_jump): Likewise.
1699 * cfgrtl.c (safe_insert_insn_on_edge): Likewise.
1700 * conflict.c (conflict_graph_compute): Likewise.
1701 * ddg.c (add_deps_for_use): Likewise.
1702 * df.c (df_refs_update): Likewise.
1703 * except.c (remove_eh_handler): Likewise.
1704 * flow.c (verify_local_live_at_start, update_life_info,
1705 initialize_uninitialized_subregs, propagate_one_insn,
1706 free_propagate_block_info, propagate_block, find_use_as_address,
1707 reg_set_to_hard_reg_set): Likewise.
1708 * gcse.c (clear_modify_mem_tables): Likewise.
1709 * global.c (global_conflicts, build_insn_chain): Likewise.
1710 * ifcvt.c (dead_or_predicable): Likewise.
1711 * local-alloc.c (update_equiv_regs): Likewise.
1712 * loop.c (load_mems): Likewise.
1713 * ra-build.c (livethrough_conflicts_bb, conflicts_between_webs):
1715 * ra-rewrite.c (reloads_to_loads, rewrite_program2, actual_spill):
1717 * reload1.c (order_regs_for_reload, finish_spills): Likewise.
1718 * sched-deps.c (sched_analyze_insn, free_deps): Likewise.
1719 * sched-rgn.c (propagate_deps
1720 * tree-cfg.c (tree_purge_all_dead_eh_edges): Likewise.
1721 * tree-dfa.c (dump_dfa_stats
1722 tree-into-ssa.c (compute_global_livein, insert_phi_nodes,
1723 insert_phi_nodes_for, debug_def_blocks_r, invalidate_name_tags):
1725 * tree-outof-ssa.c (coalesce_ssa_name, coalesce_vars,
1726 free_temp_expr_table, find_replaceable_exprs): Likewise.
1727 * tree-sra.c (scan_function, scalarize_parms): Likewise.
1728 * tree-ssa-alias.c (init_alias_info,
1729 compute_points_to_and_addr_escape,
1730 compute_flow_sensitive_aliasing, maybe_create_global_var): Likewise.
1731 * tree-ssa-dce.c (mark_control_dependent_edges_necessary): Likewise.
1732 * tree-ssa-live.c (new_tree_live_info, live_worklist,
1733 calculate_live_on_entry, calculate_live_on_exit, compare_pairs,
1734 sort_coalesce_list, build_tree_conflict_graph, dump_live_info
1735 tree-ssa-loop-manip.c (add_exit_phis_var): Likewise.
1736 tree-ssa-operands.c (get_asm_expr_operands, add_call_clobber_ops,
1737 add_call_read_ops): Likewise.
1738 * tree-ssa-pre.c (bitmap_print_value_set, insert_aux): Likewise.
1739 * tree-ssa-live.h (num_var_partitions): Return unsigned.
1741 2004-11-03 Dorit Naishlos <dorit@il.ibm.com>
1743 PR tree-optimization/18009
1744 * tree-vectorizer.h (enum dr_alignment_support): New type.
1745 (MAX_NUMBER_OF_UNALIGNED_DATA_REFS): Removed.
1746 (LOOP_UNALIGNED_DR): replaced with LOOP_VINFO_UNALIGNED_DR and holds a
1747 single data_reference (instead of a varray of references).
1748 * tree-vectorizer.c (new_loop_vec_info): Likewise.
1749 (vect_gen_niters_for_prolog_loop): Likewise.
1750 (vect_update_inits_of_drs): Likewise.
1752 (vect_update_inits_of_drs): Setting of DR_MISALIGNMENT moved to
1753 vect_enhance_data_refs_alignment.
1754 (vect_do_peeling_for_alignment): Likewise.
1755 (vect_enhance_data_refs_alignment): Decide if and by how much to peel;
1756 this functionality used to be in vect_analyze_data_refs_alignment.
1757 Also update DR_MISALIGNMENT due to peeling; this functionality used to
1758 be in vect_update_inits_of_drs and vect_do_peeling_for_alignment).
1759 (vect_analyze_data_refs_alignment): Decision on whether and by how much
1760 to peel moved to vect_enhance_data_refs_alignment. Call
1761 vect_supportable_dr_alignment.
1763 (vect_compute_data_ref_alignment): Set STMT_VINFO_VECTYPE.
1764 (vect_compute_data_refs_alignment): Return bool. Consider return value
1765 of vect_compute_data_ref_alignment and return true/false accordingly.
1766 (vect_enhance_data_refs_alignment): Consider return value of
1767 vect_compute_data_refs_alignment and return true/false accordingly.
1769 (vect_supportable_dr_alignment): New function.
1770 (vectorizable_store): Call vect_supportable_dr_alignment.
1771 (vectorizable_load): Call vect_supportable_dr_alignment. Alignment
1772 support checks moved from here to vect_supportable_dr_alignment.
1774 (vect_transform_loop): Avoid 80 columns overflow.
1776 2004-11-03 Andrew Pinski <pinskia@physics.uc.edu>
1778 * timevar.c (timevar_enable): Change from
1780 (timevar_push): Rename to ...
1781 (timevar_push_1): this and remove the
1783 (timevar_pop): Rename to ...
1784 (timevar_pop_1): this and remove the
1786 * timevar.h (POP_TIMEVAR_AND_RETURN): Use do/while loops.
1787 (timevar_pop): New macro.
1788 (timevar_push): New macro.
1789 (timevar_enable): Declare.
1791 2004-11-03 Andrew Pinski <pinskia@physics.uc.edu>
1793 * config/darwin.h (REAL_LIBGCC_SPEC): Define to use shared
1794 libgcc for shared libraries.
1796 2004-11-03 Ulrich Weigand <uweigand@de.ibm.com>
1798 * config/s390/s390-protos.h (s390_split_access_reg): Add prototype.
1799 * config/s390/s390.c (s390_split_access_reg): New function.
1800 (regclass_map): Add access registers.
1801 (get_thread_pointer): Use access register instead of UNSPEC_TP.
1802 * config/s390/s390.h (FIRST_PSEUDO_REGISTER): Set to 38.
1803 (ACCESS_REGNO_P, ACCESS_REG_P): New macros.
1804 (TP_REGNUM): New define.
1805 (FIXED_REGISTERS, CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS,
1806 REG_ALLOC_ORDER): Add access registers.
1807 (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK, CLASS_MAX_NREGS,
1808 CANNOT_CHANGE_MODE_CLASS): Support access registers.
1809 (enum reg_class): Add ACCESS_REGS.
1810 (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Likewise.
1811 (REG_CLASS_FROM_LETTER): Add 't' constraint.
1812 (REGISTER_NAMES): Add access registers.
1813 * config/s390/s390.md (UNSPEC_TP): Remove.
1814 ("*movdi_64"): Add access register alternatives. Provide splitters
1815 to split DImode access register <-> GPR moves into SImode moves.
1816 ("*movsi_zarch", "*movsi_esa"): Add access register alternatives.
1817 ("movstrictsi"): Likewise.
1818 ("get_tp_64", "get_tp_31"): Reimplement using access registers.
1819 ("set_tp_64", "set_tp_31"): Likewise.
1820 ("*set_tp"): New insn.
1822 2004-11-03 Kazu Hirata <kazu@cs.umass.edu>
1824 * tree-phinodes.c (resize_phi_node): Copy only a portion of
1825 the PHI node currently in use.
1827 2004-11-03 Andrew Pinski <pinskia@physics.uc.edu>
1830 * tree.c (staticp) <case FUNCTION_DECL>: Nested functions are static
1833 2004-11-03 Andrew MacLeod <amacleod@redhat.com>
1835 PR tree-optimization/18270
1836 * tree-outof-ssa.c (analyze_edges_for_bb): If a block has incoming
1837 abnormal edges, commit all pending stmts on incoming edges.
1839 2004-11-03 Ulrich Weigand <uweigand@de.ibm.com>
1841 * tree-ssa-loop-ivopts.c (get_address_cost): Offset zero does not
1842 cause extra costs. Generate canonical RTL.
1844 2004-11-02 Daniel Berlin <dberlin@dberlin.org>
1846 * lambda-code.c (lambda_compute_auxillary_space): Update comments.
1847 (lambda_compute_target_space). Ditto.
1848 * lambda.h (lambda_trans_matrix): Ditto.
1849 (lambda_linear_expression): Ditto.
1850 (lambda_body_vector): Ditto.
1851 (lambda_loopnest): Ditto.
1852 * tree-loop-linear.c (gather_interchange_stats): Combine tests,
1853 update comments, and remove pointless addition of 0.
1854 (linear_transform_loops): Update comments.
1856 2004-11-03 Sebastian Pop <pop@cri.ensmp.fr>
1858 * tree.c (tree_fold_gcd): Use FLOOR_MOD_EXPR instead of
1861 2004-11-03 Jeff Law <law@redhat.com>
1863 * predict.c (struct block_info_def): Kill "tovisit" field.
1864 (propagate_freq): Accept new "tovisit" parameter. Change
1865 read/write access methods for "tovisit" to check the "tovisit"
1866 bitmap instead of a bit in block_info_def.
1867 (estimate_loops_at_level): Allocate "tovisit" bitmap. Pass
1868 it to propagate_freq.
1870 * stmt.c (expand_case): Speed up code to detect duplicate case
1871 label targets and count unique case label targets.
1873 2004-11-03 Kazu Hirata <kazu@cs.umass.edu>
1875 * cppdefault.c, cppdefault.h, timevar.h: Update copyright.
1877 2004-11-03 Kazu Hirata <kazu@cs.umass.edu>
1879 * bitmap.h, dbxout.c, tree-mudflap.c: Fix comment formatting.
1881 2004-11-03 Kazu Hirata <kazu@cs.umass.edu>
1883 * tree-cfg.c (find_taken_edge): Abort if we are given a
1884 statement that is neither COND_EXPR nor SWITCH_EXPR.
1886 2004-11-02 Zdenek Dvorak <dvorakz@suse.cz>
1888 * fold-const.c (fold): Reassociate also (x - mult) + mult and
1889 (mult - x) + mult. Cast operands of expression after applying
1890 distributive law to the correct types. Apply distributive law
1891 to a * c - b * c for all non-float types.
1893 2004-11-02 Geoffrey Keating <geoffk@apple.com>
1895 * configure.ac: Don't clear STMP_FIXINC or STMP_FIXPROTO just
1896 because we don't want to run them now; instead, set them to
1897 stmp-install-fixproto or stmp-install-fixinc.
1898 * Makefile.in (stmp-install-fixproto): New.
1899 (stmp-install-fixinc): New.
1900 * configure: Regenerate.
1902 2004-11-02 Nathan Sidwell <nathan@codesourcery.com>
1904 * flow.c (init_propagate_block_info): Use bitmap_empty_p on result
1907 2004-11-02 Ziemowit Laski <zlaski@apple.com>
1909 * c-lang.c (LANG_HOOKS_TYPES_COMPATIBLE_P): Remove.
1910 (c_types_compatible_p): Move function definition...
1911 * c-objc-common.c (c_types_compatible_p): ...here.
1912 * c-objc-common.h (LANG_HOOKS_TYPES_COMPATIBLE_P): Moved here from
1915 2004-11-02 Steven Bosscher <stevenb@suse.de>
1917 * cfgloop.h (struct loop): Update comment.
1918 * cse.c (cse_main): Remove obsolete comment.
1920 * expr.h (gen_cond_trap): Move prototype under functions provided
1922 (canonicalize_condition, get_condition): Move to...
1923 * rtl.h (canonicalize_condition, get_condition): ...here.
1924 (branch_target_load_optimize): Add comment that this function is
1926 * loop.c (canonicalize_condition, get_condition): Move to...
1927 * rtlanal.c (canonicalize_condition, get_condition): ...here.
1928 * sched-deps.c (get_condition): Rename to sched_get_condition.
1929 (add_dependence): Update this caller.
1931 2004-11-02 Andrew Pinski <pinskia@physics.uc.edu>
1934 * tree-ssa.c (replace_immediate_uses): If we call fold_stmt, make sure
1935 that the vops get marked for renaming.
1937 2004-11-02 Andreas Krebbel <krebbel1@de.ibm.com>
1939 * config/s390/s390.md ("movcc"): Set type attribute.
1941 2004-11-02 Kazu Hirata <kazu@cs.umass.edu>
1943 * tree-phinodes.c (add_phi_arg): Add an assertion that the
1944 edge already exists.
1946 2004-11-02 Kazu Hirata <kazu@cs.umass.edu>
1948 * tree-phinodes.c (remove_phi_arg_num): Do not zero the
1949 element that's being removed.
1951 2004-11-02 Kazu Hirata <kazu@cs.umass.edu>
1953 * tree-ssa-threadupdate.c (copy_phis_to_block): Install PHI
1954 arguments using PENDING_STMT.
1955 (thread_block): Call copy_phis_to_block after redirecting an
1958 2004-11-02 Nathan Sidwell <nathan@codesourcery.com>
1960 * bitmap.h (bitmap_and, bitmap_and_into, bitmap_and_compl,
1961 bitmap_and_compl_into, bitmap_ior, bitmap_iot_into,
1962 bitmap_ior_compl, bitmap_xor, bitmap_xor_into): Produce void.
1963 (bitmap_ior_and_compl_into): Produce bool.
1964 (bitmap_union_of_diff): Rename to ...
1965 (bitmap_ior_and_compl): ... here. Produce bool.
1966 * bitmap.c (bitmap_ior_and_compl_into): Return bool. Use
1967 bitmap_operation directly.
1968 (bitmap_union_of_diff): Rename to ...
1969 (bitmap_ior_and_compl): ... here. Return bool, use
1970 bitmap_operation directly.
1971 * df.c (df_rd_transfer_function): Use bitmap_ior_and_compl.
1972 (df_ru_transfer_function, df_lr_transfer_function): Likewise.
1973 * global.c (modify_bb_reg_pav): Likewise.
1975 * bitmap.h (bitmap_equal_p): Return bool.
1976 (bitmap_intersect_p, bitmap_intersect_compl_p): Declare.
1977 * bitmap.c (bitmap_equal_p): Return bool. Compare directly.
1978 (bitmap_intersect_p, bitmap_intersect_compl_p): New.
1979 * flow.c (calculate_global_regs_live): Use bitmap_intersect_p and
1980 bitmap_intersect_compl_p.
1981 * ifcvt (dead_or_predicable): Likewise.
1983 2004-11-02 Nathan Sidwell <nathan@codesourcery.com>
1985 PR rtl-optimization/17104
1986 * config/rs6000/rs6000.c (rs6000_emit_move): Don't wrap small
1987 loads in zero_extend.
1989 2004-11-02 Danny Smith <dannysmith@users.sourceforge.net>
1992 * toplev.c (debug_type_names): Remove "dwarf-1".
1994 2004-11-02 Ben Elliston <bje@au.ibm.com>
1996 * timevar.h (timevar_get): Remove.
1997 * timevar.c (timevar_get): Remove unused function.
1999 2004-11-02 Joseph S. Myers <joseph@codesourcery.com>
2001 * doc/include/texinfo.tex: Update from Texinfo CVS.
2003 2004-11-02 Ben Elliston <bje@au.ibm.com>
2005 * cppdefault.h (cpp_SYSROOT): Remove.
2006 * cppdefault.c (cpp_SYSROOT): Likewise.
2008 2004-11-01 Andrew MacLeod <amacleod@redhat.com>
2010 PR tree-optimization/16447
2011 * tree-cfg.c (bsi_commit_one_edge_insert): Rename from
2012 bsi_commit_edge_inserts_1, and make funtion external. Return new block.
2013 (bsi_commit_edge_inserts): Use renamed bsi_commit_one_edge_insert.
2014 * tree-optimize.c (pass_cleanup_cfg_post_optimizing): Enable listing.
2015 * tree-flow.h (bsi_commit_one_edge_insert): Extern decl.
2016 * tree-outof-ssa.c (rewrite_trees): Don't commit edges here.
2017 (same_stmt_list_p): New. Return TRUE if edge is to be forwarded.
2018 (identical_copies_p): New. Return true is two copies are the same.
2019 (identical_stmt_lists_p): New. Return true if stmt lists are the same.
2020 (analyze_edges_for_bb): New. Determine how best to insert edge stmts
2022 (perform_edge_inserts): New. Determine what to do with all stmts that
2023 have been inserted on edges.
2024 (remove_ssa_form): Analyze and commit edges from here.
2026 2004-11-01 Andrew Pinski <pinskia@physics.uc.edu>
2029 * bitmap.h (bmp_iter_end_p): Take a const pointer instead of a struct.
2030 (EXECUTE_IF_SET_IN_BITMAP): Update call to bmp_iter_end_p.
2031 (EXECUTE_IF_AND_COMPL_IN_BITMAP): Likewise.
2032 (EXECUTE_IF_AND_IN_BITMAP): Likewise.
2034 2004-11-01 Joseph S. Myers <joseph@codesourcery.com>
2037 * c-decl.c (get_parm_info): Allow FUNCTION_DECLs to appear amongst
2038 parameter declarations.
2040 2004-11-01 Andreas Krebbel <krebbel1@de.ibm.com>
2042 * config/s390/s390.c (regclass_map): Put reg 33 (cc) to CC_REGS group.
2043 (s390_secondary_input_reload_class)
2044 (s390_secondary_output_reload_class): Use GENERAL_REGS to reload a cc
2046 (s390_expand_cmpmem): Enable cmpmem implementation.
2047 * config/s390/s390.h (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS):
2048 Added three new classes: CC_REGS, ADDR_CC_REGS, GENERAL_CC_REGS.
2049 (REG_CLASS_FROM_LETTER): New constraint 'c' added.
2050 * config/s390/s390.md ("movcc"): New insn pattern.
2051 * doc/md.texi: Document 'c' constraint for s390.
2053 2004-11-01 Nathan Sidwell <nathan@codesourcery.com>
2056 * doc/extend.texi (Deprecated Features): Deprecate G++ covariant
2059 2004-10-16 Daniel Berlin <dberlin@dberlin.org>
2061 Fix PR tree-optimization/17672
2062 Fix PR tree-optimization/18168
2064 * lambda-code.c (lambda_lattice_compute_base): Fix reversed
2066 (gcc_tree_to_linear_expression): Add extra to existing constant.
2067 (depth_of_nest): Factor out function used in various places.
2068 (gcc_loop_to_lambda_loop): Clean up code a little bit. No
2070 (find_induction_var_from_exit_cond): Stop guessing, and just
2071 get the right answer :).
2072 (gcc_loopnest_to_lambda_loopnest): Remove useless pre-allocation.
2073 Print out message about result of attempt to create perfect nest.
2074 (lbv_to_gcc_expression): Add type argument, use it to do math
2075 and induction variable creation.
2076 (lle_to_gcc_expression): Ditto.
2077 (lambda_loopnest_to_gcc_loopnest): Create new iv with same type as
2078 oldiv. Pass type argument to lle_to_gcc_expression and
2079 lbv_to_gcc_expression.
2080 Reset number of iterations after transformation.
2081 (perfect_nestify): Remove useless pre-allocation, and cleanup
2084 * tree-data-ref.c (build_classic_dist_vector): Return false for
2085 dependences completely outside of the loop nest we asked about.
2086 (build_classic_dir_vector): Ditto.
2087 (compute_data_dependences_for_loop): Only add dependence relations
2088 inside the loop we asked about.
2090 * tree-loop-linear.c (linear_transform_loops): Use DDR_SIZE_VECT.
2091 Compute immediate uses.
2093 * tree-optimize.c: Move linear_transform_loops to before ivcanon.
2095 2004-11-01 Kazu Hirata <kazu@cs.umass.edu>
2097 * tree-cfg.c (thread_jumps): Fix a comment typo.
2099 2004-11-01 Kazu Hirata <kazu@cs.umass.edu>
2101 * tree-cfg.c (thread_jumps): Fix a comment typo.
2103 2004-10-31 Nicolas Pitre <nico@cam.org>
2105 * config/arm/ieee754-sf.S (floatdisf): Fix regression with
2106 values smaller than 2^32.
2108 2004-10-31 Jeff Law <law@redhat.com>
2110 * cfgloop.h (struct loop): Remove unused "nodes" field.
2111 * timevar.def (TV_TREE_LOOP_BOUNDS): New.
2112 * tree-data-ref.c (find_data_references_in_loop): Use get_loop_body
2113 instead of calling flow_bb_inside_loop_p for every basic block
2115 * tree-ssa-loop.c (pass_record_bounds): Use TV_TREE_LOOP_BOUNDS.
2117 2004-10-31 Graham Stott <graham.stott@btinternet.com>
2119 * config/pa/pa.md: (prefetch_64, prefetch_32): Fix typo. Use
2120 INT_5_BITS instead of VAL_5_BITS_P.
2122 2004-10-31 Roger Sayle <roger@eyesopen.com>
2125 * tree-inline.c (inline_forbidden_p_1): Use %qF instead of '%F'
2126 for consistent quoting in diagnostic messages.
2127 (expand_call_inline): Likewise.
2128 * tree-optimize.c (tree_rest_of_compilation): Likewise.
2129 * tree-ssa.c (warn_uninitialized_var): Likewise.
2130 (warn_uninitialized_phi): Likewise.
2132 2004-10-31 Richard Sandiford <rsandifo@redhat.com>
2134 * config/mips/mips.c (mips_cannot_change_mode_class): Use a stricter
2137 2004-10-31 Kazu Hirata <kazu@cs.umass.edu>
2139 * c-common.c: Fix a comment typo.
2141 2004-10-31 Jason Merrill <jason@redhat.com>
2144 * tree-gimple.c (is_gimple_mem_rhs): Also require a val for
2145 aggregate types that are not BLKmode.
2147 2004-10-30 Ziemowit Laski <zlaski@apple.com>
2149 * c-common.h (objc_lookup_ivar): Add second parameter to
2151 * c-typeck.c (build_external_ref): After looking up symbol,
2152 pass it to objc_lookup_ivar() to decide whether it or the
2153 ivar should be used, rather than deciding the issue locally.
2154 * stub-objc.c (objc_lookup_ivar): Add an OTHER parameter,
2155 which is simply returned in the non-ObjC case.
2157 2004-10-30 Danny Smith <dannysmith@users.sourceforge.net>
2159 * sdbout.c (sdbout_symbol): Do not output type .def statements
2162 2004-10-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
2164 * c-common.c (catenate_strings): New.
2165 (c_parse_error): Use it. Don't over-escape.
2167 2004-10-30 Kaz Kojima <kkojima@gcc.gnu.org>
2169 * config/sh/sh.c (calc_live_regs): Declare reg as unsigned and
2170 modify the for loop expressions for it. Remove unnecessary casts.
2171 (sh_expand_prologue): Declare reg as unsigned.
2172 (sh_gimplify_va_arg_expr): Initinalize lab_over.
2173 (sh_handle_sp_switch_attribute): Add const qualifier appropriately.
2175 2004-10-30 Geoffrey Keating <geoffk@apple.com>
2177 * doc/invoke.texi (Darwin Options): Improve description of
2178 how the subtype is chosen.
2180 2004-10-30 Roger Sayle <roger@eyesopen.com>
2183 * config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Check that
2184 the stack adjustment, "size", is valid for Pmode. If the stack
2185 frame is too large, generate a trap insn and issue a warning.
2187 2004-10-30 Kazu Hirata <kazu@cs.umass.edu>
2189 * tree-ssa-dom.c: Fix comment typos.
2191 2004-10-30 Kaz Kojima <kkojima@gcc.gnu.org>
2193 * config/sh/sh.c (prepare_move_operands): Use operands[0]
2194 for the output rtl if no_new_pseudos is set. Remove redundant
2197 2004-10-30 Joseph S. Myers <joseph@codesourcery.com>
2200 * c-decl.c (start_function): Don't check for DECL_BUILT_IN when
2201 determining whether to copy parameter types from a previous
2202 prototype declaration.
2204 2004-10-29 Roger Sayle <roger@eyesopen.com>
2206 PR rtl-optimization/17581
2207 * cselib.c (cselib_process_insn): The last instruction of a libcall
2208 block, with the REG_RETVAL note, should be considered in the libcall.
2209 * gcse.c (do_local_cprop): Allow constants to be propagated outside
2211 (adjust_libcall_notes): Use simplify_replace_rtx instead of
2212 replace_rtx to avoid creating invalid RTL in REG_RETVAL notes.
2214 2004-10-30 Kazu Hirata <kazu@cs.umass.edu>
2216 * tree-phinodes.c (create_phi_node): Don't zero PHI_REWRITTEN.
2218 2004-10-29 Jeff Law <law@redhat.com>
2220 * tree-ssa-dom.c (struct edge_info): New structure holding
2221 edge equivalences and edge redirection information.
2222 (get_eq_expr_value, record_dominating_conditions): Kill.
2223 (propagate_to_outgoing_edges): Renamed from cprop_into_phis.
2224 Call record_edge_info.
2225 (allocate_edge_info, free_edge_info): New.
2226 (tree_ssa_dominator_optimize): Use propagate_to_outgoing_edges
2227 rather than cprop_into_phis. Free all edge infos before threading
2229 (thread_across_edge): Allocate new edge info structures as needed
2230 and store the redirection target into the edge info structure
2231 instead of the edge's AUX field.
2232 (dom_opt_initialize_block): Mark unused argument with ATTRIBUTE_UNUSED.
2233 (record_equivalence_from_incoming_edge): Lose unnecessary argument.
2234 Revamp code which finds and records equivalences associated with
2235 edges to use saved data in the edge_info structure.
2236 (record_equivalencs_from_phis): Similarly.
2237 (dom_opt_finalize_block): Revamp code which finds and records
2238 equivalences associated with edges to use saved data in the
2239 edge_info structure.
2240 (build_and_record_new_cond): New function.
2241 (record_conditions): Use build_and_record_new_cond to record
2242 dominating conditions.
2243 (record_edge_info): New function.
2244 (record_range): Tighten test for conditions which create
2245 useful range records.
2247 2004-10-29 Geoffrey Keating <geoffk@apple.com>
2249 * config/i386/darwin.h (ASM_SPEC): Simplify.
2250 (SUBTARGET_EXTRA_SPECS): Add darwin_subarch spec.
2251 * config/rs6000/darwin.h (DARWIN_SUBARCH_SPEC): New.
2252 (SUBTARGET_EXTRA_SPECS): Add darwin_subarch spec.
2253 * config/darwin.h (LINK_COMMAND_SPEC): Don't pass -arch here.
2254 (LINK_SPEC): Do pass -arch here. Handle -force_cpusubtype_ALL
2255 in all cases. Pass the right -arch or -arch_only based on -mcpu.
2256 (ASM_SPEC): Handle -force_cpusubtype_ALL.
2257 * doc/invoke.texi (Darwin Options): Improve documentation for
2258 Darwin linker (and libtool) switches.
2260 * config/rs6000/darwin-fallback.c: Include <mach/thread_status.h>.
2262 2004-10-29 Stan Shebs <shebs@apple.com>
2264 * config/rs6000/darwin-tramp.asm: Make more 64-bit-friendly.
2266 2004-10-29 Kazu Hirata <kazu@cs.umass.edu>
2268 * tree-phinodes.c (allocate_phi_node): New.
2269 (make_phi_node, resize_phi_node): Use it.
2271 2004-10-29 David Edelsohn <edelsohn@gnu.org>
2273 * config/rs6000/sysv4.h (TARGET_POWER): Define as 0.
2274 * config/rs6000/darwin.h (TARGET_POWER): Define as 0.
2276 2004-10-29 Kazu Hirata <kazu@cs.umass.edu>
2278 * tree-phinodes.c (make_phi_node, resize_phi_node): Don't zero
2280 * tree.h (tree_phi_node): Tell the garbage collector to chase
2283 2004-10-29 Richard Earnshaw <rearnsha@arm.com>
2285 * opts.c (decode_options): Lower the crossjump threshold for -Os.
2287 2004-10-29 Diego Novillo <dnovillo@redhat.com>
2289 * tree.h (struct tree_ssa_name): Remove field 'equiv'.
2291 2004-10-28 Nathan Sidwell <nathan@codesourcery.com>
2293 * bitmap.h (bitmap_empty_p): New.
2294 (bitmap_and, bitmap_and_into, bitmap_and_compl,
2295 bitmap_and_compl_into, bitmap_ior, bitmap_ior_into,
2296 bitmap_ior_compl, bitmap_xor, bitmap_xor_into): New bitmap
2298 (bitmap_ior_and_compl): Rename to ...
2299 (bitmap_ior_and_compl_into): ... here.
2300 * bitmap.c (bitmap_equal_p): Use bitmap_xor.
2301 (bitmap_ior_and_compl): Rename to ...
2302 (bitmap_ior_and_compl_into): ... here. Adjust. Return changed
2304 (bitmap_union_of_diff): Use renamed bitmap functions.
2305 * basic-block.h (AND_REG_SET, AND_COMPL_REG_SET, IOR_REG_SET,
2306 XOR_REG_SET, IOR_AND_COMPL_REG_SET): Likewise.
2307 * cfgrtl.c (safe_insert_insn_on_edge): Likewise.
2308 * df.c (df_bb_rd_local_compute)
2309 * flow.c (calculate_global_regs_live,
2310 init_propagate_block_info): Likewise.
2311 * ifcvt.c (find_if_case_1, find_if_case_2,
2312 dead_or_predicable): Likewise.
2313 * ra-build.c (union_web_part_roots, livethrough_conflicts_bb,
2314 reset_conflicts, conflicts_between_webs): Likewise.
2315 * ra-rewrite.c (reloads_to_loads, rewrite_program2,
2316 detect_web_parts_to_rebuild): Likewise.
2317 * sched-ebb.c (compute_jump_reg_dependencies): Likewise.
2318 * tree-int-ssa.c (insert_phi_nodes_for, rewrite_into_ssa): Likewise.
2319 * tree-sra.c (decide_instantiations): Likewise.
2320 * tree-ssa-alias.c (create_name_tags,
2321 merge_pointed_to_info): Likewise.
2322 * tree-ssa-dom.c (tree_ssa_dominator_optimize): Likewise.
2323 * tree-ssa-loop-im.c (move_computations): Likewise.
2324 * tree-ssa-operands.c (get_call_expr_operands): Likewise.
2325 * tree-ssa-pre.c (fini_pre): Likewise.
2326 * tree-ssa.c (verify_flow_sensitive_alias_info): Likewise.
2327 * tree-ssanames.c (any_marked_for_rewrite_p): Likewise.
2328 * tree-vectorizer.c (vectorize_loops): Likewise.
2330 2004-10-29 Nick Clifton <nickc@redhat.com>
2332 config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): When
2333 adding the PIC register to the fixed_regs array, also add it
2334 to the call_used_regs array.
2336 2004-10-29 Eric Botcazou <ebotcazou@libertysurf.fr>
2338 * gthr-posix.h (__gthread_recursive_mutex_init_function): Guard
2339 with #ifdef PTHREAD_MUTEX_RECURSIVE/#endif pairs.
2341 2004-10-28 Daniel Berlin <dberlin@dberlin.org>
2343 * tree-into-ssa.c (rewrite_virtual_phi_arguments): New function.
2344 (rewrite_blocks): Modify argument, and use it to decide which
2346 (rewrite_def_def_chains): Call rewrite_blocks with true here.
2347 (rewrite_into_ssa): and call it with false here.
2349 2004-10-29 Kazu Hirata <kazu@cs.umass.edu>
2351 * tree-phinodes.c (add_phi_arg): Turn an "if" that always
2352 triggers into gcc_assert.
2354 2004-10-28 Diego Novillo <dnovillo@redhat.com>
2356 PR tree-optimization/16728
2357 * tree-flow.h (get_ptr_info): Declare.
2358 * tree-ssa-alias.c (get_ptr_info): Make extern.
2359 * tree-ssa-copy.c (merge_alias_info): Merge flow-sensitive
2362 2004-10-28 Stan Shebs <shebs@apple.com>
2364 * config/rs6000/darwin.h (SUBTARGET_EXTRA_SPECS): Handle -m64.
2365 * config/rs6000/rs6000.c (rs6000_darwin_file_start): Add ppc64
2368 2004-10-28 Frank Ch. Eigler <fche@redhat.com>
2370 * tree-mudflap.c (mudflap_init): Mark cache-lookup decls to
2371 prevent their later unnecessary registration.
2372 (mf_build_check_statement_for): Remove "addr" argument, and
2373 related "__mf_value" generated code. Update callers.
2374 (mf_decl_eligible_p): New function, factored from mx_register_decls.
2375 (mx_register_decls): Call it.
2376 (mf_xform_derefs_1): Rewrite COMPONENT_REF and ARRAY_REF cases
2377 to restore support for complex nested expressions.
2378 (mudflap_enqueue_decl): Simplify. Move registration call emission
2380 (mudflap_finish_file): ... to here.
2381 (mudflap_enqueue_constant): Remove dump code.
2383 2004-10-28 Zack Weinberg <zack@codesourcery.com>
2386 * dbxout.c (dbxout_begin_complex_stabs_noforcetext): New function.
2387 (DBX_FINISH_STABS): Add (unused by default) SYM parameter.
2388 (dbxout_finish_complex_stabs): Update to match.
2389 (dbxout_symbol_location): Call emit_pending_bincls_if_required
2390 and FORCE_TEXT before DBX_STATIC_BLOCK_START. Use
2391 dbxout_begin_complex_stabs_noforcetext.
2392 * xcoffout.h (DBX_FINISH_STABS): Restore special case for
2393 N_GSYM, using new SYM parameter. Correct logic for special
2396 * varasm.c (function_section): If DECL is NULL_TREE, don't try
2397 to do anything else. Do not call get_insns if cfun or
2398 cfun->emit are NULL.
2400 2004-10-28 Adam Nemet <anemet@lnxw.com>
2403 * c-typeck.c (c_mark_addressable): Issue error if address of a
2404 register variable is taken. Use "%qD" to print DECL_NAME.
2406 2004-10-28 Diego Novillo <dnovillo@redhat.com>
2408 * opts.c (decode_options): Don't run PRE at -Os.
2410 2004-10-28 Richard Henderson <rth@redhat.com>
2412 * config/alpha/alpha.md (movqicc_internal): Allow exactly one
2413 zero in the conditional.
2414 (movhicc_internal, movsicc_internal, movdicc_internal): Likewise.
2416 2004-10-28 Richard Henderson <rth@redhat.com>
2418 * cse.c (memory_extend_rtx): Remove.
2419 (cse_main): Don't set it.
2420 (cse_insn): Use a local buffer instead.
2422 2004-10-28 Andreas Krebbel <krebbel1@de.ibm.com>
2424 * profile.c (branch_prob): Call to init_edge_profiler added.
2425 * rtl-profile.c (rtl_init_edge_profiler): New function.
2426 (rtl_gen_edge_profiler): Replaced call to insert_insn_on_edge with
2427 call to safe_insert_insn_on_edge.
2428 (rtl_profile_hooks): rtl_init_edge_profiler added.
2429 * tree-profile.c (tree_init_edge_profiler): New function.
2430 (tree_profile_hooks): tree_init_edge_profiler added.
2431 * value-prof.h (profile_hooks) init_edge_profiler prototype added.
2433 2004-10-28 Nick Clifton <nickc@redhat.com>
2435 * config/iq2000/iq2000.c (iq2000_expand_epilogue): Use
2436 emit_jump_insn() to generate the return instruction.
2438 2004-10-28 Kazu Hirata <kazu@cs.umass.edu>
2440 * tree-phinodes.c: Remove trailing whitespace.
2442 2004-10-28 Kazu Hirata <kazu@cs.umass.edu>
2444 * tree-ssa-loop-ivopts.c: Fix a comment typo.
2445 * doc/invoke.texi: Fix a typo.
2447 2004-10-28 Kazu Hirata <kazu@cs.umass.edu>
2449 * Makefile.in (OBJS-common): Remove duplicates.
2451 2004-10-28 Kazu Hirata <kazu@cs.umass.edu>
2453 * lambda-code.c (nestify_update_pending_stmts): Remove.
2454 (perfect_nestify): Use flush_pending_stmts instead of
2455 nestify_update_pending_stmts.
2456 * tree-cfg.c (tree_make_forwarder_block): Use
2457 flush_pending_stmts.
2458 * tree-flow.h: Add a prototype for flush_pending_stmts.
2459 * tree-ssa-loop-manip.c (tree_duplicate_loop_to_header_edge):
2460 Use flush_pending_stmts.
2461 (lv_update_pending_stmts): Remove.
2462 (tree_ssa_loop_version): Use flush_pending_stmts instead of
2463 lv_update_pending_stmts.
2464 * tree-ssa.c (flush_pending_stmts): New.
2466 2004-10-28 Ulrich Weigand <uweigand@de.ibm.com>
2469 * final.c (alter_subreg): Compute correct offset to use with
2470 paradoxical SUBREGs of memory operands.
2471 * recog.c (general_operand): Allow paradoxical SUBREGs of
2472 memory operands after reload.
2473 * simplify-rtx.c (simplify_gen_subreg): Fail if simplify_subreg
2474 has failed when passed a hard register.
2476 2004-10-28 Aldy Hernandez <aldyh@redhat.com>
2478 * function.c (assign_parm_setup_block): Handle parallels correctly.
2480 2004-10-28 Kaz Kojima <kkojima@gcc.gnu.org>
2482 * final.c (shorten_branches): Initialize flags structure.
2484 2004-10-28 Nathan Sidwell <nathan@codesourcery.com>
2486 * tree.c (int_cst_node, int_cst_hash_table): New variables.
2487 (init_ttree): Initialize them.
2488 (int_cst_hash_hash, int_cst_hash_eq): New hashing functions.
2489 (build_int_cst_wide): Use hash table for oversized integers.
2491 2004-10-28 Nick Clifton <nickc@redhat.com>
2493 * config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Define
2496 2004-10-27 Richard Henderson <rth@redhat.com>
2499 * expr.c (emit_group_load): Don't go force temporary for memory
2501 (emit_group_store): Similarly.
2503 2004-10-27 Andrew Pinski <pinskia@physics.uc.edu>
2506 * common.opt (--param): Fix spelling of parameter.
2508 2004-10-27 Andrew Pinski <pinskia@physics.uc.edu>
2511 * tree-cfg.c (remove_useless_stmts_1) <case SWITCH_EXPR>:
2512 Don't fold statement.
2513 <case ASM_EXPR>: Fold the statement.
2515 2004-10-28 Kazu Hirata <kazu@cs.umass.edu>
2517 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary)
2518 <COND_EXPR>: Use EDGE_COUNT instead of GOTO_DESTINATION.
2520 2004-10-28 Joseph S. Myers <jsm@polyomino.org.uk>
2522 * doc/contrib.texi, doc/cpp.texi, doc/cppopts.texi,
2523 doc/extend.texi, doc/gcov.texi, doc/install.texi, doc/invoke.texi,
2524 doc/libgcc.texi, doc/md.texi, doc/passes.texi,
2525 doc/sourcebuild.texi, doc/tm.texi: Improve Texinfo formatting.
2527 2004-10-28 Joseph S. Myers <jsm@polyomino.org.uk>
2529 * doc/c-tree.texi, doc/cpp.texi, doc/implement-c.texi,
2530 doc/invoke.texi, doc/md.texi, doc/passes.texi, doc/tm.texi: Put
2531 punctuation outside quotes.
2533 2004-10-27 David Mosberger <davidm@hpl.hp.com>
2534 James E Wilson <wilson@specifixinc.com>
2537 * config/ia64/ia64.c (ia64_expand_epilogue): Set RTX_FRAME_RELATED_P on
2538 sibcall alloc instruction.
2539 (process_set): Handle sibcall alloc instruction.
2541 2004-10-27 Geoffrey Keating <geoffk@apple.com>
2543 * config/rs6000/rs6000.c (rs6000_attribute_table): Add
2544 SUBTARGET_ATTRIBUTE_TABLE.
2545 * config/darwin.h (ASM_WEAKEN_DECL): Handle weak_import.
2546 (SUBTARGET_ATTRIBUTE_TABLE): Define.
2547 * config/darwin.c (darwin_handle_weak_import_attribute): New.
2548 (HAVE_DEAD_STRIP): Delete.
2549 (no_dead_strip): Don't test HAVE_DEAD_STRIP.
2550 * config/darwin-protos.h (darwin_handle_weak_import_attribute):
2553 * doc/tm.texi (USE_SELECT_SECTION_FOR_FUNCTIONS): Document.
2555 * config/darwin.h (GTHREAD_USE_WEAK): Define.
2557 2004-10-28 Ben Elliston <bje@au.ibm.com>
2559 * params.def (PARAM_SRA_MAX_STRUCTURE_SIZE): New.
2560 (PARAM_SRA_FIELD_STRUCTURE_RATIO): Likewise.
2561 * params.h (SRA_MAX_STRUCTURE_SIZE): New.
2562 (SRA_FIELD_STRUCTURE_RATIO): Likewise.
2563 * tree-sra.c: Include "params.h".
2564 (decide_block_copy): Use new parameters.
2565 * doc/invoke.texi (Optimize Options): Document new SRA pass
2566 parameters sra-max-structure-size and sra-field-structure-ratio.
2568 2004-10-27 Nicolas Pitre <nico@cam.org>
2570 * config/arm/ieee754-df.S (floatdidf): Fix regression with big values.
2572 2004-10-27 Zdenek Dvorak <dvorakz@suse.cz>
2574 PR tree-optimization/18048
2575 * fold-const.c (try_move_mult_to_index): New function.
2576 (fold): Use try_move_mult_to_index.
2577 * tree-ssa-loop-ivopts.c (try_add_cand_for): Prefer common candidates.
2578 * tree-ssa-loop-niter.c (number_of_iterations_cond): Produce
2579 an all-ones unsigned constant without extra bits.
2580 * tree.c (build_low_bits_mask): New function.
2581 * tree.h (build_low_bits_mask): Declare.
2583 2004-10-27 David Edelsohn <edelsohn@gnu.org>
2586 * config/rs6000/rs6000.md (maxsf3): Add !flag_trapping_math to
2592 2004-10-27 Kazu Hirata <kazu@cs.umass.edu>
2594 * tree-cfg.c (thread_jumps): Speed up by reordering the two
2595 conditions for entering basic blocks into worklist.
2597 2004-10-27 Kazu Hirata <kazu@cs.umass.edu>
2599 * tree-cfg.c (thread_jumps): Speed up by pretending to have
2600 ENTRY_BLOCK_PTR in worklist.
2602 2004-10-27 Kazu Hirata <kazu@cs.umass.edu>
2604 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary)
2605 <GOTO_EXPR>: Don't let an explicit GOTO_EXPR slip through.
2607 2004-10-27 Daniel Berlin <dberlin@dberlin.org>
2609 Fix PR tree-optimization/17133
2611 * tree-cfg.c (rewrite_to_new_ssa_names_bb): Also rewrite must
2614 * tree-flow-inline.h: V_MUST_DEF_OP became V_MUST_DEF_RESULT.
2615 (get_v_must_def_result_ptr): Modify for new structure of
2617 (get_v_must_def_kill_ptr): New.
2618 (op_iter_next_use): Add support for the kill that occurs in V_MUST_DEFs.
2619 (op_iter_next_tree): Ditto. Also V_MAY_DEF_OP became V_MAY_DEF_RESULT.
2620 (op_iter_next_def): V_MAY_DEF_OP became V_MAY_DEF_RESULT.
2621 (op_iter_init): Initialize new mustu members.
2622 (op_iter_next_mustdef): New function.
2623 (op_iter_init_mustdef): Ditto.
2625 * tree-flow.h (rewrite_def_def_chains): New function.
2627 * tree-into-ssa.c (mark_def_sites): Handle mustdefkill operands.
2628 (ssa_mark_def_sites): Ditto.
2629 (rewrite_stmt): Ditto.
2630 (ssa_rewrite_stmt): Ditto.
2631 (rewrite_blocks): Factor out from rewrite_into_ssa.
2632 (mark_def_block_sites): Ditto.
2633 (rewrite_def_def_chains): New function, just rewrites def-def
2634 chains without phi node insertion.
2636 * tree-pass.h (TODO_fix_def_def_chains): New todo flag.
2638 * tree-optimize.c (execute_todo): Handle TODO_fix_def_def_chains.
2640 * tree-pretty-print.c (dump_vops): Print out MUST_DEF's so that
2641 they include the rhs now.
2643 * tree-ssa-ccp.c (visit_assignment): V_MUST_DEF_OP became
2646 * tree-ssa-dce.c (mark_operand_necessary): Add phionly argument.
2648 (mark_really_necessary_kill_operand_phis): New function.
2649 (perform_tree_ssa_dce): Call it.
2650 (pass_dce): Add TODO_fix_def_def_chains.
2651 (pass_cd_dce): Ditto.
2653 * tree-ssa-loop-im.c (determine_max_movement): Look at kills as
2655 (rewrite_mem_refs): Ditto.
2657 * tree-ssa-loop-manip.c (find_uses_to_rename_stmt): Look at kills
2660 * tree-ssa-operands.c (allocate_v_may_def_optype):
2661 v_may_def_operand_type_t became v_def_use_operand_type_t.
2662 (allocate_v_must_def_optype) Ditto.
2663 (finalize_ssa_v_must_defs): Update for new operand type, as well
2664 as setting the use portion as well.
2665 (copy_virtual_operands): Copy the kill operand as well.
2666 (create_ssa_artficial_load_stmt): V_MUST_DEF_OP became
2669 * tree-ssa-operands.h (v_may_def_operand_type): Renamed to
2670 v_def_use_operand_type.
2671 (v_must_def_optype_d): Use v_def_use_operand_type.
2672 (V_MUST_DEF_OP_*): Renamed to V_MUST_DEF_RESULT_*
2673 (V_MUST_DEF_KILL_*): New macros.
2674 (struct ssa_operand_iterator_d): Add num_v_mustu and v_mustu_i
2676 Rename existing must_i and num_v_must members to mustd_i and
2678 (SSA_OP_VMUSTDEFKILL): New flag.
2679 (SSA_OP_VIRTUAL_KILLS): New flag.
2680 (SSA_OP_ALL_OPERANDS): Add in SSA_OP_ALL_KILLS.
2681 (SSA_OP_ALL_KILLS): New flag.
2682 (FOR_EACH_SSA_MUSTDEF_OPERAND): New macro.
2684 * tree-ssa.c (verify_ssa): Verify virtual kills as well.
2686 * tree-vectorizer.c (vect_create_data_ref_ptr): V_MUST_DEF_OP
2687 became V_MUST_DEF_RESULT.
2688 (rename_variables_in_bb): Rename kill pointer as well.
2690 * tree-dfa.c (compute_immediate_uses_for_stmt): Add kills into the
2693 2004-10-27 Richard Sandiford <rsandifo@redhat.com>
2695 * dbxout.c (dbxout_source_line): Move declaration of begin_label to
2696 the block that needs it.
2698 2004-10-27 Zack Weinberg <zack@codesourcery.com>
2700 * dbxout.c (dbxout_finish_complex_stabs): Mark 'line' variable
2703 2004-10-27 Zack Weinberg <zack@codesourcery.com>
2705 * c-lex.c (cb_def_pragma): Clean up code for making location
2706 palatable to diagnostic.c.
2708 2004-10-27 Steven Bosscher <stevenb@suse.de>
2710 PR tree-optimization/17757
2711 * tree-phinodes.c (remove_phi_arg_num): Don't remove PHIs
2712 without any PHI arguments left. Make sure the argument that
2713 we're supposed to remove exists at all.
2715 2004-10-27 Paul Brook <paul@codesourcery.com>
2717 * configure.ac: Don't test for [build] __cxa_atexit when building a
2719 * configure: Regenerate.
2721 2004-10-27 Paul Brook <paul@codeosurcery.com>
2723 * configure.ac: Use build_exeext not host_exeext when lookin for
2725 * configure: Regenerate.
2727 2004-10-27 Andreas Krebbel <krebbel1@de.ibm.com>
2729 * config/s390/s390.md ("*subdf3_cc"): Replaced plus by minus.
2731 2004-10-27 Andreas Krebbel <krebbel1@de.ibm.com>
2732 patch originally created by Kelley Cook <kcook@gcc.gnu.org>
2735 * opts.c (OPT_fprofile_generate): Default to -funroll-loops
2736 to match -fprofile-use.
2738 2004-10-27 Kazu Hirata <kazu@cs.umass.edu>
2740 * config/rs6000/rs6000.c: Fix a comment typo.
2742 2004-10-27 Zack Weinberg <zack@codesourcery.com>
2744 * config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Increment line
2747 2004-10-27 Andreas Schwab <schwab@suse.de>
2749 * varasm.c (default_stabs_asm_out_destructor): Mark symbol as
2751 (default_stabs_asm_out_constructor): Likewise.
2753 2004-10-26 Geoffrey Keating <geoffk@apple.com>
2755 * builtins.c (fold_builtin_unordered_cmp): Always bring both
2756 operands to the same type.
2758 2004-10-26 James E Wilson <wilson@specifixinc.com>
2761 * emit-rtl.c (emit_copy_of_insn_after): Copy RTX_FRAME_RELATED_P.
2763 2004-10-26 Zack Weinberg <zack@codesourcery.com>
2765 * dbxout.c: Include obstack.h.
2766 (ASM_STABS_OP): Take XCOFF_DEBUGGING_INFO into account in
2768 (ASM_STABD_OP, NO_DBX_MAIN_SOURCE_DIRECTORY, DBX_CONTIN_CHAR):
2769 Default-define here.
2770 (DBX_CONTIN_LENGTH): Move definition with others.
2771 (DBX_FINISH_STABS): New target macro.
2772 (current_sym_code, current_sym_value, current_sym_addr)
2773 (current_sym_nchars, CHARS, dbxout_continue)
2774 (print_int_cst_octal, print_octal, print_wide_int)
2775 (dbxout_prepare_symbol, dbxout_finish_symbol): Delete.
2776 (stabstr_ob, stabstr_last_contin_point): New variables.
2777 (NUMBER_FMT_LOOP): New improper macro.
2778 (dbxout_int, dbxout_stab_value_zero, dbxout_stab_value_label)
2779 (dbxout_stab_value_label_diff, dbxout_stab_value_internal_label)
2780 (dbxout_stab_value_internal_label_diff, dbxout_stabd)
2781 (dbxout_begin_stabn, dbxout_begin_stabn_sline)
2782 (dbxout_begin_simple_stabs, dbxout_begin_simple_stabs_desc)
2783 (dbxout_begin_complex_stabs, dbxout_finish_complex_stabs)
2784 (stabstr_C, stabstr_S, stabstr_I, stabstr_D, stabstr_U, stabstr_O)
2785 (stabstr_continue, DECL_ACCESSIBILITY_CHAR)
2786 New functions and/or proper function-like macros.
2787 (CONTIN): Use stabstr_continue, unconditionally.
2788 (get_lang_number): Define unconditionally, with ATTRIBUTE_UNUSED.
2789 (dbxout_init): Initialize stabstr_ob. Check
2790 NO_DBX_MAIN_SOURCE_DIRECTORY. Only write out the Ltext label
2791 if it was used. Use the new interfaces.
2792 (dbxout_source_file): Remove file argument; always write to
2793 asm_out_file. Use the new interfaces.
2794 (dbxout_type_method_1): Remove second argument which is always
2795 DECL_ASSEMBLER_NAME of the first argument. Use the new interfaces.
2796 (dbxout_type_methods): Remove write-only variables. Use the
2798 (dbxout_parms): Refactor to remove code duplicated in each of
2799 several successive if-else-if blocks. Use the new interfaces.
2800 (dbxout_function_end, emit_bincl_stab, dbxout_end_source_file)
2801 (dbxout_source_line, dbxout_finish, dbxout_type_index)
2802 (dbxout_type_fields, dbxout_range_type, dbxout_type, dbxout_type_name)
2803 (dbxout_class_name_qualifiers, dbxout_symbol, dbxout_symbol_location)
2804 (dbxout_symbol_name, dbxout_reg_parms, dbxout_args)
2805 (dbx_output_lbrac, dbx_output_rbrac, dbxout_block):
2806 Use the new interfaces.
2807 * Makefile.in (dbxout.o): Update dependencies.
2809 * defaults.h: Don't define ASM_STABD_OP.
2810 * output.h: Prototype new dbxout_* interfaces.
2811 * system.h: Poison DBX_OUTPUT_GCC_MARKER and DBX_FINISH_SYMBOL.
2812 * varasm.c: Don't define ASM_STABS_OP.
2813 (default_stabs_asm_out_constructor, default_stabs_asm_out_destructor):
2814 Use the new dbxout.c interfaces. Call sorry if neither
2815 DBX_DEBUGGING_INFO nor XCOFF_DEBUGGING_INFO is defined.
2817 * xcoffout.h: Don't define ASM_STABS_OP.
2818 (DBX_FINISH_SYMBOL): Rewrite and rename DBX_FINISH_STABS.
2819 (DBX_OUTPUT_MAIN_SOURCE_DIRECTORY, DBX_OUTPUT_GCC_MARKER): Delete.
2820 (NO_DBX_MAIN_SOURCE_DIRECTORY, NO_DBX_GCC_MARKER): Define.
2821 (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Change bare block to
2822 do { ... } while (0) idiom.
2824 * config/alpha/alpha.c (num_source_filenames): Export.
2825 * config/alpha/alpha.h (num_source_filenames): Declare.
2826 (DBX_OUTPUT_SOURCE_LINE): Use new interfaces.
2827 (SDB_OUTPUT_SOURCE_LINE): Add missing newline.
2828 * config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Use new interfaces.
2829 Always use .debugsym. Update commentary.
2830 * config/mips/mips.h (DBX_OUTPUT_SOURCE_LINE): Use new interfaces.
2831 (SDB_OUTPUT_SOURCE_LINE): Add missing newline.
2832 * config/rs6000/linux64.h (DBX_OUTPUT_SOURCE_LINE, DBX_OUTPUT_BRAC):
2834 * config/rs6000/rs6000.c: If TARGET_MACHO, include gstab.h.
2835 (macho_branch_islands): Use new interfaces.
2837 * doc/tm.texi: Update.
2839 2004-10-26 Aldy Hernandez <aldyh@redhat.com>
2841 * expr.c (emit_group_store): Do not treat floats as BLKmode.
2842 (emit_group_load): Same.
2844 2004-10-26 Joseph S. Myers <jsm@polyomino.org.uk>
2846 * c-parse.in (datadef): Use pedwarn rather than error and warning
2847 for diagnostic in case of no declaration specifiers.
2849 2004-10-26 Richard Sandiford <rsandifo@redhat.com>
2852 * doc/install.texi (mips-sgi-irix5): Document that /bin/sh has been
2853 reported to hang during bootstrap and that CONFIG_SHELL=/bin/ksh
2854 can be used to work around this.
2856 2004-10-26 Aldy Hernandez <aldyh@redhat.com>
2858 * config/rs6000/rs6000.h (MEMBER_TYPE_FORCES_BLK): Adjust for e500
2861 2004-10-26 Kazu Hirata <kazu@cs.umass.edu>
2863 * stmt.c (expand_case): Update a comment.
2865 2004-10-26 Kazu Hirata <kazu@cs.umass.edu>
2867 * stmt.c (expand_case): Put an assertion that index_expr is
2868 never INTEGER_CST. Don't special case for constant
2871 2004-10-26 Andrew Pinski <pinskia@physics.uc.edu>
2874 * c-parse.in (designator): Finish with a semi-colon.
2876 2004-10-26 Fariborz Jahanian <fjahanian@apple.com>
2878 * config/rs6000/rs6000.md (andsi3_internal8): Set CR when splitting
2881 2004-10-26 Kazu Hirata <kazu@cs.umass.edu>
2883 * stmt.c (expand_case): Remove code to handle SWITCH_EXPR with
2884 a default case only.
2886 2004-10-26 Aldy Hernandez <aldyh@redhat.com>
2888 * config/rs6000/rs6000.c (rs6000_hard_regno_nregs): Adjust for
2890 (spe_build_register_parallel): New.
2891 (rs6000_spe_function_arg): Handle e500 doubles.
2892 (function_arg): Same.
2893 (spe_func_has_64bit_regs_p): Same.
2894 (rs6000_function_value): Same.
2895 (rs6000_libcall_value): Same.
2896 (legitimate_lo_sum_address_p): Return false for e500 doubles.
2898 * config/rs6000/rs6000.h (LOCAL_ALIGNMENT): Adjust for e500
2900 (DATA_ALIGNMENT): Same.
2901 (CANNOT_CHANGE_MODE_CLASS): Same.
2903 2004-10-26 Aldy Hernandez <aldyh@redhat.com>
2905 * expr.c (emit_group_load): Handle floats.
2906 (emit_group_store): Same.
2908 2004-10-26 Nathan Sidwell <nathan@codesourcery.com>
2910 * c-lex.c (get_nonpadding_token): Remove.
2911 (c_lex_with_flags): Push timevar and eat padding here. Improve
2912 stray token diagnostic.
2913 (lex_string): Replace logic with switch statement, eat padding
2916 2004-10-26 Geoffrey Keating <geoffk@apple.com>
2919 * config/i386/darwin.h (ASM_SPEC): Undef it before defining.
2921 2004-10-25 Geoffrey Keating <geoffk@apple.com>
2923 * config/darwin.h (LINK_SPEC): Default weak_reference_mismatches
2925 (MAKE_DECL_ONE_ONLY): Set DECL_WEAK.
2926 (ASM_MAKE_LABEL_LINKONCE): Delete.
2927 (ASM_WEAKEN_DECL): New.
2928 (ASM_DECLARE_OBJECT_NAME): Look at DECL_WEAK not DECL_ONE_ONLY.
2929 (ASM_DECLARE_FUNCTION_NAME): Likewise.
2930 (TEXT_SECTION_ASM_OP): Add a tab.
2931 (DATA_SECTION_ASM_OP): Likewise.
2932 (SECTION_FUNCTION): Add a tab. Use fputs. Don't call
2933 data_section on every section change.
2934 (EXTRA_SECTIONS): Add a bunch of new extra sections.
2935 (EXTRA_SECTION_FUNCTIONS): Likewise.
2936 (USE_SELECT_SECTION_FOR_FUNCTIONS): Define.
2937 (JCR_SECTION_NAME): Define.
2938 (TARGET_SECTION_TYPE_FLAGS): Don't define.
2939 * config/darwin.c (darwin_encode_section_info): A symbol is defined
2940 in this file if it is not weak.
2941 (textcoal_section): Delete.
2942 (datacoal_section): Delete.
2943 (darwin_make_decl_one_only): Delete.
2944 (machopic_select_section): Handle functions.
2945 (darwin_asm_named_section): Add a tab.
2946 (darwin_section_type_flags): Delete.
2947 (darwin_unique_section): Delete contents.
2948 (darwin_emit_unwind_label): Add a tab. Make decls weak if
2950 * config/darwin-protos.h (darwin_section_type_flags): Delete.
2951 (darwin_make_decl_one_only): Delete.
2952 (text_coal_section): New.
2953 (text_unlikely_section): New.
2954 (text_unlikely_coal_section): New.
2955 (const_coal_section): New.
2956 (data_coal_section): New.
2957 (const_data_coal_section): New.
2958 * varasm.c (function_section): Honour
2959 USE_SELECT_SECTION_FOR_FUNCTIONS.
2960 * dwarf2out.c (output_call_frame_info): Look at DECL_WEAK when
2961 TARGET_USES_WEAK_UNWIND_INFO is in effect.
2962 * dbxout.c (dbxout_source_file): Don't change sections while
2963 a function is being output.
2965 2004-10-25 David Ayers <d.ayers@inode.at>
2967 * c-common.h: Remove RID_ID.
2968 * c-parse.in: Remove OBJECTNAME and references to RID_ID.
2969 (typespec_reserved_attr): Add rule for TYPENAME
2970 non_empty_protocolrefs.
2971 (yylexname): Remove special handling of RID_ID.
2973 2004-10-25 James E Wilson <wilson@specifixinc.com>
2975 * doc/invoke.texi (-fcrossjumping): Not enabled at -O.
2977 2004-10-25 Joseph S. Myers <jsm@polyomino.org.uk>
2980 * c-parse.in (array_designator): New.
2981 (designator): Use it.
2982 (initelt): Only permit array_designator without '=', not ".foo".
2984 2004-10-25 Kenneth Zadeck <zadeck@naturalbridge.com>
2985 * gcc/Makefile.in: removed ggc for cgraphunit.
2986 * gcc/cgraph.c.dump_cgraph_node: removed static var analysis.
2987 * gcc/cgraph.h: removed static var analysis data structures and calls.
2989 cgraph_mark_local_and_external_functions:changed name to
2990 cgraph_mark_local_functions
2991 (print_order,convert_UIDs_in_bitmap,new_static_vars_info,
2992 cgraph_reset_static_var_maps,get_global_static_vars_info,
2993 get_global_statics_not_read,get_global_statics_not_written,searchc,
2994 cgraph_reduced_inorder,has_proper_scope_for_analysis,check_rhs_var,
2995 check_lhs_var,get_asm_expr_operands,process_call_for_static_vars,
2996 scan_for_static_refs,cgraph_characterize_statics_local,
2997 clear_static_vars_maps,cgraph_propagate_bits,cgraph_characterize_statics):
2999 (cgraph_optimize,init_cgraph): removed calls to static vars analysis
3000 * gcc/tree-dfa.c find_referenced_vars: removed call to static vars
3002 * gcc/tree-flow.h static_vars_info: removed
3003 * gcc/tree-ssa-operands.c (add_call_clobber_ops,add_call_read_ops):
3004 removed calls to static vars analysis.
3005 get_call_expr_operands: removed callee variable.
3007 2004-10-25 Kazu Hirata <kazu@cs.umass.edu>
3009 * cfg.c (unchecked_make_edge, redirect_edge_succ,
3010 redirect_edge_pred): Use VEC_safe_push instead of
3012 * cfgrtl.c (force_nonfallthru_and_redirect): Likewise.
3014 2004-10-25 Kazu Hirata <kazu@cs.umass.edu>
3016 * cfgloopmanip.c (loopify): Take two more arguments true_edge
3018 * cfgloop.h: Adjust the corresponding prototype.
3019 * loop-unswitch.c (unswitch_loop): Adjust a call to loopify.
3020 * tree-ssa-loop-manip.c (tree_ssa_loop_version): Likewise.
3022 2004-10-25 Jakub Jelinek <jakub@redhat.com>
3024 * dwarf2out.c (rtl_for_decl_location): Avoid segfault if
3025 DECL_INCOMING_RTL is NULL.
3027 2004-10-25 Steven Bosscher <stevenb@suse.de>
3029 * timevar.def (TV_FIND_REFERENCED_VARS): New.
3030 * tree-dfa.c (pass_referenced_var): Use it.
3032 2004-10-25 Roger Sayle <roger@eyesopen.com>
3033 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3035 * cse.c: Change encoding of quantity numbers to avoid undefined
3036 pointer arithmetic on qty_table.
3037 (REGNO_QTY_VALID_P): A quantity is now valid if it isn't negative.
3038 (get_cse_reg_info): Initialize reg_qty to a unique negative value.
3039 (new_basic_block): Assign "real" quantity numbers from zero.
3040 (delete_reg_equiv): Do nothing if quantity is invalid. Reset the
3041 REG_QTY to its unique negative value.
3042 (merge_equiv_classes): Calculate need_rehash if quantity is valid.
3043 (cse_main): Don't include max_reg when determining max_qty.
3044 (cse_basic_block): Avoid subtracting a large offset from qty_table,
3045 which causes undefined C99 behaviour. Only allocate needed memory.
3047 2004-10-25 Kazu Hirata <kazu@cs.umass.edu>
3049 * stmt.c (expand_case): Remove an obsolete comment.
3051 2004-10-25 Andrew Pinski <pinskia@physics.uc.edu>
3054 * c-decl.c (grokdeclarator) <case cdk_array>: Remove the call
3055 layout_type as it is already done by build_array_type.
3056 * tree.c (build_array_type): Layout the type even
3058 2004-10-25 Alexandre Oliva <aoliva@redhat.com>
3060 * config/frv/linux.h (TARGET_C99_FUNCTIONS): Define to 0.
3062 2004-10-25 Alexandre Oliva <aoliva@redhat.com>
3064 * config/frv/frv.md (movdi, movdf): Handle wide-constant splits
3065 with wider-than-32-bit HOST_WIDE_INTs.
3067 2004-10-25 David Billinghurst <David.Billinghurst@riotinto.com>
3069 * config/mips/mips.c(mips_output_filename): Remove unused
3070 array ltext_label_name
3072 2004-10-24 Geoffrey Keating <geoffk@geoffk.org>
3074 * config/rs6000/darwin.h (BLOCK_REG_PADDING): Define.
3076 2004-10-25 Ben Elliston <bje@au.ibm.com>
3078 * cfgcleanup.c (outgoing_edges_match): Fix typo in dump output.
3080 2004-10-23 Andrew Pinski <pinskia@physics.uc.edu>
3082 * predict.c (predict_loops): Call scev_finalize instead of
3085 2004-10-24 Kazu Hirata <kazu@cs.umass.edu>
3087 * config/dbxcoff.h, config/dbxelf.h, config/libgloss.h,
3088 config/openbsd.h, config/mips/r3900.h, config/pdp11/pdp11.md,
3089 config/sh/ushmedia.h, config/sparc/elf.h,
3090 config/sparc/sp64-elf.h: Update copyright.
3092 2004-10-24 Kazu Hirata <kazu@cs.umass.edu>
3094 * stmt.c (expand_case): Handle the default label outside of
3095 the for loop. Remove code to handle a missing default label.
3097 2004-10-23 Kazu Hirata <kazu@cs.umass.edu>
3099 * dbxout.c (dbxout_function_decl): Don't use
3100 DBX_OUTPUT_FUNCTION_END.
3101 * system.h: Poison DBX_OUTPUT_FUNCTION_END.
3102 * doc/tm.texi (DBX_OUTPUT_FUNCTION_END): Remove.
3104 2004-10-23 Andrew Pinski <pinskia@physics.uc.edu>
3107 * tree-cfg.c (remove_usless_stmts_cond): Don't Fold statement.
3109 2004-10-23 Daniel Berlin <dberlin@dberlin.org>
3111 * tree-ssa-dom.c (record_equality): Use loop depth to determine
3112 which way to record the equality as well.
3113 (loop_depth_of_name): New function.
3115 2004-10-23 Eric Botcazou <ebotcazou@libertysurf.fr>
3118 * gimplify.c (gimplify_addr_expr) <VIEW_CONVERT_EXPR>: Look
3119 through the operand if it is a useless type conversion.
3121 2004-10-23 Ben Elliston <bje@au.ibm.com>
3123 * cfg.c (remove_edge): Use VEC_unordered_remove.
3124 (redirect_edge_succ): Likewise.
3125 (redirect_edge_pred): Likewise.
3126 * cfgrtl.c (force_nonfallthru_and_redirect): Likewise.
3128 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
3130 * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP): Don't access PTR
3133 2004-10-22 Eric Christopher <echristo@redhat.com>
3135 * config/rs6000/rs6000.c (setup_incoming_varargs): Align DFmode
3138 2004-10-22 Aldy Hernandez <aldyh@redhat.com>
3140 * config/rs6000/spe.md (spe_extendsfdf2): New.
3141 (movdf_e500_double): New.
3142 (spe_truncdfsf2): New.
3149 (spe_floatsidf2): New.
3150 (spe_floatunssidf2): New.
3151 (fix_truncdfsi2): New.
3152 (spe_fixuns_truncdfsi2): New.
3154 * config/rs6000/rs6000.md (truncdfsf2): Change to expander.
3155 (fpr_truncdfsf2): New.
3156 (negdf2): Change to expander.
3158 (fpr_nabsdf2): Name pattern.
3159 (adddf3): Change to expander.
3161 (subdf3): Change to expander.
3163 (muldf3): Change to expander.
3165 (divdf3): Change to expander.
3167 (movdf_softfloat32): Change !TARGET_FPRS to TARGET_E500_SINGLE.
3168 (cmpdf): Allow for TARGET_E500_DOUBLE.
3170 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
3172 * c-semantics.c (re_push_stmt_list): Remove.
3173 * c-common.h: Remove the corresponding prototype.
3175 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
3177 * stmt.c (asm_op_is_mem_input): Remove.
3178 * tree.h: Remove the corresponding prototype.
3180 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
3182 * tree-gimple.c (is_gimple_constructor_elt): Remove.
3183 * tree-gimple.h: Remove the corresponding prototype.
3185 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
3187 * varasm.c (get_pool_mode_for_function, get_pool_offset):
3189 * rtl.h: Remove the corresponding prototypes.
3191 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
3193 * tree-cfg.c (thread_jumps_from_bb): Speed up by extracting
3194 edge information when we commit ourselves to threading a
3197 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
3199 * tree-cfg.c (thread_jumps): Speed up by putting basic blocks
3200 into worklist instead of their indexes.
3202 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
3204 * alias.c, basic-block.h, cgraphunit.c, combine.c, domwalk.h,
3205 final.c, gengtype.c, genpreds.c, ggc-page.c, insn-notes.def,
3206 lambda-code.c, loop-unroll.c, modulo-sched.c, pointer-set.c,
3207 pretty-print.c, ra-colorize.c, sbitmap.c, tree-complex.c,
3208 tree-data-ref.c, tree-dfa.c, tree-inline.c, tree-into-ssa.c,
3209 tree-scalar-evolution.c, tree-ssa-dom.c,
3210 tree-ssa-loop-manip.c, tree-ssa-loop-niter.c,
3211 tree-ssa-phiopt.c, tree-ssa-pre.c, tree-ssa-threadupdate.c,
3212 tree-vectorizer.c, vec.h: Fix comment formatting.
3214 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
3216 * dwarf.h, gthr-dce.h, gthr-single.h, gthr-solaris.h, gthr.h,
3217 libfuncs.h, libgcc2.h, stab.def, tsystem.h: Update copyright.
3219 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
3221 * config/ptx4.h, config/mcore/mcore-pe.h,
3222 config/rs6000/eabi.h, config/vax/elf.h: Update copyright.
3224 2004-10-22 Peter Barada <peter@the-baradas.com>
3226 * config/m68k/m68k.h (HARD_REGNO_RENAME_OK): New macro.
3227 * config/m68k/m68k.c (m68k_hard regno_rename_ok): Disallow
3228 renaming of non-live registers in interrupt functions.
3229 * config/m68k/m68k-protos.h (m68k_hard_regno_rename_ok): Add prototype.
3231 2004-10-22 Zdenek Dvorak <dvorakz@suse.cz>
3233 * tree-ssa-loop-niter.c (inverse): Count in HOST_WIDE_INT if possible.
3234 Use integer for loop counter.
3235 (num_ending_zeros): New function.
3236 (number_of_iterations_cond): Use num_ending_zeros.
3238 2004-10-21 Aldy Hernandez <aldyh@redhat.com>
3240 * config.gcc: Add support for --enable-e500_double.
3242 * config/rs6000/e500-double.h: New file.
3244 * config/rs6000/rs6000.h: Define TARGET_E500_SINGLE and
3247 * config/rs6000/eabi.h: Define TARGET_E500_SINGLE and
3250 * config/rs6000/linuxspe.h: Same.
3252 * doc/invoke.texi (Option Summary): Document new options for
3254 (RS/6000 and PowerPC Options): Same.
3256 * config/rs6000/rs6000.c (rs6000_parse_float_gprs_option): New
3258 (rs6000_override_options): Use it. Use
3259 SUB3TARGET_OVERRIDE_OPTIONS.
3260 Add 8548 to processor_target_table.
3261 (rs6000_legitimate_address): Handle e500 doubles.
3262 (rs6000_legitimize_address): Same.
3263 (rs6000_legitimize_reload_address): Same.
3264 (rs6000_hard_regno_nregs): Same.
3265 (spe_func_has_64bit_regs_p): Same.
3266 (emit_frame_save): Same.
3267 (gen_frame_mem_offset): Same.
3268 (rs6000_dwarf_register_span): Same.
3269 (rs6000_generate_compare): Same.
3270 (easy_fp_constant): Same.
3271 (legitimate_offset_address_p): Same.
3273 * config/rs6000/spe.md: (cmdfeq_gpr): New.
3282 2004-10-21 Giovanni Bajo <giovannibajo@gcc.gnu.org>
3284 * config/arc/lib1funcs.asm (___umulsidi3): Fix typo.
3286 2004-10-21 Zack Weinberg <zack@codesourcery.com>
3288 * dbxout.c: Remove unnecessary #undefs.
3289 (GDB_INV_REF_REGPARM_STABS_LETTER, DBX_MEMPARM_STABS_LETTER)
3290 (FILE_NAME_JOINER, STABS_GCC_MARKER): Remove; fold sole
3291 definition into use sites.
3292 (cwd): Make local to dbxout_init.
3293 (dbxout_init): Restructure cwd-using logic for clarity. Use
3295 * xcoffout.h (DBX_OUTPUT_GCC_MARKER): Definition of
3296 STABS_GCC_MARKER folded in here.
3297 * system.h: Poison now-unused macros.
3298 * doc/tm.texi: Remove documentation of now-unused macros.
3300 2004-10-21 Andrew Pinski <pinskia@physics.uc.edu>
3303 * c-opts.c (push_command_line_include): Use the current file
3304 name instead of the main one.
3306 2004-10-21 Andrew Pinski <pinskia@physics.uc.edu>
3309 * tree.c (staticp): A CONST_DECL has static storage if either
3310 TREE_STATIC or DECL_EXTERNAL is set.
3311 * c-decl.c (pushdecl_top_level): Accept CONST_DECLs which can
3314 2004-10-21 Kazu Hirata <kazu@cs.umass.edu>
3316 * expr.c (store_expr): Remove dont_store_target.
3318 2004-10-21 Kazu Hirata <kazu@cs.umass.edu>
3320 * tree-cfg.c (thread_jumps): Speed up by using a worklist.
3322 2004-10-21 Kazu Hirata <kazu@cs.umass.edu>
3324 * tree-cfg.c (thread_jumps): Move a part of it to ...
3325 (thread_jumps_from_bb): ... here.
3327 2004-10-21 David Edelsohn <edelsohn@gnu.org>
3329 * dbxout.c (DBX_FINISH_SYMBOL): Add asm_out_file argument.
3330 * xcoffout.h (DBX_FINISH_SYMBOL): Change asmfile to (ASMFILE).
3332 2004-10-21 Kazu Hirata <kazu@cs.umass.edu>
3334 * expr.c (store_expr): Clean up by renaming want_value to
3337 2004-10-21 Kaz Kojima <kkojima@gcc.gnu.org>
3339 * config/sh/linux-unwind.h (sh_fallback_frame_state): Don't
3342 2004-10-21 Aldy Hernandez <aldyh@redhat.com>
3345 * expmed.c (store_bit_field): Pass original 'value' before
3348 2004-10-21 Nicolas Pitre <nico@cam.org>
3350 * config/arm/ieee754-sf.S: Large speed improvements. Fix NAN handling.
3351 * config/arm/ieee754-df.S: Ditto.
3353 2004-10-20 Zack Weinberg <zack@codesourcery.com>
3355 * dbxout.c (asmfile): Delete. All uses changed to asm_out_file.
3356 (DBX_BLOCKS_FUNCTION_RELATIVE, DBX_LINES_FUNCTION_RELATIVE):
3358 (dbxout_source_line): Use DBX_OUTPUT_SOURCE_LINE when defined.
3359 When it is not, but DBX_LINES_FUNCTION_RELATIVE is true, emit
3360 an internal label and an N_SLINE .stabn whose value is the
3361 difference between that label and the function entry label.
3362 (dbxout_finish): If DBX_OUTPUT_MAIN_SOURCE_FILE_END is not defined,
3363 but DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END is, emit a
3364 label and an N_SO stab with an empty string referring to it.
3365 (dbx_output_lbrac, dbx_output_rbrac): Use if statement instead
3366 of #ifdef directive to test DBX_BLOCKS_FUNCTION_RELATIVE.
3367 (dbxout_type_methods, dbxout_symbol): Remove #if 0 block.
3368 (dbxout_prepare_symbol): Remove #ifdef WINNING_GDB block, this
3369 macro is never defined.
3370 * sdbout.c (sdbout_source_line_counter): Delete.
3371 (PUT_SDB_SRC_FILE): Delete. Uses replaced with sole definition.
3372 (sdbout_source_line): Use SDB_OUTPUT_SOURCE_LINE, which takes
3374 * xcoffout.c (ASM_OUTPUT_SOURCE_LINE): Rename ASM_OUTPUT_LINE.
3376 * config/dbxcoff.h, config/dbxelf.h: Remove unncessary #undefs.
3377 * config/c4x/c4x.h, config/pa/pa.h: Remove unnecessary macro
3378 definitions (identical to default).
3379 * config/darwin.h, config/dbxcoff.h, config/dbxelf.h, config/ptx4.h
3380 * config/h8300/coff.h, config/pa/som.h, config/sh/elf.h:
3381 Define DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END, not
3382 DBX_OUTPUT_MAIN_SOURCE_FILE_END.
3383 * config/dbxcoff.h, config/dbxelf.h, config/ptx4.h
3384 * config/mcore/mcore-pe.h, config/pa/som.h, config/sh/elf.h:
3385 Define DBX_LINES_FUNCTION_RELATIVE, not ASM_OUTPUT_SOURCE_LINE.
3386 * config/alpha/alpha-protos.h: Don't prototype alpha_output_lineno.
3387 * config/alpha/alpha.c: Move declaration of num_source_filenames up.
3388 (alpha_start_function): Use SDB_OUTPUT_SOURCE_LINE.
3389 (sym_lineno): Delete.
3390 (alpha_output_filename): Do not emit N_SOL stabs here. Remove
3391 now-unused variable.
3392 (alpha_output_lineno): Delete.
3393 * config/mips/mips-protos.h: Don't prototype mips_output_lineno.
3394 * config/mips/mips.c (mips_output_filename): Don't use
3395 ASM_OUTPUT_FILENAME. Don't emit N_SOL stabs here.
3396 (mips_output_lineno): Delete.
3397 (mips_output_function_prologue: Use SDB_OUTPUT_SOURCE_LINE.
3398 * config/alpha/alpha.h: Define DBX_OUTPUT_SOURCE_LINE and
3399 SDB_OUTPUT_SOURCE_LINE, not ASM_OUTPUT_SOURCE_LINE.
3400 * config/mips/mips.h: Likewise. Don't define ASM_OUTPUT_FILENAME.
3401 * config/mips/sdb.h: Use SDB_OUTPUT_SOURCE_LINE.
3402 * config/avr/avr.h: Don't define ASM_OUTPUT_SOURCE_LINE.
3403 * config/mmix/mmix.h: Likewise.
3404 * config/mmix/mmix.c (mmix_asm_output_source_line): Delete.
3405 * config/mmix/mmix-protos.h: Don't prototype it.
3406 * config/alpha/unicosmk.h: Also #undef PREFERRED_DEBUGGING_TYPE;
3407 no need to #undef ASM_OUTPUT_SOURCE_LINE.
3408 * config/arm/aout.h: Remove RISCiX-specific definition of
3409 DBX_OUTPUT_MAIN_SOURCE_FILENAME.
3410 * config/m32r/m32r.h: Define DBX_OUTPUT_SOURCE_LINE, not
3411 ASM_OUTPUT_SOURCE_LINE.
3412 * config/rs6000/linux64.h (ASM_OUTPUT_SOURCE_LINE): Rename to
3413 DBX_OUTPUT_SOURCE_LINE. Don't use current_function_func_begin_label.
3414 * config/vax/elf.h: No need to define DBX_OUTPUT_FUNCTION_END.
3416 * doc/tm.texi: Update.
3418 2004-10-20 Richard Henderson <rth@redhat.com>
3420 * tree-sra.c (instantiate_element): Copy DECL_IGNORED_P also.
3422 2004-10-20 Kelley Cook <kcook@gcc.gnu.org>
3424 * configure.ac: Revert my previous patch.
3425 * configure: Regenerate.
3427 2004-10-20 Ben Elliston <bje@au.ibm.com>
3429 * config/rs6000/rs6000.c
3430 (rs6000_va_start): Use build_va_arg_indirect_ref.
3431 (rs6000_gimplify_va_arg): Likewise.
3433 2004-10-20 Bryce McKinlay <mckinlay@redhat.com>
3436 * configure.ac: Declare AM_LANGINFO_CODESET.
3437 * aclocal.m4: Define AM_LANGINFO_CODESET.
3438 * configure, config.in: Rebuilt.
3440 2004-10-20 Kazu Hirata <kazu@cs.umass.edu>
3442 * expr.c (store_expr): Remove code that is run when
3443 want_value & 1 is nonzero.
3445 2004-10-20 Mark Mitchell <mark@codesourcery.com>
3447 * gthr-posix.h (__gthread_active_p): Use __extension__ around cast
3448 from function pointer to void *.
3450 2004-10-20 Kaz Kojima <kkojima@gcc.gnu.org>
3453 * config/sh/sh.c (sh_expand_epilogue): Emit a blockage insn before
3454 the frame pointer adjustment when exception handling is enabled.
3456 2004-10-20 Kazu Hirata <kazu@cs.umass.edu>
3458 * stor-layout.c: Fix a comment typo.
3460 2004-10-20 Kazu Hirata <kazu@cs.umass.edu>
3462 * expr.c (store_field): Remove two arguments value_mode and
3464 (expand_assignment, store_constructor_field,
3465 expand_expr_real_1): Adjust calls to store_field.
3467 2004-10-18 Ramana Radhakrishnan <ramana.radhakrishnan@codito.com>
3469 * config/arc/lib1funcs.asm (___umulsidi3): Correct usage of flags.
3472 * config/arc/arc.h (REGNO_OK_FOR_BASE_P,REGNO_OK_FOR_INDEX_P,
3473 REG_OK_FOR_BASE, REG_OK_FOR_INDEX): Consider blink(r31) as a valid
3474 base and index register for loads.
3476 * config/arc/t-arc: Fix multilib handling.
3478 2004-10-20 Hans-Peter Nilsson <hp@bitrange.com>
3480 * cfgrtl.c (rtl_verify_flow_info_1): When checking insns in a bb,
3481 don't inspect BLOCK_FOR_INSN for barriers.
3482 * emit-rtl.c (emit_barrier_before): Revert last change.
3483 (emit_barrier_after, emit_barrier): Ditto.
3485 * doc/extend.texi (Extended Asm): Warn and provide example
3486 solution for using a call-clobbered asm register.
3487 (Local Reg Vars): Similar. Cross-reference example.
3489 2004-10-19 Andrew Pinski <pinskia@physics.uc.edu>
3491 * tree-cfg.c (group_case_labels): Look at the second to last
3492 case statement for combing with the default case.
3494 2004-10-19 Richard Hendeson <rth@redhat.com>
3497 * stor-layout.c (layout_type): Set TYPE_ALIGN for vectors.
3499 2004-10-19 Richard Hendeson <rth@redhat.com>
3501 * builtins.c (expand_builtin_memmove): If fold_builtin_memmove
3502 succeeds, only expand the result.
3504 2004-10-19 Richard Hendeson <rth@redhat.com>
3507 * tree.c (recompute_tree_invarant_for_addr_expr): Always poll address
3510 2004-10-19 Kazu Hirata <kazu@cs.umass.edu>
3512 * tree-cfg.c (thread_jumps): Use a do-while loop instead of a
3515 2004-10-19 Kazu Hirata <kazu@cs.umass.edu>
3517 * expr.c (expand_assignment): Remove the last argument.
3518 Change the return type to void.
3519 * expr.h: Update the prototype of expand_assignment.
3520 * function.c (assign_parm_setup_reg): Update a call to
3522 * stmt.c (expand_asm_expr): Likewise.
3524 2004-10-19 Kazu Hirata <kazu@cs.umass.edu>
3526 * expr.c (expand_expr_real_1) <MODIFY_EXPR>: Remove
3527 unnecessary assignments to temp. Return const0_rtx.
3529 2004-10-19 Kaz Kojima <kkojima@gcc.gnu.org>
3531 * config/sh/sh.c (sh5_schedule_saves): Fix typo.
3533 2004-10-18 Kelley Cook <kcook@gcc.gnu.org>
3535 * configure.ac (powerpc-*-darwin*): Require assembler to support
3537 * configure: Regenerate.
3539 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
3541 * reload1.c (ior_hard_reg_set): Remove.
3542 (finish_spills): Use IOR_HARD_REG_SET instead of
3545 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
3547 * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP): Speed up by shifting
3548 the currently visited word to right.
3550 2004-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
3553 * expmed.c (expand_smod_pow2): Handle modes whose size
3554 is greater than that of HOST_WIDE_INT.
3556 2004-10-18 Ziemowit Laski <zlaski@apple.com>
3558 * c-parse.in (reservedwords): Add OBJC_TYPE_QUAL as alternative.
3560 2004-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
3561 Roger Sayle <roger@eyesopen.com>
3564 * dojump.c (discard_pending_stack_adjust): New function.
3565 (clear_pending_stack_adjust): Call it.
3566 * expr.h (discard_pending_stack_adjust): Declare it.
3567 * explow.c (emit_stack_save): Emit pending stack adjustments
3568 before saving the stack pointer.
3569 (emit_stack_restore): Discard pending stack adjustments before
3570 restoring the stack pointer.
3572 2004-10-18 Richard Henderson <rth@redhat.com>
3574 * c-common.c (handle_mode_attribute): Allow scalar->vector
3577 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
3579 * expr.c (expand_expr_real_1) [MODIFY_EXPR]: Don't request a
3580 value to expand_assignment.
3582 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
3584 * tree-cfg.c (cleanup_tree_cfg): Don't iterate on
3586 (thread_jumps): Iterate until no new forwarder block arises.
3588 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
3590 * tree-cfg.c (tree_forwarder_block_p): Don't set forwardable.
3591 (thread_jumps): Use forwardable as cache of
3592 tree_forwarder_block_p throughout the function.
3594 2004-10-18 Andreas Krebbel <krebbel1@de.ibm.com>
3596 * cfg.c (dump_flow_info): Remove redundant dump of reg life info.
3598 2004-10-18 Andrew Pinski <pinskia@physics.uc.edu>
3602 * tree-cfg.c (remove_bb): If we have a label expression in the
3603 basic block and the label we have taken the address, move the
3604 label expression to the basic block which is previous in the
3606 (tree_verify_flow_info): Fix printing out the label name of the
3607 problematic label expression.
3609 2004-10-18 Pat Haugen <pthaugen@us.ibm.com>
3611 PR rtl-optimization/18002
3612 * simplify-rtx.c (mode_signbit_p): Externalize function...
3613 * rtl.h (mode_signbit_p): ... to here.
3614 * combine.c (simplify_shift_const): Recognize PLUS signbit as
3615 canonical form of XOR signbit and move to outer op.
3617 2004-10-18 Diego Novillo <dnovillo@redhat.com>
3619 * tree-cfg.c (bsi_for_stmt): Rename from stmt_for_bsi.
3621 * tree-ssa.c (replace_immediate_uses): Call bsi_for_stmt.
3622 Don't call fold_stmt more than once, use bsi_replace.
3624 2004-10-18 Diego Novillo <dnovillo@redhat.com>
3626 PR tree-optimization/17656
3627 * tree-ssa.c (replace_immediate_uses): When replacing a
3628 constant, if the call to fold_stmt produced a different
3629 statement, get an appropriate statement pointer by scanning
3632 2004-10-18 Richard Henderson <rth@redhat.com>
3634 * pointer-set.c (hash1): Don't use libm functions in fallback case.
3636 2004-10-18 H.J. Lu <hongjiu.lu@intel.com>
3639 * Makefile.in (clean): Remove libgcc_s$(SHLIB_EXT).1.stage?.
3640 (stage1-start): Remove and copy libunwind.a and
3641 libunwind*$(SHLIB_EXT) instead of libunwind*.
3642 (stage2-start): Likewise.
3643 (stage3-start): Likewise.
3644 (stage4-start): Likewise.
3645 (stageprofile-start): Likewise.
3646 (stagefeedback-start): Likewise.
3648 * config/alpha/t-osf4 (SHLIB_LINK): Use a temporary file for
3649 the shared library to be created and don't remove the existing
3651 * config/arm/t-netbsd (SHLIB_LINK): Likewise.
3652 * config/i386/t-nwld (SHLIB_LINK): Likewise.
3653 * config/mips/t-slibgcc-irix (SHLIB_LINK): Likewise.
3654 * config/pa/t-hpux-shlib (SHLIB_LINK): Likewise.
3655 * config/sh/t-linux (SHLIB_LINK): Likewise.
3656 * config/t-libunwind-elf (SHLIBUNWIND_LINK): Likewise.
3657 * config/t-slibgcc-darwin (SHLIB_LINK): Likewise.
3658 * config/t-slibgcc-elf-ver (SHLIB_LINK): Likewise.
3659 * config/t-slibgcc-sld (SHLIB_LINK): Likewise.
3661 * mklibgcc.in (libgcc-stage-start): Also move "*${objext}s"
3664 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
3666 * basic-block.h (reg_set_iterator): New.
3667 (EXECUTE_IF_SET_IN_REG_SET): Make it iterator style.
3668 (EXECUTE_IF_AND_COMPL_IN_REG_SET): Likewise.
3669 (EXECUTE_IF_AND_IN_REG_SET): Likewise.
3670 * caller-save.c (save_call_clobbered_regs): Adjust to the new
3672 * cfgcleanup.c (thread_jump): Likewise.
3673 * cfgrtl.c (safe_insert_insn_on_edge): Likewise.
3674 * conflict.c (conflict_graph_compute): Likewise.
3675 * flow.c (verify_local_live_at_start, update_life_info,
3676 initialize_uninitialized_subregs, propagate_one_insn,
3677 init_propagate_block_info, free_propagate_block_info,
3678 propagate_block, dump_regset): Likewise.
3679 * global.c (global_conflicts): Likewise.
3680 * graph.c (start_bb): Likewise.
3681 * local-alloc.c (update_equiv_regs): Likewise.
3682 * loop.c (load_mems): Likewise.
3683 * reload1.c (compute_use_by_pseudos, order_regs_for_reload,
3684 find_reg, finish_spills): Likewise.
3685 * resource.c (mark_target_live_regs): Likewise.
3686 * sched-deps.c (sched_analyze_insn): Likewise.
3687 * sched-rgn.c (sched-rgn.c): Likewise.
3688 * config/frv/frv.c (frv_ifcvt_modify_tests): Likewise.
3690 2004-10-18 Jakub Jelinek <jakub@redhat.com>
3692 * config/i386/i386.md (addqi_1_slp): Test for incdec_operand
3693 operand 1 instead of 2
3695 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
3697 * loop-unroll.c: Fix comment typos.
3699 2004-10-18 Revital Eres <eres@il.ibm.com>
3701 * Makefile.in (loop-unroll.o): Add VARRAY_H dependency.
3702 * loop-unroll.c: Include varray.h.
3703 (struct var_to_expand, struct opt_info): Rename split_ivs_info to
3704 opt_info and expand it to support variable expansion.
3705 (analyze_insns_in_loop): Rename analyze_ivs_to_split and
3706 expand it to support variable expansion.
3707 (pt_info_start_duplication): Rename si_info_start_duplication.
3708 (apply_opt_in_copies): Rename split_ivs_in_copies and add support
3709 to the variable expansion optimization.
3710 (free_opt_info): Rename free_si_info.
3711 (analyze_insn_to_expand_var, referenced_in_one_insn_in_loop_p,
3712 expand_var_during_unrolling, insert_var_expansion_initialization,
3713 combine_var_copies_in_loop_exit, release_var_copies,
3714 get_expansion): New functions.
3715 (peel_loop_completely, unroll_loop_constant_iterations,
3716 unroll_loop_runtime_iterations, peel_loop_simple,
3717 unroll_loop_stupid): Change uses of struct si_info
3719 and add uses of fvariable-expansion-in-unroller flag.
3720 * params.def: Add parameter to restrict the number of expansions.
3721 * params.h: (MAX_VARIABLE_EXPANSIONS): New define to restrict
3722 the number of expansions.
3723 * common.opt: (fvariable-expansion-in-unroller): New flag.
3724 * doc/invoke.texi: (fvariable-expansion-in-unroller): Document.
3726 2004-10-18 Danny Smith <dannysmith@users.sourceforge.net>
3728 * config/i386/cygming.h (TARGET_OS_CPP_BUILTINS): Define
3729 __GXX_MERGED_TYPEINFO_NAMES to 0.
3731 2004-10-17 Hans-Peter Nilsson <hp@bitrange.com>
3733 * cfgrtl.c (rtl_verify_flow_info_1): When checking insns in a bb,
3734 handle barriers in a bb by checking that it points to a NULL bb.
3735 * emit-rtl.c (emit_barrier_before): Set BLOCK_FOR_INSN to NULL.
3736 (emit_barrier_after, emit_barrier): Ditto.
3738 2004-10-18 Joseph S. Myers <jsm@polyomino.org.uk>
3740 * doc/extend.texi (Attribute Syntax): Clarify details of
3741 attributes on parameters.
3743 2004-10-17 Zdenek Dvorak <dvorakz@suse.cz>
3745 * tree-ssa-loop-ivopts.c (tree_ssa_iv_optimize): Move checking out of
3748 2004-10-17 Andrew Pinski <pinskia@physics.uc.edu>
3751 2004-10-17 Andrew Pinski <pinskia@physics.uc.edu>
3753 * c-typeck.c (default_function_array_conversion): Always create
3754 &a[0] for array types.
3755 (build_unary_op): Do not fold &a[x] into a + x.
3757 2004-10-17 Andrew Pinski <pinskia@physics.uc.edu>
3760 * cfgexpand.c (expand_gimple_cond_expr): Emit line notes for next basic
3761 block if there is a goto with a locus.
3763 2004-10-17 Kazu Hirata <kazu@cs.umass.edu>
3765 * config/elfos.h, config/gofast.h, config/interix.h,
3766 config/netbsd.h, config/svr3.h, config/vxworks.h,
3767 config/alpha/alpha-modes.def, config/alpha/alpha-protos.h,
3768 config/alpha/ev4.md, config/alpha/ev5.md, config/alpha/ev6.md,
3769 config/alpha/netbsd.h, config/arm/arm-modes.def,
3770 config/arm/unknown-elf.h, config/c4x/c4x-modes.def,
3771 config/cris/aout.h, config/frv/frv-modes.def,
3772 config/i386/beos-elf.h, config/i386/gas.h,
3773 config/i386/i386-coff.h, config/i386/i386-modes.def,
3774 config/i386/linux.h, config/i386/linux64.h,
3775 config/i386/mingw32.h, config/i386/netbsd-elf.h,
3776 config/i386/netbsd64.h, config/i386/sco5.h,
3777 config/i386/sol2.h, config/i386/uwin.h, config/i860/i860.md,
3778 config/ia64/ia64-modes.def, config/ia64/itanium1.md,
3779 config/ia64/itanium2.md, config/m68k/m68k-modes.def,
3780 config/mips/mips-modes.def, config/mips/sdb.h,
3781 config/mips/vr.h, config/mips/vxworks.h,
3782 config/pa/pa-hpux10.h, config/pa/pa-hpux11.h,
3783 config/pa/pa32-linux.h, config/rs6000/40x.md,
3784 config/rs6000/7450.md, config/rs6000/8540.md,
3785 config/rs6000/linuxspe.h, config/rs6000/power4.md,
3786 config/rs6000/rs6000-modes.def, config/rs6000/rtems.h,
3787 config/rs6000/spe.h, config/s390/2064.md, config/s390/linux.h,
3788 config/s390/s390-modes.def, config/sh/elf.h,
3789 config/sh/sh-modes.def, config/sh/sh64.h,
3790 config/sparc/ultra1_2.md, config/sparc/ultra3.md,
3791 config/stormy16/stormy16.md, config/v850/v850-protos.h,
3792 config/vax/vax.md: Update copyright.
3794 2004-10-17 Kazu Hirata <kazu@cs.umass.edu>
3796 * expr.c (expand_expr_real_1): Remove an obsolete comment.
3798 2004-10-17 Andrew Pinski <pinskia@physics.uc.edu>
3800 * c-typeck.c (default_function_array_conversion): Always create
3801 &a[0] for array types.
3802 (build_unary_op): Do not fold &a[x] into a + x.
3804 2004-10-17 Jakub Jelinek <jakub@redhat.com>
3806 * pointer-set.c (hash1): Use integer part of 2^64 / phi
3807 instead 2^32 / phi if long is 64-bit.
3809 2004-10-17 Joseph S. Myers <jsm@polyomino.org.uk>
3811 * c-common.h (enum rid): Remove RID_PTRBASE, RID_PTREXTENT and
3813 * c-parse.in (PTR_VALUE, PTR_BASE, PTR_EXTENT): Remove %token
3815 (reswords): Remove __ptrbase, __ptrbase__, __ptrextent,
3816 __ptrextent__, __ptrvalue and __ptrvalue__.
3817 (rid_to_yy): Remove RID_PTRBASE, RID_PTREXTENT and RID_PTRVALUE
3820 2004-10-16 Dale Johannesen <dalej@apple.com>
3822 * c-common.c (c_common_get_alias_set): Use GGC for type_hash_table.
3824 2004-10-16 Zdenek Dvorak <dvorakz@suse.cz>
3826 PR tree-optimization/17766
3827 * basic-block.h (enum dom_state): DOM_CONS_OK removed.
3828 (dom_info_available_p): Declare.
3829 * cfghooks.c (split_block, make_forwarder_block): Use
3830 dom_info_available_p.
3831 * dominance.c (compute_dom_fast_query, calculate_dominance_info,
3832 free_dominance_info, verify_dominators): Ditto.
3833 (dom_info_available_p): New function.
3834 * tree-cfg.c (cleanup_control_expr_graph): Free dominance information.
3835 (thread_jumps): Use dom_info_available_p.
3836 * tree-complex.c (expand_complex_div_wide): Ditto.
3837 * tree-mudflap.c (mf_build_check_statement_for): Ditto.
3839 2004-10-16 Zdenek Dvorak <dvorakz@suse.cz>
3841 * tree-ssa-loop-ivopts.c (struct ivopts_data): New field important_candidates.
3842 (find_best_candidate): Take also important candidates into account.
3843 (find_optimal_iv_set): Initialize important_candidates bitmap.
3845 2004-10-16 Zdenek Dvorak <dvorakz@suse.cz>
3847 PR tree-optimization/17560
3848 * predict.c (tree_estimate_probability): Mark irreducible
3851 2004-10-16 Zdenek Dvorak <dvorakz@suse.cz>
3853 PR rtl-optimization/17723
3854 * cfgcleanup.c (merge_memattrs): Handle case when
3855 MEM_SIZE == NULL_RTX.
3857 2004-10-15 Andrew Pinski <pinskia@physics.uc.edu>
3859 * toplev.c (dump_file_name): Change type to be const.
3861 2004-10-15 Joseph S. Myers <jsm@polyomino.org.uk>
3863 * c-typeck.c (build_compound_expr, build_c_cast): Don't try to use
3864 non_lvalue to stop something being a null pointer constant.
3866 2004-10-15 Aldy Hernandez <aldyh@redhat.com>
3868 * config/rs6000/rs6000.h (FUNCTION_ARG_REGNO_P): FPRs are only
3869 available for TARGET_FPRS.
3870 (FUNCTION_VALUE_REGNO_P): Same.
3872 2004-10-15 Geoffrey Keating <geoffk@apple.com>
3874 * doc/invoke.texi (RS/6000 and PowerPC Options): Document
3875 -maltivec in same style as other ISA options.
3877 2004-10-15 Jon Grimm <jgrimm2@us.ibm.com>
3879 * config/host-linux.c (TRY_EMPTY_VM_SPACE): Add __powerpc__
3882 2004-10-15 Kazu Hirata <kazu@cs.umass.edu>
3884 * bitmap.c, bitmap.h, builtin-attrs.def, cfglayout.h,
3885 collect2.h, conflict.c, coretypes.h, coverage.h, errors.h,
3886 gcc.h, gcov-dump.c, gen-protos.c, gencheck.c, gencodes.c,
3887 genconstants.c, gengenrtl.c, genmodes.c, genpeep.c,
3888 gensupport.h, graph.h, gthr-gnat.c, gthr-gnat.h, gthr-posix.c,
3889 gthr-posix.h, hard-reg-set.h, hwint.h, integrate.h, libgcc2.c,
3890 lists.c, machmode.def, mips-tdump.c, opts.h, params.c,
3891 predict.def, predict.h, protoize.c, reload.h, resource.h,
3892 rtl-error.c, sbitmap.c, sbitmap.h, sreal.c, tlink.c,
3893 tree-dump.h, tree-inline.h, unwind-dw2-fde.c, unwind-dw2.c,
3894 unwind-sjlj.c, value-prof.h: Update copyright.
3896 2004-10-15 Kazu Hirata <kazu@cs.umass.edu>
3898 * pointer-set.c, tree-vectorizer.c: Fix comment typos.
3900 2004-10-15 Diego Novillo <dnovillo@redhat.com>
3902 * tree-optimize.c (execute_one_pass): Stop timer right after
3905 2004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
3908 2004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
3911 * tree-cfg.c (remove_usless_stmts_cond): Fold statement.
3912 (remove_useless_stmts_1): Fold trees we know how to fold.
3914 2004-10-14 David Edelsohn <edelsohn@gnu.org>
3916 * configure.ac: Add .machine power4 directive when testing for
3918 * configure: Regenerate.
3920 2004-10-14 Geoffrey Keating <geoffk@apple.com>
3922 * config/darwin.h (JUMP_TABLES_IN_TEXT_SECTION): Don't define.
3924 2004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
3926 * tree-vectorizer.c (vect_transform_loop): Declare vectorization_factor
3929 2004-10-14 Daniel Jacobowitz <dan@codesourcery.com>
3931 * config/rs6000/rs6000.h (REG_CLASS_FROM_LETTER): Return NO_REGS
3932 for 'f' if !TARGET_FPRS.
3934 2004-10-14 Richard Henderson <rth@redhat.com>
3937 * dwarf2out.c (loc_descriptor_from_tree_1): Handle FIX_*_EXPR.
3939 2004-10-14 Richard Henderson <rth@redhat.com>
3942 * c-decl.c (store_parm_decls_oldstyle): Care for parameter type
3944 * c-parse.in (compstmt_primary_start): Check cur_stmt_list non-null
3945 instaed of current_function_decl non-null.
3947 2004-10-14 Matt Austern <austern@apple.com>
3949 * pointer-set.c: New file, special-purpose hash table.
3950 * pointer-set.h: New file.
3951 * tree.h (struct pointer_set_t): Declare as opaque type.
3952 (tree_walk): Last argument is pointer_set_t* now.
3953 * tree-inline.c (WALK_SUBTREE): Convert from htab to pset.
3955 (walk_tree): Convert from htab_t to pointer_set_t for keeping
3956 track of which nodes have already been visited.
3957 (walk_tree_without_duplicates): Convert from htab_t to pointer_set_t.
3958 * cgraphunit.c (cgraph_create_edges): Likewise.
3959 (cgraph_characterize_statics_local): Likewise.
3960 * tree-dfa.c (collect_dfa_stats): Likewise.
3961 * langhooks-def.h (lhd_tree_inlining_walk_subtrees): Last arg is
3963 * langhooks.c (lhd_tree_inlining_walk_subtrees): Likewise.
3964 * langhooks.h (struct lang_hooks_for_tree_inlining): Last arg type
3965 of walk_subtrees is pointer_set_t* now.
3966 * Makefile.in (OBJS-common): add pointer-set.o
3967 (tree-inline.o): Depends on pointer-set.h
3968 (tree-dfa.o): Likewise
3969 (cgraphunit.o): Likewise
3971 2004-10-14 Geoffrey Keating <geoffk@apple.com>
3973 * config/rs6000/darwin.h (ASM_SPEC): Delete.
3974 (TARGET_ASM_FILE_START): Define.
3975 * config/darwin.h (ASM_SPEC): Define.
3976 * config/rs6000/t-darwin (TARGET_LIBGCC2_CFLAGS): Don't supply
3977 -mlong-double-128, it's the default. Update comment about reason
3978 for force_cpusubtype_ALL.
3979 * config/rs6000/darwin-vecsave.asm: Supply .machine.
3980 * config/rs6000/darwin-world.asm: Likewise.
3981 * config/rs6000/rs6000.c (rs6000_darwin_file_start): New.
3982 (symbolic_operand): Delete #if 0ed code.
3984 2004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
3986 * stmt.c (add_case_node): Make sure that we have integer
3987 constant before calling tree_int_cst_compare.
3989 2004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
3993 * tree-cfg.c (remove_usless_stmts_cond): Fold statement.
3994 (remove_useless_stmts_1): Fold trees we know how to fold.
3996 2004-10-14 Joseph S. Myers <joseph@codesourcery.com>
3998 * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS),
3999 config/rs6000/linuxspe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Disallow
4002 2004-10-14 Ulrich Weigand <uweigand@de.ibm.com>
4004 * reload.c (find_reloads): When reloading a PLUS with constant
4005 operand, make sure the constant is pushed to the constant pool
4007 * config/s390/s390.c (s390_secondary_input_reload_class): Remove
4008 reload bug workaround.
4009 (s390_expand_plus_operand): Likewise.
4011 2004-10-14 David Edelsohn <edelsohn@gnu.org>
4013 * opts.c (common_handle_option): Do not enable
4014 flag_speculative_prefetching for -fprofile-generate/use.
4016 2004-10-14 Devang Patel <dpatel@apple.com>
4019 * tree-if-conv.c (process_phi_nodes): Process latch block.
4020 (combine_blocks): Process latch block and update loop structure.
4022 2004-10-14 Olga Golovanevsky <olga@il.ibm.com>
4024 * tree-vectorizer.c (vect_generate_tmps_on_preheader):
4025 (vect_update_ivs_after_vectorizer):
4026 (vect_transform_for_unknown_loop_bound):
4027 (tree_duplicate_loop_to_edge):
4028 (allocate_new_names):
4031 (rename_variables_in_bb):
4033 (rename_variables_in_loop):
4035 (update_phis_for_duplicate_loop):
4036 (update_phi_nodes_for_guard):
4037 (make_loop_iterate_ntimes):
4038 (tree_duplicate_loop_to_edge_cfg):
4040 (vect_analyze_loop_with_symbolic_num_of_iters):
4041 (verify_loop_for_duplication):
4042 (vect_gen_niters_for_prolog_loop):
4043 (vect_update_niters_after_peeling):
4044 (vect_update_inits_of_dr):
4045 (vect_update_inits_of_drs):
4046 (vect_build_loop_niters):
4047 (vect_do_peeling_for_alignment): New functions.
4048 (vect_transform_loop): Add unknown and known but indivisible loop
4049 bound support; add peeling for unalignment support.
4050 (vect_analyze_loop_form): Support symbolic number of iterations.
4051 (vect_transform_loop_bound): New input parameter.
4052 (vect_get_loop_niters): Change input parameter type.
4053 (new_loop_vec_info): LOOP_VINFO_NITERS is tree now.
4054 (vectorizable_store): Allow unaligned access.
4055 (vectorize_loops): Add rewrite_into_loop_closed_ssa.
4056 (vect_analyze_data_refs_alignment): Allowed one unaligned
4058 * tree-vectorizer.h (LOOP_VINFO_NITERS_KNOWN_P): Redefined
4060 (LOOP_VINFO_INT_NITERS): New macro.
4061 (MAX_NUMBER_OF_UNALIGNED_DATA_REFS): New define.
4062 (do_peeling_for_alignment):
4063 (unaligned_drs): New members of _loop_vec_info.
4064 (LOOP_DO_PEELING_FOR_ALIGNMENT): New macro.
4066 2004-10-14 Ranjit Mathew <rmathew@hotmail.com>
4068 * tree.h (TREE_STRING_POINTER): Wrap in "const char *".
4069 (struct tree_string): Remove "const" qualifier for "str".
4071 2004-10-14 Ira Rosen <irar@il.ibm.com>
4073 * tree-vectorizer.c (vect_analyze_data_refs): Call
4074 vect_get_base_and_bit_offset to get memory tag for array ref.
4075 (vect_create_addr_base_for_vector_ref): Remove redundant checks.
4077 2004-10-14 Richard Earnshaw <rearnsha@arm.com>
4079 * configure.ac: Use $LN_S for creating symlinks (not $LN).
4080 * configure: Regenerate.
4082 2004-10-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4084 * doc/install.texi (*-*-solaris2*): Update with info about kernel
4085 patches to solve spurious testsuite failures.
4087 2004-10-14 Dorit Naishlos <dorit@il.bim.com>
4089 * tree-vectorizer.c (get_vectype_for_scalar_type): Added debug prinouts.
4090 Added check that vectype is VECTOR_MODE_P, instead of check for BLKmode.
4091 (vect_analyze_operations): Make sure the vectorization factor > 1. Add
4092 gcc_assert under ENABLE_CHECKING.
4093 (vectorizable_operation): Remove check for VECTOR_MODE_P (moved to
4094 get_vectype_for_scalar_type).
4096 (vect_get_vec_def_for_operand): Remove redundant variables.
4097 (vect_transform_loop): Likewise.
4099 2004-10-14 Richard Sandiford <rsandifo@redhat.com>
4101 * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Make r11 fixed and
4102 global for -mcaller-super-interworking.
4103 (CALLER_INTERWORKING_SLOT_SIZE): New macro.
4104 * config/arm/arm.c (thumb_compute_save_reg_mask): Save r11 if
4105 CALLER_INTERWORKING_SLOT_SIZE is nonzero and the function does
4106 not need a frame pointer.
4107 (arm_get_frame_offsets): Add CALLER_INTERWORKING_SLOT_SIZE bytes to
4108 the soft frame pointer offset.
4109 (thumb_expand_prologue): Set up r11 for -mcaller-super-interworking.
4110 * config/arm/arm.md (*call_reg_thumb, *call_value_reg_thumb): Use