1 2004-10-30 Kaz Kojima <kkojima@gcc.gnu.org>
3 * config/sh/sh.c (prepare_move_operands): Use operands[0]
4 for the output rtl if no_new_pseudos is set. Remove redundant
7 2004-10-30 Joseph S. Myers <joseph@codesourcery.com>
10 * c-decl.c (start_function): Don't check for DECL_BUILT_IN when
11 determining whether to copy parameter types from a previous
12 prototype declaration.
14 2004-10-29 Roger Sayle <roger@eyesopen.com>
16 PR rtl-optimization/17581
17 * cselib.c (cselib_process_insn): The last instruction of a libcall
18 block, with the REG_RETVAL note, should be considered in the libcall.
19 * gcse.c (do_local_cprop): Allow constants to be propagated outside
21 (adjust_libcall_notes): Use simplify_replace_rtx instead of
22 replace_rtx to avoid creating invalid RTL in REG_RETVAL notes.
24 2004-10-30 Kazu Hirata <kazu@cs.umass.edu>
26 * tree-phinodes.c (create_phi_node): Don't zero PHI_REWRITTEN.
28 2004-10-29 Jeff Law <law@redhat.com>
30 * tree-ssa-dom.c (struct edge_info): New structure holding
31 edge equivalences and edge redirection information.
32 (get_eq_expr_value, record_dominating_conditions): Kill.
33 (propagate_to_outgoing_edges): Renamed from cprop_into_phis.
34 Call record_edge_info.
35 (allocate_edge_info, free_edge_info): New.
36 (tree_ssa_dominator_optimize): Use propagate_to_outgoing_edges
37 rather than cprop_into_phis. Free all edge infos before threading
39 (thread_across_edge): Allocate new edge info structures as needed
40 and store the redirection target into the edge info structure
41 instead of the edge's AUX field.
42 (dom_opt_initialize_block): Mark unused argument with ATTRIBUTE_UNUSED.
43 (record_equivalence_from_incoming_edge): Lose unnecessary argument.
44 Revamp code which finds and records equivalences associated with
45 edges to use saved data in the edge_info structure.
46 (record_equivalencs_from_phis): Similarly.
47 (dom_opt_finalize_block): Revamp code which finds and records
48 equivalences associated with edges to use saved data in the
50 (build_and_record_new_cond): New function.
51 (record_conditions): Use build_and_record_new_cond to record
52 dominating conditions.
53 (record_edge_info): New function.
54 (record_range): Tighten test for conditions which create
57 2004-10-29 Geoffrey Keating <geoffk@apple.com>
59 * config/i386/darwin.h (ASM_SPEC): Simplify.
60 (SUBTARGET_EXTRA_SPECS): Add darwin_subarch spec.
61 * config/rs6000/darwin.h (DARWIN_SUBARCH_SPEC): New.
62 (SUBTARGET_EXTRA_SPECS): Add darwin_subarch spec.
63 * config/darwin.h (LINK_COMMAND_SPEC): Don't pass -arch here.
64 (LINK_SPEC): Do pass -arch here. Handle -force_cpusubtype_ALL
65 in all cases. Pass the right -arch or -arch_only based on -mcpu.
66 (ASM_SPEC): Handle -force_cpusubtype_ALL.
67 * doc/invoke.texi (Darwin Options): Improve documentation for
68 Darwin linker (and libtool) switches.
70 * config/rs6000/darwin-fallback.c: Include <mach/thread_status.h>.
72 2004-10-29 Stan Shebs <shebs@apple.com>
74 * config/rs6000/darwin-tramp.asm: Make more 64-bit-friendly.
76 2004-10-29 Kazu Hirata <kazu@cs.umass.edu>
78 * tree-phinodes.c (allocate_phi_node): New.
79 (make_phi_node, resize_phi_node): Use it.
81 2004-10-29 David Edelsohn <edelsohn@gnu.org>
83 * config/rs6000/sysv4.h (TARGET_POWER): Define as 0.
84 * config/rs6000/darwin.h (TARGET_POWER): Define as 0.
86 2004-10-29 Kazu Hirata <kazu@cs.umass.edu>
88 * tree-phinodes.c (make_phi_node, resize_phi_node): Don't zero
90 * tree.h (tree_phi_node): Tell the garbage collector to chase
93 2004-10-29 Richard Earnshaw <rearnsha@arm.com>
95 * opts.c (decode_options): Lower the crossjump threshold for -Os.
97 2004-10-29 Diego Novillo <dnovillo@redhat.com>
99 * tree.h (struct tree_ssa_name): Remove field 'equiv'.
101 2004-10-28 Nathan Sidwell <nathan@codesourcery.com>
103 * bitmap.h (bitmap_empty_p): New.
104 (bitmap_and, bitmap_and_into, bitmap_and_compl,
105 bitmap_and_compl_into, bitmap_ior, bitmap_ior_into,
106 bitmap_ior_compl, bitmap_xor, bitmap_xor_into): New bitmap
108 (bitmap_ior_and_compl): Rename to ...
109 (bitmap_ior_and_compl_into): ... here.
110 * bitmap.c (bitmap_equal_p): Use bitmap_xor.
111 (bitmap_ior_and_compl): Rename to ...
112 (bitmap_ior_and_compl_into): ... here. Adjust. Return changed
114 (bitmap_union_of_diff): Use renamed bitmap functions.
115 * basic-block.h (AND_REG_SET, AND_COMPL_REG_SET, IOR_REG_SET,
116 XOR_REG_SET, IOR_AND_COMPL_REG_SET): Likewise.
117 * cfgrtl.c (safe_insert_insn_on_edge): Likewise.
118 * df.c (df_bb_rd_local_compute)
119 * flow.c (calculate_global_regs_live,
120 init_propagate_block_info): Likewise.
121 * ifcvt.c (find_if_case_1, find_if_case_2,
122 dead_or_predicable): Likewise.
123 * ra-build.c (union_web_part_roots, livethrough_conflicts_bb,
124 reset_conflicts, conflicts_between_webs): Likewise.
125 * ra-rewrite.c (reloads_to_loads, rewrite_program2,
126 detect_web_parts_to_rebuild): Likewise.
127 * sched-ebb.c (compute_jump_reg_dependencies): Likewise.
128 * tree-int-ssa.c (insert_phi_nodes_for, rewrite_into_ssa): Likewise.
129 * tree-sra.c (decide_instantiations): Likewise.
130 * tree-ssa-alias.c (create_name_tags,
131 merge_pointed_to_info): Likewise.
132 * tree-ssa-dom.c (tree_ssa_dominator_optimize): Likewise.
133 * tree-ssa-loop-im.c (move_computations): Likewise.
134 * tree-ssa-operands.c (get_call_expr_operands): Likewise.
135 * tree-ssa-pre.c (fini_pre): Likewise.
136 * tree-ssa.c (verify_flow_sensitive_alias_info): Likewise.
137 * tree-ssanames.c (any_marked_for_rewrite_p): Likewise.
138 * tree-vectorizer.c (vectorize_loops): Likewise.
140 2004-10-29 Nick Clifton <nickc@redhat.com>
142 config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): When
143 adding the PIC register to the fixed_regs array, also add it
144 to the call_used_regs array.
146 2004-10-29 Eric Botcazou <ebotcazou@libertysurf.fr>
148 * gthr-posix.h (__gthread_recursive_mutex_init_function): Guard
149 with #ifdef PTHREAD_MUTEX_RECURSIVE/#endif pairs.
151 2004-10-28 Daniel Berlin <dberlin@dberlin.org>
153 * tree-into-ssa.c (rewrite_virtual_phi_arguments): New function.
154 (rewrite_blocks): Modify argument, and use it to decide which
156 (rewrite_def_def_chains): Call rewrite_blocks with true here.
157 (rewrite_into_ssa): and call it with false here.
159 2004-10-29 Kazu Hirata <kazu@cs.umass.edu>
161 * tree-phinodes.c (add_phi_arg): Turn an "if" that always
162 triggers into gcc_assert.
164 2004-10-28 Diego Novillo <dnovillo@redhat.com>
166 PR tree-optimization/16728
167 * tree-flow.h (get_ptr_info): Declare.
168 * tree-ssa-alias.c (get_ptr_info): Make extern.
169 * tree-ssa-copy.c (merge_alias_info): Merge flow-sensitive
172 2004-10-28 Stan Shebs <shebs@apple.com>
174 * config/rs6000/darwin.h (SUBTARGET_EXTRA_SPECS): Handle -m64.
175 * config/rs6000/rs6000.c (rs6000_darwin_file_start): Add ppc64
178 2004-10-28 Frank Ch. Eigler <fche@redhat.com>
180 * tree-mudflap.c (mudflap_init): Mark cache-lookup decls to
181 prevent their later unnecessary registration.
182 (mf_build_check_statement_for): Remove "addr" argument, and
183 related "__mf_value" generated code. Update callers.
184 (mf_decl_eligible_p): New function, factored from mx_register_decls.
185 (mx_register_decls): Call it.
186 (mf_xform_derefs_1): Rewrite COMPONENT_REF and ARRAY_REF cases
187 to restore support for complex nested expressions.
188 (mudflap_enqueue_decl): Simplify. Move registration call emission
190 (mudflap_finish_file): ... to here.
191 (mudflap_enqueue_constant): Remove dump code.
193 2004-10-28 Zack Weinberg <zack@codesourcery.com>
196 * dbxout.c (dbxout_begin_complex_stabs_noforcetext): New function.
197 (DBX_FINISH_STABS): Add (unused by default) SYM parameter.
198 (dbxout_finish_complex_stabs): Update to match.
199 (dbxout_symbol_location): Call emit_pending_bincls_if_required
200 and FORCE_TEXT before DBX_STATIC_BLOCK_START. Use
201 dbxout_begin_complex_stabs_noforcetext.
202 * xcoffout.h (DBX_FINISH_STABS): Restore special case for
203 N_GSYM, using new SYM parameter. Correct logic for special
206 * varasm.c (function_section): If DECL is NULL_TREE, don't try
207 to do anything else. Do not call get_insns if cfun or
210 2004-10-28 Adam Nemet <anemet@lnxw.com>
213 * c-typeck.c (c_mark_addressable): Issue error if address of a
214 register variable is taken. Use "%qD" to print DECL_NAME.
216 2004-10-28 Diego Novillo <dnovillo@redhat.com>
218 * opts.c (decode_options): Don't run PRE at -Os.
220 2004-10-28 Richard Henderson <rth@redhat.com>
222 * config/alpha/alpha.md (movqicc_internal): Allow exactly one
223 zero in the conditional.
224 (movhicc_internal, movsicc_internal, movdicc_internal): Likewise.
226 2004-10-28 Richard Henderson <rth@redhat.com>
228 * cse.c (memory_extend_rtx): Remove.
229 (cse_main): Don't set it.
230 (cse_insn): Use a local buffer instead.
232 2004-10-28 Andreas Krebbel <krebbel1@de.ibm.com>
234 * profile.c (branch_prob): Call to init_edge_profiler added.
235 * rtl-profile.c (rtl_init_edge_profiler): New function.
236 (rtl_gen_edge_profiler): Replaced call to insert_insn_on_edge with
237 call to safe_insert_insn_on_edge.
238 (rtl_profile_hooks): rtl_init_edge_profiler added.
239 * tree-profile.c (tree_init_edge_profiler): New function.
240 (tree_profile_hooks): tree_init_edge_profiler added.
241 * value-prof.h (profile_hooks) init_edge_profiler prototype added.
243 2004-10-28 Nick Clifton <nickc@redhat.com>
245 * config/iq2000/iq2000.c (iq2000_expand_epilogue): Use
246 emit_jump_insn() to generate the return instruction.
248 2004-10-28 Kazu Hirata <kazu@cs.umass.edu>
250 * tree-phinodes.c: Remove trailing whitespace.
252 2004-10-28 Kazu Hirata <kazu@cs.umass.edu>
254 * tree-ssa-loop-ivopts.c: Fix a comment typo.
255 * doc/invoke.texi: Fix a typo.
257 2004-10-28 Kazu Hirata <kazu@cs.umass.edu>
259 * Makefile.in (OBJS-common): Remove duplicates.
261 2004-10-28 Kazu Hirata <kazu@cs.umass.edu>
263 * lambda-code.c (nestify_update_pending_stmts): Remove.
264 (perfect_nestify): Use flush_pending_stmts instead of
265 nestify_update_pending_stmts.
266 * tree-cfg.c (tree_make_forwarder_block): Use
268 * tree-flow.h: Add a prototype for flush_pending_stmts.
269 * tree-ssa-loop-manip.c (tree_duplicate_loop_to_header_edge):
270 Use flush_pending_stmts.
271 (lv_update_pending_stmts): Remove.
272 (tree_ssa_loop_version): Use flush_pending_stmts instead of
273 lv_update_pending_stmts.
274 * tree-ssa.c (flush_pending_stmts): New.
276 2004-10-28 Ulrich Weigand <uweigand@de.ibm.com>
279 * final.c (alter_subreg): Compute correct offset to use with
280 paradoxical SUBREGs of memory operands.
281 * recog.c (general_operand): Allow paradoxical SUBREGs of
282 memory operands after reload.
283 * simplify-rtx.c (simplify_gen_subreg): Fail if simplify_subreg
284 has failed when passed a hard register.
286 2004-10-28 Aldy Hernandez <aldyh@redhat.com>
288 * function.c (assign_parm_setup_block): Handle parallels correctly.
290 2004-10-28 Kaz Kojima <kkojima@gcc.gnu.org>
292 * final.c (shorten_branches): Initialize flags structure.
294 2004-10-28 Nathan Sidwell <nathan@codesourcery.com>
296 * tree.c (int_cst_node, int_cst_hash_table): New variables.
297 (init_ttree): Initialize them.
298 (int_cst_hash_hash, int_cst_hash_eq): New hashing functions.
299 (build_int_cst_wide): Use hash table for oversized integers.
301 2004-10-28 Nick Clifton <nickc@redhat.com>
303 * config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Define
306 2004-10-27 Richard Henderson <rth@redhat.com>
309 * expr.c (emit_group_load): Don't go force temporary for memory
311 (emit_group_store): Similarly.
313 2004-10-27 Andrew Pinski <pinskia@physics.uc.edu>
316 * common.opt (--param): Fix spelling of parameter.
318 2004-10-27 Andrew Pinski <pinskia@physics.uc.edu>
321 * tree-cfg.c (remove_useless_stmts_1) <case SWITCH_EXPR>:
322 Don't fold statement.
323 <case ASM_EXPR>: Fold the statement.
325 2004-10-28 Kazu Hirata <kazu@cs.umass.edu>
327 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary)
328 <COND_EXPR>: Use EDGE_COUNT instead of GOTO_DESTINATION.
330 2004-10-28 Joseph S. Myers <jsm@polyomino.org.uk>
332 * doc/contrib.texi, doc/cpp.texi, doc/cppopts.texi,
333 doc/extend.texi, doc/gcov.texi, doc/install.texi, doc/invoke.texi,
334 doc/libgcc.texi, doc/md.texi, doc/passes.texi,
335 doc/sourcebuild.texi, doc/tm.texi: Improve Texinfo formatting.
337 2004-10-28 Joseph S. Myers <jsm@polyomino.org.uk>
339 * doc/c-tree.texi, doc/cpp.texi, doc/implement-c.texi,
340 doc/invoke.texi, doc/md.texi, doc/passes.texi, doc/tm.texi: Put
341 punctuation outside quotes.
343 2004-10-27 David Mosberger <davidm@hpl.hp.com>
344 James E Wilson <wilson@specifixinc.com>
347 * config/ia64/ia64.c (ia64_expand_epilogue): Set RTX_FRAME_RELATED_P on
348 sibcall alloc instruction.
349 (process_set): Handle sibcall alloc instruction.
351 2004-10-27 Geoffrey Keating <geoffk@apple.com>
353 * config/rs6000/rs6000.c (rs6000_attribute_table): Add
354 SUBTARGET_ATTRIBUTE_TABLE.
355 * config/darwin.h (ASM_WEAKEN_DECL): Handle weak_import.
356 (SUBTARGET_ATTRIBUTE_TABLE): Define.
357 * config/darwin.c (darwin_handle_weak_import_attribute): New.
358 (HAVE_DEAD_STRIP): Delete.
359 (no_dead_strip): Don't test HAVE_DEAD_STRIP.
360 * config/darwin-protos.h (darwin_handle_weak_import_attribute):
363 * doc/tm.texi (USE_SELECT_SECTION_FOR_FUNCTIONS): Document.
365 * config/darwin.h (GTHREAD_USE_WEAK): Define.
367 2004-10-28 Ben Elliston <bje@au.ibm.com>
369 * params.def (PARAM_SRA_MAX_STRUCTURE_SIZE): New.
370 (PARAM_SRA_FIELD_STRUCTURE_RATIO): Likewise.
371 * params.h (SRA_MAX_STRUCTURE_SIZE): New.
372 (SRA_FIELD_STRUCTURE_RATIO): Likewise.
373 * tree-sra.c: Include "params.h".
374 (decide_block_copy): Use new parameters.
375 * doc/invoke.texi (Optimize Options): Document new SRA pass
376 parameters sra-max-structure-size and sra-field-structure-ratio.
378 2004-10-27 Nicolas Pitre <nico@cam.org>
380 * config/arm/ieee754-df.S (floatdidf): Fix regression with big values.
382 2004-10-27 Zdenek Dvorak <dvorakz@suse.cz>
384 PR tree-optimization/18048
385 * fold-const.c (try_move_mult_to_index): New function.
386 (fold): Use try_move_mult_to_index.
387 * tree-ssa-loop-ivopts.c (try_add_cand_for): Prefer common candidates.
388 * tree-ssa-loop-niter.c (number_of_iterations_cond): Produce
389 an all-ones unsigned constant without extra bits.
390 * tree.c (build_low_bits_mask): New function.
391 * tree.h (build_low_bits_mask): Declare.
393 2004-10-27 David Edelsohn <edelsohn@gnu.org>
396 * config/rs6000/rs6000.md (maxsf3): Add !flag_trapping_math to
402 2004-10-27 Kazu Hirata <kazu@cs.umass.edu>
404 * tree-cfg.c (thread_jumps): Speed up by reordering the two
405 conditions for entering basic blocks into worklist.
407 2004-10-27 Kazu Hirata <kazu@cs.umass.edu>
409 * tree-cfg.c (thread_jumps): Speed up by pretending to have
410 ENTRY_BLOCK_PTR in worklist.
412 2004-10-27 Kazu Hirata <kazu@cs.umass.edu>
414 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary)
415 <GOTO_EXPR>: Don't let an explicit GOTO_EXPR slip through.
417 2004-10-27 Daniel Berlin <dberlin@dberlin.org>
419 Fix PR tree-optimization/17133
421 * tree-cfg.c (rewrite_to_new_ssa_names_bb): Also rewrite must
424 * tree-flow-inline.h: V_MUST_DEF_OP became V_MUST_DEF_RESULT.
425 (get_v_must_def_result_ptr): Modify for new structure of
427 (get_v_must_def_kill_ptr): New.
428 (op_iter_next_use): Add support for the kill that occurs in V_MUST_DEFs.
429 (op_iter_next_tree): Ditto. Also V_MAY_DEF_OP became V_MAY_DEF_RESULT.
430 (op_iter_next_def): V_MAY_DEF_OP became V_MAY_DEF_RESULT.
431 (op_iter_init): Initialize new mustu members.
432 (op_iter_next_mustdef): New function.
433 (op_iter_init_mustdef): Ditto.
435 * tree-flow.h (rewrite_def_def_chains): New function.
437 * tree-into-ssa.c (mark_def_sites): Handle mustdefkill operands.
438 (ssa_mark_def_sites): Ditto.
439 (rewrite_stmt): Ditto.
440 (ssa_rewrite_stmt): Ditto.
441 (rewrite_blocks): Factor out from rewrite_into_ssa.
442 (mark_def_block_sites): Ditto.
443 (rewrite_def_def_chains): New function, just rewrites def-def
444 chains without phi node insertion.
446 * tree-pass.h (TODO_fix_def_def_chains): New todo flag.
448 * tree-optimize.c (execute_todo): Handle TODO_fix_def_def_chains.
450 * tree-pretty-print.c (dump_vops): Print out MUST_DEF's so that
451 they include the rhs now.
453 * tree-ssa-ccp.c (visit_assignment): V_MUST_DEF_OP became
456 * tree-ssa-dce.c (mark_operand_necessary): Add phionly argument.
458 (mark_really_necessary_kill_operand_phis): New function.
459 (perform_tree_ssa_dce): Call it.
460 (pass_dce): Add TODO_fix_def_def_chains.
461 (pass_cd_dce): Ditto.
463 * tree-ssa-loop-im.c (determine_max_movement): Look at kills as
465 (rewrite_mem_refs): Ditto.
467 * tree-ssa-loop-manip.c (find_uses_to_rename_stmt): Look at kills
470 * tree-ssa-operands.c (allocate_v_may_def_optype):
471 v_may_def_operand_type_t became v_def_use_operand_type_t.
472 (allocate_v_must_def_optype) Ditto.
473 (finalize_ssa_v_must_defs): Update for new operand type, as well
474 as setting the use portion as well.
475 (copy_virtual_operands): Copy the kill operand as well.
476 (create_ssa_artficial_load_stmt): V_MUST_DEF_OP became
479 * tree-ssa-operands.h (v_may_def_operand_type): Renamed to
480 v_def_use_operand_type.
481 (v_must_def_optype_d): Use v_def_use_operand_type.
482 (V_MUST_DEF_OP_*): Renamed to V_MUST_DEF_RESULT_*
483 (V_MUST_DEF_KILL_*): New macros.
484 (struct ssa_operand_iterator_d): Add num_v_mustu and v_mustu_i
486 Rename existing must_i and num_v_must members to mustd_i and
488 (SSA_OP_VMUSTDEFKILL): New flag.
489 (SSA_OP_VIRTUAL_KILLS): New flag.
490 (SSA_OP_ALL_OPERANDS): Add in SSA_OP_ALL_KILLS.
491 (SSA_OP_ALL_KILLS): New flag.
492 (FOR_EACH_SSA_MUSTDEF_OPERAND): New macro.
494 * tree-ssa.c (verify_ssa): Verify virtual kills as well.
496 * tree-vectorizer.c (vect_create_data_ref_ptr): V_MUST_DEF_OP
497 became V_MUST_DEF_RESULT.
498 (rename_variables_in_bb): Rename kill pointer as well.
500 * tree-dfa.c (compute_immediate_uses_for_stmt): Add kills into the
503 2004-10-27 Richard Sandiford <rsandifo@redhat.com>
505 * dbxout.c (dbxout_source_line): Move declaration of begin_label to
506 the block that needs it.
508 2004-10-27 Zack Weinberg <zack@codesourcery.com>
510 * dbxout.c (dbxout_finish_complex_stabs): Mark 'line' variable
513 2004-10-27 Zack Weinberg <zack@codesourcery.com>
515 * c-lex.c (cb_def_pragma): Clean up code for making location
516 palatable to diagnostic.c.
518 2004-10-27 Steven Bosscher <stevenb@suse.de>
520 PR tree-optimization/17757
521 * tree-phinodes.c (remove_phi_arg_num): Don't remove PHIs
522 without any PHI arguments left. Make sure the argument that
523 we're supposed to remove exists at all.
525 2004-10-27 Paul Brook <paul@codesourcery.com>
527 * configure.ac: Don't test for [build] __cxa_atexit when building a
529 * configure: Regenerate.
531 2004-10-27 Paul Brook <paul@codeosurcery.com>
533 * configure.ac: Use build_exeext not host_exeext when lookin for
535 * configure: Regenerate.
537 2004-10-27 Andreas Krebbel <krebbel1@de.ibm.com>
539 * config/s390/s390.md ("*subdf3_cc"): Replaced plus by minus.
541 2004-10-27 Andreas Krebbel <krebbel1@de.ibm.com>
542 patch originally created by Kelley Cook <kcook@gcc.gnu.org>
545 * opts.c (OPT_fprofile_generate): Default to -funroll-loops
546 to match -fprofile-use.
548 2004-10-27 Kazu Hirata <kazu@cs.umass.edu>
550 * config/rs6000/rs6000.c: Fix a comment typo.
552 2004-10-27 Zack Weinberg <zack@codesourcery.com>
554 * config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Increment line
557 2004-10-27 Andreas Schwab <schwab@suse.de>
559 * varasm.c (default_stabs_asm_out_destructor): Mark symbol as
561 (default_stabs_asm_out_constructor): Likewise.
563 2004-10-26 Geoffrey Keating <geoffk@apple.com>
565 * builtins.c (fold_builtin_unordered_cmp): Always bring both
566 operands to the same type.
568 2004-10-26 James E Wilson <wilson@specifixinc.com>
571 * emit-rtl.c (emit_copy_of_insn_after): Copy RTX_FRAME_RELATED_P.
573 2004-10-26 Zack Weinberg <zack@codesourcery.com>
575 * dbxout.c: Include obstack.h.
576 (ASM_STABS_OP): Take XCOFF_DEBUGGING_INFO into account in
578 (ASM_STABD_OP, NO_DBX_MAIN_SOURCE_DIRECTORY, DBX_CONTIN_CHAR):
580 (DBX_CONTIN_LENGTH): Move definition with others.
581 (DBX_FINISH_STABS): New target macro.
582 (current_sym_code, current_sym_value, current_sym_addr)
583 (current_sym_nchars, CHARS, dbxout_continue)
584 (print_int_cst_octal, print_octal, print_wide_int)
585 (dbxout_prepare_symbol, dbxout_finish_symbol): Delete.
586 (stabstr_ob, stabstr_last_contin_point): New variables.
587 (NUMBER_FMT_LOOP): New improper macro.
588 (dbxout_int, dbxout_stab_value_zero, dbxout_stab_value_label)
589 (dbxout_stab_value_label_diff, dbxout_stab_value_internal_label)
590 (dbxout_stab_value_internal_label_diff, dbxout_stabd)
591 (dbxout_begin_stabn, dbxout_begin_stabn_sline)
592 (dbxout_begin_simple_stabs, dbxout_begin_simple_stabs_desc)
593 (dbxout_begin_complex_stabs, dbxout_finish_complex_stabs)
594 (stabstr_C, stabstr_S, stabstr_I, stabstr_D, stabstr_U, stabstr_O)
595 (stabstr_continue, DECL_ACCESSIBILITY_CHAR)
596 New functions and/or proper function-like macros.
597 (CONTIN): Use stabstr_continue, unconditionally.
598 (get_lang_number): Define unconditionally, with ATTRIBUTE_UNUSED.
599 (dbxout_init): Initialize stabstr_ob. Check
600 NO_DBX_MAIN_SOURCE_DIRECTORY. Only write out the Ltext label
601 if it was used. Use the new interfaces.
602 (dbxout_source_file): Remove file argument; always write to
603 asm_out_file. Use the new interfaces.
604 (dbxout_type_method_1): Remove second argument which is always
605 DECL_ASSEMBLER_NAME of the first argument. Use the new interfaces.
606 (dbxout_type_methods): Remove write-only variables. Use the
608 (dbxout_parms): Refactor to remove code duplicated in each of
609 several successive if-else-if blocks. Use the new interfaces.
610 (dbxout_function_end, emit_bincl_stab, dbxout_end_source_file)
611 (dbxout_source_line, dbxout_finish, dbxout_type_index)
612 (dbxout_type_fields, dbxout_range_type, dbxout_type, dbxout_type_name)
613 (dbxout_class_name_qualifiers, dbxout_symbol, dbxout_symbol_location)
614 (dbxout_symbol_name, dbxout_reg_parms, dbxout_args)
615 (dbx_output_lbrac, dbx_output_rbrac, dbxout_block):
616 Use the new interfaces.
617 * Makefile.in (dbxout.o): Update dependencies.
619 * defaults.h: Don't define ASM_STABD_OP.
620 * output.h: Prototype new dbxout_* interfaces.
621 * system.h: Poison DBX_OUTPUT_GCC_MARKER and DBX_FINISH_SYMBOL.
622 * varasm.c: Don't define ASM_STABS_OP.
623 (default_stabs_asm_out_constructor, default_stabs_asm_out_destructor):
624 Use the new dbxout.c interfaces. Call sorry if neither
625 DBX_DEBUGGING_INFO nor XCOFF_DEBUGGING_INFO is defined.
627 * xcoffout.h: Don't define ASM_STABS_OP.
628 (DBX_FINISH_SYMBOL): Rewrite and rename DBX_FINISH_STABS.
629 (DBX_OUTPUT_MAIN_SOURCE_DIRECTORY, DBX_OUTPUT_GCC_MARKER): Delete.
630 (NO_DBX_MAIN_SOURCE_DIRECTORY, NO_DBX_GCC_MARKER): Define.
631 (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Change bare block to
632 do { ... } while (0) idiom.
634 * config/alpha/alpha.c (num_source_filenames): Export.
635 * config/alpha/alpha.h (num_source_filenames): Declare.
636 (DBX_OUTPUT_SOURCE_LINE): Use new interfaces.
637 (SDB_OUTPUT_SOURCE_LINE): Add missing newline.
638 * config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Use new interfaces.
639 Always use .debugsym. Update commentary.
640 * config/mips/mips.h (DBX_OUTPUT_SOURCE_LINE): Use new interfaces.
641 (SDB_OUTPUT_SOURCE_LINE): Add missing newline.
642 * config/rs6000/linux64.h (DBX_OUTPUT_SOURCE_LINE, DBX_OUTPUT_BRAC):
644 * config/rs6000/rs6000.c: If TARGET_MACHO, include gstab.h.
645 (macho_branch_islands): Use new interfaces.
647 * doc/tm.texi: Update.
649 2004-10-26 Aldy Hernandez <aldyh@redhat.com>
651 * expr.c (emit_group_store): Do not treat floats as BLKmode.
652 (emit_group_load): Same.
654 2004-10-26 Joseph S. Myers <jsm@polyomino.org.uk>
656 * c-parse.in (datadef): Use pedwarn rather than error and warning
657 for diagnostic in case of no declaration specifiers.
659 2004-10-26 Richard Sandiford <rsandifo@redhat.com>
662 * doc/install.texi (mips-sgi-irix5): Document that /bin/sh has been
663 reported to hang during bootstrap and that CONFIG_SHELL=/bin/ksh
664 can be used to work around this.
666 2004-10-26 Aldy Hernandez <aldyh@redhat.com>
668 * config/rs6000/rs6000.h (MEMBER_TYPE_FORCES_BLK): Adjust for e500
671 2004-10-26 Kazu Hirata <kazu@cs.umass.edu>
673 * stmt.c (expand_case): Update a comment.
675 2004-10-26 Kazu Hirata <kazu@cs.umass.edu>
677 * stmt.c (expand_case): Put an assertion that index_expr is
678 never INTEGER_CST. Don't special case for constant
681 2004-10-26 Andrew Pinski <pinskia@physics.uc.edu>
684 * c-parse.in (designator): Finish with a semi-colon.
686 2004-10-26 Fariborz Jahanian <fjahanian@apple.com>
688 * config/rs6000/rs6000.md (andsi3_internal8): Set CR when splitting
691 2004-10-26 Kazu Hirata <kazu@cs.umass.edu>
693 * stmt.c (expand_case): Remove code to handle SWITCH_EXPR with
696 2004-10-26 Aldy Hernandez <aldyh@redhat.com>
698 * config/rs6000/rs6000.c (rs6000_hard_regno_nregs): Adjust for
700 (spe_build_register_parallel): New.
701 (rs6000_spe_function_arg): Handle e500 doubles.
702 (function_arg): Same.
703 (spe_func_has_64bit_regs_p): Same.
704 (rs6000_function_value): Same.
705 (rs6000_libcall_value): Same.
706 (legitimate_lo_sum_address_p): Return false for e500 doubles.
708 * config/rs6000/rs6000.h (LOCAL_ALIGNMENT): Adjust for e500
710 (DATA_ALIGNMENT): Same.
711 (CANNOT_CHANGE_MODE_CLASS): Same.
713 2004-10-26 Aldy Hernandez <aldyh@redhat.com>
715 * expr.c (emit_group_load): Handle floats.
716 (emit_group_store): Same.
718 2004-10-26 Nathan Sidwell <nathan@codesourcery.com>
720 * c-lex.c (get_nonpadding_token): Remove.
721 (c_lex_with_flags): Push timevar and eat padding here. Improve
722 stray token diagnostic.
723 (lex_string): Replace logic with switch statement, eat padding
726 2004-10-26 Geoffrey Keating <geoffk@apple.com>
729 * config/i386/darwin.h (ASM_SPEC): Undef it before defining.
731 2004-10-25 Geoffrey Keating <geoffk@apple.com>
733 * config/darwin.h (LINK_SPEC): Default weak_reference_mismatches
735 (MAKE_DECL_ONE_ONLY): Set DECL_WEAK.
736 (ASM_MAKE_LABEL_LINKONCE): Delete.
737 (ASM_WEAKEN_DECL): New.
738 (ASM_DECLARE_OBJECT_NAME): Look at DECL_WEAK not DECL_ONE_ONLY.
739 (ASM_DECLARE_FUNCTION_NAME): Likewise.
740 (TEXT_SECTION_ASM_OP): Add a tab.
741 (DATA_SECTION_ASM_OP): Likewise.
742 (SECTION_FUNCTION): Add a tab. Use fputs. Don't call
743 data_section on every section change.
744 (EXTRA_SECTIONS): Add a bunch of new extra sections.
745 (EXTRA_SECTION_FUNCTIONS): Likewise.
746 (USE_SELECT_SECTION_FOR_FUNCTIONS): Define.
747 (JCR_SECTION_NAME): Define.
748 (TARGET_SECTION_TYPE_FLAGS): Don't define.
749 * config/darwin.c (darwin_encode_section_info): A symbol is defined
750 in this file if it is not weak.
751 (textcoal_section): Delete.
752 (datacoal_section): Delete.
753 (darwin_make_decl_one_only): Delete.
754 (machopic_select_section): Handle functions.
755 (darwin_asm_named_section): Add a tab.
756 (darwin_section_type_flags): Delete.
757 (darwin_unique_section): Delete contents.
758 (darwin_emit_unwind_label): Add a tab. Make decls weak if
760 * config/darwin-protos.h (darwin_section_type_flags): Delete.
761 (darwin_make_decl_one_only): Delete.
762 (text_coal_section): New.
763 (text_unlikely_section): New.
764 (text_unlikely_coal_section): New.
765 (const_coal_section): New.
766 (data_coal_section): New.
767 (const_data_coal_section): New.
768 * varasm.c (function_section): Honour
769 USE_SELECT_SECTION_FOR_FUNCTIONS.
770 * dwarf2out.c (output_call_frame_info): Look at DECL_WEAK when
771 TARGET_USES_WEAK_UNWIND_INFO is in effect.
772 * dbxout.c (dbxout_source_file): Don't change sections while
773 a function is being output.
775 2004-10-25 David Ayers <d.ayers@inode.at>
777 * c-common.h: Remove RID_ID.
778 * c-parse.in: Remove OBJECTNAME and references to RID_ID.
779 (typespec_reserved_attr): Add rule for TYPENAME
780 non_empty_protocolrefs.
781 (yylexname): Remove special handling of RID_ID.
783 2004-10-25 James E Wilson <wilson@specifixinc.com>
785 * doc/invoke.texi (-fcrossjumping): Not enabled at -O.
787 2004-10-25 Joseph S. Myers <jsm@polyomino.org.uk>
790 * c-parse.in (array_designator): New.
791 (designator): Use it.
792 (initelt): Only permit array_designator without '=', not ".foo".
794 2004-10-25 Kenneth Zadeck <zadeck@naturalbridge.com>
795 * gcc/Makefile.in: removed ggc for cgraphunit.
796 * gcc/cgraph.c.dump_cgraph_node: removed static var analysis.
797 * gcc/cgraph.h: removed static var analysis data structures and calls.
799 cgraph_mark_local_and_external_functions:changed name to
800 cgraph_mark_local_functions
801 (print_order,convert_UIDs_in_bitmap,new_static_vars_info,
802 cgraph_reset_static_var_maps,get_global_static_vars_info,
803 get_global_statics_not_read,get_global_statics_not_written,searchc,
804 cgraph_reduced_inorder,has_proper_scope_for_analysis,check_rhs_var,
805 check_lhs_var,get_asm_expr_operands,process_call_for_static_vars,
806 scan_for_static_refs,cgraph_characterize_statics_local,
807 clear_static_vars_maps,cgraph_propagate_bits,cgraph_characterize_statics):
809 (cgraph_optimize,init_cgraph): removed calls to static vars analysis
810 * gcc/tree-dfa.c find_referenced_vars: removed call to static vars
812 * gcc/tree-flow.h static_vars_info: removed
813 * gcc/tree-ssa-operands.c (add_call_clobber_ops,add_call_read_ops):
814 removed calls to static vars analysis.
815 get_call_expr_operands: removed callee variable.
817 2004-10-25 Kazu Hirata <kazu@cs.umass.edu>
819 * cfg.c (unchecked_make_edge, redirect_edge_succ,
820 redirect_edge_pred): Use VEC_safe_push instead of
822 * cfgrtl.c (force_nonfallthru_and_redirect): Likewise.
824 2004-10-25 Kazu Hirata <kazu@cs.umass.edu>
826 * cfgloopmanip.c (loopify): Take two more arguments true_edge
828 * cfgloop.h: Adjust the corresponding prototype.
829 * loop-unswitch.c (unswitch_loop): Adjust a call to loopify.
830 * tree-ssa-loop-manip.c (tree_ssa_loop_version): Likewise.
832 2004-10-25 Jakub Jelinek <jakub@redhat.com>
834 * dwarf2out.c (rtl_for_decl_location): Avoid segfault if
835 DECL_INCOMING_RTL is NULL.
837 2004-10-25 Steven Bosscher <stevenb@suse.de>
839 * timevar.def (TV_FIND_REFERENCED_VARS): New.
840 * tree-dfa.c (pass_referenced_var): Use it.
842 2004-10-25 Roger Sayle <roger@eyesopen.com>
843 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
845 * cse.c: Change encoding of quantity numbers to avoid undefined
846 pointer arithmetic on qty_table.
847 (REGNO_QTY_VALID_P): A quantity is now valid if it isn't negative.
848 (get_cse_reg_info): Initialize reg_qty to a unique negative value.
849 (new_basic_block): Assign "real" quantity numbers from zero.
850 (delete_reg_equiv): Do nothing if quantity is invalid. Reset the
851 REG_QTY to its unique negative value.
852 (merge_equiv_classes): Calculate need_rehash if quantity is valid.
853 (cse_main): Don't include max_reg when determining max_qty.
854 (cse_basic_block): Avoid subtracting a large offset from qty_table,
855 which causes undefined C99 behaviour. Only allocate needed memory.
857 2004-10-25 Kazu Hirata <kazu@cs.umass.edu>
859 * stmt.c (expand_case): Remove an obsolete comment.
861 2004-10-25 Andrew Pinski <pinskia@physics.uc.edu>
864 * c-decl.c (grokdeclarator) <case cdk_array>: Remove the call
865 layout_type as it is already done by build_array_type.
866 * tree.c (build_array_type): Layout the type even
868 2004-10-25 Alexandre Oliva <aoliva@redhat.com>
870 * config/frv/linux.h (TARGET_C99_FUNCTIONS): Define to 0.
872 2004-10-25 Alexandre Oliva <aoliva@redhat.com>
874 * config/frv/frv.md (movdi, movdf): Handle wide-constant splits
875 with wider-than-32-bit HOST_WIDE_INTs.
877 2004-10-25 David Billinghurst <David.Billinghurst@riotinto.com>
879 * config/mips/mips.c(mips_output_filename): Remove unused
880 array ltext_label_name
882 2004-10-24 Geoffrey Keating <geoffk@geoffk.org>
884 * config/rs6000/darwin.h (BLOCK_REG_PADDING): Define.
886 2004-10-25 Ben Elliston <bje@au.ibm.com>
888 * cfgcleanup.c (outgoing_edges_match): Fix typo in dump output.
890 2004-10-23 Andrew Pinski <pinskia@physics.uc.edu>
892 * predict.c (predict_loops): Call scev_finalize instead of
895 2004-10-24 Kazu Hirata <kazu@cs.umass.edu>
897 * config/dbxcoff.h, config/dbxelf.h, config/libgloss.h,
898 config/openbsd.h, config/mips/r3900.h, config/pdp11/pdp11.md,
899 config/sh/ushmedia.h, config/sparc/elf.h,
900 config/sparc/sp64-elf.h: Update copyright.
902 2004-10-24 Kazu Hirata <kazu@cs.umass.edu>
904 * stmt.c (expand_case): Handle the default label outside of
905 the for loop. Remove code to handle a missing default label.
907 2004-10-23 Kazu Hirata <kazu@cs.umass.edu>
909 * dbxout.c (dbxout_function_decl): Don't use
910 DBX_OUTPUT_FUNCTION_END.
911 * system.h: Poison DBX_OUTPUT_FUNCTION_END.
912 * doc/tm.texi (DBX_OUTPUT_FUNCTION_END): Remove.
914 2004-10-23 Andrew Pinski <pinskia@physics.uc.edu>
917 * tree-cfg.c (remove_usless_stmts_cond): Don't Fold statement.
919 2004-10-23 Daniel Berlin <dberlin@dberlin.org>
921 * tree-ssa-dom.c (record_equality): Use loop depth to determine
922 which way to record the equality as well.
923 (loop_depth_of_name): New function.
925 2004-10-23 Eric Botcazou <ebotcazou@libertysurf.fr>
928 * gimplify.c (gimplify_addr_expr) <VIEW_CONVERT_EXPR>: Look
929 through the operand if it is a useless type conversion.
931 2004-10-23 Ben Elliston <bje@au.ibm.com>
933 * cfg.c (remove_edge): Use VEC_unordered_remove.
934 (redirect_edge_succ): Likewise.
935 (redirect_edge_pred): Likewise.
936 * cfgrtl.c (force_nonfallthru_and_redirect): Likewise.
938 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
940 * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP): Don't access PTR
943 2004-10-22 Eric Christopher <echristo@redhat.com>
945 * config/rs6000/rs6000.c (setup_incoming_varargs): Align DFmode
948 2004-10-22 Aldy Hernandez <aldyh@redhat.com>
950 * config/rs6000/spe.md (spe_extendsfdf2): New.
951 (movdf_e500_double): New.
952 (spe_truncdfsf2): New.
959 (spe_floatsidf2): New.
960 (spe_floatunssidf2): New.
961 (fix_truncdfsi2): New.
962 (spe_fixuns_truncdfsi2): New.
964 * config/rs6000/rs6000.md (truncdfsf2): Change to expander.
965 (fpr_truncdfsf2): New.
966 (negdf2): Change to expander.
968 (fpr_nabsdf2): Name pattern.
969 (adddf3): Change to expander.
971 (subdf3): Change to expander.
973 (muldf3): Change to expander.
975 (divdf3): Change to expander.
977 (movdf_softfloat32): Change !TARGET_FPRS to TARGET_E500_SINGLE.
978 (cmpdf): Allow for TARGET_E500_DOUBLE.
980 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
982 * c-semantics.c (re_push_stmt_list): Remove.
983 * c-common.h: Remove the corresponding prototype.
985 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
987 * stmt.c (asm_op_is_mem_input): Remove.
988 * tree.h: Remove the corresponding prototype.
990 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
992 * tree-gimple.c (is_gimple_constructor_elt): Remove.
993 * tree-gimple.h: Remove the corresponding prototype.
995 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
997 * varasm.c (get_pool_mode_for_function, get_pool_offset):
999 * rtl.h: Remove the corresponding prototypes.
1001 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
1003 * tree-cfg.c (thread_jumps_from_bb): Speed up by extracting
1004 edge information when we commit ourselves to threading a
1007 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
1009 * tree-cfg.c (thread_jumps): Speed up by putting basic blocks
1010 into worklist instead of their indexes.
1012 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
1014 * alias.c, basic-block.h, cgraphunit.c, combine.c, domwalk.h,
1015 final.c, gengtype.c, genpreds.c, ggc-page.c, insn-notes.def,
1016 lambda-code.c, loop-unroll.c, modulo-sched.c, pointer-set.c,
1017 pretty-print.c, ra-colorize.c, sbitmap.c, tree-complex.c,
1018 tree-data-ref.c, tree-dfa.c, tree-inline.c, tree-into-ssa.c,
1019 tree-scalar-evolution.c, tree-ssa-dom.c,
1020 tree-ssa-loop-manip.c, tree-ssa-loop-niter.c,
1021 tree-ssa-phiopt.c, tree-ssa-pre.c, tree-ssa-threadupdate.c,
1022 tree-vectorizer.c, vec.h: Fix comment formatting.
1024 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
1026 * dwarf.h, gthr-dce.h, gthr-single.h, gthr-solaris.h, gthr.h,
1027 libfuncs.h, libgcc2.h, stab.def, tsystem.h: Update copyright.
1029 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
1031 * config/ptx4.h, config/mcore/mcore-pe.h,
1032 config/rs6000/eabi.h, config/vax/elf.h: Update copyright.
1034 2004-10-22 Peter Barada <peter@the-baradas.com>
1036 * config/m68k/m68k.h (HARD_REGNO_RENAME_OK): New macro.
1037 * config/m68k/m68k.c (m68k_hard regno_rename_ok): Disallow
1038 renaming of non-live registers in interrupt functions.
1039 * config/m68k/m68k-protos.h (m68k_hard_regno_rename_ok): Add prototype.
1041 2004-10-22 Zdenek Dvorak <dvorakz@suse.cz>
1043 * tree-ssa-loop-niter.c (inverse): Count in HOST_WIDE_INT if possible.
1044 Use integer for loop counter.
1045 (num_ending_zeros): New function.
1046 (number_of_iterations_cond): Use num_ending_zeros.
1048 2004-10-21 Aldy Hernandez <aldyh@redhat.com>
1050 * config.gcc: Add support for --enable-e500_double.
1052 * config/rs6000/e500-double.h: New file.
1054 * config/rs6000/rs6000.h: Define TARGET_E500_SINGLE and
1057 * config/rs6000/eabi.h: Define TARGET_E500_SINGLE and
1060 * config/rs6000/linuxspe.h: Same.
1062 * doc/invoke.texi (Option Summary): Document new options for
1064 (RS/6000 and PowerPC Options): Same.
1066 * config/rs6000/rs6000.c (rs6000_parse_float_gprs_option): New
1068 (rs6000_override_options): Use it. Use
1069 SUB3TARGET_OVERRIDE_OPTIONS.
1070 Add 8548 to processor_target_table.
1071 (rs6000_legitimate_address): Handle e500 doubles.
1072 (rs6000_legitimize_address): Same.
1073 (rs6000_legitimize_reload_address): Same.
1074 (rs6000_hard_regno_nregs): Same.
1075 (spe_func_has_64bit_regs_p): Same.
1076 (emit_frame_save): Same.
1077 (gen_frame_mem_offset): Same.
1078 (rs6000_dwarf_register_span): Same.
1079 (rs6000_generate_compare): Same.
1080 (easy_fp_constant): Same.
1081 (legitimate_offset_address_p): Same.
1083 * config/rs6000/spe.md: (cmdfeq_gpr): New.
1092 2004-10-21 Giovanni Bajo <giovannibajo@gcc.gnu.org>
1094 * config/arc/lib1funcs.asm (___umulsidi3): Fix typo.
1096 2004-10-21 Zack Weinberg <zack@codesourcery.com>
1098 * dbxout.c: Remove unnecessary #undefs.
1099 (GDB_INV_REF_REGPARM_STABS_LETTER, DBX_MEMPARM_STABS_LETTER)
1100 (FILE_NAME_JOINER, STABS_GCC_MARKER): Remove; fold sole
1101 definition into use sites.
1102 (cwd): Make local to dbxout_init.
1103 (dbxout_init): Restructure cwd-using logic for clarity. Use
1105 * xcoffout.h (DBX_OUTPUT_GCC_MARKER): Definition of
1106 STABS_GCC_MARKER folded in here.
1107 * system.h: Poison now-unused macros.
1108 * doc/tm.texi: Remove documentation of now-unused macros.
1110 2004-10-21 Andrew Pinski <pinskia@physics.uc.edu>
1113 * c-opts.c (push_command_line_include): Use the current file
1114 name instead of the main one.
1116 2004-10-21 Andrew Pinski <pinskia@physics.uc.edu>
1119 * tree.c (staticp): A CONST_DECL has static storage if either
1120 TREE_STATIC or DECL_EXTERNAL is set.
1121 * c-decl.c (pushdecl_top_level): Accept CONST_DECLs which can
1124 2004-10-21 Kazu Hirata <kazu@cs.umass.edu>
1126 * expr.c (store_expr): Remove dont_store_target.
1128 2004-10-21 Kazu Hirata <kazu@cs.umass.edu>
1130 * tree-cfg.c (thread_jumps): Speed up by using a worklist.
1132 2004-10-21 Kazu Hirata <kazu@cs.umass.edu>
1134 * tree-cfg.c (thread_jumps): Move a part of it to ...
1135 (thread_jumps_from_bb): ... here.
1137 2004-10-21 David Edelsohn <edelsohn@gnu.org>
1139 * dbxout.c (DBX_FINISH_SYMBOL): Add asm_out_file argument.
1140 * xcoffout.h (DBX_FINISH_SYMBOL): Change asmfile to (ASMFILE).
1142 2004-10-21 Kazu Hirata <kazu@cs.umass.edu>
1144 * expr.c (store_expr): Clean up by renaming want_value to
1147 2004-10-21 Kaz Kojima <kkojima@gcc.gnu.org>
1149 * config/sh/linux-unwind.h (sh_fallback_frame_state): Don't
1152 2004-10-21 Aldy Hernandez <aldyh@redhat.com>
1155 * expmed.c (store_bit_field): Pass original 'value' before
1158 2004-10-21 Nicolas Pitre <nico@cam.org>
1160 * config/arm/ieee754-sf.S: Large speed improvements. Fix NAN handling.
1161 * config/arm/ieee754-df.S: Ditto.
1163 2004-10-20 Zack Weinberg <zack@codesourcery.com>
1165 * dbxout.c (asmfile): Delete. All uses changed to asm_out_file.
1166 (DBX_BLOCKS_FUNCTION_RELATIVE, DBX_LINES_FUNCTION_RELATIVE):
1168 (dbxout_source_line): Use DBX_OUTPUT_SOURCE_LINE when defined.
1169 When it is not, but DBX_LINES_FUNCTION_RELATIVE is true, emit
1170 an internal label and an N_SLINE .stabn whose value is the
1171 difference between that label and the function entry label.
1172 (dbxout_finish): If DBX_OUTPUT_MAIN_SOURCE_FILE_END is not defined,
1173 but DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END is, emit a
1174 label and an N_SO stab with an empty string referring to it.
1175 (dbx_output_lbrac, dbx_output_rbrac): Use if statement instead
1176 of #ifdef directive to test DBX_BLOCKS_FUNCTION_RELATIVE.
1177 (dbxout_type_methods, dbxout_symbol): Remove #if 0 block.
1178 (dbxout_prepare_symbol): Remove #ifdef WINNING_GDB block, this
1179 macro is never defined.
1180 * sdbout.c (sdbout_source_line_counter): Delete.
1181 (PUT_SDB_SRC_FILE): Delete. Uses replaced with sole definition.
1182 (sdbout_source_line): Use SDB_OUTPUT_SOURCE_LINE, which takes
1184 * xcoffout.c (ASM_OUTPUT_SOURCE_LINE): Rename ASM_OUTPUT_LINE.
1186 * config/dbxcoff.h, config/dbxelf.h: Remove unncessary #undefs.
1187 * config/c4x/c4x.h, config/pa/pa.h: Remove unnecessary macro
1188 definitions (identical to default).
1189 * config/darwin.h, config/dbxcoff.h, config/dbxelf.h, config/ptx4.h
1190 * config/h8300/coff.h, config/pa/som.h, config/sh/elf.h:
1191 Define DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END, not
1192 DBX_OUTPUT_MAIN_SOURCE_FILE_END.
1193 * config/dbxcoff.h, config/dbxelf.h, config/ptx4.h
1194 * config/mcore/mcore-pe.h, config/pa/som.h, config/sh/elf.h:
1195 Define DBX_LINES_FUNCTION_RELATIVE, not ASM_OUTPUT_SOURCE_LINE.
1196 * config/alpha/alpha-protos.h: Don't prototype alpha_output_lineno.
1197 * config/alpha/alpha.c: Move declaration of num_source_filenames up.
1198 (alpha_start_function): Use SDB_OUTPUT_SOURCE_LINE.
1199 (sym_lineno): Delete.
1200 (alpha_output_filename): Do not emit N_SOL stabs here. Remove
1201 now-unused variable.
1202 (alpha_output_lineno): Delete.
1203 * config/mips/mips-protos.h: Don't prototype mips_output_lineno.
1204 * config/mips/mips.c (mips_output_filename): Don't use
1205 ASM_OUTPUT_FILENAME. Don't emit N_SOL stabs here.
1206 (mips_output_lineno): Delete.
1207 (mips_output_function_prologue: Use SDB_OUTPUT_SOURCE_LINE.
1208 * config/alpha/alpha.h: Define DBX_OUTPUT_SOURCE_LINE and
1209 SDB_OUTPUT_SOURCE_LINE, not ASM_OUTPUT_SOURCE_LINE.
1210 * config/mips/mips.h: Likewise. Don't define ASM_OUTPUT_FILENAME.
1211 * config/mips/sdb.h: Use SDB_OUTPUT_SOURCE_LINE.
1212 * config/avr/avr.h: Don't define ASM_OUTPUT_SOURCE_LINE.
1213 * config/mmix/mmix.h: Likewise.
1214 * config/mmix/mmix.c (mmix_asm_output_source_line): Delete.
1215 * config/mmix/mmix-protos.h: Don't prototype it.
1216 * config/alpha/unicosmk.h: Also #undef PREFERRED_DEBUGGING_TYPE;
1217 no need to #undef ASM_OUTPUT_SOURCE_LINE.
1218 * config/arm/aout.h: Remove RISCiX-specific definition of
1219 DBX_OUTPUT_MAIN_SOURCE_FILENAME.
1220 * config/m32r/m32r.h: Define DBX_OUTPUT_SOURCE_LINE, not
1221 ASM_OUTPUT_SOURCE_LINE.
1222 * config/rs6000/linux64.h (ASM_OUTPUT_SOURCE_LINE): Rename to
1223 DBX_OUTPUT_SOURCE_LINE. Don't use current_function_func_begin_label.
1224 * config/vax/elf.h: No need to define DBX_OUTPUT_FUNCTION_END.
1226 * doc/tm.texi: Update.
1228 2004-10-20 Richard Henderson <rth@redhat.com>
1230 * tree-sra.c (instantiate_element): Copy DECL_IGNORED_P also.
1232 2004-10-20 Kelley Cook <kcook@gcc.gnu.org>
1234 * configure.ac: Revert my previous patch.
1235 * configure: Regenerate.
1237 2004-10-20 Ben Elliston <bje@au.ibm.com>
1239 * config/rs6000/rs6000.c
1240 (rs6000_va_start): Use build_va_arg_indirect_ref.
1241 (rs6000_gimplify_va_arg): Likewise.
1243 2004-10-20 Bryce McKinlay <mckinlay@redhat.com>
1246 * configure.ac: Declare AM_LANGINFO_CODESET.
1247 * aclocal.m4: Define AM_LANGINFO_CODESET.
1248 * configure, config.in: Rebuilt.
1250 2004-10-20 Kazu Hirata <kazu@cs.umass.edu>
1252 * expr.c (store_expr): Remove code that is run when
1253 want_value & 1 is nonzero.
1255 2004-10-20 Mark Mitchell <mark@codesourcery.com>
1257 * gthr-posix.h (__gthread_active_p): Use __extension__ around cast
1258 from function pointer to void *.
1260 2004-10-20 Kaz Kojima <kkojima@gcc.gnu.org>
1263 * config/sh/sh.c (sh_expand_epilogue): Emit a blockage insn before
1264 the frame pointer adjustment when exception handling is enabled.
1266 2004-10-20 Kazu Hirata <kazu@cs.umass.edu>
1268 * stor-layout.c: Fix a comment typo.
1270 2004-10-20 Kazu Hirata <kazu@cs.umass.edu>
1272 * expr.c (store_field): Remove two arguments value_mode and
1274 (expand_assignment, store_constructor_field,
1275 expand_expr_real_1): Adjust calls to store_field.
1277 2004-10-18 Ramana Radhakrishnan <ramana.radhakrishnan@codito.com>
1279 * config/arc/lib1funcs.asm (___umulsidi3): Correct usage of flags.
1282 * config/arc/arc.h (REGNO_OK_FOR_BASE_P,REGNO_OK_FOR_INDEX_P,
1283 REG_OK_FOR_BASE, REG_OK_FOR_INDEX): Consider blink(r31) as a valid
1284 base and index register for loads.
1286 * config/arc/t-arc: Fix multilib handling.
1288 2004-10-20 Hans-Peter Nilsson <hp@bitrange.com>
1290 * cfgrtl.c (rtl_verify_flow_info_1): When checking insns in a bb,
1291 don't inspect BLOCK_FOR_INSN for barriers.
1292 * emit-rtl.c (emit_barrier_before): Revert last change.
1293 (emit_barrier_after, emit_barrier): Ditto.
1295 * doc/extend.texi (Extended Asm): Warn and provide example
1296 solution for using a call-clobbered asm register.
1297 (Local Reg Vars): Similar. Cross-reference example.
1299 2004-10-19 Andrew Pinski <pinskia@physics.uc.edu>
1301 * tree-cfg.c (group_case_labels): Look at the second to last
1302 case statement for combing with the default case.
1304 2004-10-19 Richard Hendeson <rth@redhat.com>
1307 * stor-layout.c (layout_type): Set TYPE_ALIGN for vectors.
1309 2004-10-19 Richard Hendeson <rth@redhat.com>
1311 * builtins.c (expand_builtin_memmove): If fold_builtin_memmove
1312 succeeds, only expand the result.
1314 2004-10-19 Richard Hendeson <rth@redhat.com>
1317 * tree.c (recompute_tree_invarant_for_addr_expr): Always poll address
1320 2004-10-19 Kazu Hirata <kazu@cs.umass.edu>
1322 * tree-cfg.c (thread_jumps): Use a do-while loop instead of a
1325 2004-10-19 Kazu Hirata <kazu@cs.umass.edu>
1327 * expr.c (expand_assignment): Remove the last argument.
1328 Change the return type to void.
1329 * expr.h: Update the prototype of expand_assignment.
1330 * function.c (assign_parm_setup_reg): Update a call to
1332 * stmt.c (expand_asm_expr): Likewise.
1334 2004-10-19 Kazu Hirata <kazu@cs.umass.edu>
1336 * expr.c (expand_expr_real_1) <MODIFY_EXPR>: Remove
1337 unnecessary assignments to temp. Return const0_rtx.
1339 2004-10-19 Kaz Kojima <kkojima@gcc.gnu.org>
1341 * config/sh/sh.c (sh5_schedule_saves): Fix typo.
1343 2004-10-18 Kelley Cook <kcook@gcc.gnu.org>
1345 * configure.ac (powerpc-*-darwin*): Require assembler to support
1347 * configure: Regenerate.
1349 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
1351 * reload1.c (ior_hard_reg_set): Remove.
1352 (finish_spills): Use IOR_HARD_REG_SET instead of
1355 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
1357 * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP): Speed up by shifting
1358 the currently visited word to right.
1360 2004-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
1363 * expmed.c (expand_smod_pow2): Handle modes whose size
1364 is greater than that of HOST_WIDE_INT.
1366 2004-10-18 Ziemowit Laski <zlaski@apple.com>
1368 * c-parse.in (reservedwords): Add OBJC_TYPE_QUAL as alternative.
1370 2004-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
1371 Roger Sayle <roger@eyesopen.com>
1374 * dojump.c (discard_pending_stack_adjust): New function.
1375 (clear_pending_stack_adjust): Call it.
1376 * expr.h (discard_pending_stack_adjust): Declare it.
1377 * explow.c (emit_stack_save): Emit pending stack adjustments
1378 before saving the stack pointer.
1379 (emit_stack_restore): Discard pending stack adjustments before
1380 restoring the stack pointer.
1382 2004-10-18 Richard Henderson <rth@redhat.com>
1384 * c-common.c (handle_mode_attribute): Allow scalar->vector
1387 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
1389 * expr.c (expand_expr_real_1) [MODIFY_EXPR]: Don't request a
1390 value to expand_assignment.
1392 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
1394 * tree-cfg.c (cleanup_tree_cfg): Don't iterate on
1396 (thread_jumps): Iterate until no new forwarder block arises.
1398 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
1400 * tree-cfg.c (tree_forwarder_block_p): Don't set forwardable.
1401 (thread_jumps): Use forwardable as cache of
1402 tree_forwarder_block_p throughout the function.
1404 2004-10-18 Andreas Krebbel <krebbel1@de.ibm.com>
1406 * cfg.c (dump_flow_info): Remove redundant dump of reg life info.
1408 2004-10-18 Andrew Pinski <pinskia@physics.uc.edu>
1412 * tree-cfg.c (remove_bb): If we have a label expression in the
1413 basic block and the label we have taken the address, move the
1414 label expression to the basic block which is previous in the
1416 (tree_verify_flow_info): Fix printing out the label name of the
1417 problematic label expression.
1419 2004-10-18 Pat Haugen <pthaugen@us.ibm.com>
1421 PR rtl-optimization/18002
1422 * simplify-rtx.c (mode_signbit_p): Externalize function...
1423 * rtl.h (mode_signbit_p): ... to here.
1424 * combine.c (simplify_shift_const): Recognize PLUS signbit as
1425 canonical form of XOR signbit and move to outer op.
1427 2004-10-18 Diego Novillo <dnovillo@redhat.com>
1429 * tree-cfg.c (bsi_for_stmt): Rename from stmt_for_bsi.
1431 * tree-ssa.c (replace_immediate_uses): Call bsi_for_stmt.
1432 Don't call fold_stmt more than once, use bsi_replace.
1434 2004-10-18 Diego Novillo <dnovillo@redhat.com>
1436 PR tree-optimization/17656
1437 * tree-ssa.c (replace_immediate_uses): When replacing a
1438 constant, if the call to fold_stmt produced a different
1439 statement, get an appropriate statement pointer by scanning
1442 2004-10-18 Richard Henderson <rth@redhat.com>
1444 * pointer-set.c (hash1): Don't use libm functions in fallback case.
1446 2004-10-18 H.J. Lu <hongjiu.lu@intel.com>
1449 * Makefile.in (clean): Remove libgcc_s$(SHLIB_EXT).1.stage?.
1450 (stage1-start): Remove and copy libunwind.a and
1451 libunwind*$(SHLIB_EXT) instead of libunwind*.
1452 (stage2-start): Likewise.
1453 (stage3-start): Likewise.
1454 (stage4-start): Likewise.
1455 (stageprofile-start): Likewise.
1456 (stagefeedback-start): Likewise.
1458 * config/alpha/t-osf4 (SHLIB_LINK): Use a temporary file for
1459 the shared library to be created and don't remove the existing
1461 * config/arm/t-netbsd (SHLIB_LINK): Likewise.
1462 * config/i386/t-nwld (SHLIB_LINK): Likewise.
1463 * config/mips/t-slibgcc-irix (SHLIB_LINK): Likewise.
1464 * config/pa/t-hpux-shlib (SHLIB_LINK): Likewise.
1465 * config/sh/t-linux (SHLIB_LINK): Likewise.
1466 * config/t-libunwind-elf (SHLIBUNWIND_LINK): Likewise.
1467 * config/t-slibgcc-darwin (SHLIB_LINK): Likewise.
1468 * config/t-slibgcc-elf-ver (SHLIB_LINK): Likewise.
1469 * config/t-slibgcc-sld (SHLIB_LINK): Likewise.
1471 * mklibgcc.in (libgcc-stage-start): Also move "*${objext}s"
1474 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
1476 * basic-block.h (reg_set_iterator): New.
1477 (EXECUTE_IF_SET_IN_REG_SET): Make it iterator style.
1478 (EXECUTE_IF_AND_COMPL_IN_REG_SET): Likewise.
1479 (EXECUTE_IF_AND_IN_REG_SET): Likewise.
1480 * caller-save.c (save_call_clobbered_regs): Adjust to the new
1482 * cfgcleanup.c (thread_jump): Likewise.
1483 * cfgrtl.c (safe_insert_insn_on_edge): Likewise.
1484 * conflict.c (conflict_graph_compute): Likewise.
1485 * flow.c (verify_local_live_at_start, update_life_info,
1486 initialize_uninitialized_subregs, propagate_one_insn,
1487 init_propagate_block_info, free_propagate_block_info,
1488 propagate_block, dump_regset): Likewise.
1489 * global.c (global_conflicts): Likewise.
1490 * graph.c (start_bb): Likewise.
1491 * local-alloc.c (update_equiv_regs): Likewise.
1492 * loop.c (load_mems): Likewise.
1493 * reload1.c (compute_use_by_pseudos, order_regs_for_reload,
1494 find_reg, finish_spills): Likewise.
1495 * resource.c (mark_target_live_regs): Likewise.
1496 * sched-deps.c (sched_analyze_insn): Likewise.
1497 * sched-rgn.c (sched-rgn.c): Likewise.
1498 * config/frv/frv.c (frv_ifcvt_modify_tests): Likewise.
1500 2004-10-18 Jakub Jelinek <jakub@redhat.com>
1502 * config/i386/i386.md (addqi_1_slp): Test for incdec_operand
1503 operand 1 instead of 2
1505 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
1507 * loop-unroll.c: Fix comment typos.
1509 2004-10-18 Revital Eres <eres@il.ibm.com>
1511 * Makefile.in (loop-unroll.o): Add VARRAY_H dependency.
1512 * loop-unroll.c: Include varray.h.
1513 (struct var_to_expand, struct opt_info): Rename split_ivs_info to
1514 opt_info and expand it to support variable expansion.
1515 (analyze_insns_in_loop): Rename analyze_ivs_to_split and
1516 expand it to support variable expansion.
1517 (pt_info_start_duplication): Rename si_info_start_duplication.
1518 (apply_opt_in_copies): Rename split_ivs_in_copies and add support
1519 to the variable expansion optimization.
1520 (free_opt_info): Rename free_si_info.
1521 (analyze_insn_to_expand_var, referenced_in_one_insn_in_loop_p,
1522 expand_var_during_unrolling, insert_var_expansion_initialization,
1523 combine_var_copies_in_loop_exit, release_var_copies,
1524 get_expansion): New functions.
1525 (peel_loop_completely, unroll_loop_constant_iterations,
1526 unroll_loop_runtime_iterations, peel_loop_simple,
1527 unroll_loop_stupid): Change uses of struct si_info
1529 and add uses of fvariable-expansion-in-unroller flag.
1530 * params.def: Add parameter to restrict the number of expansions.
1531 * params.h: (MAX_VARIABLE_EXPANSIONS): New define to restrict
1532 the number of expansions.
1533 * common.opt: (fvariable-expansion-in-unroller): New flag.
1534 * doc/invoke.texi: (fvariable-expansion-in-unroller): Document.
1536 2004-10-18 Danny Smith <dannysmith@users.sourceforge.net>
1538 * config/i386/cygming.h (TARGET_OS_CPP_BUILTINS): Define
1539 __GXX_MERGED_TYPEINFO_NAMES to 0.
1541 2004-10-17 Hans-Peter Nilsson <hp@bitrange.com>
1543 * cfgrtl.c (rtl_verify_flow_info_1): When checking insns in a bb,
1544 handle barriers in a bb by checking that it points to a NULL bb.
1545 * emit-rtl.c (emit_barrier_before): Set BLOCK_FOR_INSN to NULL.
1546 (emit_barrier_after, emit_barrier): Ditto.
1548 2004-10-18 Joseph S. Myers <jsm@polyomino.org.uk>
1550 * doc/extend.texi (Attribute Syntax): Clarify details of
1551 attributes on parameters.
1553 2004-10-17 Zdenek Dvorak <dvorakz@suse.cz>
1555 * tree-ssa-loop-ivopts.c (tree_ssa_iv_optimize): Move checking out of
1558 2004-10-17 Andrew Pinski <pinskia@physics.uc.edu>
1561 2004-10-17 Andrew Pinski <pinskia@physics.uc.edu>
1563 * c-typeck.c (default_function_array_conversion): Always create
1564 &a[0] for array types.
1565 (build_unary_op): Do not fold &a[x] into a + x.
1567 2004-10-17 Andrew Pinski <pinskia@physics.uc.edu>
1570 * cfgexpand.c (expand_gimple_cond_expr): Emit line notes for next basic
1571 block if there is a goto with a locus.
1573 2004-10-17 Kazu Hirata <kazu@cs.umass.edu>
1575 * config/elfos.h, config/gofast.h, config/interix.h,
1576 config/netbsd.h, config/svr3.h, config/vxworks.h,
1577 config/alpha/alpha-modes.def, config/alpha/alpha-protos.h,
1578 config/alpha/ev4.md, config/alpha/ev5.md, config/alpha/ev6.md,
1579 config/alpha/netbsd.h, config/arm/arm-modes.def,
1580 config/arm/unknown-elf.h, config/c4x/c4x-modes.def,
1581 config/cris/aout.h, config/frv/frv-modes.def,
1582 config/i386/beos-elf.h, config/i386/gas.h,
1583 config/i386/i386-coff.h, config/i386/i386-modes.def,
1584 config/i386/linux.h, config/i386/linux64.h,
1585 config/i386/mingw32.h, config/i386/netbsd-elf.h,
1586 config/i386/netbsd64.h, config/i386/sco5.h,
1587 config/i386/sol2.h, config/i386/uwin.h, config/i860/i860.md,
1588 config/ia64/ia64-modes.def, config/ia64/itanium1.md,
1589 config/ia64/itanium2.md, config/m68k/m68k-modes.def,
1590 config/mips/mips-modes.def, config/mips/sdb.h,
1591 config/mips/vr.h, config/mips/vxworks.h,
1592 config/pa/pa-hpux10.h, config/pa/pa-hpux11.h,
1593 config/pa/pa32-linux.h, config/rs6000/40x.md,
1594 config/rs6000/7450.md, config/rs6000/8540.md,
1595 config/rs6000/linuxspe.h, config/rs6000/power4.md,
1596 config/rs6000/rs6000-modes.def, config/rs6000/rtems.h,
1597 config/rs6000/spe.h, config/s390/2064.md, config/s390/linux.h,
1598 config/s390/s390-modes.def, config/sh/elf.h,
1599 config/sh/sh-modes.def, config/sh/sh64.h,
1600 config/sparc/ultra1_2.md, config/sparc/ultra3.md,
1601 config/stormy16/stormy16.md, config/v850/v850-protos.h,
1602 config/vax/vax.md: Update copyright.
1604 2004-10-17 Kazu Hirata <kazu@cs.umass.edu>
1606 * expr.c (expand_expr_real_1): Remove an obsolete comment.
1608 2004-10-17 Andrew Pinski <pinskia@physics.uc.edu>
1610 * c-typeck.c (default_function_array_conversion): Always create
1611 &a[0] for array types.
1612 (build_unary_op): Do not fold &a[x] into a + x.
1614 2004-10-17 Jakub Jelinek <jakub@redhat.com>
1616 * pointer-set.c (hash1): Use integer part of 2^64 / phi
1617 instead 2^32 / phi if long is 64-bit.
1619 2004-10-17 Joseph S. Myers <jsm@polyomino.org.uk>
1621 * c-common.h (enum rid): Remove RID_PTRBASE, RID_PTREXTENT and
1623 * c-parse.in (PTR_VALUE, PTR_BASE, PTR_EXTENT): Remove %token
1625 (reswords): Remove __ptrbase, __ptrbase__, __ptrextent,
1626 __ptrextent__, __ptrvalue and __ptrvalue__.
1627 (rid_to_yy): Remove RID_PTRBASE, RID_PTREXTENT and RID_PTRVALUE
1630 2004-10-16 Dale Johannesen <dalej@apple.com>
1632 * c-common.c (c_common_get_alias_set): Use GGC for type_hash_table.
1634 2004-10-16 Zdenek Dvorak <dvorakz@suse.cz>
1636 PR tree-optimization/17766
1637 * basic-block.h (enum dom_state): DOM_CONS_OK removed.
1638 (dom_info_available_p): Declare.
1639 * cfghooks.c (split_block, make_forwarder_block): Use
1640 dom_info_available_p.
1641 * dominance.c (compute_dom_fast_query, calculate_dominance_info,
1642 free_dominance_info, verify_dominators): Ditto.
1643 (dom_info_available_p): New function.
1644 * tree-cfg.c (cleanup_control_expr_graph): Free dominance information.
1645 (thread_jumps): Use dom_info_available_p.
1646 * tree-complex.c (expand_complex_div_wide): Ditto.
1647 * tree-mudflap.c (mf_build_check_statement_for): Ditto.
1649 2004-10-16 Zdenek Dvorak <dvorakz@suse.cz>
1651 * tree-ssa-loop-ivopts.c (struct ivopts_data): New field important_candidates.
1652 (find_best_candidate): Take also important candidates into account.
1653 (find_optimal_iv_set): Initialize important_candidates bitmap.
1655 2004-10-16 Zdenek Dvorak <dvorakz@suse.cz>
1657 PR tree-optimization/17560
1658 * predict.c (tree_estimate_probability): Mark irreducible
1661 2004-10-16 Zdenek Dvorak <dvorakz@suse.cz>
1663 PR rtl-optimization/17723
1664 * cfgcleanup.c (merge_memattrs): Handle case when
1665 MEM_SIZE == NULL_RTX.
1667 2004-10-15 Andrew Pinski <pinskia@physics.uc.edu>
1669 * toplev.c (dump_file_name): Change type to be const.
1671 2004-10-15 Joseph S. Myers <jsm@polyomino.org.uk>
1673 * c-typeck.c (build_compound_expr, build_c_cast): Don't try to use
1674 non_lvalue to stop something being a null pointer constant.
1676 2004-10-15 Aldy Hernandez <aldyh@redhat.com>
1678 * config/rs6000/rs6000.h (FUNCTION_ARG_REGNO_P): FPRs are only
1679 available for TARGET_FPRS.
1680 (FUNCTION_VALUE_REGNO_P): Same.
1682 2004-10-15 Geoffrey Keating <geoffk@apple.com>
1684 * doc/invoke.texi (RS/6000 and PowerPC Options): Document
1685 -maltivec in same style as other ISA options.
1687 2004-10-15 Jon Grimm <jgrimm2@us.ibm.com>
1689 * config/host-linux.c (TRY_EMPTY_VM_SPACE): Add __powerpc__
1692 2004-10-15 Kazu Hirata <kazu@cs.umass.edu>
1694 * bitmap.c, bitmap.h, builtin-attrs.def, cfglayout.h,
1695 collect2.h, conflict.c, coretypes.h, coverage.h, errors.h,
1696 gcc.h, gcov-dump.c, gen-protos.c, gencheck.c, gencodes.c,
1697 genconstants.c, gengenrtl.c, genmodes.c, genpeep.c,
1698 gensupport.h, graph.h, gthr-gnat.c, gthr-gnat.h, gthr-posix.c,
1699 gthr-posix.h, hard-reg-set.h, hwint.h, integrate.h, libgcc2.c,
1700 lists.c, machmode.def, mips-tdump.c, opts.h, params.c,
1701 predict.def, predict.h, protoize.c, reload.h, resource.h,
1702 rtl-error.c, sbitmap.c, sbitmap.h, sreal.c, tlink.c,
1703 tree-dump.h, tree-inline.h, unwind-dw2-fde.c, unwind-dw2.c,
1704 unwind-sjlj.c, value-prof.h: Update copyright.
1706 2004-10-15 Kazu Hirata <kazu@cs.umass.edu>
1708 * pointer-set.c, tree-vectorizer.c: Fix comment typos.
1710 2004-10-15 Diego Novillo <dnovillo@redhat.com>
1712 * tree-optimize.c (execute_one_pass): Stop timer right after
1715 2004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
1718 2004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
1721 * tree-cfg.c (remove_usless_stmts_cond): Fold statement.
1722 (remove_useless_stmts_1): Fold trees we know how to fold.
1724 2004-10-14 David Edelsohn <edelsohn@gnu.org>
1726 * configure.ac: Add .machine power4 directive when testing for
1728 * configure: Regenerate.
1730 2004-10-14 Geoffrey Keating <geoffk@apple.com>
1732 * config/darwin.h (JUMP_TABLES_IN_TEXT_SECTION): Don't define.
1734 2004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
1736 * tree-vectorizer.c (vect_transform_loop): Declare vectorization_factor
1739 2004-10-14 Daniel Jacobowitz <dan@codesourcery.com>
1741 * config/rs6000/rs6000.h (REG_CLASS_FROM_LETTER): Return NO_REGS
1742 for 'f' if !TARGET_FPRS.
1744 2004-10-14 Richard Henderson <rth@redhat.com>
1747 * dwarf2out.c (loc_descriptor_from_tree_1): Handle FIX_*_EXPR.
1749 2004-10-14 Richard Henderson <rth@redhat.com>
1752 * c-decl.c (store_parm_decls_oldstyle): Care for parameter type
1754 * c-parse.in (compstmt_primary_start): Check cur_stmt_list non-null
1755 instaed of current_function_decl non-null.
1757 2004-10-14 Matt Austern <austern@apple.com>
1759 * pointer-set.c: New file, special-purpose hash table.
1760 * pointer-set.h: New file.
1761 * tree.h (struct pointer_set_t): Declare as opaque type.
1762 (tree_walk): Last argument is pointer_set_t* now.
1763 * tree-inline.c (WALK_SUBTREE): Convert from htab to pset.
1765 (walk_tree): Convert from htab_t to pointer_set_t for keeping
1766 track of which nodes have already been visited.
1767 (walk_tree_without_duplicates): Convert from htab_t to pointer_set_t.
1768 * cgraphunit.c (cgraph_create_edges): Likewise.
1769 (cgraph_characterize_statics_local): Likewise.
1770 * tree-dfa.c (collect_dfa_stats): Likewise.
1771 * langhooks-def.h (lhd_tree_inlining_walk_subtrees): Last arg is
1773 * langhooks.c (lhd_tree_inlining_walk_subtrees): Likewise.
1774 * langhooks.h (struct lang_hooks_for_tree_inlining): Last arg type
1775 of walk_subtrees is pointer_set_t* now.
1776 * Makefile.in (OBJS-common): add pointer-set.o
1777 (tree-inline.o): Depends on pointer-set.h
1778 (tree-dfa.o): Likewise
1779 (cgraphunit.o): Likewise
1781 2004-10-14 Geoffrey Keating <geoffk@apple.com>
1783 * config/rs6000/darwin.h (ASM_SPEC): Delete.
1784 (TARGET_ASM_FILE_START): Define.
1785 * config/darwin.h (ASM_SPEC): Define.
1786 * config/rs6000/t-darwin (TARGET_LIBGCC2_CFLAGS): Don't supply
1787 -mlong-double-128, it's the default. Update comment about reason
1788 for force_cpusubtype_ALL.
1789 * config/rs6000/darwin-vecsave.asm: Supply .machine.
1790 * config/rs6000/darwin-world.asm: Likewise.
1791 * config/rs6000/rs6000.c (rs6000_darwin_file_start): New.
1792 (symbolic_operand): Delete #if 0ed code.
1794 2004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
1796 * stmt.c (add_case_node): Make sure that we have integer
1797 constant before calling tree_int_cst_compare.
1799 2004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
1803 * tree-cfg.c (remove_usless_stmts_cond): Fold statement.
1804 (remove_useless_stmts_1): Fold trees we know how to fold.
1806 2004-10-14 Joseph S. Myers <joseph@codesourcery.com>
1808 * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS),
1809 config/rs6000/linuxspe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Disallow
1812 2004-10-14 Ulrich Weigand <uweigand@de.ibm.com>
1814 * reload.c (find_reloads): When reloading a PLUS with constant
1815 operand, make sure the constant is pushed to the constant pool
1817 * config/s390/s390.c (s390_secondary_input_reload_class): Remove
1818 reload bug workaround.
1819 (s390_expand_plus_operand): Likewise.
1821 2004-10-14 David Edelsohn <edelsohn@gnu.org>
1823 * opts.c (common_handle_option): Do not enable
1824 flag_speculative_prefetching for -fprofile-generate/use.
1826 2004-10-14 Devang Patel <dpatel@apple.com>
1829 * tree-if-conv.c (process_phi_nodes): Process latch block.
1830 (combine_blocks): Process latch block and update loop structure.
1832 2004-10-14 Olga Golovanevsky <olga@il.ibm.com>
1834 * tree-vectorizer.c (vect_generate_tmps_on_preheader):
1835 (vect_update_ivs_after_vectorizer):
1836 (vect_transform_for_unknown_loop_bound):
1837 (tree_duplicate_loop_to_edge):
1838 (allocate_new_names):
1841 (rename_variables_in_bb):
1843 (rename_variables_in_loop):
1845 (update_phis_for_duplicate_loop):
1846 (update_phi_nodes_for_guard):
1847 (make_loop_iterate_ntimes):
1848 (tree_duplicate_loop_to_edge_cfg):
1850 (vect_analyze_loop_with_symbolic_num_of_iters):
1851 (verify_loop_for_duplication):
1852 (vect_gen_niters_for_prolog_loop):
1853 (vect_update_niters_after_peeling):
1854 (vect_update_inits_of_dr):
1855 (vect_update_inits_of_drs):
1856 (vect_build_loop_niters):
1857 (vect_do_peeling_for_alignment): New functions.
1858 (vect_transform_loop): Add unknown and known but indivisible loop
1859 bound support; add peeling for unalignment support.
1860 (vect_analyze_loop_form): Support symbolic number of iterations.
1861 (vect_transform_loop_bound): New input parameter.
1862 (vect_get_loop_niters): Change input parameter type.
1863 (new_loop_vec_info): LOOP_VINFO_NITERS is tree now.
1864 (vectorizable_store): Allow unaligned access.
1865 (vectorize_loops): Add rewrite_into_loop_closed_ssa.
1866 (vect_analyze_data_refs_alignment): Allowed one unaligned
1868 * tree-vectorizer.h (LOOP_VINFO_NITERS_KNOWN_P): Redefined
1870 (LOOP_VINFO_INT_NITERS): New macro.
1871 (MAX_NUMBER_OF_UNALIGNED_DATA_REFS): New define.
1872 (do_peeling_for_alignment):
1873 (unaligned_drs): New members of _loop_vec_info.
1874 (LOOP_DO_PEELING_FOR_ALIGNMENT): New macro.
1876 2004-10-14 Ranjit Mathew <rmathew@hotmail.com>
1878 * tree.h (TREE_STRING_POINTER): Wrap in "const char *".
1879 (struct tree_string): Remove "const" qualifier for "str".
1881 2004-10-14 Ira Rosen <irar@il.ibm.com>
1883 * tree-vectorizer.c (vect_analyze_data_refs): Call
1884 vect_get_base_and_bit_offset to get memory tag for array ref.
1885 (vect_create_addr_base_for_vector_ref): Remove redundant checks.
1887 2004-10-14 Richard Earnshaw <rearnsha@arm.com>
1889 * configure.ac: Use $LN_S for creating symlinks (not $LN).
1890 * configure: Regenerate.
1892 2004-10-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1894 * doc/install.texi (*-*-solaris2*): Update with info about kernel
1895 patches to solve spurious testsuite failures.
1897 2004-10-14 Dorit Naishlos <dorit@il.bim.com>
1899 * tree-vectorizer.c (get_vectype_for_scalar_type): Added debug prinouts.
1900 Added check that vectype is VECTOR_MODE_P, instead of check for BLKmode.
1901 (vect_analyze_operations): Make sure the vectorization factor > 1. Add
1902 gcc_assert under ENABLE_CHECKING.
1903 (vectorizable_operation): Remove check for VECTOR_MODE_P (moved to
1904 get_vectype_for_scalar_type).
1906 (vect_get_vec_def_for_operand): Remove redundant variables.
1907 (vect_transform_loop): Likewise.
1909 2004-10-14 Richard Sandiford <rsandifo@redhat.com>
1911 * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Make r11 fixed and
1912 global for -mcaller-super-interworking.
1913 (CALLER_INTERWORKING_SLOT_SIZE): New macro.
1914 * config/arm/arm.c (thumb_compute_save_reg_mask): Save r11 if
1915 CALLER_INTERWORKING_SLOT_SIZE is nonzero and the function does
1916 not need a frame pointer.
1917 (arm_get_frame_offsets): Add CALLER_INTERWORKING_SLOT_SIZE bytes to
1918 the soft frame pointer offset.
1919 (thumb_expand_prologue): Set up r11 for -mcaller-super-interworking.
1920 * config/arm/arm.md (*call_reg_thumb, *call_value_reg_thumb): Use
1921 _interwork_{r7,r11}_call_via_rN if some arguments are passed on
1922 the stack. Use frame_pointer_needed to choose between them.
1923 * config/arm/lib1funcs.asm (_arm_return_{r7,r11}): New functions.
1924 (interwork_with_frame): New macro.
1925 (interwork): Add _interwork_{r7,r11}_call_via_rN().
1927 2004-10-14 Ben Elliston <bje@au.ibm.com>
1930 * diagnostic.c (trim_filename): Fix logic bug in walking backwards
1931 up the filename looking for a previous directory separator.
1933 2004-10-14 Joseph S. Myers <jsm@polyomino.org.uk>
1935 * c-tree.h (enum c_typespec_kind, struct c_typespec,
1936 parser_xref_tag): New.
1937 (struct c_declspecs): Add tag_defined_p. Adjust definition of
1939 (declspecs_add_type): Adjust prototypes.
1940 * c-parse.in (%union): Add tstype.
1941 (typespec_nonattr, typespec_attr, typespec_reserved_nonattr,
1942 typespec_reserved_attr, typespec_nonreserved_nonattr,
1943 structsp_attr, structsp_nonattr): Change to tstype. Update
1945 * c-decl.c (build_null_declspecs): Initialize tag_defined_p.
1946 (declspecs_add_type): Update to take struct c_typespec argument.
1947 Set tag_defined_p and typedef_p as appropriate.
1948 (xref_tag): Rename to parser_xref_tag and replace by wrapper.
1949 Update to return struct c_typespec.
1950 (shadow_tag_warned): Don't let empty declarations with qualifiers
1951 or storage class specifiers redeclare a tag if a previous
1952 declaration is visible.
1954 2004-10-13 Richard Henderson <rth@redhat.com>
1957 * dwarf2out.c (rtl_for_decl_location): Apply big-endian correction
1958 for DECL_INCOMING_RTL.
1960 2004-10-14 Hans-Peter Nilsson <hp@axis.com>
1963 * config/cris/cris.md (asrandb, asrandw, lsrandb, lsrandw): Apply
1964 trunc_int_for_mode for constants used in shortened mode.
1966 2004-10-13 Richard Henderson <rth@redhat.com>
1969 * c-common.c (handle_mode_attribute): Disallow mode changes that
1970 alter the CODE of the top-level type.
1972 * crtstuff.c (__FRAME_END__): Remove mode attribute. Find 32-bit
1973 integer from internal limits macros.
1974 * config/i386/mm3dnow.h (__v2sf): Fix base type.
1976 2004-10-13 Richard Henderson <rth@redhat.com>
1979 * function.c (instantiate_decl): Recurse for CONCAT.
1981 2004-10-13 David Edelsohn <edelsohn@gnu.org>
1983 * config/rs6000/rs6000.md (andsi3): Add attribute "compare" for
1986 (extzvdi_internal1): Add attribute "compare".
1987 (extzvdi_internal2): Same.
1989 2004-10-12 Tom Tromey <tromey@redhat.com>
1991 * doc/md.texi (Insn Canonicalizations): Removed extraneous quote.
1993 2004-10-13 Dale Johannesen <dalej@apple.com>
1995 * doc/extend.texi (Extended Asm): Rewrite asm volatile description.
1997 2004-10-13 Frank Ch. Eigler <fche@redhat.com>
1999 * toplev.c (compile_file): Call mudflap_finish_file from here ...
2000 * c-decl.c (c_write_global_declarations): ... instead of here ...
2001 * cp/decl.c (cp_finish_file): ... and here.
2002 * tree-mudflap.c (mudflap_enqueue_decl): Reword a warning message.
2004 2004-10-13 Andrew Pinski <pinskia@physics.uc.edu>
2006 * tree-ssa-dom.c (record_range): Free the element if we are not
2009 2004-10-13 Tom Tromey <tromey@redhat.com>
2012 * gcc.c (option_map): Added --extdirs and --encoding.
2014 2004-10-13 Eric Botcazou <ebotcazou@libertysurf.fr>
2017 * config/sparc/sparc.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Set to
2018 sparc_can_output_mi_thunk.
2019 (sparc_output_mi_thunk): Simplify handling of delta offset. Add
2020 handling of vcall offset.
2021 (sparc_can_output_mi_thunk): New predicate.
2022 * doc/tm.texi (TARGET_ASM_OUTPUT_MI_THUNK): Document VCALL_OFFSET.
2023 (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Delete.
2024 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New target hook.
2026 * config/sparc/sparc.c (emit_and_preserve): Preserve stack alignment.
2028 * config/sparc/sparc.md (movdi): Remove redundant test.
2030 2004-10-13 Paolo Bonzini <bonzini@gnu.org>
2032 * tree-dump.c (dump_options): Remove TDF_TREE, TDF_RTL,
2033 TDF_IPA from -fdump-tree-*-all.
2035 2004-10-13 Paul Brook <paul@codesourcery.com>
2037 * config/arm/arm-protos.h (arm_load_pic_register): Update prototype.
2038 * config/arm/arm.c (thumb_find_work_register): Update comments.
2039 (arm_load_pic_register): Add argument for scratch register.
2040 (arm_expand_prologue, thumb_expand_prologue): Pass extra argument.
2041 * config/arm/arm.md (builtin_setjmp_receiver): Ditto.
2043 2004-10-13 Kazu Hirata <kazu@cs.umass.edu>
2045 * tree-data-ref.c: Fix comment typos.
2047 2004-10-13 Jakub Jelinek <jakub@redhat.com>
2048 Zdenek Dvorak <dvorakz@suse.cz>
2050 PR tree-optimization/17724
2051 * tree-cfg.c (tree_purge_dead_eh_edges): Free dominance info.
2053 2004-10-13 Dorit Naishlos <dorit@il.ibm.com>
2055 * rs6000.c (altivec_builtin_mask_for_load): Made static GTY(()).
2056 (altivec_builtin_mask_for_store): Likewise.
2057 (altivec_init_builtins): Use lang_hooks.builtin_function to
2058 create the decls for builtin_altivec_mask_for_load/store.
2060 2004-10-13 Nick Clifton <nickc@redhat.com>
2062 * config/c4x/c4x.c: Remove inclusion of loop.h.
2064 2004-10-12 Ben Elliston <bje@au.ibm.com>
2066 * basic-block.h (edge_iterator): Keep the address of VEC(edge) *.
2067 (ei_container): New; renamed.
2068 (ei_start, ei_last): New macros.
2069 (ei_start_1, ei_last_1): Renamed from ei_start.
2070 (ei_last_1, ei_end_p): Use ei_container() where applicable.
2071 (ei_one_before_end_p, ei_next, ei_edge): Likewise.
2072 * gcse.c (remove_reachable_equiv_notes): Use ei_container().
2074 2004-10-11 Sebastian Pop <pop@cri.ensmp.fr>
2076 * Makefile.in (tree-ssa-loop-niter.o): Depends on tree-data-ref.h.
2077 * cfgloop.c (initialize_loops_parallel_p): New.
2078 (flow_loops_find): Initialize the parallel_p field to true for all
2080 * tree-ssa-loop-niter.c: Include "tree-data-ref.h".
2081 (estimate_numbers_of_iterations_loop): Infers the loop bounds from
2082 the size of the data accessed in the loop.
2083 (struct nb_iter_bound): Moved...
2084 * cfgloop.h (struct nb_iter_bound): ... here.
2085 (estimated_nb_iterations, parallel_p): New fields in struct loop.
2086 (record_estimate): Declare extern here.
2087 * tree-chrec.c: Fix comments.
2088 (nb_vars_in_chrec): New function.
2089 * tree-chrec.h (nb_vars_in_chrec): Declared here.
2090 * tree-data-ref.c: Don't include lambda.h, that is already included
2092 (tree_fold_divides_p): Don't check for integer_onep.
2093 (tree_fold_bezout): Removed.
2094 (gcd): New static duplicated function.
2095 (int_divides_p, dump_subscript): New.
2096 (dump_data_dependence_relation): Use dump_subscript.
2097 (dump_dist_dir_vectors, dump_ddrs, compute_estimated_nb_iterations,
2098 estimate_niter_from_size_of_data): New.
2099 (analyze_array_indexes, analyze_array): Call
2100 estimate_niter_from_size_of_data during the detection of array
2101 references. Pass in a pointer to the statement that contains the
2103 (all_chrecs_equal_p): New.
2104 (compute_distance_vector): Renamed compute_subscript_distance.
2105 Deal with multivariate conflict functions.
2106 (initialize_data_dependence_relation): Initialize DDR_AFFINE_P,
2107 DDR_SIZE_VECT, DDR_DIST_VECT, and DDR_DIR_VECT.
2108 (non_affine_dependence_relation): New.
2109 (analyze_ziv_subscript, analyze_siv_subscript_cst_affine,
2110 analyze_siv_subscript, analyze_miv_subscript,
2111 analyze_overlapping_iterations, subscript_dependence_tester):
2112 Initialize and return last_conflicts function.
2113 (initialize_matrix_A, FLOOR, compute_overlap_steps_for_affine_univar,
2114 compute_overlap_steps_for_affine_1_2): New.
2115 (analyze_siv_subscript_affine_cst): Removed.
2116 (analyze_subscript_affine_affine): Disprove dependences based on the
2117 iteration domains. Solve the univariate dependence case as before,
2118 but use lambda_matrix_right_hermite instead of tree_fold_bezout.
2119 Implement the multivariate case of 2 versus 1 variables.
2120 (build_classic_dist_vector, build_classic_dir_vector): Implement some
2122 (find_data_references_in_loop): Compute and initialize
2123 loop->estimated_nb_iterations and loop->parallel_p.
2124 (analyze_all_data_dependences): Modify the debug dump order.
2125 * tree-data-ref.h (SUB_LAST_CONFLICT_IN_A, SUB_LAST_CONFLICT_IN_B,
2126 subscript->last_conflict_in_a, subscript->last_conflict_in_b): Removed.
2127 (SUB_LAST_CONFLICT, subscript->last_conflict,
2128 data_dependence_relation->affine_p, data_dependence_relation->size_vect,
2129 DDR_AFFINE_P, DDR_SIZE_VECT): New.
2130 (find_data_references_in_loop, initialize_data_dependence_relation,
2131 dump_subscript, dump_ddrs, dump_dist_dir_vectors): Declared here.
2133 2004-10-12 Kelley Cook <kcook@gcc.gnu.org>
2135 * configure: Regenerate.
2137 2004-10-12 Fariborz Jahanian <fjahanian@apple.com>
2140 * tree-ssa-dom.c (unsafe_associative_fp_binop): New function.
2141 (simplify_rhs_and_lookup_avail_expr): Disallow associativity
2142 and constant folding of floating point MULT_EXPR/PLUS_EXPR
2145 2004-10-12 Ulrich Weigand <uweigand@de.ibm.com>
2147 * config/s390/s390.c (s390_va_start): Use build_va_arg_indirect_ref.
2148 (s390_gimplify_va_arg): Likewise.
2150 2004-10-12 Daniel Jacobowitz <dan@debian.org>
2152 * defaults.h (REGNO_MODE_OK_FOR_BASE_P, REG_MODE_OK_FOR_BASE_P)
2153 (MODE_BASE_REG_REG_CLASS, REGNO_MODE_OK_FOR_REG_BASE_P)
2154 (REG_MODE_OK_FOR_REG_BASE_P): Provide default definitions.
2155 * regclass.c (record_address_regs): Remove ifdef. Use
2156 REG_MODE_OK_FOR_REG_BASE_P and MODE_BASE_REG_REG_CLASS.
2157 * regrename.c (REG_MODE_OK_FOR_BASE_P): Remove unnecessary
2159 (scan_rtx_address, replace_oldest_value_addr): Use
2160 REG_MODE_OK_FOR_REG_BASE_P and MODE_BASE_REG_REG_CLASS.
2161 * reload.c (REGNO_MODE_OK_FOR_BASE_P, REG_MODE_OK_FOR_BASE_P): Remove
2162 unnecessary definitions.
2163 (find_reloads_address_1): Support REG_MODE_OK_FOR_REG_BASE_P
2164 and MODE_BASE_REG_REG_CLASS.
2165 * config/arm/arm.h (MODE_BASE_REG_CLASS): Don't check reload_completed.
2166 (MODE_BASE_REG_REG_CLASS): Define.
2167 (REGNO_MODE_OK_FOR_REG_BASE_P): Define.
2168 (REG_MODE_OK_FOR_REG_BASE_P): Define.
2169 * doc/tm.texi (Register Classes): Document MODE_BASE_REG_REG_CLASS,
2170 REG_MODE_OK_FOR_REG_BASE_P, and REGNO_MODE_OK_FOR_REG_BASE_P.
2172 2004-10-12 Daniel Berlin <dberlin@dberlin.org>
2174 * tree-ssa-alias.c (verify_name_tags): New function.
2175 (verify_flow_sensitive_alias_info): Remove code that used to check name tags.
2176 (verify_alias_info): Call verify_name_tags.
2178 2004-10-12 Kazu Hirata <kazu@cs.umass.edu>
2180 PR rtl-optimization/17931
2181 * config/i386/i386.c (ix86_rtx_costs): Handle COMPARE with
2184 2004-10-12 Richard Earnshaw <rearnsha@arm.com>
2186 * arm.c (arm_print_operand): Use output_operand_lossage where possible
2187 rather than aborting.
2189 2004-10-12 Paul Brook <paul@coudesourcery.com>
2191 * config.gcc: Add armv6{k,z,zk}
2192 * config/arm/arm-cores.def: Add arm1176 and mpcore.
2193 * config/arm/tune.md: Regenerate.
2194 * config/arm/arm.c (FL_FOR_ARCH6K, FL_FOR_ARCH6Z, FL_FOR_ARCH6ZK):
2196 (all_architectures): Add armv6k, armv6z, armv6zk.
2197 * config/arm/lib1funcs.asm: Recognise new arm arcitectures.
2198 * doc/invoke.texi: Document new arch and cpu values.
2200 2004-10-12 Paul Brook <paul@coodesourcery.com>
2202 * config/arm/bpabi.h (SUBTARGET_EXTRA_ASM_SPEC): Change meabi=3 to
2205 2004-10-12 Paul Brook <paul@codesourcery.com>
2207 * config/arm/arm.md (addsi3_cbranch_scratch): Correct constraints.
2208 Handle negative constants.
2210 2004-10-12 Joseph S. Myers <jsm@polyomino.org.uk>
2213 * c-typeck.c (convert_arguments): Return error_mark_node if there
2214 are too few arguments.
2215 (build_function_call): Handle error_mark_node return from
2218 2004-10-06 Paolo Bonzini <bonzini@gnu.org>
2220 * configure.ac (symbolic_link): Replace with $LN_S.
2221 (Assembler/Linker): Hard link from gas and binutils trees.
2222 * aclocal.m4 (gcc_AC_PROG_LN_S): Try "cp -p" before cp.
2223 * configure: Regenerate.
2225 2004-10-12 Paul Brook <paul@codesourcery.com>
2227 * configure.ac: Don't look for host assembler when building a canadian
2229 * configure: Regenerate.
2231 2004-10-11 Roger Sayle <roger@eyesopen.com>
2234 * c-opts.c (permit_fortran_options): Delete/obsolete global variable.
2235 (c_common_init_options): Remove #ifdef CL_F77 code. Scan command
2236 line options for "-lang-asm" and if found allow any of the C-family
2238 (c_common_handle_option): Remove last use of permit_fortran_options.
2240 2004-10-11 Ulrich Weigand <uweigand@de.ibm.com>
2242 * config/s390/s390.c (print_operand): Support 'S' format flag.
2243 * config/s390/s390.md ("*tmqi_mem"): Use 'S' format flag.
2244 ("*tstsi", "*tstsi_cconly", "*tstsi_cconly2"): Likewise.
2245 ("*tsthiCCT", "*tsthiCCT_cconly", "*tsthi", "*tsthi_cconly"): Likewise.
2246 ("*tstqiCCT", "*tstqiCCT_cconly", "*tstqi", "*tstqi_cconly"): Likewise.
2247 ("*cmphi_ccu", "*cmpqi_ccu", "*clc"): Likewise
2248 ("movti", "*movdi_31", "*movqi", "*movdf_31", "*mvc"): Likewise.
2249 ("*movstricthi"): Likewise.
2250 ("*load_multiple_di", "*load_multiple_si"): Likewise.
2251 ("*store_multiple_di", "*store_multiple_si"): Likewise.
2252 ("*sethiqisi", "*sethihisi"): Likewise.
2253 ("*sethiqidi_64", "*sethiqidi_31"): Likewise.
2254 ("*andqi3_zarch", "*andqi3_esa", "*nc"): Likewise.
2255 ("*iorqi3_zarch", "*iorqi3_esa", "*oc"): Likewise.
2256 ("*xorqi3", "*xc", "*xc_zero"): Likewise.
2257 ("get_tp_64", "get_tp_31", "set_tp_64", "set_tp_31"): Likewise.
2259 ("*tmhi_full"): Fix incorrect op_type attribute.
2261 ("*adddi3_alc_cc", "*adddi3_alc"): Remove double backslash.
2262 ("*subdi3_slb_cc", "*subdi3_slb"): Likewise.
2263 ("*addsi3_alc_cc", "*addsi3_alc"): Likewise.
2264 ("*subsi3_slb_cc", "*subsi3_slb"): Likewise.
2266 2004-10-11 Andrew Pinski <pinskia@physics.uc.edu
2269 * function.c (temp_slots_at_level): Fix typo which creates too
2270 many temp stack slots levels.
2272 2004-10-11 Ulrich Weigand <uweigand@de.ibm.com>
2274 * config/s390/s390.c (s390_trampoline_template): Generate shorter
2276 (s390_trampoline_instantiate): Adapt.
2277 * config/s390/s390.h (TRAMPOLINE_SIZE): Adapt to new code.
2279 2004-10-11 Roger Sayle <roger@eyesopen.com>
2282 * stmt.c (add_case_node): Add additional type argument. Declare
2283 as static to match prototype. Convert the upper and lower bounds
2284 to the specified index type. Optimize away case ranges/values
2285 that are outside the index type's bounds. Truncate case ranges
2286 that span the index type's bounds.
2287 (expand_case): Avoid unnessary computation and memory allocation
2288 when index type is error_mark_node. Pass index_type as required
2289 by change to add_case_node API. No need to convert case range
2290 bounds to index_type, this is now done by add_case_node.
2292 2004-10-11 Ulrich Weigand <uweigand@de.ibm.com>
2294 * config/s390/s390-protos.h (s390_offset_p): Add prototype.
2295 * config/s390/s390.c (s390_offset_p): New function.
2296 * config/s390/s390.md ("*cmpdi_cct", "*cmpsi_cct", "*cmpdi_ccu",
2297 "*cmpsi_ccu", "*cmphi_ccu", "*cmpqi_ccu"): Use splitter to
2298 transform Q->Q alternatives to *clc pattern.
2300 ("movti", "*movdi_64", "*movdi_31", "*movsi_zarch", "*movsi_esa",
2301 "*movhi", "*movqi", "*movdf_64", "*movdf_31", "movsf"): Use splitter
2302 to transform Q->Q alternatives to *mvc pattern.
2303 ("*mvc"): Move. Add peephole to merge adjacent MVCs.
2304 ("*anddi3", "*andsi3_zarch", "*andsi3_esa", "*andhi3_zarch",
2305 "*andhi3_esa", "*andqi3_zarch", "*andqi3_esa"): Use splitter to
2306 transform Q->Q alternatives to *nc pattern.
2307 ("*nc"): New insn. New peephole to merge adjacent NCs.
2308 ("*iordi3", "*iorsi3_zarch", "*iorsi3_esa", "*iorhi3_zarch",
2309 "*iorhi3_esa", "*iorqi3_zarch", "*iorqi3_esa"): Use splitter to
2310 transform Q->Q alternatives to *oc pattern.
2311 ("*oc"): New insn. New peephole to merge adjacent OCs.
2312 ("*xordi3", "*xorsi3", "*xorhi3", "*xorqi3"): Use splitter to
2313 transform Q->Q alternatives to *xc pattern.
2314 ("*xc"): New insn. New peephole to merge adjacent XCs.
2315 ("*xc_zero"): Move. Add peephole to merge adjacent XCs.
2317 2004-10-11 Andrew Pinski <pinskia@physics.uc.edu>
2319 * gimplify.c (gimple_push_condition): Make sure that we don't
2320 have any saved condition cleanup if we were at the top level.
2322 2004-10-11 Richard Sandiford <rsandifo@redhat.com>
2324 * config/frv/frv.md (*adddi3_internal): Change name to...
2325 (adddi3): ...replacing the exisiting define_expand. Combine
2326 alternatives. Fix the range of the constant constraints ('J' instead
2327 of 'NOP'). Remove bogus operands[2] check. Use simplify_gen_subreg
2328 to extract the lower and upper halves of the DImode operands.
2329 Always use addi3_lower and adddi3_upper, not the subdi3 forms.
2330 (adddi3_lower): Fix the range of the constant constraints and
2331 remove the bogus operands[2] check.
2332 (adddi3_upper): Use gpr_or_int10_operand as the predicate for
2333 operand 2. Use addxi to handle constant operands.
2334 (subdi3_lower, subdi3_upper): Don't handle constant operands.
2336 2004-10-11 Nathan Sidwell <nathan@codesourcery.com>
2338 * gengtype-lex.l: Add commented } & ) characters to unconfuse
2339 editor's paren matching. Allow #define inside a struct.
2341 2004-10-10 Andrew Pinski <pinskia@physics.uc.edu>
2344 part of PR c++/17657
2345 * fold-const.c (fold_build_cleanup_point_expr): New function.
2346 * tree.h (fold_build_cleanup_point_expr): Prototype.
2348 2004-10-10 Eric Christopher <echristo@redhat.com>
2350 * dwarf2out.c: Move attribute to subprogram declaration
2351 instead of subroutine type.
2353 2004-10-10 Kazu Hirata <kazu@cs.umass.edu>
2355 * basic-block.h: Remove the prototypes for can_hoist_insn_p,
2356 hoist_insn_after, and hoist_insn_to_edge.
2357 * rtl.h: Remove the prototypes for reg_referenced_between_p,
2358 no_jumps_between_p, and insn_dependent_p.
2359 * rtlanal.c (no_jumps_between_p, reg_referenced_between_p,
2360 insn_dependent_p, insn_dependent_p_1, hoist_test_store,
2361 can_hoist_insn_p, hoist_update_store, hoist_insn_after,
2362 hoist_insn_to_edge): Remove.
2364 2004-10-10 Joseph S. Myers <jsm@polyomino.org.uk>
2367 * c-decl.c (grokparms): Don't warn for parameters of incomplete
2368 type in declarations that are not definitions except for the case
2369 of parameters of void type.
2371 2004-10-10 Kazu Hirata <kazu@cs.umass.edu>
2373 * tree-cfg.c: Fix comment typos.
2375 2004-10-10 Joseph S. Myers <jsm@polyomino.org.uk>
2378 * builtins.c (expand_builtin_va_start): Check for too few
2379 arguments to va_start.
2381 2004-10-10 Joseph S. Myers <jsm@polyomino.org.uk>
2384 * c-decl.c (grokfield): Make diagnostic for bad cases of unnamed
2385 fields a pedwarn. Pedwarn here for unnamed structs/unions if
2387 * c-parse.in (component_decl): Don't pedwarn here for unnamed
2390 2004-10-09 Zdenek Dvorak <dvorakz@suse.cz>
2392 PR tree-optimization/17906
2393 * tree-tailcall.c (tree_optimize_tail_calls_1): Do not attempt to
2394 copy non-gimple reg arguments.
2396 2004-10-09 Roger Sayle <roger@eyesopen.com>
2398 PR rtl-optimization/17853
2399 * simplify-rtx.c (simplify_relational_operation): Correct comment.
2400 Reorganize handling of comparison operations with floating point
2401 results (always return 0.0 even without FLOAT_STORE_FLAG_VALUE).
2402 Likewise, introduce support for comparison operations with vector
2403 result types, introducing a new VECTOR_STORE_FLAG_VALUE target macro.
2405 * doc/rtl.texi: Document new VECTOR_STORE_FLAG_VALUE target macro.
2406 * doc/tm.texi: Likewise.
2408 2004-10-09 Steven Bosscher <stevenb@suse.de>
2410 * regs.h (struct reg_info_def): Remove the last_node_uid and
2411 changes_mode fields.
2412 (REGNO_LAST_NOTE_UID): Don't define.
2413 * regclass.c (reg_scan_mark_refs): Don't set REGNO_LAST_NOTE_UID.
2414 * regmove.c (copy_src_to_dest): Likewise.
2416 2004-10-09 Roger Sayle <roger@eyesopen.com>
2419 * fold-const.c (fold_div_compare): When optimizing X/C1 op C2, the
2420 relational comparison operator op needs to be swapped/reversed when
2421 C1 is negative. i.e. X/-10 < 1 becomes X >= -9, not X < -9.
2423 2004-10-08 Andrew Pinski <pinskia@physics.uc.edu>
2426 * tree-ssa-phiopt.c (conditional_replacement): Use bsi_after_labels
2427 instead of bsi_start.
2428 (value_replacement): Likewise.
2429 (abs_replacement): Likewise
2431 2004-10-09 Steven Bosscher <stevenb@suse.de>
2433 * cfgexpand.c (maybe_dump_rtl_for_tree_stmt): New function.
2434 (expand_gimple_cond_expr, expand_gimple_tailcall,
2435 expand_gimple_basic_block): Use it to dump RTL for each stmt.
2436 (tree_expand_cfg): Announce full RTL function dump.
2437 * tree-optimize.c (execute_one_pass): Use normal RTL printing,
2438 not the graph version.
2439 * tree-pretty-print.c (dump_generic_node): Allow empty statements
2440 in the arms of a COND_EXPR for lowered nodes.
2442 2004-10-08 Joseph S. Myers <joseph@codesourcery.com>
2444 * config/rs6000/spe.h (atosfix16, atosfix32, atosfix64, atoufix16,
2445 atoufix32, atoufix64, strtosfix16, strtosfix32, strtosfix64,
2446 strtoufix16, strtoufix32, strtoufix64): Declare.
2448 2004-10-08 Joseph S. Myers <jsm@polyomino.org.uk>
2450 * c-lex.c (interpret_float): Give a pedwarn rather than a warning
2451 for an out-of-range floating point constant.
2452 * builtins.c (fold_builtin_inf): Give a pedwarn rather than a
2453 warning if the target format does not support infinities.
2455 2004-10-08 Kazu Hirata <kazu@cs.umass.edu>
2457 * emit-rtl.c (last_label_num, base_label_num): Remove.
2458 (max_label_num): Always return label_num.
2459 (set_new_last_label_num, restore_emit_status): Remove.
2460 (init_emit): Don't initialize last_label_num.
2461 * function.c (pop_function_context_from): Don't call
2462 restore_emit_status.
2463 * function.h: Remove the prototype for restore_emit_status.
2464 * rtl.h: Remove the prototype for set_new_last_label_num.
2466 2004-10-08 Kazu Hirata <kazu@cs.umass.edu>
2468 * stmt.c (expand_decl_init): Remove.
2469 * tree.h: Remove the corresponding prototype.
2471 2004-10-08 Kazu Hirata <kazu@cs.umass.edu>
2473 * integrate.c (try_constants, subst_constants, mark_stores):
2475 * integrate.h: Remove the prototype for try_constants.
2477 2004-10-08 Joseph S. Myers <jsm@polyomino.org.uk>
2479 * c-typeck.c (enum impl_conv): Add ic_argpass_nonproto.
2480 (convert_for_assignment): Handle ic_argpass_nonproto. Add
2481 comments about its relevance to errors.
2482 (c_convert_parm_for_inlining): Use ic_argpass_nonproto.
2484 2004-10-08 Andrew Pinski <pinskia@physics.uc.edu>
2487 * c-ppoutput.c (cb_ident): Don't quote string as it is already
2490 2004-10-08 Diego Novillo <dnovillo@redhat.com>
2492 * tree-ssa-pre.c (init_pre): Use size of ARRAY_REF to allocate
2493 reference_node_pool.
2495 2004-10-08 Kazu Hirata <kazu@cs.umass.edu>
2497 * tree-cfg.c: Fix a comment typo.
2499 2004-10-08 Andreas Krebbel <krebbel1@de.ibm.com>
2501 * config/s390/s390.c (s390_register_info): Don't save fprs for
2503 (s390_conditional_register_usage): Make fprs 'fixed' for -msoft-float.
2505 2004-10-08 Ulrich Weigand <uweigand@de.ibm.com>
2507 * config/s390/s390.h (TARGET_DEFAULT_BACKCHAIN): New define.
2508 (TARGET_DEFAULT): Use symbolic values.
2509 * config/s390/tpf.h (TARGET_DEFAULT_BACKCHAIN): Redefine.
2510 (TARGET_DEFAULT): Use symbolic values.
2511 * config/s390/s390.c (s390_backchain_string): Initialize to
2512 TARGET_DEFAULT_BACKCHAIN.
2514 2004-10-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2516 * builtins.c (expand_builtin_mempcpy): Move tree handling code to
2517 fold_builtin_mempcpy. Accept a type parameter. Delete duplicate
2519 (expand_builtin_strcat): Accept a type parameter.
2520 (fold_builtin_mempcpy): Accept a type and endp parameter.
2522 * builtins.c (expand_builtin_strncpy): Delete duplicate code.
2523 Accept an `exp' instead of an `arglist'.
2525 2004-10-08 Nathan Sidwell <nathan@codesourcery.com>
2527 * tree-tailcall.c (tree_optimize_tail_calls_1): Use fold_convert,
2528 reverting my 2004-09-07 patch to use build_int_cst.
2530 2004-10-08 Eric Botcazou <ebotcazou@libertysurf.fr>
2533 * config/sparc/sparc.c (input_operand): Remove redundant code
2534 for handling LO_SUM.
2535 (legitimate_address_p) <REG+REG>: Do not recheck TARGET_V9.
2536 <LO_SUM>: If LO_SUM is offsettable, accept it for TFmode on V9.
2537 Otherwise only accept it for TFmode if quad move insns are available.
2539 2004-10-08 Kazu Hirata <kazu@cs.umass.edu>
2541 * tree-cfg.c (tree_forwarder_block_p): Reorder checks so that
2542 common cases will be caught earlier than others.
2544 2004-10-08 Michael Matz <matz@suse.de>
2546 * loop-doloop.c (doloop_optimize): Extend count.
2548 2004-10-08 Kaz Kojima <kkojima@gcc.gnu.org>
2550 * config/sh/sh.md (prefetch_media, prefetch_i4): New insns.
2551 (prefetch): Convert to expander.
2553 2004-10-08 Kaz Kojima <kkojima@gcc.gnu.org>
2555 * config/sh/sh.md (tls_global_dynamic): Use MEM pattern for the
2556 first argument of CALL.
2557 (tls_local_dynamic): Likewise.
2559 2004-10-08 Joseph S. Myers <jsm@polyomino.org.uk>
2561 * c-typeck.c (enum impl_conv): New.
2562 (convert_for_assignment): Use it. Take tree for function called
2563 instead of its name. Handle ObjC selectors for diagnostics at
2564 start of function. Select diagnostic text within the function
2565 using full sentences for diagnsotics. Use %qE to name functions
2567 (convert_arguments, build_modify_expr,
2568 c_convert_parm_for_inlining, digest_init, c_finish_return): Update
2569 callers to convert_for_assignment.
2570 (warn_for_assignment): Remove.
2572 2004-10-08 Nick Clifton <nickc@redhat.com>
2574 * config/sh/symbian.c (symbian_possibly_export_base_class):
2575 Replace use of deleted TYPE_USES_VIRTUAL_BASECLASSES macro with
2576 TYPE_CONTAINS_VPTR_P.
2578 2004-10-08 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
2580 * config/m32r/m32r.h (CONDITIONAL_REGISTER_USAGE): Don't exclude
2581 fixed registers form all_used_regs. Update call_really_used_regs.
2582 (CALL_REALLY_USED_REGISTERS): Define.
2583 * config/m32r/m32r.c (MUST_SAVE_REGISTER): Replace call_used_regs
2584 with call_really_used_regs.
2586 2004-10-08 Alan Modra <amodra@bigpond.net.au>
2588 * config/rs6000/sysv4.h (STARTFILE_LINUX_SPEC): Choose gcrt1.o
2589 for -profile as well as -p and -pg.
2591 2004-10-07 Andrew Pinski <pinskia@physics.uc.edu>
2593 * libgcc2.c (__moddi3): Cast &w to UDWtype*.
2595 2004-10-07 Kazu Hirata <kazu@cs.umass.edu>
2597 * tree-cfg.c (tree_block_forwards_to): Remove.
2598 * tree-flow.h: Remove the corresponding prototype.
2600 2004-10-07 Kazu Hirata <kazu@cs.umass.edu>
2602 * tree-flow-inline.h (phi_nodes): Remove an unnecessary check
2603 for ENTRY_BLOCK_PTR and EXIT_BLOCK_PTR.
2605 2004-10-07 Geoffrey Keating <geoffk@apple.com>
2608 * config/rs6000/rs6000.c (rs6000_generate_compare): When
2609 flag_trapping_math is in effect, don't generate subtract
2612 2004-10-07 Ulrich Weigand <uweigand@de.ibm.com>
2614 * config/s390/s390-protos.h (s390_narrow_logical_operator): Add.
2615 * config/s390/s390.c (s390_narrow_logical_operator): New function.
2616 (s390_extra_constraint_str): Add 'A' constraints.
2617 (s390_const_ok_for_constraint_p): Add 'Nx' constraints.
2618 * config/s390/s390.h (EXTRA_MEMORY_CONSTRAINT): Add 'A' constraint.
2619 (CONSTRAINT_LEN): Likewise.
2620 * config/s390/s390.md ("*anddi3"): Add NI alternative and splitter.
2621 ("*andsi3_zarch", "*andsi3_esa"): Likewise.
2622 ("*andhi3_zarch", "*andhi3_esa"): Likewise.
2623 ("*iordi3"): Add OI alternative and splitter.
2624 ("*iorsi3_zarch", "*iorsi3_esa"): Likewise.
2625 ("*iorhi3_zarch", "*iorhi3_esa"): Likewise.
2626 ("*xordi3"): Add XI alternative and splitter.
2627 ("*xorsi3", "*xorhi3"): Likewise.
2629 2004-10-07 Richard Sandiford <rsandifo@redhat.com>
2631 * config/mips/mips.c (mips_function_rodata_section): New function.
2632 (TARGET_ASM_FUNCTION_RODATA_SECTION): Use it.
2634 2004-10-07 Devang Patel <dpatel@apple.com>
2636 * rs6000/altivec.md (UNSPEC_VCMPBFP, UNSPEC_VCMPEQUB, UNSPEC_VCMPEQUH,
2637 UNSPEC_VCMPEQUW, UNSPEC_VCMPGEFP, UNSPEC_VCMPGTUB, UNSPEC_VCMPGTSB,
2638 UNSPEC_VCMPGTUH, UNSPEC_VCMPGTSH, UNSPEC_VCMPGTUW, UNSPEC_VCMPGTSW,
2639 UNSPEC_VCMPGTFP, UNSPEC_VSEL4SI, UNSPEC_VSEL4SF, UNSPEC_VSEL8HI,
2640 UNSPEC_VSEL16QI, UNSPEC_VCOND_V4SI, UNSPEC_VCOND_V4SF, UNSPEC_VCOND_V8HI,
2641 UNSPEC_VCOND_V16QI, UNSPEC_VCONDU_V4SI, UNSPEC_VCONDU_V8HI,
2642 UNSPEC_VCONDU_V16QI): New constant defines.
2643 (vcondv4si, vcondv4sf, vcondv8hi, vcondv16qi, vconduv4si, vconduv8hi,
2644 vconduv16qi): New patterns.
2645 * rs6000/rs6000-protos.h (rs6000_emit_vector_cond_expr): New function.
2646 * rs6000/rs6000.c (rs6000_emit_vector_cond_expr): New function.
2647 (get_vec_cmp_insn): Same.
2648 (get_vsel_insn): Same.
2649 (rs6000_emit_vector_compare): Same.
2650 (rs6000_emit_vector_select): Same.
2651 (INSN_NOT_AVAILABLE): New.
2653 2004-10-07 Zdenek Dvorak <dvorakz@suse.cz>
2655 PR tree-optimization/17749
2656 * tree-tailcall.c (find_tail_calls): Check that parameter is
2659 2004-10-07 Kazu Hirata <kazu@cs.umass.edu>
2661 * config/ia64/ia64.c: Fix a comment typo.
2663 2004-10-07 Eric Botcazou <ebotcazou@libertysurf.fr>
2665 * doc/install.texi (*-*-solaris2*): Fix marker for URL.
2667 2004-10-07 Giovanni Bajo <giovannibajo@gcc.gnu.org>
2670 * tree-inline.c (expand_call_inline): Do not warn for functions
2671 marked with attribute noinline.
2673 2004-10-07 Eric Botcazou <ebotcazou@libertysurf.fr>
2676 * config/sparc/sparc.c (sparc_output_mi_thunk): Set
2677 current_function_uses_only_leaf_regs as well as sparc_leaf_function_p.
2679 * config/sparc/sparc.c (sparc_gimplify_va_arg): Pass 'false' instead
2680 of 0 as 4th argument to pass_by_reference.
2681 Call build_va_arg_indirect_ref instead of build_fold_indirect_ref.
2683 2004-10-06 Eric Christopher <echristo@redhat.com>
2685 * config/sh/sh.c (sh_dwarf_calling_convention): Fix renesas dwarf
2688 2004-10-07 Richard Sandiford <rsandifo@redhat.com>
2691 * config/mips/mips.md (mov_<load>l): Remove hazard=none attribute.
2693 2004-10-07 Zdenek Dvorak <dvorakz@suse.cz>
2695 PR rtl-optimization/17791
2696 * loop-doloop.c (doloop_modify): Take number of iterations as
2698 (doloop_optimize): Extend or shorten the number of iterations
2699 when changing mode of counter register.
2700 * loop-iv.c (lowpart_subreg): Export.
2701 * rtl.h (lowpart_subreg): Declare.
2703 2004-10-07 Zdenek Dvorak <dvorakz@suse.cz>
2705 PR tree-optimization/17806
2706 * cfghooks.c (split_edge): Update IRREDUCIBLE_LOOP flags.
2707 * cfgloopmanip.c (loop_split_edge_with): Updating of IRREDUCIBLE_LOOP
2708 flags moved to split_edge.
2710 2004-10-07 Eric Botcazou <ebotcazou@libertysurf.fr>
2713 * expmed.c (expand_sdiv_pow2): Force a stack adjustment
2714 before tentatively building the conditional move sequence.
2716 2004-10-07 Richard Sandiford <rsandifo@redhat.com>
2719 * function.c (assign_parm_setup_block_p): Tighten BLOCK_REG_PADDING
2721 * config/pa/pa.h (BLOCK_REG_PADDING): Define in terms of
2722 function_arg_padding.
2724 2004-10-07 Richard Sandiford <rsandifo@redhat.com>
2727 * Makefile.in (stmp-fixproto): Pass FIX_HEADER=build/... to fixproto.
2729 2004-10-07 Kazu Hirata <kazu@cs.umass.edu>
2731 * hooks.c (hook_int_void_1, hook_void_int): Remove.
2732 * hooks.h: Remove the corresponding prototypes.
2734 2004-10-06 Andrew Pinski <pinskia@physics.uc.edu>
2737 * tree-nested.c (walk_stmt_info): Add changed field.
2738 (convert_nonlocal_reference): Set changed to when we
2739 change a decl to unnested decl.
2740 <case ADDR_EXPR>: Instead of checking if the immediate part
2741 of the ADDR_EXPR changed, check the field changed.
2742 Use recompute_tree_invarant_for_addr_expr instead of unsetting
2744 (convert_local_reference): Set changed to when we
2745 change a decl to unnested decl.
2746 <case ADDR_EXPR>: Instead of checking if the immediate part
2747 of the ADDR_EXPR changed, check the field changed.
2748 Also call recompute_tree_invarant_for_addr_expr on the ADDR_EXPR.
2750 2004-10-06 Kazu Hirata <kazu@cs.umass.edu>
2752 * defaults.h (DWARF2_GENERATE_TEXT_SECTION_LABEL): Remove.
2753 * dwarf2out.c (dwarf2out_init): Remove references to
2754 DWARF2_GENERATE_TEXT_SECTION_LABEL.
2755 * system.h: Poison DWARF2_GENERATE_TEXT_SECTION_LABEL.
2756 * doc/tm.texi (DWARF2_GENERATE_TEXT_SECTION_LABEL): Remove.
2758 2004-10-06 Joseph S. Myers <jsm@polyomino.org.uk>
2760 * c-typeck.c (convert_arguments): Take expression for called
2761 function rather than its name. Handle ObjC selectors directly
2762 rather than relying on warn_for_assignment to do so. Call warning
2763 directly rather than warn_for_assignment. Use %qE in diagnostics.
2764 Say "argument" rather than "arg" in diagnostics.
2765 (build_function_call): Update call to convert_arguments.
2767 2004-10-06 Andrew Pinski <pinskia@physics.uc.edu>
2770 * dbxout.c (dbxout_symbol): Really handle RECORD, UNION, and
2771 ENUMs specially instead of just saying we do.
2773 2004-10-06 Eric Christopher <echristo@redhat.com>
2775 * dwarf2.h: Sync with include/elf/dwarf2.h
2777 2004-10-06 Daniel Berlin <dberlin@dberlin.org>
2779 * tree-pretty-print.c (dump_generic_node): Fix printing of BINFO
2782 2004-10-06 Daniel Berlin <dberlin@dberlin.org>
2784 * lambda-code.c (lambda_loopnest_to_gcc_loopnest): Convert
2785 to use FOR_EACH_SSA_USE_OPERAND iterator, and propagate_value.
2787 2004-10-06 Daniel Berlin <dberlin@dberlin.org>
2789 * lambda-code.c (compute_nest_using_fourier_motzkin): New
2791 (lambda_compute_auxillary_space): Split from here.
2793 2004-10-06 Daniel Berlin <dberlin@dberlin.org>
2795 * tree-ssa-loop-ivopts.c (expr_invariant_in_loop): Make non-static.
2796 * tree-flow.h: Add prototype.
2797 * lambda-code.c (invariant_in_loop_and_outer_loops): Use
2798 expr_invariant_in_loop.
2800 2004-10-06 Kazu Hirata <kazu@cs.umass.edu>
2802 * tree-cfg.c (thread_jumps): Remove a duplicate check for
2805 2004-10-06 Ulrich Weigand <uweigand@de.ibm.com>
2807 * config/s390/s390-protos.h (s_imm_operand): Remove.
2808 (s390_pool_operand): Add prototype.
2809 * config/s390/s390.c (general_s_operand): Remove.
2810 (s_imm_operand): Remove.
2811 (s_operand): Merge contents of general_s_operand.
2812 (s390_pool_operand): New function.
2813 * config/s390/s390.h (PREDICATE_CODES): Remove s_imm_operand.
2814 * config/s390/s390.md ("*cmpdi_cct", "*cmpsi_cct"): New insns.
2815 ("*cmpdi_ccu"): Merge Q->Q alternative.
2816 ("*cmpsi_ccu", "*cmphi_ccu"): Likewise.
2817 ("*cmpqi_ccu"): Merge Q->Q, n->Q, n->S alternatives.
2819 ("*cmpdi_ccu_mem", "*cmpsi_ccu_mem"): Likewise.
2820 ("*cmphi_ccu_mem", "*cmpqi_ccu_mem"): Likewise.
2821 ("*movstricthi"): Use memory_operand instead of s_imm_operand.
2823 2004-10-06 Steve Ellcey <sje@cup.hp.com>
2825 * config/ia64/ia64.h (FUNCTION_ARG_BOUNDARY): Change macro to
2826 call ia64_function_arg_boundary.
2827 * config/ia64/ia64-protos.h (ia64_function_arg_boundary): New.
2828 * config/ia64/ia64.c (ia64_function_arg_boundary): New.
2829 (ia64_function_arg_advance): Do not put 128 bit floats into
2832 2004-10-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2834 * builtins.c (expand_builtin_strcpy): Delete duplicate code.
2835 Accept an expression instead of an arglist.
2836 (expand_builtin_stpcpy): Accept an expression instead of an
2839 2004-10-06 Eric Botcazou <ebotcazou@libertysurf.fr>
2842 * doc/install.texi (*-*-solaris2*): Mention potential problem
2843 with Sun assembler + GNU linker and C++ programs.
2844 Document status of binutils 2.15 release.
2846 2004-10-06 Jan Hubicka <jh@suse.cz>
2848 * cse.c (cse_main): Kill push/pop context.
2850 2004-10-05 Zack Weinberg <zack@codesourcery.com>
2852 * pretty-print.c: Include tree.h.
2853 (pp_base_prepare_to_format): New function, logic from
2854 text_specifies_location.
2855 (pp_base_format_text): Use gcc_assert.
2856 * pretty-print.h (pp_prepare_to_format): New macro.
2857 (pp_base_prepare_to_format): Prototype.
2858 * diagnostic.c (text_specifies_location): Delete.
2859 (bug_report_request): Delete.
2860 (diagnostic_set_info): Don't call text_specifies_location.
2861 (diagnostic_action_after_output): Put text from
2862 bug_report_request inline here. Use gcc_unreachable.
2863 (diagnostic_report_current_function): Fix comment.
2864 (diagnostic_report_diagnostic): Clarify logic for error recursion.
2865 Call pp_prepare_to_format before diagnostic_starter.
2866 (trim_filename): Use IS_DIR_SEPARATOR.
2867 (fatal_error, internal_error): Use gcc_unreachable.
2868 (error_recursion): Call diagnostic_action_after_output to
2869 issue the bug_report_request message and exit.
2870 * Makefile.in (diagnostic.o, pretty-print.o): Update dependencies.
2872 * c-parse.in: Add list of diagnostic messages to insulate
2873 translation template from version of yacc/bison used to
2874 compile the grammar.
2876 2004-10-06 Alan Modra <amodra@bigpond.net.au>
2879 * doc/tm.texi (USE_LD_AS_NEEDED, LINK_EH_SPEC): Document.
2881 2004-10-05 Kazu Hirata <kazu@cs.umass.edu>
2883 * basic-block.h: Remove the prototype for
2884 flow_preorder_transversal_compute.
2885 * cfganal.c (dfst_node): Remove.
2886 (flow_preorder_transversal_compute): Likewise.
2887 * rtl.h: Remove the prototype for get_jump_table_offset.
2888 * rtlanal.c (get_jump_table_offset): Remove.
2890 2004-10-05 Richard Henderson <rth@redhat.com>
2893 * tree-ssa-operands.c (get_expr_operands): Handle CONST_DECL.
2895 2004-10-05 Kelley Cook <kcook@gcc.gnu.org>
2898 * Makefile.in: Stage the build directory too.
2900 2004-10-05 Aldy Hernandez <aldyh@redhat.com>
2902 * config/frv/frv.h (LEGITIMIZE_ADDRESS): New.
2904 * config/frv/frv-protos.h (frv_legitimize_address): Protoize.
2905 (frv_emit_move): Same.
2907 * config/frv/frv.c (frv_emit_move): New.
2908 (frv_legitimize_address): New.
2910 * config/frv/frv.md ("movsi"): Call frv_emit_move.
2917 2004-10-05 Joseph S. Myers <jsm@polyomino.org.uk>
2919 * c-decl.c (declspecs_add_type): Don't pedwarn for _Complex in
2922 2004-10-05 Joseph S. Myers <jsm@polyomino.org.uk>
2924 * c-decl.c (pushdecl): When an extern declaration at block scope
2925 refers to a visible entity with internal linkage, use the old DECL
2926 rather than the new one.
2928 2004-10-05 Kazu Hirata <kazu@cs.umass.edu>
2930 * tree-cfg.c (cleanup_tree_cfg): Remove extra parentheses in
2933 2004-10-05 Kazu Hirata <kazu@cs.umass.edu>
2935 * tree-cfg.c (thread_jumps): Remove a duplicate check for
2938 2004-10-05 Kazu Hirata <kazu@cs.umass.edu>
2940 * tree-cfg.c (thread_jumps): Iterate with FOR_EACH_BB instead
2941 of FOR_BB_BETWEEN. Remove a useless check for unreachable
2944 2004-10-05 Kazu Hirata <kazu@cs.umass.edu>
2946 * tree-cfg.c (cleanup_tree_cfg): Don't call
2947 delete_unreachable_blosk() after thread_jumps().
2948 (thread_jumps): Always remove basic blocks as they become
2951 2004-10-05 Kazu Hirata <kazu@cs.umass.edu>
2953 * tree-cfg.c (cleanup_tree_cfg): Remove variable
2954 something_changed. Simplify the while loop.
2956 2004-10-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2958 * builtins.c (expand_builtin_memmove): Delete duplicate code
2959 and accept a tree type for the result.
2960 (expand_builtin_bcopy): Accept a tree type for the result.
2961 (fold_builtin_memmove): Accept an arglist and tree type for
2964 2004-10-05 Ulrich Weigand <uweigand@de.ibm.com>
2966 * config/s390/s390.c (s390_dump_pool): Remove return value.
2967 Use gen_pool_align, gen_pool_section_start/end instead of
2968 gen_pool_start/end_31/64.
2969 * config/s390/s390.md (UNSPECV_POOL_START, UNSPECV_POOL_END): Remove.
2970 (UNSPECV_POOL_SECTION, UNSPECV_POOL_ALIGN): New constants.
2971 ("pool_start_31", "pool_end_31"): Remove.
2972 ("pool_start_64", "pool_end_64"): Likewise.
2973 ("pool_align", "pool_section_start", "pool_section_end": New insns.
2975 * config/s390/s390.c (s390_cannot_copy_insn_p): New function.
2976 (TARGET_CANNOT_COPY_INSN_P): Define.
2977 (s390_cannot_force_const_mem): Handle UNSPEC_INSN.
2978 (struct constant_pool): New member 'execute'.
2979 (s390_add_execute, s390_find_execute): New functions.
2980 (s390_execute_label, s390_execute_target): Likewise.
2981 (s390_dump_pool): Output in-pool execute target templates.
2982 (s390_dump_execute): New function.
2983 (s390_alloc_pool, s390_free_pool): Handle execute templates.
2984 (s390_mainpool_start, s390_mainpool_finish): Likewise.
2985 (s390_chunkify_start, s390_chunkify_finish): Likewise.
2986 * config/s390/s390.md (UNSPEC_INSN, UNSPEC_EXECUTE): New constants.
2987 ("*execute"): New insn pattern.
2988 ("movmem_short", "*movmem_short"): Use splitters to generate
2989 explicit execute pattern, remove embedded execute.
2990 ("clrmem_short", "*clrmem_short"): Likewise.
2991 ("cmpmem_short", "*cmpmem_short"): Likewise.
2993 2004-10-05 Daniel Berlin <dberlin@dberlin.org>
2995 * tree-ssa.c (verify_ssa): Verify phi arguments only
2996 contain renamed names.
2998 2004-10-05 Alan Modra <amodra@bigpond.net.au>
3000 * config/rs6000/linux.h: Formatting, whitespace.
3001 * config/rs6000/linux64.h: Likewise.
3002 * config/rs6000/rs6000-protos.h: Likewise.
3003 * config/rs6000/rs6000.c: Likewise.
3004 (easy_vector_splat_const): Add fall thru comments.
3005 (output_vec_const_move): Likewise.
3007 2004-10-05 Kelley Cook <kcook@gcc.gnu.org>
3009 * Makefile.in: Update -Wno-error exceptions for move to build dir.
3011 2004-10-05 Chao-Ying Fu <fu@mips.com>
3012 Richard Sandiford <rsandifo@redhat.com>
3014 * doc/invoke.texi (-mpaired-single): Link to the new description of the
3015 built-in functions. Document dependencies.
3016 (-mips3d): Add link here too.
3017 * doc/extend.texi (MIPS Paired-Single Support): New section.
3019 2004-10-04 Chao-ying Fu <fu@mips.com>
3021 * config/mips/mips.h (UNITS_PER_SIMD_WORD): Define.
3023 2004-10-04 Diego Novillo <dnovillo@redhat.com>
3025 * tree-ssa-dom.c (tree_ssa_dominator_optimize):
3026 Initialize OPT_STATS to 0.
3028 2004-10-04 Kazu Hirata <kazu@cs.umass.edu>
3030 * tree-data-ref.c: Fix comment typos.
3032 2004-10-04 Sebastian Pop <pop@cri.ensmp.fr>
3034 * tree-data-ref.c (array_base_name_differ_p): Fix comments. When
3035 the predicate cannot be computed, don't initialize the result to
3038 2004-10-01 Eric Christopher <echristo@redhat.com>
3040 * dwarf2.h (dwarf_calling_convention): Add GNU prefix to
3041 locally defined enum.
3042 * dwarf2out.c (add_calling_convention_attribute): Don't
3045 2004-10-03 Andrew Pinski <pinskia@physics.uc.edu>
3047 PR c/17178, PR c/17820
3048 * c-decl.c (pop_scope): Do not warn about unused static
3049 variables as they warned in the middle-end.
3051 2004-10-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3053 * builtins.c (expand_builtin_memcpy): Delete duplicate code
3054 and make the first parameter the expression not the arglist.
3056 2004-10-03 Ulrich Weigand <uweigand@de.ibm.com>
3058 * expr.c (expand_expr_addr_expr): Only accept Pmode or ptr_mode
3059 as valid modes to expand address expressions.
3061 2004-10-03 Joseph S. Myers <jsm@polyomino.org.uk>
3063 * c-aux-info.c, c-common.c, c-common.h, c-cppbuiltin.c, c-decl.c,
3064 c-format.c, c-incpath.c, c-lex.c, c-objc-common.c, c-opts.c,
3065 c-parse.in, c-pch.c, c-ppoutput.c, c-pragma.c, c-typeck.c: Follow
3066 code formatting conventions.
3068 2004-10-03 Richard Sandiford <rsandifo@redhat.com>
3070 * config/mips/mips.md (<u>mulsidi3_32bit_r4000): Fix unsigned case.
3072 2004-10-03 Kazu Hirata <kazu@cs.umass.edu>
3074 PR tree-optimization/16632
3075 * fold-const.c (fold) [EQ_EXPR]: When seeing if D & ~C != 0 to
3076 fold (A & C) == D into 0, fold ~C. Similarly, for the case
3077 where | is used instead of &.
3079 2004-10-03 Kazu Hirata <kazu@cs.umass.edu>
3081 * ginclude/stddef.h: Fix a comment typo.
3083 2004-10-03 Eric Botcazou <ebotcazou@libertysurf.fr>
3086 * config.gcc (i?86-*-solaris2*): Restore correct logic
3087 for --enable-threads option.
3088 (sparc64-*-solaris2*): Likewise.
3089 (sparc-*-solaris2*): Likewise.
3091 2004-10-03 Alan Modra <amodra@bigpond.net.au>
3093 * config/rs6000/linux.h (TARGET_C99_FUNCTIONS): Define.
3094 (OS_MISSING_POWERPC64): Move, and comment.
3095 * config/rs6000/linux64.h (TARGET_C99_FUNCTIONS): Define.
3096 (OS_MISSING_POWERPC64): Move, and comment.
3098 2004-10-02 Ian Lance Taylor <ian@wasabisystems.com>
3100 * arm.c (output_call_mem): Add missing \t.
3102 2004-10-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3104 * builtins.c (expand_builtin_memcmp, expand_builtin_strcmp,
3105 expand_builtin_strncmp): Delete duplicate code.
3107 2004-10-02 Frank Ch. Eigler <fche@redhat.com>
3109 * tree-mudflap.c (mf_build_check_statement_for): Reorganize to
3110 take check-base and -limit arguments.
3111 (mf_xform_derefs_1): Reorganize slightly to pass proper base/limit
3112 check ranges for ARRAY_REF and COMPONENT_REF.
3113 (execute_mudflap_fnction_ops, ..._decls): Limit unnecessary
3116 2004-10-02 Joseph S. Myers <jsm@polyomino.org.uk>
3118 * c-objc-common.c (c_tree_printer): Correct description of %E.
3119 Don't fall through after printing an expression.
3121 2004-10-02 Kazu Hirata <kazu@cs.umass.edu>
3123 * tree-cfg.c, config/s390/tpf-unwind.h: Fix comment typos.
3125 2004-10-02 Kazu Hirata <kazu@cs.umass.edu>
3127 * tree-cfg.c (cleanup_tree_cfg): Speed up by calling
3128 delete_unrechable_blocks() only when necessary.
3130 2004-10-02 P.J. Darcy <darcypj@us.ibm.com>
3132 * gthr-tpf.h (__gthread_recursive_mutex_t): New type.
3133 (__GTHREAD_RECURSIVE_MUTEX_INIT): Define.
3134 (__gthread_recursive_mutex_lock, __gthread_recursive_mutex_trylock,
3135 __gthread_recursive_mutex_unlock): New functions.
3137 2004-10-02 P.J. Darcy <darcypj@us.ibm.com>
3139 * config/s390/t-tpf (LIB2ADDEH): Remove tpf-eh.c.
3140 * config/s390/tpf-eh.c: Remove file.
3141 * config/s390/tpf-unwind.h: New file.
3142 * config/s390/tpf.h (MD_FALLBACK_FRAME_STATE_FOR): Remove.
3143 (MD_UNWIND_SUPPORT): Define.
3145 2004-10-02 Joseph S. Myers <jsm@polyomino.org.uk>
3147 * c-typeck.c (warn_for_assignment): Don't permit argnum == 0.
3149 2004-10-01 Ulrich Weigand <uweigand@de.ibm.com>
3151 * config/s390/s390-protos.h (s390_comparison): Add prototype.
3152 * config/s390/s390.c (s390_comparison): New function.
3153 (s390_branch_condition_mask): Return -1 for invalid comparisons.
3154 (s390_branch_condition_mnemonic): Assert valid comparison.
3155 * config/s390/s390.h (PREDICATE_CODES): Add s390_comparison.
3156 * config/s390/s390.md ("*cjump_64", "*cjump_31", "*cjump_long",
3157 "*icjump_64", "*icjump_31", "*icjump_long", "*trap"): Use
3158 s390_comparison instead of comparison_operator.
3160 * config/s390/s390.md (UNSPEC_CMPINT): New constant.
3161 ("cmpmemdi"): Remove.
3162 ("cmpmem_short", "*cmpmem_short"): Use CCUmode instead of CCSmode.
3163 ("cmpmem_long", "*cmpmem_long_64", "*cmpmem_long_31"): Likewise.
3164 ("cmpint_si"): Rename to ...
3165 ("*cmpint_si"): ... this. Use UNSPEC_CMPINT.
3166 ("cmpint_di", "*cmpint_di"): Likewise.
3167 * config/s390/s390.c (s390_canonicalize_comparison): Remove
3168 redundant UNSPEC_CMPINT conversions.
3169 (s390_expand_cmpmem): Adapt to cmpint pattern changes.
3171 2004-10-01 Kazu Hirata <kazu@cs.umass.edu>
3173 * collect2.c (COLLECT_PARSE_FLAG): Remove.
3174 (main): Remove a reference to COLLECT_PARSE_FLAG
3175 * system.h: Poison COLLECT_PARSE_FLAG.
3176 * doc/tm.texi (COLLECT_PARSE_FLAG): Remove.
3178 2004-10-01 Paul Brook <paul@codesourcery.com>
3180 * config/arm/crti.asm: Give _init and _fini function type.
3182 2004-10-01 Zdenek Dvorak <dvorakz@suse.cz>
3184 * common.opt (ftree-loop-ivcanon): Enable by default.
3185 * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely):
3186 Enable complete loop unrolling.
3187 (canonicalize_induction_variables, tree_unroll_loops_completely):
3190 2004-10-01 Paul Brook <paul@codesourcery.com>
3192 * config/arm/arm.c (thumb_compute_saved_rag_mask): Or with bitmask,
3193 not register number.
3194 (thumb_find_work_register): Search full register range.
3196 2004-10-01 Andrew Pinski <pinskia@physics.uc.edu>
3199 * tree-cfg.c (group_case_labels): Get the label and not
3200 the case expr for the default case.
3201 When the label we looking at is the default, decrement the
3204 2004-10-01 Jan Hubicka <jh@suse.cz>
3206 * c-decl.c (c_expand_body): Update call tree_rest_of_compilation.
3207 * cgraphunit.c (cgraph_build_static_cdtor): Likewise.
3208 * toplev.h (tree_rest_of_compilation): Update prototype.
3209 * tree-optimize.c (tree_rest_of_compilation): Kill nested_p argument.
3211 2004-10-01 Kazu Hirata <kazu@cs.umass.edu>
3213 * tree-cfg.c (cleanup_tree_cfg): Pull a call to
3214 cleanup_control_flow() out of the while loop.
3216 2004-10-01 Paolo Bonzini <bonzini@gnu.org>
3218 * tree-vectorizer.c (vectorizable_operation): Fail unless
3219 the mode for the vector type is indeed a vector mode.
3221 2004-10-01 Zdenek Dvorak <dvorakz@suse.cz>
3223 * tree-chrec.c (chrec_fold_plus_poly_poly, chrec_fold_plus_1,
3224 chrec_fold_multiply): Use fold_convert or build_int_cst_type instead
3226 * tree-scalar-evolution.c (compute_overall_effect_of_inner_loop,
3227 add_to_evolution, set_nb_iterations_in_loop, follow_ssa_edge_in_rhs,
3228 follow_ssa_edge_in_rhs): Ditto.
3229 * tree-ssa-loop-ivopts.c (struct iv): Add base_object field.
3230 (dump_iv): Dump base_object.
3231 (dump_use, dump_cand): Use dump_iv.
3232 (determine_base_object): New function.
3233 (alloc_iv): Initialize base_object field.
3234 (record_use): Clear the ssa_name field of iv.
3235 (get_computation_cost_at): Do not use difference of addresses of
3236 two different objects.
3237 (may_eliminate_iv): Do not require the loop to have just single exit.
3238 * tree-ssa-loop-niter.c (zero_p): Do not check for overflows.
3239 (nonzero_p): New function.
3240 (inverse, number_of_iterations_cond, simplify_using_outer_evolutions,
3241 tree_simplify_using_condition, simplify_using_initial_conditions,
3242 loop_niter_by_eval, find_loop_niter_by_eval,
3243 estimate_numbers_of_iterations_loop, compare_trees,
3244 upper_bound_in_type, lower_bound_in_type,
3245 can_count_iv_in_wider_type_bound): Use buildN instead of build. Use
3246 fold_convert or build_int_cst_type instead of convert. Use (non)zero_p
3247 instead of integer_(non)zerop.
3249 2004-10-01 Jakub Jelinek <jakub@redhat.com>
3252 2004-09-29 Jakub Jelinek <jakub@redhat.com>
3254 * tree.h (enum tree_index): Add TI_VA_LIST_GPR_COUNTER_FIELD
3255 and TI_VA_LIST_FPR_COUNTER_FIELD.
3256 (va_list_gpr_counter_field, va_list_fpr_counter_field): Define.
3257 * tree-pass.h (pass_stdarg): Add.
3258 * tree-optimize.c (init_tree_optimization_passes): Add pass_stdarg.
3259 * tree-stdarg.c: New file.
3260 * Makefile.in (OBJS-common): Add tree-stdarg.o.
3261 (tree-stdarg.o): Add dependencies.
3262 * function.h (struct function): Add va_list_gpr_size and
3263 va_list_fpr_size fields.
3264 * function.c (allocate_struct_function): Initialize them.
3266 * config/i386/i386.c (ix86_build_builtin_va_list): Initialize
3267 va_list_{g,f}pr_counter_field.
3268 (ix86_setup_incoming_varargs): Don't do anything if reg_save
3269 area will not be used. Only save registers that tree-stdarg.c
3270 detected they need saving.
3271 (ix86_va_start): Don't set up fields that won't be used.
3273 * config/rs6000/rs6000.c (rs6000_build_builtin_va_list): Initialize
3274 va_list_{g,f}pr_counter_field.
3275 (setup_incoming_varargs): Don't do anything if reg_save
3276 area will not be used. Only save registers that tree-stdarg.c
3277 detected they need saving.
3278 (rs6000_va_start): Don't set up fields that won't be used.
3280 2004-09-30 Eric Christopher <echristo@redhat.com>
3282 * dwarf2.h (dwarf_calling_convention): Add enum for renesas
3284 * dwarf2out.c (add_calling_convention_attribute): New function.
3285 (gen_subroutine_type_die): Use.
3286 * target-def.h (TARGET_DWARF_CALLING_CONVENTION): New hook.
3287 * target.h (gcc_target): Add dwarf_calling_convention.
3288 * hooks.c (hook_int_tree_0): New function.
3289 * hooks.h: Prototype.
3290 * config/sh/sh.c: Include dwarf2.h.
3291 (sh_dwarf_calling_convention): New function.
3292 (TARGET_DWARF_CALLING_CONVENTION): Use.
3293 * doc/tm.texi (TARGET_DWARF_CALLING_CONVENTION): Document.
3295 2004-09-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3297 * builtins.c (expand_builtin_strstr, expand_builtin_strchr,
3298 expand_builtin_strrchr, expand_builtin_strpbrk,
3299 expand_builtin_strncat, expand_builtin_strspn,
3300 expand_builtin_strcspn, expand_builtin_fputs): Eliminate duplicate
3303 2004-09-30 Ulrich Weigand <uweigand@de.ibm.com>
3305 * config/s390/s390-protos.h (s390_expand_logical_operator): Add
3307 (s390_logical_operator_ok_p): Likewise.
3308 * config/s390/s390.c (s390_expand_logical_operator): New function.
3309 (s390_logical_operator_ok_p): Likewise.
3310 * config/s390/s390.md ("anddi3"): New expander.
3311 ("*anddi3"): Rename from old anddi3 pattern, add Q->Q alternative.
3312 ("*anddi3_ss", "*anddi3_ss_inv"): Remove.
3313 ("andsi3"): Use s390_expand_logical_operator.
3314 ("*andsi3_esa", "*andsi3_zarch"): Add Q->Q alternative.
3315 ("*andsi3_ss", "*andsi3_ss_inv"): Remove.
3316 ("andhi3"): New expander.
3317 ("*andhi3_zarch", "*andhi3_esa"): New patterns.
3318 ("andhi3", "*andhi3_ni", "*andhi3_ss", "*andhi3_ss_inv"): Remove.
3319 ("andqi3"): New expander.
3320 ("*andqi3_zarch", "*andqi3_esa"): New patterns.
3321 ("andqi3", "*andqi3_ni", "*andqi3_ss", "*andqi3_ss_inv"): Remove.
3322 ("iordi3"): New expander.
3323 ("*iordi3"): Rename from old iordi3 pattern, add Q->Q alternative.
3324 ("*iordi3_ss", "*iordi3_ss_inv"): Remove.
3325 ("iorsi3"): Use s390_expand_logical_operator.
3326 ("*iorsi3_esa", "*iorsi3_zarch"): Add Q->Q alternative.
3327 ("*iorsi3_ss", "*iorsi3_ss_inv"): Remove.
3328 ("iorhi3"): New expiorer.
3329 ("*iorhi3_zarch", "*iorhi3_esa"): New patterns.
3330 ("iorhi3", "*iorhi3_ni", "*iorhi3_ss", "*iorhi3_ss_inv"): Remove.
3331 ("iorqi3"): New expiorer.
3332 ("*iorqi3_zarch", "*iorqi3_esa"): New patterns.
3333 ("iorqi3", "*iorqi3_ni", "*iorqi3_ss", "*iorqi3_ss_inv"): Remove.
3334 ("xordi3"): New expander.
3335 ("*xordi3"): Rename from old xordi3 pattern, add Q->Q alternative.
3336 ("*xordi3_ss", "*xordi3_ss_inv"): Remove.
3337 ("xorsi3"): New expander.
3338 ("*xorsi3"): Rename from old xorsi3 pattern, add Q->Q alternative.
3339 ("*xorsi3_ss", "*xorsi3_ss_inv"): Remove.
3340 ("xorhi3"): New expander.
3341 ("*xorqi3"): Rename from old xorhi3 pattern, add Q->Q alternative.
3342 ("*xorhi3_ss", "*xorhi3_ss_inv"): Remove.
3343 ("xorqi3"): New expander.
3344 ("*xorqi3"): Rename from old xorqi3 pattern, add Q->Q alternative.
3345 ("*xorqi3_ss", "*xorqi3_ss_inv"): Remove.
3347 2004-09-30 Roger Sayle <roger@eyesopen.com>
3349 * combine.c (force_to_mode) <NE_EXPR>: Only convert the expression
3350 (AND (NE FOO 0) CONST) into (AND FOO CONST) if FOO has the same
3351 machine mode as the result.
3353 2004-09-30 Ben Elliston <bje@au.ibm.com>
3356 * lcm.c (optimize_mode_switching): Update to use EDGE_SUCC and
3357 FOR_EACH_EDGE macros.
3359 2004-09-30 Joseph S. Myers <jsm@polyomino.org.uk>
3361 * c-tree.h (readonly_error): Remove.
3362 * c-typeck (enum lvalue_use): New.
3363 (lvalue_or_else, readonly_error): Use it. All callers changed.
3364 (readonly_error): Make static.
3366 2004-09-30 Jan Hubicka <jh@suse.cz>
3369 * cfgrtl.c (try_redirect_by_replacing_jump,
3370 force_nonfallthru_and_redirect, commit_one_edge_insertion,
3371 cfg_layout_merge_blocks): Do not attach any line number information
3372 to newly inserted instructions.
3373 * emit-rtl.c (emit_insn*_before, emit_insn*_after): Rename to
3375 (emit_*insn_before, emit_insn*_after): New.
3376 (emit_*insn_before_setloc, emit_*insn_after_setloc): Do not overwrite
3378 * rtl.h (emit_*insn_before_noloc, emit_*insn_after_noloc): Declare.
3379 (emit_*insn_before_sameloc, emit_*insn_after_sameloc): Kill.
3381 2004-09-30 Ulrich Weigand <uweigand@de.ibm.com>
3383 * config/s390/s390-protos.h (s390_arg_frame_offset): Remove.
3384 (s390_return_address_offset): Remove.
3385 (s390_can_eliminate): Add prototype.
3386 (s390_initial_elimination_offset): Add prototype.
3387 * config/s390/s390.h (CAN_ELIMINATE): Call s390_can_eliminate.
3388 (INITIAL_ELIMINATION_OFFSET): Call s390_initial_elimination_offset.
3389 * config/s390/s390.c (s390_arg_frame_offset): Remove.
3390 (s390_return_address_offset): Remove.
3391 (s390_can_eliminate, s390_initial_elimination_offset): New functions.
3392 (struct machine_function): New member split_branches_pending_p.
3393 (s390_mainpool_start): Allow nonexistant pool insn for empty pool.
3394 (s390_mainpool_finish): Likewise. Clear base_reg if pool empty.
3395 (s390_optimize_prologue): Remove base_used argument. Call
3396 s390_update_frame_layout instead of s390_register_info. Handle
3397 prologue/epilogue insns that touch only RETURN_REGNUM.
3398 (s390_reorg): Remove base_used. Clear split_branches_pending_p.
3399 (s390_register_info): Remove base_used and return_addr_used
3400 arguments, compute special register usage inline. Return live
3401 register data to caller.
3402 (s390_frame_info): Remove arguments, do not call s390_register_info.
3403 (s390_init_frame_layout): New function.
3404 (s390_update_frame_layout): Likewise.
3405 (s390_emit_prologue): Call s390_update_frame_layout; some code
3406 move to there. Do not emit pool placeholder insn if unnecessary.
3408 2004-09-30 Ulrich Weigand <uweigand@de.ibm.com>
3410 * config/s390/s390.c (legitimate_reload_constant_p): Remove
3411 floating point constant workaround.
3412 (s390_secondary_input_reload_class): Handle PLUS reloads
3413 with too-large constant.
3414 (s390_expand_plus_operand): Likewise.
3415 * config/s390/s390.md ("movdi"): Do not call force_const_mem.
3416 ("movsi"): Likewise. Also, remove workaround for non-general
3418 ("movdf"): Do not call force_const_mem.
3419 ("movsf"): Likewise. Merge expander with *movsf insn.
3420 ("*movsf"): Remove, merge with movsf expander.
3422 2004-09-30 Paul Brook <paul@codesourcery.com>
3424 * config/arm/symbian.h (STARTFILE_SPEC): Remove crt*.o.
3425 (ENDFILE_SPEC): Define.
3426 * config/arm/t-symbian.h (EXTRA_MULTILIB_PARTS): Set.
3428 2004-09-30 Richard Henderson <rth@redhat.com>
3430 * config/alpha/qrnnd.asm: Mark for noexecstack.
3432 2004-09-30 Kazu Hirata <kazu@cs.umass.edu>
3434 * protoize.c, tree-cfg.c: Fix comment typos.
3436 2004-09-30 Joseph S. Myers <jsm@polyomino.org.uk>
3439 * c-typeck.c (lvalue_or_else): Pass msgid directly to error.
3441 2004-09-30 Diego Novillo <dnovillo@redhat.com>
3443 * tree-ssa-alias.c (collect_points_to_info_r): Move analysis of
3445 (add_pointed_to_expr): ... here.
3446 Call add_pointed_to_expr for variables with DECL_INITIAL set.
3447 * tree-dfa.c (add_referenced_var): Scan DECL_INITIAL of any
3448 pointer variable, if set.
3450 2004-09-30 Kazu Hirata <kazu@cs.umass.edu>
3452 * config/sh/sh.c: Follow spelling conventions.
3454 2004-09-29 Richard Henderson <rth@redhat.com>
3456 * unwind-dw2.c (_Unwind_GetGR): Honor DWARF_ZERO_REG.
3457 * doc/tm.texi (DWARF_ZERO_REG): New.
3459 * config/alpha/alpha.c (alpha_sa_mask, alpha_expand_prologue,
3460 alpha_expand_epilogue): Revert 2003-09-30 change to store zero.
3461 * config/alpha/alpha.h (DWARF_ZERO_REG): New.
3463 2004-09-29 Ulrich Weigand <uweigand@de.ibm.com>
3465 * builtins.c (expand_builtin_strlen): Do not call emit_move_insn
3466 with a PLUS as source operand.
3467 (expand_movstr): Likewise.
3468 (expand_builtin_stpcpy): Likewise.
3470 2004-09-29 Richard Henderson <rth@redhat.com>
3473 * tree-gimple.c (is_gimple_reg): Reject hard registers.
3474 (is_gimple_asm_val): New.
3475 * tree-gimple.h (is_gimple_asm_val): Declare.
3476 * gimplify.c (gimplify_asm_expr): Use it.
3477 * tree-pretty-print.c (print_declaration): Dump hard regs.
3478 * tree-outof-ssa.c (check_replaceable): Don't check for hard regs.
3479 * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Likewise.
3480 * tree-ssa-pre.c (is_undefined_value): Likewise.
3481 * tree-ssa-copy.c (may_propagate_copy): Likewise.
3482 (may_propagate_copy_into_asm): Protect DECL_HARD_REGISTER.
3483 * tree-ssa.c (warn_uninit): Likewise.
3484 * tree.h (DECL_HARD_REGISTER): Check for VAR_DECL.