1 2004-10-26 Zack Weinberg <zack@codesourcery.com>
3 * dbxout.c: Include obstack.h.
4 (ASM_STABS_OP): Take XCOFF_DEBUGGING_INFO into account in
6 (ASM_STABD_OP, NO_DBX_MAIN_SOURCE_DIRECTORY, DBX_CONTIN_CHAR):
8 (DBX_CONTIN_LENGTH): Move definition with others.
9 (DBX_FINISH_STABS): New target macro.
10 (current_sym_code, current_sym_value, current_sym_addr)
11 (current_sym_nchars, CHARS, dbxout_continue)
12 (print_int_cst_octal, print_octal, print_wide_int)
13 (dbxout_prepare_symbol, dbxout_finish_symbol): Delete.
14 (stabstr_ob, stabstr_last_contin_point): New variables.
15 (NUMBER_FMT_LOOP): New improper macro.
16 (dbxout_int, dbxout_stab_value_zero, dbxout_stab_value_label)
17 (dbxout_stab_value_label_diff, dbxout_stab_value_internal_label)
18 (dbxout_stab_value_internal_label_diff, dbxout_stabd)
19 (dbxout_begin_stabn, dbxout_begin_stabn_sline)
20 (dbxout_begin_simple_stabs, dbxout_begin_simple_stabs_desc)
21 (dbxout_begin_complex_stabs, dbxout_finish_complex_stabs)
22 (stabstr_C, stabstr_S, stabstr_I, stabstr_D, stabstr_U, stabstr_O)
23 (stabstr_continue, DECL_ACCESSIBILITY_CHAR)
24 New functions and/or proper function-like macros.
25 (CONTIN): Use stabstr_continue, unconditionally.
26 (get_lang_number): Define unconditionally, with ATTRIBUTE_UNUSED.
27 (dbxout_init): Initialize stabstr_ob. Check
28 NO_DBX_MAIN_SOURCE_DIRECTORY. Only write out the Ltext label
29 if it was used. Use the new interfaces.
30 (dbxout_source_file): Remove file argument; always write to
31 asm_out_file. Use the new interfaces.
32 (dbxout_type_method_1): Remove second argument which is always
33 DECL_ASSEMBLER_NAME of the first argument. Use the new interfaces.
34 (dbxout_type_methods): Remove write-only variables. Use the
36 (dbxout_parms): Refactor to remove code duplicated in each of
37 several successive if-else-if blocks. Use the new interfaces.
38 (dbxout_function_end, emit_bincl_stab, dbxout_end_source_file)
39 (dbxout_source_line, dbxout_finish, dbxout_type_index)
40 (dbxout_type_fields, dbxout_range_type, dbxout_type, dbxout_type_name)
41 (dbxout_class_name_qualifiers, dbxout_symbol, dbxout_symbol_location)
42 (dbxout_symbol_name, dbxout_reg_parms, dbxout_args)
43 (dbx_output_lbrac, dbx_output_rbrac, dbxout_block):
44 Use the new interfaces.
45 * Makefile.in (dbxout.o): Update dependencies.
47 * defaults.h: Don't define ASM_STABD_OP.
48 * output.h: Prototype new dbxout_* interfaces.
49 * system.h: Poison DBX_OUTPUT_GCC_MARKER and DBX_FINISH_SYMBOL.
50 * varasm.c: Don't define ASM_STABS_OP.
51 (default_stabs_asm_out_constructor, default_stabs_asm_out_destructor):
52 Use the new dbxout.c interfaces. Call sorry if neither
53 DBX_DEBUGGING_INFO nor XCOFF_DEBUGGING_INFO is defined.
55 * xcoffout.h: Don't define ASM_STABS_OP.
56 (DBX_FINISH_SYMBOL): Rewrite and rename DBX_FINISH_STABS.
57 (DBX_OUTPUT_MAIN_SOURCE_DIRECTORY, DBX_OUTPUT_GCC_MARKER): Delete.
58 (NO_DBX_MAIN_SOURCE_DIRECTORY, NO_DBX_GCC_MARKER): Define.
59 (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Change bare block to
60 do { ... } while (0) idiom.
62 * config/alpha/alpha.c (num_source_filenames): Export.
63 * config/alpha/alpha.h (num_source_filenames): Declare.
64 (DBX_OUTPUT_SOURCE_LINE): Use new interfaces.
65 (SDB_OUTPUT_SOURCE_LINE): Add missing newline.
66 * config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Use new interfaces.
67 Always use .debugsym. Update commentary.
68 * config/mips/mips.h (DBX_OUTPUT_SOURCE_LINE): Use new interfaces.
69 (SDB_OUTPUT_SOURCE_LINE): Add missing newline.
70 * config/rs6000/linux64.h (DBX_OUTPUT_SOURCE_LINE, DBX_OUTPUT_BRAC):
72 * config/rs6000/rs6000.c: If TARGET_MACHO, include gstab.h.
73 (macho_branch_islands): Use new interfaces.
75 * doc/tm.texi: Update.
77 2004-10-26 Aldy Hernandez <aldyh@redhat.com>
79 * expr.c (emit_group_store): Do not treat floats as BLKmode.
80 (emit_group_load): Same.
82 2004-10-26 Joseph S. Myers <jsm@polyomino.org.uk>
84 * c-parse.in (datadef): Use pedwarn rather than error and warning
85 for diagnostic in case of no declaration specifiers.
87 2004-10-26 Richard Sandiford <rsandifo@redhat.com>
90 * doc/install.texi (mips-sgi-irix5): Document that /bin/sh has been
91 reported to hang during bootstrap and that CONFIG_SHELL=/bin/ksh
92 can be used to work around this.
94 2004-10-26 Aldy Hernandez <aldyh@redhat.com>
96 * config/rs6000/rs6000.h (MEMBER_TYPE_FORCES_BLK): Adjust for e500
99 2004-10-26 Kazu Hirata <kazu@cs.umass.edu>
101 * stmt.c (expand_case): Update a comment.
103 2004-10-26 Kazu Hirata <kazu@cs.umass.edu>
105 * stmt.c (expand_case): Put an assertion that index_expr is
106 never INTEGER_CST. Don't special case for constant
109 2004-10-26 Andrew Pinski <pinskia@physics.uc.edu>
112 * c-parse.in (designator): Finish with a semi-colon.
114 2004-10-26 Fariborz Jahanian <fjahanian@apple.com>
116 * config/rs6000/rs6000.md (andsi3_internal8): Set CR when splitting
119 2004-10-26 Kazu Hirata <kazu@cs.umass.edu>
121 * stmt.c (expand_case): Remove code to handle SWITCH_EXPR with
124 2004-10-26 Aldy Hernandez <aldyh@redhat.com>
126 * config/rs6000/rs6000.c (rs6000_hard_regno_nregs): Adjust for
128 (spe_build_register_parallel): New.
129 (rs6000_spe_function_arg): Handle e500 doubles.
130 (function_arg): Same.
131 (spe_func_has_64bit_regs_p): Same.
132 (rs6000_function_value): Same.
133 (rs6000_libcall_value): Same.
134 (legitimate_lo_sum_address_p): Return false for e500 doubles.
136 * config/rs6000/rs6000.h (LOCAL_ALIGNMENT): Adjust for e500
138 (DATA_ALIGNMENT): Same.
139 (CANNOT_CHANGE_MODE_CLASS): Same.
141 2004-10-26 Aldy Hernandez <aldyh@redhat.com>
143 * expr.c (emit_group_load): Handle floats.
144 (emit_group_store): Same.
146 2004-10-26 Nathan Sidwell <nathan@codesourcery.com>
148 * c-lex.c (get_nonpadding_token): Remove.
149 (c_lex_with_flags): Push timevar and eat padding here. Improve
150 stray token diagnostic.
151 (lex_string): Replace logic with switch statement, eat padding
154 2004-10-26 Geoffrey Keating <geoffk@apple.com>
157 * config/i386/darwin.h (ASM_SPEC): Undef it before defining.
159 2004-10-25 Geoffrey Keating <geoffk@apple.com>
161 * config/darwin.h (LINK_SPEC): Default weak_reference_mismatches
163 (MAKE_DECL_ONE_ONLY): Set DECL_WEAK.
164 (ASM_MAKE_LABEL_LINKONCE): Delete.
165 (ASM_WEAKEN_DECL): New.
166 (ASM_DECLARE_OBJECT_NAME): Look at DECL_WEAK not DECL_ONE_ONLY.
167 (ASM_DECLARE_FUNCTION_NAME): Likewise.
168 (TEXT_SECTION_ASM_OP): Add a tab.
169 (DATA_SECTION_ASM_OP): Likewise.
170 (SECTION_FUNCTION): Add a tab. Use fputs. Don't call
171 data_section on every section change.
172 (EXTRA_SECTIONS): Add a bunch of new extra sections.
173 (EXTRA_SECTION_FUNCTIONS): Likewise.
174 (USE_SELECT_SECTION_FOR_FUNCTIONS): Define.
175 (JCR_SECTION_NAME): Define.
176 (TARGET_SECTION_TYPE_FLAGS): Don't define.
177 * config/darwin.c (darwin_encode_section_info): A symbol is defined
178 in this file if it is not weak.
179 (textcoal_section): Delete.
180 (datacoal_section): Delete.
181 (darwin_make_decl_one_only): Delete.
182 (machopic_select_section): Handle functions.
183 (darwin_asm_named_section): Add a tab.
184 (darwin_section_type_flags): Delete.
185 (darwin_unique_section): Delete contents.
186 (darwin_emit_unwind_label): Add a tab. Make decls weak if
188 * config/darwin-protos.h (darwin_section_type_flags): Delete.
189 (darwin_make_decl_one_only): Delete.
190 (text_coal_section): New.
191 (text_unlikely_section): New.
192 (text_unlikely_coal_section): New.
193 (const_coal_section): New.
194 (data_coal_section): New.
195 (const_data_coal_section): New.
196 * varasm.c (function_section): Honour
197 USE_SELECT_SECTION_FOR_FUNCTIONS.
198 * dwarf2out.c (output_call_frame_info): Look at DECL_WEAK when
199 TARGET_USES_WEAK_UNWIND_INFO is in effect.
200 * dbxout.c (dbxout_source_file): Don't change sections while
201 a function is being output.
203 2004-10-25 David Ayers <d.ayers@inode.at>
205 * c-common.h: Remove RID_ID.
206 * c-parse.in: Remove OBJECTNAME and references to RID_ID.
207 (typespec_reserved_attr): Add rule for TYPENAME
208 non_empty_protocolrefs.
209 (yylexname): Remove special handling of RID_ID.
211 2004-10-25 James E Wilson <wilson@specifixinc.com>
213 * doc/invoke.texi (-fcrossjumping): Not enabled at -O.
215 2004-10-25 Joseph S. Myers <jsm@polyomino.org.uk>
218 * c-parse.in (array_designator): New.
219 (designator): Use it.
220 (initelt): Only permit array_designator without '=', not ".foo".
222 2004-10-25 Kenneth Zadeck <zadeck@naturalbridge.com>
223 * gcc/Makefile.in: removed ggc for cgraphunit.
224 * gcc/cgraph.c.dump_cgraph_node: removed static var analysis.
225 * gcc/cgraph.h: removed static var analysis data structures and calls.
227 cgraph_mark_local_and_external_functions:changed name to
228 cgraph_mark_local_functions
229 (print_order,convert_UIDs_in_bitmap,new_static_vars_info,
230 cgraph_reset_static_var_maps,get_global_static_vars_info,
231 get_global_statics_not_read,get_global_statics_not_written,searchc,
232 cgraph_reduced_inorder,has_proper_scope_for_analysis,check_rhs_var,
233 check_lhs_var,get_asm_expr_operands,process_call_for_static_vars,
234 scan_for_static_refs,cgraph_characterize_statics_local,
235 clear_static_vars_maps,cgraph_propagate_bits,cgraph_characterize_statics):
237 (cgraph_optimize,init_cgraph): removed calls to static vars analysis
238 * gcc/tree-dfa.c find_referenced_vars: removed call to static vars
240 * gcc/tree-flow.h static_vars_info: removed
241 * gcc/tree-ssa-operands.c (add_call_clobber_ops,add_call_read_ops):
242 removed calls to static vars analysis.
243 get_call_expr_operands: removed callee variable.
245 2004-10-25 Kazu Hirata <kazu@cs.umass.edu>
247 * cfg.c (unchecked_make_edge, redirect_edge_succ,
248 redirect_edge_pred): Use VEC_safe_push instead of
250 * cfgrtl.c (force_nonfallthru_and_redirect): Likewise.
252 2004-10-25 Kazu Hirata <kazu@cs.umass.edu>
254 * cfgloopmanip.c (loopify): Take two more arguments true_edge
256 * cfgloop.h: Adjust the corresponding prototype.
257 * loop-unswitch.c (unswitch_loop): Adjust a call to loopify.
258 * tree-ssa-loop-manip.c (tree_ssa_loop_version): Likewise.
260 2004-10-25 Jakub Jelinek <jakub@redhat.com>
262 * dwarf2out.c (rtl_for_decl_location): Avoid segfault if
263 DECL_INCOMING_RTL is NULL.
265 2004-10-25 Steven Bosscher <stevenb@suse.de>
267 * timevar.def (TV_FIND_REFERENCED_VARS): New.
268 * tree-dfa.c (pass_referenced_var): Use it.
270 2004-10-25 Roger Sayle <roger@eyesopen.com>
271 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
273 * cse.c: Change encoding of quantity numbers to avoid undefined
274 pointer arithmetic on qty_table.
275 (REGNO_QTY_VALID_P): A quantity is now valid if it isn't negative.
276 (get_cse_reg_info): Initialize reg_qty to a unique negative value.
277 (new_basic_block): Assign "real" quantity numbers from zero.
278 (delete_reg_equiv): Do nothing if quantity is invalid. Reset the
279 REG_QTY to its unique negative value.
280 (merge_equiv_classes): Calculate need_rehash if quantity is valid.
281 (cse_main): Don't include max_reg when determining max_qty.
282 (cse_basic_block): Avoid subtracting a large offset from qty_table,
283 which causes undefined C99 behaviour. Only allocate needed memory.
285 2004-10-25 Kazu Hirata <kazu@cs.umass.edu>
287 * stmt.c (expand_case): Remove an obsolete comment.
289 2004-10-25 Andrew Pinski <pinskia@physics.uc.edu>
292 * c-decl.c (grokdeclarator) <case cdk_array>: Remove the call
293 layout_type as it is already done by build_array_type.
294 * tree.c (build_array_type): Layout the type even
296 2004-10-25 Alexandre Oliva <aoliva@redhat.com>
298 * config/frv/linux.h (TARGET_C99_FUNCTIONS): Define to 0.
300 2004-10-25 Alexandre Oliva <aoliva@redhat.com>
302 * config/frv/frv.md (movdi, movdf): Handle wide-constant splits
303 with wider-than-32-bit HOST_WIDE_INTs.
305 2004-10-25 David Billinghurst <David.Billinghurst@riotinto.com>
307 * config/mips/mips.c(mips_output_filename): Remove unused
308 array ltext_label_name
310 2004-10-24 Geoffrey Keating <geoffk@geoffk.org>
312 * config/rs6000/darwin.h (BLOCK_REG_PADDING): Define.
314 2004-10-25 Ben Elliston <bje@au.ibm.com>
316 * cfgcleanup.c (outgoing_edges_match): Fix typo in dump output.
318 2004-10-23 Andrew Pinski <pinskia@physics.uc.edu>
320 * predict.c (predict_loops): Call scev_finalize instead of
323 2004-10-24 Kazu Hirata <kazu@cs.umass.edu>
325 * config/dbxcoff.h, config/dbxelf.h, config/libgloss.h,
326 config/openbsd.h, config/mips/r3900.h, config/pdp11/pdp11.md,
327 config/sh/ushmedia.h, config/sparc/elf.h,
328 config/sparc/sp64-elf.h: Update copyright.
330 2004-10-24 Kazu Hirata <kazu@cs.umass.edu>
332 * stmt.c (expand_case): Handle the default label outside of
333 the for loop. Remove code to handle a missing default label.
335 2004-10-23 Kazu Hirata <kazu@cs.umass.edu>
337 * dbxout.c (dbxout_function_decl): Don't use
338 DBX_OUTPUT_FUNCTION_END.
339 * system.h: Poison DBX_OUTPUT_FUNCTION_END.
340 * doc/tm.texi (DBX_OUTPUT_FUNCTION_END): Remove.
342 2004-10-23 Andrew Pinski <pinskia@physics.uc.edu>
345 * tree-cfg.c (remove_usless_stmts_cond): Don't Fold statement.
347 2004-10-23 Daniel Berlin <dberlin@dberlin.org>
349 * tree-ssa-dom.c (record_equality): Use loop depth to determine
350 which way to record the equality as well.
351 (loop_depth_of_name): New function.
353 2004-10-23 Eric Botcazou <ebotcazou@libertysurf.fr>
356 * gimplify.c (gimplify_addr_expr) <VIEW_CONVERT_EXPR>: Look
357 through the operand if it is a useless type conversion.
359 2004-10-23 Ben Elliston <bje@au.ibm.com>
361 * cfg.c (remove_edge): Use VEC_unordered_remove.
362 (redirect_edge_succ): Likewise.
363 (redirect_edge_pred): Likewise.
364 * cfgrtl.c (force_nonfallthru_and_redirect): Likewise.
366 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
368 * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP): Don't access PTR
371 2004-10-22 Eric Christopher <echristo@redhat.com>
373 * config/rs6000/rs6000.c (setup_incoming_varargs): Align DFmode
376 2004-10-22 Aldy Hernandez <aldyh@redhat.com>
378 * config/rs6000/spe.md (spe_extendsfdf2): New.
379 (movdf_e500_double): New.
380 (spe_truncdfsf2): New.
387 (spe_floatsidf2): New.
388 (spe_floatunssidf2): New.
389 (fix_truncdfsi2): New.
390 (spe_fixuns_truncdfsi2): New.
392 * config/rs6000/rs6000.md (truncdfsf2): Change to expander.
393 (fpr_truncdfsf2): New.
394 (negdf2): Change to expander.
396 (fpr_nabsdf2): Name pattern.
397 (adddf3): Change to expander.
399 (subdf3): Change to expander.
401 (muldf3): Change to expander.
403 (divdf3): Change to expander.
405 (movdf_softfloat32): Change !TARGET_FPRS to TARGET_E500_SINGLE.
406 (cmpdf): Allow for TARGET_E500_DOUBLE.
408 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
410 * c-semantics.c (re_push_stmt_list): Remove.
411 * c-common.h: Remove the corresponding prototype.
413 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
415 * stmt.c (asm_op_is_mem_input): Remove.
416 * tree.h: Remove the corresponding prototype.
418 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
420 * tree-gimple.c (is_gimple_constructor_elt): Remove.
421 * tree-gimple.h: Remove the corresponding prototype.
423 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
425 * varasm.c (get_pool_mode_for_function, get_pool_offset):
427 * rtl.h: Remove the corresponding prototypes.
429 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
431 * tree-cfg.c (thread_jumps_from_bb): Speed up by extracting
432 edge information when we commit ourselves to threading a
435 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
437 * tree-cfg.c (thread_jumps): Speed up by putting basic blocks
438 into worklist instead of their indexes.
440 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
442 * alias.c, basic-block.h, cgraphunit.c, combine.c, domwalk.h,
443 final.c, gengtype.c, genpreds.c, ggc-page.c, insn-notes.def,
444 lambda-code.c, loop-unroll.c, modulo-sched.c, pointer-set.c,
445 pretty-print.c, ra-colorize.c, sbitmap.c, tree-complex.c,
446 tree-data-ref.c, tree-dfa.c, tree-inline.c, tree-into-ssa.c,
447 tree-scalar-evolution.c, tree-ssa-dom.c,
448 tree-ssa-loop-manip.c, tree-ssa-loop-niter.c,
449 tree-ssa-phiopt.c, tree-ssa-pre.c, tree-ssa-threadupdate.c,
450 tree-vectorizer.c, vec.h: Fix comment formatting.
452 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
454 * dwarf.h, gthr-dce.h, gthr-single.h, gthr-solaris.h, gthr.h,
455 libfuncs.h, libgcc2.h, stab.def, tsystem.h: Update copyright.
457 2004-10-22 Kazu Hirata <kazu@cs.umass.edu>
459 * config/ptx4.h, config/mcore/mcore-pe.h,
460 config/rs6000/eabi.h, config/vax/elf.h: Update copyright.
462 2004-10-22 Peter Barada <peter@the-baradas.com>
464 * config/m68k/m68k.h (HARD_REGNO_RENAME_OK): New macro.
465 * config/m68k/m68k.c (m68k_hard regno_rename_ok): Disallow
466 renaming of non-live registers in interrupt functions.
467 * config/m68k/m68k-protos.h (m68k_hard_regno_rename_ok): Add prototype.
469 2004-10-22 Zdenek Dvorak <dvorakz@suse.cz>
471 * tree-ssa-loop-niter.c (inverse): Count in HOST_WIDE_INT if possible.
472 Use integer for loop counter.
473 (num_ending_zeros): New function.
474 (number_of_iterations_cond): Use num_ending_zeros.
476 2004-10-21 Aldy Hernandez <aldyh@redhat.com>
478 * config.gcc: Add support for --enable-e500_double.
480 * config/rs6000/e500-double.h: New file.
482 * config/rs6000/rs6000.h: Define TARGET_E500_SINGLE and
485 * config/rs6000/eabi.h: Define TARGET_E500_SINGLE and
488 * config/rs6000/linuxspe.h: Same.
490 * doc/invoke.texi (Option Summary): Document new options for
492 (RS/6000 and PowerPC Options): Same.
494 * config/rs6000/rs6000.c (rs6000_parse_float_gprs_option): New
496 (rs6000_override_options): Use it. Use
497 SUB3TARGET_OVERRIDE_OPTIONS.
498 Add 8548 to processor_target_table.
499 (rs6000_legitimate_address): Handle e500 doubles.
500 (rs6000_legitimize_address): Same.
501 (rs6000_legitimize_reload_address): Same.
502 (rs6000_hard_regno_nregs): Same.
503 (spe_func_has_64bit_regs_p): Same.
504 (emit_frame_save): Same.
505 (gen_frame_mem_offset): Same.
506 (rs6000_dwarf_register_span): Same.
507 (rs6000_generate_compare): Same.
508 (easy_fp_constant): Same.
509 (legitimate_offset_address_p): Same.
511 * config/rs6000/spe.md: (cmdfeq_gpr): New.
520 2004-10-21 Giovanni Bajo <giovannibajo@gcc.gnu.org>
522 * config/arc/lib1funcs.asm (___umulsidi3): Fix typo.
524 2004-10-21 Zack Weinberg <zack@codesourcery.com>
526 * dbxout.c: Remove unnecessary #undefs.
527 (GDB_INV_REF_REGPARM_STABS_LETTER, DBX_MEMPARM_STABS_LETTER)
528 (FILE_NAME_JOINER, STABS_GCC_MARKER): Remove; fold sole
529 definition into use sites.
530 (cwd): Make local to dbxout_init.
531 (dbxout_init): Restructure cwd-using logic for clarity. Use
533 * xcoffout.h (DBX_OUTPUT_GCC_MARKER): Definition of
534 STABS_GCC_MARKER folded in here.
535 * system.h: Poison now-unused macros.
536 * doc/tm.texi: Remove documentation of now-unused macros.
538 2004-10-21 Andrew Pinski <pinskia@physics.uc.edu>
541 * c-opts.c (push_command_line_include): Use the current file
542 name instead of the main one.
544 2004-10-21 Andrew Pinski <pinskia@physics.uc.edu>
547 * tree.c (staticp): A CONST_DECL has static storage if either
548 TREE_STATIC or DECL_EXTERNAL is set.
549 * c-decl.c (pushdecl_top_level): Accept CONST_DECLs which can
552 2004-10-21 Kazu Hirata <kazu@cs.umass.edu>
554 * expr.c (store_expr): Remove dont_store_target.
556 2004-10-21 Kazu Hirata <kazu@cs.umass.edu>
558 * tree-cfg.c (thread_jumps): Speed up by using a worklist.
560 2004-10-21 Kazu Hirata <kazu@cs.umass.edu>
562 * tree-cfg.c (thread_jumps): Move a part of it to ...
563 (thread_jumps_from_bb): ... here.
565 2004-10-21 David Edelsohn <edelsohn@gnu.org>
567 * dbxout.c (DBX_FINISH_SYMBOL): Add asm_out_file argument.
568 * xcoffout.h (DBX_FINISH_SYMBOL): Change asmfile to (ASMFILE).
570 2004-10-21 Kazu Hirata <kazu@cs.umass.edu>
572 * expr.c (store_expr): Clean up by renaming want_value to
575 2004-10-21 Kaz Kojima <kkojima@gcc.gnu.org>
577 * config/sh/linux-unwind.h (sh_fallback_frame_state): Don't
580 2004-10-21 Aldy Hernandez <aldyh@redhat.com>
583 * expmed.c (store_bit_field): Pass original 'value' before
586 2004-10-21 Nicolas Pitre <nico@cam.org>
588 * config/arm/ieee754-sf.S: Large speed improvements. Fix NAN handling.
589 * config/arm/ieee754-df.S: Ditto.
591 2004-10-20 Zack Weinberg <zack@codesourcery.com>
593 * dbxout.c (asmfile): Delete. All uses changed to asm_out_file.
594 (DBX_BLOCKS_FUNCTION_RELATIVE, DBX_LINES_FUNCTION_RELATIVE):
596 (dbxout_source_line): Use DBX_OUTPUT_SOURCE_LINE when defined.
597 When it is not, but DBX_LINES_FUNCTION_RELATIVE is true, emit
598 an internal label and an N_SLINE .stabn whose value is the
599 difference between that label and the function entry label.
600 (dbxout_finish): If DBX_OUTPUT_MAIN_SOURCE_FILE_END is not defined,
601 but DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END is, emit a
602 label and an N_SO stab with an empty string referring to it.
603 (dbx_output_lbrac, dbx_output_rbrac): Use if statement instead
604 of #ifdef directive to test DBX_BLOCKS_FUNCTION_RELATIVE.
605 (dbxout_type_methods, dbxout_symbol): Remove #if 0 block.
606 (dbxout_prepare_symbol): Remove #ifdef WINNING_GDB block, this
607 macro is never defined.
608 * sdbout.c (sdbout_source_line_counter): Delete.
609 (PUT_SDB_SRC_FILE): Delete. Uses replaced with sole definition.
610 (sdbout_source_line): Use SDB_OUTPUT_SOURCE_LINE, which takes
612 * xcoffout.c (ASM_OUTPUT_SOURCE_LINE): Rename ASM_OUTPUT_LINE.
614 * config/dbxcoff.h, config/dbxelf.h: Remove unncessary #undefs.
615 * config/c4x/c4x.h, config/pa/pa.h: Remove unnecessary macro
616 definitions (identical to default).
617 * config/darwin.h, config/dbxcoff.h, config/dbxelf.h, config/ptx4.h
618 * config/h8300/coff.h, config/pa/som.h, config/sh/elf.h:
619 Define DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END, not
620 DBX_OUTPUT_MAIN_SOURCE_FILE_END.
621 * config/dbxcoff.h, config/dbxelf.h, config/ptx4.h
622 * config/mcore/mcore-pe.h, config/pa/som.h, config/sh/elf.h:
623 Define DBX_LINES_FUNCTION_RELATIVE, not ASM_OUTPUT_SOURCE_LINE.
624 * config/alpha/alpha-protos.h: Don't prototype alpha_output_lineno.
625 * config/alpha/alpha.c: Move declaration of num_source_filenames up.
626 (alpha_start_function): Use SDB_OUTPUT_SOURCE_LINE.
627 (sym_lineno): Delete.
628 (alpha_output_filename): Do not emit N_SOL stabs here. Remove
630 (alpha_output_lineno): Delete.
631 * config/mips/mips-protos.h: Don't prototype mips_output_lineno.
632 * config/mips/mips.c (mips_output_filename): Don't use
633 ASM_OUTPUT_FILENAME. Don't emit N_SOL stabs here.
634 (mips_output_lineno): Delete.
635 (mips_output_function_prologue: Use SDB_OUTPUT_SOURCE_LINE.
636 * config/alpha/alpha.h: Define DBX_OUTPUT_SOURCE_LINE and
637 SDB_OUTPUT_SOURCE_LINE, not ASM_OUTPUT_SOURCE_LINE.
638 * config/mips/mips.h: Likewise. Don't define ASM_OUTPUT_FILENAME.
639 * config/mips/sdb.h: Use SDB_OUTPUT_SOURCE_LINE.
640 * config/avr/avr.h: Don't define ASM_OUTPUT_SOURCE_LINE.
641 * config/mmix/mmix.h: Likewise.
642 * config/mmix/mmix.c (mmix_asm_output_source_line): Delete.
643 * config/mmix/mmix-protos.h: Don't prototype it.
644 * config/alpha/unicosmk.h: Also #undef PREFERRED_DEBUGGING_TYPE;
645 no need to #undef ASM_OUTPUT_SOURCE_LINE.
646 * config/arm/aout.h: Remove RISCiX-specific definition of
647 DBX_OUTPUT_MAIN_SOURCE_FILENAME.
648 * config/m32r/m32r.h: Define DBX_OUTPUT_SOURCE_LINE, not
649 ASM_OUTPUT_SOURCE_LINE.
650 * config/rs6000/linux64.h (ASM_OUTPUT_SOURCE_LINE): Rename to
651 DBX_OUTPUT_SOURCE_LINE. Don't use current_function_func_begin_label.
652 * config/vax/elf.h: No need to define DBX_OUTPUT_FUNCTION_END.
654 * doc/tm.texi: Update.
656 2004-10-20 Richard Henderson <rth@redhat.com>
658 * tree-sra.c (instantiate_element): Copy DECL_IGNORED_P also.
660 2004-10-20 Kelley Cook <kcook@gcc.gnu.org>
662 * configure.ac: Revert my previous patch.
663 * configure: Regenerate.
665 2004-10-20 Ben Elliston <bje@au.ibm.com>
667 * config/rs6000/rs6000.c
668 (rs6000_va_start): Use build_va_arg_indirect_ref.
669 (rs6000_gimplify_va_arg): Likewise.
671 2004-10-20 Bryce McKinlay <mckinlay@redhat.com>
674 * configure.ac: Declare AM_LANGINFO_CODESET.
675 * aclocal.m4: Define AM_LANGINFO_CODESET.
676 * configure, config.in: Rebuilt.
678 2004-10-20 Kazu Hirata <kazu@cs.umass.edu>
680 * expr.c (store_expr): Remove code that is run when
681 want_value & 1 is nonzero.
683 2004-10-20 Mark Mitchell <mark@codesourcery.com>
685 * gthr-posix.h (__gthread_active_p): Use __extension__ around cast
686 from function pointer to void *.
688 2004-10-20 Kaz Kojima <kkojima@gcc.gnu.org>
691 * config/sh/sh.c (sh_expand_epilogue): Emit a blockage insn before
692 the frame pointer adjustment when exception handling is enabled.
694 2004-10-20 Kazu Hirata <kazu@cs.umass.edu>
696 * stor-layout.c: Fix a comment typo.
698 2004-10-20 Kazu Hirata <kazu@cs.umass.edu>
700 * expr.c (store_field): Remove two arguments value_mode and
702 (expand_assignment, store_constructor_field,
703 expand_expr_real_1): Adjust calls to store_field.
705 2004-10-18 Ramana Radhakrishnan <ramana.radhakrishnan@codito.com>
707 * config/arc/lib1funcs.asm (___umulsidi3): Correct usage of flags.
710 * config/arc/arc.h (REGNO_OK_FOR_BASE_P,REGNO_OK_FOR_INDEX_P,
711 REG_OK_FOR_BASE, REG_OK_FOR_INDEX): Consider blink(r31) as a valid
712 base and index register for loads.
714 * config/arc/t-arc: Fix multilib handling.
716 2004-10-20 Hans-Peter Nilsson <hp@bitrange.com>
718 * cfgrtl.c (rtl_verify_flow_info_1): When checking insns in a bb,
719 don't inspect BLOCK_FOR_INSN for barriers.
720 * emit-rtl.c (emit_barrier_before): Revert last change.
721 (emit_barrier_after, emit_barrier): Ditto.
723 * doc/extend.texi (Extended Asm): Warn and provide example
724 solution for using a call-clobbered asm register.
725 (Local Reg Vars): Similar. Cross-reference example.
727 2004-10-19 Andrew Pinski <pinskia@physics.uc.edu>
729 * tree-cfg.c (group_case_labels): Look at the second to last
730 case statement for combing with the default case.
732 2004-10-19 Richard Hendeson <rth@redhat.com>
735 * stor-layout.c (layout_type): Set TYPE_ALIGN for vectors.
737 2004-10-19 Richard Hendeson <rth@redhat.com>
739 * builtins.c (expand_builtin_memmove): If fold_builtin_memmove
740 succeeds, only expand the result.
742 2004-10-19 Richard Hendeson <rth@redhat.com>
745 * tree.c (recompute_tree_invarant_for_addr_expr): Always poll address
748 2004-10-19 Kazu Hirata <kazu@cs.umass.edu>
750 * tree-cfg.c (thread_jumps): Use a do-while loop instead of a
753 2004-10-19 Kazu Hirata <kazu@cs.umass.edu>
755 * expr.c (expand_assignment): Remove the last argument.
756 Change the return type to void.
757 * expr.h: Update the prototype of expand_assignment.
758 * function.c (assign_parm_setup_reg): Update a call to
760 * stmt.c (expand_asm_expr): Likewise.
762 2004-10-19 Kazu Hirata <kazu@cs.umass.edu>
764 * expr.c (expand_expr_real_1) <MODIFY_EXPR>: Remove
765 unnecessary assignments to temp. Return const0_rtx.
767 2004-10-19 Kaz Kojima <kkojima@gcc.gnu.org>
769 * config/sh/sh.c (sh5_schedule_saves): Fix typo.
771 2004-10-18 Kelley Cook <kcook@gcc.gnu.org>
773 * configure.ac (powerpc-*-darwin*): Require assembler to support
775 * configure: Regenerate.
777 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
779 * reload1.c (ior_hard_reg_set): Remove.
780 (finish_spills): Use IOR_HARD_REG_SET instead of
783 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
785 * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP): Speed up by shifting
786 the currently visited word to right.
788 2004-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
791 * expmed.c (expand_smod_pow2): Handle modes whose size
792 is greater than that of HOST_WIDE_INT.
794 2004-10-18 Ziemowit Laski <zlaski@apple.com>
796 * c-parse.in (reservedwords): Add OBJC_TYPE_QUAL as alternative.
798 2004-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
799 Roger Sayle <roger@eyesopen.com>
802 * dojump.c (discard_pending_stack_adjust): New function.
803 (clear_pending_stack_adjust): Call it.
804 * expr.h (discard_pending_stack_adjust): Declare it.
805 * explow.c (emit_stack_save): Emit pending stack adjustments
806 before saving the stack pointer.
807 (emit_stack_restore): Discard pending stack adjustments before
808 restoring the stack pointer.
810 2004-10-18 Richard Henderson <rth@redhat.com>
812 * c-common.c (handle_mode_attribute): Allow scalar->vector
815 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
817 * expr.c (expand_expr_real_1) [MODIFY_EXPR]: Don't request a
818 value to expand_assignment.
820 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
822 * tree-cfg.c (cleanup_tree_cfg): Don't iterate on
824 (thread_jumps): Iterate until no new forwarder block arises.
826 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
828 * tree-cfg.c (tree_forwarder_block_p): Don't set forwardable.
829 (thread_jumps): Use forwardable as cache of
830 tree_forwarder_block_p throughout the function.
832 2004-10-18 Andreas Krebbel <krebbel1@de.ibm.com>
834 * cfg.c (dump_flow_info): Remove redundant dump of reg life info.
836 2004-10-18 Andrew Pinski <pinskia@physics.uc.edu>
840 * tree-cfg.c (remove_bb): If we have a label expression in the
841 basic block and the label we have taken the address, move the
842 label expression to the basic block which is previous in the
844 (tree_verify_flow_info): Fix printing out the label name of the
845 problematic label expression.
847 2004-10-18 Pat Haugen <pthaugen@us.ibm.com>
849 PR rtl-optimization/18002
850 * simplify-rtx.c (mode_signbit_p): Externalize function...
851 * rtl.h (mode_signbit_p): ... to here.
852 * combine.c (simplify_shift_const): Recognize PLUS signbit as
853 canonical form of XOR signbit and move to outer op.
855 2004-10-18 Diego Novillo <dnovillo@redhat.com>
857 * tree-cfg.c (bsi_for_stmt): Rename from stmt_for_bsi.
859 * tree-ssa.c (replace_immediate_uses): Call bsi_for_stmt.
860 Don't call fold_stmt more than once, use bsi_replace.
862 2004-10-18 Diego Novillo <dnovillo@redhat.com>
864 PR tree-optimization/17656
865 * tree-ssa.c (replace_immediate_uses): When replacing a
866 constant, if the call to fold_stmt produced a different
867 statement, get an appropriate statement pointer by scanning
870 2004-10-18 Richard Henderson <rth@redhat.com>
872 * pointer-set.c (hash1): Don't use libm functions in fallback case.
874 2004-10-18 H.J. Lu <hongjiu.lu@intel.com>
877 * Makefile.in (clean): Remove libgcc_s$(SHLIB_EXT).1.stage?.
878 (stage1-start): Remove and copy libunwind.a and
879 libunwind*$(SHLIB_EXT) instead of libunwind*.
880 (stage2-start): Likewise.
881 (stage3-start): Likewise.
882 (stage4-start): Likewise.
883 (stageprofile-start): Likewise.
884 (stagefeedback-start): Likewise.
886 * config/alpha/t-osf4 (SHLIB_LINK): Use a temporary file for
887 the shared library to be created and don't remove the existing
889 * config/arm/t-netbsd (SHLIB_LINK): Likewise.
890 * config/i386/t-nwld (SHLIB_LINK): Likewise.
891 * config/mips/t-slibgcc-irix (SHLIB_LINK): Likewise.
892 * config/pa/t-hpux-shlib (SHLIB_LINK): Likewise.
893 * config/sh/t-linux (SHLIB_LINK): Likewise.
894 * config/t-libunwind-elf (SHLIBUNWIND_LINK): Likewise.
895 * config/t-slibgcc-darwin (SHLIB_LINK): Likewise.
896 * config/t-slibgcc-elf-ver (SHLIB_LINK): Likewise.
897 * config/t-slibgcc-sld (SHLIB_LINK): Likewise.
899 * mklibgcc.in (libgcc-stage-start): Also move "*${objext}s"
902 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
904 * basic-block.h (reg_set_iterator): New.
905 (EXECUTE_IF_SET_IN_REG_SET): Make it iterator style.
906 (EXECUTE_IF_AND_COMPL_IN_REG_SET): Likewise.
907 (EXECUTE_IF_AND_IN_REG_SET): Likewise.
908 * caller-save.c (save_call_clobbered_regs): Adjust to the new
910 * cfgcleanup.c (thread_jump): Likewise.
911 * cfgrtl.c (safe_insert_insn_on_edge): Likewise.
912 * conflict.c (conflict_graph_compute): Likewise.
913 * flow.c (verify_local_live_at_start, update_life_info,
914 initialize_uninitialized_subregs, propagate_one_insn,
915 init_propagate_block_info, free_propagate_block_info,
916 propagate_block, dump_regset): Likewise.
917 * global.c (global_conflicts): Likewise.
918 * graph.c (start_bb): Likewise.
919 * local-alloc.c (update_equiv_regs): Likewise.
920 * loop.c (load_mems): Likewise.
921 * reload1.c (compute_use_by_pseudos, order_regs_for_reload,
922 find_reg, finish_spills): Likewise.
923 * resource.c (mark_target_live_regs): Likewise.
924 * sched-deps.c (sched_analyze_insn): Likewise.
925 * sched-rgn.c (sched-rgn.c): Likewise.
926 * config/frv/frv.c (frv_ifcvt_modify_tests): Likewise.
928 2004-10-18 Jakub Jelinek <jakub@redhat.com>
930 * config/i386/i386.md (addqi_1_slp): Test for incdec_operand
931 operand 1 instead of 2
933 2004-10-18 Kazu Hirata <kazu@cs.umass.edu>
935 * loop-unroll.c: Fix comment typos.
937 2004-10-18 Revital Eres <eres@il.ibm.com>
939 * Makefile.in (loop-unroll.o): Add VARRAY_H dependency.
940 * loop-unroll.c: Include varray.h.
941 (struct var_to_expand, struct opt_info): Rename split_ivs_info to
942 opt_info and expand it to support variable expansion.
943 (analyze_insns_in_loop): Rename analyze_ivs_to_split and
944 expand it to support variable expansion.
945 (pt_info_start_duplication): Rename si_info_start_duplication.
946 (apply_opt_in_copies): Rename split_ivs_in_copies and add support
947 to the variable expansion optimization.
948 (free_opt_info): Rename free_si_info.
949 (analyze_insn_to_expand_var, referenced_in_one_insn_in_loop_p,
950 expand_var_during_unrolling, insert_var_expansion_initialization,
951 combine_var_copies_in_loop_exit, release_var_copies,
952 get_expansion): New functions.
953 (peel_loop_completely, unroll_loop_constant_iterations,
954 unroll_loop_runtime_iterations, peel_loop_simple,
955 unroll_loop_stupid): Change uses of struct si_info
957 and add uses of fvariable-expansion-in-unroller flag.
958 * params.def: Add parameter to restrict the number of expansions.
959 * params.h: (MAX_VARIABLE_EXPANSIONS): New define to restrict
960 the number of expansions.
961 * common.opt: (fvariable-expansion-in-unroller): New flag.
962 * doc/invoke.texi: (fvariable-expansion-in-unroller): Document.
964 2004-10-18 Danny Smith <dannysmith@users.sourceforge.net>
966 * config/i386/cygming.h (TARGET_OS_CPP_BUILTINS): Define
967 __GXX_MERGED_TYPEINFO_NAMES to 0.
969 2004-10-17 Hans-Peter Nilsson <hp@bitrange.com>
971 * cfgrtl.c (rtl_verify_flow_info_1): When checking insns in a bb,
972 handle barriers in a bb by checking that it points to a NULL bb.
973 * emit-rtl.c (emit_barrier_before): Set BLOCK_FOR_INSN to NULL.
974 (emit_barrier_after, emit_barrier): Ditto.
976 2004-10-18 Joseph S. Myers <jsm@polyomino.org.uk>
978 * doc/extend.texi (Attribute Syntax): Clarify details of
979 attributes on parameters.
981 2004-10-17 Zdenek Dvorak <dvorakz@suse.cz>
983 * tree-ssa-loop-ivopts.c (tree_ssa_iv_optimize): Move checking out of
986 2004-10-17 Andrew Pinski <pinskia@physics.uc.edu>
989 2004-10-17 Andrew Pinski <pinskia@physics.uc.edu>
991 * c-typeck.c (default_function_array_conversion): Always create
992 &a[0] for array types.
993 (build_unary_op): Do not fold &a[x] into a + x.
995 2004-10-17 Andrew Pinski <pinskia@physics.uc.edu>
998 * cfgexpand.c (expand_gimple_cond_expr): Emit line notes for next basic
999 block if there is a goto with a locus.
1001 2004-10-17 Kazu Hirata <kazu@cs.umass.edu>
1003 * config/elfos.h, config/gofast.h, config/interix.h,
1004 config/netbsd.h, config/svr3.h, config/vxworks.h,
1005 config/alpha/alpha-modes.def, config/alpha/alpha-protos.h,
1006 config/alpha/ev4.md, config/alpha/ev5.md, config/alpha/ev6.md,
1007 config/alpha/netbsd.h, config/arm/arm-modes.def,
1008 config/arm/unknown-elf.h, config/c4x/c4x-modes.def,
1009 config/cris/aout.h, config/frv/frv-modes.def,
1010 config/i386/beos-elf.h, config/i386/gas.h,
1011 config/i386/i386-coff.h, config/i386/i386-modes.def,
1012 config/i386/linux.h, config/i386/linux64.h,
1013 config/i386/mingw32.h, config/i386/netbsd-elf.h,
1014 config/i386/netbsd64.h, config/i386/sco5.h,
1015 config/i386/sol2.h, config/i386/uwin.h, config/i860/i860.md,
1016 config/ia64/ia64-modes.def, config/ia64/itanium1.md,
1017 config/ia64/itanium2.md, config/m68k/m68k-modes.def,
1018 config/mips/mips-modes.def, config/mips/sdb.h,
1019 config/mips/vr.h, config/mips/vxworks.h,
1020 config/pa/pa-hpux10.h, config/pa/pa-hpux11.h,
1021 config/pa/pa32-linux.h, config/rs6000/40x.md,
1022 config/rs6000/7450.md, config/rs6000/8540.md,
1023 config/rs6000/linuxspe.h, config/rs6000/power4.md,
1024 config/rs6000/rs6000-modes.def, config/rs6000/rtems.h,
1025 config/rs6000/spe.h, config/s390/2064.md, config/s390/linux.h,
1026 config/s390/s390-modes.def, config/sh/elf.h,
1027 config/sh/sh-modes.def, config/sh/sh64.h,
1028 config/sparc/ultra1_2.md, config/sparc/ultra3.md,
1029 config/stormy16/stormy16.md, config/v850/v850-protos.h,
1030 config/vax/vax.md: Update copyright.
1032 2004-10-17 Kazu Hirata <kazu@cs.umass.edu>
1034 * expr.c (expand_expr_real_1): Remove an obsolete comment.
1036 2004-10-17 Andrew Pinski <pinskia@physics.uc.edu>
1038 * c-typeck.c (default_function_array_conversion): Always create
1039 &a[0] for array types.
1040 (build_unary_op): Do not fold &a[x] into a + x.
1042 2004-10-17 Jakub Jelinek <jakub@redhat.com>
1044 * pointer-set.c (hash1): Use integer part of 2^64 / phi
1045 instead 2^32 / phi if long is 64-bit.
1047 2004-10-17 Joseph S. Myers <jsm@polyomino.org.uk>
1049 * c-common.h (enum rid): Remove RID_PTRBASE, RID_PTREXTENT and
1051 * c-parse.in (PTR_VALUE, PTR_BASE, PTR_EXTENT): Remove %token
1053 (reswords): Remove __ptrbase, __ptrbase__, __ptrextent,
1054 __ptrextent__, __ptrvalue and __ptrvalue__.
1055 (rid_to_yy): Remove RID_PTRBASE, RID_PTREXTENT and RID_PTRVALUE
1058 2004-10-16 Dale Johannesen <dalej@apple.com>
1060 * c-common.c (c_common_get_alias_set): Use GGC for type_hash_table.
1062 2004-10-16 Zdenek Dvorak <dvorakz@suse.cz>
1064 PR tree-optimization/17766
1065 * basic-block.h (enum dom_state): DOM_CONS_OK removed.
1066 (dom_info_available_p): Declare.
1067 * cfghooks.c (split_block, make_forwarder_block): Use
1068 dom_info_available_p.
1069 * dominance.c (compute_dom_fast_query, calculate_dominance_info,
1070 free_dominance_info, verify_dominators): Ditto.
1071 (dom_info_available_p): New function.
1072 * tree-cfg.c (cleanup_control_expr_graph): Free dominance information.
1073 (thread_jumps): Use dom_info_available_p.
1074 * tree-complex.c (expand_complex_div_wide): Ditto.
1075 * tree-mudflap.c (mf_build_check_statement_for): Ditto.
1077 2004-10-16 Zdenek Dvorak <dvorakz@suse.cz>
1079 * tree-ssa-loop-ivopts.c (struct ivopts_data): New field important_candidates.
1080 (find_best_candidate): Take also important candidates into account.
1081 (find_optimal_iv_set): Initialize important_candidates bitmap.
1083 2004-10-16 Zdenek Dvorak <dvorakz@suse.cz>
1085 PR tree-optimization/17560
1086 * predict.c (tree_estimate_probability): Mark irreducible
1089 2004-10-16 Zdenek Dvorak <dvorakz@suse.cz>
1091 PR rtl-optimization/17723
1092 * cfgcleanup.c (merge_memattrs): Handle case when
1093 MEM_SIZE == NULL_RTX.
1095 2004-10-15 Andrew Pinski <pinskia@physics.uc.edu>
1097 * toplev.c (dump_file_name): Change type to be const.
1099 2004-10-15 Joseph S. Myers <jsm@polyomino.org.uk>
1101 * c-typeck.c (build_compound_expr, build_c_cast): Don't try to use
1102 non_lvalue to stop something being a null pointer constant.
1104 2004-10-15 Aldy Hernandez <aldyh@redhat.com>
1106 * config/rs6000/rs6000.h (FUNCTION_ARG_REGNO_P): FPRs are only
1107 available for TARGET_FPRS.
1108 (FUNCTION_VALUE_REGNO_P): Same.
1110 2004-10-15 Geoffrey Keating <geoffk@apple.com>
1112 * doc/invoke.texi (RS/6000 and PowerPC Options): Document
1113 -maltivec in same style as other ISA options.
1115 2004-10-15 Jon Grimm <jgrimm2@us.ibm.com>
1117 * config/host-linux.c (TRY_EMPTY_VM_SPACE): Add __powerpc__
1120 2004-10-15 Kazu Hirata <kazu@cs.umass.edu>
1122 * bitmap.c, bitmap.h, builtin-attrs.def, cfglayout.h,
1123 collect2.h, conflict.c, coretypes.h, coverage.h, errors.h,
1124 gcc.h, gcov-dump.c, gen-protos.c, gencheck.c, gencodes.c,
1125 genconstants.c, gengenrtl.c, genmodes.c, genpeep.c,
1126 gensupport.h, graph.h, gthr-gnat.c, gthr-gnat.h, gthr-posix.c,
1127 gthr-posix.h, hard-reg-set.h, hwint.h, integrate.h, libgcc2.c,
1128 lists.c, machmode.def, mips-tdump.c, opts.h, params.c,
1129 predict.def, predict.h, protoize.c, reload.h, resource.h,
1130 rtl-error.c, sbitmap.c, sbitmap.h, sreal.c, tlink.c,
1131 tree-dump.h, tree-inline.h, unwind-dw2-fde.c, unwind-dw2.c,
1132 unwind-sjlj.c, value-prof.h: Update copyright.
1134 2004-10-15 Kazu Hirata <kazu@cs.umass.edu>
1136 * pointer-set.c, tree-vectorizer.c: Fix comment typos.
1138 2004-10-15 Diego Novillo <dnovillo@redhat.com>
1140 * tree-optimize.c (execute_one_pass): Stop timer right after
1143 2004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
1146 2004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
1149 * tree-cfg.c (remove_usless_stmts_cond): Fold statement.
1150 (remove_useless_stmts_1): Fold trees we know how to fold.
1152 2004-10-14 David Edelsohn <edelsohn@gnu.org>
1154 * configure.ac: Add .machine power4 directive when testing for
1156 * configure: Regenerate.
1158 2004-10-14 Geoffrey Keating <geoffk@apple.com>
1160 * config/darwin.h (JUMP_TABLES_IN_TEXT_SECTION): Don't define.
1162 2004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
1164 * tree-vectorizer.c (vect_transform_loop): Declare vectorization_factor
1167 2004-10-14 Daniel Jacobowitz <dan@codesourcery.com>
1169 * config/rs6000/rs6000.h (REG_CLASS_FROM_LETTER): Return NO_REGS
1170 for 'f' if !TARGET_FPRS.
1172 2004-10-14 Richard Henderson <rth@redhat.com>
1175 * dwarf2out.c (loc_descriptor_from_tree_1): Handle FIX_*_EXPR.
1177 2004-10-14 Richard Henderson <rth@redhat.com>
1180 * c-decl.c (store_parm_decls_oldstyle): Care for parameter type
1182 * c-parse.in (compstmt_primary_start): Check cur_stmt_list non-null
1183 instaed of current_function_decl non-null.
1185 2004-10-14 Matt Austern <austern@apple.com>
1187 * pointer-set.c: New file, special-purpose hash table.
1188 * pointer-set.h: New file.
1189 * tree.h (struct pointer_set_t): Declare as opaque type.
1190 (tree_walk): Last argument is pointer_set_t* now.
1191 * tree-inline.c (WALK_SUBTREE): Convert from htab to pset.
1193 (walk_tree): Convert from htab_t to pointer_set_t for keeping
1194 track of which nodes have already been visited.
1195 (walk_tree_without_duplicates): Convert from htab_t to pointer_set_t.
1196 * cgraphunit.c (cgraph_create_edges): Likewise.
1197 (cgraph_characterize_statics_local): Likewise.
1198 * tree-dfa.c (collect_dfa_stats): Likewise.
1199 * langhooks-def.h (lhd_tree_inlining_walk_subtrees): Last arg is
1201 * langhooks.c (lhd_tree_inlining_walk_subtrees): Likewise.
1202 * langhooks.h (struct lang_hooks_for_tree_inlining): Last arg type
1203 of walk_subtrees is pointer_set_t* now.
1204 * Makefile.in (OBJS-common): add pointer-set.o
1205 (tree-inline.o): Depends on pointer-set.h
1206 (tree-dfa.o): Likewise
1207 (cgraphunit.o): Likewise
1209 2004-10-14 Geoffrey Keating <geoffk@apple.com>
1211 * config/rs6000/darwin.h (ASM_SPEC): Delete.
1212 (TARGET_ASM_FILE_START): Define.
1213 * config/darwin.h (ASM_SPEC): Define.
1214 * config/rs6000/t-darwin (TARGET_LIBGCC2_CFLAGS): Don't supply
1215 -mlong-double-128, it's the default. Update comment about reason
1216 for force_cpusubtype_ALL.
1217 * config/rs6000/darwin-vecsave.asm: Supply .machine.
1218 * config/rs6000/darwin-world.asm: Likewise.
1219 * config/rs6000/rs6000.c (rs6000_darwin_file_start): New.
1220 (symbolic_operand): Delete #if 0ed code.
1222 2004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
1224 * stmt.c (add_case_node): Make sure that we have integer
1225 constant before calling tree_int_cst_compare.
1227 2004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
1231 * tree-cfg.c (remove_usless_stmts_cond): Fold statement.
1232 (remove_useless_stmts_1): Fold trees we know how to fold.
1234 2004-10-14 Joseph S. Myers <joseph@codesourcery.com>
1236 * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS),
1237 config/rs6000/linuxspe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Disallow
1240 2004-10-14 Ulrich Weigand <uweigand@de.ibm.com>
1242 * reload.c (find_reloads): When reloading a PLUS with constant
1243 operand, make sure the constant is pushed to the constant pool
1245 * config/s390/s390.c (s390_secondary_input_reload_class): Remove
1246 reload bug workaround.
1247 (s390_expand_plus_operand): Likewise.
1249 2004-10-14 David Edelsohn <edelsohn@gnu.org>
1251 * opts.c (common_handle_option): Do not enable
1252 flag_speculative_prefetching for -fprofile-generate/use.
1254 2004-10-14 Devang Patel <dpatel@apple.com>
1257 * tree-if-conv.c (process_phi_nodes): Process latch block.
1258 (combine_blocks): Process latch block and update loop structure.
1260 2004-10-14 Olga Golovanevsky <olga@il.ibm.com>
1262 * tree-vectorizer.c (vect_generate_tmps_on_preheader):
1263 (vect_update_ivs_after_vectorizer):
1264 (vect_transform_for_unknown_loop_bound):
1265 (tree_duplicate_loop_to_edge):
1266 (allocate_new_names):
1269 (rename_variables_in_bb):
1271 (rename_variables_in_loop):
1273 (update_phis_for_duplicate_loop):
1274 (update_phi_nodes_for_guard):
1275 (make_loop_iterate_ntimes):
1276 (tree_duplicate_loop_to_edge_cfg):
1278 (vect_analyze_loop_with_symbolic_num_of_iters):
1279 (verify_loop_for_duplication):
1280 (vect_gen_niters_for_prolog_loop):
1281 (vect_update_niters_after_peeling):
1282 (vect_update_inits_of_dr):
1283 (vect_update_inits_of_drs):
1284 (vect_build_loop_niters):
1285 (vect_do_peeling_for_alignment): New functions.
1286 (vect_transform_loop): Add unknown and known but indivisible loop
1287 bound support; add peeling for unalignment support.
1288 (vect_analyze_loop_form): Support symbolic number of iterations.
1289 (vect_transform_loop_bound): New input parameter.
1290 (vect_get_loop_niters): Change input parameter type.
1291 (new_loop_vec_info): LOOP_VINFO_NITERS is tree now.
1292 (vectorizable_store): Allow unaligned access.
1293 (vectorize_loops): Add rewrite_into_loop_closed_ssa.
1294 (vect_analyze_data_refs_alignment): Allowed one unaligned
1296 * tree-vectorizer.h (LOOP_VINFO_NITERS_KNOWN_P): Redefined
1298 (LOOP_VINFO_INT_NITERS): New macro.
1299 (MAX_NUMBER_OF_UNALIGNED_DATA_REFS): New define.
1300 (do_peeling_for_alignment):
1301 (unaligned_drs): New members of _loop_vec_info.
1302 (LOOP_DO_PEELING_FOR_ALIGNMENT): New macro.
1304 2004-10-14 Ranjit Mathew <rmathew@hotmail.com>
1306 * tree.h (TREE_STRING_POINTER): Wrap in "const char *".
1307 (struct tree_string): Remove "const" qualifier for "str".
1309 2004-10-14 Ira Rosen <irar@il.ibm.com>
1311 * tree-vectorizer.c (vect_analyze_data_refs): Call
1312 vect_get_base_and_bit_offset to get memory tag for array ref.
1313 (vect_create_addr_base_for_vector_ref): Remove redundant checks.
1315 2004-10-14 Richard Earnshaw <rearnsha@arm.com>
1317 * configure.ac: Use $LN_S for creating symlinks (not $LN).
1318 * configure: Regenerate.
1320 2004-10-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1322 * doc/install.texi (*-*-solaris2*): Update with info about kernel
1323 patches to solve spurious testsuite failures.
1325 2004-10-14 Dorit Naishlos <dorit@il.bim.com>
1327 * tree-vectorizer.c (get_vectype_for_scalar_type): Added debug prinouts.
1328 Added check that vectype is VECTOR_MODE_P, instead of check for BLKmode.
1329 (vect_analyze_operations): Make sure the vectorization factor > 1. Add
1330 gcc_assert under ENABLE_CHECKING.
1331 (vectorizable_operation): Remove check for VECTOR_MODE_P (moved to
1332 get_vectype_for_scalar_type).
1334 (vect_get_vec_def_for_operand): Remove redundant variables.
1335 (vect_transform_loop): Likewise.
1337 2004-10-14 Richard Sandiford <rsandifo@redhat.com>
1339 * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Make r11 fixed and
1340 global for -mcaller-super-interworking.
1341 (CALLER_INTERWORKING_SLOT_SIZE): New macro.
1342 * config/arm/arm.c (thumb_compute_save_reg_mask): Save r11 if
1343 CALLER_INTERWORKING_SLOT_SIZE is nonzero and the function does
1344 not need a frame pointer.
1345 (arm_get_frame_offsets): Add CALLER_INTERWORKING_SLOT_SIZE bytes to
1346 the soft frame pointer offset.
1347 (thumb_expand_prologue): Set up r11 for -mcaller-super-interworking.
1348 * config/arm/arm.md (*call_reg_thumb, *call_value_reg_thumb): Use
1349 _interwork_{r7,r11}_call_via_rN if some arguments are passed on
1350 the stack. Use frame_pointer_needed to choose between them.
1351 * config/arm/lib1funcs.asm (_arm_return_{r7,r11}): New functions.
1352 (interwork_with_frame): New macro.
1353 (interwork): Add _interwork_{r7,r11}_call_via_rN().
1355 2004-10-14 Ben Elliston <bje@au.ibm.com>
1358 * diagnostic.c (trim_filename): Fix logic bug in walking backwards
1359 up the filename looking for a previous directory separator.
1361 2004-10-14 Joseph S. Myers <jsm@polyomino.org.uk>
1363 * c-tree.h (enum c_typespec_kind, struct c_typespec,
1364 parser_xref_tag): New.
1365 (struct c_declspecs): Add tag_defined_p. Adjust definition of
1367 (declspecs_add_type): Adjust prototypes.
1368 * c-parse.in (%union): Add tstype.
1369 (typespec_nonattr, typespec_attr, typespec_reserved_nonattr,
1370 typespec_reserved_attr, typespec_nonreserved_nonattr,
1371 structsp_attr, structsp_nonattr): Change to tstype. Update
1373 * c-decl.c (build_null_declspecs): Initialize tag_defined_p.
1374 (declspecs_add_type): Update to take struct c_typespec argument.
1375 Set tag_defined_p and typedef_p as appropriate.
1376 (xref_tag): Rename to parser_xref_tag and replace by wrapper.
1377 Update to return struct c_typespec.
1378 (shadow_tag_warned): Don't let empty declarations with qualifiers
1379 or storage class specifiers redeclare a tag if a previous
1380 declaration is visible.
1382 2004-10-13 Richard Henderson <rth@redhat.com>
1385 * dwarf2out.c (rtl_for_decl_location): Apply big-endian correction
1386 for DECL_INCOMING_RTL.
1388 2004-10-14 Hans-Peter Nilsson <hp@axis.com>
1391 * config/cris/cris.md (asrandb, asrandw, lsrandb, lsrandw): Apply
1392 trunc_int_for_mode for constants used in shortened mode.
1394 2004-10-13 Richard Henderson <rth@redhat.com>
1397 * c-common.c (handle_mode_attribute): Disallow mode changes that
1398 alter the CODE of the top-level type.
1400 * crtstuff.c (__FRAME_END__): Remove mode attribute. Find 32-bit
1401 integer from internal limits macros.
1402 * config/i386/mm3dnow.h (__v2sf): Fix base type.
1404 2004-10-13 Richard Henderson <rth@redhat.com>
1407 * function.c (instantiate_decl): Recurse for CONCAT.
1409 2004-10-13 David Edelsohn <edelsohn@gnu.org>
1411 * config/rs6000/rs6000.md (andsi3): Add attribute "compare" for
1414 (extzvdi_internal1): Add attribute "compare".
1415 (extzvdi_internal2): Same.
1417 2004-10-12 Tom Tromey <tromey@redhat.com>
1419 * doc/md.texi (Insn Canonicalizations): Removed extraneous quote.
1421 2004-10-13 Dale Johannesen <dalej@apple.com>
1423 * doc/extend.texi (Extended Asm): Rewrite asm volatile description.
1425 2004-10-13 Frank Ch. Eigler <fche@redhat.com>
1427 * toplev.c (compile_file): Call mudflap_finish_file from here ...
1428 * c-decl.c (c_write_global_declarations): ... instead of here ...
1429 * cp/decl.c (cp_finish_file): ... and here.
1430 * tree-mudflap.c (mudflap_enqueue_decl): Reword a warning message.
1432 2004-10-13 Andrew Pinski <pinskia@physics.uc.edu>
1434 * tree-ssa-dom.c (record_range): Free the element if we are not
1437 2004-10-13 Tom Tromey <tromey@redhat.com>
1440 * gcc.c (option_map): Added --extdirs and --encoding.
1442 2004-10-13 Eric Botcazou <ebotcazou@libertysurf.fr>
1445 * config/sparc/sparc.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Set to
1446 sparc_can_output_mi_thunk.
1447 (sparc_output_mi_thunk): Simplify handling of delta offset. Add
1448 handling of vcall offset.
1449 (sparc_can_output_mi_thunk): New predicate.
1450 * doc/tm.texi (TARGET_ASM_OUTPUT_MI_THUNK): Document VCALL_OFFSET.
1451 (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Delete.
1452 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New target hook.
1454 * config/sparc/sparc.c (emit_and_preserve): Preserve stack alignment.
1456 * config/sparc/sparc.md (movdi): Remove redundant test.
1458 2004-10-13 Paolo Bonzini <bonzini@gnu.org>
1460 * tree-dump.c (dump_options): Remove TDF_TREE, TDF_RTL,
1461 TDF_IPA from -fdump-tree-*-all.
1463 2004-10-13 Paul Brook <paul@codesourcery.com>
1465 * config/arm/arm-protos.h (arm_load_pic_register): Update prototype.
1466 * config/arm/arm.c (thumb_find_work_register): Update comments.
1467 (arm_load_pic_register): Add argument for scratch register.
1468 (arm_expand_prologue, thumb_expand_prologue): Pass extra argument.
1469 * config/arm/arm.md (builtin_setjmp_receiver): Ditto.
1471 2004-10-13 Kazu Hirata <kazu@cs.umass.edu>
1473 * tree-data-ref.c: Fix comment typos.
1475 2004-10-13 Jakub Jelinek <jakub@redhat.com>
1476 Zdenek Dvorak <dvorakz@suse.cz>
1478 PR tree-optimization/17724
1479 * tree-cfg.c (tree_purge_dead_eh_edges): Free dominance info.
1481 2004-10-13 Dorit Naishlos <dorit@il.ibm.com>
1483 * rs6000.c (altivec_builtin_mask_for_load): Made static GTY(()).
1484 (altivec_builtin_mask_for_store): Likewise.
1485 (altivec_init_builtins): Use lang_hooks.builtin_function to
1486 create the decls for builtin_altivec_mask_for_load/store.
1488 2004-10-13 Nick Clifton <nickc@redhat.com>
1490 * config/c4x/c4x.c: Remove inclusion of loop.h.
1492 2004-10-12 Ben Elliston <bje@au.ibm.com>
1494 * basic-block.h (edge_iterator): Keep the address of VEC(edge) *.
1495 (ei_container): New; renamed.
1496 (ei_start, ei_last): New macros.
1497 (ei_start_1, ei_last_1): Renamed from ei_start.
1498 (ei_last_1, ei_end_p): Use ei_container() where applicable.
1499 (ei_one_before_end_p, ei_next, ei_edge): Likewise.
1500 * gcse.c (remove_reachable_equiv_notes): Use ei_container().
1502 2004-10-11 Sebastian Pop <pop@cri.ensmp.fr>
1504 * Makefile.in (tree-ssa-loop-niter.o): Depends on tree-data-ref.h.
1505 * cfgloop.c (initialize_loops_parallel_p): New.
1506 (flow_loops_find): Initialize the parallel_p field to true for all
1508 * tree-ssa-loop-niter.c: Include "tree-data-ref.h".
1509 (estimate_numbers_of_iterations_loop): Infers the loop bounds from
1510 the size of the data accessed in the loop.
1511 (struct nb_iter_bound): Moved...
1512 * cfgloop.h (struct nb_iter_bound): ... here.
1513 (estimated_nb_iterations, parallel_p): New fields in struct loop.
1514 (record_estimate): Declare extern here.
1515 * tree-chrec.c: Fix comments.
1516 (nb_vars_in_chrec): New function.
1517 * tree-chrec.h (nb_vars_in_chrec): Declared here.
1518 * tree-data-ref.c: Don't include lambda.h, that is already included
1520 (tree_fold_divides_p): Don't check for integer_onep.
1521 (tree_fold_bezout): Removed.
1522 (gcd): New static duplicated function.
1523 (int_divides_p, dump_subscript): New.
1524 (dump_data_dependence_relation): Use dump_subscript.
1525 (dump_dist_dir_vectors, dump_ddrs, compute_estimated_nb_iterations,
1526 estimate_niter_from_size_of_data): New.
1527 (analyze_array_indexes, analyze_array): Call
1528 estimate_niter_from_size_of_data during the detection of array
1529 references. Pass in a pointer to the statement that contains the
1531 (all_chrecs_equal_p): New.
1532 (compute_distance_vector): Renamed compute_subscript_distance.
1533 Deal with multivariate conflict functions.
1534 (initialize_data_dependence_relation): Initialize DDR_AFFINE_P,
1535 DDR_SIZE_VECT, DDR_DIST_VECT, and DDR_DIR_VECT.
1536 (non_affine_dependence_relation): New.
1537 (analyze_ziv_subscript, analyze_siv_subscript_cst_affine,
1538 analyze_siv_subscript, analyze_miv_subscript,
1539 analyze_overlapping_iterations, subscript_dependence_tester):
1540 Initialize and return last_conflicts function.
1541 (initialize_matrix_A, FLOOR, compute_overlap_steps_for_affine_univar,
1542 compute_overlap_steps_for_affine_1_2): New.
1543 (analyze_siv_subscript_affine_cst): Removed.
1544 (analyze_subscript_affine_affine): Disprove dependences based on the
1545 iteration domains. Solve the univariate dependence case as before,
1546 but use lambda_matrix_right_hermite instead of tree_fold_bezout.
1547 Implement the multivariate case of 2 versus 1 variables.
1548 (build_classic_dist_vector, build_classic_dir_vector): Implement some
1550 (find_data_references_in_loop): Compute and initialize
1551 loop->estimated_nb_iterations and loop->parallel_p.
1552 (analyze_all_data_dependences): Modify the debug dump order.
1553 * tree-data-ref.h (SUB_LAST_CONFLICT_IN_A, SUB_LAST_CONFLICT_IN_B,
1554 subscript->last_conflict_in_a, subscript->last_conflict_in_b): Removed.
1555 (SUB_LAST_CONFLICT, subscript->last_conflict,
1556 data_dependence_relation->affine_p, data_dependence_relation->size_vect,
1557 DDR_AFFINE_P, DDR_SIZE_VECT): New.
1558 (find_data_references_in_loop, initialize_data_dependence_relation,
1559 dump_subscript, dump_ddrs, dump_dist_dir_vectors): Declared here.
1561 2004-10-12 Kelley Cook <kcook@gcc.gnu.org>
1563 * configure: Regenerate.
1565 2004-10-12 Fariborz Jahanian <fjahanian@apple.com>
1568 * tree-ssa-dom.c (unsafe_associative_fp_binop): New function.
1569 (simplify_rhs_and_lookup_avail_expr): Disallow associativity
1570 and constant folding of floating point MULT_EXPR/PLUS_EXPR
1573 2004-10-12 Ulrich Weigand <uweigand@de.ibm.com>
1575 * config/s390/s390.c (s390_va_start): Use build_va_arg_indirect_ref.
1576 (s390_gimplify_va_arg): Likewise.
1578 2004-10-12 Daniel Jacobowitz <dan@debian.org>
1580 * defaults.h (REGNO_MODE_OK_FOR_BASE_P, REG_MODE_OK_FOR_BASE_P)
1581 (MODE_BASE_REG_REG_CLASS, REGNO_MODE_OK_FOR_REG_BASE_P)
1582 (REG_MODE_OK_FOR_REG_BASE_P): Provide default definitions.
1583 * regclass.c (record_address_regs): Remove ifdef. Use
1584 REG_MODE_OK_FOR_REG_BASE_P and MODE_BASE_REG_REG_CLASS.
1585 * regrename.c (REG_MODE_OK_FOR_BASE_P): Remove unnecessary
1587 (scan_rtx_address, replace_oldest_value_addr): Use
1588 REG_MODE_OK_FOR_REG_BASE_P and MODE_BASE_REG_REG_CLASS.
1589 * reload.c (REGNO_MODE_OK_FOR_BASE_P, REG_MODE_OK_FOR_BASE_P): Remove
1590 unnecessary definitions.
1591 (find_reloads_address_1): Support REG_MODE_OK_FOR_REG_BASE_P
1592 and MODE_BASE_REG_REG_CLASS.
1593 * config/arm/arm.h (MODE_BASE_REG_CLASS): Don't check reload_completed.
1594 (MODE_BASE_REG_REG_CLASS): Define.
1595 (REGNO_MODE_OK_FOR_REG_BASE_P): Define.
1596 (REG_MODE_OK_FOR_REG_BASE_P): Define.
1597 * doc/tm.texi (Register Classes): Document MODE_BASE_REG_REG_CLASS,
1598 REG_MODE_OK_FOR_REG_BASE_P, and REGNO_MODE_OK_FOR_REG_BASE_P.
1600 2004-10-12 Daniel Berlin <dberlin@dberlin.org>
1602 * tree-ssa-alias.c (verify_name_tags): New function.
1603 (verify_flow_sensitive_alias_info): Remove code that used to check name tags.
1604 (verify_alias_info): Call verify_name_tags.
1606 2004-10-12 Kazu Hirata <kazu@cs.umass.edu>
1608 PR rtl-optimization/17931
1609 * config/i386/i386.c (ix86_rtx_costs): Handle COMPARE with
1612 2004-10-12 Richard Earnshaw <rearnsha@arm.com>
1614 * arm.c (arm_print_operand): Use output_operand_lossage where possible
1615 rather than aborting.
1617 2004-10-12 Paul Brook <paul@coudesourcery.com>
1619 * config.gcc: Add armv6{k,z,zk}
1620 * config/arm/arm-cores.def: Add arm1176 and mpcore.
1621 * config/arm/tune.md: Regenerate.
1622 * config/arm/arm.c (FL_FOR_ARCH6K, FL_FOR_ARCH6Z, FL_FOR_ARCH6ZK):
1624 (all_architectures): Add armv6k, armv6z, armv6zk.
1625 * config/arm/lib1funcs.asm: Recognise new arm arcitectures.
1626 * doc/invoke.texi: Document new arch and cpu values.
1628 2004-10-12 Paul Brook <paul@coodesourcery.com>
1630 * config/arm/bpabi.h (SUBTARGET_EXTRA_ASM_SPEC): Change meabi=3 to
1633 2004-10-12 Paul Brook <paul@codesourcery.com>
1635 * config/arm/arm.md (addsi3_cbranch_scratch): Correct constraints.
1636 Handle negative constants.
1638 2004-10-12 Joseph S. Myers <jsm@polyomino.org.uk>
1641 * c-typeck.c (convert_arguments): Return error_mark_node if there
1642 are too few arguments.
1643 (build_function_call): Handle error_mark_node return from
1646 2004-10-06 Paolo Bonzini <bonzini@gnu.org>
1648 * configure.ac (symbolic_link): Replace with $LN_S.
1649 (Assembler/Linker): Hard link from gas and binutils trees.
1650 * aclocal.m4 (gcc_AC_PROG_LN_S): Try "cp -p" before cp.
1651 * configure: Regenerate.
1653 2004-10-12 Paul Brook <paul@codesourcery.com>
1655 * configure.ac: Don't look for host assembler when building a canadian
1657 * configure: Regenerate.
1659 2004-10-11 Roger Sayle <roger@eyesopen.com>
1662 * c-opts.c (permit_fortran_options): Delete/obsolete global variable.
1663 (c_common_init_options): Remove #ifdef CL_F77 code. Scan command
1664 line options for "-lang-asm" and if found allow any of the C-family
1666 (c_common_handle_option): Remove last use of permit_fortran_options.
1668 2004-10-11 Ulrich Weigand <uweigand@de.ibm.com>
1670 * config/s390/s390.c (print_operand): Support 'S' format flag.
1671 * config/s390/s390.md ("*tmqi_mem"): Use 'S' format flag.
1672 ("*tstsi", "*tstsi_cconly", "*tstsi_cconly2"): Likewise.
1673 ("*tsthiCCT", "*tsthiCCT_cconly", "*tsthi", "*tsthi_cconly"): Likewise.
1674 ("*tstqiCCT", "*tstqiCCT_cconly", "*tstqi", "*tstqi_cconly"): Likewise.
1675 ("*cmphi_ccu", "*cmpqi_ccu", "*clc"): Likewise
1676 ("movti", "*movdi_31", "*movqi", "*movdf_31", "*mvc"): Likewise.
1677 ("*movstricthi"): Likewise.
1678 ("*load_multiple_di", "*load_multiple_si"): Likewise.
1679 ("*store_multiple_di", "*store_multiple_si"): Likewise.
1680 ("*sethiqisi", "*sethihisi"): Likewise.
1681 ("*sethiqidi_64", "*sethiqidi_31"): Likewise.
1682 ("*andqi3_zarch", "*andqi3_esa", "*nc"): Likewise.
1683 ("*iorqi3_zarch", "*iorqi3_esa", "*oc"): Likewise.
1684 ("*xorqi3", "*xc", "*xc_zero"): Likewise.
1685 ("get_tp_64", "get_tp_31", "set_tp_64", "set_tp_31"): Likewise.
1687 ("*tmhi_full"): Fix incorrect op_type attribute.
1689 ("*adddi3_alc_cc", "*adddi3_alc"): Remove double backslash.
1690 ("*subdi3_slb_cc", "*subdi3_slb"): Likewise.
1691 ("*addsi3_alc_cc", "*addsi3_alc"): Likewise.
1692 ("*subsi3_slb_cc", "*subsi3_slb"): Likewise.
1694 2004-10-11 Andrew Pinski <pinskia@physics.uc.edu
1697 * function.c (temp_slots_at_level): Fix typo which creates too
1698 many temp stack slots levels.
1700 2004-10-11 Ulrich Weigand <uweigand@de.ibm.com>
1702 * config/s390/s390.c (s390_trampoline_template): Generate shorter
1704 (s390_trampoline_instantiate): Adapt.
1705 * config/s390/s390.h (TRAMPOLINE_SIZE): Adapt to new code.
1707 2004-10-11 Roger Sayle <roger@eyesopen.com>
1710 * stmt.c (add_case_node): Add additional type argument. Declare
1711 as static to match prototype. Convert the upper and lower bounds
1712 to the specified index type. Optimize away case ranges/values
1713 that are outside the index type's bounds. Truncate case ranges
1714 that span the index type's bounds.
1715 (expand_case): Avoid unnessary computation and memory allocation
1716 when index type is error_mark_node. Pass index_type as required
1717 by change to add_case_node API. No need to convert case range
1718 bounds to index_type, this is now done by add_case_node.
1720 2004-10-11 Ulrich Weigand <uweigand@de.ibm.com>
1722 * config/s390/s390-protos.h (s390_offset_p): Add prototype.
1723 * config/s390/s390.c (s390_offset_p): New function.
1724 * config/s390/s390.md ("*cmpdi_cct", "*cmpsi_cct", "*cmpdi_ccu",
1725 "*cmpsi_ccu", "*cmphi_ccu", "*cmpqi_ccu"): Use splitter to
1726 transform Q->Q alternatives to *clc pattern.
1728 ("movti", "*movdi_64", "*movdi_31", "*movsi_zarch", "*movsi_esa",
1729 "*movhi", "*movqi", "*movdf_64", "*movdf_31", "movsf"): Use splitter
1730 to transform Q->Q alternatives to *mvc pattern.
1731 ("*mvc"): Move. Add peephole to merge adjacent MVCs.
1732 ("*anddi3", "*andsi3_zarch", "*andsi3_esa", "*andhi3_zarch",
1733 "*andhi3_esa", "*andqi3_zarch", "*andqi3_esa"): Use splitter to
1734 transform Q->Q alternatives to *nc pattern.
1735 ("*nc"): New insn. New peephole to merge adjacent NCs.
1736 ("*iordi3", "*iorsi3_zarch", "*iorsi3_esa", "*iorhi3_zarch",
1737 "*iorhi3_esa", "*iorqi3_zarch", "*iorqi3_esa"): Use splitter to
1738 transform Q->Q alternatives to *oc pattern.
1739 ("*oc"): New insn. New peephole to merge adjacent OCs.
1740 ("*xordi3", "*xorsi3", "*xorhi3", "*xorqi3"): Use splitter to
1741 transform Q->Q alternatives to *xc pattern.
1742 ("*xc"): New insn. New peephole to merge adjacent XCs.
1743 ("*xc_zero"): Move. Add peephole to merge adjacent XCs.
1745 2004-10-11 Andrew Pinski <pinskia@physics.uc.edu>
1747 * gimplify.c (gimple_push_condition): Make sure that we don't
1748 have any saved condition cleanup if we were at the top level.
1750 2004-10-11 Richard Sandiford <rsandifo@redhat.com>
1752 * config/frv/frv.md (*adddi3_internal): Change name to...
1753 (adddi3): ...replacing the exisiting define_expand. Combine
1754 alternatives. Fix the range of the constant constraints ('J' instead
1755 of 'NOP'). Remove bogus operands[2] check. Use simplify_gen_subreg
1756 to extract the lower and upper halves of the DImode operands.
1757 Always use addi3_lower and adddi3_upper, not the subdi3 forms.
1758 (adddi3_lower): Fix the range of the constant constraints and
1759 remove the bogus operands[2] check.
1760 (adddi3_upper): Use gpr_or_int10_operand as the predicate for
1761 operand 2. Use addxi to handle constant operands.
1762 (subdi3_lower, subdi3_upper): Don't handle constant operands.
1764 2004-10-11 Nathan Sidwell <nathan@codesourcery.com>
1766 * gengtype-lex.l: Add commented } & ) characters to unconfuse
1767 editor's paren matching. Allow #define inside a struct.
1769 2004-10-10 Andrew Pinski <pinskia@physics.uc.edu>
1772 part of PR c++/17657
1773 * fold-const.c (fold_build_cleanup_point_expr): New function.
1774 * tree.h (fold_build_cleanup_point_expr): Prototype.
1776 2004-10-10 Eric Christopher <echristo@redhat.com>
1778 * dwarf2out.c: Move attribute to subprogram declaration
1779 instead of subroutine type.
1781 2004-10-10 Kazu Hirata <kazu@cs.umass.edu>
1783 * basic-block.h: Remove the prototypes for can_hoist_insn_p,
1784 hoist_insn_after, and hoist_insn_to_edge.
1785 * rtl.h: Remove the prototypes for reg_referenced_between_p,
1786 no_jumps_between_p, and insn_dependent_p.
1787 * rtlanal.c (no_jumps_between_p, reg_referenced_between_p,
1788 insn_dependent_p, insn_dependent_p_1, hoist_test_store,
1789 can_hoist_insn_p, hoist_update_store, hoist_insn_after,
1790 hoist_insn_to_edge): Remove.
1792 2004-10-10 Joseph S. Myers <jsm@polyomino.org.uk>
1795 * c-decl.c (grokparms): Don't warn for parameters of incomplete
1796 type in declarations that are not definitions except for the case
1797 of parameters of void type.
1799 2004-10-10 Kazu Hirata <kazu@cs.umass.edu>
1801 * tree-cfg.c: Fix comment typos.
1803 2004-10-10 Joseph S. Myers <jsm@polyomino.org.uk>
1806 * builtins.c (expand_builtin_va_start): Check for too few
1807 arguments to va_start.
1809 2004-10-10 Joseph S. Myers <jsm@polyomino.org.uk>
1812 * c-decl.c (grokfield): Make diagnostic for bad cases of unnamed
1813 fields a pedwarn. Pedwarn here for unnamed structs/unions if
1815 * c-parse.in (component_decl): Don't pedwarn here for unnamed
1818 2004-10-09 Zdenek Dvorak <dvorakz@suse.cz>
1820 PR tree-optimization/17906
1821 * tree-tailcall.c (tree_optimize_tail_calls_1): Do not attempt to
1822 copy non-gimple reg arguments.
1824 2004-10-09 Roger Sayle <roger@eyesopen.com>
1826 PR rtl-optimization/17853
1827 * simplify-rtx.c (simplify_relational_operation): Correct comment.
1828 Reorganize handling of comparison operations with floating point
1829 results (always return 0.0 even without FLOAT_STORE_FLAG_VALUE).
1830 Likewise, introduce support for comparison operations with vector
1831 result types, introducing a new VECTOR_STORE_FLAG_VALUE target macro.
1833 * doc/rtl.texi: Document new VECTOR_STORE_FLAG_VALUE target macro.
1834 * doc/tm.texi: Likewise.
1836 2004-10-09 Steven Bosscher <stevenb@suse.de>
1838 * regs.h (struct reg_info_def): Remove the last_node_uid and
1839 changes_mode fields.
1840 (REGNO_LAST_NOTE_UID): Don't define.
1841 * regclass.c (reg_scan_mark_refs): Don't set REGNO_LAST_NOTE_UID.
1842 * regmove.c (copy_src_to_dest): Likewise.
1844 2004-10-09 Roger Sayle <roger@eyesopen.com>
1847 * fold-const.c (fold_div_compare): When optimizing X/C1 op C2, the
1848 relational comparison operator op needs to be swapped/reversed when
1849 C1 is negative. i.e. X/-10 < 1 becomes X >= -9, not X < -9.
1851 2004-10-08 Andrew Pinski <pinskia@physics.uc.edu>
1854 * tree-ssa-phiopt.c (conditional_replacement): Use bsi_after_labels
1855 instead of bsi_start.
1856 (value_replacement): Likewise.
1857 (abs_replacement): Likewise
1859 2004-10-09 Steven Bosscher <stevenb@suse.de>
1861 * cfgexpand.c (maybe_dump_rtl_for_tree_stmt): New function.
1862 (expand_gimple_cond_expr, expand_gimple_tailcall,
1863 expand_gimple_basic_block): Use it to dump RTL for each stmt.
1864 (tree_expand_cfg): Announce full RTL function dump.
1865 * tree-optimize.c (execute_one_pass): Use normal RTL printing,
1866 not the graph version.
1867 * tree-pretty-print.c (dump_generic_node): Allow empty statements
1868 in the arms of a COND_EXPR for lowered nodes.
1870 2004-10-08 Joseph S. Myers <joseph@codesourcery.com>
1872 * config/rs6000/spe.h (atosfix16, atosfix32, atosfix64, atoufix16,
1873 atoufix32, atoufix64, strtosfix16, strtosfix32, strtosfix64,
1874 strtoufix16, strtoufix32, strtoufix64): Declare.
1876 2004-10-08 Joseph S. Myers <jsm@polyomino.org.uk>
1878 * c-lex.c (interpret_float): Give a pedwarn rather than a warning
1879 for an out-of-range floating point constant.
1880 * builtins.c (fold_builtin_inf): Give a pedwarn rather than a
1881 warning if the target format does not support infinities.
1883 2004-10-08 Kazu Hirata <kazu@cs.umass.edu>
1885 * emit-rtl.c (last_label_num, base_label_num): Remove.
1886 (max_label_num): Always return label_num.
1887 (set_new_last_label_num, restore_emit_status): Remove.
1888 (init_emit): Don't initialize last_label_num.
1889 * function.c (pop_function_context_from): Don't call
1890 restore_emit_status.
1891 * function.h: Remove the prototype for restore_emit_status.
1892 * rtl.h: Remove the prototype for set_new_last_label_num.
1894 2004-10-08 Kazu Hirata <kazu@cs.umass.edu>
1896 * stmt.c (expand_decl_init): Remove.
1897 * tree.h: Remove the corresponding prototype.
1899 2004-10-08 Kazu Hirata <kazu@cs.umass.edu>
1901 * integrate.c (try_constants, subst_constants, mark_stores):
1903 * integrate.h: Remove the prototype for try_constants.
1905 2004-10-08 Joseph S. Myers <jsm@polyomino.org.uk>
1907 * c-typeck.c (enum impl_conv): Add ic_argpass_nonproto.
1908 (convert_for_assignment): Handle ic_argpass_nonproto. Add
1909 comments about its relevance to errors.
1910 (c_convert_parm_for_inlining): Use ic_argpass_nonproto.
1912 2004-10-08 Andrew Pinski <pinskia@physics.uc.edu>
1915 * c-ppoutput.c (cb_ident): Don't quote string as it is already
1918 2004-10-08 Diego Novillo <dnovillo@redhat.com>
1920 * tree-ssa-pre.c (init_pre): Use size of ARRAY_REF to allocate
1921 reference_node_pool.
1923 2004-10-08 Kazu Hirata <kazu@cs.umass.edu>
1925 * tree-cfg.c: Fix a comment typo.
1927 2004-10-08 Andreas Krebbel <krebbel1@de.ibm.com>
1929 * config/s390/s390.c (s390_register_info): Don't save fprs for
1931 (s390_conditional_register_usage): Make fprs 'fixed' for -msoft-float.
1933 2004-10-08 Ulrich Weigand <uweigand@de.ibm.com>
1935 * config/s390/s390.h (TARGET_DEFAULT_BACKCHAIN): New define.
1936 (TARGET_DEFAULT): Use symbolic values.
1937 * config/s390/tpf.h (TARGET_DEFAULT_BACKCHAIN): Redefine.
1938 (TARGET_DEFAULT): Use symbolic values.
1939 * config/s390/s390.c (s390_backchain_string): Initialize to
1940 TARGET_DEFAULT_BACKCHAIN.
1942 2004-10-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1944 * builtins.c (expand_builtin_mempcpy): Move tree handling code to
1945 fold_builtin_mempcpy. Accept a type parameter. Delete duplicate
1947 (expand_builtin_strcat): Accept a type parameter.
1948 (fold_builtin_mempcpy): Accept a type and endp parameter.
1950 * builtins.c (expand_builtin_strncpy): Delete duplicate code.
1951 Accept an `exp' instead of an `arglist'.
1953 2004-10-08 Nathan Sidwell <nathan@codesourcery.com>
1955 * tree-tailcall.c (tree_optimize_tail_calls_1): Use fold_convert,
1956 reverting my 2004-09-07 patch to use build_int_cst.
1958 2004-10-08 Eric Botcazou <ebotcazou@libertysurf.fr>
1961 * config/sparc/sparc.c (input_operand): Remove redundant code
1962 for handling LO_SUM.
1963 (legitimate_address_p) <REG+REG>: Do not recheck TARGET_V9.
1964 <LO_SUM>: If LO_SUM is offsettable, accept it for TFmode on V9.
1965 Otherwise only accept it for TFmode if quad move insns are available.
1967 2004-10-08 Kazu Hirata <kazu@cs.umass.edu>
1969 * tree-cfg.c (tree_forwarder_block_p): Reorder checks so that
1970 common cases will be caught earlier than others.
1972 2004-10-08 Michael Matz <matz@suse.de>
1974 * loop-doloop.c (doloop_optimize): Extend count.
1976 2004-10-08 Kaz Kojima <kkojima@gcc.gnu.org>
1978 * config/sh/sh.md (prefetch_media, prefetch_i4): New insns.
1979 (prefetch): Convert to expander.
1981 2004-10-08 Kaz Kojima <kkojima@gcc.gnu.org>
1983 * config/sh/sh.md (tls_global_dynamic): Use MEM pattern for the
1984 first argument of CALL.
1985 (tls_local_dynamic): Likewise.
1987 2004-10-08 Joseph S. Myers <jsm@polyomino.org.uk>
1989 * c-typeck.c (enum impl_conv): New.
1990 (convert_for_assignment): Use it. Take tree for function called
1991 instead of its name. Handle ObjC selectors for diagnostics at
1992 start of function. Select diagnostic text within the function
1993 using full sentences for diagnsotics. Use %qE to name functions
1995 (convert_arguments, build_modify_expr,
1996 c_convert_parm_for_inlining, digest_init, c_finish_return): Update
1997 callers to convert_for_assignment.
1998 (warn_for_assignment): Remove.
2000 2004-10-08 Nick Clifton <nickc@redhat.com>
2002 * config/sh/symbian.c (symbian_possibly_export_base_class):
2003 Replace use of deleted TYPE_USES_VIRTUAL_BASECLASSES macro with
2004 TYPE_CONTAINS_VPTR_P.
2006 2004-10-08 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
2008 * config/m32r/m32r.h (CONDITIONAL_REGISTER_USAGE): Don't exclude
2009 fixed registers form all_used_regs. Update call_really_used_regs.
2010 (CALL_REALLY_USED_REGISTERS): Define.
2011 * config/m32r/m32r.c (MUST_SAVE_REGISTER): Replace call_used_regs
2012 with call_really_used_regs.
2014 2004-10-08 Alan Modra <amodra@bigpond.net.au>
2016 * config/rs6000/sysv4.h (STARTFILE_LINUX_SPEC): Choose gcrt1.o
2017 for -profile as well as -p and -pg.
2019 2004-10-07 Andrew Pinski <pinskia@physics.uc.edu>
2021 * libgcc2.c (__moddi3): Cast &w to UDWtype*.
2023 2004-10-07 Kazu Hirata <kazu@cs.umass.edu>
2025 * tree-cfg.c (tree_block_forwards_to): Remove.
2026 * tree-flow.h: Remove the corresponding prototype.
2028 2004-10-07 Kazu Hirata <kazu@cs.umass.edu>
2030 * tree-flow-inline.h (phi_nodes): Remove an unnecessary check
2031 for ENTRY_BLOCK_PTR and EXIT_BLOCK_PTR.
2033 2004-10-07 Geoffrey Keating <geoffk@apple.com>
2036 * config/rs6000/rs6000.c (rs6000_generate_compare): When
2037 flag_trapping_math is in effect, don't generate subtract
2040 2004-10-07 Ulrich Weigand <uweigand@de.ibm.com>
2042 * config/s390/s390-protos.h (s390_narrow_logical_operator): Add.
2043 * config/s390/s390.c (s390_narrow_logical_operator): New function.
2044 (s390_extra_constraint_str): Add 'A' constraints.
2045 (s390_const_ok_for_constraint_p): Add 'Nx' constraints.
2046 * config/s390/s390.h (EXTRA_MEMORY_CONSTRAINT): Add 'A' constraint.
2047 (CONSTRAINT_LEN): Likewise.
2048 * config/s390/s390.md ("*anddi3"): Add NI alternative and splitter.
2049 ("*andsi3_zarch", "*andsi3_esa"): Likewise.
2050 ("*andhi3_zarch", "*andhi3_esa"): Likewise.
2051 ("*iordi3"): Add OI alternative and splitter.
2052 ("*iorsi3_zarch", "*iorsi3_esa"): Likewise.
2053 ("*iorhi3_zarch", "*iorhi3_esa"): Likewise.
2054 ("*xordi3"): Add XI alternative and splitter.
2055 ("*xorsi3", "*xorhi3"): Likewise.
2057 2004-10-07 Richard Sandiford <rsandifo@redhat.com>
2059 * config/mips/mips.c (mips_function_rodata_section): New function.
2060 (TARGET_ASM_FUNCTION_RODATA_SECTION): Use it.
2062 2004-10-07 Devang Patel <dpatel@apple.com>
2064 * rs6000/altivec.md (UNSPEC_VCMPBFP, UNSPEC_VCMPEQUB, UNSPEC_VCMPEQUH,
2065 UNSPEC_VCMPEQUW, UNSPEC_VCMPGEFP, UNSPEC_VCMPGTUB, UNSPEC_VCMPGTSB,
2066 UNSPEC_VCMPGTUH, UNSPEC_VCMPGTSH, UNSPEC_VCMPGTUW, UNSPEC_VCMPGTSW,
2067 UNSPEC_VCMPGTFP, UNSPEC_VSEL4SI, UNSPEC_VSEL4SF, UNSPEC_VSEL8HI,
2068 UNSPEC_VSEL16QI, UNSPEC_VCOND_V4SI, UNSPEC_VCOND_V4SF, UNSPEC_VCOND_V8HI,
2069 UNSPEC_VCOND_V16QI, UNSPEC_VCONDU_V4SI, UNSPEC_VCONDU_V8HI,
2070 UNSPEC_VCONDU_V16QI): New constant defines.
2071 (vcondv4si, vcondv4sf, vcondv8hi, vcondv16qi, vconduv4si, vconduv8hi,
2072 vconduv16qi): New patterns.
2073 * rs6000/rs6000-protos.h (rs6000_emit_vector_cond_expr): New function.
2074 * rs6000/rs6000.c (rs6000_emit_vector_cond_expr): New function.
2075 (get_vec_cmp_insn): Same.
2076 (get_vsel_insn): Same.
2077 (rs6000_emit_vector_compare): Same.
2078 (rs6000_emit_vector_select): Same.
2079 (INSN_NOT_AVAILABLE): New.
2081 2004-10-07 Zdenek Dvorak <dvorakz@suse.cz>
2083 PR tree-optimization/17749
2084 * tree-tailcall.c (find_tail_calls): Check that parameter is
2087 2004-10-07 Kazu Hirata <kazu@cs.umass.edu>
2089 * config/ia64/ia64.c: Fix a comment typo.
2091 2004-10-07 Eric Botcazou <ebotcazou@libertysurf.fr>
2093 * doc/install.texi (*-*-solaris2*): Fix marker for URL.
2095 2004-10-07 Giovanni Bajo <giovannibajo@gcc.gnu.org>
2098 * tree-inline.c (expand_call_inline): Do not warn for functions
2099 marked with attribute noinline.
2101 2004-10-07 Eric Botcazou <ebotcazou@libertysurf.fr>
2104 * config/sparc/sparc.c (sparc_output_mi_thunk): Set
2105 current_function_uses_only_leaf_regs as well as sparc_leaf_function_p.
2107 * config/sparc/sparc.c (sparc_gimplify_va_arg): Pass 'false' instead
2108 of 0 as 4th argument to pass_by_reference.
2109 Call build_va_arg_indirect_ref instead of build_fold_indirect_ref.
2111 2004-10-06 Eric Christopher <echristo@redhat.com>
2113 * config/sh/sh.c (sh_dwarf_calling_convention): Fix renesas dwarf
2116 2004-10-07 Richard Sandiford <rsandifo@redhat.com>
2119 * config/mips/mips.md (mov_<load>l): Remove hazard=none attribute.
2121 2004-10-07 Zdenek Dvorak <dvorakz@suse.cz>
2123 PR rtl-optimization/17791
2124 * loop-doloop.c (doloop_modify): Take number of iterations as
2126 (doloop_optimize): Extend or shorten the number of iterations
2127 when changing mode of counter register.
2128 * loop-iv.c (lowpart_subreg): Export.
2129 * rtl.h (lowpart_subreg): Declare.
2131 2004-10-07 Zdenek Dvorak <dvorakz@suse.cz>
2133 PR tree-optimization/17806
2134 * cfghooks.c (split_edge): Update IRREDUCIBLE_LOOP flags.
2135 * cfgloopmanip.c (loop_split_edge_with): Updating of IRREDUCIBLE_LOOP
2136 flags moved to split_edge.
2138 2004-10-07 Eric Botcazou <ebotcazou@libertysurf.fr>
2141 * expmed.c (expand_sdiv_pow2): Force a stack adjustment
2142 before tentatively building the conditional move sequence.
2144 2004-10-07 Richard Sandiford <rsandifo@redhat.com>
2147 * function.c (assign_parm_setup_block_p): Tighten BLOCK_REG_PADDING
2149 * config/pa/pa.h (BLOCK_REG_PADDING): Define in terms of
2150 function_arg_padding.
2152 2004-10-07 Richard Sandiford <rsandifo@redhat.com>
2155 * Makefile.in (stmp-fixproto): Pass FIX_HEADER=build/... to fixproto.
2157 2004-10-07 Kazu Hirata <kazu@cs.umass.edu>
2159 * hooks.c (hook_int_void_1, hook_void_int): Remove.
2160 * hooks.h: Remove the corresponding prototypes.
2162 2004-10-06 Andrew Pinski <pinskia@physics.uc.edu>
2165 * tree-nested.c (walk_stmt_info): Add changed field.
2166 (convert_nonlocal_reference): Set changed to when we
2167 change a decl to unnested decl.
2168 <case ADDR_EXPR>: Instead of checking if the immediate part
2169 of the ADDR_EXPR changed, check the field changed.
2170 Use recompute_tree_invarant_for_addr_expr instead of unsetting
2172 (convert_local_reference): Set changed to when we
2173 change a decl to unnested decl.
2174 <case ADDR_EXPR>: Instead of checking if the immediate part
2175 of the ADDR_EXPR changed, check the field changed.
2176 Also call recompute_tree_invarant_for_addr_expr on the ADDR_EXPR.
2178 2004-10-06 Kazu Hirata <kazu@cs.umass.edu>
2180 * defaults.h (DWARF2_GENERATE_TEXT_SECTION_LABEL): Remove.
2181 * dwarf2out.c (dwarf2out_init): Remove references to
2182 DWARF2_GENERATE_TEXT_SECTION_LABEL.
2183 * system.h: Poison DWARF2_GENERATE_TEXT_SECTION_LABEL.
2184 * doc/tm.texi (DWARF2_GENERATE_TEXT_SECTION_LABEL): Remove.
2186 2004-10-06 Joseph S. Myers <jsm@polyomino.org.uk>
2188 * c-typeck.c (convert_arguments): Take expression for called
2189 function rather than its name. Handle ObjC selectors directly
2190 rather than relying on warn_for_assignment to do so. Call warning
2191 directly rather than warn_for_assignment. Use %qE in diagnostics.
2192 Say "argument" rather than "arg" in diagnostics.
2193 (build_function_call): Update call to convert_arguments.
2195 2004-10-06 Andrew Pinski <pinskia@physics.uc.edu>
2198 * dbxout.c (dbxout_symbol): Really handle RECORD, UNION, and
2199 ENUMs specially instead of just saying we do.
2201 2004-10-06 Eric Christopher <echristo@redhat.com>
2203 * dwarf2.h: Sync with include/elf/dwarf2.h
2205 2004-10-06 Daniel Berlin <dberlin@dberlin.org>
2207 * tree-pretty-print.c (dump_generic_node): Fix printing of BINFO
2210 2004-10-06 Daniel Berlin <dberlin@dberlin.org>
2212 * lambda-code.c (lambda_loopnest_to_gcc_loopnest): Convert
2213 to use FOR_EACH_SSA_USE_OPERAND iterator, and propagate_value.
2215 2004-10-06 Daniel Berlin <dberlin@dberlin.org>
2217 * lambda-code.c (compute_nest_using_fourier_motzkin): New
2219 (lambda_compute_auxillary_space): Split from here.
2221 2004-10-06 Daniel Berlin <dberlin@dberlin.org>
2223 * tree-ssa-loop-ivopts.c (expr_invariant_in_loop): Make non-static.
2224 * tree-flow.h: Add prototype.
2225 * lambda-code.c (invariant_in_loop_and_outer_loops): Use
2226 expr_invariant_in_loop.
2228 2004-10-06 Kazu Hirata <kazu@cs.umass.edu>
2230 * tree-cfg.c (thread_jumps): Remove a duplicate check for
2233 2004-10-06 Ulrich Weigand <uweigand@de.ibm.com>
2235 * config/s390/s390-protos.h (s_imm_operand): Remove.
2236 (s390_pool_operand): Add prototype.
2237 * config/s390/s390.c (general_s_operand): Remove.
2238 (s_imm_operand): Remove.
2239 (s_operand): Merge contents of general_s_operand.
2240 (s390_pool_operand): New function.
2241 * config/s390/s390.h (PREDICATE_CODES): Remove s_imm_operand.
2242 * config/s390/s390.md ("*cmpdi_cct", "*cmpsi_cct"): New insns.
2243 ("*cmpdi_ccu"): Merge Q->Q alternative.
2244 ("*cmpsi_ccu", "*cmphi_ccu"): Likewise.
2245 ("*cmpqi_ccu"): Merge Q->Q, n->Q, n->S alternatives.
2247 ("*cmpdi_ccu_mem", "*cmpsi_ccu_mem"): Likewise.
2248 ("*cmphi_ccu_mem", "*cmpqi_ccu_mem"): Likewise.
2249 ("*movstricthi"): Use memory_operand instead of s_imm_operand.
2251 2004-10-06 Steve Ellcey <sje@cup.hp.com>
2253 * config/ia64/ia64.h (FUNCTION_ARG_BOUNDARY): Change macro to
2254 call ia64_function_arg_boundary.
2255 * config/ia64/ia64-protos.h (ia64_function_arg_boundary): New.
2256 * config/ia64/ia64.c (ia64_function_arg_boundary): New.
2257 (ia64_function_arg_advance): Do not put 128 bit floats into
2260 2004-10-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2262 * builtins.c (expand_builtin_strcpy): Delete duplicate code.
2263 Accept an expression instead of an arglist.
2264 (expand_builtin_stpcpy): Accept an expression instead of an
2267 2004-10-06 Eric Botcazou <ebotcazou@libertysurf.fr>
2270 * doc/install.texi (*-*-solaris2*): Mention potential problem
2271 with Sun assembler + GNU linker and C++ programs.
2272 Document status of binutils 2.15 release.
2274 2004-10-06 Jan Hubicka <jh@suse.cz>
2276 * cse.c (cse_main): Kill push/pop context.
2278 2004-10-05 Zack Weinberg <zack@codesourcery.com>
2280 * pretty-print.c: Include tree.h.
2281 (pp_base_prepare_to_format): New function, logic from
2282 text_specifies_location.
2283 (pp_base_format_text): Use gcc_assert.
2284 * pretty-print.h (pp_prepare_to_format): New macro.
2285 (pp_base_prepare_to_format): Prototype.
2286 * diagnostic.c (text_specifies_location): Delete.
2287 (bug_report_request): Delete.
2288 (diagnostic_set_info): Don't call text_specifies_location.
2289 (diagnostic_action_after_output): Put text from
2290 bug_report_request inline here. Use gcc_unreachable.
2291 (diagnostic_report_current_function): Fix comment.
2292 (diagnostic_report_diagnostic): Clarify logic for error recursion.
2293 Call pp_prepare_to_format before diagnostic_starter.
2294 (trim_filename): Use IS_DIR_SEPARATOR.
2295 (fatal_error, internal_error): Use gcc_unreachable.
2296 (error_recursion): Call diagnostic_action_after_output to
2297 issue the bug_report_request message and exit.
2298 * Makefile.in (diagnostic.o, pretty-print.o): Update dependencies.
2300 * c-parse.in: Add list of diagnostic messages to insulate
2301 translation template from version of yacc/bison used to
2302 compile the grammar.
2304 2004-10-06 Alan Modra <amodra@bigpond.net.au>
2307 * doc/tm.texi (USE_LD_AS_NEEDED, LINK_EH_SPEC): Document.
2309 2004-10-05 Kazu Hirata <kazu@cs.umass.edu>
2311 * basic-block.h: Remove the prototype for
2312 flow_preorder_transversal_compute.
2313 * cfganal.c (dfst_node): Remove.
2314 (flow_preorder_transversal_compute): Likewise.
2315 * rtl.h: Remove the prototype for get_jump_table_offset.
2316 * rtlanal.c (get_jump_table_offset): Remove.
2318 2004-10-05 Richard Henderson <rth@redhat.com>
2321 * tree-ssa-operands.c (get_expr_operands): Handle CONST_DECL.
2323 2004-10-05 Kelley Cook <kcook@gcc.gnu.org>
2326 * Makefile.in: Stage the build directory too.
2328 2004-10-05 Aldy Hernandez <aldyh@redhat.com>
2330 * config/frv/frv.h (LEGITIMIZE_ADDRESS): New.
2332 * config/frv/frv-protos.h (frv_legitimize_address): Protoize.
2333 (frv_emit_move): Same.
2335 * config/frv/frv.c (frv_emit_move): New.
2336 (frv_legitimize_address): New.
2338 * config/frv/frv.md ("movsi"): Call frv_emit_move.
2345 2004-10-05 Joseph S. Myers <jsm@polyomino.org.uk>
2347 * c-decl.c (declspecs_add_type): Don't pedwarn for _Complex in
2350 2004-10-05 Joseph S. Myers <jsm@polyomino.org.uk>
2352 * c-decl.c (pushdecl): When an extern declaration at block scope
2353 refers to a visible entity with internal linkage, use the old DECL
2354 rather than the new one.
2356 2004-10-05 Kazu Hirata <kazu@cs.umass.edu>
2358 * tree-cfg.c (cleanup_tree_cfg): Remove extra parentheses in
2361 2004-10-05 Kazu Hirata <kazu@cs.umass.edu>
2363 * tree-cfg.c (thread_jumps): Remove a duplicate check for
2366 2004-10-05 Kazu Hirata <kazu@cs.umass.edu>
2368 * tree-cfg.c (thread_jumps): Iterate with FOR_EACH_BB instead
2369 of FOR_BB_BETWEEN. Remove a useless check for unreachable
2372 2004-10-05 Kazu Hirata <kazu@cs.umass.edu>
2374 * tree-cfg.c (cleanup_tree_cfg): Don't call
2375 delete_unreachable_blosk() after thread_jumps().
2376 (thread_jumps): Always remove basic blocks as they become
2379 2004-10-05 Kazu Hirata <kazu@cs.umass.edu>
2381 * tree-cfg.c (cleanup_tree_cfg): Remove variable
2382 something_changed. Simplify the while loop.
2384 2004-10-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2386 * builtins.c (expand_builtin_memmove): Delete duplicate code
2387 and accept a tree type for the result.
2388 (expand_builtin_bcopy): Accept a tree type for the result.
2389 (fold_builtin_memmove): Accept an arglist and tree type for
2392 2004-10-05 Ulrich Weigand <uweigand@de.ibm.com>
2394 * config/s390/s390.c (s390_dump_pool): Remove return value.
2395 Use gen_pool_align, gen_pool_section_start/end instead of
2396 gen_pool_start/end_31/64.
2397 * config/s390/s390.md (UNSPECV_POOL_START, UNSPECV_POOL_END): Remove.
2398 (UNSPECV_POOL_SECTION, UNSPECV_POOL_ALIGN): New constants.
2399 ("pool_start_31", "pool_end_31"): Remove.
2400 ("pool_start_64", "pool_end_64"): Likewise.
2401 ("pool_align", "pool_section_start", "pool_section_end": New insns.
2403 * config/s390/s390.c (s390_cannot_copy_insn_p): New function.
2404 (TARGET_CANNOT_COPY_INSN_P): Define.
2405 (s390_cannot_force_const_mem): Handle UNSPEC_INSN.
2406 (struct constant_pool): New member 'execute'.
2407 (s390_add_execute, s390_find_execute): New functions.
2408 (s390_execute_label, s390_execute_target): Likewise.
2409 (s390_dump_pool): Output in-pool execute target templates.
2410 (s390_dump_execute): New function.
2411 (s390_alloc_pool, s390_free_pool): Handle execute templates.
2412 (s390_mainpool_start, s390_mainpool_finish): Likewise.
2413 (s390_chunkify_start, s390_chunkify_finish): Likewise.
2414 * config/s390/s390.md (UNSPEC_INSN, UNSPEC_EXECUTE): New constants.
2415 ("*execute"): New insn pattern.
2416 ("movmem_short", "*movmem_short"): Use splitters to generate
2417 explicit execute pattern, remove embedded execute.
2418 ("clrmem_short", "*clrmem_short"): Likewise.
2419 ("cmpmem_short", "*cmpmem_short"): Likewise.
2421 2004-10-05 Daniel Berlin <dberlin@dberlin.org>
2423 * tree-ssa.c (verify_ssa): Verify phi arguments only
2424 contain renamed names.
2426 2004-10-05 Alan Modra <amodra@bigpond.net.au>
2428 * config/rs6000/linux.h: Formatting, whitespace.
2429 * config/rs6000/linux64.h: Likewise.
2430 * config/rs6000/rs6000-protos.h: Likewise.
2431 * config/rs6000/rs6000.c: Likewise.
2432 (easy_vector_splat_const): Add fall thru comments.
2433 (output_vec_const_move): Likewise.
2435 2004-10-05 Kelley Cook <kcook@gcc.gnu.org>
2437 * Makefile.in: Update -Wno-error exceptions for move to build dir.
2439 2004-10-05 Chao-Ying Fu <fu@mips.com>
2440 Richard Sandiford <rsandifo@redhat.com>
2442 * doc/invoke.texi (-mpaired-single): Link to the new description of the
2443 built-in functions. Document dependencies.
2444 (-mips3d): Add link here too.
2445 * doc/extend.texi (MIPS Paired-Single Support): New section.
2447 2004-10-04 Chao-ying Fu <fu@mips.com>
2449 * config/mips/mips.h (UNITS_PER_SIMD_WORD): Define.
2451 2004-10-04 Diego Novillo <dnovillo@redhat.com>
2453 * tree-ssa-dom.c (tree_ssa_dominator_optimize):
2454 Initialize OPT_STATS to 0.
2456 2004-10-04 Kazu Hirata <kazu@cs.umass.edu>
2458 * tree-data-ref.c: Fix comment typos.
2460 2004-10-04 Sebastian Pop <pop@cri.ensmp.fr>
2462 * tree-data-ref.c (array_base_name_differ_p): Fix comments. When
2463 the predicate cannot be computed, don't initialize the result to
2466 2004-10-01 Eric Christopher <echristo@redhat.com>
2468 * dwarf2.h (dwarf_calling_convention): Add GNU prefix to
2469 locally defined enum.
2470 * dwarf2out.c (add_calling_convention_attribute): Don't
2473 2004-10-03 Andrew Pinski <pinskia@physics.uc.edu>
2475 PR c/17178, PR c/17820
2476 * c-decl.c (pop_scope): Do not warn about unused static
2477 variables as they warned in the middle-end.
2479 2004-10-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2481 * builtins.c (expand_builtin_memcpy): Delete duplicate code
2482 and make the first parameter the expression not the arglist.
2484 2004-10-03 Ulrich Weigand <uweigand@de.ibm.com>
2486 * expr.c (expand_expr_addr_expr): Only accept Pmode or ptr_mode
2487 as valid modes to expand address expressions.
2489 2004-10-03 Joseph S. Myers <jsm@polyomino.org.uk>
2491 * c-aux-info.c, c-common.c, c-common.h, c-cppbuiltin.c, c-decl.c,
2492 c-format.c, c-incpath.c, c-lex.c, c-objc-common.c, c-opts.c,
2493 c-parse.in, c-pch.c, c-ppoutput.c, c-pragma.c, c-typeck.c: Follow
2494 code formatting conventions.
2496 2004-10-03 Richard Sandiford <rsandifo@redhat.com>
2498 * config/mips/mips.md (<u>mulsidi3_32bit_r4000): Fix unsigned case.
2500 2004-10-03 Kazu Hirata <kazu@cs.umass.edu>
2502 PR tree-optimization/16632
2503 * fold-const.c (fold) [EQ_EXPR]: When seeing if D & ~C != 0 to
2504 fold (A & C) == D into 0, fold ~C. Similarly, for the case
2505 where | is used instead of &.
2507 2004-10-03 Kazu Hirata <kazu@cs.umass.edu>
2509 * ginclude/stddef.h: Fix a comment typo.
2511 2004-10-03 Eric Botcazou <ebotcazou@libertysurf.fr>
2514 * config.gcc (i?86-*-solaris2*): Restore correct logic
2515 for --enable-threads option.
2516 (sparc64-*-solaris2*): Likewise.
2517 (sparc-*-solaris2*): Likewise.
2519 2004-10-03 Alan Modra <amodra@bigpond.net.au>
2521 * config/rs6000/linux.h (TARGET_C99_FUNCTIONS): Define.
2522 (OS_MISSING_POWERPC64): Move, and comment.
2523 * config/rs6000/linux64.h (TARGET_C99_FUNCTIONS): Define.
2524 (OS_MISSING_POWERPC64): Move, and comment.
2526 2004-10-02 Ian Lance Taylor <ian@wasabisystems.com>
2528 * arm.c (output_call_mem): Add missing \t.
2530 2004-10-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2532 * builtins.c (expand_builtin_memcmp, expand_builtin_strcmp,
2533 expand_builtin_strncmp): Delete duplicate code.
2535 2004-10-02 Frank Ch. Eigler <fche@redhat.com>
2537 * tree-mudflap.c (mf_build_check_statement_for): Reorganize to
2538 take check-base and -limit arguments.
2539 (mf_xform_derefs_1): Reorganize slightly to pass proper base/limit
2540 check ranges for ARRAY_REF and COMPONENT_REF.
2541 (execute_mudflap_fnction_ops, ..._decls): Limit unnecessary
2544 2004-10-02 Joseph S. Myers <jsm@polyomino.org.uk>
2546 * c-objc-common.c (c_tree_printer): Correct description of %E.
2547 Don't fall through after printing an expression.
2549 2004-10-02 Kazu Hirata <kazu@cs.umass.edu>
2551 * tree-cfg.c, config/s390/tpf-unwind.h: Fix comment typos.
2553 2004-10-02 Kazu Hirata <kazu@cs.umass.edu>
2555 * tree-cfg.c (cleanup_tree_cfg): Speed up by calling
2556 delete_unrechable_blocks() only when necessary.
2558 2004-10-02 P.J. Darcy <darcypj@us.ibm.com>
2560 * gthr-tpf.h (__gthread_recursive_mutex_t): New type.
2561 (__GTHREAD_RECURSIVE_MUTEX_INIT): Define.
2562 (__gthread_recursive_mutex_lock, __gthread_recursive_mutex_trylock,
2563 __gthread_recursive_mutex_unlock): New functions.
2565 2004-10-02 P.J. Darcy <darcypj@us.ibm.com>
2567 * config/s390/t-tpf (LIB2ADDEH): Remove tpf-eh.c.
2568 * config/s390/tpf-eh.c: Remove file.
2569 * config/s390/tpf-unwind.h: New file.
2570 * config/s390/tpf.h (MD_FALLBACK_FRAME_STATE_FOR): Remove.
2571 (MD_UNWIND_SUPPORT): Define.
2573 2004-10-02 Joseph S. Myers <jsm@polyomino.org.uk>
2575 * c-typeck.c (warn_for_assignment): Don't permit argnum == 0.
2577 2004-10-01 Ulrich Weigand <uweigand@de.ibm.com>
2579 * config/s390/s390-protos.h (s390_comparison): Add prototype.
2580 * config/s390/s390.c (s390_comparison): New function.
2581 (s390_branch_condition_mask): Return -1 for invalid comparisons.
2582 (s390_branch_condition_mnemonic): Assert valid comparison.
2583 * config/s390/s390.h (PREDICATE_CODES): Add s390_comparison.
2584 * config/s390/s390.md ("*cjump_64", "*cjump_31", "*cjump_long",
2585 "*icjump_64", "*icjump_31", "*icjump_long", "*trap"): Use
2586 s390_comparison instead of comparison_operator.
2588 * config/s390/s390.md (UNSPEC_CMPINT): New constant.
2589 ("cmpmemdi"): Remove.
2590 ("cmpmem_short", "*cmpmem_short"): Use CCUmode instead of CCSmode.
2591 ("cmpmem_long", "*cmpmem_long_64", "*cmpmem_long_31"): Likewise.
2592 ("cmpint_si"): Rename to ...
2593 ("*cmpint_si"): ... this. Use UNSPEC_CMPINT.
2594 ("cmpint_di", "*cmpint_di"): Likewise.
2595 * config/s390/s390.c (s390_canonicalize_comparison): Remove
2596 redundant UNSPEC_CMPINT conversions.
2597 (s390_expand_cmpmem): Adapt to cmpint pattern changes.
2599 2004-10-01 Kazu Hirata <kazu@cs.umass.edu>
2601 * collect2.c (COLLECT_PARSE_FLAG): Remove.
2602 (main): Remove a reference to COLLECT_PARSE_FLAG
2603 * system.h: Poison COLLECT_PARSE_FLAG.
2604 * doc/tm.texi (COLLECT_PARSE_FLAG): Remove.
2606 2004-10-01 Paul Brook <paul@codesourcery.com>
2608 * config/arm/crti.asm: Give _init and _fini function type.
2610 2004-10-01 Zdenek Dvorak <dvorakz@suse.cz>
2612 * common.opt (ftree-loop-ivcanon): Enable by default.
2613 * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely):
2614 Enable complete loop unrolling.
2615 (canonicalize_induction_variables, tree_unroll_loops_completely):
2618 2004-10-01 Paul Brook <paul@codesourcery.com>
2620 * config/arm/arm.c (thumb_compute_saved_rag_mask): Or with bitmask,
2621 not register number.
2622 (thumb_find_work_register): Search full register range.
2624 2004-10-01 Andrew Pinski <pinskia@physics.uc.edu>
2627 * tree-cfg.c (group_case_labels): Get the label and not
2628 the case expr for the default case.
2629 When the label we looking at is the default, decrement the
2632 2004-10-01 Jan Hubicka <jh@suse.cz>
2634 * c-decl.c (c_expand_body): Update call tree_rest_of_compilation.
2635 * cgraphunit.c (cgraph_build_static_cdtor): Likewise.
2636 * toplev.h (tree_rest_of_compilation): Update prototype.
2637 * tree-optimize.c (tree_rest_of_compilation): Kill nested_p argument.
2639 2004-10-01 Kazu Hirata <kazu@cs.umass.edu>
2641 * tree-cfg.c (cleanup_tree_cfg): Pull a call to
2642 cleanup_control_flow() out of the while loop.
2644 2004-10-01 Paolo Bonzini <bonzini@gnu.org>
2646 * tree-vectorizer.c (vectorizable_operation): Fail unless
2647 the mode for the vector type is indeed a vector mode.
2649 2004-10-01 Zdenek Dvorak <dvorakz@suse.cz>
2651 * tree-chrec.c (chrec_fold_plus_poly_poly, chrec_fold_plus_1,
2652 chrec_fold_multiply): Use fold_convert or build_int_cst_type instead
2654 * tree-scalar-evolution.c (compute_overall_effect_of_inner_loop,
2655 add_to_evolution, set_nb_iterations_in_loop, follow_ssa_edge_in_rhs,
2656 follow_ssa_edge_in_rhs): Ditto.
2657 * tree-ssa-loop-ivopts.c (struct iv): Add base_object field.
2658 (dump_iv): Dump base_object.
2659 (dump_use, dump_cand): Use dump_iv.
2660 (determine_base_object): New function.
2661 (alloc_iv): Initialize base_object field.
2662 (record_use): Clear the ssa_name field of iv.
2663 (get_computation_cost_at): Do not use difference of addresses of
2664 two different objects.
2665 (may_eliminate_iv): Do not require the loop to have just single exit.
2666 * tree-ssa-loop-niter.c (zero_p): Do not check for overflows.
2667 (nonzero_p): New function.
2668 (inverse, number_of_iterations_cond, simplify_using_outer_evolutions,
2669 tree_simplify_using_condition, simplify_using_initial_conditions,
2670 loop_niter_by_eval, find_loop_niter_by_eval,
2671 estimate_numbers_of_iterations_loop, compare_trees,
2672 upper_bound_in_type, lower_bound_in_type,
2673 can_count_iv_in_wider_type_bound): Use buildN instead of build. Use
2674 fold_convert or build_int_cst_type instead of convert. Use (non)zero_p
2675 instead of integer_(non)zerop.
2677 2004-10-01 Jakub Jelinek <jakub@redhat.com>
2680 2004-09-29 Jakub Jelinek <jakub@redhat.com>
2682 * tree.h (enum tree_index): Add TI_VA_LIST_GPR_COUNTER_FIELD
2683 and TI_VA_LIST_FPR_COUNTER_FIELD.
2684 (va_list_gpr_counter_field, va_list_fpr_counter_field): Define.
2685 * tree-pass.h (pass_stdarg): Add.
2686 * tree-optimize.c (init_tree_optimization_passes): Add pass_stdarg.
2687 * tree-stdarg.c: New file.
2688 * Makefile.in (OBJS-common): Add tree-stdarg.o.
2689 (tree-stdarg.o): Add dependencies.
2690 * function.h (struct function): Add va_list_gpr_size and
2691 va_list_fpr_size fields.
2692 * function.c (allocate_struct_function): Initialize them.
2694 * config/i386/i386.c (ix86_build_builtin_va_list): Initialize
2695 va_list_{g,f}pr_counter_field.
2696 (ix86_setup_incoming_varargs): Don't do anything if reg_save
2697 area will not be used. Only save registers that tree-stdarg.c
2698 detected they need saving.
2699 (ix86_va_start): Don't set up fields that won't be used.
2701 * config/rs6000/rs6000.c (rs6000_build_builtin_va_list): Initialize
2702 va_list_{g,f}pr_counter_field.
2703 (setup_incoming_varargs): Don't do anything if reg_save
2704 area will not be used. Only save registers that tree-stdarg.c
2705 detected they need saving.
2706 (rs6000_va_start): Don't set up fields that won't be used.
2708 2004-09-30 Eric Christopher <echristo@redhat.com>
2710 * dwarf2.h (dwarf_calling_convention): Add enum for renesas
2712 * dwarf2out.c (add_calling_convention_attribute): New function.
2713 (gen_subroutine_type_die): Use.
2714 * target-def.h (TARGET_DWARF_CALLING_CONVENTION): New hook.
2715 * target.h (gcc_target): Add dwarf_calling_convention.
2716 * hooks.c (hook_int_tree_0): New function.
2717 * hooks.h: Prototype.
2718 * config/sh/sh.c: Include dwarf2.h.
2719 (sh_dwarf_calling_convention): New function.
2720 (TARGET_DWARF_CALLING_CONVENTION): Use.
2721 * doc/tm.texi (TARGET_DWARF_CALLING_CONVENTION): Document.
2723 2004-09-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2725 * builtins.c (expand_builtin_strstr, expand_builtin_strchr,
2726 expand_builtin_strrchr, expand_builtin_strpbrk,
2727 expand_builtin_strncat, expand_builtin_strspn,
2728 expand_builtin_strcspn, expand_builtin_fputs): Eliminate duplicate
2731 2004-09-30 Ulrich Weigand <uweigand@de.ibm.com>
2733 * config/s390/s390-protos.h (s390_expand_logical_operator): Add
2735 (s390_logical_operator_ok_p): Likewise.
2736 * config/s390/s390.c (s390_expand_logical_operator): New function.
2737 (s390_logical_operator_ok_p): Likewise.
2738 * config/s390/s390.md ("anddi3"): New expander.
2739 ("*anddi3"): Rename from old anddi3 pattern, add Q->Q alternative.
2740 ("*anddi3_ss", "*anddi3_ss_inv"): Remove.
2741 ("andsi3"): Use s390_expand_logical_operator.
2742 ("*andsi3_esa", "*andsi3_zarch"): Add Q->Q alternative.
2743 ("*andsi3_ss", "*andsi3_ss_inv"): Remove.
2744 ("andhi3"): New expander.
2745 ("*andhi3_zarch", "*andhi3_esa"): New patterns.
2746 ("andhi3", "*andhi3_ni", "*andhi3_ss", "*andhi3_ss_inv"): Remove.
2747 ("andqi3"): New expander.
2748 ("*andqi3_zarch", "*andqi3_esa"): New patterns.
2749 ("andqi3", "*andqi3_ni", "*andqi3_ss", "*andqi3_ss_inv"): Remove.
2750 ("iordi3"): New expander.
2751 ("*iordi3"): Rename from old iordi3 pattern, add Q->Q alternative.
2752 ("*iordi3_ss", "*iordi3_ss_inv"): Remove.
2753 ("iorsi3"): Use s390_expand_logical_operator.
2754 ("*iorsi3_esa", "*iorsi3_zarch"): Add Q->Q alternative.
2755 ("*iorsi3_ss", "*iorsi3_ss_inv"): Remove.
2756 ("iorhi3"): New expiorer.
2757 ("*iorhi3_zarch", "*iorhi3_esa"): New patterns.
2758 ("iorhi3", "*iorhi3_ni", "*iorhi3_ss", "*iorhi3_ss_inv"): Remove.
2759 ("iorqi3"): New expiorer.
2760 ("*iorqi3_zarch", "*iorqi3_esa"): New patterns.
2761 ("iorqi3", "*iorqi3_ni", "*iorqi3_ss", "*iorqi3_ss_inv"): Remove.
2762 ("xordi3"): New expander.
2763 ("*xordi3"): Rename from old xordi3 pattern, add Q->Q alternative.
2764 ("*xordi3_ss", "*xordi3_ss_inv"): Remove.
2765 ("xorsi3"): New expander.
2766 ("*xorsi3"): Rename from old xorsi3 pattern, add Q->Q alternative.
2767 ("*xorsi3_ss", "*xorsi3_ss_inv"): Remove.
2768 ("xorhi3"): New expander.
2769 ("*xorqi3"): Rename from old xorhi3 pattern, add Q->Q alternative.
2770 ("*xorhi3_ss", "*xorhi3_ss_inv"): Remove.
2771 ("xorqi3"): New expander.
2772 ("*xorqi3"): Rename from old xorqi3 pattern, add Q->Q alternative.
2773 ("*xorqi3_ss", "*xorqi3_ss_inv"): Remove.
2775 2004-09-30 Roger Sayle <roger@eyesopen.com>
2777 * combine.c (force_to_mode) <NE_EXPR>: Only convert the expression
2778 (AND (NE FOO 0) CONST) into (AND FOO CONST) if FOO has the same
2779 machine mode as the result.
2781 2004-09-30 Ben Elliston <bje@au.ibm.com>
2784 * lcm.c (optimize_mode_switching): Update to use EDGE_SUCC and
2785 FOR_EACH_EDGE macros.
2787 2004-09-30 Joseph S. Myers <jsm@polyomino.org.uk>
2789 * c-tree.h (readonly_error): Remove.
2790 * c-typeck (enum lvalue_use): New.
2791 (lvalue_or_else, readonly_error): Use it. All callers changed.
2792 (readonly_error): Make static.
2794 2004-09-30 Jan Hubicka <jh@suse.cz>
2797 * cfgrtl.c (try_redirect_by_replacing_jump,
2798 force_nonfallthru_and_redirect, commit_one_edge_insertion,
2799 cfg_layout_merge_blocks): Do not attach any line number information
2800 to newly inserted instructions.
2801 * emit-rtl.c (emit_insn*_before, emit_insn*_after): Rename to
2803 (emit_*insn_before, emit_insn*_after): New.
2804 (emit_*insn_before_setloc, emit_*insn_after_setloc): Do not overwrite
2806 * rtl.h (emit_*insn_before_noloc, emit_*insn_after_noloc): Declare.
2807 (emit_*insn_before_sameloc, emit_*insn_after_sameloc): Kill.
2809 2004-09-30 Ulrich Weigand <uweigand@de.ibm.com>
2811 * config/s390/s390-protos.h (s390_arg_frame_offset): Remove.
2812 (s390_return_address_offset): Remove.
2813 (s390_can_eliminate): Add prototype.
2814 (s390_initial_elimination_offset): Add prototype.
2815 * config/s390/s390.h (CAN_ELIMINATE): Call s390_can_eliminate.
2816 (INITIAL_ELIMINATION_OFFSET): Call s390_initial_elimination_offset.
2817 * config/s390/s390.c (s390_arg_frame_offset): Remove.
2818 (s390_return_address_offset): Remove.
2819 (s390_can_eliminate, s390_initial_elimination_offset): New functions.
2820 (struct machine_function): New member split_branches_pending_p.
2821 (s390_mainpool_start): Allow nonexistant pool insn for empty pool.
2822 (s390_mainpool_finish): Likewise. Clear base_reg if pool empty.
2823 (s390_optimize_prologue): Remove base_used argument. Call
2824 s390_update_frame_layout instead of s390_register_info. Handle
2825 prologue/epilogue insns that touch only RETURN_REGNUM.
2826 (s390_reorg): Remove base_used. Clear split_branches_pending_p.
2827 (s390_register_info): Remove base_used and return_addr_used
2828 arguments, compute special register usage inline. Return live
2829 register data to caller.
2830 (s390_frame_info): Remove arguments, do not call s390_register_info.
2831 (s390_init_frame_layout): New function.
2832 (s390_update_frame_layout): Likewise.
2833 (s390_emit_prologue): Call s390_update_frame_layout; some code
2834 move to there. Do not emit pool placeholder insn if unnecessary.
2836 2004-09-30 Ulrich Weigand <uweigand@de.ibm.com>
2838 * config/s390/s390.c (legitimate_reload_constant_p): Remove
2839 floating point constant workaround.
2840 (s390_secondary_input_reload_class): Handle PLUS reloads
2841 with too-large constant.
2842 (s390_expand_plus_operand): Likewise.
2843 * config/s390/s390.md ("movdi"): Do not call force_const_mem.
2844 ("movsi"): Likewise. Also, remove workaround for non-general
2846 ("movdf"): Do not call force_const_mem.
2847 ("movsf"): Likewise. Merge expander with *movsf insn.
2848 ("*movsf"): Remove, merge with movsf expander.
2850 2004-09-30 Paul Brook <paul@codesourcery.com>
2852 * config/arm/symbian.h (STARTFILE_SPEC): Remove crt*.o.
2853 (ENDFILE_SPEC): Define.
2854 * config/arm/t-symbian.h (EXTRA_MULTILIB_PARTS): Set.
2856 2004-09-30 Richard Henderson <rth@redhat.com>
2858 * config/alpha/qrnnd.asm: Mark for noexecstack.
2860 2004-09-30 Kazu Hirata <kazu@cs.umass.edu>
2862 * protoize.c, tree-cfg.c: Fix comment typos.
2864 2004-09-30 Joseph S. Myers <jsm@polyomino.org.uk>
2867 * c-typeck.c (lvalue_or_else): Pass msgid directly to error.
2869 2004-09-30 Diego Novillo <dnovillo@redhat.com>
2871 * tree-ssa-alias.c (collect_points_to_info_r): Move analysis of
2873 (add_pointed_to_expr): ... here.
2874 Call add_pointed_to_expr for variables with DECL_INITIAL set.
2875 * tree-dfa.c (add_referenced_var): Scan DECL_INITIAL of any
2876 pointer variable, if set.
2878 2004-09-30 Kazu Hirata <kazu@cs.umass.edu>
2880 * config/sh/sh.c: Follow spelling conventions.
2882 2004-09-29 Richard Henderson <rth@redhat.com>
2884 * unwind-dw2.c (_Unwind_GetGR): Honor DWARF_ZERO_REG.
2885 * doc/tm.texi (DWARF_ZERO_REG): New.
2887 * config/alpha/alpha.c (alpha_sa_mask, alpha_expand_prologue,
2888 alpha_expand_epilogue): Revert 2003-09-30 change to store zero.
2889 * config/alpha/alpha.h (DWARF_ZERO_REG): New.
2891 2004-09-29 Ulrich Weigand <uweigand@de.ibm.com>
2893 * builtins.c (expand_builtin_strlen): Do not call emit_move_insn
2894 with a PLUS as source operand.
2895 (expand_movstr): Likewise.
2896 (expand_builtin_stpcpy): Likewise.
2898 2004-09-29 Richard Henderson <rth@redhat.com>
2901 * tree-gimple.c (is_gimple_reg): Reject hard registers.
2902 (is_gimple_asm_val): New.
2903 * tree-gimple.h (is_gimple_asm_val): Declare.
2904 * gimplify.c (gimplify_asm_expr): Use it.
2905 * tree-pretty-print.c (print_declaration): Dump hard regs.
2906 * tree-outof-ssa.c (check_replaceable): Don't check for hard regs.
2907 * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Likewise.
2908 * tree-ssa-pre.c (is_undefined_value): Likewise.
2909 * tree-ssa-copy.c (may_propagate_copy): Likewise.
2910 (may_propagate_copy_into_asm): Protect DECL_HARD_REGISTER.
2911 * tree-ssa.c (warn_uninit): Likewise.
2912 * tree.h (DECL_HARD_REGISTER): Check for VAR_DECL.
2914 2004-09-29 Fariborz Jahanian <fjahanian@apple.com>
2916 * c-decl.c (merge_decls): Use comptype when comparing
2917 types to decide on DECL_SIZE save of olddecl.
2919 2004-09-29 Daniel Berlin <dberlin@dberlin.org>
2921 * tree.h (INDIRECT_REF_P): New macro.
2922 * alias.c (get_alias_set): Use it
2923 (nonoverlapping_memrefs_p): Ditto.
2924 * emit-rtl.c (mem_expr_equal_p): Ditto.
2925 (set_mem_attributes_minus_bitpos): Ditto.
2926 (is_gimple_addressable): Ditto.
2927 (get_base_address): Ditto.
2928 * tree-ssa-alias.c (find_ptr_derefernece): Ditto.
2929 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Ditto.
2930 * tree-ssa-dom.c (record_equivalences_from_stmt): Ditto.
2931 * tree-ssa-loop-im.c (is_call_clobbered_ref): Ditto.
2932 * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Ditto.
2933 (add_address_candidates): Ditto.
2934 (rewrite_address_base): Ditto.
2936 2004-09-30 Ben Elliston <bje@au.ibm.com>
2938 * tree-flow.h (struct bb_ann_d): Remove num_preds member.
2939 * tree-into-ssa.c (rewrite_into_ssa): Don't set it.
2940 (rewrite_ssa_into_ssa): Likewise.
2941 * tree-phinodes.c (create_phi_node): Access the number of
2942 predecessor edges using EDGE_COUNT() and not num_preds.
2944 2004-09-29 Joseph S. Myers <jsm@polyomino.org.uk>
2947 * c-decl.c (merge_decls): Merge TREE_DEPRECATED.
2949 2004-09-29 Eric Christopher <echristo@redhat.com>
2951 * fold-const.c (tree_swap_operands_p): Remove duplicated code.
2953 2004-09-29 Hans-Peter Nilsson <hp@axis.com>
2955 * config/cris/cris.md (moverside, movemside): With MEM, make sure
2956 the address is (plus reg mem).
2958 2004-09-29 David Edelsohn <edelsohn@gnu.org>
2960 * config/rs6000/linux64.h (PROCESSOR_DEFAULT): Define.
2962 2004-09-29 Nathan Sidwell <nathan@codesourcery.com>
2964 * tree.c (make_node_stat): Fix uninitialized warning. Replace
2965 cascaded if ... else if with a switch.
2967 2004-09-29 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
2969 * read-rtl.c (apply_macro_to_string): Replace index with strchr.
2971 2004-09-29 Jakub Jelinek <jakub@redhat.com>
2973 * tree.h (enum tree_index): Add TI_VA_LIST_GPR_COUNTER_FIELD
2974 and TI_VA_LIST_FPR_COUNTER_FIELD.
2975 (va_list_gpr_counter_field, va_list_fpr_counter_field): Define.
2976 * tree-pass.h (pass_stdarg): Add.
2977 * tree-optimize.c (init_tree_optimization_passes): Add pass_stdarg.
2978 * tree-stdarg.c: New file.
2979 * Makefile.in (OBJS-common): Add tree-stdarg.o.
2980 (tree-stdarg.o): Add dependencies.
2981 * function.h (struct function): Add va_list_gpr_size and
2982 va_list_fpr_size fields.
2983 * function.c (allocate_struct_function): Initialize them.
2985 * config/i386/i386.c (ix86_build_builtin_va_list): Initialize
2986 va_list_{g,f}pr_counter_field.
2987 (ix86_setup_incoming_varargs): Don't do anything if reg_save
2988 area will not be used. Only save registers that tree-stdarg.c
2989 detected they need saving.
2990 (ix86_va_start): Don't set up fields that won't be used.
2992 * config/rs6000/rs6000.c (rs6000_build_builtin_va_list): Initialize
2993 va_list_{g,f}pr_counter_field.
2994 (setup_incoming_varargs): Don't do anything if reg_save
2995 area will not be used. Only save registers that tree-stdarg.c
2996 detected they need saving.
2997 (rs6000_va_start): Don't set up fields that won't be used.
2999 2004-09-29 Jakub Jelinek <jakub@redhat.com>
3001 * builtins.def (BUILT_IN_FPUTC, BUILT_IN_FPUTC_UNLOCKED,
3002 BUILT_IN_FPUTS, BUILT_IN_FPUTS_UNLOCKED, BUILT_IN_FWRITE,
3003 BUILT_IN_FWRITE_UNLOCKED, BUILT_IN_PUTCHAR, BUILT_IN_PUTCHAR_UNLOCKED,
3004 BUILT_IN_PUTS, BUILT_IN_PUTS_UNLOCKED): Remove nothrow attribute.
3005 * builtin-attrs.def (ATTR_NONNULL_1, ATTR_NONNULL_2, ATTR_NONNULL_1_2,
3006 ATTR_NONNULL_1_4): New.
3008 2004-09-29 Jakub Jelinek <jakub@redhat.com>
3010 PR tree-optimization/17697
3011 * tree-ssa-ccp.c (execute_fold_all_builtins): Update eh and cleanup
3014 2004-09-28 Per Bothner <per@bothner.com>
3016 * profile.c (branch_prob): Pass correct value to output_location,
3017 even when USE_MAPPED_LOCATION. Fixes bug from 09-11.
3019 2004-09-28 Richard Henderson <rth@redhat.com>
3022 * tree-ssa-copy.c (may_propagate_copy_into_asm): New.
3023 * tree-flow.h (may_propagate_copy_into_asm): Declare.
3024 * tree-ssa-ccp.c (replace_uses_in): Use it.
3025 * tree-ssa-dom.c (cprop_operand): Likewise.
3027 2004-09-28 Jeff Law <law@redhat.com>
3029 * tree-ssa-threadupdate.c (create_block_for_threading): Request
3030 that no outgoing edges be left in the duplicate block. Do no
3031 update information on outgoing edges or PHI nodes in target
3033 (remove_ctrl_stmt_and_useless_edges): Renamed from
3034 remove_last_stmt_and_useless_edges. Handle case where the
3035 block is empty or has no control statements. Do not update edge
3037 (thread_block): Create a template block rather than copying the
3038 original block every time. Create outgoing edges from the
3039 duplicate blocks and update PHIs at the target of the outgoing
3040 edges here. Fix edge flags for the original block if necessary.
3041 * cfghooks (duplicate_block): No longer assert that the original
3042 block has incoming edges.
3044 2004-09-29 Hans-Peter Nilsson <hp@bitrange.com>
3046 * doc/extend.texi (Extended Asm): Add blurb about using Explicit
3047 Reg Vars to enforce register allocation with general constraints.
3048 (Explicit Reg Vars): Clarify relation to asm statements.
3049 (Local Reg Vars): Similar.
3051 2004-09-28 Ulrich Weigand <uweigand@de.ibm.com>
3053 * sched-rgn.c (haifa_edge, edge_table, NEXT_IN, NEXT_OUT, FROM_BLOCK,
3054 TO_BLOCK, nr_edges, in_edges, out_edges, IN_EDGES, OUT_EDGES,
3055 build_control_flow, new_edge): Remove.
3056 (schedule_insns): Remove edge_table/in_edges/out_edges cleanup.
3057 (bitlst, bitlst_table_last, bitlst_table): Remove.
3058 (bblst): Store basic_block pointer instead of block index.
3059 (bblst_table): Likewise.
3060 (edgelst): Store edge pointer instead of edge index.
3061 (edgelst_table, edgelst_last): New variables.
3062 (extract_bitlst): Rename to ...
3063 (extract_edgelst): ... this. Return edge pointers, not indices.
3064 (split_edges): Update call.
3065 (rgn_edges): Store edge pointers instead of indices.
3066 (edge_to_bit): Remove.
3067 (EDGE_TO_BIT): Store per-region edge index in edge->aux.
3068 (SET_EDGE_TO_BIT): New macro.
3069 (is_cfg_nonregular): Check for simple cases of unreachable blocks.
3070 (find_rgns): Remove edge_list parameter. Traverse standard CFG
3071 data structures instead of haifa_edge et al. Use edge pointers
3072 instead of edge indices everywhere.
3073 (compute_dom_prob_ps): Use standard CFG data structures. Account
3075 (compute_trg_info): Likewise.
3076 (propagate_deps): Likewise.
3077 (debug_candidate): Account for bblst data structure change.
3078 (check_live_1, update_live_1, is_pfree): Likewise.
3079 (IS_REACHABLE): Use standard CFG data structures.
3080 (init_ready_list): Update bblst_table/edgelst_table allocation.
3081 (schedule_region): Update alloc/cleanup code to data structure
3082 changes. Use edge->aux to store per-region edge index.
3083 (init_regions): No longer call build_control_flow. Do not
3084 create edge list any more.
3086 2004-09-28 Ulrich Weigand <uweigand@de.ibm.com>
3088 * cse.c (cse_insn): Avoid creating direct non-local jumps.
3089 * combine.c (can_combine_p): Likewise.
3090 * local-alloc. (update_equiv_regs): Likewise.
3092 2004-09-28 Richard Henderson <rth@redhat.com>
3095 * expr.c (expand_expr_addr_expr_1): Only assemble_external for decls.
3096 Don't check VOIDmode here. Force PLUS operands to common type.
3097 (expand_expr_addr_expr): Do VOIDmode check earlier. Force use of
3098 Pmode if given a non pointer type.
3100 2004-09-28 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3103 * optabs.c (expand_binop): Force constants to the correct mode.
3105 2004-09-28 Ulrich Weigand <uweigand@de.ibm.com>
3107 * config/s390/s390.c (s390_adjust_cost): Remove.
3108 (TARGET_SCHED_ADJUST_COST): Do not redefine.
3109 (s390_adjust_priority): Handle TYPE_STM like TYPE_STORE.
3110 * config/s390/s390.md ("main_pool"): Use "larl" type
3111 attribute if TARGET_CPU_ZARCH.
3113 2004-09-28 Jakub Jelinek <jakub@redhat.com>
3115 * config/ia64/ia64.c (ia64_expand_prologue): Declare ei
3118 2004-09-28 Diego Novillo <dnovillo@redhat.com>
3120 * tree-ssa-loop.c (pass_record_bounds): Do not assign a
3123 2004-09-28 Steven Bosscher <stevenb@suse.de>
3125 * common.opt (flag_gcse_sm): Disable by default.
3126 (flag_gcse_las): Likewise.
3127 (flag_web): Likewise. Create from this file.
3128 * flags.h: Remove flag_web declaration.
3129 * toplev.c (flag_web): Likewise.
3130 (process_options): Never set flag_web.
3132 2004-09-28 Steven Bosscher <stevenb@suse.de>
3134 * Makefile.in (tree-ssa-propagate.o): Depend on vec.h.
3135 * tree-ssa-propagate.c: Include vec.h.
3136 (interesting_ssa_edges, varying_ssa_edges): Make these VECs
3138 (cfg_blocks_add): Assert the block is not already in the worklist.
3139 Update uses of interesting_ssa_edges and varying_ssa_edges.
3140 (process_ssa_edge_worklist, ssa_prop_init, ssa_prop_fini,
3141 ssa_propagate): Likewise.
3143 2004-09-28 Joseph S. Myers <jsm@polyomino.org.uk>
3146 * c-decl.c (start_decl): Check for initializing incomplete array
3148 (build_compound_literal): Check for TYPE being error_mark_node.
3149 * c-parse.in (primary): Check for VLA compound literals.
3151 2004-09-28 Diego Novillo <dnovillo@redhat.com>
3153 * tree-ssa-live.c (calculate_live_on_entry): Fix warnings
3154 with --disable-checking.
3156 2004-09-28 Devang Patel <dpatel@apple.com>
3158 * tree-pretty-print.c (dump_generic_node): Print vector types.
3160 2004-09-28 Nick Clifton <nickc@redhat.com>
3162 * config/sh/sh.h (INIT_CUMULATIVE_ARGS): Replace with an
3163 invocation of the function sh_init_cumulative_args.
3164 (INIT_CUMULATIVE_LIBCALL_ARGS): Likewise.
3165 (INIT_CUMULATIVE_INCOMING_ARGS): Delete.
3166 * config/sh/sh-protos.h: Prototype sh_init_cumulative_args.
3167 * config/sh/sh.c (sh_init_cumulative_args): New function based
3168 on the contents of the old INIT_CUMULATIVE_ARGS macro but with a
3169 heuristic added to determine the setting of force_mem when a
3170 library function is being called.
3172 2004-09-28 Diego Novillo <dnovillo@redhat.com>
3174 * tree-ssa-loop-im.c (single_reachable_address) <PHI_NODE>:
3175 Skip constant arguments.
3177 2004-09-28 Diego Novillo <dnovillo@redhat.com>
3179 * tree-ssa-alias.c (create_name_tags): If PTR points to a
3180 volatile type, mark the tag volatile.
3181 (get_tmt_for): If TAG_TYPE is a volatile type, mark the tag
3184 2004-09-28 Andrew Pinski <pinskia@physics.uc.edu>
3186 * tree.def (vec_cond_expr): Fix. Change 'e'
3189 2004-09-28 Kazu Hirata <kazu@cs.umass.edu>
3191 * basic-block.h: Fix a comment typo.
3193 2004-09-28 Kazu Hirata <kazu@cs.umass.edu>
3195 * optabs.c, optabs.h: Fix comment typos.
3197 2004-09-28 Eric Botcazou <ebotcazou@act-europe.fr>
3199 * config/sparc/sparc.md (call_address_struct_value_sp32):
3200 Properly mask the immediate field of the 'unimp' instruction.
3201 (call_symbolic_struct_value_sp32): Likewise.
3203 2004-09-28 Ben Elliston <bje@au.ibm.com>
3204 Steven Bosscher <stevenb@suse.de>
3205 Andrew Pinski <pinskia@physics.uc.edu>
3207 Merge from edge-vector-branch:
3208 * basic-block.h: Include vec.h, errors.h. Instantiate a VEC(edge).
3209 (struct edge_def): Remove pred_next, succ_next members.
3210 (struct basic_block_def): Remove pred, succ members. Add preds
3211 and succs members of type VEC(edge).
3212 (FALLTHRU_EDGE): Redefine using EDGE_SUCC.
3213 (BRANCH_EDGE): Likewise.
3214 (EDGE_CRITICAL_P): Redefine using EDGE_COUNT.
3215 (EDGE_COUNT, EDGE_I, EDGE_PRED, EDGE_SUCC): New.
3216 (edge_iterator): New.
3217 (ei_start, ei_last, ei_end_p, ei_one_before_end_p): New.
3218 (ei_next, ei_prev, ei_edge, ei_safe_edge): Likewise.
3219 (FOR_EACH_EDGE): New.
3220 * bb-reorder.c (find_traces): Use FOR_EACH_EDGE and EDGE_* macros
3222 (rotate_loop): Likewise.
3223 (find_traces_1_route): Likewise.
3224 (bb_to_key): Likewise.
3225 (connect_traces): Likewise.
3226 (copy_bb_p): Likewise.
3227 (find_rarely_executed_basic_blocks_and_crossing_edges): Likewise.
3228 (add_labels_and_missing_jumps): Likewise.
3229 (fix_up_fall_thru_edges): Likewise.
3230 (find_jump_block): Likewise.
3231 (fix_crossing_conditional_branches): Likewise.
3232 (fix_crossing_unconditional_branches): Likewise.
3233 (add_reg_crossing_jump_notes): Likewise.
3234 * bt-load.c (augment_live_range): Likewise.
3235 * cfg.c (clear_edges): Likewise.
3236 (unchecked_make_edge): Likewise.
3237 (cached_make_edge): Likewise.
3238 (make_single_succ_edge): Likewise.
3239 (remove_edge): Likewise.
3240 (redirect_edge_succ_nodup): Likewise.
3241 (check_bb_profile): Likewise.
3242 (dump_flow_info): Likewise.
3243 (alloc_aux_for_edges): Likewise.
3244 (clear_aux_for_edges): Likewise.
3245 (dump_cfg_bb_info): Likewise.
3246 * cfganal.c (forwarder_block_p): Likewise.
3247 (can_fallthru): Likewise.
3248 (could_fall_through): Likewise.
3249 (mark_dfs_back_edges): Likewise.
3250 (set_edge_can_fallthru_flag): Likewise.
3251 (find_unreachable_blocks): Likewise.
3252 (create_edge_list): Likewise.
3253 (verify_edge_list): Likewise.
3254 (add_noreturn_fake_exit_edges): Likewise.
3255 (connect_infinite_loops_to_exit): Likewise.
3256 (flow_reverse_top_sort_order_compute): Likewise.
3257 (flow_depth_first_order_compute): Likewise.
3258 (flow_preorder_transversal_compute): Likewise.
3259 (flow_dfs_compute_reverse_execute): Likewise.
3260 (dfs_enumerate_from): Likewise.
3261 (compute_dominance_frontiers_1): Likewise.
3262 * cfgbuild.c (make_edges): Likewise.
3263 (compute_outgoing_frequencies): Likewise.
3264 (find_many_sub_basic_blocks): Likewise.
3265 (find_sub_basic_blocks): Likewise.
3266 * cfgcleanup.c (try_simplify_condjump): Likewise.
3267 (thread_jump): Likewise.
3268 (try_forward_edges): Likewise.
3269 (merge_blocks_move): Likewise.
3270 (outgoing_edges_match): Likewise.
3271 (try_crossjump_to_edge): Likewise.
3272 (try_crossjump_bb): Likewise.
3273 (try_optimize_cfg): Likewise.
3274 (merge_seq_blocks): Likewise.
3275 * cfgexpand.c (expand_gimple_tailcall): Likewise.
3276 (expand_gimple_basic_block): Likewise.
3277 (construct_init_block): Likewise.
3278 (construct_exit_block): Likewise.
3279 * cfghooks.c (verify_flow_info): Likewise.
3280 (dump_bb): Likewise.
3281 (delete_basic_block): Likewise.
3282 (split_edge): Likewise.
3283 (merge_blocks): Likewise.
3284 (make_forwarder_block): Likewise.
3285 (tidy_fallthru_edges): Likewise.
3286 (can_duplicate_block_p): Likewise.
3287 (duplicate_block): Likewise.
3288 * cfglayout.c (fixup_reorder_chain): Likewise.
3289 (fixup_fallthru_exit_predecessor): Likewise.
3290 (can_copy_bbs_p): Likewise.
3291 (copy_bbs): Likewise.
3292 * cfgloop.c (flow_loops_cfg_dump): Likewise.
3293 (flow_loop_entry_edges_find): Likewise.
3294 (flow_loop_exit_edges_find): Likewise.
3295 (flow_loop_nodes_find): Likewise.
3296 (mark_single_exit_loops): Likewise.
3297 (flow_loop_pre_header_scan): Likewise.
3298 (flow_loop_pre_header_find): Likewise.
3299 (update_latch_info): Likewise.
3300 (canonicalize_loop_headers): Likewise.
3301 (flow_loops_find): Likewise.
3302 (get_loop_body_in_bfs_order): Likewise.
3303 (get_loop_exit_edges): Likewise.
3304 (num_loop_branches): Likewise.
3305 (verify_loop_structure): Likewise.
3306 (loop_latch_edge): Likewise.
3307 (loop_preheader_edge): Likewise.
3308 * cfgloopanal.c (mark_irreducible_loops): Likewise.
3309 (expected_loop_iterations): Likewise.
3310 * cfgloopmanip.c (remove_bbs): Likewise.
3311 (fix_bb_placement): Likewise.
3312 (fix_irreducible_loops): Likewise.
3313 (remove_path): Likewise.
3314 (scale_bbs_frequencies): Likewise.
3315 (loopify): Likewise.
3317 (fix_loop_placement): Likewise.
3318 (loop_delete_branch_edge): Likewise.
3319 (duplicate_loop_to_header_edge): Likewise.
3320 (mfb_keep_just): Likewise.
3321 (create_preheader): Likewise.
3322 (force_single_succ_latches): Likewise.
3323 (loop_split_edge_with): Likewise.
3324 (create_loop_notes): Likewise.
3325 * cfgrtl.c (rtl_split_block): Likewise.
3326 (rtl_merge_blocks): Likewise.
3327 (rtl_can_merge_blocks): Likewise.
3328 (try_redirect_by_replacing_jump): Likewise.
3329 (force_nonfallthru_and_redirect): Likewise.
3330 (rtl_tidy_fallthru_edge): Likewise.
3331 (commit_one_edge_insertion): Likewise.
3332 (commit_edge_insertions): Likewise.
3333 (commit_edge_insertions_watch_calls): Likewise.
3334 (rtl_verify_flow_info_1): Likewise.
3335 (rtl_verify_flow_info): Likewise.
3336 (purge_dead_edges): Likewise.
3337 (cfg_layout_redirect_edge_and_branch): Likewise.
3338 (cfg_layout_can_merge_blocks_p): Likewise.
3339 (rtl_flow_call_edges_add): Likewise.
3340 * cse.c (cse_cc_succs): Likewise.
3341 * df.c (hybrid_search): Likewise.
3342 * dominance.c (calc_dfs_tree_nonrec): Likewise.
3343 (calc_dfs_tree): Likewise.
3344 (calc_idoms): Likewise.
3345 (recount_dominator): Likewise.
3346 * domwalk.c (walk_dominator_tree): Likewise.
3347 * except.c (emit_to_new_bb_before): Likewise.
3348 (connect_post_landing_pads): Likewise.
3349 (sjlj_emit_function_enter): Likewise.
3350 (sjlj_emit_function_exit): Likewise.
3351 (finish_eh_generation): Likewise.
3352 * final.c (compute_alignments): Likewise.
3353 * flow.c (calculate_global_regs_live): Likewise.
3354 (initialize_uninitialized_subregs): Likewise.
3355 (init_propagate_block_info): Likewise.
3356 * function.c (thread_prologue_and_epilogue_insns): Likewise.
3357 * gcse.c (find_implicit_sets): Likewise.
3358 (bypass_block): Likewise.
3359 (bypass_conditional_jumps): Likewise.
3360 (compute_pre_data): Likewise.
3361 (insert_insn_end_bb): Likewise.
3362 (insert_store): Likewise.
3363 (remove_reachable_equiv_notes): Likewise.
3364 * global.c (global_conflicts): Likewise.
3365 (calculate_reg_pav): Likewise.
3366 * graph.c (print_rtl_graph_with_bb): Likewise.
3367 * ifcvt.c (mark_loop_exit_edges): Likewise.
3368 (merge_if_block): Likewise.
3369 (find_if_header): Likewise.
3370 (block_jumps_and_fallthru_p): Likewise.
3371 (find_if_block): Likewise.
3372 (find_cond_trap): Likewise.
3373 (block_has_only_trap): Likewise.
3374 (find_if_case1): Likewise.
3375 (find_if_case_2): Likewise.
3376 * lambda-code.c (lambda_loopnest_to_gcc_loopnest): Likewise.
3377 (perfect_nestify): Likewise.
3378 * lcm.c (compute_antinout_edge): Likewise.
3379 (compute_laterin): Likewise.
3380 (compute_available): Likewise.
3381 (compute_nearerout): Likewise.
3382 * loop-doloop.c (doloop_modify): Likewise.
3383 * loop-init.c (loop_optimizer_init): Likewise.
3384 * loop-invariant.c (find_exits): Likewise.
3385 * loop-iv.c (simplify_using_initial_values): Likewise.
3386 (check_simple_exit): Likewise.
3387 (find_simple_exit): Likewise.
3388 * loop-unroll.c (peel_loop_completely): Likewise.
3389 (unroll_loop_constant_iterations): Likewise.
3390 (unroll_loop_runtime_iterations): Likewise.
3391 * loop-unswitch.c (may_unswitch_on): Likewise.
3392 (unswitch_loop): Likewise.
3393 * modulo-sched.c (generate_prolog_epilog): Likewise.
3394 (sms_schedule): Likewise.
3395 * postreload-gcse.c (eliminate_partially_redundant_load):
3397 * predict.c (can_predict_insn_p): Likewise.
3398 (set_even_probabilities): Likewise.
3399 (combine_predictions_for_bb): Likewise.
3400 (predict_loops): Likewise.
3401 (estimate_probability): Likewise.
3402 (tree_predict_by_opcode): Likewise.
3403 (tree_estimate_probability): Likewise.
3404 (last_basic_block_p): Likewise.
3405 (propagate_freq): Likewise.
3406 (estimate_loops_at_level): Likewise.
3407 (estimate_bb_frequencies): Likewise.
3408 * profile.c (instrument_edges): Likewise.
3409 (get_exec_counts): Likewise.
3410 (compute_branch_probabilities): Likewise.
3411 (branch_prob): Likewise.
3412 * ra-build.c (live_in): Likewise.
3413 * ra-rewrite.c (rewrite_program2): Likewise.
3414 * ra.c (reg_alloc): Likewise.
3415 * reg-stack.c (reg_to_stack): Likewise.
3416 (convert_regs_entry): Likewise.
3417 (compensate_edge): Likewise.
3418 (convert_regs_1): Likewise,
3419 (convert_regs_2): Likewise.
3420 (convert_regs): Likewise.
3421 * regrename.c (copyprop_hardreg_forward): Likewise.
3422 * reload1.c (fixup_abnormal_edges): Likewise.
3423 * sbitmap.c (sbitmap_intersection_of_succs): Likewise.
3424 (sbitmap_insersection_of_preds): Likewise.
3425 (sbitmap_union_of_succs): Likewise.
3426 (sbitmap_union_of_preds): Likewise.
3427 * sched-ebb.c (compute_jump_reg_dependencies): Likewise.
3428 (fix_basic_block_boundaries): Likewise.
3429 (sched_ebbs): Likewise.
3430 * sched-rgn.c (build_control_flow): Likewise.
3431 (find_rgns): Likewise.
3432 * tracer.c (find_best_successor): Likewise.
3433 (find_best_predecessor): Likewise.
3434 (tail_duplicate): Likewise.
3435 * tree-cfg.c (make_edges): Likewise.
3436 (make_ctrl_stmt_edges): Likewise.
3437 (make_goto_expr_edges): Likewise.
3438 (tree_can_merge_blocks_p): Likewise.
3439 (tree_merge_blocks): Likewise.
3440 (cfg_remove_useless_stmts_bb): Likewise.
3441 (remove_phi_nodes_and_edges_for_unreachable_block): Likewise.
3442 (tree_block_forwards_to): Likewise.
3443 (cleanup_control_expr_graph): Likewise.
3444 (find_taken_edge): Likewise.
3445 (dump_cfg_stats): Likewise.
3446 (tree_cfg2vcg): Likewise.
3447 (disband_implicit_edges): Likewise.
3448 (tree_find_edge_insert_loc): Likewise.
3449 (bsi_commit_edge_inserts): Likewise.
3450 (tree_split_edge): Likewise.
3451 (tree_verify_flow_info): Likewise.
3452 (tree_make_forwarder_block): Likewise.
3453 (tree_forwarder_block_p): Likewise.
3454 (thread_jumps): Likewise.
3455 (tree_try_redirect_by_replacing_jump): Likewise.
3456 (tree_split_block): Likewise.
3457 (add_phi_args_after_copy_bb): Likewise.
3458 (rewrite_to_new_ssa_names_bb): Likewise.
3459 (dump_function_to_file): Likewise.
3460 (print_pred_bbs): Likewise.
3461 (print_loop): Likewise.
3462 (tree_flow_call_edges_add): Likewise.
3463 (split_critical_edges): Likewise.
3464 (execute_warn_function_return): Likewise.
3465 (extract_true_false_edges_from_block): Likewise.
3466 * tree-if-conv.c (tree_if_conversion): Likewise.
3467 (if_convertable_bb_p): Likewise.
3468 (find_phi_replacement_condition): Likewise.
3469 (combine_blocks): Likewise.
3470 * tree-into-ssa.c (compute_global_livein): Likewise.
3471 (ssa_mark_phi_uses): Likewise.
3472 (ssa_rewrite_initialize_block): Likewise.
3473 (rewrite_add_phi_arguments): Likewise.
3474 (ssa_rewrite_phi_arguments): Likewise.
3475 (insert_phi_nodes_for): Likewise.
3476 (rewrite_into_ssa): Likewise.
3477 (rewrite_ssa_into_ssa): Likewise.
3478 * tree-mudflap.c (mf_build_check_statement_for): Likewise.
3479 * tree-outof-ssa.c (coalesce_abnormal_edges): Likewise.
3480 (rewrite_trees): Likewise.
3481 * tree-pretty-print.c (dump_bb_header): Likewise.
3482 (dump_implicit_edges): Likewise.
3483 * tree-sra.c (insert_edge_copies): Likewise.
3484 (find_obviously_necessary_stmts): Likewise.
3485 (remove_data_stmt): Likewise.
3486 * tree-ssa-dom.c (thread_across_edge): Likewise.
3487 (dom_opt_finalize_block): Likewise.
3488 (single_incoming_edge_ignoring_loop_edges): Likewise.
3489 (record_equivalences_from_incoming_edges): Likewise.
3490 (cprop_into_successor_phis): Likewise.
3491 * tree-ssa-live.c (live_worklist): Likewise.
3492 (calculate_live_on_entry): Likewise.
3493 (calculate_live_on_exit): Likewise.
3494 * tree-ssa-loop-ch.c (should_duplicate_loop_header_p): Likewise.
3495 (copy_loop_headers): Likewise.
3496 * tree-ssa-loop-im.c (loop_commit_inserts): Likewise.
3497 (fill_always_executed_in): Likewise.
3498 * tree-ssa-loop-ivcanon.c (create_canonical_iv): Likewise.
3499 * tree-ssa-loop-ivopts.c (find_interesting_uses): Likewise.
3500 (compute_phi_arg_on_exit): Likewise.
3501 * tree-ssa-loop-manip.c (add_exit_phis_edge): Likewise.
3502 (get_loops_exit): Likewise.
3503 (split_loop_exit_edge): Likewise.
3504 (ip_normal_pos): Likewise.
3505 * tree-ssa-loop-niter.c (simplify_using_initial_conditions):
3507 * tree-ssa-phiopt.c (candidate_bb_for_phi_optimization): Likewise.
3508 (replace_phi_with_stmt): Likewise.
3509 (value_replacement): Likewise.
3510 * tree-ssa-pre.c (compute_antic_aux): Likewise.
3511 (insert_aux): Likewise.
3512 (init_pre): Likewise.
3513 * tree-ssa-propagate.c (simulate_stmt): Likewise.
3514 (simulate_block): Likewise.
3515 (ssa_prop_init): Likewise.
3516 * tree-ssa-threadupdate.c (thread_block): Likewise.
3517 (create_block_for_threading): Likewise.
3518 (remove_last_stmt_and_useless_edges): Likewise.
3519 * tree-ssa.c (verify_phi_args): Likewise.
3520 (verify_ssa): Likewise.
3521 * tree_tailcall.c (independent_of_stmt_p): Likewise.
3522 (find_tail_calls): Likewise.
3523 (eliminate_tail_call): Likewise.
3524 (tree_optimize_tail_calls_1): Likewise.
3525 * tree-vectorizer.c (vect_transform_loop): Likewise.
3526 * var-tracking.c (prologue_stack_adjust): Likewise.
3527 (vt_stack_adjustments): Likewise.
3528 (vt_find_locations): Likewise.
3529 * config/frv/frv.c (frv_ifcvt_modify_tests): Likewise.
3530 * config/i386/i386.c (ix86_pad_returns): Likewise.
3531 * config/ia64/ia64.c (ia64_expand_prologue): Likewise.
3532 * config/rs6000/rs6000.c (rs6000_emit_prologue): Likewise.
3534 2004-09-28 Eric Botcazou <ebotcazou@libertysurf.fr>
3537 * config/sparc/sparc.c (struct machine_function): New field
3538 'leaf_function_p' and 'prologue_data_valid_p'.
3539 (sparc_leaf_function_p, sparc_prologue_data_valid_p): New macro
3540 to conveniently access the above fields.
3541 (TARGET_LATE_RTL_PROLOGUE_EPILOGUE): Delete.
3542 (eligible_for_return_delay): Use 'sparc_leaf_function_p' instead
3543 of the generic flavor 'current_function_uses_only_leaf_regs'.
3544 (eligible_for_sibcall_delay): Likewise.
3545 (sparc_expand_prologue): Compute 'sparc_leaf_function_p' and set
3546 'sparc_prologue_data_valid_p'. Use 'sparc_leaf_function_p'.
3547 (sparc_asm_function_prologue): Add sanity check for the assumption
3548 made in 'sparc_expand_prologue'. Use 'sparc_leaf_function_p'.
3549 (sparc_can_use_return_insn_p): New function.
3550 (sparc_expand_epilogue): Use 'sparc_leaf_function_p'.
3551 (output_restore): Likewise.
3552 (output_sibcall): Likewise.
3553 (sparc_output_mi_thunk): Likewise.
3554 * config/sparc/sparc-protos.h (sparc_can_use_return_insn_p): Declare.
3555 * config/sparc/sparc.md (return): New expander.
3557 * config/sparc/sparc.h (INITIAL_ELIMINATION_OFFSET): Minor tweak.
3559 2004-09-27 Mark Mitchell <mark@codesourcery.com>
3562 * stor-layout.c (layout_decl): Use fold_convert, not convert.
3563 (bit_from_pos): Likewise.
3564 (byte_from_pos): Likewise.
3565 (pos_from_bit): Likewise.
3566 (normalize_offset): Likewise.
3567 (place_field): Likewise.
3568 (finalize_type_size): Likewise.
3569 (layout_type): Likewise.
3570 * tree.c (build_index_type): Likewise.
3572 2004-09-27 Devang Patel <dpatel@apple.com>
3574 * expr.c (expand_expr_real_1): Handle VEC_COND_EXPR.
3575 * genopinit.c (optabs): New entry for vcond_gen_code and
3577 * optabs.c (vcond_gen_code, vcondu_gen_code): New optabs.
3578 (get_rtx_code): New function.
3579 (vector_compare_rtx): New function.
3580 (init_optabs): Initialize vcond_gen_code and vcondu_gen_code.
3581 (expand_vec_cond_expr_p): New function.
3582 (expand_vec_cond_expr): New function.
3583 (get_vcond_icode): New function.
3584 * optabs.h (expand_vec_cond_expr, expand_vec_cond_expr_p): New externs.
3585 (vcond_gen_code, vcondu_gen_code): Same.
3587 2004-09-27 Kelley Cook <kcook@gcc.gnu.org>
3589 * Makefile.in (STAGESTUFF): Split into ...
3590 (STAGECOPYSTUFF, STAGEMOVESTUFF): ... these.
3591 (mostlyclean): Update.
3592 (stage1-start, stage2-start, stage3-start, stage4-start,
3593 stageprofile-start, stagefeedback-start): Copy the STAGECOPYSTUFF.
3594 Move the STAGEMOVESTUFF.
3596 2004-09-27 Eric Botcazou <ebotcazou@libertysurf.fr>
3598 * system.h (getpagesize): Return 'int' instead of 'long'.
3600 2004-09-27 Michael Matz <matz@suse.de>
3604 * bitmap.h (bmp_iter_single_init, bmp_iter_and_not_init,
3605 bmp_iter_and_init): Shift by bit_in_word.
3607 2004-09-27 Kelley Cook <kcook@gcc.gnu.org>
3609 * aclocal.m4: Quote m4_includes. Include ../config/gcc-lib-path.m4.
3610 * configure.ac: Don't sinclude it here.
3611 * configure: Regenerate.
3613 2004-09-27 Dorit Naishlos <dorit@il.ibm.com>
3615 * config/rs6000/rs6000.c (rs6000_legitimate_address, print_operand):
3618 2004-09-27 Joseph S. Myers <jsm@polyomino.org.uk>
3621 * c-typeck.c (build_component_ref): Name type involved in
3622 diagnostic for structure or union without a member of the given
3625 2004-09-27 DJ Delorie <dj@redhat.com>
3627 * config/stormy16/stormy16.c (xstormy16_asm_output_aligned_common):
3628 .comm alignment is bytes, not bits.
3630 2004-09-27 Devang Patel <dpatel@apple.com>
3632 * tree-pretty-print.c (dump_generic_node): Print VEC_COND_EXPR.
3633 (print_call_name): Do not print VEC_COND_EXPR.
3635 2004-09-27 Devang Patel <dpatel@apple.com>
3637 * tree-pretty-print.c (dump_generic_node): Print VEC_COND_EXPR.
3639 2004-09-27 Jan Hubicka <jh@suse.cz>
3641 * i386.c (athlon_cost, k8_cost): Set BRANCH_COST to 5.
3643 2004-09-27 Kazu Hirata <kazu@cs.umass.edu>
3645 * bitmap.h: Fix a comment typo.
3647 2004-09-27 Aaron W. LaFramboise <aaronraolete36@aaronwl.com>
3649 * libgcc2.c (getpagesize): Change type of return value to int.
3651 2004-09-26 Matt Austern <austern@apple.com>
3653 * ggc-page.c (GGC_QUIRE_SIZE): Bump up from 16 to 256 if we're
3656 2004-09-26 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3658 * bitmap.h (EXECUTE_IF_SET_IN_BITMAP, EXECUTE_IF_AND_COMPL_IN_BITMAP,
3659 EXECUTE_IF_AND_IN_BITMAP): Changed to iterator style.
3660 (bitmap_iterator): New type.
3661 (bmp_iter_common_next_1, bmp_iter_single_next_1, bmp_iter_single_init,
3662 bmp_iter_end_p, bmp_iter_single_next, bmp_iter_and_not_next_1,
3663 bmp_iter_and_not_init, bmp_iter_and_not_next, bmp_iter_and_next_1,
3664 bmp_iter_and_init, bmp_iter_and_next): New functions.
3665 * basic-block.h (EXECUTE_IF_SET_IN_REG_SET,
3666 EXECUTE_IF_AND_COMPL_IN_REG_SET, EXECUTE_IF_AND_IN_REG_SET): Changed to
3667 use iterator-style EXECUTE_IF_IN_BITMAP macros.
3668 * bitmap.c (bitmap_print): Ditto.
3669 * bt-load.c (clear_btr_from_live_range, add_btr_to_live_range,
3670 btr_def_live_range): Ditto.
3671 * cfganal.c (compute_dominance_frontiers_1) Ditto.
3672 * cgraphunit.c (convert_UIDs_in_bitmap, cgraph_characterize_statics):
3674 * ddg.c (build_inter_loop_deps): Ditto.
3675 * df.c (FOR_EACH_BB_IN_BITMAP, df_bb_reg_info_compute, df_refs_update):
3677 * except.c (remove_eh_handler): Ditto.
3678 * flow.c (reg_set_to_hard_reg_set): Ditto.
3679 * gcse.c (clear_modify_mem_tables): Ditto.
3680 * global.c (build_insn_chain): Ditto.
3681 * ifcvt.c (dead_or_predicable): Ditto.
3682 * loop-invariant.c (get_inv_cost, set_move_mark, move_invariant_reg):
3684 * ra-build.c (livethrough_conflicts_bb, conflicts_between_webs): Ditto.
3685 * ra-rewrite.c (reloads_to_loads, rewrite_program2,
3686 detect_web_parts_to_rebuild, delete_useless_defs, actual_spill): Ditto.
3687 * tree-cfg.c (allocate_ssa_names, tree_duplicate_sese_region,
3688 tree_purge_all_dead_eh_edges): Ditto.
3689 * tree-into-ssa.c (compute_global_livein, insert_phi_nodes,
3690 insert_phi_nodes_for, debug_def_blocks_r, invalidate_name_tags,
3691 rewrite_ssa_into_ssa): Ditto.
3692 * tree-outof-ssa.c (find_replaceable_exprs): Ditto.
3693 * tree-sra.c (scan_function, decide_instantiations, scalarize_parms):
3695 * tree-ssa-alias.c (init_alias_info, compute_points_to_and_addr_escape,
3696 compute_flow_sensitive_aliasing, maybe_create_global_var,
3697 dump_points_to_info_for): Ditto.
3698 * tree-ssa-dce.c (EXECUTE_IF_CONTROL_DEPENDENT): Ditto.
3699 * tree-ssa-dse.c (dse_finalize_block): Ditto.
3700 * tree-ssa-live.c (live_worklist, calculate_live_on_entry,
3701 calculate_live_on_exit, build_tree_conflict_graph, dump_live_info):
3703 * tree-ssa-loop-ivopts.c (find_induction_variables,
3704 find_interesting_uses, add_old_ivs_candidates, alloc_use_cost_map,
3705 determine_use_iv_costs, determine_set_costs, find_best_candidate,
3706 set_cost_up_to, create_new_ivs, remove_unused_ivs, free_loop_data):
3708 * tree-ssa-loop-manip.c (add_exit_phis_var, add_exit_phis): Ditto.
3709 * tree-ssa-operands.c (get_asm_expr_operands, add_call_clobber_ops,
3710 add_call_read_ops): Ditto.
3711 * tree-ssa-pre.c (bitmap_print_value_set, insert_aux): Ditto.
3713 2004-09-26 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3715 * pa.c (print_operand): Use non-trapping completers for UNLE, UNLT,
3716 UNGE, UNGT, UNEQ, UNORDERED and ORDERED comparisons.
3718 2004-09-26 Ulrich Weigand <uweigand@de.ibm.com>
3720 * builtins.c (expand_builtin_memcmp): Adjust MEM_SIZE to
3721 reflect size of memory regions being compared.
3723 2004-09-26 Ulrich Weigand <uweigand@de.ibm.com>
3725 * builtins.c (get_memory_rtx): Set mem attributes for non-ADDR_EXPR
3726 expressions. Always clear MEM_SIZE and alias set.
3728 2004-09-26 Roger Sayle <roger@eyesopen.com>
3729 Giovanni Bajo <giovannibajo@gcc.gnu.org>
3732 * stor-layout.c (compute_record_mode): For records with a single
3733 field, only use the field's mode if its size matches what we'd
3734 have choosen for the record ourselves. This forces the use of
3735 BLKmode for packed records that don't completely fill a mode.
3737 2004-09-26 Roger Sayle <roger@eyesopen.com>
3740 * combine.c (force_to_mode): Remove dubious early return test that
3741 inhibits further optimization.
3743 2004-09-26 Kazu Hirata <kazu@cs.umass.edu>
3745 * profile.c: Fix a comment typo.
3747 2004-09-26 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3750 * tree-ssa-loop-im.c (for_each_index): Call callback for component_refs
3751 with varying offset.
3752 * tree-ssa-loop-ivopts.c (abnormal_ssa_name_p): New function.
3753 (idx_contains_abnormal_ssa_name_p): Scan step and lower bound for
3755 (expr_invariant_in_loop_p): New function.
3756 (idx_find_step): Handle step and lower bound for ARRAY_REFs. Handle
3757 component_ref_field_offset for COMPONENT_REFs. Do not allow
3758 ALIGN_INDIRECT_REFs and MISALIGNED_INDIRECT_REFs.
3759 (add_address_candidates): Do not handle ALIGN_INDIRECT_REFs and
3760 MISALIGNED_INDIRECT_REFs.
3761 (idx_remove_ssa_names): Handle step and lower bound for ARRAY_REFs.
3762 (rewrite_address_base): Do not handle ALIGN_INDIRECT_REFs and
3763 MISALIGNED_INDIRECT_REFs.
3765 2004-09-26 Joseph S. Myers <jsm@polyomino.org.uk>
3768 * gcc.c (cpp_options, cc1_options): Preserve relative order of
3769 -std and -ansi options.
3771 2004-09-26 Jan Hubicka <jh@suse.cz>
3773 * dwarf2out.c (dwarf2out_finish): Set parent to comp_unit_die
3774 for nested functions whose proper parent has not been output.
3776 * profile.c (compute_branch_probabilities): Use REG_BR_PROB notes
3777 when re-constructing profile previously invalidated by loop.
3779 2004-09-25 Dale Johannesen <dalej@apple.com>
3781 * tree-gimple.c: Move GIMPLE definition...
3782 * doc/tree-ssa.texi: here.
3784 2004-09-25 Kazu Hirata <kazu@cs.umass.edu>
3786 * tree-vectorizer.c: Fix a comment typo.
3788 2004-09-25 Kazu Hirata <kazu@cs.umass.edu>
3790 * c-typeck.c, defaults.h, dwarf.h, dwarf2out.c, fold-const.c,
3791 gthr-dce.h, gthr-posix.h, gthr-solaris.h, gthr-win32.h,
3792 lambda-code.c, lambda-mat.c, libgcc2.c, stmt.c,
3793 tree-ssa-pre.c, tree-vn.c, tree.h: Fix comment formatting.
3795 2004-09-25 Kazu Hirata <kazu@cs.umass.edu>
3797 * tree-ssa-loop-unswitch.c: Fix a comment typo.
3799 2004-09-25 Kazu Hirata <kazu@cs.umass.edu>
3801 * doc/passes.texi: Fix a typo.
3803 2004-09-25 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3805 * tree-optimize.c (init_tree_optimization_passes): Add
3807 * tree-pass.h (pass_record_bounds): Declare.
3808 * tree-ssa-loop.c (tree_ssa_loop_bounds, pass_record_bounds):
3811 2004-09-25 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3813 PR tree-optimization/17474
3814 * tree-ssa-ccp.c (maybe_fold_offset_to_component_ref): Determine
3815 offset of the field correctly when DECL_FIELD_BIT_OFFSET != 0.
3817 2004-09-25 Jan Hubicka <jh@suse.cz>
3819 * predict.c (counts_to_freqs): Make global.
3820 * predict.h (counts_to_freqa): Declare.
3821 * profile.c (compute_branch_probabilities): Compute frequencies
3822 * tree-profile.c (do_tree_profiling): Refine conditional on when
3823 tree profiling pass is needed.
3825 * passes.c (rest_of_handle_cfg): Disable const/pure function
3826 detection when doing tree based profiling.
3828 * tree-inline.c (expand_call_inline): Fix incorrectly reversed
3831 2004-09-25 Richard Sandiford <rsandifo@redhat.com>
3833 * config/mips/mips.h (struct mips_args): Clarify comments.
3834 * config/mips/mips.c (struct mips_arg_info): Likewise.
3835 (mips_arg_info): Don't allow fpr_p to affect the register or
3836 stack alignment. Remove o64 silliness.
3837 (function_arg): Deal with the o32 float,float case specially.
3839 2004-09-25 Richard Sandiford <rsandifo@redhat.com>
3841 * config/mips/mips.md (loadx, storex): Define for V2SF.
3843 2004-09-25 Ulrich Weigand <uweigand@de.ibm.com>
3845 * config/s390/s390-protos.h (s390_back_chain_rtx): Add prototype.
3846 * config/s390/s390.c (s390_back_chain_rtx): New function.
3847 * config/s390/s390.md ("allocate_stack"): Use s390_back_chain_rtx.
3848 Call anti_adjust_stack.
3849 ("restore_stack_block"): Use s390_back_chain_rtx. Enable pattern
3850 only if compiling with back chain.
3851 ("save_stack_nonlocal", "restore_stack_nonlocal"): Save/restore
3852 back chain only if back chain enabled. Use s390_back_chain_rtx.
3854 2004-09-25 Joseph S. Myers <jsm@polyomino.org.uk>
3856 * doc/trouble.texi: Remove obsolete information. Update
3857 information on how to regenerate fixincluded headers.
3859 2004-09-25 Joseph S. Myers <jsm@polyomino.org.uk>
3862 * doc/invoke.texi: Document that
3863 -Wno-error-implicit-function-declaration is not accepted.
3865 2004-09-24 Richard Henderson <rth@redhat.com>
3867 * config/alpha/alpha.h (UNITS_PER_SIMD_WORD): New.
3868 * config/alpha/alpha.c (alpha_vector_mode_supported_p): Don't depend
3870 (alpha_expand_mov): Allow unaligned vectors.
3871 (alpha_expand_unaligned_store): Use CONST0_RTX.
3872 (TARGET_VECTORIZE_MISALIGNED_MEM_OK): New.
3874 2004-09-24 Jeff Law <law@redhat.com>
3876 * tree-ssa-dom.c (dom_opt_finalize_block): Fix violation of strict
3878 (simplify_cond_and_lookup_avail_expr): Likewise.
3880 2004-09-24 Joseph S. Myers <jsm@polyomino.org.uk>
3883 * doc/extend.texi (Unnamed Fields): Remove "." from end of long
3884 title. Document interaction with -fms-extensions.
3885 * doc/invoke.texi (-fms-extensions): Refer to Unnamed Fields
3888 2004-09-24 Joseph S. Myers <jsm@polyomino.org.uk>
3891 * doc/extend.texi: Document interaction of attribute noreturn and
3894 2004-09-24 Richard Henderson <rth@redhat.com>
3897 * regclass.c (subregs_of_mode): Turn into an htab. Make static.
3898 (som_hash, som_eq): New.
3899 (init_subregs_of_mode, record_subregs_of_mode): New.
3900 (cannot_change_mode_set_regs): Rewrite for htab implementation.
3901 (invalid_mode_change_p): Likewise.
3902 * combine.c (gen_lowpart_for_combine): Use record_subregs_of_mode.
3903 * flow.c (mark_used_regs): Likewise.
3904 (life_analysis): Use init_subregs_of_mode.
3905 * regs.h (subregs_of_mode): Remove.
3906 * rtl.h (init_subregs_of_mode, record_subregs_of_mode): Declare.
3908 2004-09-24 Andrew Pinski <pinskia@physics.uc.edu>
3910 * tree-ssa-phiopt.c (conditional_replacement): Use the correct
3911 type with the copy of the conditional.
3913 2004-09-24 Andrew Pinski <pinskia@physics.uc.edu>
3916 * tree-ssa-copyrename.c (copy_rename_partition_coalesce):
3917 Prevent renaming if the aliasing sets of the type which the
3918 pointer points to are different.
3920 2004-09-24 Joseph S. Myers <jsm@polyomino.org.uk>
3923 * c-decl.c (diagnose_mismatched_decls): Check for duplicate
3924 declarations of enumerators.
3925 (start_struct): Check TYPE_SIZE rather than TYPE_FIELDS to check
3926 for redefinition. Check for nested redefinition.
3927 (finish_struct): Don't check for nested redefinition.
3928 (start_enum): Check for nested redefinition.
3930 2004-09-24 Devang Patel <dpatel@apple.com>
3932 * tree-if-conv.c (tree_if_convert_cond_expr0: Create temp. variable
3933 only when necesssary.
3934 (combine_blocks): Combine loop header and exit block.
3936 2004-09-24 Paolo Bonzini <bonzini@gnu.org>
3938 * hooks.c (hook_tree_tree_bool_null): New.
3939 * hooks.h (hook_tree_tree_bool_null): Declare it.
3940 * target-def.c (TARGET_FOLD_BUILTIN): Point to it.
3941 * targhooks.c (default_fold_builtin): Remove.
3942 * targhooks.h (default_fold_builtin): Remove.
3944 2004-09-24 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3946 PR rtl-optimization/17625
3947 * loop-doloop.c (doloop_modify): Unshare rtl before emitting it.
3949 2004-09-24 Andrew Pinski <pinskia@physics.uc.edu>
3952 * tree-ssa-forwprop.c (record_single_argument_cond_exprs):
3953 Reject if any of the operands occur in an abnormal PHI.
3955 2004-09-24 Andreas Schwab <schwab@suse.de>
3957 * tree-ssa-dom.c (record_range): Fix violation of strict aliasing
3960 2004-09-24 Eric Botcazou <ebotcazou@libertysurf.fr>
3962 * config.gcc (sparc64-*-solaris2*): Include sparc/sol2-gas.h
3963 if the GNU assembler is used.
3964 (sparc-*-solaris2*): Likewise.
3965 * dbxout.c (NO_DBX_BNSYM_ENSYM): Default to zero.
3966 (dbxout_function_end): Protect N_ENSYM with it.
3967 (dbxout_begin_prologue): Protect N_BNSYM with it.
3968 * doc/tm.texi (NO_DBX_BNSYM_ENSYM): Document it.
3969 * config/sparc/sol2.h (NO_DBX_BNSYM_ENSYM): Define to 1.
3970 * config/sparc/sol2-gas.h: New file.
3972 2004-09-23 H.J. Lu <hongjiu.lu@intel.com>
3975 * Makefile.in (@set_gcc_lib_path@): Added.
3977 * configure.ac: Include ../config/gcc-lib-path.m4. Use
3978 TL_AC_GNU_MAKE_GCC_LIB_PATH.
3979 * configure: Regenerated.
3981 2004-09-24 Joseph S. Myers <jsm@polyomino.org.uk>
3984 * c-typeck.c (build_c_cast): Improve wording of
3985 -Wbad-function-cast diagnostic.
3987 2004-09-23 Hans-Peter Nilsson <hp@axis.com>
3990 * config/cris/cris.md (moverside, movemside): Rename variable
3991 "reg" to "otherop". To generate canonical RTX, check that otherop
3992 isn't constant instead of checking that operand 1 is a register.
3994 2004-09-23 Jakub Jelinek <jakub@redhat.com>
3996 * tree-ssa-propagate.c (set_rhs): Fail if EXPR is COMPOUND_EXPR.
3998 2004-09-23 Diego Novillo <dnovillo@redhat.com>
3999 Jakub Jelinek <jakub@redhat.com>
4001 * tree-flow.h (find_new_referenced_vars): Add prototype.
4002 * tree-sra.c (find_new_referenced_vars_1, find_new_referenced_vars):
4004 * tree-dfa.c (find_new_referenced_vars_1, find_new_referenced_vars):
4006 (mark_new_vars_to_rename): Walk through all operands.
4007 * tree-ssa-ccp.c (convert_to_gimple_builtin): New function.
4008 (execute_fold_all_builtins): Use it.
4009 (pass_fold_builtins): Add TODO_rename_vars to todo_flags_finish.
4011 2004-09-23 P.J. Darcy <darcypj@us.ibm.com>
4013 * gthr-tpf.h: New file.
4014 * config.gcc (s390x-ibm-tpf*): Add thread_file='tpf'.
4015 * gthr.h: Use gthr-tpf.h on TPF OS.
4017 2004-09-23 Jeff Law <law@redhat.com>
4019 * tree-ssa-ccp.c (get_default_value): Use SSA_NAME_VALUE rather
4020 than SSA_NAME_EQUIV and SET_SSA_NAME_EQUIV.
4021 (substitute_and_fold): Likewise.
4022 * tree-ssa-dom.c (tree_ssa_dominator_optimize): Remove everything
4023 except invariants from SSA_NAME_VALUE.
4024 (thread_across_edge): Use SSA_NAME_VALUE rather than SSA_NAME_EQUIV
4025 and SET_SSA_NAME_EQUIV.
4026 (restore_vars_to_original_value, record_const_or_copy): Likewise.
4027 (record_equivalences_from_phis, record_const_or_copy_1): Likewise.
4028 (record_equality, cprop_into_successor_phis): Likewise.
4029 (record_equivalences_from_stmt, cprop_operand): Likewise.
4030 (lookup_avail_expr): Likewise.
4031 * tree-ssa-pre.c (fini_pre): Remove everything except invariants
4032 from SSA_NAME_VALUE.
4033 * tree.h (SSA_NAME_EQUIV, SET_SSA_NAME_EQUIV): Kill.
4034 (struct tree_ssa_name): Kill EQUIV field. Remove GGC skip
4035 annotation from the VALUE_HANDLE field.
4037 2004-09-21 Fariborz Jahanian <fjahanian@apple.com>
4041 * tree.c (reconstruct_complex_type): Remove extra "this".
4042 * config/rs6000/rs6000.c (rs6000_handle_altivec_attribute):
4043 Add V4SFmode to case statement.
4045 2004-09-23 Joseph S. Myers <jsm@polyomino.org.uk>
4048 * doc/extend.texi, doc/invoke.texi: Document interaction of
4049 -fno-builtin with format checks. Note that built-in functions
4050 have effects beyond generating code that avoids calls to those
4053 2004-09-23 Frank Ch. Eigler <fche@redhat.com>
4055 PR tree-optimization/17533
4056 * dominance.c (verify_dominators): Tolerate even more incorrect
4057 dominance data during error message printing.
4058 * tree-mudflap.c (mf_build_check_statement_for): Build basic blocks
4059 and edges more correctly.
4061 2004-09-23 Dorit Naishlos <dorit@il.ibm.com>
4063 * tree.def (ALIGN_INDIRECT_REF, MISALIGNED_INDIRECT_REF):
4065 * tree.h (REF_ORIGINAL): Consider ALIGN_INDIRECT_REF and
4066 MISALIGNED_INDIRECT_REF.
4067 * alias.c (get_alias_set, nonoverlapping_memrefs_p): Likewise.