1 2004-09-24 Richard Henderson <rth@redhat.com>
4 * regclass.c (subregs_of_mode): Turn into an htab. Make static.
5 (som_hash, som_eq): New.
6 (init_subregs_of_mode, record_subregs_of_mode): New.
7 (cannot_change_mode_set_regs): Rewrite for htab implementation.
8 (invalid_mode_change_p): Likewise.
9 * combine.c (gen_lowpart_for_combine): Use record_subregs_of_mode.
10 * flow.c (mark_used_regs): Likewise.
11 (life_analysis): Use init_subregs_of_mode.
12 * regs.h (subregs_of_mode): Remove.
13 * rtl.h (init_subregs_of_mode, record_subregs_of_mode): Declare.
15 2004-09-24 Andrew Pinski <pinskia@physics.uc.edu>
17 * tree-ssa-phiopt.c (conditional_replacement): Use the correct
18 type with the copy of the conditional.
20 2004-09-24 Andrew Pinski <pinskia@physics.uc.edu>
23 * tree-ssa-copyrename.c (copy_rename_partition_coalesce):
24 Prevent renaming if the aliasing sets of the type which the
25 pointer points to are different.
27 2004-09-24 Joseph S. Myers <jsm@polyomino.org.uk>
30 * c-decl.c (diagnose_mismatched_decls): Check for duplicate
31 declarations of enumerators.
32 (start_struct): Check TYPE_SIZE rather than TYPE_FIELDS to check
33 for redefinition. Check for nested redefinition.
34 (finish_struct): Don't check for nested redefinition.
35 (start_enum): Check for nested redefinition.
37 2004-09-24 Devang Patel <dpatel@apple.com>
39 * tree-if-conv.c (tree_if_convert_cond_expr0: Create temp. variable
41 (combine_blocks): Combine loop header and exit block.
43 2004-09-24 Paolo Bonzini <bonzini@gnu.org>
45 * hooks.c (hook_tree_tree_bool_null): New.
46 * hooks.h (hook_tree_tree_bool_null): Declare it.
47 * target-def.c (TARGET_FOLD_BUILTIN): Point to it.
48 * targhooks.c (default_fold_builtin): Remove.
49 * targhooks.h (default_fold_builtin): Remove.
51 2004-09-24 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
53 PR rtl-optimization/17625
54 * loop-doloop.c (doloop_modify): Unshare rtl before emitting it.
56 2004-09-24 Andrew Pinski <pinskia@physics.uc.edu>
59 * tree-ssa-forwprop.c (record_single_argument_cond_exprs):
60 Reject if any of the operands occur in an abnormal PHI.
62 2004-09-24 Andreas Schwab <schwab@suse.de>
64 * tree-ssa-dom.c (record_range): Fix violation of strict aliasing
67 2004-09-24 Eric Botcazou <ebotcazou@libertysurf.fr>
69 * config.gcc (sparc64-*-solaris2*): Include sparc/sol2-gas.h
70 if the GNU assembler is used.
71 (sparc-*-solaris2*): Likewise.
72 * dbxout.c (NO_DBX_BNSYM_ENSYM): Default to zero.
73 (dbxout_function_end): Protect N_ENSYM with it.
74 (dbxout_begin_prologue): Protect N_BNSYM with it.
75 * doc/tm.texi (NO_DBX_BNSYM_ENSYM): Document it.
76 * config/sparc/sol2.h (NO_DBX_BNSYM_ENSYM): Define to 1.
77 * config/sparc/sol2-gas.h: New file.
79 2004-09-23 H.J. Lu <hongjiu.lu@intel.com>
82 * Makefile.in (@set_gcc_lib_path@): Added.
84 * configure.ac: Include ../config/gcc-lib-path.m4. Use
85 TL_AC_GNU_MAKE_GCC_LIB_PATH.
86 * configure: Regenerated.
88 2004-09-24 Joseph S. Myers <jsm@polyomino.org.uk>
91 * c-typeck.c (build_c_cast): Improve wording of
92 -Wbad-function-cast diagnostic.
94 2004-09-23 Hans-Peter Nilsson <hp@axis.com>
97 * config/cris/cris.md (moverside, movemside): Rename variable
98 "reg" to "otherop". To generate canonical RTX, check that otherop
99 isn't constant instead of checking that operand 1 is a register.
101 2004-09-23 Jakub Jelinek <jakub@redhat.com>
103 * tree-ssa-propagate.c (set_rhs): Fail if EXPR is COMPOUND_EXPR.
105 2004-09-23 Diego Novillo <dnovillo@redhat.com>
106 Jakub Jelinek <jakub@redhat.com>
108 * tree-flow.h (find_new_referenced_vars): Add prototype.
109 * tree-sra.c (find_new_referenced_vars_1, find_new_referenced_vars):
111 * tree-dfa.c (find_new_referenced_vars_1, find_new_referenced_vars):
113 (mark_new_vars_to_rename): Walk through all operands.
114 * tree-ssa-ccp.c (convert_to_gimple_builtin): New function.
115 (execute_fold_all_builtins): Use it.
116 (pass_fold_builtins): Add TODO_rename_vars to todo_flags_finish.
118 2004-09-23 P.J. Darcy <darcypj@us.ibm.com>
120 * gthr-tpf.h: New file.
121 * config.gcc (s390x-ibm-tpf*): Add thread_file='tpf'.
122 * gthr.h: Use gthr-tpf.h on TPF OS.
124 2004-09-23 Jeff Law <law@redhat.com>
126 * tree-ssa-ccp.c (get_default_value): Use SSA_NAME_VALUE rather
127 than SSA_NAME_EQUIV and SET_SSA_NAME_EQUIV.
128 (substitute_and_fold): Likewise.
129 * tree-ssa-dom.c (tree_ssa_dominator_optimize): Remove everything
130 except invariants from SSA_NAME_VALUE.
131 (thread_across_edge): Use SSA_NAME_VALUE rather than SSA_NAME_EQUIV
132 and SET_SSA_NAME_EQUIV.
133 (restore_vars_to_original_value, record_const_or_copy): Likewise.
134 (record_equivalences_from_phis, record_const_or_copy_1): Likewise.
135 (record_equality, cprop_into_successor_phis): Likewise.
136 (record_equivalences_from_stmt, cprop_operand): Likewise.
137 (lookup_avail_expr): Likewise.
138 * tree-ssa-pre.c (fini_pre): Remove everything except invariants
140 * tree.h (SSA_NAME_EQUIV, SET_SSA_NAME_EQUIV): Kill.
141 (struct tree_ssa_name): Kill EQUIV field. Remove GGC skip
142 annotation from the VALUE_HANDLE field.
144 2004-09-21 Fariborz Jahanian <fjahanian@apple.com>
148 * tree.c (reconstruct_complex_type): Remove extra "this".
149 * config/rs6000/rs6000.c (rs6000_handle_altivec_attribute):
150 Add V4SFmode to case statement.
152 2004-09-23 Joseph S. Myers <jsm@polyomino.org.uk>
155 * doc/extend.texi, doc/invoke.texi: Document interaction of
156 -fno-builtin with format checks. Note that built-in functions
157 have effects beyond generating code that avoids calls to those
160 2004-09-23 Frank Ch. Eigler <fche@redhat.com>
162 PR tree-optimization/17533
163 * dominance.c (verify_dominators): Tolerate even more incorrect
164 dominance data during error message printing.
165 * tree-mudflap.c (mf_build_check_statement_for): Build basic blocks
166 and edges more correctly.
168 2004-09-23 Dorit Naishlos <dorit@il.ibm.com>
170 * tree.def (ALIGN_INDIRECT_REF, MISALIGNED_INDIRECT_REF):
172 * tree.h (REF_ORIGINAL): Consider ALIGN_INDIRECT_REF and
173 MISALIGNED_INDIRECT_REF.
174 * alias.c (get_alias_set, nonoverlapping_memrefs_p): Likewise.
175 * emit-rtl.c (mem_expr_equal_p, set_mem_attributes_minus_bitpos):
177 * expr.c (safe_from_p, expand_expr_real_1, rewrite_address_base)
178 (find_interesting_uses_address): Likewise.
179 * fold-const.c (non_lvalue, operand_equal_p): Likewise.
180 (build_fold_addr_expr_with_type): Likewise.
181 * gimplify.c (gimplify_addr_expr, gimplify_expr): Likewise.
182 * print-rtl.c (print_mem_expr): Likewise.
183 * tree-dump.c (dequeue_and_dump): Likewise.
184 * tree-eh.c (tree_could_trap_p): Likewise.
185 * tree-gimple.c (is_gimple_addressable, get_base_address): Likewise.
186 * tree-pretty-print.c (op_prio, op_symbol, dump_generic_node): Likewise.
187 * tree-ssa-alias.c (find_ptr_dereference, ptr_is_dereferenced_by):
189 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise.
190 * tree-ssa-dom.c (record_equivalences_from_stmt): Likewise.
191 * tree-ssa-loop-im.c (for_each_index, is_call_clobbered_ref): Likewise.
192 * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Likewise.
193 (add_address_candidates, rewrite_address_base): Likewise.
194 * tree-ssa-operands.c (get_expr_operands, get_indirect_ref_operands):
196 * tree.c (staticp, build1_stat): Likewise.
198 * tree.def (REALIGN_LOAD_EXPR, REALIGN_STORE_EXPR): New tree-codes.
199 * tree-pretty-print.c (dump_generic_node): Consider REALIGN_LOAD_EXPR.
200 * tree-ssa-operands.c (get_expr_operands): Likewise.
201 * expr.c (expand_expr_real_1): Likewise.
203 * optabs.h (vec_realign_store_optab, vec_realign_load_optab): New
205 (OTI_vec_realign_store, OTI_vec_realign_load): New optab_index values
207 (expand_ternary_op): New function.
208 * genopinit.c (optabs): Handle the new optabs.
209 * optabs.c (optab_for_tree_code): Add cases for the new tree-codes.
210 (init_optabs): Initialize vec_realign_load_optab.
211 (expand_ternary_op): New functions.
213 * target-def.h (TARGET_VECTORIZE): New member for struct gcc_target.
214 (TARGET_VECTORIZE_MISALIGNED_MEM_OK): New member for targetm.vectorize.
215 (TARGET_VECTORIZE_BUILTIN_MASK_FOR_LOAD): Likewise.
216 (TARGET_VECTORIZE_BUILTIN_MASK_FOR_STORE): Likewise.
217 * target.h (struct vectorize): New member for struct gcc_target.
218 (misaligned_mem_ok): New member for targetm.vectorize.
219 (builtin_mask_for_load): Likewise.
220 (builtin_mask_for_store): Likewise.
221 * targethooks.c (default_vect_misaligned_mem_ok): New function.
222 * targethooks.h (default_vect_misaligned_mem_ok): New function.
224 * config/rs6000/altivec.md (build_vector_mask_for_load): New
226 (vec_realign_load_v4si, vec_realign_load_v4sf, vec_realign_load_v8hi)
227 (vec_realign_load_v16qi): New define_insn.
228 * config/rs6000/rs6000.h (ALTIVEC_BUILTIN_MASK_FOR_LOAD):
229 (ALTIVEC_BUILTIN_MASK_FOR_STORE): New target builtins.
230 * config/rs6000/rs6000.c (altivec_builtin_mask_for_load):
231 (altivec_builtin_mask_for_store): New variables.
232 (rs6000_builtin_mask_for_load): New function. Implements
233 TARGET_VECTORIZE_BUILTIN_MASK_FOR_LOAD.
234 (rs6000_builtin_mask_for_store): New function. Implements
235 TARGET_VECTORIZE_BUILTIN_MASK_FOR_STORE.
236 (rs6000_expand_builtin): Expand the target builtins
237 builtin_mask_for_load and builtin_mask_for_store.
238 (altivec_init_builtins): Initialize the new target builtins.
239 * config/i386/i386.c (ix86_misaligned_mem_ok): New function.
240 Implements the target hook TARGET_VECTORIZE_MISALIGNED_MEM_OK.
242 * tree-vectorizer.c (vect_create_data_ref): Renamed to
243 vect_create_data_ref_ptr. Returns a pointer instead of an array-ref.
244 (vect_create_addr_base_for_vector_ref): Additional argument (offset).
245 (vectorizable_store): Call vect_create_data_ref_ptr with additional
246 arguments, and create an indirect_ref with its return value data_ref.
247 Check aligned_access_p.
248 (vectorizable_load): Handle misaligned loads, using software-pipelined
249 scheme with REALIGN_LOAD_EXPR and ALIGN_INDIRECT_REF if
250 vec_realign_load_optab is supported, or using a scheme without
251 software-pipelining with MISALIGNED_INDIRECT_REF if the target hook
252 misaligned_mem_ok is supported.
254 (vect_finish_stmt_generation): Typo.
255 (vect_enhance_data_refs_alignment): Rename loop_vinfo to loop_info.
256 (vect_analyze_data_refs_alignment): Don't fail vectorization in the
257 presence of misaligned loads.
258 (vect_analyze_data_ref_access): Add check for constant init.
259 (vect_get_symbl_and_dr): Remove duplicate line.
260 * tree-vectorizer.h (DR_MISALIGNMENT): Add comment.
262 2004-09-23 Kazu Hirata <kazu@cs.umass.edu>
264 * builtins.c: Fix a comment typo.
266 2004-09-23 Jan Hubicka <jh@suse.cz>
268 * profile.c (branch_prob): Do not verify flow info in the middle of the
271 2004-09-23 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
273 * cfgloop.h (update_single_exits_after_duplication): Declare.
274 (loopify, split_loop_bb): Declaration changed.
275 * cfgloopmanip.c (split_loop_bb): Take void * as an argument instead
277 (loopify): Added redirect_all_edges argument.
278 (update_single_exits_after_duplication): Export.
279 * loop-unswitch.c (unswitch_loop): Changed due to loopify change.
280 * tree-flow.h (tree_duplicate_loop_to_header_edge,
281 tree_ssa_loop_version): Declare.
282 * tree-ssa-loop-manip.c (copy_phi_node_args, rename_variables,
283 set_phi_def_stmts, tree_duplicate_loop_to_header_edge,
284 lv_adjust_loop_header_phi, lv_adjust_loop_entry_edge,
285 lv_update_pending_stmts, tree_ssa_loop_version): New functions.
287 * tree-ssa-loop-unswitch.c: New file.
288 * Makefile.in (tree-ssa-loop-unswitch.o): Add.
289 * timevar.def (TV_TREE_LOOP_UNSWITCH): New timevar.
290 * tree-flow.h (tree_ssa_unswitch_loops): Declare.
291 * tree-optimize.c (init_tree_optimization_passes): Add pass_unswitch.
292 * tree-pass.h (pass_unswitch): Declare.
293 * tree-ssa-loop.c (tree_ssa_loop_unswitch,
294 gate_tree_ssa_loop_unswitch, pass_unswitch): New pass.
295 * doc/passes.texi: Documen tree level loop unswitching.
297 2004-09-23 Kazu Hirata <kazu@cs.umass.edu>
299 * cfgexpand.c, config/s390/tpf-eh.c: Fix comment typos.
301 2004-09-22 Eric Christopher <echristo@redhat.com>
303 * builtins.c (simplify_builtin_va_start): Remove.
304 (simplify_builtin): Ditto.
305 (fold_builtin_strchr): Ditto.
306 (simplify_builtin_*): Rename remainders to fold_builtin_*.
307 (expand_builtin): Fix up for above changes.
308 (fold_builtin_1): Add new folders. Change for above.
309 (expand_builtin_va_start): Call fold_builtin_next_arg.
310 * gimplify.c (gimplify_call_expr): Fix calls to simplify_builtin.
311 * tree.h: Remove prototype for simplify_builtin.
313 2004-09-23 Jan Hubicka <jh@suse.cz>
316 * dwarf2out.c (dwarf2out_finish): Deal with nested functions
317 of fully inlined functions.
318 * tree-inline.c (inline_forbidden_p_1): Nested functions can be
321 * cfgexpand.c (add_reg_br_prob_note): New function.
322 (expand_gimple_cond_expr): Use it.
323 (tree_expand_cfg): No longer kill the profile.
324 * cfgrt.c (rtl_verify_flow_info_1): Check profile consistency
325 only if it is present.
326 * passes.c (rest_of_handle_loop_optimize): Kill the profile.
327 * predict.c (combine_predictions_for_insn): Set the probabilities
328 based on REG_BR_PROB note if present.
329 * predict.c (branch_prob): Profile is read only with
330 flag_branch_probabilities.
332 2004-09-22 Kelley Cook <kcook@gcc.gnu.org>
334 * aclocal.m4: Add in gettext's m4 includes.
335 (AC_ICONV, AC_LCMESSAGES, GCC_PATH_PROG): Remove.
336 * configure.ac: Add in check for iconv.h
337 * configure: Regenerate.
339 2004-09-22 Kelley Cook <kcook@gcc.gnu.org>
341 * aclocal.m4: Update for rename of gettext-sister.m4.
343 2004-09-22 Daniel Berlin <dberlin@dberlin.org>
345 Fix PR tree-optimization/17587
346 * tree-ssa-pre.c (fini_pre): Commit edge inserts here.
347 (insert_aux): Instead of here.
349 2004-09-22 Diego Novillo <dnovillo@redhat.com>
351 PR tree-optimization/16721
352 * tree-dfa.c (dump_variable): Show TREE_THIS_VOLATILE.
353 * tree-ssa-alias.c (create_memory_tag): Move setting of
354 TREE_THIS_VOLATILE ...
355 (get_tmt_for): ... here.
357 2004-09-22 Eric Botcazou <ebotcazou@libertysurf.fr>
359 * config/sparc/sparc.md (cmove splitter): Fix formatting.
360 (conditional_trap expander): Reject inappropriate CCmodes.
361 (conditional trap insn): Use V9 syntax if possible.
363 2004-09-22 Joseph S. Myers <jsm@polyomino.org.uk>
366 * c-typeck.c (build_component_ref): Don't special-case
369 2004-09-22 Frank Ch. Eigler <fche@redhat.com>
371 * dominance.c (verify_dominators): Don't SEGV if recount_dominator
374 2004-09-22 Kazu Hirata <kazu@cs.umass.edu>
376 * doc/c-tree.texi (TRUTH_NOT_EXPR, TRUTH_ANDIF_EXPR,
377 TRUTH_ORIF_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR,
378 TRUTH_XOR_EXPR): Mention the restriction on types.
380 2004-09-22 Matt Austern <austern@apple.com>
382 * config/darwin.c (darwin_make_decl_one_only):
383 Allow coalesced symbol to appear in static archive's table of contents
385 2004-09-22 Kazu Hirata <kazu@cs.umass.edu>
387 PR tree-optimization/17512
388 * convert.c (convert_to_integer): Don't handle TRUTH_*_EXPR as
391 2004-09-22 David Edelsohn <edelsohn@gnu.org>
393 * dbxout.c (get_lang_number): Do not define if
394 DBX_OUTPUT_MAIN_SOURCE_DIRECTORY is defined.
396 2004-09-22 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
399 * config/rs6000/rtems.h (TARGET_OS_CPP_BUILTINS): Add
400 builtin_define ("__USE_INIT_FINI__").
402 2004-09-22 P.J. Darcy <darcypj@us.ibm.com>
404 * config/s390/s390-protos.h (s390_emit_tpf_eh_return): Add prototype.
405 * config/s390/s390.c (s390_emit_tpf_eh_return): New function.
406 * config/s390/s390.h (TARGET_TPF): New macro.
407 * config/s390/s390.md ("eh_return"): New expander.
408 * config/s390/t-tpf (LIB2ADDEH): Use unwind-dw2-fde.c rather than
409 unwind-dw2-fde-glibc.c. Add config/s390/tpf-eh.c.
410 (LIB2ADDEHDEP): Remove unwind-dw2-fde.c.
411 * config/s390/tpf.h (TARGET_TPF): Define to 1.
412 (STACK_POINTER_OFFSET): Increase to 448.
413 (TARGET_DEFAULT): Set -mtpf-trace on as default.
414 (TPF_LOC_DIFF_OFFSET): New macro.
415 (ASM_PREFERRED_EH_DATA_FORMAT): Redefine to always use absolute
417 (__isPATrange): Add prototype.
418 (MD_FALLBACK_FRAME_STATE_FOR): Define.
419 * config/s390/tpf-eh.c: New file.
421 2004-09-22 Diego Novillo <dnovillo@redhat.com>
423 * fold-const.c (fold): Avoid non INTEGER_TYPEs when widening
424 operands in an integer comparison.
425 * tree-cfg.c (find_taken_edge): Call fold() to determine
426 whether the predicate is known.
428 2004-09-22 Kelley Cook <kcook@gcc.gnu.org>
430 * aclocal.m4: Import AM_PROG_CC_C_O and AM_AUX_DIR_EXPAND.
431 * configure.ac: Call AM_PROG_CC_C_O instead of AC_PROG_CC_C_O.
432 Create build and doc directories along with the language directories.
433 Don't create doc directory separately.
434 * configure: Regenerate.
435 * Makefile.in: Create all object and executables files built
436 with the build compiler in a build/ directory.
437 (genobjnames): Add missing build objects.
438 (STAGESTUFF): Don't stage the gen* programs.
439 (ggc-none.o): Define dependencies for the target compiler.
440 (build-print-rtl.o): Rename to build/print-rtl.o.
441 (build-errors.o): Rename to build/errors.o.
442 (build-varray.o): Rename to build/varray.o.
443 (maintainerclean): Delete the contents of the build directory.
444 ($(genobjs): %.o): Explicitly use -o.
445 (build/insn-conditions.o): Delete specfic rule to use generic rule.
446 (build/gengtype-lex.o): Likewise.
447 (build/gengtype-yacc.o): Likewise.
448 (build/gcov-iov.o): Likewise.
450 2004-09-22 Nathan Sidwell <nathan@codesourcery.com>
452 * vec.h (VEC_space): Return true if there _is_ space.
453 (VEC_reserve): Adjust.
455 2004-09-22 Richard Sandiford <rsandifo@redhat.com>
457 * config/mips/mips.c (mips_function_value): For o32, o64, n32 and n64,
458 use FPRs for scalar, complex and vector types only.
460 2004-09-21 Jeff Law <law@redhat.com>
462 * tree-ssa-dom.c (opt_stats): Move so that it lives just after
463 the opt_stats_d structure.
464 (vrp_data): Change from a varray into a hash table.
465 (vrp_hash_elt): New structure for elements in the vrp hash table.
466 (vrp_hash, vrp_eq):New functions for hashing and testing equality
467 in the vrp hash table.
468 (tree_ssa_dominator_optimize): Initialize VRP_DATA. Reorganize
469 initialization slightly to make it easier to read. No longer need
470 to grow/clear the varray. Instead empty and delete the hash table.
471 (dom_opt_finalize_block): Update due to change of VRP_DATA from
472 a varray to a hash table.
473 (simplify_cond_and_loop_avail_expr, record_range): Similarly.
475 * tree-ssa-ccp.c (get_default_value): If we have a constant
476 value recorded for an SSA_NAME, then use that constant as
477 the initial lattice value.
478 (substitute_and_fold): Transfer equivalences discovered into
481 * tree.h (SSA_NAME_EQUIV): Add comments.
482 (SET_SSA_NAME_EQUIV): Similarly.
484 2004-09-21 David Edelsohn <edelsohn@gnu.org>
486 * config/rs6000/linux64.h (PROCESSOR_DEFAULT64): Default to POWER4.
488 * config/rs6000/rs6000.c (rs6000_adjust_cost): dep_insn is used.
490 2004-09-21 Mark Mitchell <mark@codesourcery.com>
492 * c-decl.c (implicityl_declare): Call maybe_apply_renaming_pragma.
493 (finish_decl): Likewise.
495 2004-09-21 Devang Patel <dpatel@apple.com>
497 * tree.def (VEC_COND_EXPR): New tree node.
498 * tree-ssa-operands.c (get_expr_operands): Handle VEC_COND_EXPR.
500 2004-09-21 Stan Shebs <shebs@apple.com>
502 * config/rs6000/darwin-tramp.asm: Add __ppc64__ case.
503 * config/rs6000/darwin-world.asm: Likewise.
505 2004-09-21 Daniel Berlin <dberlin@dberlin.org>
507 * tree-ssa.c (verify_def): Use print_generic_stmt,
508 not debug_generic_stmt.
510 (verify_phi_args): Ditto.
513 2004-09-21 Paul Brook <paul@codesourcery.com>
515 * varasm.c (default_assemble_integer): Return false for values wider
516 than the target word size. Works around GAS bug.
518 2004-09-21 Zack Weinberg <zack@codesourcery.com>
520 * reg-notes.def (REG_DEP_TRUE): New entry, place first so it
522 * print-rtl.c (print_rtx): Print the name of a REG_NOTE even
525 2004-09-21 Daniel Berlin <dberlin@dberlin.org>
527 * c-typeck.c (build_function_call): Give name of object
528 we are attempting to call in error message.
529 * c-objc-common.c (c_tree_printer): Call pp_expression,
530 not return false, for 'E' case.
532 2004-09-21 Steven Bosscher <stevenb@suse.de>
534 PR rtl-optimization/17482
535 * postreload-gcse.c (reg_avail_info, oprs_unchanged_p,
536 load_killed_in_block_p): Clarify comments.
537 (record_last_reg_set_info): Make static inline.
538 (mark_call, mark_set, mark_clobber, mark_oprs_set): Remove.
539 (record_opr_changes): New function to replace the above.
540 (compute_hash_table): Clarify comments. Use record_opr_changes.
541 (reg_set_between_after_reload_p): Clean up.
542 (reg_used_between_after_reload_p): Likewise.
543 (eliminate_partially_redundant_load): Clarify comments.
545 2004-09-21 Eric Botcazou <ebotcazou@libertysurf.fr>
547 PR rtl-optimization/17266
548 * regmove.c (optimize_reg_copy_3): Make a new SUBREG for each insn.
550 2004-09-21 Uros Bizjak <uros@kss-loka.si>
552 PR rtl-optimization/14851
553 * rtlanal.c (commutative_operand_precedence): Calculate
554 precedence of stripped constant.
556 2004-09-20 Jeff Law <law@redhat.com>
557 Jan Hubicka <jh@suse.cz>
559 * tree-ssanames.c (make_ssa_name): No longer need to clear, then
560 initialize key elements here.
561 (release_ssa_name): Zero the released SSA_NAME here.
562 * tree.h (SSA_NAME_EQUIV, SET_SSA_NAME_EQUIV): New macros.
563 (struct tree_ssa_name): Add new "equiv" field.
564 * tree-ssa-dom.c (const_and_copies): Kill the global varray.
565 (tree_ssa_dominator_optimize): No longer allocate, resize or
566 clear CONST_AND_COPIES.
567 (get_value_for, set_value_for): Kill.
568 (thread_across_edge): Get/set the equivalency using
569 SSA_NAME_EQUIV and SET_SSA_NAME_EQUIV.
570 (restore_vars_to_original_value): Likewise.
571 (record_equivalences_from_phis): Likewise.
572 (record_dominating_conditions): Likewise.
573 (record_const_or_copy, record_equality): Likewise.
574 (lookup_avail_expr): Likewise.
575 (record_equivalences_from_stmt, cprop_operand): Likewise.
576 (cprop_into_successor_phis): No longer need to pass around
577 CONST_AND_COPIES. Callers updated. Get equivalences via
579 (cprop_into_phis): Likewise.
581 2004-09-20 Matt Austern <austern@apple.com>
582 Zack Weinberg <zack@codesourcery.com>
584 * c-common.c (fix_string_type): Build the unqualified array
585 type unconditionally, then use c_build_qualified_type to get
586 the proper const-qualified variant, and set its
587 TYPE_MAIN_VARIANT to refer to the unqualified type.
588 * c-lex.c (c_lex_return_raw_string): New global.
589 (c_lex_with_flags): Honor it.
590 * c-pragma.h: Declare it.
592 2004-09-20 Daniel Berlin <dberlin@dberlin.org>
594 * Makefile.in: Fix flags.h dependencies to be $(FLAGS_H).
596 2004-09-21 Jan Hubicka <jh@suse.cz>
599 * tree-optimize.c (update_inlined_to_pointers): Fix the recursion.
600 (tree_rest_of_compilation): Cleanup.
602 2004-09-20 Ulrich Weigand <uweigand@de.ibm.com>
604 * config/s390/s390.c (s390_select_rtx_section): Remove.
605 (TARGET_ASM_SELECT_RTX_SECTION): Do not redefine.
607 2004-09-20 Kaz Kojima <kkojima@gcc.gnu.org>
609 * config/sh/sh.c (sh_expand_prologue): Add a REG_FRAME_RELATED_EXPR
610 note to pretend a direct save from the original register when an
611 intermediate register is used for the save.
613 2004-09-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
615 * tsystem.h (alloca): Provide a default definition.
618 2001-08-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
619 * unwind-dw2.c: Call __builtin_alloca, not alloca.
621 2004-09-20 Andrew Pinski <pinskia@physics.uc.edu>
624 * tree-ssa-copy.c (may_propagate_copy): Only allow if the
625 aliasing sets are the same rather than just conflicting.
627 2004-09-20 Jan Hubicka <jh@suse.cz>
631 * cgraph.c (cgraph_unnest_node): New function.
632 (c_finalize): Rename to ....
633 (c_warn_unused_result_recursivly): ... this one; do only the warning
634 (finish_function): Finalize the toplevel function; do not lower nested tree.
635 * cgraph.h (cgraph_unnest_node): Declare.
636 * cgraphunit.c (decide_is_function_needed): Do not use cgraph
637 nestedness datastructure.
638 * cse.c (cse_insn): Do not cprop nonlocal LABEL_REFs.
639 * reload1.c (set_label_offsets): Fix call of set_label_offsets.
640 * tree-nested.c (finlize_nesting_tree_1): Use un-nesting code.
642 2004-09-20 Richard Henderson <rth@redhat.com>
644 * config/alpha/alpha.c (some_small_symbolic_operand_int): Rename
645 from some_small_symbolic_operand_1; export.
646 (some_small_symbolic_operand): Remove.
647 * config/alpha/alpha.md (some_small_symbolic_operand splitter): Remove
649 * config/alpha/predicates.md (some_small_symbolic_operand): New.
651 2004-09-20 Jan Hubicka <jh@suse.cz>
653 * predict.c (return_prediction): New function.
654 (apply_return_prediction): Likewise.
655 (tree_bb_level_predictions): Likewise.
656 (tree_estimate_probability): Add noreturn exit edges; call
657 bb_level_predictions; fix logic of return heuristics.
658 (predict_paths_leading_to): Rescuesce from old CVS version of
659 process_note_prediction function.
660 * predict.def (PRED_TREE_EARLY_RETURN): New predictor.
662 2004-09-20 Andreas Krebbel <krebbel1@de.ibm.com>
664 * config/s390/s390.c (s390_frame_info): Added alignment statement for
665 floating point register area on stack.
667 2004-09-20 Jakub Jelinek <jakub@redhat.com>
669 * predict.c (expr_expected_value): Use *_CLASS_P macros.
671 2004-09-20 Daniel Berlin <dberlin@dberlin.org>
673 * tree-ssa-pre.c (compute_antic_aux): Use malloc'd worklist, to avoid
674 generating useless garbage.
676 2004-09-20 Paolo Bonzini <bonzini@gnu.org>
678 * builtins.c (fold_builtin): Call the new omonymous
679 target hook for machine-dependent built-ins.
680 * target-def.h (TARGET_FOLD_BUILTIN): New.
681 * target.h (struct gcc_target): Add the fold_builtin hook.
682 * targhooks.c (default_fold_builtin): New.
683 * targhooks.h (default_fold_builtin): Declare it.
685 2004-09-20 Kazu Hirata <kazu@cs.umass.edu>
687 * cfg.c, tree-ssa-threadupdate.c, tree-vectorizer.c: Fix
690 2004-09-20 Richard Sandiford <rsandifo@redhat.com>
693 * config/mips/mips.md (define_asm_attributes): Set can_delay to no.
695 2004-09-20 Jan Hubicka <jh@suse.cz>
697 * predict.c (estimate_probability): Remove unnecesary code.
699 2004-09-19 Ira Rosen <irar@il.ibm.com>
701 * tree-vectorizer.h (stmt_vec_info): Add vect_dr_base field.
702 (STMT_VINFO_VECT_DR_BASE): Declare.
703 (VECT_SMODULO): Declare.
704 * tree-vectorizer.c (vect_compute_array_ref_alignment): New function.
705 (vect_compute_array_base_alignment): New function.
706 (vect_analyze_data_ref_access): Check array indices. Remove one
707 dimensional arrays restriction.
708 (vect_get_ptr_offset): New function.
709 (vect_get_symbl_and_dr): New function.
710 (vect_get_base_and_bit_offset): Support additional data refs. Renamed
711 (former name vect_get_base_decl_and_bit_offset).
712 (vect_create_index_for_array_ref): Removed.
713 (vect_create_index_for_vector_ref): New function.
714 (vect_create_addr_base_for_vector_ref): New function.
715 (vect_create_data_ref): Handle additional data refs. Call
716 vect_create_index_for_vector_ref and vect_create_addr_base_for_vector_ref.
717 (vect_compute_data_ref_alignment): Support the changes. Call
718 vect_get_base_and_bit_offset.
719 (vect_analyze_data_refs): Call vect_get_symbl_and_dr. Support additional
720 data refs. Store vect_dr_base.
721 (vect_analyze_data_ref_accesses): Support nonconstant init.
722 (new_stmt_vec_info): Initialize vect_dr_base field.
723 (vect_is_simple_iv_evolution): Call initial_condition_in_loop_num.
724 (get_vectype_for_scalar_type): Check for BLKmode.
725 * tree-chrec.h (initial_condition_in_loop_num): Declare.
726 * tree-chrec.c (initial_condition_in_loop_num): New function.
727 (chrec_component_in_loop_num): New function.
728 (evolution_part_in_loop_num): Call chrec_component_in_loop_num.
729 * tree-data-ref.c (analyze_array_indexes): Change parameter (access_fns)
730 to be pointer to varray_type.
732 2004-09-19 Jan Hubicka <jh@suse.cz>
734 * basic-block.h (update_bb_profile_after_threading): Declare.
735 * cfg.c (update_bb_profile_after_threading): Break out from ...
736 * cfgcleanup.c (try_forward_edges): ... here; use it.
737 * tree-ssa-dom.c (thread_across_edge): Use it.
738 * tree-ssa-threadupdate.c (create_block_for_threading): Zero out
739 profile of the new BB.
741 2004-09-19 Daniel Berlin <dberlin@dberlin.org>
743 * tree-ssa-pre.c (insert_into_set): Don't put
744 is_gimple_min_invariant values into the set.
746 2004-09-19 Andreas Jaeger <aj@suse.de>
748 * tree-ssa-dom.c (restore_nonzero_vars_to_original_value): Fix
751 2004-09-18 Kazu Hirata <kazu@cs.umass.edu>
753 * config/cris/cris.h: Preserve the original spelling in a
756 2004-09-18 Jeff Law <law@redhat.com>
758 * tree-ssa-dom.c (nonzero_vars_stack, vrp_variables_stack): New
759 global varrays to replace the block local varrays.
760 (struct dom_walk_block_data): Remove, no longer used.
761 (get_eq_expr_value): No longer need to pass around pointers to local
762 varrays. Callers updated. Unused markers added to unused parameters.
763 (record_range, record_equivalences_from_stmt): Likewise.
764 (record_equivalences_from_incoming_edge): Likewise.
765 (record_var_is_nonzero): Likewise. Update now that we have a
766 single global varray of SSA_NAMEs that need restoring.
767 (dom_opt_initialize_block_local_data): Kill, no longer used.
768 (tree_ssa_dominator_optimize): Initialize new global varrays.
769 Update callbacks in dominator walker structure.
770 (dom_opt_initialize_block): Add markers to NONZERO_VAR_STACK and
772 (restore_nonzero_vars_to_original_value): Update now that we have
773 a single global varray of SSA_NAMEs that need restoring.
774 (dom_opt_finalize_block): Similarly for VRP_VARIABLES_STACK.
775 Remove unused variables.
776 (optimize_stmt): Remove unused variable.
778 2004-09-18 Jan Hubicka <jh@suse.cz>
780 * tree-cfg.c (thread_jumps): Fix updating of the profile.
782 * tree-optimize.c (tree_rest_of_compilation): Kill forgotten
785 2004-09-18 Kazu Hirata <kazu@cs.umass.edu>
787 * alias.c, crtstuff.c, dbxout.c, domwalk.c, domwalk.h, gcc.c,
788 gcse.c, global.c, lambda-code.c, loop.c, mips-tdump.c,
789 optabs.h, predict.c, reg-stack.c, regclass.c, sched-rgn.c,
790 tree-optimize.c, tree-ssa-dom.c, tree-ssa-forwprop.c,
791 tree-ssa-operands.c, tree-ssa-phiopt.c,
792 tree-ssa-threadupdate.c: Fix comment typos.
794 2004-09-18 Kazu Hirata <kazu@cs.umass.edu>
796 * config/darwin-c.c, config/arc/arc.c, config/arc/arc.md,
797 config/arm/README-interworking, config/arm/arm-cores.def,
798 config/arm/arm.c, config/arm/arm.h, config/arm/pe.c,
799 config/arm/vfp.md, config/c4x/c4x.c, config/c4x/c4x.h,
800 config/cris/cris.c, config/cris/cris.h, config/fr30/fr30.c,
801 config/fr30/fr30.h, config/fr30/fr30.md, config/frv/frv.c,
802 config/frv/frv.md, config/i386/winnt.c,
803 config/ia64/unwind-ia64.c, config/iq2000/iq2000.c,
804 config/iq2000/iq2000.h, config/m68hc11/m68hc11.c,
805 config/m68hc11/m68hc11.md, config/m68k/m68k.c,
806 config/mcore/mcore.c, config/mips/mips.h,
807 config/mn10300/mn10300.md, config/pa/pa.c,
808 config/pa/pa64-regs.h, config/pdp11/pdp11.c,
809 config/rs6000/rs6000.c, config/sh/symbian.c,
810 config/sparc/sparc.h: Fix comment typos. Follow spelling
813 2004-09-18 Joseph S. Myers <jsm@polyomino.org.uk>
816 * c-typeck.c (c_expr_sizeof_expr): Check for error_mark_node.
818 2004-09-18 Diego Novillo <dnovillo@redhat.com>
820 * tree-ssa-alias.c (setup_pointers_and_addressables): Don't
821 remove TREE_ADDRESSABLE from RESULT_DECL.
823 2004-09-18 Diego Novillo <dnovillo@redhat.com>
825 * tree-ssa-alias.c (dump_alias_info): Ignore NULL SSA_NAMEs.
827 2004-09-18 Jan Hubicka <jh@suse.cz>
829 * tree-into-ssa.c (rewrite_ssa_into_ssa): Expect ssa_name to return
831 * tree-ssa-alias.c (init_alias_info): Likewise.
832 * tree-ssa.c (verify_flow_sensitive_alias_info): Likewise.
833 (verify_ssa): Likewise.
834 * tree-ssanames.c (make_ssa_name): Clear out ssa_names arrays.
836 2004-09-18 Jan Hubicka <jh@suse.cz>
838 * i386.c (legitimize_pic_address): Fix splitting of PLUS with
841 2004-09-18 Kaz Kojima <kkojima@gcc.gnu.org>
843 * config/sh/linux.h (ASM_PREFERRED_EH_DATA_FORMAT): Remove.
844 * config/sh/sh.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
845 DW_EH_PE_sdata* for data.
846 (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Likewise.
848 2004-09-17 Geoffrey Keating <geoffk@apple.com>
850 * tree-inline.c (copy_tree_r): Don't duplicate constants, they're
854 * c-typeck.c (constructor_asmspec): Delete.
855 (struct initializer_stack): Delete field 'asmspec'.
856 (start_init): Delete saving of asmspec.
857 (finish_init): Don't update constructor_asmspec.
858 * dwarf2out.c (rtl_for_decl_location): Duplicate string from tree.
859 * stmt.c (expand_asm): Duplicate strings from tree.
860 (expand_asm_operands): Likewise.
861 * tree.c (tree_size): Update computation of size of STRING_CST.
862 (make_node): Don't make STRING_CST nodes.
863 (build_string): Allocate string with tree node.
864 (tree_code_size): Clean up assertions, don't allow requests
865 for "the size of a STRING_CST".
866 * tree.def (STRING_CST): Update comment.
867 * tree.h (TREE_STRING_POINTER): Adjust for change to STRING_CST.
868 (tree_string): Place contents of string in tree node.
869 * config/sh/sh.c (sh_handle_sp_switch_attribute): Duplicate string
872 2004-09-17 Zack Weinberg <zack@codesourcery.com>
874 * Makefile.in (c-parse.o): Depend on $(C_PRAGMA_H).
875 * objc/Make-lang.in (objc/objc-parse.o): Likewise.
877 2004-09-17 Jones Desougi <jones@ingate.com>
879 * configure.ac: Replace AC_COMPILE_CHECK_SIZEOF with AC_CHECK_SIZEOF.
880 * configure, config.in: Regenerate.
882 2004-09-17 Zack Weinberg <zack@codesourcery.com>
884 * tree.c, tree.h (tree_class_strings): Make array const.
885 Reindent per coding convention. Move asterisk to proper place
886 per coding convention.
888 2004-09-18 Andreas Schwab <schwab@suse.de>
890 * Makefile.in (gimple-low.o): Depend on $(EXPR_H).
891 (tree-vectorizer.o): Likewise.
892 (targhooks.o): Likewise.
894 2004-09-17 Jeffrey D. Oldham <oldham@codesourcery.com>
895 Zack Weinberg <zack@codesourcery.com>
897 * alias.c (find_base_decl): Remove unreachable case '3' block.
898 * expr.c (safe_from_p): Abort if passed a type.
899 * tree-gimple.c (recalculate_side_effects): Abort if passed
900 anything other than an expression.
901 * tree-ssa-pre.c (phi_translate): Return expr immediately if
902 is_gimple_min_invariant is true for it. Reorder cases for clarity.
903 Abort on un-handled tree classes.
904 (valid_in_set): Likewise.
905 * tree.c (tree_code_class_strings): New static data.
907 * tree.h (enum tree_code_class): New.
908 (tree_code_class_strings): Declare.
909 (TREE_CODE_CLASS_STRING, EXCEPTIONAL_CLASS_P, CONSTANT_CLASS_P)
910 (REFERENCE_CLASS_P, COMPARISON_CLASS_P, UNARY_CLASS_P, BINARY_CLASS_P)
911 (STATEMENT_CLASS_P, EXPRESSION_CLASS_P, IS_TYPE_OR_DECL_P): New macros.
912 (TYPE_P, DECL_P, IS_NON_TYPE_CODE_CLASS, IS_EXPR_CODE_CLASS)
913 (checking macros, EXPR_LOCATION, SET_EXPR_LOCATION, EXPR_LOCUS): Update.
915 * tree.def, c-common.def, objc/objc-tree.def: Use
916 tree_code_class enumeration constants instead of code letters.
918 * alias.c, builtins.c, c-common.c, c-format.c, c-lang.c, c-pragma.c
919 * c-typeck.c, cgraphunit.c, convert.c, dbxout.c, dwarf2out.c
920 * emit-rtl.c expr.c, fold-const.c, gimplify.c, lambda-code.c
921 * langhooks.c, langhooks.h, predict.c, print-tree.c, reload1.c, stmt.c
922 * tree-browser.c, tree-cfg.c, tree-chrec.c, tree-complex.c, tree-dfa.c
923 * tree-dump.c, tree-eh.c, tree-gimple.c, tree-inline.c, tree-nested.c
924 * tree-outof-ssa.c, tree-pretty-print.c, tree-sra.c, tree-ssa-ccp.c
925 * tree-ssa-dce.c, tree-ssa-dom.c, tree-ssa-forwprop.c, tree-ssa-live.c
926 * tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c, tree-ssa-operands.c
927 * tree-ssa-phiopt.c, tree-ssa-pre.c, tree-ssa-propagate.c
928 * tree-ssa.c, tree-ssanames.c, tree-tailcall.c, tree.c, varasm.c
929 * config/sol2-c.c, config/arm/arm.c, config/i386/winnt.c
930 * config/pa/pa.c, config/pa/pa.h, config/sh/sh.c, objc/objc-lang.c
933 * LANGUAGES: Add note about change.
935 2004-09-17 Diego Novillo <dnovillo@redhat.com>
937 PR tree-optimization/17319
938 * tree-ssa-alias.c (compute_points_to_and_addr_escape): Also
939 examine pointers on the LHS of an assignment.
940 (collect_points_to_info_r): Handle RETURN_EXPR.
942 2004-09-17 Jeff Law <law@redhat.com>
944 * tree-ssa-dom.c (const_and_copies_stack): New.
945 (dom_walk_block_data): Remove const_and_copies field.
946 (record_const_or_copy): No longer need to pass in varray_type *.
947 Use CONST_AND_COPIES_STACK rather than passed in block local stack.
949 (record_equality): Similarly.
950 (restore_vars_to_original_value): Similarly. Revamp to use new
951 single global stack rather than per-block stacks.
952 (tree_ssa_dominator_optimize): Initialize the CONST_AND_COPIES_STACK.
953 (thread_across_edge): Remove now unused parameters.
954 (dom_opt_initialize_block_local_data): No longer test the block
955 local CONST_AND_COPIES.
956 (dom_opt_initialize_block): Push a marker on CONST_AND_COPIES_STACK.
958 2004-09-17 Jan Hubicka <jh@suse.cz>
960 PR tree-optimization/17509
961 * tree-optimize.c (update_inlined_to_pointers): New function.
962 (tree_rest_of_compilation): Use it.
964 2004-09-17 Devang Patel <dpatel@apple.com>
966 * dbxout.c (get_lang_number): New.
967 (dbxout_init): Include lang number in N_SO stab.
968 * dbxout.h (N_SO_AS, N_SO_C, N_SO_ANSI_C, N_SO_CC, N_SO_FORTRAN,
969 N_SO_PASCAL, N_SO_FORTRAN90, N_SO_OBJC, N_SO_OBJCPLUS): New #define.
971 2004-09-17 Diego Novillo <dnovillo@redhat.com>
973 PR tree-optimization/17273
974 * tree-ssa.c (replace_immediate_uses): Call fold_stmt if the
975 replacement is a constant.
977 2004-09-17 Joseph S. Myers <jsm@polyomino.org.uk>
979 * c-tree.h (enum c_typespec_keyword): New.
980 (struct c_declspecs): Adjust description of "type". Remove
981 specbits, explicit_int_p and explicit_char_p. Rename
982 typedef_signed_p to explicit_signed_p. Add default_int_p, long_p,
983 short_p, signed_p, unsigned_p and complex_p.
984 (finish_declspecs): New.
985 * c-parse.in (datadef, datadecl, setspecs, decl, component_decl,
986 typename): Call finish_declspecs.
987 * c-decl.c (finish_declspecs): New.
988 (declspecs_add_type): Check for combinations which cannot occur in
989 valid specifier lists. Update comments.
990 (shadow_tag_warned): Remove checks done in finish_declspecs.
991 Don't report useless type name if type defaulted to int.
992 (grokdeclarator): Remove checks and actions done in
993 finish_declspecs. Don't allow for type being NULL. Update for
994 datastructures changes. Initialize decl_attr.
995 (build_null_declspecs, quals_from_declspecs): Update for
996 datastructures changes.
998 2004-09-17 Sylvain Pion <Sylvain.Pion@sophia.inria.fr>
1000 * doc/extend.texi: Fix duplicated word.
1002 2004-09-17 Toon Moene <toon@moene.indiv.nluug.nl>
1004 * doc/invoke.texi: Remove stray explanation on
1005 -freduce-all-givs and -fmove-all-movables.
1007 2004-09-17 James Morrison <phython@gcc.gnu.org>
1009 * doc/cfg.texi: Use @smallexample.
1010 * doc/md.texi: Likewise.
1011 * doc/tree-ssa.texi: Likewise.
1012 * doc/extend.texi: Likewise. Use @r{} in comments.
1013 * doc/trouble.texi: Use @r{} in comments.
1015 2004-09-17 Hans-Peter Nilsson <hp@bitrange.com>
1017 * configure.ac (gcc_cv_gld_version): Handle whitespace before
1019 * aclocal.m4 (_gcc_COMPUTE_GAS_VERSION): Ditto.
1020 * configure: Regenerate.
1022 2004-09-17 J"orn Rennecke <joern.rennecke@superh.com>
1024 * sh.c (sh_gimplify_va_arg_expr): Don't call pass_by_reference.
1025 (sh_pass_by_reference): Work around std_gimplify_va_arg_expr bug.
1026 * t-sh (MULTILIB_CPUS): s/ML_m/ML_sh/g .
1027 * t-sh64 (MULTILIB_CPU_DIRS): Likewise. Match dashes and trailing
1028 slashes in substitutions.
1029 (MULTILIB_DIRNAMES): Remove defunct removal of /media32.
1031 2004-09-17 Kazu Hirata <kazu@cs.umass.edu>
1033 * basic-block.h, c-decl.c, c-parse.in, cgraphunit.c, ddg.c,
1034 gimplify.c, lambda-code.c, optabs.c, predict.c,
1035 tree-scalar-evolution.c, tree-sra.c, tree-ssa-loop-ch.c,
1036 tree-ssa.c, vec.h: Fix comment typos. Follow spelling
1039 2004-09-17 Kazu Hirata <kazu@cs.umass.edu>
1041 * doc/compat.texi, doc/cpp.texi, doc/cppopts.texi,
1042 doc/extend.texi, doc/install.texi, doc/invoke.texi,
1043 doc/sourcebuild.texi, doc/tm.texi, doc/tree-ssa.texi,
1044 doc/trouble.texi: Use @option around options.
1046 2004-09-17 Richard Sandiford <rsandifo@redhat.com>
1048 * Makefile.in (gen-protos.o): Depend on errors.h.
1050 2004-09-17 Steven Bosscher <stevenb@suse.de>
1052 PR tree-optimization/17513
1053 * cfgexpand.c (construct_init_block): Clear EDGE_EXECUTABLE
1054 for successors of the entry block.
1056 2004-09-17 Uros Bizjak <uros@kss-loka.si>
1058 PR rtl-optimization/15187
1059 * ifcvt.c (noce_try_cmove_arith): Exit early if total
1060 insn_rtx_cost of both branches > BRANCH_COST
1062 2004-09-16 Diego Novillo <dnovillo@redhat.com>
1064 PR tree-optimization/17528
1065 * tree-ssa-alias.c (compute_flow_insensitive_aliasing): Do not
1066 erase the may-alias set for a tag when merging it with
1069 2004-09-16 Kaz Kojima <kkojima@gcc.gnu.org>
1071 * config/sh/sh.md (call): Extend 32-bit addresses to DImode
1072 for 32-bit TARGET_SHMEDIA.
1073 (call_value): Likewise.
1075 2004-09-16 Diego Novillo <dnovillo@redhat.com>
1077 * tree-ssa-operands.c (add_call_clobber_ops): Make read-only
1078 test apply only to TREE_STATIC and DECL_EXTERNAL.
1080 2004-09-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1082 * Makefile.in (tree-cfg.o): Add CFGLAYOUT_H dependency.
1083 * basic-block.h (get_dominated_by_region): Declare.
1084 * dominance.c (get_dominated_by_region): New function.
1085 * tree-cfg.c: Include cfglayout.h.
1086 (tree_duplicate_bb): Duplicate also phi nodes.
1087 (struct ssa_name_map_entry): New type.
1088 (add_phi_args_after_copy_bb, add_phi_args_after_copy,
1089 ssa_name_map_entry_hash, ssa_name_map_entry_eq,
1090 allocate_ssa_names, rewrite_to_new_ssa_names_def,
1091 rewrite_to_new_ssa_names_use, rewrite_to_new_ssa_names_bb,
1092 rewrite_to_new_ssa_names, tree_duplicate_sese_region): New functions.
1093 * tree-flow.h (tree_duplicate_sese_region, add_phi_args_after_copy_bb,
1094 add_phi_args_after_copy, rewrite_to_new_ssa_names_bb,
1095 rewrite_to_new_ssa_names, allocate_ssa_names,
1096 rewrite_into_loop_closed_ssa, verify_loop_closed_ssa): Declare.
1097 * tree-ssa-loop-ch.c (duplicate_blocks): Removed.
1098 (copy_loop_headers): Use tree_duplicate_sese_region.
1100 2004-09-16 Frank Ch. Eigler <fche@redhat.com>
1102 * profile.c (branch_prob): Restore support for USE_MAPPED_LOCATION.
1104 2004-09-16 Jeff Law <law@redhat.com>
1106 * tree-into-ssa.c (block_defs_stack): New toplevel varray.
1107 (rewrite_block_data): Remove, no longer used.
1108 (rewrite_initialize_block_local_data): Remove, no longer used.
1109 (rewrite_initialize_block): Mark parameters as unused as needed.
1110 Change references to the block local block_defs to be block_defs_stack.
1111 Push a marker onto the block_defs_stack.
1112 (ssa_rewrite_initialize_block): Similarly.
1113 (rewrite_stmt, ssa_rewrite_stmt): Similarly.
1114 (ssa_register_new_def): No longer needs varray argument. Use
1115 block_defs_stack instead. No longer handle possibly null block_defs
1116 varray. Reverse order of items we push on the stack to make it
1117 easier to identify our marker.
1118 (register_new_def): No longer handle possibly null block_defs
1120 (rewrite_finalize_block): Revamp to look for markers in the global
1121 block_defs_stack varray rather than wiping a block local varray.
1122 Mark arguments as unused as needed.
1123 (ssa_rewrite_finalize_block): Similarly.
1124 (rewrite_into_ssa): Update initialization of dom walker structure
1125 to reflect that we don't need block local data anymore. Initialize
1126 the block_defs_stack varray.
1127 (rewrite_ssa_into_ssa): Similarly.
1128 * tree-ssa-dom.c (block_defs_stack): New toplevel varray.
1129 (struct dom_walk_data): Kill block_defs field.
1130 (tree_ssa_dominator_optimize): Initialize block_defs_stack.
1131 (thread_across_edge): Use the global block_defs_stack instead of
1132 the old block_defs varray.
1133 (dom_opt_initialize_block_local_data): Update now that we don't have
1134 block_defs field to check anymore.
1135 (dom_opt_initialize_block): Push a marker onto block_defs_stack.
1136 (restore_currdefs_to_original_value): Use the new block_defs_stack
1137 instead of a block local varray.
1138 (dom_opt_finalize_block): Similarly.
1139 (record_equivalencs_from_phis): Similarly.
1140 (optimize_stmt, register_definitions_for_stmt): Similarly.
1142 2004-09-16 Andrew MacLeod <amacleod@redhat.com>
1144 PR tree-optimization/17517
1145 * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't
1146 coalesce same-root variables without checking for abnormal PHI usage.
1148 2004-09-16 Daniel Berlin <dberlin@dberlin.org>
1150 * cfgloop.h (duplicate_loop): Add prototype.
1151 * cfgloopmanip.c (duplicate_loop): Make non-static.
1152 * lambda-code.c (perfect_nestify): Factor out test whether
1153 we can handle this loop into separate function.
1155 (can_convert_to_perfect_nest): New function.
1156 (replace_uses_of_x_with_y): Add modify_stmt call.
1157 * tree-loop-linear.c (linear_transform_loops): Call
1158 rewrite_into_loop_closed_ssa and free_df.
1160 2004-09-16 Daniel Berlin <dberlin@dberlin.org>
1162 * lambda-code.c (invariant_in_loop): is_gimple_min_invariant is
1163 loop invariant as well.
1164 (perfect_nestify): new function.
1165 (gcc_loop_to_lambda_loop): New parameters to track lower bounds,
1166 upper bounds, and steps.
1167 Set outerinductionvar properly.
1168 (gcc_loopnest_to_lambda_loopnest): Add loops and need_perfect
1170 Return NULL if we need a perfect loop and can't make one.
1171 (lambda_loopnest_to_gcc_loopnest): Correct algorithm.
1172 (not_interesting_stmt): New function.
1173 (phi_loop_edge_uses_def): Ditto.
1174 (stmt_uses_phi_result): Ditto.
1175 (stmt_is_bumper_for_loop): Ditto.
1176 (perfect_nest_p): Ditto.
1177 (nestify_update_pending_stmts): Ditto.
1178 (replace_uses_of_x_with_y): Ditto.
1179 (stmt_uses_op): Ditto.
1180 (perfect_nestify): Ditto.
1181 * lambda-mat.c (lambda_matrix_id_p): New function.
1182 * lambda-trans.c (lambda_trans_matrix_id_p): Ditto.
1183 * lambda.h: Update prototypes.
1184 * tree-loop-linear (linear_transform_loop): Use new
1185 perfect_nest_p. Detect and ignore identity transform.
1186 * tree-ssa-loop.c (pass_linear_transform): Use TODO_write_loop_closed.
1188 2004-09-16 Sebastian Pop <pop@cri.ensmp.fr>
1190 * tree-loop-linear.c (gather_interchange_stats): Add more comments.
1191 Gather also strides of accessed data. Pass in the data references
1193 (try_interchange_loops): Add a new heuristic for handling the temporal
1194 locality. Pass in the data references array.
1195 (linear_transform_loops): Pass the data references array to
1196 try_interchange_loops.
1198 2004-09-16 Kazu Hirata <kazu@cs.umass.edu>
1200 * doc/invoke.texi: Fix typos. Follow spelling conventions.
1202 2004-09-16 Nathan Sidwell <nathan@codesourcery.com>
1204 * doc/c-tree.texi (Classes): Remove index entries for
1205 TREE_VIA_{PUBLIC,PROTECTED,PRIVATE}.
1207 2004-09-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1209 * fold-const.c (fold): Fold difference of addresses.
1210 (ptr_difference_const): Moved from tree-ssa-loop-ivopts, based on
1211 get_inner_reference.
1212 * tree-ssa-loop-ivopts.c (peel_address): Removed.
1213 (ptr_difference_const): Moved to fold-const.c.
1214 (split_address_cost): Use get_inner_reference instead of peel_address.
1215 (ptr_difference_cost): Change type of diff to HOST_WIDE_INT.
1216 * tree.h (ptr_difference_const): Export.
1218 * tree-ssa-loop-ivopts.c (dump_iv, dump_use, dump_cand): Add induction
1219 variable type to the dump. Fix indentation.
1220 (idx_find_step): Handle nonconstant array_ref_element_size and
1221 array_ref_low_bound.
1222 (idx_record_use): Handle array_ref_element_size and
1223 array_ref_low_bound.
1224 (find_interesting_uses_stmt): Handle memory = nontrivial_expression
1225 statements correctly.
1226 (get_computation_at, iv_value): Do not unshare expressions here.
1227 (rewrite_use_outer): Unshare the expression before it is emitted
1229 * tree-ssa-loop-niter.c (unsigned_type_for, signed_type_for):
1231 * tree.c (unsigned_type_for, signed_type_for): Moved from
1232 tree-ssa-loop-niter.c. Use langhooks.
1233 * tree.h (signed_type_for): Export.
1235 2004-09-16 David Edelsohn <edelsohn@gnu.org>
1237 * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): Update
1240 2004-09-15 Andrew Pinski <pinskia@physics.uc.edu>
1243 * c-incpath.h (target_c_incpath_s): Add extra_pre_includes.
1244 Add two parameters to extra_includes.
1245 (C_INCPATH_INIT): Remove.
1246 * c-incpath.c (register_include_chains): Call extra_pre_includes
1247 before adding the standard include directory.
1248 Update call to extra_includes.
1249 (!defined TARGET_EXTRA_INCLUDES): Update
1250 hook_void_charptr_charptr_int and add !define
1251 TARGET_EXTRA_PRE_INCLUDES.
1252 (!define TARGET_EXTRA_INCLUDES): Define as
1253 hook_void_charptr_charptr_int.
1254 (!define TARGET_EXTRA_PRE_INCLUDES): Likewise.
1255 (target_c_incpath): Always declare.
1256 * fixinclude.c (defined TARGET_EXTRA_INCLUDES): Declare a
1258 (define TARGET_EXTRA_PRE_INCLUDES): Likewise.
1259 * config/darwin.h: (darwin_register_frameworks): Update for
1260 the two new parameters.
1261 (darwin_register_objc_includes): Add prototype.
1262 (TARGET_EXTRA_PRE_INCLUDES): Define.
1263 * config/darwin-c.c (darwin_register_objc_includes): New function.
1264 (darwin_register_frameworks): Update for the two new parameters.
1265 (target_c_incpath): Remove.
1266 * config/t-darwin (darwin-c.o): Add $(PREPROCESSOR_DEFINES) to
1268 * doc/tm.texi (TARGET_EXTRA_INCLUDES): Document the two new
1270 (TARGET_EXTRA_PRE_INCLUDES): Document.
1272 * gcc.c (spec_function): Add replace-outfile.
1273 (replace_outfile_spec_function): New function.
1274 * config/darwin.h (LINK_SPEC): Add replace
1275 -lobjc with -lobjc-gnu if -fgnu-runtime is
1277 * invoke.texi (replace-outfile): Document.
1279 2004-09-13 Jan Hubicka <jh@suse.cz>
1281 * predict.c (expr_expected_value, strip_builtin_expect): New function.
1282 (tree_predict_by_opcode): Use it.
1283 (tree_estimate_probability): Add, for now disabled,
1284 strip_builtin_expect call.
1286 2004-09-15 James E Wilson <wilson@specifixinc.com>
1289 * config/ia64/ia64.c (ia64_function_ok_for_sibcall): Return false
1290 if current_function_decl is a sibcall.
1292 2004-09-15 Mark Mitchell <mark@codesourcery.com>
1294 * varasm.c (default_function_rdodata_section): Make sure to pass
1295 along a decl for a link-once section.
1297 2004-09-15 Richard Henderson <rth@redhat.com>
1299 * tree-ssa-operands.c (add_call_clobber_ops): Fix unused variable
1300 warning with code disable. Fix formatting.
1302 2004-09-15 Steven Bosscher <stevenb@suse.de>
1304 * Makefile.in (tree-ssa-dom.o): Depend on tree-ssa-propagate.h.
1305 * tree-ssa-dom.c (cprop_into_stmt): Recompute TREE_INVARIANT
1306 after propagating into an ADDR_EXPR.
1308 2004-09-15 Andrew Pinski <apinski@apple.com>
1311 * gcse.c (process_insert_insn): insn_invalid_p has side effects.
1312 Move it out of gcc_assert.
1314 2004-09-15 Joseph S. Myers <jsm@polyomino.org.uk>
1316 * attribs.c, builtins.c, c-format.c, c-pch.c, coverage.c,
1317 except.c, fold-const.c, function.c, langhooks.c, params.c,
1318 reload.c, reload1.c, stmt.c, stor-layout.c, toplev.c, tree-cfg.c,
1319 tree-dump.c, tree-mudflap.c, tree.c, varasm.c: Use %<, %> and %q
1320 for quoting in diagnostics going through pretty-print.c. Use ''
1321 for quoting in other diagnostic text.
1322 * langhooks.c: Include intl.h. Mark text locating diagnostics for
1324 * Makefile.in (langhooks.o): Update dependencies.
1325 * pretty-print.h (pp_printf): Mark as accepting GCC diagnostic
1328 2004-09-15 Mark Mitchell <mark@codesourcery.com>
1330 * configure.ac: Check for COMDAT support. Robustify check for
1332 * configure: Regenerated.
1333 * config.in: Likewise.
1334 * langhooks-def.h (lhd_comdat_group): New function.
1335 (LANG_HOOKS_COMDAT_GROUP): New macro.
1336 (LANG_HOOKS_DECLS): Use it.
1337 * langhooks.c (lhd_comdat_group): Define.
1338 * langhooks.h (lang_hooks_for_decls): Add comdat_group.
1339 * output.h (named_section_flags): Make it a macro.
1340 (named_section_real): New function.
1341 (default_no_named_section): Add decl parameter.
1342 (default_elf_asm_named_section): Likewise.
1343 (default_coff_asm_named_section): Likewise.
1344 (default_pe_asm_named_section): Likewise.
1345 * target.h (gcc_target): Adjust type of named_section.
1346 * varasm.c (named_section_flags): Rename to named_section_real.
1348 (default_no_named_section): Add decl parameter.
1349 (default_elf_asm_named_section): Use COMDAT, if available. Deal
1350 with the case that ASM_COMMENT_START is "@".
1351 (default_coff_asm_named_section): Add decl parameter.
1352 (default_pe_asm_named_section): Likewise.
1353 * config/alpha/alpha.c (vms_asm_named_section): Add decl
1355 (unicosmk_asm_named_section): Likewise.
1356 * config/arm/arm.c (arm_elf_asm_named_section): Remove.
1357 * config/arm/elf.h (TARGET_ASM_NAMED_SECTION): Likewise.
1358 * config/c4x/c4x.c (c4x_asm_named_section): Add decl parameter.
1359 * config/cris/cris-protos.h (cris_target_asm_named_section):
1361 * config/cris/cris.c (cris_target_asm_named_section):
1363 * config/darwin/darwin-protos.h (darwin_asm_named_section):
1365 * config/darwin/darwin.c (darwin_asm_named_section): Likewise.
1366 * config/h8300/h8300.c (h8300_asm_named_section): Likewise.
1367 * config/i386/i386-protos.h (i386_pe_asm_named_section):
1369 * config/i386/winnt.c (i386_pe_asm_named_section): Likewise.
1370 * config/m68k/m68k.c (m68k_coff_asm_named_section): Likewise.
1371 * config/mcore/mcore.c (mcore_asm_named_section): Likewise.
1372 * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section):
1374 * config/sparc/sparc.c (sparce_elf_asm_named_section): Likewise.
1375 * cp/cp-lang.h (LANG_HOOKS_COMDAT_GROUP): Define.
1376 * cp/cp-tree.h (cxx_comdat_group): Declare.
1377 * cp/decl.c (cxx_comdat_group): New function.
1379 2004-09-15 Jan Hubicka <jh@suse.cz>
1381 * tree-ssa.c (verify_flow_sensitive_alias_info): Do not walk dead nodes.
1382 * tree-tailcall.c (eliminate_tail_call): Release SSA name.
1384 * tree-cfg.c (remove_bb): Release SSA defs.
1386 2004-09-15 Kazu Hirata <kazu@cs.umass.edu>
1388 * doc/tm.texi: Follow spelling conventions.
1390 2004-09-15 Kazu Hirata <kazu@cs.umass.edu>
1392 * tree-ssa-dom.c: Fix comment typos.
1394 2004-09-15 Alan Modra <amodra@bigpond.net.au>
1396 * config/rs6000/linux-unwind.h (struct gcc_pt_regs): Extend to
1398 (ppc_fallback_frame_state): Save location of CR.
1400 2004-09-15 Jakub Jelinek <jakub@redhat.com>
1402 * expr.c (string_constant): Handle also read-only variables
1403 initialized to string literals.
1405 * builtins.c (expand_builtin_memmove): Optimize memmove (x, y, 1)
1406 into memcpy (x, y, 1) if memcpy can be expanded inline.
1408 2004-09-15 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1410 PR tree-optimization/17468
1411 * tree-ssa.c (verify_use, verify_phi_args, verify_ssa): Verify that
1412 definition inside a block precede uses.
1413 * tree-tailcall.c (adjust_return_value): Emit statements in the
1416 2004-09-15 Richard Sandiford <rsandifo@redhat.com>
1418 * config/mips/mips.h (POINTERS_EXTEND_UNSIGNED): Delete.
1420 2004-09-15 Eric Botcazou <ebotcazou@libertysurf.fr>
1422 * doc/install.texi (sparc-sun-solaris2*): Properly format warning.
1424 2004-09-14 Jeff Law <law@redhat.com>
1426 * tree-ssa-dom.c (avail_exprs_stack): New global varray.
1427 (struct dom_walk_block_data): Remove avail_exprs member.
1428 (tree_ssa_dominator_optimize): Initialize avail_exprs_stack.
1429 (lookup_avail_expr): No longer need to pass in address of
1430 the block local available exprs stack. All callers changed.
1431 (simplify_cond_and_lookup_avail_expr): Similarly.
1432 (simplify_switch_and_lookup_avail_expr): Similarly.
1433 (get_eq_expr_value, record_cond): Likewise.
1434 (record_dominating_conditions): Likewise.
1435 (update_rhs_and_lookup_avail_expr): Likewise.
1436 (record_equivalences_from_stmt): Likewise.
1437 (dom_opt_initialize_block_local_data): No longer test state of
1438 block local avail_exprs.
1439 (dom_opt_initialize_block): Mark unwind point in the global
1441 (remove_expressions_from_table): Update to unwind to the
1442 most recent unwind marker in the global avail_expr stack.
1443 All callers changed.
1444 (dom_opt_finalize_block): Mark unwind point in the global
1445 avail_expr stack as needed.
1446 (record_cond): Push elements into the global avail_exprs stack.
1448 * tree-dfa.c (free_df_for_stmt): No longer static.
1449 (free_df): Update comments.
1450 * tree-flow.h (free_df_for_stmt): Prototype.
1451 * tree-ssa-dse.c (dse_optimize_stmt): Call free_df_for_stmt. Also
1454 2004-09-14 Diego Novillo <dnovillo@redhat.com>
1456 PR tree-optimization/17252
1457 * tree-ssa-alias.c (may_alias_p): Don't assume that a
1458 pointer may not point to itself when using relaxed
1461 2004-09-14 Richard Henderson <rth@redhat.com>
1464 * gimplify.c (gimplify_addr_expr): Don't inadvertently change types
1465 while folding <ADDR_EXPR <INDIRECT_REF X>>.
1467 2004-09-14 Andrew Pinski <apinski@apple.com>
1469 * tree-ssa-copy.c (may_propagate_copy): Don't check the aliasing
1470 sets of the pointers but the aliasing sets of what they point to.
1472 2004-09-14 Roger Sayle <roger@eyesopen.com>
1474 PR rtl-optimization/9771
1475 * regclass.c (CALL_REALLY_USED_REGNO_P): New macro to eliminate
1476 conditional compilation in init_reg_sets_1.
1477 (init_reg_sets_1): Let global_regs[i] take priority over the frame
1478 (but not stack) pointer exceptions to regs_invalidated_by_call.
1479 (globalize_reg): Globalizing a fixed register may need to update
1480 regs_invalidated_by_call.
1482 2004-09-14 Diego Novillo <dnovillo@redhat.com>
1484 PR tree-optimization/15262
1485 * tree-dfa.c (dump_variable): Also print the type of the
1487 * tree-ssa-alias.c (compute_flow_insensitive_aliasing): If two
1488 memory tags are of conflicting alias sets but have no aliased
1489 symbols in common, add one tag to the alias set of the other.
1490 (setup_pointers_and_addressables): Remove hack to deal with
1491 programs with no aliased symbols.
1492 (may_alias_p): Don't special case aggregate types.
1494 2004-09-14 Joseph S. Myers <jsm@polyomino.org.uk>
1497 * doc/invoke.texi (Environment Variables): Correct example locale.
1499 2004-09-14 Jan Hubicka <jh@suse.cz>
1501 * cfg.c (expunge_block): Revert previous change adding ggc_free call.
1503 2004-09-14 Mark Mitchell <mark@codesourcery.com>
1505 * config.gcc: Do not build a shared libgcc for arm-none-eabi.
1507 2004-09-14 Joseph S. Myers <jsm@polyomino.org.uk>
1509 * c-tree.h (struct c_declspecs): Add const_p, volatile_p and
1511 (struct c_declarator): Change u.array.quals and pointer_quals to
1512 int. Add u.array.attrs.
1513 (quals_from_declspecs): New.
1514 * c-decl.c (quals_from_declspecs): New.
1515 (shadow_tag_warned): Give more specific message for useless type
1517 (build_array_declarator, set_array_declarator_inner,
1518 grokdeclarator, make_pointer_declarator, build_null_declspecs,
1519 declspecs_add_qual): Update for changed structures.
1521 2004-09-14 Jeff Law <law@redhat.com>
1523 * tree-ssa-dom.c (stmts_to_rescan): Move from a block-local
1525 (tree_ssa_dominator_optimize): Allocate stmts_to_rescan.
1526 (dom_opt_initialize_block_local_data): No longer test state
1528 (dom_opt_finalize_block): Update due to change in scope of
1530 (optimize_stmt): Similarly.
1532 2004-09-14 Kazu Hirata <kazu@cs.umass.edu>
1534 * cgraph.h, cgraphunit.c, fold-const.c, lambda-mat.c,
1535 lambda.h, profile.c, tree-optimize.c, tree-sra.c, vec.h: Fix
1536 comment typos. Follow spelling conventions.
1538 2004-09-14 Kazu Hirata <kazu@cs.umass.edu>
1540 * config/darwin-c.c, config/alpha/alpha.c, config/i386/i386.c,
1541 config/i386/predicates.md, config/sparc/sparc.c: Follow
1542 spelling conventions.
1544 2004-09-14 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1545 Steven Bosscher <stevenb@suse.de>
1547 * Makefile.in (loop-unroll.o): Add HASHTAB_H and RECOG_H dependency.
1548 * basic-block.h (struct reorder_block_def): Add copy_number field.
1549 * cfgloop.h (biv_p): Declare.
1550 * cfgloopmanip.c (duplicate_loop_to_header_edge): Set copy_number.
1551 * common.opt (fsplit-ivs-in-unroller): New flag.
1552 * loop-iv.c (biv_p): New function.
1553 * loop-unroll.c: Include hashtab.h and recog.h.
1554 (struct iv_to_split, struct split_ivs_info): New types.
1555 (analyze_ivs_to_split, si_info_start_duplication, split_ivs_in_copies,
1556 free_si_info, si_info_hash, si_info_eq, analyze_iv_to_split_insn,
1557 determine_split_iv_delta, get_ivts_expr, allocate_basic_variable,
1558 insert_base_initialization, split_iv): New functions.
1559 (peel_loop_completely, unroll_loop_constant_iterations,
1560 unroll_loop_runtime_iterations, peel_loop_simple, unroll_loop_stupid):
1562 * doc/invoke.texi (-fsplit-ivs-in-unroller): Document.
1564 2004-09-14 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1566 * tree-cfg.c (thread_jumps): Update dominators correctly in
1567 case destination of threaded edge dominates its source.
1569 2004-09-14 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1571 * unroll.c: Removed.
1573 * Makefile.in (LOOP_H, unroll.o): Removed.
1574 (toplev.o, passes.o, stmt.o, integrate.o, loop.o): Remove LOOP_H
1576 * alias.c (init_alias_analysis): Remove flag_old_unroll_loops
1578 * cfgloop.h (LOOP_PREFETCH, loop_optimize): Moved from loop.h.
1579 * common.opt (fold-unroll-loops, fold-unroll-all-loops): Removed.
1580 * loop.c: Do not include loop.h.
1581 (LOOP_INFO, LOOP_MOVABLES, LOOP_REGS, LOOP_IVS, INSN_LUID,
1582 REGNO_FIRST_LUID, REGNO_LAST_LUID, enum g_types, struct induction,
1583 struct iv_class, enum iv_mode, struct iv, REG_IV_TYPE, REG_IV_INFO,
1584 REG_IV_CLASS, struct loop_ivs, struct loop_mem_info, struct loop_reg,
1585 struct loop_regs, struct loop_movables, struct loop_info): Moved
1587 (back_branch_in_range_p, fold_rtx_mult_add, biv_total_increment,
1588 reg_dead_after_loop, final_biv_value, loop_find_equiv_value,
1589 find_common_reg_term, loop_iterations, final_giv_value): Moved
1591 (uid_luid, uid_loop, max_uid_for_loop, max_reg_before_loop,
1592 loop_dump_stream, for_each_insn_in_loop, express_from,
1593 extend_value_for_giv, loop_iv_add_mult_emit_before,
1594 loop_iv_add_mult_sink, loop_iv_add_mult_hoist,
1595 loop_insn_first_p, get_condition_for_loop,
1596 loop_insn_emit_before, loop_insn_hoist,
1597 loop_insn_sink): Made static.
1598 (loop_invariant_p): Made static. Removed flag_old_unroll_loops
1600 (strength_reduce): Do not call unroller.
1601 (record_giv): Do not initialize unrolled field.
1602 (prescan_loop): Do not set loop_info->preconditioned.
1603 * passes.c: Do not include loop.h.
1604 (rest_of_handle_loop_optimize): Do not call unroller.
1605 * predict.c: Do not include loop.h.
1606 * rtl.h (NOTE_PRECONDITIONED): Removed.
1607 * stmt.c: Do not include loop.h.
1608 * toplev.c: Do not include loop.h.
1609 (process_options): Do not handle flag_old_unroll_loops.
1611 * doc/invoke.texi (fold-unroll-loops, fold-unroll-all-loops):
1612 Documentation removed.
1613 * doc/passes.texi (unroll.c, loop.h): Documentation removed.
1615 2004-09-14 Nathan Sidwell <nathan@codesourcery.com>
1617 * Makefile.in (STAGE1_CHECKING): New variable.
1618 (stage1_build): Use it.
1619 * tree-ssa.c (verify_ssa): Preserve state of dominance
1622 2004-09-14 Uros Bizjak <uros@kss-loka.si>
1624 * config/i386/i386.c (output_fp_compare): Add generation
1625 of ftst instruction.
1626 * config/i386/i386.md (*cmpfp_0_sf, cmpfp_0_df, cmpfp_0_xf):
1627 Use output_fp_compare () function.
1628 (cmpfp_i, *cmpfp_i_sse, *cmpfp_i_sse_only): Fix insn constraint.
1629 (fix_truncdi_memory): Remove operands[5] copy.
1631 2004-09-14 Kazu Hirata <kazu@cs.umass.edu>
1633 * config/m32r/m32r.md, config/m68k/m68kelf.h,
1634 config/mcore/mcore.md, config/rs6000/linux64.h,
1635 config/rs6000/rs6000.c, config/sparc/sparc.c: Fix comment
1638 2004-09-13 James E Wilson <wilson@specifixinc.com>
1640 * Makefile.in (GEN_PROTOS_OBJS): Add $(BUILD_ERRORS).
1641 * gen-protos.c: Include errors.h.
1644 2004-09-14 Jan Hubicka <jh@suse.cz>
1646 * Makefile.in (predict.o): Depend on tree-scalar-evolution.h
1647 * predict.c: Include tree-scalar-evolution.h and cfgloop.h
1648 (predict_loops): Use number_of_iterations_exit to predict
1649 number of iterations on trees.
1651 2004-09-13 Dale Johannesen <dalej@apple.com>
1655 * c-decl.c (start_decl): Repair TREE_STATIC for initialized
1656 objects declared extern.
1658 2004-09-14 Paul Brook <paul@codesourcery.com>
1660 * config/arm/arm.c (arm_expand_prologue): Make args_to_push a
1663 2004-09-13 Daniel Jacobowitz <dan@debian.org>
1665 * fold-const.c (fold_checksum_tree): Ignore TYPE_CACHED_VALUES.
1666 Only use TYPE_BINFO for aggregates.
1668 2004-09-13 Daniel Jacobowitz <dan@debian.org>
1670 * expmed.c (synth_mult): Initialize latency. Check cost before
1673 2004-09-13 Kenneth Zadeck <Kenneth.Zadeck@NaturalBridge.com>
1675 * tree-ssa-operands.c (get_call_expr_operands): Added parm to
1676 add_call_clobber_ops and add_call_read_ops.
1677 (add_call_clobber_ops, add_call_read_ops): Added code to reduce
1678 the number of vdefs and vuses inserted based on analysis of global
1679 variables across calls. * tree-dfa.c (find_referenced_vars):
1680 Needed to reset static var maps before each function is compiled.
1682 (static_vars_to_consider_by_tree,static_vars_to_consider_by_uid,
1683 static_vars_info,functions_to_static_vars_info,module_statics_escape,
1684 all_module_statics,searchc_env,dfs_info): New fields to support
1685 analysis of static global variables.
1686 (print_order, convert_UIDs_in_bitmap, new_static_vars_info,
1687 cgraph_reset_static_var_maps, get_global_static_vars_info,
1688 get_global_statics_not_read, get_global_statics_not_written,
1689 searchc, cgraph_reduced_inorder, has_proper_scope_for_analysis,
1690 check_rhs_var, check_lhs_var, get_asm_expr_operands,
1691 process_call_for_static_vars, scan_for_static_refs,
1692 cgraph_characterize_statics_local, cgraph_get_static_name_by_uid,
1693 clear_static_vars_maps, cgraph_propagate_bits,
1694 cgraph_characterize_statics): New. Functions to support analysis
1695 of static global variables.
1696 (cgraph_mark_local_and_external_functions): Renamed from:
1697 (cgraph_mark_local_functions)
1698 (cgraph_expand_all_functions): Remove call to
1699 cgraph_mark_local_and_external_functions.
1700 (cgraph_optimize): Added driver to analyze static variables whose
1701 scope is within the compilation unit. * cgraph.h (struct
1702 cgraph_local_info, GTY): Added statics_read, statics_written,
1703 local, calls_read_all, calls_write_all, for_functions_valid.
1704 (struct cgraph_node): Added next_cycle. * cgraph.c
1705 (dump_cgraph_node): Added print routines for new fields. *
1706 makefile.in: macroized cgraph.h, added cgraphunit.c to the ggc
1709 2004-09-13 Joseph S. Myers <jsm@polyomino.org.uk>
1711 * c-decl.c (grokdeclarator): Correct comments about where storage
1712 class specifiers are rejected by grammar and add corresponding
1713 asserts. Diagnose typedefs and parameters declared inline.
1714 Change warning for inline main to a pedwarn. Only diagnose inline
1716 (declspecs_add_scspec): Allow duplicate "inline".
1718 2004-09-13 Steve Ellcey <sje@cup.hp.com>
1720 * config/ia64/ia64.c (ia64_scalar_mode_supported_p): New.
1721 (TARGET_SCALAR_MODE_SUPPORTED_P): New.
1723 2004-09-13 Richard Henderson <rth@redhat.com>
1726 * tree.h (TYPE_CONTAINS_PLACEHOLDER_INTERNAL): New.
1727 (tree_type): Replace spare with contains_placeholder_bits.
1728 (type_contains_placeholder_1): Rename from type_contains_placeholder_p,
1729 make static. Remove seen_types list.
1730 (type_contains_placeholder_p): New.
1732 2004-09-13 James E Wilson <wilson@specifixinc.com>
1734 * config/mips/mips.c (CODE_FOR_mips_sqrt_ps): New.
1735 (sb1_bdesc, bdesc_map, bdesc_arrays): New.
1736 (mips_expand_builtin): Add SB-1 support. Use bdesc_map and
1737 bdesc_arrays instead of mips_bdesc.
1738 (mips_init_builtins): Likewise.
1739 * config/mips/mips.h (TARGET_SB1): New.
1740 (HAVE_SQRT_P): Delete.
1741 * config/mips/mips.md (divide_condition): Support V2SF.
1742 (sqrt_condition, recip_condition): New.
1743 (div<mode>3): Use ANYF instead of SCALARF.
1744 (*div<mode>3): Use ANYF instead of SCALARF. Use UNITMODE instead of
1746 (*recip<mode>3, *rsqrt<mode>a, *rsqrt<mode>b): Use recip_condition
1747 instead of ISA_HAS_FP4. Use ANYF instead of SCALARF. Use UNITMODE
1749 (sqrt<mode>2): Use sqrt_condition instead of HAVE_SQRT_P. Use ANYF
1750 instead of SCALARF. Use UNITMODE instead of MODE.
1752 2004-09-13 Zack Weinberg <zack@codesourcery.com>
1754 * config.in: Regenerate after removal of libbanshee.
1756 2004-09-13 Andrew MacLeod <amacleod@redhat.com>
1758 PR tree-optimization/17400
1759 * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't
1760 coalesce partitions when one occurs in an abnormal PHI.
1762 2004-09-13 Andrew Pinski <apinski@apple.com>
1764 * config/rs6000/darwin.h (ASM_OUTPUT_COMMON): Change variable size's
1767 2004-09-13 Richard Henderson <rth@redhat.com>
1770 * cselib.c (cselib_invalidate_rtx): Export. Remove unused args.
1771 (cselib_invalidate_rtx_note_stores): New.
1772 (cselib_record_sets, cselib_process_insn): Update to match.
1773 * cselib.h (cselib_invalidate_rtx): Declare.
1774 * postreload.c (reload_cse_simplify): Invalidate asm clobbers.
1776 2004-09-13 Richard Henderson <rth@redhat.com>
1779 * tree-inline.c (copy_body_r): Recompute bits for ADDR_EXPR,
1780 after copying its argument.
1782 2004-09-13 Joseph S. Myers <jsm@polyomino.org.uk>
1784 * c-common.c, c-decl.c, c-lex.c, c-objc-common.c, c-opts.c,
1785 c-parse.in, c-pragma.c, c-typeck.c: Use %q, %< and %> for quoting
1786 in diagnostics. Use %' for English apostrophes.
1787 * c-tree.h (ATTRIBUTE_GCC_CDIAG): Define.
1788 (pedwarn_c90, pedwarn_c99): Use it.
1789 * c-decl.c (lookup_label): Quote label name in diagnostic.
1790 * c-parse.in (yyprint): Use ' instead of ` for left quote.
1791 * c-typeck.c (warn_for_assignment): Likewise.
1793 2004-09-13 Jan Hubicka <jh@suse.cz>
1795 * i386.c (x86_schedule): New global variable.
1796 (override_options): Disable scheduling when not supported.
1797 * i386.h (x86_schedule): Declare.
1798 (TARGET_SCHEDULE): New macro.
1800 2004-09-12 Richard Henderson <rth@redhat.com>
1803 * fold-const.c (fold) <case CLEANUP_POINT_EXPR>: Remove.
1804 * tree.c, tree.h (has_cleanups): Remove.
1806 2004-09-12 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1808 * tree-ssa-loop-manip.c (split_loop_exit_edge): Handle non-ssaname
1809 arguments of the phi nodes correctly.
1811 2004-09-12 Jan Hubicka <jh@suse.cz>
1813 * ggc-common.c (cmp_statistics): Fix sorting.
1815 2004-09-12 David Edelsohn <edelsohn@gnu.org>
1818 * expmed.c (expand_divmod): If cheap power of 2 divide is
1819 available, use it for negative constant as well.
1821 2004-09-12 Andrew Pinski <apinski@apple.com>
1823 * darwin.h (ASM_OUTPUT_COMMON): Make sure we do not have a
1826 * tree-chrec.c (initialize_scalar_evolutions_analyzer): Remove.
1828 2004-09-12 Richard Henderson <rth@redhat.com>
1830 * config/i386/i386.c (ix86_split_ashldi): Special case op1 as one
1832 (ix86_split_ashrdi, ix86_split_lshrdi): Clean up conditions for
1833 post-reload, and scratch NULL.
1834 * config/i386/i386.md (testqi_1): Use FLAGS_REG name.
1835 (x86_shift_adj_2): Use ix86_expand_clear.
1836 (ashldi3): Remove CMOVE expansion difference.
1837 (ashldi3_1): Remove.
1838 (*ashldi3_1): Rename from *ashldi3_2. Use reg_or_pm1_operand and
1839 add constraints for immediates. New peephole for split-with-temp.
1840 Run splitter after peep2 pass.
1841 (ashrdi3, ashrdi3_1, ashrdi3_2): Similarly.
1842 (lshrdi3, lshrdi3_1, lshrdi3_2): Similarly.
1843 (setcc_2): Rename with *.
1844 * config/i386/predicates.md (reg_or_pm1_operand): New.
1845 (ashldi_input_operand): New.
1847 2004-09-12 Richard Henderson <rth@redhat.com
1849 * print-rtl.c (print_decl_name): New.
1850 (print_mem_expr): Use it.
1852 2004-09-12 Richard Henderson <rth@redhat.com
1855 * except.c (sjlj_emit_function_exit): Fix logic locating
1856 sjlj_exit_after in final block.
1858 2004-09-12 Toon Moene <toon@moene.indiv.nluug.nl>
1860 * common.opt: Remove flags -fmove-all-movables and
1862 * loop-invariant.c (find_invariants_to_move):
1863 Remove all uses of flag_move_all_movables.
1864 * loop.c (move_movables): Remove all uses of
1865 flag_move_all_movables.
1866 (strength_reduce): Remove all uses of
1867 flag_reduce_all_givs.
1868 * doc/invoke.texi: Remove documentation of flags
1869 -fremove-all-movables and -freduce-all-givs.
1871 2004-09-11 Roger Sayle <roger@eyesopen.com>
1874 * tree-sra.c (generate_element_zero): Revert recent build_int_cst
1875 change. elt->type may be a floating point type, so use fold_convert.
1877 2004-09-11 Geoffrey Keating <geoffk@apple.com>
1879 * config/darwin.c (machopic_validate_stub_or_non_lazy_ptr): Mark
1880 the thing referenced as used, not the stub itself.
1882 2004-09-11 Joseph S. Myers <jsm@polyomino.org.uk>
1884 * c-tree.h (enum c_storage_class): New.
1885 (struct c_declspecs): Add storage_class, inline_p and thread_p.
1886 * c-decl.c (shadow_tag_warned): Give errors for "inline" in empty
1887 declarations and "auto" or "register" in file scope empty
1888 declarations. Give more specific warnings for other cases of
1889 storage class specifiers in empty declarations.
1890 (grokdeclarator): Update for new structures. Don't check for
1891 multiple storage classes. Diagnose file-scope "register" if
1893 (build_null_declspecs): Update.
1894 (declspecs_add_scspec): Update. Diagnose multiple storage class
1895 specifiers and invalid uses of "__thread".
1897 2004-09-11 Zack Weinberg <zack@codesourcery.com>
1899 * tree.c (tree_code_size): New function, bulk of code from tree_size.
1900 (tree_size, make_node): Use it.
1901 * tree-ssa-pre.c (init_pre): Use it.
1902 * tree.h: Prototype it.
1904 2004-09-11 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1906 * tree-cfg.c (set_bb_for_stmt): Use PHI_BB.
1907 * tree-dfa.c (compute_immediate_uses, add_immediate_use,
1908 redirect_immediate_use): Use PHI_DF.
1909 * tree-flow-inline.h (stmt_ann): Abort on phi nodes.
1910 (bb_for_stmt): Use PHI_BB.
1911 (get_immediate_uses): Use PHI_DF.
1912 * tree-ssa-dse.c (max_stmt_uid): New variable.
1913 (get_stmt_uid): New function.
1914 (dse_optimize_stmt, dse_record_phis, tree_ssa_dse): Do not use phi
1916 * tree-ssa-loop-im.c (LIM_DATA): Do not use phi statement annotations.
1917 (max_uid): Renamed to max_stmt_uid.
1918 (get_stmt_uid): New function.
1919 (maybe_queue_var, single_reachable_address, determine_lsm): Do not use
1920 phi node annotations.
1921 * tree-ssa.c (replace_immediate_uses): Do not use phi node annotations.
1922 * tree.h (PHI_BB, PHI_DF): New accessor functions.
1923 (struct tree_phi_node): Add bb and df fields.
1925 2004-09-11 Richard Henderson <rth@redhat.com>
1928 * cfgexpand.c (expand_used_vars_for_block): Fix off-by-one bug
1931 2004-09-11 Jan Hubicka <jh@suse.cz>
1933 * i386.h (MODE_NEEDED): Calls need UNINITIALIZED mode; add comment.
1934 (EMIT_MODE_SET): UNINITIALIZED mode needs no set.
1935 * i386.md (i387_cw): Add 'uninitialized' mode.
1937 * profile.c (BB_TO_GCOV_INDEX): move more to the front.
1938 (output_location): Break out from ....
1939 (branch_prob): ... here; handle gcov output on trees.
1940 * toplev.c (process_options): No longer be sorry about coverage for
1943 2004-09-11 Steven Bosscher <stevenb@suse.de>
1946 * fold-const.c (fold): Do not try to fold the operand of a
1947 CLEANUP_POINT_EXPR if that operand does itself not have any
1951 * langhooks.c (lhd_decl_printable_name): Make sure that this
1952 function is called with is a decl node that has an identifier.
1953 * tree-pretty-print.c (dump_function_name): New function to
1954 wrap PRINT_FUNCTION_NAME and dump_decl_name.
1955 (print_call_name): Use it.
1957 2004-09-11 Mohan Embar <gnustuff@thisiscool.com>
1959 * ggc-none.c: Include "bconfig.h" if -DGENERATOR_FILE,
1962 2004-09-11 Jakub Jelinek <jakub@redhat.com>
1964 * tree-ssa-alias.c (collect_points_to_info_r): Handle
1965 pointing to PTR + OFFSET as PTR, not as pointing to PTR or pointing
1968 2004-09-11 Richard Henderson <rth@redhat.com>
1970 * expr.c (expand_expr_addr_expr_1) Rename from expand_expr_addr_expr.
1971 (expand_expr_addr_expr): New function. Take ADDR_EXPR instead of the
1972 operand of the ADDR_EXPR.
1973 (expand_expr_real_1): Update to match.
1975 2004-09-11 David Edelsohn <edelsohn@gnu.org>
1978 * config/rs6000/aix.h (MD_FROB_UPDATE_CONTEXT): Use __64BIT__ to
1979 choose 64-bit version.
1981 2004-09-11 Richard Henderson <rth@redhat.com>
1984 * c-typeck.c (build_unary_op): Add legacy offsetof hack.
1986 2004-09-11 Kazu Hirata <kazu@cs.umass.edu>
1988 * doc/cfg.texi, doc/hostconfig.texi, doc/install.texi,
1989 doc/invoke.texi, doc/md.texi, doc/tm.texi, doc/tree-ssa.texi:
1990 Insert @: after i.e. or e.g.
1992 2004-09-10 Geoffrey Keating <geoffk@apple.com>
1994 * tree-pretty-print.c (dump_decl_name): Print unnamed decls as
1995 D.xxx rather than <Dxxx>.
1997 2004-09-10 Adam Nemet <anemet@lnxw.com>
1999 * configure.ac (AC_MSG_CHECKING(what linker to use)):
2000 in_tree_ld_is_elf should be true for LynxOS.
2001 * configure: Regenerate.
2003 2004-09-10 Adam Nemet <anemet@lnxw.com>
2005 * Makefile.in (all.cross): Add srcextra.
2007 2004-09-10 Roger Sayle <roger@eyesopen.com>
2010 * fold-const.c (fold_cond_expr_with_comparison): Handle unordered
2011 floating point comparison operators. Change aborts to gcc_asserts.
2013 2004-09-10 Geoffrey Keating <geoffk@apple.com>
2015 * final.c (output_asm_insn): Correct problem with -fverbose-asm.
2017 2004-09-10 James E Wilson <wilson@specifixinc.com>
2019 * Makefile.in (LIBGCC_DEPS): Delete duplicate stmp-int-hdrs reference.
2020 (stmp-fixproto): Change stmp-int-headers to stmp-int-hdrs in comment.
2022 * convert.c (convert_to_vector): Replace recursive call with
2025 * emit-rtl.c (gen_const_vector): Renamed from gen_const_vector_0.
2026 Add integer argument named constant. Use const_tiny_rtx instead of
2028 (gen_rtx_CONST_VECTOR): Rewrite to handle checks for both CONST0_RTX
2030 (init_emit_once): Fix users of gen_const_vector. Set CONST1_RTX for
2032 * expr.c (const_vector_from_tree): Call gen_rtx_CONST_VECTOR instead
2033 of gen_rtx_raw_CONST_VECTOR.
2035 2004-09-10 Eric Christopher <echristo@redhat.com>
2038 * c-parse.in (attribute): Add NULL_TREE for error case
2041 2004-09-10 Zack Weinberg <zack@codesourcery.com>
2043 * c-common.h (struct c_fileinfo): Comment moved here from cp-tree.h.
2044 (extract_interface_info): Delete prototype.
2045 * c-decl.c (extract_interface_info): Delete stub.
2046 * c-lex.c (get_fileinfo): Initialize file_info_tree here, if
2047 it's not already been done ...
2048 (init_c_lex): ... not here.
2049 (fe_file_change): Don't call extract_interface_info.
2051 2004-09-11 Joseph S. Myers <jsm@polyomino.org.uk>
2053 * c-tree.h (struct c_declspecs): Remove typedef_decl. Add
2054 typedef_p and typedef_signed_p.
2055 * c-decl.c (shadow_tag_warned): Check typedef_p, not typedef_decl.
2056 (grokdeclarator): Don't use typedef_decl for warn_deprecated_use.
2057 Check typedef_p and typedef_signed_p, not typedef_decl.
2058 (grokfield): Check typedef_p, not typedef_decl.
2059 (build_null_declspecs): Initialize typedef_p and typedef_signed_p,
2061 (declspecs_add_type): Set typedef_p and typedef_signed_p, not
2064 2004-09-10 Kazu Hirata <kazu@cs.umass.edu>
2066 * doc/tm.texi, doc/tree-ssa.texi: Fix typos.
2068 2004-09-10 Geoffrey Keating <geoffk@apple.com>
2070 * gimplify.c (create_tmp_var_raw): Don't name otherwise-nameless
2071 temporary variables.
2073 * dbxout.c (dbxout_block): Update for
2074 current_function_func_begin_label a string.
2075 * dwarf2out.c (dwarf2out_begin_prologue): Likewise.
2076 * except.c (dw2_output_call_site_table): Likewise.
2077 * toplev.c (current_function_func_begin_label): Likewise.
2078 * tree.h (current_function_func_begin_label): Likewise.
2079 * config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Likewise.
2081 * final.c (output_asm_insn): Use strtoul instead of atoi, save a
2084 * config/darwin.c: Include target.h.
2085 (struct machopic_indirection): Make ptr_name a string.
2086 (machopic_indirection_hash): Update for ptr_name a string.
2087 (machopic_indirection_eq): Likewise.
2088 (machopic_indirection_name): Likewise.
2089 (machopic_output_indirection): Likewise.
2090 (machopic_validate_stub_or_non_lazy_ptr): Update for ptr_name a
2091 string. Don't expect stub names to be in the identifier hash table.
2092 Do call strip_name_encoding before looking up entry in ID hash table.
2093 * config/t-darwin (darwin.o): Add target.h to dependencies.
2095 * gcc/config/rs6000/rs6000.c (print_operand): Use fputs instead
2096 of fprintf for register names.
2098 * output.h (unlikely_section_label): Delete declaration.
2099 (unlikely_text_section_name): Likewise.
2100 * varasm.c (unlikely_section_label_printed): Make static.
2101 (unlikely_section_label): Likewise.
2102 (unlikely_text_section_name): Likewise.
2103 (assemble_start_function): Use reconcat.
2105 * rtl.def (REG): Add comment to describe third field.
2107 2004-09-10 Andrew Pinski <apinski@apple.com>
2109 * config/darwin.c (machopic_mcount_stub_name): Call
2110 machopic_indirection_name instead of making the string
2113 2004-09-10 Diego Novillo <dnovillo@redhat.com>
2117 2004-09-08 Jie Zhang <zhangjie@magima.com.cn>
2119 * tree-ssa-alias.c (compute_flow_insensitive_aliasing): If type
2120 memory tag is call clobbered, so are its aliases.
2121 (group_aliases): When two memory tags being grouped, if one is
2122 call clobbered, so are the other and its aliases.
2123 (add_may_alias): Remove call-clobbering stuff.
2124 (replace_may_alias): Likewise.
2125 (merge_pointed_to_info): Merge pt_global_mem
2127 2004-09-10 Kazu Hirata <kazu@cs.umass.edu>
2129 * bb-reorder.c, c-common.c, c-incpath.c, c-typeck.c,
2130 genrecog.c, lambda-code.c, mips-tdump.c, mips-tfile.c,
2131 passes.c, tree-data-ref.c, tree-data-ref.h, tree-mudflap.c,
2132 tree-scalar-evolution.c, tree-ssa-copyrename.c,
2133 tree-ssa-live.c, tree-ssa-live.h: Fix comment typos.
2135 2004-09-10 Richard Sandiford <rsandifo@redhat.com>
2137 * config/frv/frv.md (UNSPEC_MASACCS, UNSPEC_MDASACCS): New constants.
2138 (maddaccs, msubaccs, *maddacc): Turn operand 0 into a single ACC/ACCG
2139 pair. Remove match_dup from inputs. Remove masaccs handling.
2140 (mdaddaccs, mdsubaccs, *mdaddacc): Likewise a dual ACC/ACCG pair.
2141 (masaccs, mdasaccs): Turn into define_insns.
2143 2004-09-10 Richard Sandiford <rsandifo@redhat.com>
2145 * tree-tailcall.c (process_assignment): Only do accumulator transforms
2146 for floating-point types if flag_unsafe_math_optimizations.
2148 2004-09-10 Kazu Hirata <kazu@cs.umass.edu>
2150 * config/darwin.c, config/alpha/alpha.h, config/arm/arm.c,
2151 config/arm/arm.h, config/arm/arm.md, config/arm/bpabi.h,
2152 config/arm/predicates.md, config/frv/frv.c, config/frv/frv.md,
2153 config/h8300/h8300.md, config/i386/gmm_malloc.h,
2154 config/ia64/ia64.md, config/ip2k/libgcc.S,
2155 config/mips/mips-ps-3d.md, config/mips/mips.c,
2156 config/rs6000/rs6000.c, config/s390/s390.c,
2157 config/sh/symbian.c: Fix comment typos.
2159 2004-09-10 Andreas Krebbel <krebbel1@de.ibm.com>
2161 * config/s390/s390.c (s390_emit_prologue): Added missing
2164 2004-09-10 Kazu Hirata <kazu@cs.umass.edu>
2166 * doc/extend.texi, doc/invoke.texi, doc/passes.texi: Fix
2167 typos. Follow spelling conventions.
2169 2004-09-10 Joseph S. Myers <jsm@polyomino.org.uk>
2171 * toplev.c (warn_deprecated_use): Correct logic for saying "type"
2172 in diagnostic. Don't dereference NULL TYPE_NAME.
2174 2004-09-10 Kazu Hirata <kazu@cs.umass.edu>
2176 * c-common.c, c-pch.c, defaults.h, lambda-code.c, passes.c,
2177 tree-data-ref.c, tree-flow.h, tree-ssa-operands.c,
2178 tree-ssa-threadupdate.c, tree-vectorizer.c, tree-vectorizer.h,
2179 value-prof.c: Fix comment typos. Follow spelling conventions.
2181 2004-09-10 Jan Hubicka <jh@suse.cz>
2183 * tree-ssa-dce.c (remove_dead_stmt): Update profile.
2184 * tree-split_edge.c (tree_split_edge): Likewise.
2185 (thread_jumps): Likewise.
2187 2004-09-10 Kazu Hirata <kazu@cs.umass.edu>
2189 * cgraphunit.c, predict.c, tree-ssa-loop-ivopts.c: Fix comment
2192 2004-09-10 Paolo Bonzini <bonzini@gnu.org>
2194 * cgraph.h (cgraph_dump_file): Do not declare.
2195 * cgraphunit.c (cgraph_dump_file): Declare as static.
2197 * toplev.c (cgraph_dump_file): Do not declare.
2198 (compile_file): Call init_cgraph.
2199 * tree-dump.c (dump_files): Add IPA dump file, remove
2200 XML dump of call graph.
2201 (get_dump_file_name): Support IPA dump file naming scheme.
2202 * tree.h (enum tree_dump_index): Add IPA dump file, remove
2203 XML dump of call graph.
2204 * doc/invoke.texi (Debugging Options): Document the new options.
2206 2004-09-10 Richard Sandiford <rsandifo@redhat.com>
2208 * doc/extend.texi: Document the FR-V built-in functions.
2210 2004-09-09 James E Wilson <wilson@specifixinc.com>
2212 * doc/sourcebuild.texi: Delete libbanshee reference.
2214 2004-09-10 Kelley Cook <kcook@gcc.gnu.org>
2216 * Makefile.in (s-gtype): Add $(build_exeext) to gengtype command.
2218 2004-09-09 James E Wilson <wilson@specifixinc.com>
2220 * c-typeck.c (convert_for_assignment): Check that rhs has VECTOR_TYPE
2221 before calling vector_types_convertible_p.
2222 (digest_init): Check that inside_init has VECTOR_TYPE before calling
2223 vector_types_convertible_p. Don't give another error if
2224 convert_for_assignment returns error_mark_node.
2226 2004-09-09 Roger Sayle <roger@eyesopen.com>
2229 * fold-const.c (build_zero_vector): New function to construct a
2230 vector (either floating point or integer) of zeros.
2231 (fold_convert): Internally, enable conversions of integer zero
2232 to arbitrary vector types, using the new build_zero_vector.
2234 2004-09-09 Roger Sayle <roger@eyesopen.com>
2236 * config/i386/i386.c (ix86_expand_ashlsi3_const): New function to
2237 expand a left shift by an immediate constant as either an ashl or
2238 a sequence of additions.
2239 (ix86_split_ashldi): Use new ix86_expand_ashlsi3_const function
2240 instead of calling gen_ashlsi3 with a constant directly.
2242 2004-09-09 Roger Sayle <roger@eyesopen.com>
2244 * config/i386/i386.c (ix86_split_long_move): When optimizing for
2245 size, and the low and high parts of a DImode constant are equal,
2246 copy one register to another instead of loading the same immediate
2249 2004-09-09 Richard Henderson <rth@redhat.com>
2252 * function.c (assign_parm_setup_block): Only put PARALLELs into
2253 a register if use_register_for_decl.
2255 2004-09-09 Eric Christopher <echristo@redhat.com>
2257 * ra-colorize.c (reset_lists): Move variable declaration inside
2258 ENABLE_CHECKING to avoid unused variable warnings when
2259 not --enable-checking.
2260 (check_colors): Ditto.
2262 2004-09-09 Mike Stump <mrs@apple.com>
2264 * version.c (version_string): Bump to 4.0.0.
2265 * doc/include/gcc-common.texi (version-GCC): Likewise.
2267 2004-09-10 Jakub Jelinek <jakub@redhat.com>
2269 * doc/extend.texi (nothrow attribute): The attribute is not
2270 implemented in 3.2 and earlier.
2272 2004-09-09 Steve Ellcey <sje@cup.hp.com>
2274 * genrecog.c (compute_predicate_codes): Use op0_codes
2277 2004-09-09 Ulrich Weigand <uweigand@de.ibm.com>
2279 * ra-colorize.c (hardregset_to_string): Adapt to HARD_REG_SET
2280 implementation changes.
2282 2004-09-09 Ulrich Weigand <uweigand@de.ibm.com>
2284 * combine.c (try_combine): When swapping i2 and i3, newi2pat may be
2285 a PARALLEL instead of a SET due to added clobbers.
2287 2004-09-09 Ulrich Weigand <uweigand@de.ibm.com>
2289 * reload.c (find_reloads_address): Pass correct operand to
2290 maybe_memory_address_p.
2292 2004-09-09 Daniel Berlin <dberlin@dberlin.org>
2294 * Makefile.in: Remove libbanshee, tree-alias-*.
2295 Remove tree-alias-common.h dependencies.
2296 * common.opt: Remove -ftree-points-to.
2297 * configure.ac: Remove libbanshee.
2298 * flags.h: Remove pta_type, flag_tree_points_to.
2299 * gengtype.c (open_base_files): Remove tree-alias-type.h.
2300 * opts.c (OPT_ftree_points_to): Remove.
2301 * toplev.c: Remove tree-alias-common.h, flag_tree_points_to.
2302 * tree-dfa.c: Remove tree-alias-common.h
2303 * tree-into-ssa.c: Ditto.
2304 * tree-outof-ssa.c: Ditto.
2305 * tree-ssa-copyrename.c: Ditto.
2306 * tree-ssa-live.c: Ditto.
2307 * tree-optimize.c: Ditto.
2308 * tree-ssa.c: Ditto.
2309 Remove pass_build_pta, pass_del_pta.
2310 * tree-pass.h: Ditto.
2311 * tree-ssa-alias.c: Remove tree-alias-common.h.
2312 (struct alias_stats_d): Remove pta_queries, pta_resolved.
2313 (pass_may_alias): Remove PROP_pta requirement.
2314 (may_alias_p): Remove pta_queries, pta_resolved, use of andersens.
2315 (get_tmt_for): Ditto.
2316 (dump_alias_stats): Ditto.
2317 * doc/passes.texi: Remove blurb about points-to analysis.
2318 * fortran/Make-lang.in: Remove tree-alias-*.o.
2320 2004-09-09 Richard Sandiford <rsandifo@redhat.com>
2322 * genattrtab.c (write_insn_cases): New function, split out from
2323 write_attr_case. Correctly handle define_peepholes when printing
2324 the instruction name.
2325 (write_attr_case, write_const_num_delay_slots): Use write_insn_cases.
2327 2004-09-09 Hans-Peter Nilsson <hp@axis.com>
2330 * config/cris/cris-protos.h (cris_return_address_on_stack): Declare.
2331 * config/cris/cris.c (cris_return_address_on_stack): New function.
2332 * config/cris/cris.md ("return"): For location of return address,
2333 also check cris_return_address_on_stack.
2335 2004-09-09 Diego Novillo <dnovillo@redhat.com>
2337 * tree-outof-ssa.c (coalesce_abnormal_edges): Fix typo in
2338 calling phi_ssa_name_p.
2340 2004-09-09 Richard Henderson <rth@redhat.com>
2343 * c-typeck.c (valid_compound_expr_initializer): Use only
2344 initializer_constant_valid_p, and not TREE_CONSTANT.
2345 (digest_init): Likewise.
2346 (output_init_element): Likewise.
2348 2004-09-09 Giovanni Bajo <giovannibajo@gcc.gnu.org>
2350 * ra-build.c (copy_insn_p, remember_move, defuse_overlap_p_1,
2351 live_out_1, prune_hardregs_for_mode, init_one_web_common,
2352 reinit_one_web, add_subweb, add_subweb_2, init_web_parts,
2353 record_conflict, compare_and_free_webs, init_webs_defs_uses,
2354 parts_to_webs_1, parts_to_webs, reset_conflicts,
2355 check_conflict_numbers, remember_web_was_spilled, handle_asm_insn,
2356 ra_build_free): Use gcc_assert and gcc_unreachable instead of abort.
2357 * ra-colorize.c (push_list, put_web, reset_lists, put_web_at_end,
2358 put_move, remove_move, combine, select_spill, colorize_one_web,
2359 try_recolor_web, insert_coalesced_conflicts, check_colors,
2360 break_precolored_alias, restore_conflicts_from_coalesce,
2361 sort_and_combine_web_pairs, check_uncoalesced_moves): Likewise.
2362 * ra-rewrite.c (spill_coalescing, slots_overlap_p, emit_loads,
2363 reloads_to_loads, rewrite_program2, emit_colors): Likewise.
2364 * ra.c (first_hard_reg, create_insn_info, find_subweb, init_ra,
2365 check_df): Likewise.
2366 * real.c (do_add, do_multiply, do_divide, do_compare, do_fix_trunc,
2367 real_arithmetic, real_compare, real_exponent, real_ldexp,
2368 real_identical, real_to_integer, real_to_integer2, real_to_decimal,
2369 real_to_hexadecimal, real_from_integer, ten_to_ptwo, ten_to_mptwo,
2370 real_digit, real_nan, real_maxval, round_for_format, real_convert,
2371 real_to_target, real_from_target, real_hash, encode_ieee_single,
2372 encode_ieee_double, encode_ieee_extended, encode_ieee_quad,
2373 encode_vax_f, encode_vax_d, encode_vax_g, encode_i370_single,
2374 encode_i370_double, encode_c4x_single, encode_c4x_extended): Likewise.
2375 * recog.c (validate_change, validate_replace_rtx_1, asm_operand_ok,
2376 extract_insn, peep2_next_insn, peep2_reg_dead_p,
2377 peep2_find_free_register, peephole2_optimize, store_data_bypass_p,
2378 if_test_bypass_p): Likewise.
2379 * reg-stack.c (record_label_references, get_asm_operand_n_inputs,
2380 stack_result, remove_regno_note, get_hard_regnum, emit_pop_insn,
2381 emit_swap_insn, swap_to_top, move_for_stack_reg,
2382 subst_stack_regs_pat, subst_asm_stack_regs, change_stack,
2383 compensate_edge, convert_regs_1): Likewise.
2384 * regclass.c (init_reg_sets, init_reg_sets_1,
2385 memory_move_secondary_cost): Likewise.
2386 * regrename.c (note_sets, clear_dead_regs, scan_rtx_reg, scan_rtx):
2388 * reload.c (push_secondary_reload, find_valid_class, push_reload,
2389 operands_match_p, decompose, immune_p, find_reloads,
2390 find_reloads_toplev, find_reloads_address_1, subst_reloads,
2391 copy_replacements, refers_to_regno_for_reload_p,
2392 reg_overlap_mentioned_for_reload_p): Likewise.
2393 * reload1.c (compute_use_by_pseudos, replace_pseudos_in, reload,
2394 count_pseudo, find_reg, eliminate_regs, eliminate_regs_in_insn,
2395 verify_initial_elim_offsets, finish_spills, clear_reload_reg_in_use,
2396 reload_reg_free_p, reload_reg_reaches_end_p, reloads_conflict,
2397 choose_reload_regs, merge_assigned_reloads, emit_input_reload_insns,
2398 do_output_reload, fixup_abnormal_edges): Likewise.
2399 * reorg.c (stop_search_p, emit_delay_sequence, get_jump_flags,
2400 fill_slots_from_thread, relax_delay_slots): Likewise.
2401 * resource.c (mark_referenced_resources, mark_set_resources):
2403 * rtl.c (copy_rtx, rtx_equal_p): Likewise.
2404 * rtlanal.c (insn_dependent_p, reg_overlap_mentioned_p,
2405 dead_or_set_p, find_reg_fusage, remove_note, replace_rtx,
2406 subreg_lsb_1, subreg_regno_offset, subreg_offset_representable_p,
2407 find_first_parameter_load, can_hoist_insn_p, hoist_update_store,
2408 hoist_insn_after, hoist_insn_to_edge, nonzero_bits1): Likewise.
2409 * rtlhooks.c (gen_lowpart_general): Likewise.
2410 * sbitmap.c (sbitmap_difference): Likewise.
2411 * sched-deps.c (add_dependence, sched_analyze_1, sched_analyze_2,
2412 sched_analyze, add_forward_dependence): Likewise.
2413 * sched-ebb.c (fix_basic_block_boundaries, schedule_ebb): Likewise.
2414 * sched-rgn.c (debug_regions, compute_trg_info, schedule_region,
2415 schedule_insns): Likewise.
2416 * sched-vis.c (print_pattern): Likewise.
2417 * sdbout.c (sdbout_symbol, sdbout_toplevel_data): Likewise.
2418 * simplify-rtx.c (simplify_unary_operation, simplify_binary_operation,
2419 simplify_const_relational_operation, simplify_ternary_operation,
2420 simplify_immed_subreg, simplify_subreg, simplify_gen_subreg):
2422 * sreal.c (copy, sreal_sub, sreal_div): Likewise.
2423 * stmt.c (force_label_rtx, expand_goto, expand_asm_operands,
2424 resolve_operand_name_1, expand_return, expand_decl,
2425 expand_anon_union_decl, emit_case_bit_tests, expand_case): Likewise.
2426 * stor-layout.c (put_pending_size, smallest_mode_for_size,
2427 int_mode_for_mode, layout_decl, finish_builtin_struct, layout_type,
2428 set_sizetype, get_mode_bounds): Likewise.
2430 2004-09-09 Zack Weinberg <zack@codesourcery.com>
2432 * defaults.h (MULTIPLE_SYMBOL_SPACES): Provide default.
2433 * config/arm/pecoff.h, config/i386/beos-elf.h
2434 * config/i386/cygming.h, config/i386/i386-interix.h:
2435 Define MULTIPLE_SYMBOL_SPACES to 1, not nothing. Remove
2436 comment cloned from manual.
2437 * doc/tm.texi: Update description of MULTIPLE_SYMBOL_SPACES.
2439 2004-09-09 Frank Ch. Eigler <fche@redhat.com>
2441 * builtins.c (build_va_arg_indirect_ref): New function.
2442 (std_gimplify_va_arg_expr): Call it instead of mudflap check and
2443 build_fold_indirect_ref.
2444 * config/i386/i386.c (ix86_gimplify_va_arg): Ditto.
2445 * config/ia64/ia64.c (ia64_gimplify_va_arg): Ditto.
2446 * tree.h: Declare new function.
2448 2004-09-09 Nathan Sidwell <nathan@codesourcery.com>
2450 * cgraphunit.c (cgraph_mark_functions_to_output): Renable node
2451 dumping for development builds.
2452 * emit-rtl.c (verify_rtx_sharing): Give verbose failure for
2453 development builds only.
2454 * genattrtab.c (write_eligible_delay): Fix typo in previous
2456 * tree.c (iterative_hash_expr): Replace gcc_unreachable with
2459 2004-09-09 Nathan Sidwell <nathan@codesourcery.com>
2461 * gcse.c (INSN_CUID, insert_set_in_table, find_avail_set,
2462 cprop_insn, do_local_cprop, local_cprop_pass, find_bypass_set,
2463 process_insert_insn, insert_insn_end_bb, pre_insert_copy_insn,
2464 hoist_code, extract_mentioned_regs_helper, compute_store_table,
2465 insert_store): Use gcc_assert and gcc_unreachable.
2466 * ggc-common.c (ggc_splay_alloc, ggc_splay_dont_free,
2467 gt_pch_note_object, gt_pch_note_reorder, relocate_ptrs,
2468 ggc_record_overhead): Likewise.
2469 * ggc-page.c (alloc_page, free_page, ggc_set_mark, ggc_marked_p,
2470 init_ggc, ggc_push_context, ggc_recalculate_in_use_p,
2471 ggc_pop_context, clear_marks, validate_free_objects,
2472 ggc_pch_read): Likewise.
2473 * ggc-zone.c (ggc_allocated_p, free_chunk, ggc_set_mark,
2474 ggc_marked_p, ggc_get_size, init_ggc, destroy_ggc_zone,
2475 ggc_push_context, check_cookies, ggc_collect,
2476 ggc_print_statistics): Likewise.
2477 * gimple-low.c (lower_function_body, lower_stmt,
2478 lower_bind_expr): Likewise.
2479 * gimplify.c (gimple_tree_eq, push_gimplify_context,
2480 pop_gimplify_context, gimple_pop_condition, create_tmp_var,
2481 declare_tmp_vars, gimple_add_tmp_var, annotate_all_with_locus,
2482 mostly_copy_tree_r, gimplify_return_expr, gimplify_switch_expr,
2483 gimplify_case_label_expr, gimplify_exit_block_expr,
2484 canonicalize_component_ref, gimplify_compound_lval,
2485 gimplify_self_mod_expr, gimplify_call_expr,
2486 gimplify_init_ctor_eval, gimplify_init_constructor,
2487 gimplify_modify_expr, gimplify_save_expr, gimplify_target_expr,
2488 gimplify_expr, check_pointer_types_r,
2489 force_gimple_operand): Likewise.
2490 * global.c (global_alloc, build_insn_chain): Likewise.
2491 * graph.c (clean_graph_dump_file,
2492 finish_graph_dump_file): Likewise.
2493 gcov-io.c (gcov_open): Use GCOV_CHECK.
2495 2004-09-09 Richard Sandiford <rsandifo@redhat.com>
2497 * config/frv/frv.c (acc_operand, accg_operand): Use REGNO.
2499 2004-09-09 Jan Hubicka <jh@suse.cz>
2502 * tree-inline.c (expand_call_inline): Make overactive sanity check
2505 2004-09-09 Jan Hubicka <jh@suse.cz>
2507 * tree-ssa-loop-ivopts.c (peel_address): Fix abort on
2510 2004-09-09 Nathan Sidwell <nathan@codesourcery.com>
2512 * Makefile.in (gengtype): Use $(BUILD_ERRORS).
2513 (gengtype.o): Depend on errors.h.
2514 * genattrtab.c (strcmp_check): Use gcc_assert and gcc_unreachable.
2515 (attr_rtx_1, attr_printf, attr_copy_rtx, evaluate_eq_attr,
2516 attr_alt_subset_p, attr_alt_subset_of_compl_p,
2517 attr_alt_intersection, attr_alt_union, optimize_attrs, gen_insn,
2518 write_test_expr, write_attr_value, write_eligible_delay,
2519 make_internal_attr, make_numeric_value): Likewise.
2520 * genautomata.c (regexp_name, get_str_vect,
2521 gen_presence_absence_set, automaton_decl_hash,
2522 automaton_decl_eq_p, insn_decl_hash, insn_decl_eq_p, decl_hash,
2523 decl_eq_p, process_regexp, loop_in_regexp, check_loops_in_regexps,
2524 process_regexp_cycles, reserv_sets_cmp, set_unit_reserv,
2525 test_unit_reserv, it_is_empty_reserv_sets,
2526 reserv_sets_are_intersected, reserv_sets_shift, reserv_sets_or,
2527 reserv_sets_and, output_cycle_reservs, get_free_state,
2528 intersected_state_reservs_p, states_union, remove_arc,
2529 copy_insn_regexp, transform_1, transform_2, transform_3,
2530 regexp_transform_func, store_alt_unit_usage,
2531 check_regexp_units_distribution, process_seq_for_forming_states,
2532 process_alts_for_forming_states, make_automaton,
2533 form_arcs_marked_by_insn, create_composed_state,
2534 set_out_arc_insns_equiv_num, partition_equiv_class,
2535 process_insn_equiv_class, set_insn_equiv_classes,
2536 units_to_automata_heuristic_distr, form_regexp,
2537 longest_path_length, output_dfa_max_issue_rate, add_vect,
2538 out_state_arcs_num, add_vect_el, output_trans_table,
2539 output_state_alts_table, output_dead_lock_vect,
2540 output_max_insn_queue_index_def,
2541 output_min_insn_conflict_delay_func,
2542 output_internal_insn_latency_func, output_print_reservation_func,
2543 output_cpu_unit_reservation_p, output_state_arcs,
2544 make_insn_alts_attr, make_internal_dfa_insn_code_attr,
2545 make_default_insn_latency_attr,
2546 form_important_insn_automata_lists): Likewise.
2547 * genemit.c (gen_exp, output_add_clobbers,
2548 output_added_clobbers_hard_reg_p): Likewise.
2549 * genextract.c (print_path, main): Likewise.
2550 * genflags.c (gen_macro): Likewise.
2551 * gengenrtl.c: Include errors.h
2552 (type_from_format, accessor_from_format): Likewise.
2553 * gengtype.c (get_file_basename, output_mangled_typename,
2554 walk_type, write_types_process_field,
2555 write_types_local_process_field): Likewise.
2556 * genmodes.c (complete_mode): Likewise.
2557 * genopinit.c (gen_insn): Likewise.
2558 * genoutput.c (output_insn_data, check_constraint_len,
2559 constraint_len): Likewise.
2560 * genpreds.c (add_mode_tests):Likewise.
2561 * gen-protos.c (add_hash): Likewise.
2562 * genrecog.c (find_operand, find_matching_operand,
2563 validate_pattern, add_to_sequence, maybe_both_true,
2564 nodes_identical_1, merge_trees, write_switch, write_cond,
2565 write_action, is_unconditional, make_insn_sequence,
2566 debug_decision_2): Likewise.
2567 * gensupport.c (is_predicable, collect_insn_data,
2568 alter_predicate_for_insn, maybe_eval_c_test): Likewise.
2570 2004-09-09 Jan Hubicka <jh@suse.cz>
2572 * basic-block.h (guess_outgoing_edge_probabilities): Declare.
2573 * cfgbuild.c (compute_outgoing_frequencies): When probability is
2575 (find_many_sub_basic_blocks): Do update profile only when it is
2577 * predict.c (set_even_probabilities): Break out from ...
2578 (combine_predictions_for_insn): ... here; deal with
2579 !can_predict_insn_p insns.
2580 (combine_predictions_for_bb): Use set_even_probabilities.
2581 (bb_estimate_probability_locally): Break out from ....
2582 (estimate_probability): ... here.
2583 (guess_outgoing_edge_probabilities): New entry point.
2585 2004-09-09 Nathan Sidwell <nathan@codesourcery.com>
2587 * gcc.c (add_sysrooted_prefix, execute, do_self_spec, do_spec_1,
2588 handle_braces, process_brace_body, main, used_arg,
2589 set_multilib_dir, print_multilib_info): Use fatal, not abort.
2591 * tree-nested.c (create_tmp_var_for): Correct missinverted assert.
2593 * tree-outof-ssa.c (free_temp_expr_table): Add missed assert.
2594 * tree-ssa-ccp.c (set_lattice_value): Correct missapplied de
2595 Morgan's theorem in last checkin.
2597 2004-09-09 Giovanni Bajo <giovannibajo@gcc.gnu.org>
2598 Nathan Sidwell <nathan@codesourcery.com>
2600 * targhooks.c (default_unwind_emit, default_scalar_mode_supported_p):
2601 Use gcc_assert, gcc_unreachable & internal_error instead of abort.
2602 * timevar.c (timevar_push, timevar_pop, timevar_start,
2603 timevar_stop): Likewise.
2604 * toplev.c (default_pch_valid_p): Likewise.
2605 * tracer.c (tail_duplicate): Likewise.
2606 * tree-alias-common.c (get_alias_var_decl,
2607 get_values_from_constructor, create_alias_var, delete_alias_vars,
2608 empty_points_to_set, same_points_to_set, ptr_may_alias_var):
2610 * tree.c (tree_size, make_node_stat, copy_node_stat,
2611 build_int_cst_wide, integer_all_onesp, list_length, chainon,
2612 tree_node_structure, type_contains_placeholder_p, substitute_in_expr,
2613 substitute_placeholder_in_expr, tabilize_reference_1, build0_stat,
2614 build1_stat, build2_stat, build3_stat, build4_stat, is_attribute_p,
2615 lookup_attribute, type_hash_canon, host_integerp, iterative_hash_expr,
2616 build_method_type_directly, decl_type_context, get_callee_fndecl,
2617 get_set_constructor_bits, build_vector_type_for_mode, int_cst_value,
2618 tree_fold_gcd): Likewise.
2619 * tree-cfg.c (create_bb, make_ctrl_stmt_edges, make_exit_edges,
2620 make_cond_expr_edges, group_case_labels, tree_merge_blocks,
2621 cleanup_control_expr_graph, find_taken_edge,
2622 find_taken_edge_switch_expr, phi_alternatives_equal,
2623 is_ctrl_altering_stmt, disband_implicit_edges, set_bb_for_stmt,
2624 stmt_for_bsi, tree_find_edge_insert_loc, bsi_insert_on_edge_immediate,
2625 tree_split_edge, tree_verify_flow_info, thread_jumps,
2626 tree_redirect_edge_and_branch, tree_flow_call_edges_add): Likewise.
2627 * tree-chrec.c (chrec_fold_poly_cst, chrec_fold_plus_poly_poly,
2628 chrec_fold_multiply_poly_poly): Likewise.
2629 * tree-complex.c (extract_component, expand_complex_division,
2630 expand_complex_comparison, expand_complex_operations_1,
2631 build_replicated_const, expand_vector_operations_1): Likewise.
2632 * tree-data-ref.c (tree_fold_bezout, build_classic_dist_vector,
2633 build_classic_dir_vector): Likewise.
2634 * tree-dfa.c (compute_immediate_uses_for_phi,
2635 compute_immediate_uses_for_stmt, create_var_ann, create_stmt_ann,
2636 create_tree_ann, collect_dfa_stats, get_virtual_var): Likewise.
2637 * tree-dump.c (dequeue_and_dump): Likewise.
2638 * tree-eh.c (record_stmt_eh_region, add_stmt_to_eh_region,
2639 record_in_finally_tree, replace_goto_queue_1,
2640 maybe_record_in_goto_queue, verify_norecord_switch_expr,
2641 do_return_redirection): Likewise.
2642 * tree-if-conv.c (tree_if_convert_stmt, tree_if_convert_cond_expr,
2643 add_to_dst_predicate_list, find_phi_replacement_condition,
2644 replace_phi_with_cond_modify_expr, get_loop_body_in_if_conv_order):
2646 * tree-inline.c (remap_decl, remap_type, remap_decls, copy_body_r,
2647 initialize_inlined_parameters, declare_return_variable,
2648 estimate_num_insns_1, expand_call_inline, expand_calls_inline,
2649 optimize_inline_calls, copy_tree_r): Likewise.
2650 * tree-into-ssa.c (rewrite_initialize_block_local_data, rewrite_stmt,
2651 ssa_rewrite_stmt, rewrite_into_ssa): Likewise.
2652 * tree-iterator.c (alloc_stmt_list, tsi_link_before, tsi_link_after,
2653 tsi_split_statement_list_after, tsi_split_statement_list_before):
2655 * tree-mudflap.c (mf_varname_tree): Likewise.
2656 * tree-nested.c (create_tmp_var_for, lookup_field_for_decl,
2657 lookup_tramp_for_decl, convert_all_function_calls): Likewise.
2658 * tree-optimize.c (tree_rest_of_compilation): Likewise.
2659 * tree-outof-ssa.c (create_temp, eliminate_build, eliminate_phi,
2660 coalesce_abnormal_edges, coalesce_ssa_name, eliminate_virtual_phis,
2661 free_temp_expr_table, add_dependance, finish_expr, rewrite_trees):
2663 * tree-phinodes.c (resize_phi_node, add_phi_arg,
2664 remove_all_phi_nodes_for): Likewise.
2665 * tree-pretty-print.c (op_prio, print_call_name): Likewise.
2666 * tree-profile.c (tree_gen_interval_profiler, tree_gen_pow2_profiler,
2667 tree_gen_one_value_profiler, tree_gen_const_delta_profiler): Likewise.
2668 * tree-sra.c (type_can_instantiate_all_elements, sra_hash_tree,
2669 sra_elt_eq, sra_walk_expr, instantiate_missing_elements,
2670 generate_one_element_ref, generate_element_copy,
2671 generate_element_zero, scalarize_copy, scalarize_init,
2672 scalarize_ldst): Likewise.
2673 * tree-ssa-alias.c (delete_alias_info, group_aliases, may_alias_p,
2674 add_may_alias, add_pointed_to_expr, add_pointed_to_var,
2675 collect_points_to_info_r, get_tmt_for, get_ptr_info): Likewise.
2676 * tree-ssa.c (walk_use_def_chains, check_phi_redundancy): Likewise.
2677 * tree-ssa-ccp.c (dump_lattice_value, get_default_value, get_value,
2678 set_lattice_value, likely_value, ccp_visit_phi_node, visit_assignment,
2679 widen_bitfield, ccp_fold_builtin): Likewise.
2680 * tree-ssa-copy.c (may_propagate_copy, merge_alias_info,
2681 replace_exp_1, propagate_tree_value): Likewise.
2682 * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Likewise.
2683 * tree-ssa-dce.c (set_control_dependence_map_bit,
2684 find_control_dependence, find_pdom, mark_operand_necessary,
2685 mark_stmt_if_obviously_necessary,
2686 mark_control_dependent_edges_necessary, remove_dead_stmt): Likewise.
2687 * tree-ssa-dom.c (dom_opt_initialize_block_local_data,
2688 simplify_switch_and_lookup_avail_expr, cprop_into_successor_phis,
2689 eliminate_redundant_computations, avail_expr_eq): Likewise.
2690 * tree-ssa-dse.c (fix_stmt_v_may_defs): Likewise.
2691 * tree-ssa-loop-ch.c (should_duplicate_loop_header_p,
2692 duplicate_blocks): Likewise.
2693 * tree-ssa-loop-im.c (for_each_index, set_level,
2694 is_call_clobbered_ref): Likewise.
2695 * tree-ssa-loop-ivopts.c (dump_use, divide, stmt_after_ip_normal_pos,
2696 stmt_after_increment, set_iv, contains_abnormal_ssa_name_p,
2697 find_interesting_uses_outer_or_nonlin, add_derived_ivs_candidates,
2698 peel_address, ptr_difference_cost, may_replace_final_value,
2699 determine_use_iv_cost, rewrite_use_nonlinear_expr, rewrite_use_outer,
2700 rewrite_use, rewrite_uses): Likewise.
2701 * tree-ssa-loop-manip.c (rewrite_into_loop_closed_ssa,
2702 check_loop_closed_ssa_use): Likewise.
2703 * tree-ssanames.c (make_ssa_name): Likewise.
2704 * tree-ssa-operands.c (finalize_ssa_defs, finalize_ssa_uses,
2705 finalize_ssa_v_must_defs, finalize_ssa_stmt_operands,
2706 get_stmt_operands, get_expr_operands, get_asm_expr_operands,
2707 get_indirect_ref_operands, add_stmt_operand): Likewise.
2708 * tree-ssa-pre.c (value_exists_in_set_bitmap,
2709 value_remove_from_set_bitmap, bitmap_insert_into_set, insert_into_set,
2710 phi_translate, valid_in_set, compute_antic,
2711 find_or_generate_expression, create_expression_by_pieces, insert_aux,
2712 create_value_expr_from, eliminate): Likewise.
2713 * tree-ssa-propagate.c (cfg_blocks_get): Likewise.
2714 * tree-ssa-threadupdate.c (remove_last_stmt_and_useless_edges):
2716 * tree-tailcall.c (independent_of_stmt_p, adjust_return_value,
2717 eliminate_tail_call): Likewise.
2718 * tree-vectorizer.c (vect_create_index_for_array_ref,
2719 vect_align_data_ref, vect_create_data_ref,
2720 vect_create_destination_var, vect_get_vec_def_for_operand,
2721 vect_finish_stmt_generation, vect_transform_stmt,
2722 vect_transform_loop_bound, vect_transform_loop,
2723 vect_analyze_operations): Likewise.
2724 * tree-vn.c (vn_compute, set_value_handle, get_value_handle):
2726 * tree-flow-inline.h (var_ann, get_var_ann, get_def_from_ptr,
2727 get_use_op_ptr, immediate_use, phi_ssa_name_p, bsi_start,
2728 bsi_after_labels, bsi_last): Likewise.
2729 * tree-ssa-live.c (var_union, change_partition_var,
2730 create_ssa_var_map, calculate_live_on_entry, root_var_init,
2731 type_var_init, add_coalesce, sort_coalesce_list, pop_best_coalesce):
2733 * tree-ssa-live.h (partition_is_global, live_entry_blocks,
2734 tpa_find_tree): Likewise.
2735 (register_ssa_partition_check): Declare.
2736 (register_ssa_partition): use it.
2737 * tree-ssa-live.c: Include errors.h.
2738 (register_ssa_partition_check): New.
2739 * tree-ssa-operands.c: Include errors.h.
2740 * Makefile.in (tree-ssa-operands.o): Depend on errors.h.
2742 2004-09-09 Richard Sandiford <rsandifo@redhat.com>
2743 Catherine Moore <clm@redhat.com>
2745 * config/frv/frv-protos.h (FRV_CPU_FR550, FRV_CPU_FR450)
2746 (FRV_CPU_FR405): New processor enums.
2747 (frv_issue_rate, frv_acc_group): Declare.
2748 * config/frv/frv.h (CPP_SPEC, CPP_FRV_SPEC, CPP_FR500_SPEC): Delete.
2749 (CPP_FR400_SPEC, CPP_SIMPLE_SPEC): Delete.
2750 (MASK_DEFAULT_FR550, MASK_DEFAULT_FR450): New macros.
2751 (SUBTARGET_EXTRA_SPECS, EXTRA_SPECS, CPP_CPU_DEFAULT_SPEC): Delete.
2752 (TARGET_CPU_CPP_BUILTINS): Define the macros that were previously
2753 handled by CPP_SPEC.
2754 (MASK_LONG_CALLS, TARGET_LONG_CALLS): New macros.
2755 (MASK_ALIGN_LABELS, TARGET_ALIGN_LABELS): New macros.
2756 (ACC_MASK): New macro.
2757 (TARGET_MEDIA_REV2): Include FRV_CPU_{FR405,FR450,FR550}.
2758 (TARGET_MEDIA_FR450): New macro.
2759 (TARGET_FR500_FR550_BUILTINS, TARGET_FR405_BUILTINS): New macros.
2760 (TARGET_SWITCHES): Add -m{no-,}align-labels and -m{no-,}long-calls.
2761 (LABEL_ALIGN_AFTER_BARRIER): Define.
2762 (ACC_LAST, ACCG_LAST): Add four new accumulator registers.
2763 (IACC_FIRST, IACC_LAST): New pair of SPRs.
2764 (ACCG_FIRST, AP_FIRST, SPR_FIRST, SPR_LAST): Adjust accordingly.
2765 (FIXED_REGISTERS, CALL_USED_REGISTERS, REG_ALLOC_ORDER)
2766 (REGISTER_NAMES): Add entries for new registers.
2767 (REG_CLASS_CONTENTS): Update for new register ranges.
2768 (EXTRA_CONSTRAINT_FOR_S): Redefine in terms of call_operand.
2769 (ISSUE_RATE, CLEAR_VLIW_START, SET_VLIW_START): Delete.
2770 (PACKING_FLAG_USED_P): Delete.
2771 (FRV_BUILTIN_MQLCLRHS, FRV_BUILTIN_MQLMTHS, FRV_BUILTIN_MQSLLHI)
2772 (FRV_BUILTIN_MQSRAHI, FRV_BUILTIN_SMUL, FRV_BUILTIN_UMUL)
2773 (FRV_BUILTIN_PREFETCH0, FRV_BUILTIN_PREFETCH, FRV_BUILTIN_SMASS)
2774 (FRV_BUILTIN_SMSSS, FRV_BUILTIN_SMU, FRV_BUILTIN_SCUTSS)
2775 (FRV_BUILTIN_ADDSS, FRV_BUILTIN_SUBSS, FRV_BUILTIN_SLASS)
2776 (FRV_BUILTIN_IACCread{l,ll}, FRV_BUILTIN_IACCset{ll,l})
2777 (FRV_BUILTIN_SCAN): New members of frv_builtin_enum.
2778 (FRV_BUILTIN_FIRST_NONMEDIA): New macro.
2779 (CPU_UNITS_QUERY): Define to 1.
2780 * config/frv/frv.c: Include gt-frv.h
2781 (NUM_NOP_PATTERNS, NTH_UNIT, UNIT_NUMBER, PACKING_FLAG_P): New macros.
2782 (SET_PACKING_FLAG, CLEAR_PACKING_FLAG, FOR_EACH_REGNO): New macros.
2783 (frv_insn_group): New enumeration.
2784 (frv_unit_names, frv_unit_groups, frv_unit_codes): New variables.
2785 (frv_type_to_unit, frv_nops, frv_num_nops): New variables.
2786 (REGSTATE_DEAD, REGSTATE_LIVE, REGSTATE_UNUSED, REGSTATE_MASK)
2787 (REGSTATE_CONDJUMP): Delete. Shuffle other numbers to cover the
2788 gap left by REGSTATE_LIVE.
2789 (regstate_t): New typedef.
2790 (TARGET_MACHINE_DEPENDENT_REORG): Define.
2791 (frv_default_flags_for_cpu): Handle FRV_CPU_{FR550,FR450,FR405}.
2792 (frv_override_options): Check for -mcpu={fr550,fr450,fr405}.
2793 Initialize frv_unit_codes[] and frv_type_to_unit[].
2794 (frv_conditional_register_usage): Remove redundant fixing of
2795 accumulator registers.
2796 (frv_insn_packing_flag): Update specification.
2797 (frv_function_prologue): Don't set frv_insn_packing_flag here.
2798 Zero out frv_nops[].
2799 (frv_expand_epilogue): Remove comments about the no-longer-present
2801 (frv_asm_output_mi_thunk): Check frv_issue_rate() rather than
2802 PACKING_FLAG_USED_P() when deciding whether to pack instructions.
2803 (frv_asm_output_opcode, frv_final_prescan_insn): Simplify in light
2804 of the new meaning of frv_insn_packing_flag. Emit an mnop.p if
2805 packing is disabled and if INSN can only issue to M1.
2806 (call_operand): Check TARGET_LONG_CALLS.
2807 (acc_operand, even_acc_operand, quad_acc_operand)
2808 (accg_operand): Simplify. Don't accept pseudo registers.
2809 (output_move_single): Handle SPR<-zero moves.
2810 (frv_issue_rate): Make non-static. Handle FRV_CPU_{FR550,FR450,FR405}.
2811 (frv_registers_update, frv_registers_used_p): Delete.
2812 (frv_registers_set_p): Delete.
2813 (frv_acc_group_1, frv_acc_group, frv_insn_unit): New functions.
2814 (frv_issues_to_branch_unit_p): New function.
2815 (frv_packet): New structure.
2816 (frv_cond_flags, frv_regstate_conflict_p): New functions.
2817 (frv_registers_conflict_p_1, frv_registers_conflict_p): New functions.
2818 (frv_registers_update_1, frv_registers_update): New functions.
2819 (frv_start_packet, frv_start_packet_block, frv_finish_packet)
2820 (frv_pack_insn_p, frv_add_insn_to_packet, frv_insert_nop_in_packet)
2821 (frv_for_each_packet, frv_sort_insn_group_1, frv_compare_insns)
2822 (frv_sort_insn_group, frv_reorder_packet): New functions.
2823 (frv_pack_insns): Use frv_reorder_packet.
2824 (frv_packet_address): New variable.
2825 (frv_fill_unused_units, frv_align_label, frv_reorg_packet)
2826 (frv_register_nop, frv_reorg): New functions.
2827 (bdesc_1arg): Add __SCUTSS.
2828 (bdesc_2arg): Add __MQLCLRHS, __MQLMTHS, __SMUL, __UMUL, __ADDSS,
2829 __SUBSS, __SLASS and __SCAN.
2830 (bdesc_2argimm): Add __MQSLLHI and __MQSRAHI.
2831 (bdesc_int_void2arg, bdesc_prefetches): New arrays.
2832 (frv_init_builtins): Register the above builtins.
2833 (frv_int_to_acc): Use ACC_MASK to check for valid accumulator
2834 registers. Turn the referenced accumulators into global registers.
2835 (frv_read_iacc_argument): New function.
2836 (frv_expand_int_void2arg, frv_expand_prefetches): New functions.
2837 (frv_split_iacc_move): New function.
2838 (frv_expand_builtin): Handle the new builtins.
2839 * config/frv/frv.md: Replace old schedulers with new order-independent
2840 ones. Add schedulers for the FR405, FR450 and FR550. Describe new
2842 (cpu): Add fr550, fr450 and fr405.
2843 (type): Add macc, scan, cut, fnop, fscmp, fdcmp, mnop, mqlimh and
2844 mqshift. Replace fmas with fsmadd and fmad with fdmadd. Delete m7.
2845 (*muladd[sd]f4, *mulsub[sd]f4): Fix types.
2846 (*cmp[sd]f_cc_fp): Use new f[sd]cmp types.
2847 (fnop, mnop): New patterns.
2848 (UNSPEC_MQLCLRHS, UNSPEC_MQLMTHS, UNSPEC_MQSLLHI, UNSPEC_MQSRAHI):
2850 (mexpdhw, *cond_exec_mexpdhw): Fix destination operands.
2851 (mclracca8): Use ACC_MASK to determine the upper set of accumulator
2853 (mqlclrhs, mqlmths, mqsllhi, mqsrahi): New patterns.
2854 (UNSPEC_SMUL, UNSPEC_UMUL, UNSPEC_SMU, UNSPEC_ADDSS, UNSPEC_SUBSS)
2855 (UNSPEC_SLASS, UNSPEC_SCAN, UNSPEC_INTSS, UNSPEC_SCUTSS)
2856 (UNSPEC_PREFETCH0, UNSPEC_PREFETCH, UNSPEC_IACCreadll)
2857 (UNSPEC_IACCreadl, UNSPEC_IACCsetll, UNSPEC_IACCsetl, UNSPEC_SMASS)
2858 (UNSPEC_SMSSS, UNSPEC_IMUL, IACC0_REG): New constants.
2859 (smul, umul, smass, smsss, smu, addss, subss, slass, scan, scutss)
2860 (frv_prefetch0, frv_prefetch): New patterns.
2861 * config/frv/t-frv (MULTILIB_OPTIONS): Remove -mcpu=frv and
2862 -mcpu=simple. Add -mcpu=fr550.
2863 (MULTILIB_DIRNAMES): Update accordingly.
2864 (MULTILIB_MATCHES): Use the fr400 multilibs for -mcpu=fr405 and
2866 * doc/invoke.texi: Document the new -mcpu={fr550,fr450,fr405},
2867 -mlong-calls and -malign-labels options for FR-V.
2869 2004-09-09 Joseph S. Myers <jsm@polyomino.org.uk>
2872 * c-tree.h (struct c_declspecs): New.
2873 (struct c_declarator, struct c_type_name, struct c_parm): Update
2875 (build_array_declarator, grokfield, shadow_tag, shadow_tag_warned,
2876 start_function, start_decl, build_c_parm,
2877 make_pointer_declarator): Update prototypes.
2878 (build_null_declspecs, declspecs_add_qual, declspecs_add_type,
2879 declspecs_add_scspec, declspecs_add_attrs): New.
2880 (split_specs_attrs): Remove.
2881 * c-parse.in (%union): Add dsptype.
2882 (declspecs_nosc_nots_nosa_noea, declspecs_nosc_nots_nosa_ea,
2883 declspecs_nosc_nots_sa_noea, declspecs_nosc_nots_sa_ea,
2884 declspecs_nosc_ts_nosa_noea, declspecs_nosc_ts_nosa_ea,
2885 declspecs_nosc_ts_sa_noea, declspecs_nosc_ts_sa_ea,
2886 declspecs_sc_nots_nosa_noea, declspecs_sc_nots_nosa_ea,
2887 declspecs_sc_nots_sa_noea, declspecs_sc_nots_sa_ea,
2888 declspecs_sc_ts_nosa_noea, declspecs_sc_ts_nosa_ea,
2889 declspecs_sc_ts_sa_noea, declspecs_sc_ts_sa_ea, declspecs_ts,
2890 declspecs_nots, declspecs_ts_nosa, declspecs_nots_nosa,
2891 declspecs_nosc_ts, declspecs_nosc_nots, declspecs_nosc, declspecs,
2892 maybe_type_quals_attrs): Change to dsptype.
2893 (struct c_declspec_stack): New.
2894 (current_declspecs, declspec_stack): Change type.
2895 (PUSH_DECLSPEC_STACK, POP_DECLSPEC_STACK): Update to new
2897 (extdefs): Likewise.
2898 (setspecs): Likewise.
2899 (fndef): Use current_declspecs for empty declspecs list.
2900 (declspecs_nosc_nots_nosa_noea, declspecs_nosc_nots_nosa_ea,
2901 declspecs_nosc_nots_sa_noea, declspecs_nosc_nots_sa_ea,
2902 declspecs_nosc_ts_nosa_noea, declspecs_nosc_ts_nosa_ea,
2903 declspecs_nosc_ts_sa_noea, declspecs_nosc_ts_sa_ea,
2904 declspecs_sc_nots_nosa_noea, declspecs_sc_nots_nosa_ea,
2905 declspecs_sc_nots_sa_noea, declspecs_sc_nots_sa_ea,
2906 declspecs_sc_ts_nosa_noea, declspecs_sc_ts_nosa_ea,
2907 declspecs_sc_ts_sa_noea, declspecs_sc_ts_sa_ea): Update to new
2908 structures and helper functions. Update comments.
2909 (typespec_nonattr): Correct comment.
2910 (maybe_type_quals_attrs, typename): Update to new structures.
2911 * c-decl.c (grokdeclarator, build_array_declarator, grokfield,
2912 shadow_tag, shadow_tag_warned, start_function, start_decl,
2913 build_c_parm, make_pointer_declarator,
2914 set_array_declarator_inner, groktypename): Update to new
2916 (build_null_declspecs, declspecs_add_qual, declspecs_add_type,
2917 declspecs_add_scspec, declspecs_add_attrs): New.
2918 (split_specs_attrs): Remove.
2919 (shadow_tag_warned): Make warning for useless type names a
2920 pedwarn. Give hard error for long, short, signed, unsigned or
2921 _Complex used with struct, union or enum in empty declaration.
2922 Make found_tag a bool.
2923 (grokdeclarator): Remove checks now done at parse time.
2925 2004-09-09 Joseph S. Myers <jsm@polyomino.org.uk>
2927 * c-tree.h (enum c_declarator_kind, struct c_arg_info, struct
2928 c_declarator, struct c_type_name, struct c_parm): New.
2929 (build_array_declarator, set_array_declarator_inner,
2930 get_parm_info, grokfield, groktypename, grokparm, push_parm_decl,
2931 start_function, start_decl, build_c_parm, build_attrs_declarator,
2932 build_function_declarator, make_pointer_declarator, c_cast_expr,
2933 store_parm_decls_newstyle, c_expr_sizeof_type): Update prototypes.
2934 (build_id_declarator): New.
2935 * c-typeck.c (c_cast_expr, c_expr_sizeof_type): Update to new
2937 * c-decl.c (ARG_INFO_PARMS, ARG_INFO_TAGS, ARG_INFO_TYPES,
2938 ARG_INFO_OTHERS): Remove.
2939 (build_id_declarator): New.
2940 (build_array_declarator, set_array_declarator_inner, groktypename,
2941 start_decl, grokparm, push_parm_decl, grokparms, get_parm_info,
2942 grokfield, start_function, store_parm_decls_newstyle,
2943 store_parm_decls_oldstyle, store_parm_decls,
2944 build_c_parm, build_attrs_declarator, build_function_declarator,
2945 make_pointer_declarator, grokdeclarator): Update to new
2947 * c-parse.in (%union): Add arginfotype, dtrtype, typenametype and
2949 (declarator, notype_declarator, after_type_declarator,
2950 parm_declarator, parm_declarator_starttypename,
2951 parm_declarator_nostarttypename, array_declarator, typename,
2952 absdcl, absdcl1, absdcl1_ea, absdcl1_noea, direct_absdcl1,
2953 absdcl_maybe_attribute, parm, firstparm, parms, parmlist,
2954 parmlist_1, parmlist_2, parmlist_or_identifiers,
2955 parmlist_or_identifiers_1): Use these types.
2956 (primary, after_type_declarator, parm_declarator_starttypename,
2957 notype_declarator, component_decl, component_declarator,
2958 component_notype_declarator, typename, absdcl,
2959 absdcl_maybe_attribute, absdcl1_ea, direct_absdcl1, parmlist_1,
2960 parmlist_2, parmlist_or_identifiers_1): Update to new structures.
2962 2004-09-09 Joseph S. Myers <jsm@polyomino.org.uk>
2964 * c-tree.h (C_DECL_USED, parser_obstack, in_alignof, in_sizeof,
2965 in_typeof, record_maybe_used_decl, pop_maybe_used,
2966 c_expr_sizeof_expr, c_expr_sizeof_type): New.
2967 * c-decl.c (parser_obstack): New.
2968 (c_init_decl_processing): Initialize parser_obstack.
2969 (c_write_global_declarations_1): Check for used but undefined
2971 * c-parse.in (%union): Add otype.
2972 (save_obstack_position): New.
2974 (unary_expr): Update in_sizeof and in_alignof. Use
2975 c_expr_sizeof_expr and c_expr_sizeof_type.
2976 (sizeof): Update in_sizeof.
2977 (alignof): Update in_alignof.
2978 (typeof): Update in_typeof.
2979 (typespec_nonreserved_nonattr): Call pop_maybe_used.
2980 * c-typeck.c (in_alignof, in_sizeof, in_typeof, struct
2981 maybe_used_decl, maybe_used_decls, record_maybe_used_decl,
2982 pop_maybe_used, c_expr_sizeof_expr, c_expr_sizeof_type): New.
2983 (build_external_ref): Set C_DECL_USED or call
2984 record_maybe_used_decl if appropriate.
2985 * toplev.c (check_global_declarations): Check TREE_NO_WARNING.
2987 2004-09-08 Eric Christopher <echristo@redhat.com>
2989 * builtins.c: Fix prototype for fold_builtin_atan.
2991 2004-09-08 Eric Christopher <echristo@redhat.com>
2993 * builtins.c (fold_builtin_strlen, fold_builtin_sqrt, fold_builtin_cbrt,
2994 fold_builtin_pow, fold_builtin_sin, fold_builtin_cos, fold_builtin_tan,
2995 fold_builtin_atan): New functions. Migrate function bodies...
2996 (fold_builtin_1): ... from here.
2998 2004-09-09 Alan Modra <amodra@bigpond.net.au>
3000 * config/rs6000/rs6000.c (rs6000_stack_info): Correct alignment of
3003 2004-09-08 David Edelsohn <edelsohn@gnu.org>
3005 * config/rs6000/power4.md (power4-lmul): du4 feeds iu1.
3006 * config/rs6000/power5.md (power5-lmul): Same.
3008 2004-09-08 Richard Henderson <rth@redhat.com>
3011 * function.c (expand_function_end): Have fall-off-the-end
3012 return path jump around return register setup.
3014 2004-09-08 Eric Botcazou <ebotcazou@libertysurf.fr>
3016 * config/sparc/sparc.c (sparc_indent_opcode): New variable.
3017 (output_return): Do not test for the presence of the 'unimp' insn.
3018 Use 'current_function_uses_only_leaf_regs' and 'final_sequence'
3019 as predicates instead of custom ones. Return raw strings when
3021 (output_sibcall): Likewise. Concatenate strings.
3022 (output_ubranch): Remove kludge for TurboSPARC.
3023 (output_cbranch): Remove 'noop' parameter. Do not output 'nop'.
3024 (output_v9branch): Likewise.
3025 (print_operand): Use 'final_sequence' instead of 'dbr_sequence_length'.
3026 <#>: Set sparc_indent_opcode if the delay slot is filled.
3028 <)>: New operand to emit the displacement from the saved PC on return.
3030 * config/sparc/sparc.h (sparc_indent_opcode): Declare it.
3031 (ASM_OUTPUT_OPCODE): New macro.
3032 (PRINT_OPERAND_PUNCT_VALID_P): Remove '^' and add ')'.
3033 * config/sparc/sparc.md (normal_branch, inverted_branch,
3034 normal_fp_branch, inverted_fp_branch, normal_fpe_branch,
3035 inverted_fpe_branch): Adjust call to output_cbranch.
3036 (normal_int_branch_sp64, inverted_int_branch_sp64): Adjust
3037 call to output_v9branch.
3038 * config/sparc/sparc-protos.h (output_cbranch): Adjust.
3039 (output_v9branch): Likewise.
3041 2004-09-08 Devang Patel <dpatel@apple.com>
3043 * config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Add -segaddr,
3044 -segs_read_only_addr and -segs_read_write_addr.
3045 (WORD_SWITCH_TAKES_ARG): Same.
3047 * doc/invoke.texi: Document -segaddr, -segs_read_only_addr and
3048 -segs_read_write_addr.
3050 2004-09-08 Richard Henderson <rth@redhat.com>
3052 * function.c (reference_callee_copied): New.
3053 (assign_parm_setup_reg): Use it.
3054 * calls.c (initialize_argument_information): Likewise.
3055 (emit_library_call_value_1): Likewise.
3056 * function.h (reference_callee_copied): Declare.
3058 * target.h (struct gcc_target): Add callee_copies.
3059 * target-def.h (TARGET_CALLEE_COPIES): New.
3060 (TARGET_PASS_BY_REFERENCE): Update default.
3061 * expr.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
3062 * targhooks.c (hook_callee_copies_named): New.
3063 (hook_bool_CUMULATIVE_ARGS_mode_tree_bool_false): Rename from
3064 hook_pass_by_reference_false.
3065 (hook_bool_CUMULATIVE_ARGS_mode_tree_bool_true): New.
3066 * targhooks.h: Update decls.
3067 * config/arc/arc.c (TARGET_CALLEE_COPIES): New.
3068 * config/arc/arc.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
3069 * config/frv/frv-protos.h (frv_function_arg_callee_copies): Remove.
3070 * config/frv/frv.c (frv_function_arg_callee_copies): Remove.
3071 * config/frv/frv.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
3072 * config/iq2000/iq2000.c (TARGET_CALLEE_COPIES): New.
3073 * config/iq2000/iq2000.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
3074 * config/m68hc11/m68hc11.c (TARGET_CALLEE_COPIES): New.
3075 * config/m68hc11/m68hc11.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
3076 * config/mips/mips.c (TARGET_CALLEE_COPIES): New.
3077 (mips_callee_copies): New.
3078 * config/mips/mips.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
3079 * config/mmix/mmix.c (TARGET_CALLEE_COPIES): New.
3080 * config/mmix/mmix.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
3081 * config/mn10300/mn10300.c (TARGET_CALLEE_COPIES): New.
3082 * config/mn10300/mn10300.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
3083 * config/pa/pa.c (TARGET_CALLEE_COPIES): New.
3084 * config/pa/pa.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
3085 * config/sh/sh.c (sh_callee_copies): New.
3086 (TARGET_CALLEE_COPIES): New.
3087 * config/sh/sh.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
3088 * config/v850/v850.c (TARGET_CALLEE_COPIES): New.
3089 * config/v850/v850.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
3090 * doc/tm.texi (TARGET_CALLEE_COPIES): Replace documentation
3091 for FUNCTION_ARG_CALLEE_COPIES.
3092 * doc/rtl.texi (CALL_INSN_FUNCTION_USAGE): Update.
3094 2004-09-08 Devang Patel <dpatel@apple.com>
3096 * tree-if-conv.c (find_phi_replacement_condition): Return true
3098 (replace_phi_with_cond_modify_expr): Select conditional expr args
3099 based on true edge basic block.
3101 2004-09-08 Jan Hubicka <jh@suse.cz>
3103 * tree-ssa-operands.c (add_stmt_operand): Use V_MUST_DEF even for
3104 variables being alias set.
3106 2004-09-08 Nathan Sidwell <nathan@codesourcery.com>
3108 * final.c (shorten_branches, final, get_insn_template,
3109 output_alternate_entry_point, final_scan_insn, alter_subreg,
3110 alter_cond, output_operand, asm_fprintf, final_forward_branch_p,
3111 leaf_renumber_regs_insn): Use gcc_assert and gcc_unreachable.
3112 * fix-header.c (lookup_std_proto): Likewise.
3113 * flow.c (first_insn_after_basic_block_note, verify_wide_reg,
3114 verify_local_live_at_start, update_life_info, mark_reg,
3115 calculate_global_regs_live, allocate_reg_life_data,
3116 init_propagate_block_info, mark_set_regs, flush_reg_cond_reg_1,
3117 ior_reg_cond, not_reg_cond, and_reg_cond, elim_reg_cond,
3118 attempt_auto_inc, mark_used_reg, mark_used_regs): Likewise.
3119 * fold-const.c (force_fit_type, div_and_round_double,
3120 may_negate_without_overflow_p, int_const_binop, const_binop,
3121 size_binop, size_diffop, fold_convert_const, fold_convert,
3122 invert_tree_comparison, swap_tree_comparison,
3123 comparison_to_compcode, compcode_to_comparison, invert_truthvalue,
3124 range_binop, make_range, fold_cond_expr_with_comparison,
3125 fold_div_compare, fold, fold_checksum_tree, fold_negate_const,
3126 fold_abs_const, fold_not_const, fold_relational_const, round_up,
3127 round_down): Likewise.
3128 * function.c (find_function_data, assign_stack_temp_for_type,
3129 instantiate_virtual_regs_lossage, aggregate_value_p,
3130 assign_parm_find_entry_rtl, assign_parm_setup_block,
3131 expand_function_start, expand_function_end, keep_stack_depressed,
3132 handle_epilogue_set, thread_prologue_and_epilogue_insns): Likewise.
3134 2004-09-08 Daniel Berlin <dberlin@dberlin.org>
3136 * Makefile.in (tree-loop-linear.o): Added.
3137 (OBJS-common): Add tree-loop-linear.o
3138 * common.opt: New flag, ftree-loop-linear.
3139 * timevar.def: New timevar, TV_TREE_LOOP_LINEAR.
3140 * tree-flow.h: Add prototype for linear_transform_loops.
3141 * tree-optimize.c: Add linear transform after vectorization.
3142 * tree-pass.h: Add struct pass_linear_transform.
3143 * tree-ssa-loop.c: Add pass_linear_transform.
3144 * tree-loop-linear.c: New file.
3145 * lambda-code.c: gcc_assertify.
3146 (gcc_loop_to_lambda_loop): Handle all exit tests.
3147 Handle case where we have (invariant >= induction var).
3148 (find_induction_var_from_exit_cond): Ditto.
3150 2004-09-08 Jie Zhang <zhangjie@magima.com.cn>
3152 * tree-ssa-alias.c (compute_flow_insensitive_aliasing): If type
3153 memory tag is call clobbered, so are its aliases.
3154 (group_aliases): When two memory tags being grouped, if one is
3155 call clobbered, so are the other and its aliases.
3156 (add_may_alias): Remove call-clobbering stuff.
3157 (replace_may_alias): Likewise.
3158 (merge_pointed_to_info): Merge pt_global_mem
3160 2004-09-08 Jan Hubicka <jh@suse.cz>
3162 * cgraph.c (cgraph_remove_node): Free DECL_INITIAL field of node.
3163 * cgraphunit.c (verify_cgraph): Don't verify on syntax errors.
3164 (cgraph_expand_function): Remove stale cgraph edges of currently
3165 compiled function; fix non-unit-at-a-time code copying function
3166 node for later reuse.
3168 2004-09-08 Nathan Sidwell <nathan@codesourcery.com>
3170 * vec.c (vec_p_reserve, vec_o_reserve): Rename to ...
3171 (vec_gc_p_reserve, vec_gc_o_reserve): ... here. Clone to
3172 (vec_heap_p_reserve, vec_heap_o_reserve): ... here, adjust.
3173 (vec_gc_free, vec_heap_free): New.
3174 * vec.h (DEF_VEC_GC_P, DEF_VEC_MALLOC_P): New.
3175 (DEF_VEC_P): Add allocator argument. Adjust.
3176 (DEF_VEC_GC_O, DEF_VEC_MALLOC_O): New.
3177 (DEF_VEC_O): Add allocator argument. Adjust.
3180 * tree.h (tree): Define a GC'd vector.
3181 * lamba-code.c (lambda_loop): Likewise.
3182 * value-prof.h (histogram_value): Likewise.
3184 2004-09-08 Nathan Sidwell <nathan@codesourcery.com>
3186 * emit-rtl.c (immed_double_const): Use gcc_assert and gcc_unreachable.
3187 (gen_rtx_SUBREG, gen_reg_rtx, mark_user_reg, subreg_hard_regno,
3188 gen_lowpart_common, gen_highpart, gen_highpart_mode,
3189 subreg_highpart_offset, operand_subword, operand_subword_force,
3190 mem_expr_equal_p, set_mem_attributes_minus_bitpos,
3191 set_mem_alias_set, change_address_1, verify_rtx_sharing,
3192 copy_most_rtx, set_first_insn, set_last_insn, prev_cc0_setter,
3193 try_split, add_insn_after, add_insn_before, remove_insn,
3194 remove_unnecessary_notes, emit_insn_before, emit_jump_insn_before,
3195 emit_call_insn_before, emit_insn_after, emit_jump_insn_after,
3196 emit_call_insn_after, emit_insn, emit_jump_insn, emit_call_insn,
3197 set_unique_reg_note, emit, push_to_full_sequence, copy_insn_1,
3198 gen_const_vector_0, emit_copy_of_insn_after): Likewise.
3199 * et-forest.c (set_prev, set_next, et_check_occ_sanity,
3200 record_path_before_1, check_path_after_1, check_path_after): Likewise.
3201 * except.c (gen_eh_region, resolve_one_fixup_region,
3202 remove_unreachable_regions, convert_from_eh_region_ranges_1,
3203 add_ehl_entry, duplicate_eh_region_1, build_post_landing_pads,
3204 connect_post_landing_pads, sjlj_emit_function_exit,
3205 remove_exception_handler_label, remove_eh_handler,
3206 reachable_next_level, collect_one_action_chain,
3207 output_function_exception_table): Likewise.
3208 * explow.c (trunc_int_for_mode, copy_to_mode_reg,
3209 optimize_save_area_alloca, allocate_dynamic_stack_space,
3210 probe_stack_range, hard_function_value): Likewise.
3211 * expmed.c (mode_for_extraction, store_bit_field,
3212 store_fixed_bit_field, extract_bit_field, expand_shift,
3213 expand_mult_const, expand_mult, choose_multiplier,
3214 expand_mult_highpart, expand_divmod, emit_store_flag,
3215 do_cmp_and_jump): Likewise.
3216 * expr.c (convert_move, convert_modes, move_by_pieces,
3217 move_by_pieces_ninsns, move_by_pieces_1, emit_block_move,
3218 move_block_from_reg, gen_group_rtx, emit_group_load,
3219 emit_group_move, emit_group_store, use_reg, use_regs,
3220 can_store_by_pieces, store_by_pieces, store_by_pieces_1,
3221 emit_move_insn, emit_move_insn_1, emit_push_insn,
3222 expand_assignment, store_expr, count_type_elements,
3223 store_constructor, store_field, safe_from_p, expand_var,
3224 expand_expr_addr_expr, expand_expr_real_1, do_store_flag): Likewise.
3226 2004-09-08 Nathan Sidwell <nathan@codesourcery.com>
3228 * dbxout.c (dbxout_type, dbxout_type_name, dbxout_symbol): Use
3229 gcc_assert and gcc_unreachable.
3230 * ddg.c (create_ddg_dependence, add_deps_for_def,
3231 add_deps_for_use, create_ddg, add_edge_to_ddg): Likewise.
3232 * df.c (df_ref_unlink, df_ref_record, df_uses_record,
3233 df_reg_def_chain_create, df_reg_use_chain_create, df_analyze,
3234 df_insn_delete, df_refs_reg_replace, df_ref_reg_replace,
3235 df_insns_modify, df_pattern_emit_before, df_bb_reg_live_start_p,
3236 df_bb_reg_live_end_p, df_bb_regs_lives_compare,
3237 df_bb_single_def_use_insn_find, dataflow_set_a_op_b,
3238 dataflow_set_copy, hybrid_search, diagnostic.c,
3239 diagnostic_build_prefix, diagnostic_count_diagnostic): Likewise.
3240 * dojump.c (do_jump): Likewise.
3241 * dominance.c (calc_dfs_tree_nonrec, calc_dfs_tree,
3242 compute_dom_fast_query, calculate_dominance_info,
3243 free_dominance_info, get_immediate_dominator,
3244 set_immediate_dominator, get_dominated_by,
3245 redirect_immediate_dominators, nearest_common_dominator,
3246 dominated_by_p, verify_dominators, recount_dominator,
3247 iterate_fix_dominators, add_to_dominance_info,
3248 delete_from_dominance_info): Likewise.
3249 * dwarf2asm.c (size_of_encoded_value, eh_data_format_name,
3250 dw2_asm_output_delta_uleb128, dw2_asm_output_delta_sleb128,
3251 dw2_force_const_mem, dw2_asm_output_encoded_addr_rtx): Likewise.
3252 * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes, reg_save,
3253 initial_return_save, stack_adjust_offset, dwarf2out_stack_adjust,
3254 flush_queued_reg_saves, dwarf2out_frame_debug_expr,
3255 dwarf2out_frame_debug, dw_cfi_oprnd1_desc, output_cfi,
3256 output_call_frame_info, output_loc_operands, build_cfa_loc,
3257 decl_ultimate_origin, AT_flag, AT_int, AT_unsigned, AT_string,
3258 AT_string_form, add_AT_specification, AT_ref, set_AT_ref_external,
3259 AT_loc, AT_loc_list, AT_addr, AT_lbl, add_child_die,
3260 splice_child_die, attr_checksum, same_dw_val_p,
3261 break_out_includes, build_abbrev_table, size_of_die, mark_dies,
3262 unmark_dies, value_format, output_loc_list, output_die,
3263 output_pubnames, output_aranges, base_type_die, is_base_type,
3264 modified_type_die, dbx_reg_number, multiple_reg_loc_descriptor,
3265 mem_loc_descriptor, loc_descriptor, loc_descriptor_from_tree_1,
3266 field_byte_offset, add_data_member_location_attribute,
3267 add_const_value_attribute, rtl_for_decl_location,
3268 add_location_or_const_value_attribute, add_byte_size_attribute,
3269 add_bit_offset_attribute, add_bit_size_attribute,
3270 add_abstract_origin_attribute, pop_decl_scope, scope_die_for,
3271 decl_start_label, gen_formal_parameter_die,
3272 gen_type_die_for_member, gen_subprogram_die, gen_label_die,
3273 gen_typedef_die, gen_type_die, gen_tagged_type_instantiation_die,
3274 force_decl_die, force_type_die, gen_decl_die,
3275 dwarf2out_imported_module_or_decl, prune_unused_types_prune,
3276 dwarf2out_finish): Likewise.
3278 2004-09-08 Andreas Tobler <toa@pop.agri.ch>
3280 * Makefile.in (builtins.o): Depend on tree-mudflap.h.
3281 * builtins.c: Include tree-mudflap.h.
3283 2004-09-08 Uros Bizjak <uros@kss-loka.si>
3285 * config/i386/i386.c (ix86_prepare_fp_compare_args): Do not
3286 force operand 0.0 into register in XFmode. Also do not force
3287 operand 0.0 into register if !TARGET_CMOVE.
3288 * config/i386/i386.md (*cmpfp_0): Delete. Remove comment.
3289 (*cmpfp_0_sf, cmpfp_0_df, cmpfp_0_xf): New patterns to
3290 implement ftst x87 instruction.
3291 (*fp_jcc_7): New insn pattern. Change corresponding split
3292 pattern to handle "general_operand" instead of
3293 "nonimmediate_operand".
3295 2004-09-08 Ben Elliston <bje@au.ibm.com>
3297 * doc/rtl.texi (Insns): Document NOTE_INSN_FUNCTION_BEG.
3299 2004-09-07 Frank Ch. Eigler <fche@redhat.com>
3301 * builtins.c (std_gimplify_va_arg_expr): Mark INDIRECT_REF nodes
3302 generated from standard va_arg expansion.
3303 * tree-mudflap.c (mx_xform_derefs_1): Omit instrumentation from
3305 (mf_varname_tree, mf_file_function_line_tree): Add some support
3306 for column numbers if compiled with USE_MAPPED_LOCATION.
3308 2004-09-07 Ziemowit Laski <zlaski@apple.com>
3310 * c-decl.c (groktypename_in_parm_context): Remove function.
3311 * c-tree.h (groktypename_in_parm_context): Remove prototype.
3313 2004-09-07 Ziemowit Laski <zlaski@apple.com>
3315 * Makefile.in (c-parse.o): Depend on $(C_COMMON_H).
3316 * c-parse.in: Include c-common.h instead of objc-act.h.
3317 (ivar_decl_list, ivar_decls, ivar_decl, ivars, ivar_declarator,
3318 myparms, myparm): Remove %type declarations.
3319 (methodtype, optparms, OBJC_TYPE_QUAL, objc_quals, objc_qual,
3320 objc_typename, objc_try_catch_stmt, optellipsis): Add %type
3322 (objc_inherit_code, objc_public_flag): Remove.
3323 (typespec_nonreserved_nonattr): Call
3324 objc_get_protocol_qualified_type() instead of get_static_reference()
3325 and get_protocol_reference().
3326 (stmt_nocomp): Call grokparm() on @catch parameter.
3327 (objcdef): Move semantic action to objc_finish_implementation().
3328 (classdef): Move semantic action to objc_start_class_interface(),
3329 objc_continue_interface(), objc_finish_interface(),
3330 objc_start_class_implementation(), objc_continue_implementation(),
3331 objc_start_category_interface() and
3332 objc_start_category_implementation().
3333 (protocoldef): Move semantic actions to objc_start_protocol() and
3334 objc_finish_interface().
3335 (ivar_decl_list): Remove nonterminal.
3336 (visibility_spec): Move semantic actions to objc_set_visibility().
3337 (ivar_decls): Remove assignment to $$.
3338 (ivar_decl): Rephrase in terms of component_decl; call
3339 objc_add_instance_variable().
3340 (ivars, ivar_declarator): Remove nonterminals.
3341 (opt_semi): New nonterminal.
3342 (methodtype): Remove semantic actions.
3343 (methoddef): Move semantic actions to objc_set_method_type(),
3344 objc_start_method_definition() and objc_finish_method_definition().
3345 (methodproto): Move semantic actions to objc_set_method_type() and
3346 objc_add_method_declaration().
3347 (methoddecl): Use objc_typename instead of typename; move semantic
3348 actions to objc_build_method_signature().
3349 (optarglist, myxdecls, mydecl, myparms, myparm): Remove nonterminals.
3350 (optparmlist): Express in terms of optparms and optellipsis.
3351 (optparms, optellipsis, objc_qual, objc_quals, objc_typename): New
3353 (keyworddecl): Use objc_typename instead of typename.
3354 (rid_to_yy): Mark RID_IN, RID_OUT, RID_INOUT, RID_BYCOPY, RID_BYREF
3355 and RID_ONEWAY as returning OBJC_TYPE_QUAL to yyparse().
3357 2004-09-08 Alan Modra <amodra@bigpond.net.au>
3359 * doc/tm.texi (MD_UNWIND_SUPPORT): Document.
3360 (MD_FALLBACK_FRAME_STATE_FOR): Update.
3361 * unwind-dw2.c (MD_UNWIND_SUPPORT): #include if defined.
3362 (uw_frame_state_for): Adjust MD_FALLBACK_FRAME_STATE_FOR invocation.
3363 (MD_FROB_UPDATE_CONTEXT): Remove default.
3364 (uw_update_context_1): Instead #ifdef invocation.
3365 * config/ia64/unwind-ia64.c (MD_UNWIND_SUPPORT): #include if defined.
3366 (uw_frame_state_for): Adjust MD_FALLBACK_FRAME_STATE_FOR invocation.
3367 * config/alpha/gnu.h (MD_FALLBACK_FRAME_STATE_FOR): Don't undef.
3368 (MD_UNWIND_SUPPORT): Undefine this instead.
3369 * config/i386/gnu.h: Likewise.
3370 * config/alpha/linux-unwind.h: New file, macro converted to
3371 function, extracted from..
3372 * config/alpha/linux.h (MD_FALLBACK_FRAME_STATE_FOR): ..this.
3373 (MD_UNWIND_SUPPORT): Define.
3374 * config/alpha/vms-unwind.h, config/alpha/vms.h: Likewise.
3375 * config/i386/linux-unwind.h, config/i386/linux.h,
3376 config/i386/linux64.h: Likewise.
3377 * config/ia64/linux-unwind.h, config/ia64/linux.h: Likewise.
3378 MD_HANDLE_UNWABI too.
3379 * config/mips/linux-unwind.h, config/mips/linux.h: Likewise.
3380 * config/pa/linux-unwind.h, config/pa/pa32-linux.h: Likewise.
3381 * config/rs6000/darwin-unwind.h, config/rs6000/darwin.h: Likewise.
3382 * config/s390/linux-unwind.h, config/s390/linux.h: Likewise.
3383 * config/sparc/linux-unwind.h, config/sparc/linux.h,
3384 config/sparc/linux64.h: Likewise.
3385 * config/sh/linux-unwind.h, config/sh/linux.h: Likewise, but merge