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