1 2004-10-28 Nick Clifton <nickc@redhat.com>
3 * config/iq2000/iq2000.c (iq2000_expand_epilogue): Use
4 emit_jump_insn() to generate the return instruction.
6 2004-10-28 Kazu Hirata <kazu@cs.umass.edu>
8 * tree-phinodes.c: Remove trailing whitespace.
10 2004-10-28 Kazu Hirata <kazu@cs.umass.edu>
12 * tree-ssa-loop-ivopts.c: Fix a comment typo.
13 * doc/invoke.texi: Fix a typo.
15 2004-10-28 Kazu Hirata <kazu@cs.umass.edu>
17 * Makefile.in (OBJS-common): Remove duplicates.
19 2004-10-28 Kazu Hirata <kazu@cs.umass.edu>
21 * lambda-code.c (nestify_update_pending_stmts): Remove.
22 (perfect_nestify): Use flush_pending_stmts instead of
23 nestify_update_pending_stmts.
24 * tree-cfg.c (tree_make_forwarder_block): Use
26 * tree-flow.h: Add a prototype for flush_pending_stmts.
27 * tree-ssa-loop-manip.c (tree_duplicate_loop_to_header_edge):
28 Use flush_pending_stmts.
29 (lv_update_pending_stmts): Remove.
30 (tree_ssa_loop_version): Use flush_pending_stmts instead of
31 lv_update_pending_stmts.
32 * tree-ssa.c (flush_pending_stmts): New.
34 2004-10-28 Ulrich Weigand <uweigand@de.ibm.com>
37 * final.c (alter_subreg): Compute correct offset to use with
38 paradoxical SUBREGs of memory operands.
39 * recog.c (general_operand): Allow paradoxical SUBREGs of
40 memory operands after reload.
41 * simplify-rtx.c (simplify_gen_subreg): Fail if simplify_subreg
42 has failed when passed a hard register.
44 2004-10-28 Aldy Hernandez <aldyh@redhat.com>
46 * function.c (assign_parm_setup_block): Handle parallels correctly.
48 2004-10-28 Kaz Kojima <kkojima@gcc.gnu.org>
50 * final.c (shorten_branches): Initialize flags structure.
52 2004-10-28 Nathan Sidwell <nathan@codesourcery.com>
54 * tree.c (int_cst_node, int_cst_hash_table): New variables.
55 (init_ttree): Initialize them.
56 (int_cst_hash_hash, int_cst_hash_eq): New hashing functions.
57 (build_int_cst_wide): Use hash table for oversized integers.
59 2004-10-28 Nick Clifton <nickc@redhat.com>
61 * config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Define
64 2004-10-27 Richard Henderson <rth@redhat.com>
67 * expr.c (emit_group_load): Don't go force temporary for memory
69 (emit_group_store): Similarly.
71 2004-10-27 Andrew Pinski <pinskia@physics.uc.edu>
74 * common.opt (--param): Fix spelling of parameter.
76 2004-10-27 Andrew Pinski <pinskia@physics.uc.edu>
79 * tree-cfg.c (remove_useless_stmts_1) <case SWITCH_EXPR>:
81 <case ASM_EXPR>: Fold the statement.
83 2004-10-28 Kazu Hirata <kazu@cs.umass.edu>
85 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary)
86 <COND_EXPR>: Use EDGE_COUNT instead of GOTO_DESTINATION.
88 2004-10-28 Joseph S. Myers <jsm@polyomino.org.uk>
90 * doc/contrib.texi, doc/cpp.texi, doc/cppopts.texi,
91 doc/extend.texi, doc/gcov.texi, doc/install.texi, doc/invoke.texi,
92 doc/libgcc.texi, doc/md.texi, doc/passes.texi,
93 doc/sourcebuild.texi, doc/tm.texi: Improve Texinfo formatting.
95 2004-10-28 Joseph S. Myers <jsm@polyomino.org.uk>
97 * doc/c-tree.texi, doc/cpp.texi, doc/implement-c.texi,
98 doc/invoke.texi, doc/md.texi, doc/passes.texi, doc/tm.texi: Put
99 punctuation outside quotes.
101 2004-10-27 David Mosberger <davidm@hpl.hp.com>
102 James E Wilson <wilson@specifixinc.com>
105 * config/ia64/ia64.c (ia64_expand_epilogue): Set RTX_FRAME_RELATED_P on
106 sibcall alloc instruction.
107 (process_set): Handle sibcall alloc instruction.
109 2004-10-27 Geoffrey Keating <geoffk@apple.com>
111 * config/rs6000/rs6000.c (rs6000_attribute_table): Add
112 SUBTARGET_ATTRIBUTE_TABLE.
113 * config/darwin.h (ASM_WEAKEN_DECL): Handle weak_import.
114 (SUBTARGET_ATTRIBUTE_TABLE): Define.
115 * config/darwin.c (darwin_handle_weak_import_attribute): New.
116 (HAVE_DEAD_STRIP): Delete.
117 (no_dead_strip): Don't test HAVE_DEAD_STRIP.
118 * config/darwin-protos.h (darwin_handle_weak_import_attribute):
121 * doc/tm.texi (USE_SELECT_SECTION_FOR_FUNCTIONS): Document.
123 * config/darwin.h (GTHREAD_USE_WEAK): Define.
125 2004-10-28 Ben Elliston <bje@au.ibm.com>
127 * params.def (PARAM_SRA_MAX_STRUCTURE_SIZE): New.
128 (PARAM_SRA_FIELD_STRUCTURE_RATIO): Likewise.
129 * params.h (SRA_MAX_STRUCTURE_SIZE): New.
130 (SRA_FIELD_STRUCTURE_RATIO): Likewise.
131 * tree-sra.c: Include "params.h".
132 (decide_block_copy): Use new parameters.
133 * doc/invoke.texi (Optimize Options): Document new SRA pass
134 parameters sra-max-structure-size and sra-field-structure-ratio.
136 2004-10-27 Nicolas Pitre <nico@cam.org>
138 * config/arm/ieee754-df.S (floatdidf): Fix regression with big values.
140 2004-10-27 Zdenek Dvorak <dvorakz@suse.cz>
142 PR tree-optimization/18048
143 * fold-const.c (try_move_mult_to_index): New function.
144 (fold): Use try_move_mult_to_index.
145 * tree-ssa-loop-ivopts.c (try_add_cand_for): Prefer common candidates.
146 * tree-ssa-loop-niter.c (number_of_iterations_cond): Produce
147 an all-ones unsigned constant without extra bits.
148 * tree.c (build_low_bits_mask): New function.
149 * tree.h (build_low_bits_mask): Declare.
151 2004-10-27 David Edelsohn <edelsohn@gnu.org>
154 * config/rs6000/rs6000.md (maxsf3): Add !flag_trapping_math to
160 2004-10-27 Kazu Hirata <kazu@cs.umass.edu>
162 * tree-cfg.c (thread_jumps): Speed up by reordering the two
163 conditions for entering basic blocks into worklist.
165 2004-10-27 Kazu Hirata <kazu@cs.umass.edu>
167 * tree-cfg.c (thread_jumps): Speed up by pretending to have
168 ENTRY_BLOCK_PTR in worklist.
170 2004-10-27 Kazu Hirata <kazu@cs.umass.edu>
172 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary)
173 <GOTO_EXPR>: Don't let an explicit GOTO_EXPR slip through.
175 2004-10-27 Daniel Berlin <dberlin@dberlin.org>
177 Fix PR tree-optimization/17133
179 * tree-cfg.c (rewrite_to_new_ssa_names_bb): Also rewrite must
182 * tree-flow-inline.h: V_MUST_DEF_OP became V_MUST_DEF_RESULT.
183 (get_v_must_def_result_ptr): Modify for new structure of
185 (get_v_must_def_kill_ptr): New.
186 (op_iter_next_use): Add support for the kill that occurs in V_MUST_DEFs.
187 (op_iter_next_tree): Ditto. Also V_MAY_DEF_OP became V_MAY_DEF_RESULT.
188 (op_iter_next_def): V_MAY_DEF_OP became V_MAY_DEF_RESULT.
189 (op_iter_init): Initialize new mustu members.
190 (op_iter_next_mustdef): New function.
191 (op_iter_init_mustdef): Ditto.
193 * tree-flow.h (rewrite_def_def_chains): New function.
195 * tree-into-ssa.c (mark_def_sites): Handle mustdefkill operands.
196 (ssa_mark_def_sites): Ditto.
197 (rewrite_stmt): Ditto.
198 (ssa_rewrite_stmt): Ditto.
199 (rewrite_blocks): Factor out from rewrite_into_ssa.
200 (mark_def_block_sites): Ditto.
201 (rewrite_def_def_chains): New function, just rewrites def-def
202 chains without phi node insertion.
204 * tree-pass.h (TODO_fix_def_def_chains): New todo flag.
206 * tree-optimize.c (execute_todo): Handle TODO_fix_def_def_chains.
208 * tree-pretty-print.c (dump_vops): Print out MUST_DEF's so that
209 they include the rhs now.
211 * tree-ssa-ccp.c (visit_assignment): V_MUST_DEF_OP became
214 * tree-ssa-dce.c (mark_operand_necessary): Add phionly argument.
216 (mark_really_necessary_kill_operand_phis): New function.
217 (perform_tree_ssa_dce): Call it.
218 (pass_dce): Add TODO_fix_def_def_chains.
219 (pass_cd_dce): Ditto.
221 * tree-ssa-loop-im.c (determine_max_movement): Look at kills as
223 (rewrite_mem_refs): Ditto.
225 * tree-ssa-loop-manip.c (find_uses_to_rename_stmt): Look at kills
228 * tree-ssa-operands.c (allocate_v_may_def_optype):
229 v_may_def_operand_type_t became v_def_use_operand_type_t.
230 (allocate_v_must_def_optype) Ditto.
231 (finalize_ssa_v_must_defs): Update for new operand type, as well
232 as setting the use portion as well.
233 (copy_virtual_operands): Copy the kill operand as well.
234 (create_ssa_artficial_load_stmt): V_MUST_DEF_OP became
237 * tree-ssa-operands.h (v_may_def_operand_type): Renamed to
238 v_def_use_operand_type.
239 (v_must_def_optype_d): Use v_def_use_operand_type.
240 (V_MUST_DEF_OP_*): Renamed to V_MUST_DEF_RESULT_*
241 (V_MUST_DEF_KILL_*): New macros.
242 (struct ssa_operand_iterator_d): Add num_v_mustu and v_mustu_i
244 Rename existing must_i and num_v_must members to mustd_i and
246 (SSA_OP_VMUSTDEFKILL): New flag.
247 (SSA_OP_VIRTUAL_KILLS): New flag.
248 (SSA_OP_ALL_OPERANDS): Add in SSA_OP_ALL_KILLS.
249 (SSA_OP_ALL_KILLS): New flag.
250 (FOR_EACH_SSA_MUSTDEF_OPERAND): New macro.
252 * tree-ssa.c (verify_ssa): Verify virtual kills as well.
254 * tree-vectorizer.c (vect_create_data_ref_ptr): V_MUST_DEF_OP
255 became V_MUST_DEF_RESULT.
256 (rename_variables_in_bb): Rename kill pointer as well.
258 * tree-dfa.c (compute_immediate_uses_for_stmt): Add kills into the
261 2004-10-27 Richard Sandiford <rsandifo@redhat.com>
263 * dbxout.c (dbxout_source_line): Move declaration of begin_label to
264 the block that needs it.
266 2004-10-27 Zack Weinberg <zack@codesourcery.com>
268 * dbxout.c (dbxout_finish_complex_stabs): Mark 'line' variable
271 2004-10-27 Zack Weinberg <zack@codesourcery.com>
273 * c-lex.c (cb_def_pragma): Clean up code for making location
274 palatable to diagnostic.c.
276 2004-10-27 Steven Bosscher <stevenb@suse.de>
278 PR tree-optimization/17757
279 * tree-phinodes.c (remove_phi_arg_num): Don't remove PHIs
280 without any PHI arguments left. Make sure the argument that
281 we're supposed to remove exists at all.
283 2004-10-27 Paul Brook <paul@codesourcery.com>
285 * configure.ac: Don't test for [build] __cxa_atexit when building a
287 * configure: Regenerate.
289 2004-10-27 Paul Brook <paul@codeosurcery.com>
291 * configure.ac: Use build_exeext not host_exeext when lookin for
293 * configure: Regenerate.
295 2004-10-27 Andreas Krebbel <krebbel1@de.ibm.com>
297 * config/s390/s390.md ("*subdf3_cc"): Replaced plus by minus.
299 2004-10-27 Andreas Krebbel <krebbel1@de.ibm.com>
300 patch originally created by Kelley Cook <kcook@gcc.gnu.org>
303 * opts.c (OPT_fprofile_generate): Default to -funroll-loops
304 to match -fprofile-use.
306 2004-10-27 Kazu Hirata <kazu@cs.umass.edu>
308 * config/rs6000/rs6000.c: Fix a comment typo.
310 2004-10-27 Zack Weinberg <zack@codesourcery.com>
312 * config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Increment line
315 2004-10-27 Andreas Schwab <schwab@suse.de>
317 * varasm.c (default_stabs_asm_out_destructor): Mark symbol as
319 (default_stabs_asm_out_constructor): Likewise.
321 2004-10-26 Geoffrey Keating <geoffk@apple.com>
323 * builtins.c (fold_builtin_unordered_cmp): Always bring both
324 operands to the same type.
326 2004-10-26 James E Wilson <wilson@specifixinc.com>
329 * emit-rtl.c (emit_copy_of_insn_after): Copy RTX_FRAME_RELATED_P.
331 2004-10-26 Zack Weinberg <zack@codesourcery.com>
333 * dbxout.c: Include obstack.h.
334 (ASM_STABS_OP): Take XCOFF_DEBUGGING_INFO into account in
336 (ASM_STABD_OP, NO_DBX_MAIN_SOURCE_DIRECTORY, DBX_CONTIN_CHAR):
338 (DBX_CONTIN_LENGTH): Move definition with others.
339 (DBX_FINISH_STABS): New target macro.
340 (current_sym_code, current_sym_value, current_sym_addr)
341 (current_sym_nchars, CHARS, dbxout_continue)
342 (print_int_cst_octal, print_octal, print_wide_int)
343 (dbxout_prepare_symbol, dbxout_finish_symbol): Delete.
344 (stabstr_ob, stabstr_last_contin_point): New variables.
345 (NUMBER_FMT_LOOP): New improper macro.
346 (dbxout_int, dbxout_stab_value_zero, dbxout_stab_value_label)
347 (dbxout_stab_value_label_diff, dbxout_stab_value_internal_label)
348 (dbxout_stab_value_internal_label_diff, dbxout_stabd)
349 (dbxout_begin_stabn, dbxout_begin_stabn_sline)
350 (dbxout_begin_simple_stabs, dbxout_begin_simple_stabs_desc)
351 (dbxout_begin_complex_stabs, dbxout_finish_complex_stabs)
352 (stabstr_C, stabstr_S, stabstr_I, stabstr_D, stabstr_U, stabstr_O)
353 (stabstr_continue, DECL_ACCESSIBILITY_CHAR)
354 New functions and/or proper function-like macros.
355 (CONTIN): Use stabstr_continue, unconditionally.
356 (get_lang_number): Define unconditionally, with ATTRIBUTE_UNUSED.
357 (dbxout_init): Initialize stabstr_ob. Check
358 NO_DBX_MAIN_SOURCE_DIRECTORY. Only write out the Ltext label
359 if it was used. Use the new interfaces.
360 (dbxout_source_file): Remove file argument; always write to
361 asm_out_file. Use the new interfaces.
362 (dbxout_type_method_1): Remove second argument which is always
363 DECL_ASSEMBLER_NAME of the first argument. Use the new interfaces.
364 (dbxout_type_methods): Remove write-only variables. Use the
366 (dbxout_parms): Refactor to remove code duplicated in each of
367 several successive if-else-if blocks. Use the new interfaces.
368 (dbxout_function_end, emit_bincl_stab, dbxout_end_source_file)
369 (dbxout_source_line, dbxout_finish, dbxout_type_index)
370 (dbxout_type_fields, dbxout_range_type, dbxout_type, dbxout_type_name)
371 (dbxout_class_name_qualifiers, dbxout_symbol, dbxout_symbol_location)
372 (dbxout_symbol_name, dbxout_reg_parms, dbxout_args)
373 (dbx_output_lbrac, dbx_output_rbrac, dbxout_block):
374 Use the new interfaces.
375 * Makefile.in (dbxout.o): Update dependencies.
377 * defaults.h: Don't define ASM_STABD_OP.
378 * output.h: Prototype new dbxout_* interfaces.
379 * system.h: Poison DBX_OUTPUT_GCC_MARKER and DBX_FINISH_SYMBOL.
380 * varasm.c: Don't define ASM_STABS_OP.
381 (default_stabs_asm_out_constructor, default_stabs_asm_out_destructor):
382 Use the new dbxout.c interfaces. Call sorry if neither
383 DBX_DEBUGGING_INFO nor XCOFF_DEBUGGING_INFO is defined.
385 * xcoffout.h: Don't define ASM_STABS_OP.
386 (DBX_FINISH_SYMBOL): Rewrite and rename DBX_FINISH_STABS.
387 (DBX_OUTPUT_MAIN_SOURCE_DIRECTORY, DBX_OUTPUT_GCC_MARKER): Delete.
388 (NO_DBX_MAIN_SOURCE_DIRECTORY, NO_DBX_GCC_MARKER): Define.
389 (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Change bare block to
390 do { ... } while (0) idiom.
392 * config/alpha/alpha.c (num_source_filenames): Export.
393 * config/alpha/alpha.h (num_source_filenames): Declare.
394 (DBX_OUTPUT_SOURCE_LINE): Use new interfaces.
395 (SDB_OUTPUT_SOURCE_LINE): Add missing newline.
396 * config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Use new interfaces.
397 Always use .debugsym. Update commentary.
398 * config/mips/mips.h (DBX_OUTPUT_SOURCE_LINE): Use new interfaces.
399 (SDB_OUTPUT_SOURCE_LINE): Add missing newline.
400 * config/rs6000/linux64.h (DBX_OUTPUT_SOURCE_LINE, DBX_OUTPUT_BRAC):
402 * config/rs6000/rs6000.c: If TARGET_MACHO, include gstab.h.
403 (macho_branch_islands): Use new interfaces.
405 * doc/tm.texi: Update.
407 2004-10-26 Aldy Hernandez <aldyh@redhat.com>
409 * expr.c (emit_group_store): Do not treat floats as BLKmode.
410 (emit_group_load): Same.
412 2004-10-26 Joseph S. Myers <jsm@polyomino.org.uk>
414 * c-parse.in (datadef): Use pedwarn rather than error and warning
415 for diagnostic in case of no declaration specifiers.
417 2004-10-26 Richard Sandiford <rsandifo@redhat.com>
420 * doc/install.texi (mips-sgi-irix5): Document that /bin/sh has been
421 reported to hang during bootstrap and that CONFIG_SHELL=/bin/ksh
422 can be used to work around this.
424 2004-10-26 Aldy Hernandez <aldyh@redhat.com>
426 * config/rs6000/rs6000.h (MEMBER_TYPE_FORCES_BLK): Adjust for e500
429 2004-10-26 Kazu Hirata <kazu@cs.umass.edu>
431 * stmt.c (expand_case): Update a comment.
433 2004-10-26 Kazu Hirata <kazu@cs.umass.edu>
435 * stmt.c (expand_case): Put an assertion that index_expr is
436 never INTEGER_CST. Don't special case for constant
439 2004-10-26 Andrew Pinski <pinskia@physics.uc.edu>
442 * c-parse.in (designator): Finish with a semi-colon.
444 2004-10-26 Fariborz Jahanian <fjahanian@apple.com>
446 * config/rs6000/rs6000.md (andsi3_internal8): Set CR when splitting
449 2004-10-26 Kazu Hirata <kazu@cs.umass.edu>
451 * stmt.c (expand_case): Remove code to handle SWITCH_EXPR with
454 2004-10-26 Aldy Hernandez <aldyh@redhat.com>
456 * config/rs6000/rs6000.c (rs6000_hard_regno_nregs): Adjust for
458 (spe_build_register_parallel): New.
459 (rs6000_spe_function_arg): Handle e500 doubles.
460 (function_arg): Same.
461 (spe_func_has_64bit_regs_p): Same.
462 (rs6000_function_value): Same.
463 (rs6000_libcall_value): Same.
464 (legitimate_lo_sum_address_p): Return false for e500 doubles.
466 * config/rs6000/rs6000.h (LOCAL_ALIGNMENT): Adjust for e500
468 (DATA_ALIGNMENT): Same.
469 (CANNOT_CHANGE_MODE_CLASS): Same.
471 2004-10-26 Aldy Hernandez <aldyh@redhat.com>
473 * expr.c (emit_group_load): Handle floats.
474 (emit_group_store): Same.
476 2004-10-26 Nathan Sidwell <nathan@codesourcery.com>
478 * c-lex.c (get_nonpadding_token): Remove.
479 (c_lex_with_flags): Push timevar and eat padding here. Improve
480 stray token diagnostic.
481 (lex_string): Replace logic with switch statement, eat padding
484 2004-10-26 Geoffrey Keating <geoffk@apple.com>
487 * config/i386/darwin.h (ASM_SPEC): Undef it before defining.
489 2004-10-25 Geoffrey Keating <geoffk@apple.com>
491 * config/darwin.h (LINK_SPEC): Default weak_reference_mismatches
493 (MAKE_DECL_ONE_ONLY): Set DECL_WEAK.
494 (ASM_MAKE_LABEL_LINKONCE): Delete.
495 (ASM_WEAKEN_DECL): New.
496 (ASM_DECLARE_OBJECT_NAME): Look at DECL_WEAK not DECL_ONE_ONLY.
497 (ASM_DECLARE_FUNCTION_NAME): Likewise.
498 (TEXT_SECTION_ASM_OP): Add a tab.
499 (DATA_SECTION_ASM_OP): Likewise.
500 (SECTION_FUNCTION): Add a tab. Use fputs. Don't call
501 data_section on every section change.
502 (EXTRA_SECTIONS): Add a bunch of new extra sections.
503 (EXTRA_SECTION_FUNCTIONS): Likewise.
504 (USE_SELECT_SECTION_FOR_FUNCTIONS): Define.
505 (JCR_SECTION_NAME): Define.
506 (TARGET_SECTION_TYPE_FLAGS): Don't define.
507 * config/darwin.c (darwin_encode_section_info): A symbol is defined
508 in this file if it is not weak.
509 (textcoal_section): Delete.
510 (datacoal_section): Delete.
511 (darwin_make_decl_one_only): Delete.
512 (machopic_select_section): Handle functions.
513 (darwin_asm_named_section): Add a tab.
514 (darwin_section_type_flags): Delete.
515 (darwin_unique_section): Delete contents.
516 (darwin_emit_unwind_label): Add a tab. Make decls weak if
518 * config/darwin-protos.h (darwin_section_type_flags): Delete.
519 (darwin_make_decl_one_only): Delete.
520 (text_coal_section): New.
521 (text_unlikely_section): New.
522 (text_unlikely_coal_section): New.
523 (const_coal_section): New.
524 (data_coal_section): New.
525 (const_data_coal_section): New.
526 * varasm.c (function_section): Honour
527 USE_SELECT_SECTION_FOR_FUNCTIONS.
528 * dwarf2out.c (output_call_frame_info): Look at DECL_WEAK when
529 TARGET_USES_WEAK_UNWIND_INFO is in effect.
530 * dbxout.c (dbxout_source_file): Don't change sections while
531 a function is being output.
533 2004-10-25 David Ayers <d.ayers@inode.at>
535 * c-common.h: Remove RID_ID.
536 * c-parse.in: Remove OBJECTNAME and references to RID_ID.
537 (typespec_reserved_attr): Add rule for TYPENAME
538 non_empty_protocolrefs.
539 (yylexname): Remove special handling of RID_ID.
541 2004-10-25 James E Wilson <wilson@specifixinc.com>
543 * doc/invoke.texi (-fcrossjumping): Not enabled at -O.
545 2004-10-25 Joseph S. Myers <jsm@polyomino.org.uk>
548 * c-parse.in (array_designator): New.
549 (designator): Use it.
550 (initelt): Only permit array_designator without '=', not ".foo".
552 2004-10-25 Kenneth Zadeck <zadeck@naturalbridge.com>
553 * gcc/Makefile.in: removed ggc for cgraphunit.
554 * gcc/cgraph.c.dump_cgraph_node: removed static var analysis.
555 * gcc/cgraph.h: removed static var analysis data structures and calls.
557 cgraph_mark_local_and_external_functions:changed name to
558 cgraph_mark_local_functions
559 (print_order,convert_UIDs_in_bitmap,new_static_vars_info,
560 cgraph_reset_static_var_maps,get_global_static_vars_info,
561 get_global_statics_not_read,get_global_statics_not_written,searchc,
562 cgraph_reduced_inorder,has_proper_scope_for_analysis,check_rhs_var,
563 check_lhs_var,get_asm_expr_operands,process_call_for_static_vars,
564 scan_for_static_refs,cgraph_characterize_statics_local,
565 clear_static_vars_maps,cgraph_propagate_bits,cgraph_characterize_statics):
567 (cgraph_optimize,init_cgraph): removed calls to static vars analysis
568 * gcc/tree-dfa.c find_referenced_vars: removed call to static vars
570 * gcc/tree-flow.h static_vars_info: removed
571 * gcc/tree-ssa-operands.c (add_call_clobber_ops,add_call_read_ops):
572 removed calls to static vars analysis.
573 get_call_expr_operands: removed callee variable.
575 2004-10-25 Kazu Hirata <kazu@cs.umass.edu>
577 * cfg.c (unchecked_make_edge, redirect_edge_succ,
578 redirect_edge_pred): Use VEC_safe_push instead of
580 * cfgrtl.c (force_nonfallthru_and_redirect): Likewise.
582 2004-10-25 Kazu Hirata <kazu@cs.umass.edu>
584 * cfgloopmanip.c (loopify): Take two more arguments true_edge
586 * cfgloop.h: Adjust the corresponding prototype.
587 * loop-unswitch.c (unswitch_loop): Adjust a call to loopify.
588 * tree-ssa-loop-manip.c (tree_ssa_loop_version): Likewise.
590 2004-10-25 Jakub Jelinek <jakub@redhat.com>
592 * dwarf2out.c (rtl_for_decl_location): Avoid segfault if
593 DECL_INCOMING_RTL is NULL.
595 2004-10-25 Steven Bosscher <stevenb@suse.de>
597 * timevar.def (TV_FIND_REFERENCED_VARS): New.
598 * tree-dfa.c (pass_referenced_var): Use it.
600 2004-10-25 Roger Sayle <roger@eyesopen.com>
601 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
603 * cse.c: Change encoding of quantity numbers to avoid undefined
604 pointer arithmetic on qty_table.
605 (REGNO_QTY_VALID_P): A quantity is now valid if it isn't negative.
606 (get_cse_reg_info): Initialize reg_qty to a unique negative value.
607 (new_basic_block): Assign "real" quantity numbers from zero.
608 (delete_reg_equiv): Do nothing if quantity is invalid. Reset the
609 REG_QTY to its unique negative value.
610 (merge_equiv_classes): Calculate need_rehash if quantity is valid.
611 (cse_main): Don't include max_reg when determining max_qty.
612 (cse_basic_block): Avoid subtracting a large offset from qty_table,
613 which causes undefined C99 behaviour. Only allocate needed memory.
615 2004-10-25 Kazu Hirata <kazu@cs.umass.edu>
617 * stmt.c (expand_case): Remove an obsolete comment.
619 2004-10-25 Andrew Pinski <pinskia@physics.uc.edu>
622 * c-decl.c (grokdeclarator) <case cdk_array>: Remove the call
623 layout_type as it is already done by build_array_type.
624 * tree.c (build_array_type): Layout the type even
626 2004-10-25 Alexandre Oliva <aoliva@redhat.com>
628 * config/frv/linux.h (TARGET_C99_FUNCTIONS): Define to 0.
630 2004-10-25 Alexandre Oliva <aoliva@redhat.com>
632 * config/frv/frv.md (movdi, movdf): Handle wide-constant splits
633 with wider-than-32-bit HOST_WIDE_INTs.
635 2004-10-25 David Billinghurst <David.Billinghurst@riotinto.com>
637 * config/mips/mips.c(mips_output_filename): Remove unused
638 array ltext_label_name
640 2004-10-24 Geoffrey Keating <geoffk@geoffk.org>
642 * config/rs6000/darwin.h (BLOCK_REG_PADDING): Define.
644 2004-10-25 Ben Elliston <bje@au.ibm.com>
646 * cfgcleanup.c (outgoing_edges_match): Fix typo in dump output.
648 2004-10-23 Andrew Pinski <pinskia@physics.uc.edu>
650 * predict.c (predict_loops): Call scev_finalize instead of
653 2004-10-24 Kazu Hirata <kazu@cs.umass.edu>
655 * config/dbxcoff.h, config/dbxelf.h, config/libgloss.h,
656 config/openbsd.h, config/mips/r3900.h, config/pdp11/pdp11.md,
657 config/sh/ushmedia.h, config/sparc/elf.h,
658 config/sparc/sp64-elf.h: Update copyright.
660 2004-10-24 Kazu Hirata <kazu@cs.umass.edu>
662 * stmt.c (expand_case): Handle the default label outside of
663 the for loop. Remove code to handle a missing default label.
665 2004-10-23 Kazu Hirata <kazu@cs.umass.edu>
667 * dbxout.c (dbxout_function_decl): Don't use
668 DBX_OUTPUT_FUNCTION_END.
669 * system.h: Poison DBX_OUTPUT_FUNCTION_END.
670 * doc/tm.texi (DBX_OUTPUT_FUNCTION_END): Remove.
672 2004-10-23 Andrew Pinski <pinskia@physics.uc.edu>
675 * tree-cfg.c (remove_usless_stmts_cond): Don't Fold statement.
677 2004-10-23 Daniel Berlin <dberlin@dberlin.org>
679 * tree-ssa-dom.c (record_equality): Use loop depth to determine
680 which way to record the equality as well.
681 (loop_depth_of_name): New function.
683 2004-10-23 Eric Botcazou <ebotcazou@libertysurf.fr>
686 * gimplify.c (gimplify_addr_expr) <VIEW_CONVERT_EXPR>: Look
687 through the operand if it is a useless type conversion.
689 2004-10-23 Ben Elliston <bje@au.ibm.com>
691 * cfg.c (remove_edge): Use VEC_unordered_remove.
692 (redirect_edge_succ): Likewise.
693 (redirect_edge_pred): Likewise.
694 * cfgrtl.c (force_nonfallthru_and_redirect): Likewise.
696 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
698 * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP): Don't access PTR
701 2004-10-22 Eric Christopher <echristo@redhat.com>
703 * config/rs6000/rs6000.c (setup_incoming_varargs): Align DFmode
706 2004-10-22 Aldy Hernandez <aldyh@redhat.com>
708 * config/rs6000/spe.md (spe_extendsfdf2): New.
709 (movdf_e500_double): New.
710 (spe_truncdfsf2): New.
717 (spe_floatsidf2): New.
718 (spe_floatunssidf2): New.
719 (fix_truncdfsi2): New.
720 (spe_fixuns_truncdfsi2): New.
722 * config/rs6000/rs6000.md (truncdfsf2): Change to expander.
723 (fpr_truncdfsf2): New.
724 (negdf2): Change to expander.
726 (fpr_nabsdf2): Name pattern.
727 (adddf3): Change to expander.
729 (subdf3): Change to expander.
731 (muldf3): Change to expander.
733 (divdf3): Change to expander.
735 (movdf_softfloat32): Change !TARGET_FPRS to TARGET_E500_SINGLE.
736 (cmpdf): Allow for TARGET_E500_DOUBLE.
738 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
740 * c-semantics.c (re_push_stmt_list): Remove.
741 * c-common.h: Remove the corresponding prototype.
743 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
745 * stmt.c (asm_op_is_mem_input): Remove.
746 * tree.h: Remove the corresponding prototype.
748 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
750 * tree-gimple.c (is_gimple_constructor_elt): Remove.
751 * tree-gimple.h: Remove the corresponding prototype.
753 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
755 * varasm.c (get_pool_mode_for_function, get_pool_offset):
757 * rtl.h: Remove the corresponding prototypes.
759 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
761 * tree-cfg.c (thread_jumps_from_bb): Speed up by extracting
762 edge information when we commit ourselves to threading a
765 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
767 * tree-cfg.c (thread_jumps): Speed up by putting basic blocks
768 into worklist instead of their indexes.
770 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
772 * alias.c, basic-block.h, cgraphunit.c, combine.c, domwalk.h,
773 final.c, gengtype.c, genpreds.c, ggc-page.c, insn-notes.def,
774 lambda-code.c, loop-unroll.c, modulo-sched.c, pointer-set.c,
775 pretty-print.c, ra-colorize.c, sbitmap.c, tree-complex.c,
776 tree-data-ref.c, tree-dfa.c, tree-inline.c, tree-into-ssa.c,
777 tree-scalar-evolution.c, tree-ssa-dom.c,
778 tree-ssa-loop-manip.c, tree-ssa-loop-niter.c,
779 tree-ssa-phiopt.c, tree-ssa-pre.c, tree-ssa-threadupdate.c,
780 tree-vectorizer.c, vec.h: Fix comment formatting.
782 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
784 * dwarf.h, gthr-dce.h, gthr-single.h, gthr-solaris.h, gthr.h,
785 libfuncs.h, libgcc2.h, stab.def, tsystem.h: Update copyright.
787 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
789 * config/ptx4.h, config/mcore/mcore-pe.h,
790 config/rs6000/eabi.h, config/vax/elf.h: Update copyright.
792 2004-10-22 Peter Barada <peter@the-baradas.com>
794 * config/m68k/m68k.h (HARD_REGNO_RENAME_OK): New macro.
795 * config/m68k/m68k.c (m68k_hard regno_rename_ok): Disallow
796 renaming of non-live registers in interrupt functions.
797 * config/m68k/m68k-protos.h (m68k_hard_regno_rename_ok): Add prototype.
799 2004-10-22 Zdenek Dvorak <dvorakz@suse.cz>
801 * tree-ssa-loop-niter.c (inverse): Count in HOST_WIDE_INT if possible.
802 Use integer for loop counter.
803 (num_ending_zeros): New function.
804 (number_of_iterations_cond): Use num_ending_zeros.
806 2004-10-21 Aldy Hernandez <aldyh@redhat.com>
808 * config.gcc: Add support for --enable-e500_double.
810 * config/rs6000/e500-double.h: New file.
812 * config/rs6000/rs6000.h: Define TARGET_E500_SINGLE and
815 * config/rs6000/eabi.h: Define TARGET_E500_SINGLE and
818 * config/rs6000/linuxspe.h: Same.
820 * doc/invoke.texi (Option Summary): Document new options for
822 (RS/6000 and PowerPC Options): Same.
824 * config/rs6000/rs6000.c (rs6000_parse_float_gprs_option): New
826 (rs6000_override_options): Use it. Use
827 SUB3TARGET_OVERRIDE_OPTIONS.
828 Add 8548 to processor_target_table.
829 (rs6000_legitimate_address): Handle e500 doubles.
830 (rs6000_legitimize_address): Same.
831 (rs6000_legitimize_reload_address): Same.
832 (rs6000_hard_regno_nregs): Same.
833 (spe_func_has_64bit_regs_p): Same.
834 (emit_frame_save): Same.
835 (gen_frame_mem_offset): Same.
836 (rs6000_dwarf_register_span): Same.
837 (rs6000_generate_compare): Same.
838 (easy_fp_constant): Same.
839 (legitimate_offset_address_p): Same.
841 * config/rs6000/spe.md: (cmdfeq_gpr): New.
850 2004-10-21 Giovanni Bajo <giovannibajo@gcc.gnu.org>
852 * config/arc/lib1funcs.asm (___umulsidi3): Fix typo.
854 2004-10-21 Zack Weinberg <zack@codesourcery.com>
856 * dbxout.c: Remove unnecessary #undefs.
857 (GDB_INV_REF_REGPARM_STABS_LETTER, DBX_MEMPARM_STABS_LETTER)
858 (FILE_NAME_JOINER, STABS_GCC_MARKER): Remove; fold sole
859 definition into use sites.
860 (cwd): Make local to dbxout_init.
861 (dbxout_init): Restructure cwd-using logic for clarity. Use
863 * xcoffout.h (DBX_OUTPUT_GCC_MARKER): Definition of
864 STABS_GCC_MARKER folded in here.
865 * system.h: Poison now-unused macros.
866 * doc/tm.texi: Remove documentation of now-unused macros.
868 2004-10-21 Andrew Pinski <pinskia@physics.uc.edu>
871 * c-opts.c (push_command_line_include): Use the current file
872 name instead of the main one.
874 2004-10-21 Andrew Pinski <pinskia@physics.uc.edu>
877 * tree.c (staticp): A CONST_DECL has static storage if either
878 TREE_STATIC or DECL_EXTERNAL is set.
879 * c-decl.c (pushdecl_top_level): Accept CONST_DECLs which can
882 2004-10-21 Kazu Hirata <kazu@cs.umass.edu>
884 * expr.c (store_expr): Remove dont_store_target.
886 2004-10-21 Kazu Hirata <kazu@cs.umass.edu>
888 * tree-cfg.c (thread_jumps): Speed up by using a worklist.
890 2004-10-21 Kazu Hirata <kazu@cs.umass.edu>
892 * tree-cfg.c (thread_jumps): Move a part of it to ...
893 (thread_jumps_from_bb): ... here.
895 2004-10-21 David Edelsohn <edelsohn@gnu.org>
897 * dbxout.c (DBX_FINISH_SYMBOL): Add asm_out_file argument.
898 * xcoffout.h (DBX_FINISH_SYMBOL): Change asmfile to (ASMFILE).
900 2004-10-21 Kazu Hirata <kazu@cs.umass.edu>
902 * expr.c (store_expr): Clean up by renaming want_value to
905 2004-10-21 Kaz Kojima <kkojima@gcc.gnu.org>
907 * config/sh/linux-unwind.h (sh_fallback_frame_state): Don't
910 2004-10-21 Aldy Hernandez <aldyh@redhat.com>
913 * expmed.c (store_bit_field): Pass original 'value' before
916 2004-10-21 Nicolas Pitre <nico@cam.org>
918 * config/arm/ieee754-sf.S: Large speed improvements. Fix NAN handling.
919 * config/arm/ieee754-df.S: Ditto.
921 2004-10-20 Zack Weinberg <zack@codesourcery.com>
923 * dbxout.c (asmfile): Delete. All uses changed to asm_out_file.
924 (DBX_BLOCKS_FUNCTION_RELATIVE, DBX_LINES_FUNCTION_RELATIVE):
926 (dbxout_source_line): Use DBX_OUTPUT_SOURCE_LINE when defined.
927 When it is not, but DBX_LINES_FUNCTION_RELATIVE is true, emit
928 an internal label and an N_SLINE .stabn whose value is the
929 difference between that label and the function entry label.
930 (dbxout_finish): If DBX_OUTPUT_MAIN_SOURCE_FILE_END is not defined,
931 but DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END is, emit a
932 label and an N_SO stab with an empty string referring to it.
933 (dbx_output_lbrac, dbx_output_rbrac): Use if statement instead
934 of #ifdef directive to test DBX_BLOCKS_FUNCTION_RELATIVE.
935 (dbxout_type_methods, dbxout_symbol): Remove #if 0 block.
936 (dbxout_prepare_symbol): Remove #ifdef WINNING_GDB block, this
937 macro is never defined.
938 * sdbout.c (sdbout_source_line_counter): Delete.
939 (PUT_SDB_SRC_FILE): Delete. Uses replaced with sole definition.
940 (sdbout_source_line): Use SDB_OUTPUT_SOURCE_LINE, which takes
942 * xcoffout.c (ASM_OUTPUT_SOURCE_LINE): Rename ASM_OUTPUT_LINE.
944 * config/dbxcoff.h, config/dbxelf.h: Remove unncessary #undefs.
945 * config/c4x/c4x.h, config/pa/pa.h: Remove unnecessary macro
946 definitions (identical to default).
947 * config/darwin.h, config/dbxcoff.h, config/dbxelf.h, config/ptx4.h
948 * config/h8300/coff.h, config/pa/som.h, config/sh/elf.h:
949 Define DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END, not
950 DBX_OUTPUT_MAIN_SOURCE_FILE_END.
951 * config/dbxcoff.h, config/dbxelf.h, config/ptx4.h
952 * config/mcore/mcore-pe.h, config/pa/som.h, config/sh/elf.h:
953 Define DBX_LINES_FUNCTION_RELATIVE, not ASM_OUTPUT_SOURCE_LINE.
954 * config/alpha/alpha-protos.h: Don't prototype alpha_output_lineno.
955 * config/alpha/alpha.c: Move declaration of num_source_filenames up.
956 (alpha_start_function): Use SDB_OUTPUT_SOURCE_LINE.
957 (sym_lineno): Delete.
958 (alpha_output_filename): Do not emit N_SOL stabs here. Remove
960 (alpha_output_lineno): Delete.
961 * config/mips/mips-protos.h: Don't prototype mips_output_lineno.
962 * config/mips/mips.c (mips_output_filename): Don't use
963 ASM_OUTPUT_FILENAME. Don't emit N_SOL stabs here.
964 (mips_output_lineno): Delete.
965 (mips_output_function_prologue: Use SDB_OUTPUT_SOURCE_LINE.
966 * config/alpha/alpha.h: Define DBX_OUTPUT_SOURCE_LINE and
967 SDB_OUTPUT_SOURCE_LINE, not ASM_OUTPUT_SOURCE_LINE.
968 * config/mips/mips.h: Likewise. Don't define ASM_OUTPUT_FILENAME.
969 * config/mips/sdb.h: Use SDB_OUTPUT_SOURCE_LINE.
970 * config/avr/avr.h: Don't define ASM_OUTPUT_SOURCE_LINE.
971 * config/mmix/mmix.h: Likewise.
972 * config/mmix/mmix.c (mmix_asm_output_source_line): Delete.
973 * config/mmix/mmix-protos.h: Don't prototype it.
974 * config/alpha/unicosmk.h: Also #undef PREFERRED_DEBUGGING_TYPE;
975 no need to #undef ASM_OUTPUT_SOURCE_LINE.
976 * config/arm/aout.h: Remove RISCiX-specific definition of
977 DBX_OUTPUT_MAIN_SOURCE_FILENAME.
978 * config/m32r/m32r.h: Define DBX_OUTPUT_SOURCE_LINE, not
979 ASM_OUTPUT_SOURCE_LINE.
980 * config/rs6000/linux64.h (ASM_OUTPUT_SOURCE_LINE): Rename to
981 DBX_OUTPUT_SOURCE_LINE. Don't use current_function_func_begin_label.
982 * config/vax/elf.h: No need to define DBX_OUTPUT_FUNCTION_END.
984 * doc/tm.texi: Update.
986 2004-10-20 Richard Henderson <rth@redhat.com>
988 * tree-sra.c (instantiate_element): Copy DECL_IGNORED_P also.
990 2004-10-20 Kelley Cook <kcook@gcc.gnu.org>
992 * configure.ac: Revert my previous patch.
993 * configure: Regenerate.
995 2004-10-20 Ben Elliston <bje@au.ibm.com>
997 * config/rs6000/rs6000.c
998 (rs6000_va_start): Use build_va_arg_indirect_ref.
999 (rs6000_gimplify_va_arg): Likewise.
1001 2004-10-20 Bryce McKinlay <mckinlay@redhat.com>
1004 * configure.ac: Declare AM_LANGINFO_CODESET.
1005 * aclocal.m4: Define AM_LANGINFO_CODESET.
1006 * configure, config.in: Rebuilt.
1008 2004-10-20 Kazu Hirata <kazu@cs.umass.edu>
1010 * expr.c (store_expr): Remove code that is run when
1011 want_value & 1 is nonzero.
1013 2004-10-20 Mark Mitchell <mark@codesourcery.com>
1015 * gthr-posix.h (__gthread_active_p): Use __extension__ around cast
1016 from function pointer to void *.
1018 2004-10-20 Kaz Kojima <kkojima@gcc.gnu.org>
1021 * config/sh/sh.c (sh_expand_epilogue): Emit a blockage insn before
1022 the frame pointer adjustment when exception handling is enabled.
1024 2004-10-20 Kazu Hirata <kazu@cs.umass.edu>
1026 * stor-layout.c: Fix a comment typo.
1028 2004-10-20 Kazu Hirata <kazu@cs.umass.edu>
1030 * expr.c (store_field): Remove two arguments value_mode and
1032 (expand_assignment, store_constructor_field,
1033 expand_expr_real_1): Adjust calls to store_field.
1035 2004-10-18 Ramana Radhakrishnan <ramana.radhakrishnan@codito.com>
1037 * config/arc/lib1funcs.asm (___umulsidi3): Correct usage of flags.
1040 * config/arc/arc.h (REGNO_OK_FOR_BASE_P,REGNO_OK_FOR_INDEX_P,
1041 REG_OK_FOR_BASE, REG_OK_FOR_INDEX): Consider blink(r31) as a valid
1042 base and index register for loads.
1044 * config/arc/t-arc: Fix multilib handling.
1046 2004-10-20 Hans-Peter Nilsson <hp@bitrange.com>
1048 * cfgrtl.c (rtl_verify_flow_info_1): When checking insns in a bb,
1049 don't inspect BLOCK_FOR_INSN for barriers.
1050 * emit-rtl.c (emit_barrier_before): Revert last change.
1051 (emit_barrier_after, emit_barrier): Ditto.
1053 * doc/extend.texi (Extended Asm): Warn and provide example
1054 solution for using a call-clobbered asm register.
1055 (Local Reg Vars): Similar. Cross-reference example.
1057 2004-10-19 Andrew Pinski <pinskia@physics.uc.edu>
1059 * tree-cfg.c (group_case_labels): Look at the second to last
1060 case statement for combing with the default case.
1062 2004-10-19 Richard Hendeson <rth@redhat.com>
1065 * stor-layout.c (layout_type): Set TYPE_ALIGN for vectors.
1067 2004-10-19 Richard Hendeson <rth@redhat.com>
1069 * builtins.c (expand_builtin_memmove): If fold_builtin_memmove
1070 succeeds, only expand the result.
1072 2004-10-19 Richard Hendeson <rth@redhat.com>
1075 * tree.c (recompute_tree_invarant_for_addr_expr): Always poll address
1078 2004-10-19 Kazu Hirata <kazu@cs.umass.edu>
1080 * tree-cfg.c (thread_jumps): Use a do-while loop instead of a
1083 2004-10-19 Kazu Hirata <kazu@cs.umass.edu>
1085 * expr.c (expand_assignment): Remove the last argument.
1086 Change the return type to void.
1087 * expr.h: Update the prototype of expand_assignment.
1088 * function.c (assign_parm_setup_reg): Update a call to
1090 * stmt.c (expand_asm_expr): Likewise.
1092 2004-10-19 Kazu Hirata <kazu@cs.umass.edu>
1094 * expr.c (expand_expr_real_1) <MODIFY_EXPR>: Remove
1095 unnecessary assignments to temp. Return const0_rtx.
1097 2004-10-19 Kaz Kojima <kkojima@gcc.gnu.org>
1099 * config/sh/sh.c (sh5_schedule_saves): Fix typo.
1101 2004-10-18 Kelley Cook <kcook@gcc.gnu.org>
1103 * configure.ac (powerpc-*-darwin*): Require assembler to support
1105 * configure: Regenerate.
1107 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
1109 * reload1.c (ior_hard_reg_set): Remove.
1110 (finish_spills): Use IOR_HARD_REG_SET instead of
1113 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
1115 * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP): Speed up by shifting
1116 the currently visited word to right.
1118 2004-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
1121 * expmed.c (expand_smod_pow2): Handle modes whose size
1122 is greater than that of HOST_WIDE_INT.
1124 2004-10-18 Ziemowit Laski <zlaski@apple.com>
1126 * c-parse.in (reservedwords): Add OBJC_TYPE_QUAL as alternative.
1128 2004-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
1129 Roger Sayle <roger@eyesopen.com>
1132 * dojump.c (discard_pending_stack_adjust): New function.
1133 (clear_pending_stack_adjust): Call it.
1134 * expr.h (discard_pending_stack_adjust): Declare it.
1135 * explow.c (emit_stack_save): Emit pending stack adjustments
1136 before saving the stack pointer.
1137 (emit_stack_restore): Discard pending stack adjustments before
1138 restoring the stack pointer.
1140 2004-10-18 Richard Henderson <rth@redhat.com>
1142 * c-common.c (handle_mode_attribute): Allow scalar->vector
1145 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
1147 * expr.c (expand_expr_real_1) [MODIFY_EXPR]: Don't request a
1148 value to expand_assignment.
1150 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
1152 * tree-cfg.c (cleanup_tree_cfg): Don't iterate on
1154 (thread_jumps): Iterate until no new forwarder block arises.
1156 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
1158 * tree-cfg.c (tree_forwarder_block_p): Don't set forwardable.
1159 (thread_jumps): Use forwardable as cache of
1160 tree_forwarder_block_p throughout the function.
1162 2004-10-18 Andreas Krebbel <krebbel1@de.ibm.com>
1164 * cfg.c (dump_flow_info): Remove redundant dump of reg life info.
1166 2004-10-18 Andrew Pinski <pinskia@physics.uc.edu>
1170 * tree-cfg.c (remove_bb): If we have a label expression in the
1171 basic block and the label we have taken the address, move the
1172 label expression to the basic block which is previous in the
1174 (tree_verify_flow_info): Fix printing out the label name of the
1175 problematic label expression.
1177 2004-10-18 Pat Haugen <pthaugen@us.ibm.com>
1179 PR rtl-optimization/18002
1180 * simplify-rtx.c (mode_signbit_p): Externalize function...
1181 * rtl.h (mode_signbit_p): ... to here.
1182 * combine.c (simplify_shift_const): Recognize PLUS signbit as
1183 canonical form of XOR signbit and move to outer op.
1185 2004-10-18 Diego Novillo <dnovillo@redhat.com>
1187 * tree-cfg.c (bsi_for_stmt): Rename from stmt_for_bsi.
1189 * tree-ssa.c (replace_immediate_uses): Call bsi_for_stmt.
1190 Don't call fold_stmt more than once, use bsi_replace.
1192 2004-10-18 Diego Novillo <dnovillo@redhat.com>
1194 PR tree-optimization/17656
1195 * tree-ssa.c (replace_immediate_uses): When replacing a
1196 constant, if the call to fold_stmt produced a different
1197 statement, get an appropriate statement pointer by scanning
1200 2004-10-18 Richard Henderson <rth@redhat.com>
1202 * pointer-set.c (hash1): Don't use libm functions in fallback case.
1204 2004-10-18 H.J. Lu <hongjiu.lu@intel.com>
1207 * Makefile.in (clean): Remove libgcc_s$(SHLIB_EXT).1.stage?.
1208 (stage1-start): Remove and copy libunwind.a and
1209 libunwind*$(SHLIB_EXT) instead of libunwind*.
1210 (stage2-start): Likewise.
1211 (stage3-start): Likewise.
1212 (stage4-start): Likewise.
1213 (stageprofile-start): Likewise.
1214 (stagefeedback-start): Likewise.
1216 * config/alpha/t-osf4 (SHLIB_LINK): Use a temporary file for
1217 the shared library to be created and don't remove the existing
1219 * config/arm/t-netbsd (SHLIB_LINK): Likewise.
1220 * config/i386/t-nwld (SHLIB_LINK): Likewise.
1221 * config/mips/t-slibgcc-irix (SHLIB_LINK): Likewise.
1222 * config/pa/t-hpux-shlib (SHLIB_LINK): Likewise.
1223 * config/sh/t-linux (SHLIB_LINK): Likewise.
1224 * config/t-libunwind-elf (SHLIBUNWIND_LINK): Likewise.
1225 * config/t-slibgcc-darwin (SHLIB_LINK): Likewise.
1226 * config/t-slibgcc-elf-ver (SHLIB_LINK): Likewise.
1227 * config/t-slibgcc-sld (SHLIB_LINK): Likewise.
1229 * mklibgcc.in (libgcc-stage-start): Also move "*${objext}s"
1232 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
1234 * basic-block.h (reg_set_iterator): New.
1235 (EXECUTE_IF_SET_IN_REG_SET): Make it iterator style.
1236 (EXECUTE_IF_AND_COMPL_IN_REG_SET): Likewise.
1237 (EXECUTE_IF_AND_IN_REG_SET): Likewise.
1238 * caller-save.c (save_call_clobbered_regs): Adjust to the new
1240 * cfgcleanup.c (thread_jump): Likewise.
1241 * cfgrtl.c (safe_insert_insn_on_edge): Likewise.
1242 * conflict.c (conflict_graph_compute): Likewise.
1243 * flow.c (verify_local_live_at_start, update_life_info,
1244 initialize_uninitialized_subregs, propagate_one_insn,
1245 init_propagate_block_info, free_propagate_block_info,
1246 propagate_block, dump_regset): Likewise.
1247 * global.c (global_conflicts): Likewise.
1248 * graph.c (start_bb): Likewise.
1249 * local-alloc.c (update_equiv_regs): Likewise.
1250 * loop.c (load_mems): Likewise.
1251 * reload1.c (compute_use_by_pseudos, order_regs_for_reload,
1252 find_reg, finish_spills): Likewise.
1253 * resource.c (mark_target_live_regs): Likewise.
1254 * sched-deps.c (sched_analyze_insn): Likewise.
1255 * sched-rgn.c (sched-rgn.c): Likewise.
1256 * config/frv/frv.c (frv_ifcvt_modify_tests): Likewise.
1258 2004-10-18 Jakub Jelinek <jakub@redhat.com>
1260 * config/i386/i386.md (addqi_1_slp): Test for incdec_operand
1261 operand 1 instead of 2
1263 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
1265 * loop-unroll.c: Fix comment typos.
1267 2004-10-18 Revital Eres <eres@il.ibm.com>
1269 * Makefile.in (loop-unroll.o): Add VARRAY_H dependency.
1270 * loop-unroll.c: Include varray.h.
1271 (struct var_to_expand, struct opt_info): Rename split_ivs_info to
1272 opt_info and expand it to support variable expansion.
1273 (analyze_insns_in_loop): Rename analyze_ivs_to_split and
1274 expand it to support variable expansion.
1275 (pt_info_start_duplication): Rename si_info_start_duplication.
1276 (apply_opt_in_copies): Rename split_ivs_in_copies and add support
1277 to the variable expansion optimization.
1278 (free_opt_info): Rename free_si_info.
1279 (analyze_insn_to_expand_var, referenced_in_one_insn_in_loop_p,
1280 expand_var_during_unrolling, insert_var_expansion_initialization,
1281 combine_var_copies_in_loop_exit, release_var_copies,
1282 get_expansion): New functions.
1283 (peel_loop_completely, unroll_loop_constant_iterations,
1284 unroll_loop_runtime_iterations, peel_loop_simple,
1285 unroll_loop_stupid): Change uses of struct si_info
1287 and add uses of fvariable-expansion-in-unroller flag.
1288 * params.def: Add parameter to restrict the number of expansions.
1289 * params.h: (MAX_VARIABLE_EXPANSIONS): New define to restrict
1290 the number of expansions.
1291 * common.opt: (fvariable-expansion-in-unroller): New flag.
1292 * doc/invoke.texi: (fvariable-expansion-in-unroller): Document.
1294 2004-10-18 Danny Smith <dannysmith@users.sourceforge.net>
1296 * config/i386/cygming.h (TARGET_OS_CPP_BUILTINS): Define
1297 __GXX_MERGED_TYPEINFO_NAMES to 0.
1299 2004-10-17 Hans-Peter Nilsson <hp@bitrange.com>
1301 * cfgrtl.c (rtl_verify_flow_info_1): When checking insns in a bb,
1302 handle barriers in a bb by checking that it points to a NULL bb.
1303 * emit-rtl.c (emit_barrier_before): Set BLOCK_FOR_INSN to NULL.
1304 (emit_barrier_after, emit_barrier): Ditto.
1306 2004-10-18 Joseph S. Myers <jsm@polyomino.org.uk>
1308 * doc/extend.texi (Attribute Syntax): Clarify details of
1309 attributes on parameters.
1311 2004-10-17 Zdenek Dvorak <dvorakz@suse.cz>
1313 * tree-ssa-loop-ivopts.c (tree_ssa_iv_optimize): Move checking out of
1316 2004-10-17 Andrew Pinski <pinskia@physics.uc.edu>
1319 2004-10-17 Andrew Pinski <pinskia@physics.uc.edu>
1321 * c-typeck.c (default_function_array_conversion): Always create
1322 &a[0] for array types.
1323 (build_unary_op): Do not fold &a[x] into a + x.
1325 2004-10-17 Andrew Pinski <pinskia@physics.uc.edu>
1328 * cfgexpand.c (expand_gimple_cond_expr): Emit line notes for next basic
1329 block if there is a goto with a locus.
1331 2004-10-17 Kazu Hirata <kazu@cs.umass.edu>
1333 * config/elfos.h, config/gofast.h, config/interix.h,
1334 config/netbsd.h, config/svr3.h, config/vxworks.h,
1335 config/alpha/alpha-modes.def, config/alpha/alpha-protos.h,
1336 config/alpha/ev4.md, config/alpha/ev5.md, config/alpha/ev6.md,
1337 config/alpha/netbsd.h, config/arm/arm-modes.def,
1338 config/arm/unknown-elf.h, config/c4x/c4x-modes.def,
1339 config/cris/aout.h, config/frv/frv-modes.def,
1340 config/i386/beos-elf.h, config/i386/gas.h,
1341 config/i386/i386-coff.h, config/i386/i386-modes.def,
1342 config/i386/linux.h, config/i386/linux64.h,
1343 config/i386/mingw32.h, config/i386/netbsd-elf.h,
1344 config/i386/netbsd64.h, config/i386/sco5.h,
1345 config/i386/sol2.h, config/i386/uwin.h, config/i860/i860.md,
1346 config/ia64/ia64-modes.def, config/ia64/itanium1.md,
1347 config/ia64/itanium2.md, config/m68k/m68k-modes.def,
1348 config/mips/mips-modes.def, config/mips/sdb.h,
1349 config/mips/vr.h, config/mips/vxworks.h,
1350 config/pa/pa-hpux10.h, config/pa/pa-hpux11.h,
1351 config/pa/pa32-linux.h, config/rs6000/40x.md,
1352 config/rs6000/7450.md, config/rs6000/8540.md,
1353 config/rs6000/linuxspe.h, config/rs6000/power4.md,
1354 config/rs6000/rs6000-modes.def, config/rs6000/rtems.h,
1355 config/rs6000/spe.h, config/s390/2064.md, config/s390/linux.h,
1356 config/s390/s390-modes.def, config/sh/elf.h,
1357 config/sh/sh-modes.def, config/sh/sh64.h,
1358 config/sparc/ultra1_2.md, config/sparc/ultra3.md,
1359 config/stormy16/stormy16.md, config/v850/v850-protos.h,
1360 config/vax/vax.md: Update copyright.
1362 2004-10-17 Kazu Hirata <kazu@cs.umass.edu>
1364 * expr.c (expand_expr_real_1): Remove an obsolete comment.
1366 2004-10-17 Andrew Pinski <pinskia@physics.uc.edu>
1368 * c-typeck.c (default_function_array_conversion): Always create
1369 &a[0] for array types.
1370 (build_unary_op): Do not fold &a[x] into a + x.
1372 2004-10-17 Jakub Jelinek <jakub@redhat.com>
1374 * pointer-set.c (hash1): Use integer part of 2^64 / phi
1375 instead 2^32 / phi if long is 64-bit.
1377 2004-10-17 Joseph S. Myers <jsm@polyomino.org.uk>
1379 * c-common.h (enum rid): Remove RID_PTRBASE, RID_PTREXTENT and
1381 * c-parse.in (PTR_VALUE, PTR_BASE, PTR_EXTENT): Remove %token
1383 (reswords): Remove __ptrbase, __ptrbase__, __ptrextent,
1384 __ptrextent__, __ptrvalue and __ptrvalue__.
1385 (rid_to_yy): Remove RID_PTRBASE, RID_PTREXTENT and RID_PTRVALUE
1388 2004-10-16 Dale Johannesen <dalej@apple.com>
1390 * c-common.c (c_common_get_alias_set): Use GGC for type_hash_table.
1392 2004-10-16 Zdenek Dvorak <dvorakz@suse.cz>
1394 PR tree-optimization/17766
1395 * basic-block.h (enum dom_state): DOM_CONS_OK removed.
1396 (dom_info_available_p): Declare.
1397 * cfghooks.c (split_block, make_forwarder_block): Use
1398 dom_info_available_p.
1399 * dominance.c (compute_dom_fast_query, calculate_dominance_info,
1400 free_dominance_info, verify_dominators): Ditto.
1401 (dom_info_available_p): New function.
1402 * tree-cfg.c (cleanup_control_expr_graph): Free dominance information.
1403 (thread_jumps): Use dom_info_available_p.
1404 * tree-complex.c (expand_complex_div_wide): Ditto.
1405 * tree-mudflap.c (mf_build_check_statement_for): Ditto.
1407 2004-10-16 Zdenek Dvorak <dvorakz@suse.cz>
1409 * tree-ssa-loop-ivopts.c (struct ivopts_data): New field important_candidates.
1410 (find_best_candidate): Take also important candidates into account.
1411 (find_optimal_iv_set): Initialize important_candidates bitmap.
1413 2004-10-16 Zdenek Dvorak <dvorakz@suse.cz>
1415 PR tree-optimization/17560
1416 * predict.c (tree_estimate_probability): Mark irreducible
1419 2004-10-16 Zdenek Dvorak <dvorakz@suse.cz>
1421 PR rtl-optimization/17723
1422 * cfgcleanup.c (merge_memattrs): Handle case when
1423 MEM_SIZE == NULL_RTX.
1425 2004-10-15 Andrew Pinski <pinskia@physics.uc.edu>
1427 * toplev.c (dump_file_name): Change type to be const.
1429 2004-10-15 Joseph S. Myers <jsm@polyomino.org.uk>
1431 * c-typeck.c (build_compound_expr, build_c_cast): Don't try to use
1432 non_lvalue to stop something being a null pointer constant.
1434 2004-10-15 Aldy Hernandez <aldyh@redhat.com>
1436 * config/rs6000/rs6000.h (FUNCTION_ARG_REGNO_P): FPRs are only
1437 available for TARGET_FPRS.
1438 (FUNCTION_VALUE_REGNO_P): Same.
1440 2004-10-15 Geoffrey Keating <geoffk@apple.com>
1442 * doc/invoke.texi (RS/6000 and PowerPC Options): Document
1443 -maltivec in same style as other ISA options.
1445 2004-10-15 Jon Grimm <jgrimm2@us.ibm.com>
1447 * config/host-linux.c (TRY_EMPTY_VM_SPACE): Add __powerpc__
1450 2004-10-15 Kazu Hirata <kazu@cs.umass.edu>
1452 * bitmap.c, bitmap.h, builtin-attrs.def, cfglayout.h,
1453 collect2.h, conflict.c, coretypes.h, coverage.h, errors.h,
1454 gcc.h, gcov-dump.c, gen-protos.c, gencheck.c, gencodes.c,
1455 genconstants.c, gengenrtl.c, genmodes.c, genpeep.c,
1456 gensupport.h, graph.h, gthr-gnat.c, gthr-gnat.h, gthr-posix.c,
1457 gthr-posix.h, hard-reg-set.h, hwint.h, integrate.h, libgcc2.c,
1458 lists.c, machmode.def, mips-tdump.c, opts.h, params.c,
1459 predict.def, predict.h, protoize.c, reload.h, resource.h,
1460 rtl-error.c, sbitmap.c, sbitmap.h, sreal.c, tlink.c,
1461 tree-dump.h, tree-inline.h, unwind-dw2-fde.c, unwind-dw2.c,
1462 unwind-sjlj.c, value-prof.h: Update copyright.
1464 2004-10-15 Kazu Hirata <kazu@cs.umass.edu>
1466 * pointer-set.c, tree-vectorizer.c: Fix comment typos.
1468 2004-10-15 Diego Novillo <dnovillo@redhat.com>
1470 * tree-optimize.c (execute_one_pass): Stop timer right after
1473 2004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
1476 2004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
1479 * tree-cfg.c (remove_usless_stmts_cond): Fold statement.
1480 (remove_useless_stmts_1): Fold trees we know how to fold.
1482 2004-10-14 David Edelsohn <edelsohn@gnu.org>
1484 * configure.ac: Add .machine power4 directive when testing for
1486 * configure: Regenerate.
1488 2004-10-14 Geoffrey Keating <geoffk@apple.com>
1490 * config/darwin.h (JUMP_TABLES_IN_TEXT_SECTION): Don't define.
1492 2004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
1494 * tree-vectorizer.c (vect_transform_loop): Declare vectorization_factor
1497 2004-10-14 Daniel Jacobowitz <dan@codesourcery.com>
1499 * config/rs6000/rs6000.h (REG_CLASS_FROM_LETTER): Return NO_REGS
1500 for 'f' if !TARGET_FPRS.
1502 2004-10-14 Richard Henderson <rth@redhat.com>
1505 * dwarf2out.c (loc_descriptor_from_tree_1): Handle FIX_*_EXPR.
1507 2004-10-14 Richard Henderson <rth@redhat.com>
1510 * c-decl.c (store_parm_decls_oldstyle): Care for parameter type
1512 * c-parse.in (compstmt_primary_start): Check cur_stmt_list non-null
1513 instaed of current_function_decl non-null.
1515 2004-10-14 Matt Austern <austern@apple.com>
1517 * pointer-set.c: New file, special-purpose hash table.
1518 * pointer-set.h: New file.
1519 * tree.h (struct pointer_set_t): Declare as opaque type.
1520 (tree_walk): Last argument is pointer_set_t* now.
1521 * tree-inline.c (WALK_SUBTREE): Convert from htab to pset.
1523 (walk_tree): Convert from htab_t to pointer_set_t for keeping
1524 track of which nodes have already been visited.
1525 (walk_tree_without_duplicates): Convert from htab_t to pointer_set_t.
1526 * cgraphunit.c (cgraph_create_edges): Likewise.
1527 (cgraph_characterize_statics_local): Likewise.
1528 * tree-dfa.c (collect_dfa_stats): Likewise.
1529 * langhooks-def.h (lhd_tree_inlining_walk_subtrees): Last arg is
1531 * langhooks.c (lhd_tree_inlining_walk_subtrees): Likewise.
1532 * langhooks.h (struct lang_hooks_for_tree_inlining): Last arg type
1533 of walk_subtrees is pointer_set_t* now.
1534 * Makefile.in (OBJS-common): add pointer-set.o
1535 (tree-inline.o): Depends on pointer-set.h
1536 (tree-dfa.o): Likewise
1537 (cgraphunit.o): Likewise
1539 2004-10-14 Geoffrey Keating <geoffk@apple.com>
1541 * config/rs6000/darwin.h (ASM_SPEC): Delete.
1542 (TARGET_ASM_FILE_START): Define.
1543 * config/darwin.h (ASM_SPEC): Define.
1544 * config/rs6000/t-darwin (TARGET_LIBGCC2_CFLAGS): Don't supply
1545 -mlong-double-128, it's the default. Update comment about reason
1546 for force_cpusubtype_ALL.
1547 * config/rs6000/darwin-vecsave.asm: Supply .machine.
1548 * config/rs6000/darwin-world.asm: Likewise.
1549 * config/rs6000/rs6000.c (rs6000_darwin_file_start): New.
1550 (symbolic_operand): Delete #if 0ed code.
1552 2004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
1554 * stmt.c (add_case_node): Make sure that we have integer
1555 constant before calling tree_int_cst_compare.
1557 2004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
1561 * tree-cfg.c (remove_usless_stmts_cond): Fold statement.
1562 (remove_useless_stmts_1): Fold trees we know how to fold.
1564 2004-10-14 Joseph S. Myers <joseph@codesourcery.com>
1566 * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS),
1567 config/rs6000/linuxspe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Disallow
1570 2004-10-14 Ulrich Weigand <uweigand@de.ibm.com>
1572 * reload.c (find_reloads): When reloading a PLUS with constant
1573 operand, make sure the constant is pushed to the constant pool
1575 * config/s390/s390.c (s390_secondary_input_reload_class): Remove
1576 reload bug workaround.
1577 (s390_expand_plus_operand): Likewise.
1579 2004-10-14 David Edelsohn <edelsohn@gnu.org>
1581 * opts.c (common_handle_option): Do not enable
1582 flag_speculative_prefetching for -fprofile-generate/use.
1584 2004-10-14 Devang Patel <dpatel@apple.com>
1587 * tree-if-conv.c (process_phi_nodes): Process latch block.
1588 (combine_blocks): Process latch block and update loop structure.
1590 2004-10-14 Olga Golovanevsky <olga@il.ibm.com>
1592 * tree-vectorizer.c (vect_generate_tmps_on_preheader):
1593 (vect_update_ivs_after_vectorizer):
1594 (vect_transform_for_unknown_loop_bound):
1595 (tree_duplicate_loop_to_edge):
1596 (allocate_new_names):
1599 (rename_variables_in_bb):
1601 (rename_variables_in_loop):
1603 (update_phis_for_duplicate_loop):
1604 (update_phi_nodes_for_guard):
1605 (make_loop_iterate_ntimes):
1606 (tree_duplicate_loop_to_edge_cfg):
1608 (vect_analyze_loop_with_symbolic_num_of_iters):
1609 (verify_loop_for_duplication):
1610 (vect_gen_niters_for_prolog_loop):
1611 (vect_update_niters_after_peeling):
1612 (vect_update_inits_of_dr):
1613 (vect_update_inits_of_drs):
1614 (vect_build_loop_niters):
1615 (vect_do_peeling_for_alignment): New functions.
1616 (vect_transform_loop): Add unknown and known but indivisible loop
1617 bound support; add peeling for unalignment support.
1618 (vect_analyze_loop_form): Support symbolic number of iterations.
1619 (vect_transform_loop_bound): New input parameter.
1620 (vect_get_loop_niters): Change input parameter type.
1621 (new_loop_vec_info): LOOP_VINFO_NITERS is tree now.
1622 (vectorizable_store): Allow unaligned access.
1623 (vectorize_loops): Add rewrite_into_loop_closed_ssa.
1624 (vect_analyze_data_refs_alignment): Allowed one unaligned
1626 * tree-vectorizer.h (LOOP_VINFO_NITERS_KNOWN_P): Redefined
1628 (LOOP_VINFO_INT_NITERS): New macro.
1629 (MAX_NUMBER_OF_UNALIGNED_DATA_REFS): New define.
1630 (do_peeling_for_alignment):
1631 (unaligned_drs): New members of _loop_vec_info.
1632 (LOOP_DO_PEELING_FOR_ALIGNMENT): New macro.
1634 2004-10-14 Ranjit Mathew <rmathew@hotmail.com>
1636 * tree.h (TREE_STRING_POINTER): Wrap in "const char *".
1637 (struct tree_string): Remove "const" qualifier for "str".
1639 2004-10-14 Ira Rosen <irar@il.ibm.com>
1641 * tree-vectorizer.c (vect_analyze_data_refs): Call
1642 vect_get_base_and_bit_offset to get memory tag for array ref.
1643 (vect_create_addr_base_for_vector_ref): Remove redundant checks.
1645 2004-10-14 Richard Earnshaw <rearnsha@arm.com>
1647 * configure.ac: Use $LN_S for creating symlinks (not $LN).
1648 * configure: Regenerate.
1650 2004-10-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1652 * doc/install.texi (*-*-solaris2*): Update with info about kernel
1653 patches to solve spurious testsuite failures.
1655 2004-10-14 Dorit Naishlos <dorit@il.bim.com>
1657 * tree-vectorizer.c (get_vectype_for_scalar_type): Added debug prinouts.
1658 Added check that vectype is VECTOR_MODE_P, instead of check for BLKmode.
1659 (vect_analyze_operations): Make sure the vectorization factor > 1. Add
1660 gcc_assert under ENABLE_CHECKING.
1661 (vectorizable_operation): Remove check for VECTOR_MODE_P (moved to
1662 get_vectype_for_scalar_type).
1664 (vect_get_vec_def_for_operand): Remove redundant variables.
1665 (vect_transform_loop): Likewise.
1667 2004-10-14 Richard Sandiford <rsandifo@redhat.com>
1669 * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Make r11 fixed and
1670 global for -mcaller-super-interworking.
1671 (CALLER_INTERWORKING_SLOT_SIZE): New macro.
1672 * config/arm/arm.c (thumb_compute_save_reg_mask): Save r11 if
1673 CALLER_INTERWORKING_SLOT_SIZE is nonzero and the function does
1674 not need a frame pointer.
1675 (arm_get_frame_offsets): Add CALLER_INTERWORKING_SLOT_SIZE bytes to
1676 the soft frame pointer offset.
1677 (thumb_expand_prologue): Set up r11 for -mcaller-super-interworking.
1678 * config/arm/arm.md (*call_reg_thumb, *call_value_reg_thumb): Use
1679 _interwork_{r7,r11}_call_via_rN if some arguments are passed on
1680 the stack. Use frame_pointer_needed to choose between them.
1681 * config/arm/lib1funcs.asm (_arm_return_{r7,r11}): New functions.
1682 (interwork_with_frame): New macro.
1683 (interwork): Add _interwork_{r7,r11}_call_via_rN().
1685 2004-10-14 Ben Elliston <bje@au.ibm.com>
1688 * diagnostic.c (trim_filename): Fix logic bug in walking backwards
1689 up the filename looking for a previous directory separator.
1691 2004-10-14 Joseph S. Myers <jsm@polyomino.org.uk>
1693 * c-tree.h (enum c_typespec_kind, struct c_typespec,
1694 parser_xref_tag): New.
1695 (struct c_declspecs): Add tag_defined_p. Adjust definition of
1697 (declspecs_add_type): Adjust prototypes.
1698 * c-parse.in (%union): Add tstype.
1699 (typespec_nonattr, typespec_attr, typespec_reserved_nonattr,
1700 typespec_reserved_attr, typespec_nonreserved_nonattr,
1701 structsp_attr, structsp_nonattr): Change to tstype. Update
1703 * c-decl.c (build_null_declspecs): Initialize tag_defined_p.
1704 (declspecs_add_type): Update to take struct c_typespec argument.
1705 Set tag_defined_p and typedef_p as appropriate.
1706 (xref_tag): Rename to parser_xref_tag and replace by wrapper.
1707 Update to return struct c_typespec.
1708 (shadow_tag_warned): Don't let empty declarations with qualifiers
1709 or storage class specifiers redeclare a tag if a previous
1710 declaration is visible.
1712 2004-10-13 Richard Henderson <rth@redhat.com>
1715 * dwarf2out.c (rtl_for_decl_location): Apply big-endian correction
1716 for DECL_INCOMING_RTL.
1718 2004-10-14 Hans-Peter Nilsson <hp@axis.com>
1721 * config/cris/cris.md (asrandb, asrandw, lsrandb, lsrandw): Apply
1722 trunc_int_for_mode for constants used in shortened mode.
1724 2004-10-13 Richard Henderson <rth@redhat.com>
1727 * c-common.c (handle_mode_attribute): Disallow mode changes that
1728 alter the CODE of the top-level type.
1730 * crtstuff.c (__FRAME_END__): Remove mode attribute. Find 32-bit
1731 integer from internal limits macros.
1732 * config/i386/mm3dnow.h (__v2sf): Fix base type.
1734 2004-10-13 Richard Henderson <rth@redhat.com>
1737 * function.c (instantiate_decl): Recurse for CONCAT.
1739 2004-10-13 David Edelsohn <edelsohn@gnu.org>
1741 * config/rs6000/rs6000.md (andsi3): Add attribute "compare" for
1744 (extzvdi_internal1): Add attribute "compare".
1745 (extzvdi_internal2): Same.
1747 2004-10-12 Tom Tromey <tromey@redhat.com>
1749 * doc/md.texi (Insn Canonicalizations): Removed extraneous quote.
1751 2004-10-13 Dale Johannesen <dalej@apple.com>
1753 * doc/extend.texi (Extended Asm): Rewrite asm volatile description.
1755 2004-10-13 Frank Ch. Eigler <fche@redhat.com>
1757 * toplev.c (compile_file): Call mudflap_finish_file from here ...
1758 * c-decl.c (c_write_global_declarations): ... instead of here ...
1759 * cp/decl.c (cp_finish_file): ... and here.
1760 * tree-mudflap.c (mudflap_enqueue_decl): Reword a warning message.
1762 2004-10-13 Andrew Pinski <pinskia@physics.uc.edu>
1764 * tree-ssa-dom.c (record_range): Free the element if we are not
1767 2004-10-13 Tom Tromey <tromey@redhat.com>
1770 * gcc.c (option_map): Added --extdirs and --encoding.
1772 2004-10-13 Eric Botcazou <ebotcazou@libertysurf.fr>
1775 * config/sparc/sparc.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Set to
1776 sparc_can_output_mi_thunk.
1777 (sparc_output_mi_thunk): Simplify handling of delta offset. Add
1778 handling of vcall offset.
1779 (sparc_can_output_mi_thunk): New predicate.
1780 * doc/tm.texi (TARGET_ASM_OUTPUT_MI_THUNK): Document VCALL_OFFSET.
1781 (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Delete.
1782 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New target hook.
1784 * config/sparc/sparc.c (emit_and_preserve): Preserve stack alignment.
1786 * config/sparc/sparc.md (movdi): Remove redundant test.
1788 2004-10-13 Paolo Bonzini <bonzini@gnu.org>
1790 * tree-dump.c (dump_options): Remove TDF_TREE, TDF_RTL,
1791 TDF_IPA from -fdump-tree-*-all.
1793 2004-10-13 Paul Brook <paul@codesourcery.com>
1795 * config/arm/arm-protos.h (arm_load_pic_register): Update prototype.
1796 * config/arm/arm.c (thumb_find_work_register): Update comments.
1797 (arm_load_pic_register): Add argument for scratch register.
1798 (arm_expand_prologue, thumb_expand_prologue): Pass extra argument.
1799 * config/arm/arm.md (builtin_setjmp_receiver): Ditto.
1801 2004-10-13 Kazu Hirata <kazu@cs.umass.edu>
1803 * tree-data-ref.c: Fix comment typos.
1805 2004-10-13 Jakub Jelinek <jakub@redhat.com>
1806 Zdenek Dvorak <dvorakz@suse.cz>
1808 PR tree-optimization/17724
1809 * tree-cfg.c (tree_purge_dead_eh_edges): Free dominance info.
1811 2004-10-13 Dorit Naishlos <dorit@il.ibm.com>
1813 * rs6000.c (altivec_builtin_mask_for_load): Made static GTY(()).
1814 (altivec_builtin_mask_for_store): Likewise.
1815 (altivec_init_builtins): Use lang_hooks.builtin_function to
1816 create the decls for builtin_altivec_mask_for_load/store.
1818 2004-10-13 Nick Clifton <nickc@redhat.com>
1820 * config/c4x/c4x.c: Remove inclusion of loop.h.
1822 2004-10-12 Ben Elliston <bje@au.ibm.com>
1824 * basic-block.h (edge_iterator): Keep the address of VEC(edge) *.
1825 (ei_container): New; renamed.
1826 (ei_start, ei_last): New macros.
1827 (ei_start_1, ei_last_1): Renamed from ei_start.
1828 (ei_last_1, ei_end_p): Use ei_container() where applicable.
1829 (ei_one_before_end_p, ei_next, ei_edge): Likewise.
1830 * gcse.c (remove_reachable_equiv_notes): Use ei_container().
1832 2004-10-11 Sebastian Pop <pop@cri.ensmp.fr>
1834 * Makefile.in (tree-ssa-loop-niter.o): Depends on tree-data-ref.h.
1835 * cfgloop.c (initialize_loops_parallel_p): New.
1836 (flow_loops_find): Initialize the parallel_p field to true for all
1838 * tree-ssa-loop-niter.c: Include "tree-data-ref.h".
1839 (estimate_numbers_of_iterations_loop): Infers the loop bounds from
1840 the size of the data accessed in the loop.
1841 (struct nb_iter_bound): Moved...
1842 * cfgloop.h (struct nb_iter_bound): ... here.
1843 (estimated_nb_iterations, parallel_p): New fields in struct loop.
1844 (record_estimate): Declare extern here.
1845 * tree-chrec.c: Fix comments.
1846 (nb_vars_in_chrec): New function.
1847 * tree-chrec.h (nb_vars_in_chrec): Declared here.
1848 * tree-data-ref.c: Don't include lambda.h, that is already included
1850 (tree_fold_divides_p): Don't check for integer_onep.
1851 (tree_fold_bezout): Removed.
1852 (gcd): New static duplicated function.
1853 (int_divides_p, dump_subscript): New.
1854 (dump_data_dependence_relation): Use dump_subscript.
1855 (dump_dist_dir_vectors, dump_ddrs, compute_estimated_nb_iterations,
1856 estimate_niter_from_size_of_data): New.
1857 (analyze_array_indexes, analyze_array): Call
1858 estimate_niter_from_size_of_data during the detection of array
1859 references. Pass in a pointer to the statement that contains the
1861 (all_chrecs_equal_p): New.
1862 (compute_distance_vector): Renamed compute_subscript_distance.
1863 Deal with multivariate conflict functions.
1864 (initialize_data_dependence_relation): Initialize DDR_AFFINE_P,
1865 DDR_SIZE_VECT, DDR_DIST_VECT, and DDR_DIR_VECT.
1866 (non_affine_dependence_relation): New.
1867 (analyze_ziv_subscript, analyze_siv_subscript_cst_affine,
1868 analyze_siv_subscript, analyze_miv_subscript,
1869 analyze_overlapping_iterations, subscript_dependence_tester):
1870 Initialize and return last_conflicts function.
1871 (initialize_matrix_A, FLOOR, compute_overlap_steps_for_affine_univar,
1872 compute_overlap_steps_for_affine_1_2): New.
1873 (analyze_siv_subscript_affine_cst): Removed.
1874 (analyze_subscript_affine_affine): Disprove dependences based on the
1875 iteration domains. Solve the univariate dependence case as before,
1876 but use lambda_matrix_right_hermite instead of tree_fold_bezout.
1877 Implement the multivariate case of 2 versus 1 variables.
1878 (build_classic_dist_vector, build_classic_dir_vector): Implement some
1880 (find_data_references_in_loop): Compute and initialize
1881 loop->estimated_nb_iterations and loop->parallel_p.
1882 (analyze_all_data_dependences): Modify the debug dump order.
1883 * tree-data-ref.h (SUB_LAST_CONFLICT_IN_A, SUB_LAST_CONFLICT_IN_B,
1884 subscript->last_conflict_in_a, subscript->last_conflict_in_b): Removed.
1885 (SUB_LAST_CONFLICT, subscript->last_conflict,
1886 data_dependence_relation->affine_p, data_dependence_relation->size_vect,
1887 DDR_AFFINE_P, DDR_SIZE_VECT): New.
1888 (find_data_references_in_loop, initialize_data_dependence_relation,
1889 dump_subscript, dump_ddrs, dump_dist_dir_vectors): Declared here.
1891 2004-10-12 Kelley Cook <kcook@gcc.gnu.org>
1893 * configure: Regenerate.
1895 2004-10-12 Fariborz Jahanian <fjahanian@apple.com>
1898 * tree-ssa-dom.c (unsafe_associative_fp_binop): New function.
1899 (simplify_rhs_and_lookup_avail_expr): Disallow associativity
1900 and constant folding of floating point MULT_EXPR/PLUS_EXPR
1903 2004-10-12 Ulrich Weigand <uweigand@de.ibm.com>
1905 * config/s390/s390.c (s390_va_start): Use build_va_arg_indirect_ref.
1906 (s390_gimplify_va_arg): Likewise.
1908 2004-10-12 Daniel Jacobowitz <dan@debian.org>
1910 * defaults.h (REGNO_MODE_OK_FOR_BASE_P, REG_MODE_OK_FOR_BASE_P)
1911 (MODE_BASE_REG_REG_CLASS, REGNO_MODE_OK_FOR_REG_BASE_P)
1912 (REG_MODE_OK_FOR_REG_BASE_P): Provide default definitions.
1913 * regclass.c (record_address_regs): Remove ifdef. Use
1914 REG_MODE_OK_FOR_REG_BASE_P and MODE_BASE_REG_REG_CLASS.
1915 * regrename.c (REG_MODE_OK_FOR_BASE_P): Remove unnecessary
1917 (scan_rtx_address, replace_oldest_value_addr): Use
1918 REG_MODE_OK_FOR_REG_BASE_P and MODE_BASE_REG_REG_CLASS.
1919 * reload.c (REGNO_MODE_OK_FOR_BASE_P, REG_MODE_OK_FOR_BASE_P): Remove
1920 unnecessary definitions.
1921 (find_reloads_address_1): Support REG_MODE_OK_FOR_REG_BASE_P
1922 and MODE_BASE_REG_REG_CLASS.
1923 * config/arm/arm.h (MODE_BASE_REG_CLASS): Don't check reload_completed.
1924 (MODE_BASE_REG_REG_CLASS): Define.
1925 (REGNO_MODE_OK_FOR_REG_BASE_P): Define.
1926 (REG_MODE_OK_FOR_REG_BASE_P): Define.
1927 * doc/tm.texi (Register Classes): Document MODE_BASE_REG_REG_CLASS,
1928 REG_MODE_OK_FOR_REG_BASE_P, and REGNO_MODE_OK_FOR_REG_BASE_P.
1930 2004-10-12 Daniel Berlin <dberlin@dberlin.org>
1932 * tree-ssa-alias.c (verify_name_tags): New function.
1933 (verify_flow_sensitive_alias_info): Remove code that used to check name tags.
1934 (verify_alias_info): Call verify_name_tags.
1936 2004-10-12 Kazu Hirata <kazu@cs.umass.edu>
1938 PR rtl-optimization/17931
1939 * config/i386/i386.c (ix86_rtx_costs): Handle COMPARE with
1942 2004-10-12 Richard Earnshaw <rearnsha@arm.com>
1944 * arm.c (arm_print_operand): Use output_operand_lossage where possible
1945 rather than aborting.
1947 2004-10-12 Paul Brook <paul@coudesourcery.com>
1949 * config.gcc: Add armv6{k,z,zk}
1950 * config/arm/arm-cores.def: Add arm1176 and mpcore.
1951 * config/arm/tune.md: Regenerate.
1952 * config/arm/arm.c (FL_FOR_ARCH6K, FL_FOR_ARCH6Z, FL_FOR_ARCH6ZK):
1954 (all_architectures): Add armv6k, armv6z, armv6zk.
1955 * config/arm/lib1funcs.asm: Recognise new arm arcitectures.
1956 * doc/invoke.texi: Document new arch and cpu values.
1958 2004-10-12 Paul Brook <paul@coodesourcery.com>
1960 * config/arm/bpabi.h (SUBTARGET_EXTRA_ASM_SPEC): Change meabi=3 to
1963 2004-10-12 Paul Brook <paul@codesourcery.com>
1965 * config/arm/arm.md (addsi3_cbranch_scratch): Correct constraints.
1966 Handle negative constants.
1968 2004-10-12 Joseph S. Myers <jsm@polyomino.org.uk>
1971 * c-typeck.c (convert_arguments): Return error_mark_node if there
1972 are too few arguments.
1973 (build_function_call): Handle error_mark_node return from
1976 2004-10-06 Paolo Bonzini <bonzini@gnu.org>
1978 * configure.ac (symbolic_link): Replace with $LN_S.
1979 (Assembler/Linker): Hard link from gas and binutils trees.
1980 * aclocal.m4 (gcc_AC_PROG_LN_S): Try "cp -p" before cp.
1981 * configure: Regenerate.
1983 2004-10-12 Paul Brook <paul@codesourcery.com>
1985 * configure.ac: Don't look for host assembler when building a canadian
1987 * configure: Regenerate.
1989 2004-10-11 Roger Sayle <roger@eyesopen.com>
1992 * c-opts.c (permit_fortran_options): Delete/obsolete global variable.
1993 (c_common_init_options): Remove #ifdef CL_F77 code. Scan command
1994 line options for "-lang-asm" and if found allow any of the C-family
1996 (c_common_handle_option): Remove last use of permit_fortran_options.
1998 2004-10-11 Ulrich Weigand <uweigand@de.ibm.com>
2000 * config/s390/s390.c (print_operand): Support 'S' format flag.
2001 * config/s390/s390.md ("*tmqi_mem"): Use 'S' format flag.
2002 ("*tstsi", "*tstsi_cconly", "*tstsi_cconly2"): Likewise.
2003 ("*tsthiCCT", "*tsthiCCT_cconly", "*tsthi", "*tsthi_cconly"): Likewise.
2004 ("*tstqiCCT", "*tstqiCCT_cconly", "*tstqi", "*tstqi_cconly"): Likewise.
2005 ("*cmphi_ccu", "*cmpqi_ccu", "*clc"): Likewise
2006 ("movti", "*movdi_31", "*movqi", "*movdf_31", "*mvc"): Likewise.
2007 ("*movstricthi"): Likewise.
2008 ("*load_multiple_di", "*load_multiple_si"): Likewise.
2009 ("*store_multiple_di", "*store_multiple_si"): Likewise.
2010 ("*sethiqisi", "*sethihisi"): Likewise.
2011 ("*sethiqidi_64", "*sethiqidi_31"): Likewise.
2012 ("*andqi3_zarch", "*andqi3_esa", "*nc"): Likewise.
2013 ("*iorqi3_zarch", "*iorqi3_esa", "*oc"): Likewise.
2014 ("*xorqi3", "*xc", "*xc_zero"): Likewise.
2015 ("get_tp_64", "get_tp_31", "set_tp_64", "set_tp_31"): Likewise.
2017 ("*tmhi_full"): Fix incorrect op_type attribute.
2019 ("*adddi3_alc_cc", "*adddi3_alc"): Remove double backslash.
2020 ("*subdi3_slb_cc", "*subdi3_slb"): Likewise.
2021 ("*addsi3_alc_cc", "*addsi3_alc"): Likewise.
2022 ("*subsi3_slb_cc", "*subsi3_slb"): Likewise.
2024 2004-10-11 Andrew Pinski <pinskia@physics.uc.edu
2027 * function.c (temp_slots_at_level): Fix typo which creates too
2028 many temp stack slots levels.
2030 2004-10-11 Ulrich Weigand <uweigand@de.ibm.com>
2032 * config/s390/s390.c (s390_trampoline_template): Generate shorter
2034 (s390_trampoline_instantiate): Adapt.
2035 * config/s390/s390.h (TRAMPOLINE_SIZE): Adapt to new code.
2037 2004-10-11 Roger Sayle <roger@eyesopen.com>
2040 * stmt.c (add_case_node): Add additional type argument. Declare
2041 as static to match prototype. Convert the upper and lower bounds
2042 to the specified index type. Optimize away case ranges/values
2043 that are outside the index type's bounds. Truncate case ranges
2044 that span the index type's bounds.
2045 (expand_case): Avoid unnessary computation and memory allocation
2046 when index type is error_mark_node. Pass index_type as required
2047 by change to add_case_node API. No need to convert case range
2048 bounds to index_type, this is now done by add_case_node.
2050 2004-10-11 Ulrich Weigand <uweigand@de.ibm.com>
2052 * config/s390/s390-protos.h (s390_offset_p): Add prototype.
2053 * config/s390/s390.c (s390_offset_p): New function.
2054 * config/s390/s390.md ("*cmpdi_cct", "*cmpsi_cct", "*cmpdi_ccu",
2055 "*cmpsi_ccu", "*cmphi_ccu", "*cmpqi_ccu"): Use splitter to
2056 transform Q->Q alternatives to *clc pattern.
2058 ("movti", "*movdi_64", "*movdi_31", "*movsi_zarch", "*movsi_esa",
2059 "*movhi", "*movqi", "*movdf_64", "*movdf_31", "movsf"): Use splitter
2060 to transform Q->Q alternatives to *mvc pattern.
2061 ("*mvc"): Move. Add peephole to merge adjacent MVCs.
2062 ("*anddi3", "*andsi3_zarch", "*andsi3_esa", "*andhi3_zarch",
2063 "*andhi3_esa", "*andqi3_zarch", "*andqi3_esa"): Use splitter to
2064 transform Q->Q alternatives to *nc pattern.
2065 ("*nc"): New insn. New peephole to merge adjacent NCs.
2066 ("*iordi3", "*iorsi3_zarch", "*iorsi3_esa", "*iorhi3_zarch",
2067 "*iorhi3_esa", "*iorqi3_zarch", "*iorqi3_esa"): Use splitter to
2068 transform Q->Q alternatives to *oc pattern.
2069 ("*oc"): New insn. New peephole to merge adjacent OCs.
2070 ("*xordi3", "*xorsi3", "*xorhi3", "*xorqi3"): Use splitter to
2071 transform Q->Q alternatives to *xc pattern.
2072 ("*xc"): New insn. New peephole to merge adjacent XCs.
2073 ("*xc_zero"): Move. Add peephole to merge adjacent XCs.
2075 2004-10-11 Andrew Pinski <pinskia@physics.uc.edu>
2077 * gimplify.c (gimple_push_condition): Make sure that we don't
2078 have any saved condition cleanup if we were at the top level.
2080 2004-10-11 Richard Sandiford <rsandifo@redhat.com>
2082 * config/frv/frv.md (*adddi3_internal): Change name to...
2083 (adddi3): ...replacing the exisiting define_expand. Combine
2084 alternatives. Fix the range of the constant constraints ('J' instead
2085 of 'NOP'). Remove bogus operands[2] check. Use simplify_gen_subreg
2086 to extract the lower and upper halves of the DImode operands.
2087 Always use addi3_lower and adddi3_upper, not the subdi3 forms.
2088 (adddi3_lower): Fix the range of the constant constraints and
2089 remove the bogus operands[2] check.
2090 (adddi3_upper): Use gpr_or_int10_operand as the predicate for
2091 operand 2. Use addxi to handle constant operands.
2092 (subdi3_lower, subdi3_upper): Don't handle constant operands.
2094 2004-10-11 Nathan Sidwell <nathan@codesourcery.com>
2096 * gengtype-lex.l: Add commented } & ) characters to unconfuse
2097 editor's paren matching. Allow #define inside a struct.
2099 2004-10-10 Andrew Pinski <pinskia@physics.uc.edu>
2102 part of PR c++/17657
2103 * fold-const.c (fold_build_cleanup_point_expr): New function.
2104 * tree.h (fold_build_cleanup_point_expr): Prototype.
2106 2004-10-10 Eric Christopher <echristo@redhat.com>
2108 * dwarf2out.c: Move attribute to subprogram declaration
2109 instead of subroutine type.
2111 2004-10-10 Kazu Hirata <kazu@cs.umass.edu>
2113 * basic-block.h: Remove the prototypes for can_hoist_insn_p,
2114 hoist_insn_after, and hoist_insn_to_edge.
2115 * rtl.h: Remove the prototypes for reg_referenced_between_p,
2116 no_jumps_between_p, and insn_dependent_p.
2117 * rtlanal.c (no_jumps_between_p, reg_referenced_between_p,
2118 insn_dependent_p, insn_dependent_p_1, hoist_test_store,
2119 can_hoist_insn_p, hoist_update_store, hoist_insn_after,
2120 hoist_insn_to_edge): Remove.
2122 2004-10-10 Joseph S. Myers <jsm@polyomino.org.uk>
2125 * c-decl.c (grokparms): Don't warn for parameters of incomplete
2126 type in declarations that are not definitions except for the case
2127 of parameters of void type.
2129 2004-10-10 Kazu Hirata <kazu@cs.umass.edu>
2131 * tree-cfg.c: Fix comment typos.
2133 2004-10-10 Joseph S. Myers <jsm@polyomino.org.uk>
2136 * builtins.c (expand_builtin_va_start): Check for too few
2137 arguments to va_start.
2139 2004-10-10 Joseph S. Myers <jsm@polyomino.org.uk>
2142 * c-decl.c (grokfield): Make diagnostic for bad cases of unnamed
2143 fields a pedwarn. Pedwarn here for unnamed structs/unions if
2145 * c-parse.in (component_decl): Don't pedwarn here for unnamed
2148 2004-10-09 Zdenek Dvorak <dvorakz@suse.cz>
2150 PR tree-optimization/17906
2151 * tree-tailcall.c (tree_optimize_tail_calls_1): Do not attempt to
2152 copy non-gimple reg arguments.
2154 2004-10-09 Roger Sayle <roger@eyesopen.com>
2156 PR rtl-optimization/17853
2157 * simplify-rtx.c (simplify_relational_operation): Correct comment.
2158 Reorganize handling of comparison operations with floating point
2159 results (always return 0.0 even without FLOAT_STORE_FLAG_VALUE).
2160 Likewise, introduce support for comparison operations with vector
2161 result types, introducing a new VECTOR_STORE_FLAG_VALUE target macro.
2163 * doc/rtl.texi: Document new VECTOR_STORE_FLAG_VALUE target macro.
2164 * doc/tm.texi: Likewise.
2166 2004-10-09 Steven Bosscher <stevenb@suse.de>
2168 * regs.h (struct reg_info_def): Remove the last_node_uid and
2169 changes_mode fields.
2170 (REGNO_LAST_NOTE_UID): Don't define.
2171 * regclass.c (reg_scan_mark_refs): Don't set REGNO_LAST_NOTE_UID.
2172 * regmove.c (copy_src_to_dest): Likewise.
2174 2004-10-09 Roger Sayle <roger@eyesopen.com>
2177 * fold-const.c (fold_div_compare): When optimizing X/C1 op C2, the
2178 relational comparison operator op needs to be swapped/reversed when
2179 C1 is negative. i.e. X/-10 < 1 becomes X >= -9, not X < -9.
2181 2004-10-08 Andrew Pinski <pinskia@physics.uc.edu>
2184 * tree-ssa-phiopt.c (conditional_replacement): Use bsi_after_labels
2185 instead of bsi_start.
2186 (value_replacement): Likewise.
2187 (abs_replacement): Likewise
2189 2004-10-09 Steven Bosscher <stevenb@suse.de>
2191 * cfgexpand.c (maybe_dump_rtl_for_tree_stmt): New function.
2192 (expand_gimple_cond_expr, expand_gimple_tailcall,
2193 expand_gimple_basic_block): Use it to dump RTL for each stmt.
2194 (tree_expand_cfg): Announce full RTL function dump.
2195 * tree-optimize.c (execute_one_pass): Use normal RTL printing,
2196 not the graph version.
2197 * tree-pretty-print.c (dump_generic_node): Allow empty statements
2198 in the arms of a COND_EXPR for lowered nodes.
2200 2004-10-08 Joseph S. Myers <joseph@codesourcery.com>
2202 * config/rs6000/spe.h (atosfix16, atosfix32, atosfix64, atoufix16,
2203 atoufix32, atoufix64, strtosfix16, strtosfix32, strtosfix64,
2204 strtoufix16, strtoufix32, strtoufix64): Declare.
2206 2004-10-08 Joseph S. Myers <jsm@polyomino.org.uk>
2208 * c-lex.c (interpret_float): Give a pedwarn rather than a warning
2209 for an out-of-range floating point constant.
2210 * builtins.c (fold_builtin_inf): Give a pedwarn rather than a
2211 warning if the target format does not support infinities.
2213 2004-10-08 Kazu Hirata <kazu@cs.umass.edu>
2215 * emit-rtl.c (last_label_num, base_label_num): Remove.
2216 (max_label_num): Always return label_num.
2217 (set_new_last_label_num, restore_emit_status): Remove.
2218 (init_emit): Don't initialize last_label_num.
2219 * function.c (pop_function_context_from): Don't call
2220 restore_emit_status.
2221 * function.h: Remove the prototype for restore_emit_status.
2222 * rtl.h: Remove the prototype for set_new_last_label_num.
2224 2004-10-08 Kazu Hirata <kazu@cs.umass.edu>
2226 * stmt.c (expand_decl_init): Remove.
2227 * tree.h: Remove the corresponding prototype.
2229 2004-10-08 Kazu Hirata <kazu@cs.umass.edu>
2231 * integrate.c (try_constants, subst_constants, mark_stores):
2233 * integrate.h: Remove the prototype for try_constants.
2235 2004-10-08 Joseph S. Myers <jsm@polyomino.org.uk>
2237 * c-typeck.c (enum impl_conv): Add ic_argpass_nonproto.
2238 (convert_for_assignment): Handle ic_argpass_nonproto. Add
2239 comments about its relevance to errors.
2240 (c_convert_parm_for_inlining): Use ic_argpass_nonproto.
2242 2004-10-08 Andrew Pinski <pinskia@physics.uc.edu>
2245 * c-ppoutput.c (cb_ident): Don't quote string as it is already
2248 2004-10-08 Diego Novillo <dnovillo@redhat.com>
2250 * tree-ssa-pre.c (init_pre): Use size of ARRAY_REF to allocate
2251 reference_node_pool.
2253 2004-10-08 Kazu Hirata <kazu@cs.umass.edu>
2255 * tree-cfg.c: Fix a comment typo.
2257 2004-10-08 Andreas Krebbel <krebbel1@de.ibm.com>
2259 * config/s390/s390.c (s390_register_info): Don't save fprs for
2261 (s390_conditional_register_usage): Make fprs 'fixed' for -msoft-float.
2263 2004-10-08 Ulrich Weigand <uweigand@de.ibm.com>
2265 * config/s390/s390.h (TARGET_DEFAULT_BACKCHAIN): New define.
2266 (TARGET_DEFAULT): Use symbolic values.
2267 * config/s390/tpf.h (TARGET_DEFAULT_BACKCHAIN): Redefine.
2268 (TARGET_DEFAULT): Use symbolic values.
2269 * config/s390/s390.c (s390_backchain_string): Initialize to
2270 TARGET_DEFAULT_BACKCHAIN.
2272 2004-10-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2274 * builtins.c (expand_builtin_mempcpy): Move tree handling code to
2275 fold_builtin_mempcpy. Accept a type parameter. Delete duplicate
2277 (expand_builtin_strcat): Accept a type parameter.
2278 (fold_builtin_mempcpy): Accept a type and endp parameter.
2280 * builtins.c (expand_builtin_strncpy): Delete duplicate code.
2281 Accept an `exp' instead of an `arglist'.
2283 2004-10-08 Nathan Sidwell <nathan@codesourcery.com>
2285 * tree-tailcall.c (tree_optimize_tail_calls_1): Use fold_convert,
2286 reverting my 2004-09-07 patch to use build_int_cst.
2288 2004-10-08 Eric Botcazou <ebotcazou@libertysurf.fr>
2291 * config/sparc/sparc.c (input_operand): Remove redundant code
2292 for handling LO_SUM.
2293 (legitimate_address_p) <REG+REG>: Do not recheck TARGET_V9.
2294 <LO_SUM>: If LO_SUM is offsettable, accept it for TFmode on V9.
2295 Otherwise only accept it for TFmode if quad move insns are available.
2297 2004-10-08 Kazu Hirata <kazu@cs.umass.edu>
2299 * tree-cfg.c (tree_forwarder_block_p): Reorder checks so that
2300 common cases will be caught earlier than others.
2302 2004-10-08 Michael Matz <matz@suse.de>
2304 * loop-doloop.c (doloop_optimize): Extend count.
2306 2004-10-08 Kaz Kojima <kkojima@gcc.gnu.org>
2308 * config/sh/sh.md (prefetch_media, prefetch_i4): New insns.
2309 (prefetch): Convert to expander.
2311 2004-10-08 Kaz Kojima <kkojima@gcc.gnu.org>
2313 * config/sh/sh.md (tls_global_dynamic): Use MEM pattern for the
2314 first argument of CALL.
2315 (tls_local_dynamic): Likewise.
2317 2004-10-08 Joseph S. Myers <jsm@polyomino.org.uk>
2319 * c-typeck.c (enum impl_conv): New.
2320 (convert_for_assignment): Use it. Take tree for function called
2321 instead of its name. Handle ObjC selectors for diagnostics at
2322 start of function. Select diagnostic text within the function
2323 using full sentences for diagnsotics. Use %qE to name functions
2325 (convert_arguments, build_modify_expr,
2326 c_convert_parm_for_inlining, digest_init, c_finish_return): Update
2327 callers to convert_for_assignment.
2328 (warn_for_assignment): Remove.
2330 2004-10-08 Nick Clifton <nickc@redhat.com>
2332 * config/sh/symbian.c (symbian_possibly_export_base_class):
2333 Replace use of deleted TYPE_USES_VIRTUAL_BASECLASSES macro with
2334 TYPE_CONTAINS_VPTR_P.
2336 2004-10-08 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
2338 * config/m32r/m32r.h (CONDITIONAL_REGISTER_USAGE): Don't exclude
2339 fixed registers form all_used_regs. Update call_really_used_regs.
2340 (CALL_REALLY_USED_REGISTERS): Define.
2341 * config/m32r/m32r.c (MUST_SAVE_REGISTER): Replace call_used_regs
2342 with call_really_used_regs.
2344 2004-10-08 Alan Modra <amodra@bigpond.net.au>
2346 * config/rs6000/sysv4.h (STARTFILE_LINUX_SPEC): Choose gcrt1.o
2347 for -profile as well as -p and -pg.
2349 2004-10-07 Andrew Pinski <pinskia@physics.uc.edu>
2351 * libgcc2.c (__moddi3): Cast &w to UDWtype*.
2353 2004-10-07 Kazu Hirata <kazu@cs.umass.edu>
2355 * tree-cfg.c (tree_block_forwards_to): Remove.
2356 * tree-flow.h: Remove the corresponding prototype.
2358 2004-10-07 Kazu Hirata <kazu@cs.umass.edu>
2360 * tree-flow-inline.h (phi_nodes): Remove an unnecessary check
2361 for ENTRY_BLOCK_PTR and EXIT_BLOCK_PTR.
2363 2004-10-07 Geoffrey Keating <geoffk@apple.com>
2366 * config/rs6000/rs6000.c (rs6000_generate_compare): When
2367 flag_trapping_math is in effect, don't generate subtract
2370 2004-10-07 Ulrich Weigand <uweigand@de.ibm.com>
2372 * config/s390/s390-protos.h (s390_narrow_logical_operator): Add.
2373 * config/s390/s390.c (s390_narrow_logical_operator): New function.
2374 (s390_extra_constraint_str): Add 'A' constraints.
2375 (s390_const_ok_for_constraint_p): Add 'Nx' constraints.
2376 * config/s390/s390.h (EXTRA_MEMORY_CONSTRAINT): Add 'A' constraint.
2377 (CONSTRAINT_LEN): Likewise.
2378 * config/s390/s390.md ("*anddi3"): Add NI alternative and splitter.
2379 ("*andsi3_zarch", "*andsi3_esa"): Likewise.
2380 ("*andhi3_zarch", "*andhi3_esa"): Likewise.
2381 ("*iordi3"): Add OI alternative and splitter.
2382 ("*iorsi3_zarch", "*iorsi3_esa"): Likewise.
2383 ("*iorhi3_zarch", "*iorhi3_esa"): Likewise.
2384 ("*xordi3"): Add XI alternative and splitter.
2385 ("*xorsi3", "*xorhi3"): Likewise.
2387 2004-10-07 Richard Sandiford <rsandifo@redhat.com>
2389 * config/mips/mips.c (mips_function_rodata_section): New function.
2390 (TARGET_ASM_FUNCTION_RODATA_SECTION): Use it.
2392 2004-10-07 Devang Patel <dpatel@apple.com>
2394 * rs6000/altivec.md (UNSPEC_VCMPBFP, UNSPEC_VCMPEQUB, UNSPEC_VCMPEQUH,
2395 UNSPEC_VCMPEQUW, UNSPEC_VCMPGEFP, UNSPEC_VCMPGTUB, UNSPEC_VCMPGTSB,
2396 UNSPEC_VCMPGTUH, UNSPEC_VCMPGTSH, UNSPEC_VCMPGTUW, UNSPEC_VCMPGTSW,
2397 UNSPEC_VCMPGTFP, UNSPEC_VSEL4SI, UNSPEC_VSEL4SF, UNSPEC_VSEL8HI,
2398 UNSPEC_VSEL16QI, UNSPEC_VCOND_V4SI, UNSPEC_VCOND_V4SF, UNSPEC_VCOND_V8HI,
2399 UNSPEC_VCOND_V16QI, UNSPEC_VCONDU_V4SI, UNSPEC_VCONDU_V8HI,
2400 UNSPEC_VCONDU_V16QI): New constant defines.
2401 (vcondv4si, vcondv4sf, vcondv8hi, vcondv16qi, vconduv4si, vconduv8hi,
2402 vconduv16qi): New patterns.
2403 * rs6000/rs6000-protos.h (rs6000_emit_vector_cond_expr): New function.
2404 * rs6000/rs6000.c (rs6000_emit_vector_cond_expr): New function.
2405 (get_vec_cmp_insn): Same.
2406 (get_vsel_insn): Same.
2407 (rs6000_emit_vector_compare): Same.
2408 (rs6000_emit_vector_select): Same.
2409 (INSN_NOT_AVAILABLE): New.
2411 2004-10-07 Zdenek Dvorak <dvorakz@suse.cz>
2413 PR tree-optimization/17749
2414 * tree-tailcall.c (find_tail_calls): Check that parameter is
2417 2004-10-07 Kazu Hirata <kazu@cs.umass.edu>
2419 * config/ia64/ia64.c: Fix a comment typo.
2421 2004-10-07 Eric Botcazou <ebotcazou@libertysurf.fr>
2423 * doc/install.texi (*-*-solaris2*): Fix marker for URL.
2425 2004-10-07 Giovanni Bajo <giovannibajo@gcc.gnu.org>
2428 * tree-inline.c (expand_call_inline): Do not warn for functions
2429 marked with attribute noinline.
2431 2004-10-07 Eric Botcazou <ebotcazou@libertysurf.fr>
2434 * config/sparc/sparc.c (sparc_output_mi_thunk): Set
2435 current_function_uses_only_leaf_regs as well as sparc_leaf_function_p.
2437 * config/sparc/sparc.c (sparc_gimplify_va_arg): Pass 'false' instead
2438 of 0 as 4th argument to pass_by_reference.
2439 Call build_va_arg_indirect_ref instead of build_fold_indirect_ref.
2441 2004-10-06 Eric Christopher <echristo@redhat.com>
2443 * config/sh/sh.c (sh_dwarf_calling_convention): Fix renesas dwarf
2446 2004-10-07 Richard Sandiford <rsandifo@redhat.com>
2449 * config/mips/mips.md (mov_<load>l): Remove hazard=none attribute.
2451 2004-10-07 Zdenek Dvorak <dvorakz@suse.cz>
2453 PR rtl-optimization/17791
2454 * loop-doloop.c (doloop_modify): Take number of iterations as
2456 (doloop_optimize): Extend or shorten the number of iterations
2457 when changing mode of counter register.
2458 * loop-iv.c (lowpart_subreg): Export.
2459 * rtl.h (lowpart_subreg): Declare.
2461 2004-10-07 Zdenek Dvorak <dvorakz@suse.cz>
2463 PR tree-optimization/17806
2464 * cfghooks.c (split_edge): Update IRREDUCIBLE_LOOP flags.
2465 * cfgloopmanip.c (loop_split_edge_with): Updating of IRREDUCIBLE_LOOP
2466 flags moved to split_edge.
2468 2004-10-07 Eric Botcazou <ebotcazou@libertysurf.fr>
2471 * expmed.c (expand_sdiv_pow2): Force a stack adjustment
2472 before tentatively building the conditional move sequence.
2474 2004-10-07 Richard Sandiford <rsandifo@redhat.com>
2477 * function.c (assign_parm_setup_block_p): Tighten BLOCK_REG_PADDING
2479 * config/pa/pa.h (BLOCK_REG_PADDING): Define in terms of
2480 function_arg_padding.
2482 2004-10-07 Richard Sandiford <rsandifo@redhat.com>
2485 * Makefile.in (stmp-fixproto): Pass FIX_HEADER=build/... to fixproto.
2487 2004-10-07 Kazu Hirata <kazu@cs.umass.edu>
2489 * hooks.c (hook_int_void_1, hook_void_int): Remove.
2490 * hooks.h: Remove the corresponding prototypes.
2492 2004-10-06 Andrew Pinski <pinskia@physics.uc.edu>
2495 * tree-nested.c (walk_stmt_info): Add changed field.
2496 (convert_nonlocal_reference): Set changed to when we
2497 change a decl to unnested decl.
2498 <case ADDR_EXPR>: Instead of checking if the immediate part
2499 of the ADDR_EXPR changed, check the field changed.
2500 Use recompute_tree_invarant_for_addr_expr instead of unsetting
2502 (convert_local_reference): Set changed to when we
2503 change a decl to unnested decl.
2504 <case ADDR_EXPR>: Instead of checking if the immediate part
2505 of the ADDR_EXPR changed, check the field changed.
2506 Also call recompute_tree_invarant_for_addr_expr on the ADDR_EXPR.
2508 2004-10-06 Kazu Hirata <kazu@cs.umass.edu>
2510 * defaults.h (DWARF2_GENERATE_TEXT_SECTION_LABEL): Remove.
2511 * dwarf2out.c (dwarf2out_init): Remove references to
2512 DWARF2_GENERATE_TEXT_SECTION_LABEL.
2513 * system.h: Poison DWARF2_GENERATE_TEXT_SECTION_LABEL.
2514 * doc/tm.texi (DWARF2_GENERATE_TEXT_SECTION_LABEL): Remove.
2516 2004-10-06 Joseph S. Myers <jsm@polyomino.org.uk>
2518 * c-typeck.c (convert_arguments): Take expression for called
2519 function rather than its name. Handle ObjC selectors directly
2520 rather than relying on warn_for_assignment to do so. Call warning
2521 directly rather than warn_for_assignment. Use %qE in diagnostics.
2522 Say "argument" rather than "arg" in diagnostics.
2523 (build_function_call): Update call to convert_arguments.
2525 2004-10-06 Andrew Pinski <pinskia@physics.uc.edu>
2528 * dbxout.c (dbxout_symbol): Really handle RECORD, UNION, and
2529 ENUMs specially instead of just saying we do.
2531 2004-10-06 Eric Christopher <echristo@redhat.com>
2533 * dwarf2.h: Sync with include/elf/dwarf2.h
2535 2004-10-06 Daniel Berlin <dberlin@dberlin.org>
2537 * tree-pretty-print.c (dump_generic_node): Fix printing of BINFO
2540 2004-10-06 Daniel Berlin <dberlin@dberlin.org>
2542 * lambda-code.c (lambda_loopnest_to_gcc_loopnest): Convert
2543 to use FOR_EACH_SSA_USE_OPERAND iterator, and propagate_value.
2545 2004-10-06 Daniel Berlin <dberlin@dberlin.org>
2547 * lambda-code.c (compute_nest_using_fourier_motzkin): New
2549 (lambda_compute_auxillary_space): Split from here.
2551 2004-10-06 Daniel Berlin <dberlin@dberlin.org>
2553 * tree-ssa-loop-ivopts.c (expr_invariant_in_loop): Make non-static.
2554 * tree-flow.h: Add prototype.
2555 * lambda-code.c (invariant_in_loop_and_outer_loops): Use
2556 expr_invariant_in_loop.
2558 2004-10-06 Kazu Hirata <kazu@cs.umass.edu>
2560 * tree-cfg.c (thread_jumps): Remove a duplicate check for
2563 2004-10-06 Ulrich Weigand <uweigand@de.ibm.com>
2565 * config/s390/s390-protos.h (s_imm_operand): Remove.
2566 (s390_pool_operand): Add prototype.
2567 * config/s390/s390.c (general_s_operand): Remove.
2568 (s_imm_operand): Remove.
2569 (s_operand): Merge contents of general_s_operand.
2570 (s390_pool_operand): New function.
2571 * config/s390/s390.h (PREDICATE_CODES): Remove s_imm_operand.
2572 * config/s390/s390.md ("*cmpdi_cct", "*cmpsi_cct"): New insns.
2573 ("*cmpdi_ccu"): Merge Q->Q alternative.
2574 ("*cmpsi_ccu", "*cmphi_ccu"): Likewise.
2575 ("*cmpqi_ccu"): Merge Q->Q, n->Q, n->S alternatives.
2577 ("*cmpdi_ccu_mem", "*cmpsi_ccu_mem"): Likewise.
2578 ("*cmphi_ccu_mem", "*cmpqi_ccu_mem"): Likewise.
2579 ("*movstricthi"): Use memory_operand instead of s_imm_operand.
2581 2004-10-06 Steve Ellcey <sje@cup.hp.com>
2583 * config/ia64/ia64.h (FUNCTION_ARG_BOUNDARY): Change macro to
2584 call ia64_function_arg_boundary.
2585 * config/ia64/ia64-protos.h (ia64_function_arg_boundary): New.
2586 * config/ia64/ia64.c (ia64_function_arg_boundary): New.
2587 (ia64_function_arg_advance): Do not put 128 bit floats into
2590 2004-10-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2592 * builtins.c (expand_builtin_strcpy): Delete duplicate code.
2593 Accept an expression instead of an arglist.
2594 (expand_builtin_stpcpy): Accept an expression instead of an
2597 2004-10-06 Eric Botcazou <ebotcazou@libertysurf.fr>
2600 * doc/install.texi (*-*-solaris2*): Mention potential problem
2601 with Sun assembler + GNU linker and C++ programs.
2602 Document status of binutils 2.15 release.
2604 2004-10-06 Jan Hubicka <jh@suse.cz>
2606 * cse.c (cse_main): Kill push/pop context.
2608 2004-10-05 Zack Weinberg <zack@codesourcery.com>
2610 * pretty-print.c: Include tree.h.
2611 (pp_base_prepare_to_format): New function, logic from
2612 text_specifies_location.
2613 (pp_base_format_text): Use gcc_assert.
2614 * pretty-print.h (pp_prepare_to_format): New macro.
2615 (pp_base_prepare_to_format): Prototype.
2616 * diagnostic.c (text_specifies_location): Delete.
2617 (bug_report_request): Delete.
2618 (diagnostic_set_info): Don't call text_specifies_location.
2619 (diagnostic_action_after_output): Put text from
2620 bug_report_request inline here. Use gcc_unreachable.
2621 (diagnostic_report_current_function): Fix comment.
2622 (diagnostic_report_diagnostic): Clarify logic for error recursion.
2623 Call pp_prepare_to_format before diagnostic_starter.
2624 (trim_filename): Use IS_DIR_SEPARATOR.
2625 (fatal_error, internal_error): Use gcc_unreachable.
2626 (error_recursion): Call diagnostic_action_after_output to
2627 issue the bug_report_request message and exit.
2628 * Makefile.in (diagnostic.o, pretty-print.o): Update dependencies.
2630 * c-parse.in: Add list of diagnostic messages to insulate
2631 translation template from version of yacc/bison used to
2632 compile the grammar.
2634 2004-10-06 Alan Modra <amodra@bigpond.net.au>
2637 * doc/tm.texi (USE_LD_AS_NEEDED, LINK_EH_SPEC): Document.
2639 2004-10-05 Kazu Hirata <kazu@cs.umass.edu>
2641 * basic-block.h: Remove the prototype for
2642 flow_preorder_transversal_compute.
2643 * cfganal.c (dfst_node): Remove.
2644 (flow_preorder_transversal_compute): Likewise.
2645 * rtl.h: Remove the prototype for get_jump_table_offset.
2646 * rtlanal.c (get_jump_table_offset): Remove.
2648 2004-10-05 Richard Henderson <rth@redhat.com>
2651 * tree-ssa-operands.c (get_expr_operands): Handle CONST_DECL.
2653 2004-10-05 Kelley Cook <kcook@gcc.gnu.org>
2656 * Makefile.in: Stage the build directory too.
2658 2004-10-05 Aldy Hernandez <aldyh@redhat.com>
2660 * config/frv/frv.h (LEGITIMIZE_ADDRESS): New.
2662 * config/frv/frv-protos.h (frv_legitimize_address): Protoize.
2663 (frv_emit_move): Same.
2665 * config/frv/frv.c (frv_emit_move): New.
2666 (frv_legitimize_address): New.
2668 * config/frv/frv.md ("movsi"): Call frv_emit_move.
2675 2004-10-05 Joseph S. Myers <jsm@polyomino.org.uk>
2677 * c-decl.c (declspecs_add_type): Don't pedwarn for _Complex in
2680 2004-10-05 Joseph S. Myers <jsm@polyomino.org.uk>
2682 * c-decl.c (pushdecl): When an extern declaration at block scope
2683 refers to a visible entity with internal linkage, use the old DECL
2684 rather than the new one.
2686 2004-10-05 Kazu Hirata <kazu@cs.umass.edu>
2688 * tree-cfg.c (cleanup_tree_cfg): Remove extra parentheses in
2691 2004-10-05 Kazu Hirata <kazu@cs.umass.edu>
2693 * tree-cfg.c (thread_jumps): Remove a duplicate check for
2696 2004-10-05 Kazu Hirata <kazu@cs.umass.edu>
2698 * tree-cfg.c (thread_jumps): Iterate with FOR_EACH_BB instead
2699 of FOR_BB_BETWEEN. Remove a useless check for unreachable
2702 2004-10-05 Kazu Hirata <kazu@cs.umass.edu>
2704 * tree-cfg.c (cleanup_tree_cfg): Don't call
2705 delete_unreachable_blosk() after thread_jumps().
2706 (thread_jumps): Always remove basic blocks as they become
2709 2004-10-05 Kazu Hirata <kazu@cs.umass.edu>
2711 * tree-cfg.c (cleanup_tree_cfg): Remove variable
2712 something_changed. Simplify the while loop.
2714 2004-10-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2716 * builtins.c (expand_builtin_memmove): Delete duplicate code
2717 and accept a tree type for the result.
2718 (expand_builtin_bcopy): Accept a tree type for the result.
2719 (fold_builtin_memmove): Accept an arglist and tree type for
2722 2004-10-05 Ulrich Weigand <uweigand@de.ibm.com>
2724 * config/s390/s390.c (s390_dump_pool): Remove return value.
2725 Use gen_pool_align, gen_pool_section_start/end instead of
2726 gen_pool_start/end_31/64.
2727 * config/s390/s390.md (UNSPECV_POOL_START, UNSPECV_POOL_END): Remove.
2728 (UNSPECV_POOL_SECTION, UNSPECV_POOL_ALIGN): New constants.
2729 ("pool_start_31", "pool_end_31"): Remove.
2730 ("pool_start_64", "pool_end_64"): Likewise.
2731 ("pool_align", "pool_section_start", "pool_section_end": New insns.
2733 * config/s390/s390.c (s390_cannot_copy_insn_p): New function.
2734 (TARGET_CANNOT_COPY_INSN_P): Define.
2735 (s390_cannot_force_const_mem): Handle UNSPEC_INSN.
2736 (struct constant_pool): New member 'execute'.
2737 (s390_add_execute, s390_find_execute): New functions.
2738 (s390_execute_label, s390_execute_target): Likewise.
2739 (s390_dump_pool): Output in-pool execute target templates.
2740 (s390_dump_execute): New function.
2741 (s390_alloc_pool, s390_free_pool): Handle execute templates.
2742 (s390_mainpool_start, s390_mainpool_finish): Likewise.
2743 (s390_chunkify_start, s390_chunkify_finish): Likewise.
2744 * config/s390/s390.md (UNSPEC_INSN, UNSPEC_EXECUTE): New constants.
2745 ("*execute"): New insn pattern.
2746 ("movmem_short", "*movmem_short"): Use splitters to generate
2747 explicit execute pattern, remove embedded execute.
2748 ("clrmem_short", "*clrmem_short"): Likewise.
2749 ("cmpmem_short", "*cmpmem_short"): Likewise.
2751 2004-10-05 Daniel Berlin <dberlin@dberlin.org>
2753 * tree-ssa.c (verify_ssa): Verify phi arguments only
2754 contain renamed names.
2756 2004-10-05 Alan Modra <amodra@bigpond.net.au>
2758 * config/rs6000/linux.h: Formatting, whitespace.
2759 * config/rs6000/linux64.h: Likewise.
2760 * config/rs6000/rs6000-protos.h: Likewise.
2761 * config/rs6000/rs6000.c: Likewise.
2762 (easy_vector_splat_const): Add fall thru comments.
2763 (output_vec_const_move): Likewise.
2765 2004-10-05 Kelley Cook <kcook@gcc.gnu.org>
2767 * Makefile.in: Update -Wno-error exceptions for move to build dir.
2769 2004-10-05 Chao-Ying Fu <fu@mips.com>
2770 Richard Sandiford <rsandifo@redhat.com>
2772 * doc/invoke.texi (-mpaired-single): Link to the new description of the
2773 built-in functions. Document dependencies.
2774 (-mips3d): Add link here too.
2775 * doc/extend.texi (MIPS Paired-Single Support): New section.
2777 2004-10-04 Chao-ying Fu <fu@mips.com>
2779 * config/mips/mips.h (UNITS_PER_SIMD_WORD): Define.
2781 2004-10-04 Diego Novillo <dnovillo@redhat.com>
2783 * tree-ssa-dom.c (tree_ssa_dominator_optimize):
2784 Initialize OPT_STATS to 0.
2786 2004-10-04 Kazu Hirata <kazu@cs.umass.edu>
2788 * tree-data-ref.c: Fix comment typos.
2790 2004-10-04 Sebastian Pop <pop@cri.ensmp.fr>
2792 * tree-data-ref.c (array_base_name_differ_p): Fix comments. When
2793 the predicate cannot be computed, don't initialize the result to
2796 2004-10-01 Eric Christopher <echristo@redhat.com>
2798 * dwarf2.h (dwarf_calling_convention): Add GNU prefix to
2799 locally defined enum.
2800 * dwarf2out.c (add_calling_convention_attribute): Don't
2803 2004-10-03 Andrew Pinski <pinskia@physics.uc.edu>
2805 PR c/17178, PR c/17820
2806 * c-decl.c (pop_scope): Do not warn about unused static
2807 variables as they warned in the middle-end.
2809 2004-10-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2811 * builtins.c (expand_builtin_memcpy): Delete duplicate code
2812 and make the first parameter the expression not the arglist.
2814 2004-10-03 Ulrich Weigand <uweigand@de.ibm.com>
2816 * expr.c (expand_expr_addr_expr): Only accept Pmode or ptr_mode
2817 as valid modes to expand address expressions.
2819 2004-10-03 Joseph S. Myers <jsm@polyomino.org.uk>
2821 * c-aux-info.c, c-common.c, c-common.h, c-cppbuiltin.c, c-decl.c,
2822 c-format.c, c-incpath.c, c-lex.c, c-objc-common.c, c-opts.c,
2823 c-parse.in, c-pch.c, c-ppoutput.c, c-pragma.c, c-typeck.c: Follow
2824 code formatting conventions.
2826 2004-10-03 Richard Sandiford <rsandifo@redhat.com>
2828 * config/mips/mips.md (<u>mulsidi3_32bit_r4000): Fix unsigned case.
2830 2004-10-03 Kazu Hirata <kazu@cs.umass.edu>
2832 PR tree-optimization/16632
2833 * fold-const.c (fold) [EQ_EXPR]: When seeing if D & ~C != 0 to
2834 fold (A & C) == D into 0, fold ~C. Similarly, for the case
2835 where | is used instead of &.
2837 2004-10-03 Kazu Hirata <kazu@cs.umass.edu>
2839 * ginclude/stddef.h: Fix a comment typo.
2841 2004-10-03 Eric Botcazou <ebotcazou@libertysurf.fr>
2844 * config.gcc (i?86-*-solaris2*): Restore correct logic
2845 for --enable-threads option.
2846 (sparc64-*-solaris2*): Likewise.
2847 (sparc-*-solaris2*): Likewise.
2849 2004-10-03 Alan Modra <amodra@bigpond.net.au>
2851 * config/rs6000/linux.h (TARGET_C99_FUNCTIONS): Define.
2852 (OS_MISSING_POWERPC64): Move, and comment.
2853 * config/rs6000/linux64.h (TARGET_C99_FUNCTIONS): Define.
2854 (OS_MISSING_POWERPC64): Move, and comment.
2856 2004-10-02 Ian Lance Taylor <ian@wasabisystems.com>
2858 * arm.c (output_call_mem): Add missing \t.
2860 2004-10-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2862 * builtins.c (expand_builtin_memcmp, expand_builtin_strcmp,
2863 expand_builtin_strncmp): Delete duplicate code.
2865 2004-10-02 Frank Ch. Eigler <fche@redhat.com>
2867 * tree-mudflap.c (mf_build_check_statement_for): Reorganize to
2868 take check-base and -limit arguments.
2869 (mf_xform_derefs_1): Reorganize slightly to pass proper base/limit
2870 check ranges for ARRAY_REF and COMPONENT_REF.
2871 (execute_mudflap_fnction_ops, ..._decls): Limit unnecessary
2874 2004-10-02 Joseph S. Myers <jsm@polyomino.org.uk>
2876 * c-objc-common.c (c_tree_printer): Correct description of %E.
2877 Don't fall through after printing an expression.
2879 2004-10-02 Kazu Hirata <kazu@cs.umass.edu>
2881 * tree-cfg.c, config/s390/tpf-unwind.h: Fix comment typos.
2883 2004-10-02 Kazu Hirata <kazu@cs.umass.edu>
2885 * tree-cfg.c (cleanup_tree_cfg): Speed up by calling
2886 delete_unrechable_blocks() only when necessary.
2888 2004-10-02 P.J. Darcy <darcypj@us.ibm.com>
2890 * gthr-tpf.h (__gthread_recursive_mutex_t): New type.
2891 (__GTHREAD_RECURSIVE_MUTEX_INIT): Define.
2892 (__gthread_recursive_mutex_lock, __gthread_recursive_mutex_trylock,
2893 __gthread_recursive_mutex_unlock): New functions.
2895 2004-10-02 P.J. Darcy <darcypj@us.ibm.com>
2897 * config/s390/t-tpf (LIB2ADDEH): Remove tpf-eh.c.
2898 * config/s390/tpf-eh.c: Remove file.
2899 * config/s390/tpf-unwind.h: New file.
2900 * config/s390/tpf.h (MD_FALLBACK_FRAME_STATE_FOR): Remove.
2901 (MD_UNWIND_SUPPORT): Define.
2903 2004-10-02 Joseph S. Myers <jsm@polyomino.org.uk>
2905 * c-typeck.c (warn_for_assignment): Don't permit argnum == 0.
2907 2004-10-01 Ulrich Weigand <uweigand@de.ibm.com>
2909 * config/s390/s390-protos.h (s390_comparison): Add prototype.
2910 * config/s390/s390.c (s390_comparison): New function.
2911 (s390_branch_condition_mask): Return -1 for invalid comparisons.
2912 (s390_branch_condition_mnemonic): Assert valid comparison.
2913 * config/s390/s390.h (PREDICATE_CODES): Add s390_comparison.
2914 * config/s390/s390.md ("*cjump_64", "*cjump_31", "*cjump_long",
2915 "*icjump_64", "*icjump_31", "*icjump_long", "*trap"): Use
2916 s390_comparison instead of comparison_operator.
2918 * config/s390/s390.md (UNSPEC_CMPINT): New constant.
2919 ("cmpmemdi"): Remove.
2920 ("cmpmem_short", "*cmpmem_short"): Use CCUmode instead of CCSmode.
2921 ("cmpmem_long", "*cmpmem_long_64", "*cmpmem_long_31"): Likewise.
2922 ("cmpint_si"): Rename to ...
2923 ("*cmpint_si"): ... this. Use UNSPEC_CMPINT.
2924 ("cmpint_di", "*cmpint_di"): Likewise.
2925 * config/s390/s390.c (s390_canonicalize_comparison): Remove
2926 redundant UNSPEC_CMPINT conversions.
2927 (s390_expand_cmpmem): Adapt to cmpint pattern changes.
2929 2004-10-01 Kazu Hirata <kazu@cs.umass.edu>
2931 * collect2.c (COLLECT_PARSE_FLAG): Remove.
2932 (main): Remove a reference to COLLECT_PARSE_FLAG
2933 * system.h: Poison COLLECT_PARSE_FLAG.
2934 * doc/tm.texi (COLLECT_PARSE_FLAG): Remove.
2936 2004-10-01 Paul Brook <paul@codesourcery.com>
2938 * config/arm/crti.asm: Give _init and _fini function type.
2940 2004-10-01 Zdenek Dvorak <dvorakz@suse.cz>
2942 * common.opt (ftree-loop-ivcanon): Enable by default.
2943 * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely):
2944 Enable complete loop unrolling.
2945 (canonicalize_induction_variables, tree_unroll_loops_completely):
2948 2004-10-01 Paul Brook <paul@codesourcery.com>
2950 * config/arm/arm.c (thumb_compute_saved_rag_mask): Or with bitmask,
2951 not register number.
2952 (thumb_find_work_register): Search full register range.
2954 2004-10-01 Andrew Pinski <pinskia@physics.uc.edu>
2957 * tree-cfg.c (group_case_labels): Get the label and not
2958 the case expr for the default case.
2959 When the label we looking at is the default, decrement the
2962 2004-10-01 Jan Hubicka <jh@suse.cz>
2964 * c-decl.c (c_expand_body): Update call tree_rest_of_compilation.
2965 * cgraphunit.c (cgraph_build_static_cdtor): Likewise.
2966 * toplev.h (tree_rest_of_compilation): Update prototype.
2967 * tree-optimize.c (tree_rest_of_compilation): Kill nested_p argument.
2969 2004-10-01 Kazu Hirata <kazu@cs.umass.edu>
2971 * tree-cfg.c (cleanup_tree_cfg): Pull a call to
2972 cleanup_control_flow() out of the while loop.
2974 2004-10-01 Paolo Bonzini <bonzini@gnu.org>
2976 * tree-vectorizer.c (vectorizable_operation): Fail unless
2977 the mode for the vector type is indeed a vector mode.
2979 2004-10-01 Zdenek Dvorak <dvorakz@suse.cz>
2981 * tree-chrec.c (chrec_fold_plus_poly_poly, chrec_fold_plus_1,
2982 chrec_fold_multiply): Use fold_convert or build_int_cst_type instead
2984 * tree-scalar-evolution.c (compute_overall_effect_of_inner_loop,
2985 add_to_evolution, set_nb_iterations_in_loop, follow_ssa_edge_in_rhs,
2986 follow_ssa_edge_in_rhs): Ditto.
2987 * tree-ssa-loop-ivopts.c (struct iv): Add base_object field.
2988 (dump_iv): Dump base_object.
2989 (dump_use, dump_cand): Use dump_iv.
2990 (determine_base_object): New function.
2991 (alloc_iv): Initialize base_object field.
2992 (record_use): Clear the ssa_name field of iv.
2993 (get_computation_cost_at): Do not use difference of addresses of
2994 two different objects.
2995 (may_eliminate_iv): Do not require the loop to have just single exit.
2996 * tree-ssa-loop-niter.c (zero_p): Do not check for overflows.
2997 (nonzero_p): New function.
2998 (inverse, number_of_iterations_cond, simplify_using_outer_evolutions,
2999 tree_simplify_using_condition, simplify_using_initial_conditions,
3000 loop_niter_by_eval, find_loop_niter_by_eval,
3001 estimate_numbers_of_iterations_loop, compare_trees,
3002 upper_bound_in_type, lower_bound_in_type,
3003 can_count_iv_in_wider_type_bound): Use buildN instead of build. Use
3004 fold_convert or build_int_cst_type instead of convert. Use (non)zero_p
3005 instead of integer_(non)zerop.
3007 2004-10-01 Jakub Jelinek <jakub@redhat.com>
3010 2004-09-29 Jakub Jelinek <jakub@redhat.com>
3012 * tree.h (enum tree_index): Add TI_VA_LIST_GPR_COUNTER_FIELD
3013 and TI_VA_LIST_FPR_COUNTER_FIELD.
3014 (va_list_gpr_counter_field, va_list_fpr_counter_field): Define.
3015 * tree-pass.h (pass_stdarg): Add.
3016 * tree-optimize.c (init_tree_optimization_passes): Add pass_stdarg.
3017 * tree-stdarg.c: New file.
3018 * Makefile.in (OBJS-common): Add tree-stdarg.o.
3019 (tree-stdarg.o): Add dependencies.
3020 * function.h (struct function): Add va_list_gpr_size and
3021 va_list_fpr_size fields.
3022 * function.c (allocate_struct_function): Initialize them.
3024 * config/i386/i386.c (ix86_build_builtin_va_list): Initialize
3025 va_list_{g,f}pr_counter_field.
3026 (ix86_setup_incoming_varargs): Don't do anything if reg_save
3027 area will not be used. Only save registers that tree-stdarg.c
3028 detected they need saving.
3029 (ix86_va_start): Don't set up fields that won't be used.
3031 * config/rs6000/rs6000.c (rs6000_build_builtin_va_list): Initialize
3032 va_list_{g,f}pr_counter_field.
3033 (setup_incoming_varargs): Don't do anything if reg_save
3034 area will not be used. Only save registers that tree-stdarg.c
3035 detected they need saving.
3036 (rs6000_va_start): Don't set up fields that won't be used.
3038 2004-09-30 Eric Christopher <echristo@redhat.com>
3040 * dwarf2.h (dwarf_calling_convention): Add enum for renesas
3042 * dwarf2out.c (add_calling_convention_attribute): New function.
3043 (gen_subroutine_type_die): Use.
3044 * target-def.h (TARGET_DWARF_CALLING_CONVENTION): New hook.
3045 * target.h (gcc_target): Add dwarf_calling_convention.
3046 * hooks.c (hook_int_tree_0): New function.
3047 * hooks.h: Prototype.
3048 * config/sh/sh.c: Include dwarf2.h.
3049 (sh_dwarf_calling_convention): New function.
3050 (TARGET_DWARF_CALLING_CONVENTION): Use.
3051 * doc/tm.texi (TARGET_DWARF_CALLING_CONVENTION): Document.
3053 2004-09-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3055 * builtins.c (expand_builtin_strstr, expand_builtin_strchr,
3056 expand_builtin_strrchr, expand_builtin_strpbrk,
3057 expand_builtin_strncat, expand_builtin_strspn,
3058 expand_builtin_strcspn, expand_builtin_fputs): Eliminate duplicate
3061 2004-09-30 Ulrich Weigand <uweigand@de.ibm.com>
3063 * config/s390/s390-protos.h (s390_expand_logical_operator): Add
3065 (s390_logical_operator_ok_p): Likewise.
3066 * config/s390/s390.c (s390_expand_logical_operator): New function.
3067 (s390_logical_operator_ok_p): Likewise.
3068 * config/s390/s390.md ("anddi3"): New expander.
3069 ("*anddi3"): Rename from old anddi3 pattern, add Q->Q alternative.
3070 ("*anddi3_ss", "*anddi3_ss_inv"): Remove.
3071 ("andsi3"): Use s390_expand_logical_operator.
3072 ("*andsi3_esa", "*andsi3_zarch"): Add Q->Q alternative.
3073 ("*andsi3_ss", "*andsi3_ss_inv"): Remove.
3074 ("andhi3"): New expander.
3075 ("*andhi3_zarch", "*andhi3_esa"): New patterns.
3076 ("andhi3", "*andhi3_ni", "*andhi3_ss", "*andhi3_ss_inv"): Remove.
3077 ("andqi3"): New expander.
3078 ("*andqi3_zarch", "*andqi3_esa"): New patterns.
3079 ("andqi3", "*andqi3_ni", "*andqi3_ss", "*andqi3_ss_inv"): Remove.
3080 ("iordi3"): New expander.
3081 ("*iordi3"): Rename from old iordi3 pattern, add Q->Q alternative.
3082 ("*iordi3_ss", "*iordi3_ss_inv"): Remove.
3083 ("iorsi3"): Use s390_expand_logical_operator.
3084 ("*iorsi3_esa", "*iorsi3_zarch"): Add Q->Q alternative.
3085 ("*iorsi3_ss", "*iorsi3_ss_inv"): Remove.
3086 ("iorhi3"): New expiorer.
3087 ("*iorhi3_zarch", "*iorhi3_esa"): New patterns.
3088 ("iorhi3", "*iorhi3_ni", "*iorhi3_ss", "*iorhi3_ss_inv"): Remove.
3089 ("iorqi3"): New expiorer.
3090 ("*iorqi3_zarch", "*iorqi3_esa"): New patterns.
3091 ("iorqi3", "*iorqi3_ni", "*iorqi3_ss", "*iorqi3_ss_inv"): Remove.
3092 ("xordi3"): New expander.
3093 ("*xordi3"): Rename from old xordi3 pattern, add Q->Q alternative.
3094 ("*xordi3_ss", "*xordi3_ss_inv"): Remove.
3095 ("xorsi3"): New expander.
3096 ("*xorsi3"): Rename from old xorsi3 pattern, add Q->Q alternative.
3097 ("*xorsi3_ss", "*xorsi3_ss_inv"): Remove.
3098 ("xorhi3"): New expander.
3099 ("*xorqi3"): Rename from old xorhi3 pattern, add Q->Q alternative.
3100 ("*xorhi3_ss", "*xorhi3_ss_inv"): Remove.
3101 ("xorqi3"): New expander.
3102 ("*xorqi3"): Rename from old xorqi3 pattern, add Q->Q alternative.
3103 ("*xorqi3_ss", "*xorqi3_ss_inv"): Remove.
3105 2004-09-30 Roger Sayle <roger@eyesopen.com>
3107 * combine.c (force_to_mode) <NE_EXPR>: Only convert the expression
3108 (AND (NE FOO 0) CONST) into (AND FOO CONST) if FOO has the same
3109 machine mode as the result.
3111 2004-09-30 Ben Elliston <bje@au.ibm.com>
3114 * lcm.c (optimize_mode_switching): Update to use EDGE_SUCC and
3115 FOR_EACH_EDGE macros.
3117 2004-09-30 Joseph S. Myers <jsm@polyomino.org.uk>
3119 * c-tree.h (readonly_error): Remove.
3120 * c-typeck (enum lvalue_use): New.
3121 (lvalue_or_else, readonly_error): Use it. All callers changed.
3122 (readonly_error): Make static.
3124 2004-09-30 Jan Hubicka <jh@suse.cz>
3127 * cfgrtl.c (try_redirect_by_replacing_jump,
3128 force_nonfallthru_and_redirect, commit_one_edge_insertion,
3129 cfg_layout_merge_blocks): Do not attach any line number information
3130 to newly inserted instructions.
3131 * emit-rtl.c (emit_insn*_before, emit_insn*_after): Rename to
3133 (emit_*insn_before, emit_insn*_after): New.
3134 (emit_*insn_before_setloc, emit_*insn_after_setloc): Do not overwrite
3136 * rtl.h (emit_*insn_before_noloc, emit_*insn_after_noloc): Declare.
3137 (emit_*insn_before_sameloc, emit_*insn_after_sameloc): Kill.
3139 2004-09-30 Ulrich Weigand <uweigand@de.ibm.com>
3141 * config/s390/s390-protos.h (s390_arg_frame_offset): Remove.
3142 (s390_return_address_offset): Remove.
3143 (s390_can_eliminate): Add prototype.
3144 (s390_initial_elimination_offset): Add prototype.
3145 * config/s390/s390.h (CAN_ELIMINATE): Call s390_can_eliminate.
3146 (INITIAL_ELIMINATION_OFFSET): Call s390_initial_elimination_offset.
3147 * config/s390/s390.c (s390_arg_frame_offset): Remove.
3148 (s390_return_address_offset): Remove.
3149 (s390_can_eliminate, s390_initial_elimination_offset): New functions.
3150 (struct machine_function): New member split_branches_pending_p.
3151 (s390_mainpool_start): Allow nonexistant pool insn for empty pool.
3152 (s390_mainpool_finish): Likewise. Clear base_reg if pool empty.
3153 (s390_optimize_prologue): Remove base_used argument. Call
3154 s390_update_frame_layout instead of s390_register_info. Handle
3155 prologue/epilogue insns that touch only RETURN_REGNUM.
3156 (s390_reorg): Remove base_used. Clear split_branches_pending_p.
3157 (s390_register_info): Remove base_used and return_addr_used
3158 arguments, compute special register usage inline. Return live
3159 register data to caller.
3160 (s390_frame_info): Remove arguments, do not call s390_register_info.
3161 (s390_init_frame_layout): New function.
3162 (s390_update_frame_layout): Likewise.
3163 (s390_emit_prologue): Call s390_update_frame_layout; some code
3164 move to there. Do not emit pool placeholder insn if unnecessary.
3166 2004-09-30 Ulrich Weigand <uweigand@de.ibm.com>
3168 * config/s390/s390.c (legitimate_reload_constant_p): Remove
3169 floating point constant workaround.
3170 (s390_secondary_input_reload_class): Handle PLUS reloads
3171 with too-large constant.
3172 (s390_expand_plus_operand): Likewise.
3173 * config/s390/s390.md ("movdi"): Do not call force_const_mem.
3174 ("movsi"): Likewise. Also, remove workaround for non-general
3176 ("movdf"): Do not call force_const_mem.
3177 ("movsf"): Likewise. Merge expander with *movsf insn.
3178 ("*movsf"): Remove, merge with movsf expander.
3180 2004-09-30 Paul Brook <paul@codesourcery.com>
3182 * config/arm/symbian.h (STARTFILE_SPEC): Remove crt*.o.
3183 (ENDFILE_SPEC): Define.
3184 * config/arm/t-symbian.h (EXTRA_MULTILIB_PARTS): Set.
3186 2004-09-30 Richard Henderson <rth@redhat.com>
3188 * config/alpha/qrnnd.asm: Mark for noexecstack.
3190 2004-09-30 Kazu Hirata <kazu@cs.umass.edu>
3192 * protoize.c, tree-cfg.c: Fix comment typos.
3194 2004-09-30 Joseph S. Myers <jsm@polyomino.org.uk>
3197 * c-typeck.c (lvalue_or_else): Pass msgid directly to error.
3199 2004-09-30 Diego Novillo <dnovillo@redhat.com>
3201 * tree-ssa-alias.c (collect_points_to_info_r): Move analysis of
3203 (add_pointed_to_expr): ... here.
3204 Call add_pointed_to_expr for variables with DECL_INITIAL set.
3205 * tree-dfa.c (add_referenced_var): Scan DECL_INITIAL of any
3206 pointer variable, if set.
3208 2004-09-30 Kazu Hirata <kazu@cs.umass.edu>
3210 * config/sh/sh.c: Follow spelling conventions.
3212 2004-09-29 Richard Henderson <rth@redhat.com>
3214 * unwind-dw2.c (_Unwind_GetGR): Honor DWARF_ZERO_REG.
3215 * doc/tm.texi (DWARF_ZERO_REG): New.
3217 * config/alpha/alpha.c (alpha_sa_mask, alpha_expand_prologue,
3218 alpha_expand_epilogue): Revert 2003-09-30 change to store zero.
3219 * config/alpha/alpha.h (DWARF_ZERO_REG): New.
3221 2004-09-29 Ulrich Weigand <uweigand@de.ibm.com>
3223 * builtins.c (expand_builtin_strlen): Do not call emit_move_insn
3224 with a PLUS as source operand.
3225 (expand_movstr): Likewise.
3226 (expand_builtin_stpcpy): Likewise.
3228 2004-09-29 Richard Henderson <rth@redhat.com>
3231 * tree-gimple.c (is_gimple_reg): Reject hard registers.
3232 (is_gimple_asm_val): New.
3233 * tree-gimple.h (is_gimple_asm_val): Declare.
3234 * gimplify.c (gimplify_asm_expr): Use it.
3235 * tree-pretty-print.c (print_declaration): Dump hard regs.
3236 * tree-outof-ssa.c (check_replaceable): Don't check for hard regs.
3237 * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Likewise.
3238 * tree-ssa-pre.c (is_undefined_value): Likewise.
3239 * tree-ssa-copy.c (may_propagate_copy): Likewise.
3240 (may_propagate_copy_into_asm): Protect DECL_HARD_REGISTER.
3241 * tree-ssa.c (warn_uninit): Likewise.
3242 * tree.h (DECL_HARD_REGISTER): Check for VAR_DECL.
3244 2004-09-29 Fariborz Jahanian <fjahanian@apple.com>
3246 * c-decl.c (merge_decls): Use comptype when comparing
3247 types to decide on DECL_SIZE save of olddecl.
3249 2004-09-29 Daniel Berlin <dberlin@dberlin.org>
3251 * tree.h (INDIRECT_REF_P): New macro.
3252 * alias.c (get_alias_set): Use it
3253 (nonoverlapping_memrefs_p): Ditto.
3254 * emit-rtl.c (mem_expr_equal_p): Ditto.
3255 (set_mem_attributes_minus_bitpos): Ditto.
3256 (is_gimple_addressable): Ditto.
3257 (get_base_address): Ditto.
3258 * tree-ssa-alias.c (find_ptr_derefernece): Ditto.
3259 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Ditto.
3260 * tree-ssa-dom.c (record_equivalences_from_stmt): Ditto.
3261 * tree-ssa-loop-im.c (is_call_clobbered_ref): Ditto.
3262 * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Ditto.
3263 (add_address_candidates): Ditto.
3264 (rewrite_address_base): Ditto.
3266 2004-09-30 Ben Elliston <bje@au.ibm.com>
3268 * tree-flow.h (struct bb_ann_d): Remove num_preds member.
3269 * tree-into-ssa.c (rewrite_into_ssa): Don't set it.
3270 (rewrite_ssa_into_ssa): Likewise.
3271 * tree-phinodes.c (create_phi_node): Access the number of
3272 predecessor edges using EDGE_COUNT() and not num_preds.
3274 2004-09-29 Joseph S. Myers <jsm@polyomino.org.uk>
3277 * c-decl.c (merge_decls): Merge TREE_DEPRECATED.
3279 2004-09-29 Eric Christopher <echristo@redhat.com>
3281 * fold-const.c (tree_swap_operands_p): Remove duplicated code.
3283 2004-09-29 Hans-Peter Nilsson <hp@axis.com>
3285 * config/cris/cris.md (moverside, movemside): With MEM, make sure
3286 the address is (plus reg mem).
3288 2004-09-29 David Edelsohn <edelsohn@gnu.org>
3290 * config/rs6000/linux64.h (PROCESSOR_DEFAULT): Define.
3292 2004-09-29 Nathan Sidwell <nathan@codesourcery.com>
3294 * tree.c (make_node_stat): Fix uninitialized warning. Replace
3295 cascaded if ... else if with a switch.
3297 2004-09-29 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
3299 * read-rtl.c (apply_macro_to_string): Replace index with strchr.
3301 2004-09-29 Jakub Jelinek <jakub@redhat.com>
3303 * tree.h (enum tree_index): Add TI_VA_LIST_GPR_COUNTER_FIELD
3304 and TI_VA_LIST_FPR_COUNTER_FIELD.
3305 (va_list_gpr_counter_field, va_list_fpr_counter_field): Define.
3306 * tree-pass.h (pass_stdarg): Add.
3307 * tree-optimize.c (init_tree_optimization_passes): Add pass_stdarg.
3308 * tree-stdarg.c: New file.
3309 * Makefile.in (OBJS-common): Add tree-stdarg.o.
3310 (tree-stdarg.o): Add dependencies.
3311 * function.h (struct function): Add va_list_gpr_size and
3312 va_list_fpr_size fields.
3313 * function.c (allocate_struct_function): Initialize them.
3315 * config/i386/i386.c (ix86_build_builtin_va_list): Initialize
3316 va_list_{g,f}pr_counter_field.
3317 (ix86_setup_incoming_varargs): Don't do anything if reg_save
3318 area will not be used. Only save registers that tree-stdarg.c
3319 detected they need saving.
3320 (ix86_va_start): Don't set up fields that won't be used.
3322 * config/rs6000/rs6000.c (rs6000_build_builtin_va_list): Initialize
3323 va_list_{g,f}pr_counter_field.
3324 (setup_incoming_varargs): Don't do anything if reg_save
3325 area will not be used. Only save registers that tree-stdarg.c
3326 detected they need saving.
3327 (rs6000_va_start): Don't set up fields that won't be used.
3329 2004-09-29 Jakub Jelinek <jakub@redhat.com>
3331 * builtins.def (BUILT_IN_FPUTC, BUILT_IN_FPUTC_UNLOCKED,
3332 BUILT_IN_FPUTS, BUILT_IN_FPUTS_UNLOCKED, BUILT_IN_FWRITE,
3333 BUILT_IN_FWRITE_UNLOCKED, BUILT_IN_PUTCHAR, BUILT_IN_PUTCHAR_UNLOCKED,
3334 BUILT_IN_PUTS, BUILT_IN_PUTS_UNLOCKED): Remove nothrow attribute.
3335 * builtin-attrs.def (ATTR_NONNULL_1, ATTR_NONNULL_2, ATTR_NONNULL_1_2,
3336 ATTR_NONNULL_1_4): New.
3338 2004-09-29 Jakub Jelinek <jakub@redhat.com>
3340 PR tree-optimization/17697
3341 * tree-ssa-ccp.c (execute_fold_all_builtins): Update eh and cleanup
3344 2004-09-28 Per Bothner <per@bothner.com>
3346 * profile.c (branch_prob): Pass correct value to output_location,
3347 even when USE_MAPPED_LOCATION. Fixes bug from 09-11.
3349 2004-09-28 Richard Henderson <rth@redhat.com>
3352 * tree-ssa-copy.c (may_propagate_copy_into_asm): New.
3353 * tree-flow.h (may_propagate_copy_into_asm): Declare.
3354 * tree-ssa-ccp.c (replace_uses_in): Use it.
3355 * tree-ssa-dom.c (cprop_operand): Likewise.
3357 2004-09-28 Jeff Law <law@redhat.com>
3359 * tree-ssa-threadupdate.c (create_block_for_threading): Request
3360 that no outgoing edges be left in the duplicate block. Do no
3361 update information on outgoing edges or PHI nodes in target
3363 (remove_ctrl_stmt_and_useless_edges): Renamed from
3364 remove_last_stmt_and_useless_edges. Handle case where the
3365 block is empty or has no control statements. Do not update edge
3367 (thread_block): Create a template block rather than copying the
3368 original block every time. Create outgoing edges from the
3369 duplicate blocks and update PHIs at the target of the outgoing
3370 edges here. Fix edge flags for the original block if necessary.
3371 * cfghooks (duplicate_block): No longer assert that the original
3372 block has incoming edges.
3374 2004-09-29 Hans-Peter Nilsson <hp@bitrange.com>
3376 * doc/extend.texi (Extended Asm): Add blurb about using Explicit
3377 Reg Vars to enforce register allocation with general constraints.
3378 (Explicit Reg Vars): Clarify relation to asm statements.
3379 (Local Reg Vars): Similar.
3381 2004-09-28 Ulrich Weigand <uweigand@de.ibm.com>
3383 * sched-rgn.c (haifa_edge, edge_table, NEXT_IN, NEXT_OUT, FROM_BLOCK,
3384 TO_BLOCK, nr_edges, in_edges, out_edges, IN_EDGES, OUT_EDGES,
3385 build_control_flow, new_edge): Remove.
3386 (schedule_insns): Remove edge_table/in_edges/out_edges cleanup.
3387 (bitlst, bitlst_table_last, bitlst_table): Remove.
3388 (bblst): Store basic_block pointer instead of block index.
3389 (bblst_table): Likewise.
3390 (edgelst): Store edge pointer instead of edge index.
3391 (edgelst_table, edgelst_last): New variables.
3392 (extract_bitlst): Rename to ...
3393 (extract_edgelst): ... this. Return edge pointers, not indices.
3394 (split_edges): Update call.
3395 (rgn_edges): Store edge pointers instead of indices.
3396 (edge_to_bit): Remove.
3397 (EDGE_TO_BIT): Store per-region edge index in edge->aux.
3398 (SET_EDGE_TO_BIT): New macro.
3399 (is_cfg_nonregular): Check for simple cases of unreachable blocks.
3400 (find_rgns): Remove edge_list parameter. Traverse standard CFG
3401 data structures instead of haifa_edge et al. Use edge pointers
3402 instead of edge indices everywhere.
3403 (compute_dom_prob_ps): Use standard CFG data structures. Account
3405 (compute_trg_info): Likewise.
3406 (propagate_deps): Likewise.
3407 (debug_candidate): Account for bblst data structure change.
3408 (check_live_1, update_live_1, is_pfree): Likewise.
3409 (IS_REACHABLE): Use standard CFG data structures.
3410 (init_ready_list): Update bblst_table/edgelst_table allocation.
3411 (schedule_region): Update alloc/cleanup code to data structure
3412 changes. Use edge->aux to store per-region edge index.
3413 (init_regions): No longer call build_control_flow. Do not
3414 create edge list any more.
3416 2004-09-28 Ulrich Weigand <uweigand@de.ibm.com>
3418 * cse.c (cse_insn): Avoid creating direct non-local jumps.
3419 * combine.c (can_combine_p): Likewise.
3420 * local-alloc. (update_equiv_regs): Likewise.
3422 2004-09-28 Richard Henderson <rth@redhat.com>
3425 * expr.c (expand_expr_addr_expr_1): Only assemble_external for decls.
3426 Don't check VOIDmode here. Force PLUS operands to common type.
3427 (expand_expr_addr_expr): Do VOIDmode check earlier. Force use of
3428 Pmode if given a non pointer type.
3430 2004-09-28 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3433 * optabs.c (expand_binop): Force constants to the correct mode.
3435 2004-09-28 Ulrich Weigand <uweigand@de.ibm.com>
3437 * config/s390/s390.c (s390_adjust_cost): Remove.
3438 (TARGET_SCHED_ADJUST_COST): Do not redefine.
3439 (s390_adjust_priority): Handle TYPE_STM like TYPE_STORE.
3440 * config/s390/s390.md ("main_pool"): Use "larl" type
3441 attribute if TARGET_CPU_ZARCH.
3443 2004-09-28 Jakub Jelinek <jakub@redhat.com>
3445 * config/ia64/ia64.c (ia64_expand_prologue): Declare ei
3448 2004-09-28 Diego Novillo <dnovillo@redhat.com>
3450 * tree-ssa-loop.c (pass_record_bounds): Do not assign a
3453 2004-09-28 Steven Bosscher <stevenb@suse.de>
3455 * common.opt (flag_gcse_sm): Disable by default.
3456 (flag_gcse_las): Likewise.
3457 (flag_web): Likewise. Create from this file.
3458 * flags.h: Remove flag_web declaration.
3459 * toplev.c (flag_web): Likewise.
3460 (process_options): Never set flag_web.
3462 2004-09-28 Steven Bosscher <stevenb@suse.de>
3464 * Makefile.in (tree-ssa-propagate.o): Depend on vec.h.
3465 * tree-ssa-propagate.c: Include vec.h.
3466 (interesting_ssa_edges, varying_ssa_edges): Make these VECs
3468 (cfg_blocks_add): Assert the block is not already in the worklist.
3469 Update uses of interesting_ssa_edges and varying_ssa_edges.
3470 (process_ssa_edge_worklist, ssa_prop_init, ssa_prop_fini,
3471 ssa_propagate): Likewise.
3473 2004-09-28 Joseph S. Myers <jsm@polyomino.org.uk>
3476 * c-decl.c (start_decl): Check for initializing incomplete array
3478 (build_compound_literal): Check for TYPE being error_mark_node.
3479 * c-parse.in (primary): Check for VLA compound literals.
3481 2004-09-28 Diego Novillo <dnovillo@redhat.com>
3483 * tree-ssa-live.c (calculate_live_on_entry): Fix warnings
3484 with --disable-checkin