1 2003-06-27 Gunther Nikl <gni@gecko.de>
3 * unwind-c.c (PERSONALITY_FUNCTION): Delete duplicate define.
5 2003-06-27 Chris Demetriou <cgd@broadcom.com>
7 * config/mips/mips.c (mips_build_va_list): Make padding in
8 va_list structure explicit to avoid -Wpadded warnings.
10 2003-06-27 Ulrich Weigand <uweigand@de.ibm.com>
12 * config/s390/s390.h (SECONDARY_OUTPUT_RELOAD_CLASS): Define.
13 * config/s390/s390.c (s390_secondary_output_reload_class): New function.
14 * config/s390/s390-protos.h (s390_secondary_output_reload_class):
16 * config/s390/s390.md ("reload_outti", "reload_outdi",
17 "reload_outdf"): New expanders.
19 * config/s390/s390.md ("movti" + splitters): Handle non-offsettable
20 memory operands as source.
21 ("movdi" + splitters): Likewise.
22 ("movdf" + splitters): Likewise.
23 * config/s390/s390.c (s390_split_ok_p): New function.
24 * config/s390/s390-protos.h (s390_split_ok_p): Declare it.
26 2003-06-27 Kazu Hirata <kazu@cs.umass.edu>
28 * combine.c (force_to_mode): Replace the equality comparison
29 of INTVALs with a pointer equality comparison.
30 (simplify_comparison): Likewise.
32 2003-06-27 Kazu Hirata <kazu@cs.umass.edu>
34 * jump.c (rtx_renumbered_equal_p): Replace an expression that
35 is known to be 0 with 0.
37 2003-06-27 Kazu Hirata <kazu@cs.umass.edu>
39 * gcse.c (expr_equiv_p): Replace expressions that are known to
42 2003-06-27 Kazu Hirata <kazu@cs.umass.edu>
44 * cse.c (fold_rtx): Replace the equality comparison of INTVALs
45 with a pointer equality comparison.
47 2003-06-27 Kazu Hirata <kazu@cs.umass.edu>
49 * rtlanal.c (reg_mentioned_p): Return 0 earlier if REG and IN
50 are known to be not equivalent.
52 2003-06-27 Richard Henderson <rth@redhat.com>
54 * config/alpha/alpha.c (function_arg): Don't pass small aggregates
55 in floating point registers. Validate that we don't receive complex
56 values here. Use #elif.
57 (return_in_memory, function_value): New.
58 (alpha_va_arg): Handle complex values as two arguments.
59 * config/alpha/alpha.h (RETURN_IN_MEMORY): Use return_in_memory.
60 (FUNCTION_VALUE, LIBCALL_VALUE): Use function_value.
61 (SPLIT_COMPLEX_ARGS): New.
62 * config/alpha/alpha-protos.h: Update.
64 2003-06-27 Ulrich Weigand <uweigand@de.ibm.com>
66 * ggc-page.c (inverse_table): Change type of mult to size_t.
67 (compute_inverse): Compute inverse using size_t, not unsigned int.
68 Compute inverse also for sizes larger than half a machine page.
70 Fri Jun 27 18:36:12 CEST 2003 Jan Hubicka <jh@suse.cz>
72 * toplev.c (rest_of_decl_compilation): Only varpoolize argument
73 when called before cgraph_optimize.
75 2003-06-27 Zack Weinberg <zack@codesourcery.com>
77 * config/darwin.h, config/elfos.h, config/i960/i960-coff.h
78 * config/m68k/coff.h: ASM_FILE_START_FILE_DIRECTIVE should
79 be TARGET_ASM_FILE_START_FILE_DIRECTIVE.
81 Fri Jun 27 17:41:16 CEST 2003 Jan Hubicka <jh@suse.cz>
83 * cgraph.c (cgraph_node, cgraph_varpool_node): Avoid re-initializing
86 2003-06-27 Hans-Peter Nilsson <hp@axis.com>
88 * defaults.h (REGISTER_MOVE_COST): Define default here.
89 * regclass.c: Don't define default REGISTER_MOVE_COST here.
90 * reload.c, reload1.c: Ditto.
92 2003-06-27 Richard Earnshaw <rearnsha@arm.com>
94 * flags.h: Really install previous change.
96 2003-06-27 Nathan Sidwell <nathan@codesourcery.com>
98 * rtl.h (emit_note): Remove FILE parameter.
99 * emit-rtl.c (emit_line_note): Adjust emit_note call.
100 (emit_note): Remove FILE parameter. Adjust.
101 * builtins.c (expand_builtin_expect): Adjust emit_note call.
102 * c-semantics.c (genrtl_scope_stmt): Likewise.
103 (expand_stmt): Likewise.
104 * cfglayout.c (reemit_insn_block_notes): Likewise.
105 (duplicate_insn_chain): Likewise.
106 * except.c (expand_eh_region_start, expand_eh_region_end,
107 sjlj_emit_function_enter): Likewise.
108 * explow.c (probe_stack_range): Likewise.
109 * expr.c (emit_block_move_via_loop): Likewise.
110 * function.c (init_function_start, expand_function_start,
111 expand_function_end, thread_prologue_and_epilogue_insns): Likewise.
112 * integrate.c (expand_inline_function, copy_insn_list): Likewise.
113 * reg-stack.c (compensate_edge): Likewise.
114 * reload1.c (reload): Likewise.
115 * rtlanal.c (hoist_insn_to_edge): Likewise.
116 * stmt.c (expand_fixup, expand_start_loop, expand_start_null_loop,
117 expand_loop_continue_here, expand_end_loop, expand_continue_loop,
118 expand_exit_loop_top_cond, expand_value_return,
119 expand_start_bindings_and_block, expand_end_bindings,
120 expand_decl_cleanup, expand_start_case): Likewise.
121 * unroll.c (copy_loop_body
122 * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Likewise.
123 * config/ia64/ia64.c (ia64_output_mi_thunk): Likewise.
124 * config/rs6000/rs6000.c (rs6000_emit_eh_toc_restore,
125 rs6000_emit_allocate_stack, rs6000_output_function_prologue,
126 rs6000_output_function_epilogue, rs6000_output_mi_thunk): Likewise.
127 * config/sh/sh.c (sh_output_mi_thunk): Likewise.
128 * config/sparc/sparc.c (sparc_output_mi_thunk): Likewise.
130 2003-06-27 Nathan Sidwell <nathan@codesourcery.com>
132 * c-tree.h (grokfield): Remove unused filename and line parameters.
133 * c-decl.c (grokfield): Remove unused filename and line parameters.
134 * c-parse.in (component_decl): Adjust field grokking rules, adjust
136 (component_declarator): Likewise.
137 (component_notype_declarator): Likewise.
138 * objc/objc-act.c (build_module_descriptor): Adjust grokfield
140 (build_protocol_template, build_method_prototype_list_template,
141 build_method_prototype_template, build_category_template,
142 build_selector_template, build_class_template,
143 build_super_template, build_ivar_template,
144 build_ivar_list_template, build_method_list_template,
145 build_method_template, add_instance_variable): Likewise.
147 2003-06-27 Kazu Hirata <kazu@cs.umass.edu>
149 * stmt.c (do_jump_if_equal): Return 0 earlier if OP1 and
150 OP2 are known to be not equivalent.
152 2003-06-26 Devang Patel <dpatel@apple.com>
154 * final.c (debug_flush_symbol_queue): New function.
155 (debug_queue_symbol): New function.
156 (debug_free_queue): New function.
157 (debug_nesting): New variable.
158 (symbol_queue): New variable.
159 (symbol_queue_index): Same.
160 (symbol_queue_size): Same.
161 * debug.h (debug_flush_symbol_queue): New.
162 (debug_queue_symbol): New.
163 (debug_free_queue): New.
164 (debug_nesting): New.
165 (symbol_queue_index): New.
166 * dbxout.c (DBXOUT_DECR_NESTING): New macro.
167 (DBXOUT_DECR_NESTING_AND_RETURN): New macro.
168 (dbxout_init): Delay symbol output.
169 (dbxout_global_decl): Save, set and reset TREE_USED bit around
170 dbxout_symbol() call.
171 (dbxout_begin_function): Same.
172 (dbxout_finish): Free symbol queue.
173 (dbxout_type): Put appropriate symbols in queue.
174 (dbxout_symbol): Put info for symbol's type in queue.
175 Decrement/Increment nesting counts flush symbol queue appropriately.
176 (dbxout_parms): Increment dbxout nesting.
177 (dbxout_reg_parms): Same.
178 * flags.h (flag_debug_only_used_symbols): New.
179 * toplev.c (flag_debug_only_used_symbols): New variable.
180 (lang_independent_options): Add entries for new option
181 -feliminate-unused-debug-symbols.
182 * common.opt: Add entry for -feliminate-unused-debug-symbols.
183 * opts.c (common_handle_options): Same.
184 * config/rs6000/darwin.h (CC1_SPEC): Interpret -gused as
185 -feliminate-unused-debug-symbols.
186 * doc/invoke.texi (Debugging Options): Document
187 -feliminate-unused-debug-symbols.
189 2003-06-26 Roger Sayle <roger@eyesopen.com>
190 Jakub Jelinek <jakub@redhat.com>
192 * builtins.c (expand_builtin_sprintf): Use c_getstr and strlen to
193 obtain the format string instead of using TREE_STRING_POINTER and
194 TREE_STRING_LENGTH. Only optimize sprintf(dst,"%s",src) when the
195 return value is unused or the length of src is a known constant.
197 2003-06-26 Richard Henderson <rth@redhat.com>
199 * config/ia64/ia64.h (REGISTER_NAMES): R0 is really AP.
201 2003-06-26 Richard Henderson <rth@redhat.com>
203 * config/ia64/ia64.c (ia64_expand_call): Don't add ar.pfs for sibcalls.
204 (ia64_split_call): Only load descriptor for GP register inputs.
205 (ia64_expand_epilogue): Check current_frame_info.mask not
206 current_function_is_leaf to restore ar.pfs.
208 2003-06-26 Richard Henderson <rth@redhat.com>
210 * emit-rtl.c (try_split): Append to new CALL_INSN_FUNCTION_USAGE
211 instead of replacing it.
213 2003-06-26 Richard Henderson <rth@redhat.com>
215 * flow.c (propagate_one_insn): Kill function return value
216 registers across tail calls.
218 * flow.c (propagate_one_insn): Preserve live-at-end registers
221 2003-06-26 J"orn Rennecke <joern.rennecke@superh.com>
223 * reload.c (can_reload_into): New function.
224 (push_reload): Use it.
226 2003-06-26 Kazu Hirata <kazu@cs.umass.edu>
228 * config/h8300/h8300.c (compute_a_rotate_length): Fix the
229 references to the amount of a rotation.
231 2003-06-26 Nathanael Nerode <neroden@gcc.gnu.org>
233 * config/sh/coff.h: Don't include dbxcoff.h.
234 * config.gcc: List it here.
236 2003-06-26 Kazu Hirata <kazu@cs.umass.edu>
238 * postreload.c (reload_cse_simplify_set): Call cselib_lookup
239 earlier. Don't check if SRC is a constant.
241 2003-06-26 Kazu Hirata <kazu@cs.umass.edu>
243 * Makefile.in (OBJS): Add postreload.o.
244 Remove cselib.h from the dependency list for reload1.o.
245 Add a dependency list for postreload.o.
246 * reload.h: Change the comment for the prototype of
248 * reload1.c: Don't include cselib.h.
249 (reload_cse_regs): Move to postreload.c
250 (reload_cse_regs_1): Likewise.
251 (reload_cse_noop_set_p): Likewise.
252 (reload_cse_simplify_set): Likewise.
253 (reload_cse_simplify_operands): Likewise.
254 (RELOAD_COMBINE_MAX_USES): Likewise.
255 (reload_combine_ruid): Likewise.
256 (LABEL_LIVE): Likewise.
257 (reload_combine): Likewise.
258 (reload_combine_note_use): Likewise.
259 (reload_combine_note_store): Likewise.
260 (reg_set_luid): Likewise.
261 (reg_offset): Likewise.
262 (reg_base_reg): Likewise.
263 (reg_mode): Likewise.
264 (move2add_luid): Likewise.
265 (move2add_last_label_luid): Likewise.
266 (MODES_OK_FOR_MOVE2ADD): Likewise.
267 (reload_cse_move2add): Likewise.
268 (move2add_note_store): Likewise.
269 (reload_cse_simplify): Likewise.
272 2003-06-26 Kazu Hirata <kazu@cs.umass.edu>
274 * config/avr/avr.c (final_prescan_insn): Remove support for
276 * config/avr/avr.h (MASK_RTL_DUMP): Remove.
277 (TARGET_RTL_DUMP): Likewise.
278 (TARGET_SWITCHES): Remove -mrtl.
280 2003-06-26 Kazu Hirata <kazu@cs.umass.edu>
282 * config/h8300/h8300-protos.h: Change emit_a_rotate to
283 output_a_rotate. Add a prototype for compute_a_rotate_length.
284 * config/h8300/h8300.c (emit_a_rotate): Change to
286 (compute_a_rotate_length): New.
287 (h8300_adjust_insn_length): Remove.
288 * config/h8300/h8300.h (ADJUST_INSN_LENGTH): Remove.
289 * config/h8300/h8300.md (adjust_length): Remove.
290 (*rotlqi3_1): Use output_a_rotate and compute_a_rotate_length.
291 (*rotlhi3_1): Likewise.
292 (*rotlsi3_1): Likewise.
294 2003-06-26 Roger Sayle <roger@eyesopen.com>
295 Richard Henderson <rth@redhat.com>
297 * builtins.c (expand_builtin_mathfn): Always stabilize the argument
298 list against re-evaluation. If expand_unop fails, call expand_call
299 with the stabilized argument list rather than return NULL_RTX.
300 (expand_builtin_mathfn2): Likewise, always stabilize the argument
301 list, and call expand_call ourselves if expand_binop fails.
303 2003-06-26 Eric Botcazou <ebotcazou@libertysurf.fr>
305 PR optimization/11210
306 * fold-const (decode_field_reference): Strip only NOPs that
307 don't affect the sign.
309 2003-06-26 Dhananjay Deshpande <dhananjayd@kpitcummins.com>
311 * gcc/config/sh/sh.md (push_fpscr): Enable for TARGET_SH2E.
312 (pop_fpscr, fpu_switch): Likewise.
314 2003-06-26 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
318 * Makefile.in (value-prof.o): New.
319 (LIBGCOV): Add _gcov_merge_single and _gcov_merge_delta
320 (profile.o): Add value-prof.h and tree.h dependency.
321 * flags.h (flag_profile_values): Declare.
322 * gcov-io.h (GCOV_COUNTERS, GCOV_COUNTER_NAMES, GCOV_MERGE_FUNCTIONS):
324 (GCOV_COUNTER_V_INTERVAL, GCOV_COUNTER_V_POW2, GCOV_COUNTER_V_SINGLE,
325 GCOV_COUNTER_V_DELTA): New counter sections.
326 (__gcov_merge_single, __gcov_merge_delta): Declare.
327 * flow.c (mark_used_regs): Set subregs_of_mode only when the
328 structure is initialized.
329 * libgcov.c (__gcov_merge_single, __gcov_merge_delta): New functions.
330 * profile.c: Include value-prof.h and tree.h.
331 (gen_interval_profiler, gen_pow2_profiler, gen_one_value_profiler,
332 gen_const_delta_profiler, instrument_values): New static functions.
333 (get_exec_counts): Fix comment.
334 (branch_prob): Invoke instrument_values.
335 * toplev.c (flag_profile_values): New flag.
336 * doc/invoke.texi (-fprofile-values): Document.
338 2003-06-26 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
340 * Makefile.in (cfgrtl.o): Add expr.h dependency.
341 * cfgrtl.c: Include expr.h.
342 (mark_killed_regs, safe_insert_insn_on_edge): New
344 * config/i386/i386.h (AVOID_CCMODE_COPIES): Define.
345 * basic-block.h (safe_insert_insn_on_edge): Declare.
347 2003-06-26 Neil Booth <neil@daikokuya.co.uk>
349 * c-opts.c (missing_arg): Make non-static.
350 (c_common_handle_option): Don't check for missing arguments.
351 * opts.c (handle_option): Check for missing arguments.
353 2003-06-26 David Edelsohn <edelsohn@gnu.org>
355 * config/rs6000/power4.md (power4-veccomplex): Correct latency.
357 2003-06-25 Loren James Rittle <ljrittle@acm.org>
359 * configure.in (ld_vers): Portability [sed].
360 * configure: Regenerate with autoconf213.
362 2003-06-25 H.J. Lu <hongjiu.lu@intel.com>
364 * doc/extend.texi: Document new builtin functions for Intel
365 Prescott New Intrunctions.
367 * doc/invoke.texi: Document new command-line options, -mpni and
368 -mno-pni, for Intel Prescott New Intrunctions.
370 * config.gcc (extra_headers): Add pmmintrin.h for i[34567]86-*-*.
372 * config/i386/i386.c (override_options): Turn on MASK_SSE2
373 for -mpni. Turn on MASK_SSE for -msse2.
374 (bdesc_2arg): Add PNI builtins with 2 args.
375 (bdesc_1arg): Add PNI builtins with 1 arg.
376 (ix86_init_mmx_sse_builtins): Handle PNI builtins.
377 (ix86_expand_builtin): Likewise.
379 * config/i386/i386.h (MASK_3DNOW, MASK_3DNOW_A,
380 MASK_128BIT_LONG_DOUBLE, MASK_64BIT, MASK_MS_BITFIELD_LAYOUT,
381 MASK_TLS_DIRECT_SEG_REFS): Renumbered.
383 (TARGET_SWITCHES): Don't enable MASK_SSE for -msse2 here. Add
385 (TARGET_CPU_CPP_BUILTINS): Defined __PNI__ for PNI.
386 (ix86_builtins): Add PNI builtins.
387 (config/i386/i386.md): Add PNI patterns.
389 * config/i386/pmmintrin.h: New file.
391 2003-06-25 Kazu Hirata <kazu@cs.umass.edu>
393 * config/h8300/h8300.md (call): Fix the insn lengths.
394 (call_value): Likewise.
396 Thu Jun 26 00:13:35 CEST 2003 Jan Hubicka <jh@suse.cz>
398 * c-common.c (handle_used_attribute): Use mark_referenced.
399 * varasm.c (mark_referenced): Break out from ...
400 (assemble_name): ... here.
401 * tree.h (mark_referenced): Declare.
403 2003-06-25 Wolfgang Bangerth <bangerth@dealii.org>
405 * gccbug.in: Add PCH to list of categories.
407 2003-06-25 Martin Schaffner <schaffner@gmx.li>
409 * cppfiles.c: Clarify comments.
410 * cpphash.h: Likewise.
411 * cpplib.h: Likewise.
412 * cppmacro.c: Likewise.
413 * mkdeps.h: Likewise.
415 2003-06-25 Neil Booth <neil@daikokuya.co.uk>
417 * c-opts.c (complain_wrong_lang, write_langs): Remove.
418 (c_common_handle_option): Complaints about wrong language are
419 handled in opts.c now.
420 * opts.c (complain_wrong_lang, write_langs, handle_options): New.
421 (find_opt): Fix thinko.
422 (handle_option): Update prototype. Complain about switches for
423 a different front end.
424 * opts.h (lang_names, handle_options): New.
425 (handle_option): Remove.
426 * opts.sh: Write out language names array.
427 * toplev.c (parse_options_and_default_flags): Use handle_options.
429 2003-06-25 H.J. Lu <hongjiu.lu@intel.com>
431 * config/i386/i386.c (MASK_SSE1): Removed.
432 (MASK_SSE164): Removed.
433 (MASK_SSE264): Removed.
434 (bdesc_2arg): Replace MASK_SSE1 with MASK_SSE. Replace
435 MASK_SSE164 with MASK_SSE | MASK_64BIT. Replace MASK_SSE264
436 with MASK_SSE2 | MASK_64BIT.
437 (bdesc_1arg): Likewise.
438 (ix86_init_mmx_sse_builtins): Likewise.
440 * config/i386/i386.h (TARGET_SSE): Remove MASK_SSE2.
441 (TARGET_SWITCHES): Enable both MASK_SSE and MASK_SSE2 for
444 2003-06-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
446 * hwint.h (HOST_WIDE_INT_PRINT, HOST_WIDE_INT_PRINT_C): New macros.
447 (HOST_WIDE_INT_PRINT_DEC_SPACE,
448 HOST_WIDE_INT_PRINT_UNSIGNED_SPACE,
449 HOST_WIDEST_INT_PRINT_DEC_SPACE,
450 HOST_WIDEST_INT_PRINT_UNSIGNED_SPACE): Delete.
451 (HOST_WIDE_INT_PRINT_DEC, HOST_WIDE_INT_PRINT_DEC_C,
452 HOST_WIDE_INT_PRINT_UNSIGNED, HOST_WIDE_INT_PRINT_HEX): Define in
453 terms of HOST_WIDE_INT_PRINT and possibly HOST_WIDE_INT_PRINT_C.
455 * final.c (asm_fprintf): Use HOST_WIDE_INT_PRINT.
456 * ra-debug.c (dump_static_insn_cost): Likewise.
458 2003-06-26 Nick Clifton <nickc@redhat.com>
460 * config/arm/arm.h (BIGGEST_FIELD_ALIGNMENT): Define instead
461 of ADJUST_FIELD_ALIGN if IN_TARGET_LIBS.
462 Replace occurances of '???' with 'XXX' incase they are
463 mistaken for trigraphs.
464 (THUMB_PRINT_OPERAND_ADDRESS): abort if a compound address
465 does not have a register for the first operand.
467 2003-06-25 Dhananjay Deshpande <dhananjayd@kpitcummins.com>
469 * config/sh/sh.c (sh_register_move_cost):
470 Add case for moving between MAC_REGS.
472 2003-06-25 Zack Weinberg <zack@codesourcery.com>
475 * langhooks.h (struct lang_hooks): Add no_body_blocks bool.
476 * langhooks-def.h (LANG_HOOKS_NO_BODY_BLOCKS): New; default false.
477 * c-lang.c, objc/objc-lang.c: Override LANG_HOOKS_NO_BODY_BLOCKS
479 * stmt.c (is_body_block): If lang_hooks.no_body_blocks, always
482 2003-06-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
484 * Makefile.in (bt-load.o): Depend on $(TM_P_H).
485 * bt-load.c: Include "tm_p.h".
487 2003-06-25 Kazu Hirata <kazu@cs.umass.edu>
489 * config/h8300/h8300.c (compute_mov_length): Adjust for the
491 * config/h8300/h8300.md (*movsi_h8300): Optimize the load of
492 an SImode constant whose upper and lower are the same.
494 Wed Jun 25 11:31:59 CEST 2003 Jan Hubicka <jh@suse.cz>
496 * varasm.c (assemble_name): Mark needed variables even when
497 global info is ready.
499 2003-06-24 Jerry Quinn <jlquinn@optonline.net>
502 * gcc/doc/invoke.texi (Optimization Options): Remove -Os from
503 -freorder-functions description.
505 2003-06-25 Josef Zlomek <zlomekj@suse.cz>
507 * dwarf2out.c (gen_field_die): Return if type of decl is error mark.
509 2003-06-25 Neil Booth <neil@daikokuya.co.uk>
511 * opts.c (common_handle_option): Add missing break;s.
513 2003-06-24 Kazu Hirata <kazu@cs.umass.edu>
515 * config/h8300/h8300-protos.h: Add a prototype for
517 * config/h8300/h8300.c (compute_mov_length): New.
518 * config/h8300/h8300.md (*movqi_h8300): Use it.
519 (*movqi_h8300hs): Likewise.
520 (movstrictqi): Likewise.
521 (*movhi_h8300): Likewise.
522 (*movhi_h8300hs): Likewise.
523 (movstricthi): Likewise.
524 (*movsi_h8300): Likewise.
525 (*movsf_h8300): Likewise.
526 (*movsi_h8300hs): Likewise.
527 (*movsf_h8300hs): Likewise.
529 2003-06-24 Kazu Hirata <kazu@cs.umass.edu>
531 * jump.c (next_nondeleted_insn): Remove.
532 * rtl.h: Remove the prototype for next_nondeleted_insn.
534 2003-06-24 Roger Sayle <roger@eyesopen.com>
536 PR optimization/11311
537 * builtins.c (powi_cost): Fix typo. The number of multiplications
538 required is the number to reduce the argument, result, plus the
539 cost of calculating the residual, val [not n, the original value].
541 2003-06-24 Roger Sayle <roger@eyesopen.com>
543 * config/alpha/osf5.h (TARGET_C99_FUNCTIONS): Define.
545 2003-06-24 Richard Henderson <rth@redhat.com>
546 (blame to: Loren James Rittle <ljrittle@acm.org>)
548 * real.h (ieee_extended_intel_96_round_53_format): New.
549 * real.c (ieee_extended_intel_96_round_53_format): New.
550 * config/i386/freebsd.h (SUBTARGET_OVERRIDE_OPTIONS): Use it
551 for XFmode and TFmode.
553 2003-06-24 Kazu Hirata <kazu@cs.umass.edu>
555 * config/h8300/h8300.md (4 anonymous patterns): Give internal
557 (movsi_h8300): Change the name to *movsi_h8300.
558 (movsi_h8300hs): Change the name to *movsi_h8300hs.
559 (movsf_h8300): Change the name to *movsf_h8300.
560 (movsf_h8300hs): Change the name to *movsf_h8300hs.
562 2003-06-24 Jakub Jelinek <jakub@redhat.com>
564 * builtins.c (expand_builtin_strcpy): Don't evaluate side-effects in
567 2003-06-24 J"orn Rennecke <joern.rennecke@superh.com>
569 Back out these patches:
570 2003-06-02 J"orn Rennecke <joern.rennecke@superh.com>
571 * sh.h (OLD_ARG_MODE): New macro.
572 (FUNCTION_ARG_ADVANCE, FUNCTION_ARG_PASS_BY_REFERENCE): Use it.
573 (FUNCTION_ARG_1): Break out of:
574 (FUNCTION_ARG). Use OLD_ARG_MODE.
575 2003-06-06 J"orn Rennecke <joern.rennecke@superh.com>
576 * sh.h (FUNCTION_ARG_1): Consistently use NEW_MODE for the mode
577 of the generated register.
579 * sh.h (FUNCTION_ARG_SCmode_WART): Define.
580 (FUNCTION_ARG): Unless FUNCTION_ARG_SCmode_WART is defined and
581 an even number of floating point regs are in use, use the same
582 sequence of argument passing registers for SCmode as would be
583 used for two SFmode values.
584 * sh.c (sh_va_arg): If FUNCTION_ARG_SCmode_WART is defined,
585 swap real / imaginary parts in incoming SCmode values passed
588 2003-06-24 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
591 * config/alpha/alpha.md (sqrtdf2): Fix operand substitution.
593 Tue Jun 24 18:49:33 CEST 2003 Jan Hubicka <jh@suse.cz>
595 * Makefile.in (cgraph.o): Depend on output.h, not depend on
597 * cgraph.c: Do not include tree-inline.h; include output.h
598 (known_fns): Rename to ...
599 (known_decls): ... this one; update all uses.
600 (cgraph_varpool_hash): New static variable.
601 (cgraph_varpool_n_nodes, cgraph_varpool_nodes_queue): New global
603 (cgraph_varpool_hash_node, eq_cgraph_varpool_node, cgraph_varpool_node,
604 cgraph_varpool_node_for_identifier, cgraph_varpool_mark_needed_node,
605 cgraph_varpool_finalize_decl, cgraph_varpool_assemble_pending_decls):
607 * cgraph.h (cgraph_varpool_node): New structure.
608 (cgraph_varpool_n_nodes, cgraph_varpool_nodes_queue): Declare.
609 (cgraph_varpool_node, cgraph_varpool_node_for_identifier,
610 cgraph_varpool_finalize_decl, cgraph_varpool_mark_needed_node,
611 cgraph_varpool_asemble_pending_decls): Declare.
612 * cgraphunit.c (record_call_1): Notice variable references.
613 (cgraph_finalize_compilation_unit): Assemble pending variables.
614 * toplev.c (wrapup_global_declarations): Use varpool.
615 (compile_file): Assemble pending declarations.
616 (rest_of_decl_compilation): Use varpool in unit-at-a-time mode.
617 * varasm.c (assemble_name): Notice varpool references.
619 Tue Jun 24 13:52:11 CEST 2003 Jan Hubicka <jh@suse.cz>
621 * langhooks-def.h (LANG_HOOKS_PREPARE_ASSEMBLE_VARIABLE): New macro.
622 * langhooks.h (lang_hooks_for_decls): Add prepare_assemble_variable.
623 * varasm.c (assemble_variable): Call prepare_assemble_variable.
625 2003-06-23 Roger Sayle <roger@eyesopen.com>
627 * builtins.c (expand_builtin): Use expand_builtin_pow to expand
628 calls for pow, powf, powl and their __builtin_ variants.
629 (expand_builtin_pow): If the second argument is a constant
630 integer and compiling with -ffast-math, use expand_powi to
631 generate RTL if powi_cost is less than POWI_MAX_MULTS.
632 (powi_cost): New function to return the number of multiplications
633 necessary to evaluate an Nth power, for integer constant N.
634 (expand_powi): New function to expand the RTL for evaluating
635 the Nth power of a floating point value, for integer constant N.
637 * doc/tm.texi (POWI_MAX_MULTS): Document new target macro.
639 Mon Jun 23 23:07:35 CEST 2003 Jan Hubicka <jh@suse.cz>
641 * cgraph.c (cgraph_nodes_queue): Declare.
642 (eq_node): Take identifier as p2.
643 (cgraph_node): Update htab_find_slot_with_hash call.
644 (cgraph_node_for_identifier): New.
645 (cgraph_mark_needed_node): Move here from cgraphunit.c.
646 * cgraph.h (cgraph_nodes_queue): Declare.
647 (cgraph_node_for_identifier): Declare.
648 * cgraphunit.c (cgraph_finalize_function): Collect entry points here
649 instead of in cgraph_finalize_compilation_unit; constructors and
650 destructors are entry points.
651 (cgraph_finalize_compilation_unit): Reorganize debug outout;
652 examine nested functions after lowerng; call collect_functions hook.
653 (cgraph_mark_local_functions): DECL_COMDAT functions are not local.
654 (cgraph_finalize_compilation_unit): Do not collect entry points.
655 * varasm.c: Include cgraph.h
656 (assemble_name): Mark referenced identifier as needed.
658 * cgraphunit.c (record_call_1): Use get_callee_fndecl.
660 2003-06-23 Jakub Jelinek <jakub@redhat.com>
662 * config/i386/i386.c (x86_output_mi_thunk): Don't pass MEM to %P0,
664 * config/s390/s390.c (s390_output_mi_thunk): Avoid .plt in -m31
665 mode, as it requires pic register loaded.
667 * varasm.c (resolve_unique_section): Remove prototype. No longer
669 * tree.h (resolve_unique_section): New prototype.
671 2003-06-23 Andreas Schwab <schwab@suse.de>
674 * dwarf2out.c (loc_descriptor_from_tree): Handle MODIFY_EXPR by
675 recursing through first argument.
677 2003-06-23 Kazu Hirata <kazu@cs.umass.edu>
679 * ChangeLog.1: Fix a typo.
680 * cfgrtl.c: Fix comment typos.
681 * dwarf2out.c: Likewise.
682 * expmed.c: Likewise.
683 * genrecog.c: Likewise.
685 * rtlanal.c: Likewise.
686 * ssa-dce.c: Likewise.
687 * toplev.c: Likewise.
689 2003-06-23 Kazu Hirata <kazu@cs.umass.edu>
691 * doc/extend.texi: Fix typos.
692 * doc/md.texi: Likewise.
693 * doc/tm.texi: Likewise.
695 2003-06-23 Kazu Hirata <kazu@cs.umass.edu>
697 * basic-block.h: Fix comment formatting.
698 * bt-load.c: Likewise.
699 * builtins.c: Likewise.
700 * c-common.c: Likewise.
701 * c-common.h: Likewise.
702 * c-format.c: Likewise.
703 * coverage.c: Likewise.
704 * cpplib.h: Likewise.
705 * cpppch.c: Likewise.
706 * dbxout.c: Likewise.
707 * diagnostic.c: Likewise.
708 * dwarf2out.c: Likewise.
710 * fold-const.c: Likewise.
711 * function.c: Likewise.
713 * gcov-io.c: Likewise.
714 * gcov-io.h: Likewise.
716 * profile.c: Likewise.
718 * sched-deps.c: Likewise.
720 2003-06-23 Roger Sayle <roger@eyesopen.com>
721 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
723 * doc/contrib.texi (Contributors): Add a note on testing and
724 remove duplicates from testers list.
726 2003-06-23 Nick Clifton <nickc@redhat.com>
728 * read-rtl.c (read_braced_string): Check for EOF. If
729 encountered issue an error message.
731 2003-06-23 Kazu Hirata <kazu@cs.umass.edu>
733 * doc/invoke.texi: Document dump options, dT and dW.
735 2003-06-23 Kazu Hirata <kazu@cs.umass.edu>
737 * genrecog.c (pred_table): Remove the entry for
738 mode_independent_operand.
739 * recog.c (next_insns_test_no_inequality): Remove.
740 (mode_independent_operand): Likewise.
741 * recog.h: Remove the prototype for mode_independent_operand.
743 2003-06-22 Kazu Hirata <kazu@cs.umass.edu>
745 * config/h8300/h8300.c (output_simode_bld): Use rotxl.l to
747 * config/h8300/h8300.md (*extzv_1_r_h8300hs): Change cc of the
748 second alternative to set_znv.
749 (*extzv_1_r_inv_h8300hs): Likewise.
751 2003-06-23 Hans-Peter Nilsson <hp@bitrange.com>
753 * configure.in (in_tree_gas): Find out here whether GAS is ELF,
754 set in_tree_gas_is_elf accordingly.
755 (in_tree_ld): Find out whether LD emulation is ELF, set
756 in_tree_ld_is_elf accordingly.
757 (gcc_cv_as_subsections, gcc_cv_as_hidden, gcc_cv_as_leb128)
758 (gcc_cv_as_eh_frame, gcc_cv_as_shf_merge)
759 (gcc_cv_as_dwarf2_debug_line, gcc_cv_as_gdwarf2_flag)
760 (gcc_cv_as_gstabs_flag): Use $in_tree_gas_is_elf instead of
761 grepping gas/Makefile.
762 (gcc_cv_ld_ro_rw_mix, gcc_cv_ld_eh_frame_hdr, gcc_cv_ld_pie): Use
763 $in_tree_ld_is_elf instead of grepping ld/Makefile.
764 * configure: Regenerate.
766 2003-06-22 Roger Sayle <roger@eyesopen.com>
768 * builtins.c (expand_builtin_mathfn_2): Use tree_cons to build
769 up the stabilized argument list, not build_tree_list.
770 (expand_builtin_strcpy): Construct new argument list manually
771 instead of using chainon to modify the original argument list.
772 (expand_builtin_stpcpy): Construct new argument list manually
773 instead of using copy_list and chainon.
774 (expand_builtin_sprintf): New function. Optimize calls to
775 sprintf when the format is "%s" or doesn't contain a '%'.
776 (expand_builtin): Expand BUILT_IN_SPRINTF using the new function
777 expand_builtin_sprintf.
779 2003-06-22 Andreas Schwab <schwab@suse.de>
781 * function.c (set_insn_locators): Mark as unused.
783 2003-06-22 Neil Booth <neil@daikokuya.co.uk>
785 * common.opt: Add -finline-limit.
786 * opts.c (common_handle_options): Handle it.
787 * opts.sh: Temporary kludge for -finline-limit.
788 * toplev.c (decode_f_option, independent_decode_option): Die.
789 (parse_options_and_default_flags): No independent_decode_option.
791 2003-06-22 Andreas Jaeger <aj@suse.de>
793 * calls.c (emit_call_1): Readd lost ATTRIBUTE_UNUSED.
795 2003-06-22 Kazu Hirata <kazu@cs.umass.edu>
797 * doc/invoke.texi: Document dumps, .btl, .cfg, and .bypass.
799 2003-06-22 Andreas Schwab <schwab@suse.de>
801 * doc/invoke.texi: Remove leading `-' from options in index.
803 2003-06-22 Kazu Hirata <kazu@cs.umass.edu>
805 * bt-load.c: Follow spelling conventions.
807 2003-06-22 Kazu Hirata <kazu@cs.umass.edu>
809 * expr.c (emit_move_insn_1): Fix a comment typo.
811 2003-06-22 Kazu Hirata <kazu@cs.umass.edu>
813 * doc/invoke.texi: Alphabetize dump options.
815 2003-06-22 Kazu Hirata <kazu@cs.umass.edu>
817 * doc/invoke.texi: Remove a duplicate -dk.
819 2003-06-22 Kazu Hirata <kazu@cs.umass.edu>
821 * doc/invoke.texi: Update dump file names.
823 2003-06-22 Zack Weinberg <zack@codesourcery.com>
825 * config/i370/i370.c, config/i370/i370.h: Use HOST_CHARSET_ASCII
826 and HOST_CHARSET_EBCDIC, not HC_ASCII and HC_EBCDIC.
828 2003-06-22 Kazu Hirata <kazu@cs.umass.edu>
830 * doc/rtl.texi: Fix the @findex for pre_modify.
832 2003-06-22 Andreas Jaeger <aj@suse.de>
834 * caller-save.c: Convert to ISO C90.
837 * cfganal.c: Likewise.
838 * cfgbuild.c: Likewise.
839 * cfgcleanup.c: Likewise.
840 * cfghooks.c: Likewise.
841 * cfglayout.c: Likewise.
842 * cfglayout.h: Likewise.
843 * cfgloop.c: Likewise.
844 * cfgloop.h: Likewise.
845 * cfgloopanal.c: Likewise.
846 * cfgloopmainip.c: Likewise.
847 * cfgrtl.c: Likewise.
849 2003-06-22 Richard Earnshaw <rearnsha@arm.com>
851 * arm.h (BIGGEST_ALIGNMENT): Use TARGET_REALLY_IWMMXT for selecting
854 2003-06-22 Richard Earnshaw <rearnsha@arm.com>
856 * arm.md (all call_value patterns): Remove register constraints on
859 2003-06-22 Neil Booth <neil@daikokuya.co.uk>
861 * common.opt: More -f switches.
862 * opts.c (common_handle_options): Handle them.
863 * toplev.c (time_report): Make extern.
864 (f_options): USe flag_dummy.
865 (decode_f_option): No need to use f_options now.
866 * toplev.h (flag_cprop_registers, flag_ssa, flag_ssa_ccp,
867 flag_ssa_dce, time_report, flag_new_regalloc): Make extern.
869 2003-06-22 Andreas Jaeger <aj@suse.de>
871 * c-lex.c: Convert to ISO C90.
872 * c-objc-common.c: Likewise.
873 * c-opts.c: Likewise.
875 * c-ppoutput.c: Likewise.
876 * c-pragma.h: Likewise.
877 * c-pretty-print.c: Likewise.
878 * c-pretty-print.h: Likewise.
879 * c-semantics.c: Likewise.
880 * c-tree.h: Likewise.
881 * c-typeck.c: Likewise.
883 * c-lang.c: Convert to ISO C90.
885 2003-06-22 Neil Booth <neil@daikokuya.co.uk>
887 * opts.c (find_opt): Fix to always guarantee a find of a
888 switch with joined parameter.
889 * opts.h (struct cl_option): New member back_chain.
890 * opts.sh: Update to calculate and add back_chain member.
892 2003-06-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
894 * diagnostic.h (output_host_wide_integer): Declare.
895 * diagnostic.c (output_long_long_decicaml): New function.
896 (output_host_wide_integer): Likewise.
897 (output_format): Use them. Handle "%ll" and "%w".
899 2003-06-21 Jason Thorpe <thorpej@wasabisystems.com>
901 * config.gcc (*-*-netbsd*): Add t-libgcc-pic to tmake_file.
903 2003-06-21 Zack Weinberg <zack@codesourcery.com>
905 * aclocal.m4 (gcc_AC_C_CHARSET): Delete.
906 * configure.in: Don't use gcc_AC_C_CHARSET.
907 * configure, config.in: Regenerate.
908 * config/i370/i370.c, config/i370/i370.h: Use
909 (HOST_CHARSET == HC_EBCDIC) or (HOST_CHARSET == HC_ASCII)
910 instead of HOST_EBCDIC or !HOST_EBCDIC. Clarify comments a tad.
912 2003-06-21 Neil Booth <neil@daikokuya.co.uk>
914 * Makefile.in: Update.
915 * common.opt: New switches.
916 * opts.c: Include diagnostic.h.
917 (common_handle_option): Handle new switches.
918 * toplev.c (flag_loop_optimize, flag_crossjumping, flag_if_conversion,
919 flag_if_conversion2, flag_delete_null_pointer_checks,
920 flag_rerun_cse_after_loop): Make extern.
922 (f_options): Update to use flag_dummy for moved options.
923 (decode_f_option): Some switches moved to opts.c.
924 * toplev.h (flag_loop_optimize, flag_crossjumping, flag_if_conversion,
925 flag_if_conversion2, flag_delete_null_pointer_checks,
926 flag_rerun_cse_after_loop, flag_keep_static_consts, flag_peel_loops,
927 flag_tracer, flag_thread_jumps, flag_unroll_loops,
928 flag_unroll_all_loops, flag_unswitch_loops): New.
930 Sat Jun 21 13:41:00 CEST 2003 Jan Hubicka <jh@suse.cz>
932 * i386.c (ix86_va_arg): Fix allocation of temporary slot.
934 2003-06-20 Kazu Hirata <kazu@cs.umass.edu>
936 * config/h8300/h8300-protos.h: Add a prototype for
937 same_cmp_preceding_p.
938 * config/h8300/h8300.c (same_cmp_preceding): New.
939 * config/h8300/h8300.md: Extend peephole2's that transform
940 compare:SI into shorter sequences so that they can deal with
943 2003-06-21 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
945 * doc/contrib.texi (Contributors): Use Windows instead of Win32.
947 Update Andreas Jaeger's entry.
949 Merge the two entries of Kaveh Ghazi, David Edelsohn, and
952 2003-06-21 Nathanael Nerode <neroden@gcc.gnu.org>
954 * mkconfig.sh: Add multiple inclusion guards to generated headers.
956 2003-06-20 Neil Booth <neil@daikokuya.co.uk>
958 * c-decl.c (store_parm_decls): Make saved_warn_shadow boolean.
959 * common.opt: Add remaining -W options and -g.
960 * diagnostic.c (warnings_are_errors): Remove.
961 * flags.h: Make most warning flags boolean.
962 * opts.c (common_handle_option): Handle remaining -W options, and -g.
963 Move many warning flags from toplev.c, making them boolean.
964 * toplev.c: Remove many warning flags.
965 (decode_W_option): Remove.
966 (decode_g_option): Make extern. Error on unknown switch.
967 (lang_independent_W_options): Use warn_dummy.
968 (independent_decode_option): Just handle -f switches now.
969 * toplev.h (decode_g_option): New.
971 2003-06-20 Aldy Hernandez <aldyh@redhat.com>
974 * config/rs6000/rs6000.h (LEGITIMATE_CONSTANT_P): Adjust for
977 2003-06-20 Kelley Cook <kelleycook@wideopenwest.com>
979 * opts.sh: Tweak awk script for portability.
981 2003-06-20 Mark Mitchell <mark@codesourcery.com>
984 * tree-inline.c (expand_call_inline): Do not warn about failing to
985 inline functions declared in system headers.
986 * doc/invoke.texi (-Winline): Expand on documentation.
988 2003-06-20 Richard Henderson <rth@redhat.com>
990 * config/alpha/alpha.c (alpha_file_start): Disable
991 file_start_file_directive for ELF and not MDEBUG.
993 2003-06-20 J"orn Rennecke <joern.rennecke@superh.com>
995 * sh.h (ROUND_TYPE_ALIGN): Remove.
997 2003-06-20 Richard Henderson <rth@redhat.com>
999 * hooks.c (hook_int_void_no_regs): Rename from
1000 hook_reg_class_void_no_regs; change return type.
1002 * target-def.h (TARGET_BRANCH_TARGET_REGISTER_CLASS): Update.
1003 * target.h (branch_target_register_class): Change return type to int.
1005 * config/sh/sh.c (sh_target_reg_class): Change return type.
1006 * doc/tm.texi (TARGET_BRANCH_TARGET_REGISTER_CLASS): Likewise.
1008 2003-06-20 Andreas Tobler <toa@pop.agri.ch>
1010 * c-format.c: Change _Bool to bool reverting part of the last
1013 2003-06-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1015 * som.h (ASM_OUTPUT_SOURCE_LINE): Use targetm.strip_name_encoding to
1016 strip name encoding.
1018 2003-06-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1020 * configure.in (gcc_cv_as_gstabs_flag): Disable if assembler warns.
1021 * configure: Regenerate.
1022 Fixes PR driver/9362.
1024 2003-06-20 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1026 * config/alpha/alpha.c (alpha_file_start): Fix typo.
1028 2003-06-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1030 * config/mips/mips.h (PUT_SDB_FUNCTION_END): Pass 0 as third arg
1031 to ASM_OUTPUT_SOURCE_LINE.
1033 2003-06-20 Daniel Egger <degger@fhm.edu>
1034 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
1036 * doc/install.texi (Building): Correct and improve statement
1037 about parallel builds.
1039 2003-06-20 Andreas Jaeger <aj@suse.de>
1041 * c-common.c: Change _Bool to bool reverting part of the last
1044 2003-06-20 Nathan Sidwell <nathan@codesourcery.com>
1046 * tree.h (expand_function_end): Remove all parameters.
1047 * function.c (expand_function_end): Remove all parameters.
1048 Use input_location. Never expand_end_bindings.
1049 * c-decl.c (c_expand_body_1): Adjust expand_function_end call.
1050 * coverage.c (create_coverage): Likewise.
1052 2003-06-20 Nick Clifton <nickc@redhat.com>
1054 * doc/extend.texi (ARM Built-in Functions): New node. Document
1055 ARM builtin functions for iWMMXt support.
1057 2003-06-20 Eric Botcazou <ebotcazou@libertysurf.fr>
1059 * doc/install.texi (--with-gnu-as): Mention SPARC/Solaris and
1060 SPARC64/Solaris as platforms where --with-gnu-as makes a difference.
1061 (--with-as): Add @anchor.
1062 (--with-gnu-ld): Fix typo.
1063 (--with-ld): Add @uref to --with-as.
1065 2003-06-19 Zack Weinberg <zack@codesourcery.com>
1067 * doc/tm.texi: Uniformly use @defmac for macros, rather than
1068 @table items. Minor formatting and editorial corrections.
1070 2003-06-20 Neil Booth <neil@daikokuya.co.uk>
1072 * line-map.c, line-map.h: Convert to ISO prototypes.
1074 2003-06-20 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1076 * gcse.c (store_killed_in_insn): Fix.
1078 2003-06-19 Zack Weinberg <zack@codesourcery.com>
1080 * target.h (asm_out.file_start, file_start_app_off,
1081 file_start_file_directive): New hooks.
1082 * target-def.h (TARGET_ASM_FILE_START_FILE_DIRECTIVE,
1083 TARGET_ASM_FILE_START_APP_OFF, TARGET_ASM_FILE_START):
1084 New hook-definition macros.
1085 * doc/tm.texi: Document new hooks; remove docs of ASM_FILE_START.
1086 * varasm.c (default_file_start): New.
1087 * output.h: Prototype it.
1088 * toplev.c (init_asm_output): Use targetm.asm_out.file_start.
1089 * system.h: Poison ASM_FILE_START.
1091 * config/alpha/alpha.c (alpha_write_verstamp): Delete.
1092 (alpha_file_start): New, define if !TARGET_ABI_UNICOSMK.
1093 (unicosmk_asm_file_start): Rename unicosmk_file_start,
1094 make static, take no arguments.
1095 (TARGET_ASM_FILE_START, TARGET_ASM_FILE_END,
1096 TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set as appropriate.
1097 * config/alpha/unicosmk.h: Don't define ASM_FILE_START nor
1098 TARGET_ASM_FILE_END. Remove reference to ASM_FILE_START in
1100 * config/arc/arc.c (arc_asm_file_start): Rename
1101 arc_file_start, take no arguments, make static.
1102 (TARGET_ASM_FILE_START): Set it.
1103 * config/arm/arm.c (aof_file_start): New static function.
1104 (TARGET_ASM_FILE_START): Set it, when appropriate.
1105 * config/arm/coff.h, config/arm/elf.h:
1106 Set TARGET_ASM_FILE_START_APP_OFF to true.
1107 * config/avr/avr.c (asm_file_start): Rename avr_file_start,
1108 take no arguments, make static.
1109 (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE):
1111 * config/c4x/c4x.c (c4x_file_start): New static function.
1112 (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE):
1114 * config/cris/cris.c (cris_file_start): New static function.
1115 (TARGET_ASM_FILE_START): Set it.
1116 * config/dsp16xx/dsp16xx.c (coff_dsp16xx_file_start): Rename
1117 dsp16xx_file_start, make static.
1118 (luxworks_dsp16xx_file_start): Delete.
1119 (TARGET_ASM_FILE_START): Set it.
1120 * config/h8300/h8300.c (asm_file_start): Rename
1121 h8300_file_start, make static, take no arguments.
1122 (TARGET_ASM_FILE_START): Set it.
1123 * config/i370/i370.c (i370_file_start): New static function.
1124 (TARGET_ASM_FILE_START): Set it.
1125 * config/i386/i386.c (x86_file_start): New static function.
1126 (TARGET_ASM_FILE_START): Set it.
1127 * config/i386/i386.h (X86_FILE_START_VERSION_DIRECTIVE,
1128 X86_FILE_START_FLTUSED): New macros, default to false.
1129 * config/i386/i386-interix.h: Override X86_FILE_START_FLTUSED to 1.
1130 * config/i386/sysv4.h, config/i386/sco5.h: Override
1131 X86_FILE_START_VERSION_DIRECTIVE to true.
1132 * config/ia64/ia64.c (ia64_file_start): New static function.
1133 (TARGET_ASM_FILE_START): Set it.
1134 (emit_safe_across_calls): Take no arguments.
1135 * config/ia64/ia64.md: Update to match.
1136 * config/m32r/m32r.c (m32r_asm_file_start): Rename
1137 m32r_file_start, make static, take no arguments.
1138 (TARGET_ASM_FILE_START): Set it.
1139 * config/m68hc11/m68hc11.c (m68hc11_asm_file_start): Rename
1140 m68hc11_file_start, make static, take no arguments.
1141 (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set.
1142 (print_options): Delete.
1143 * config/m68k/m68k.c (m68k_hp320_file_start): New static function.
1144 (TARGET_ASM_FILE_START_APP_OFF): Set.
1145 * config/m68k/hp320.h: Set TARGET_ASM_FILE_START to
1146 m68k_hp320_file_start.
1147 * config/mips/mips.c (iris6_asm_file_start, mips_asm_file_start):
1148 Make static, take no arguments.
1149 (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set.
1150 * config/mmix/mmix.c (mmix_asm_file_start): Rename
1151 mmix_file_start, make static, take no arguments.
1152 (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set.
1153 * config/mn10300/mn10300.c (asm_file_start): Rename
1154 mn10300_file_start, make static, take no arguments.
1155 (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set.
1156 * config/ns32k/ns32k.c (TARGET_ASM_FILE_START_APP_OFF): Set.
1157 * config/pa/pa.c (pa_file_start_level, pa_file_start_space,
1158 pa_file_start_file, pa_file_start_mcount, pa_elf_file_start,
1159 pa_som_file_start, pa_linux_file_start, pa_hpux64_gas_file_start,
1160 pa_hpux64_hpas_file_start): New static functions.
1161 * config/pa/elf.h: Set TARGET_ASM_FILE_START to pa_elf_file_start.
1162 * config/pa/pa-linux.h: Set TARGET_ASM_FILE_START to
1163 pa_linux_file_start.
1164 * config/pa/pa64-hpux.h: Set TARGET_ASM_FILE_START to
1165 pa_hpux64_gas_file_start or pa_hpux64_hpas_file_start, as
1167 * config/pa/som.h: Set TARGET_ASM_FILE_START to pa_som_file_start.
1168 * config/rs6000/rs6000.c: Include xcoffout.h when TARGET_XCOFF.
1169 (rs6000_file_start): Make static, take no arguments. Reset
1170 default_cpu under certain conditions.
1171 (rs6000_xcoff_file_start): New function.
1172 * config/rs6000/rs6000.h (TARGET_ASM_FILE_START): Set.
1173 * config/rs6000/xcoff.h (TARGET_ASM_FILE_START,
1174 TARGET_ASM_FILE_START_FILE_DIRECTIVE): Override.
1175 * config/sh/sh.c (output_file_start): Rename
1176 sh_file_start, make static, take no arguments. Merge in old
1177 code from sh/elf.h's ASM_FILE_START, conditioned on TARGET_ELF.
1178 (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set.
1179 * config/sh/sh.c (TARGET_ELF): Define to 0.
1180 * config/sh/elf.h (TARGET_ELF): Redefine to 1.
1181 * config/v850/v850.c (asm_file_start): Delete.
1182 (TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set.
1183 * config/vax/vax.c (vax_file_start): New static function.
1184 (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_APP_OFF): Set.
1186 * config/darwin.h: Override ASM_FILE_START_FILE_DIRECTIVE to false.
1187 * config/elfos.h, config/svr3.h, config/arm/elf.h, config/arm/pe.h
1188 * config/i386/att.h, config/i386/gas.h, config/i386/linux.h
1189 * config/i386/sysv4.h, config/i386/sco5.h, config/i960/i960-coff.h
1190 * config/m68k/coff.h, config/m68k/hp320.h, config/mcore/mcore-pe.h
1191 * config/vax/vaxv.h: Set ASM_FILE_START_FILE_DIRECTIVE to true.
1193 * config/darwin.h, config/elfos.h, config/alpha/elf.h
1194 * config/alpha/openbsd.h, config/alpha/osf.h, config/alpha/vms.h
1195 * config/arc/arc.h, config/arm/aof.h, config/arm/aout.h
1196 * config/arm/coff.h, config/arm/elf.h, config/arm/pe.h
1197 * config/avr/avr.h, config/c4x/c4x.h, config/cris/cris.h
1198 * config/dsp16xx/dsp16xx.h, config/h8300/elf.h, config/h8300/h8300.h
1199 * config/i370/i370.h, config/i386/att.h, config/i386/gas.h
1200 * config/i386/i386-interix.h, config/i386/linux.h, config/i386/sysv4.h
1201 * config/i386/sco5.h, config/i960/i960-coff.h, config/i960/i960.h
1202 * config/ia64/ia64.h, config/ia64/sysv4.h, config/m32r/m32r.h
1203 * config/m68hc11/m68hc11.h, config/m68k/coff.h, config/m68k/m68k.h
1204 * config/mcore/mcore-pe.h, config/mips/iris6.h, config/mips/mips.h
1205 * config/mmix/mmix.h, config/mn10300/mn10300.h, config/ns32k/ns32k.h
1206 * config/pa/elf.h, config/pa/pa-linux.h, config/pa/pa64-hpux.h
1207 * config/pa/som.h, config/pdp11/pdp11.h, config/rs6000/linux64.h
1208 * config/rs6000/lynx.h, config/rs6000/xcoff.h, config/sh/elf.h
1209 * config/sh/sh.h, config/sparc/sparc.h, config/v850/v850.h
1210 * config/vax/vax.h, config/vax/vaxv.h: Don't (re)define ASM_FILE_START.
1212 * config/alpha/alpha-protos.h, config/arc/arc-protos.h
1213 * config/avr/avr-protos.h, config/dsp16xx/dsp16xx-protos.h
1214 * config/h8300/h8300-protos.h, config/ia64/ia64-protos.h
1215 * config/m32r/m32r-protos.h, config/m68hc11/m68hc11-protos.h
1216 * config/mips/mips-protos.h, config/mmix/mmix-protos.h
1217 * config/mn10300/mn10300-protos.h, config/rs6000/rs6000-protos.h
1218 * config/sh/sh-protos.h, config/v850/v850-protos.h: Update.
1220 * xcoffout.h, config/rs6000/aix.h, config/rs6000/xcoff.h:
1221 Remove reference to ASM_FILE_START in comment.
1222 * config/arm/aof.h, config/arm/aout.h, config/arm/freebsd.h
1223 * config/arm/linux-gas.h, config/arm/netbsd-elf.h
1224 * config/arm/netbsd.h: Delete definition of ARM_OS_NAME.
1226 2003-06-19 Graeme Peterson <gp@qnx.com>
1228 * gcc.c (target_sysroot_suffix, target_sysroot_hdrs_suffix,
1229 SYSROOT_SUFFIX_SPEC, SYSROOT_HEADERS_SUFFIX_SPEC, sysroot_suffix_spec,
1230 sysroot_hdrs_suffix_spec): New.
1231 (static_specs): Initialize new variables.
1232 (add_sysroot_suffix_prefix, do_spec_1, main): Use new variables.
1233 * doc/tm.texi (SYSROOT_SUFFIX_SPEC, SYSROOT_HEADERS_SUFFIX_SPEC):
1236 2003-06-19 Andreas Jaeger <aj@suse.de>
1238 * c-aux-info.c: Convert to ISO C90.
1239 * c-pragma.c: Likewise.
1240 * c-common.c: Likewise.
1241 * c-common.h: Likewise.
1242 * c-convert.c: Likewise.
1243 * c-cppbuiltin.c: Likewise.
1244 * c-dump.c: Likewise.
1245 * c-decl.c: Likewise
1246 * c-format.c: Likewise.
1247 * c-incpath.c: Likewise.
1248 * c-incpath.h: Likewise.
1250 2003-06-19 Roger Sayle <roger@eyesopen.com>
1252 * builtins.c (expand_errno_check): Assume that flag_errno_math
1253 and HONOR_NANS have been tested before calling here. Only try
1254 to set errno ourselves if the decl can't throw an exception.
1255 (expand_builtin_mathfn): Move the code to stabilize the arg
1256 after the main switch, so that that its only done when needed.
1257 BUILT_IN_SQRT{,F,L} doesn't set errno if its arg is nonnegative.
1258 Don't modify the original expr when stabilizing the argument.
1259 (expand_builtin_mathfn_2): Likewise, move the code to stabilize
1260 the args after the main switch, and don't modify the orginal exp.
1262 2003-06-19 Aldy Hernandez <aldyh@redhat.com>
1264 * expr.c (const_vector_from_tree): Initialize remaining elements
1267 2003-06-19 Aldy Hernandez <aldyh@redhat.com>
1269 * config/rs6000/spe.md ("spe_evfscfsi"): Change operand types.
1270 Change "fix" to "float".
1272 2003-06-19 Andreas Jaeger <aj@suse.de>
1274 * c-tree.h: Remove declaration of poplevel.
1276 * tree.h: Remove declaration of approx_sqrt.
1278 * c-lex.c: Remove redundant declaration of asm_out_file.
1280 * flags.h: Remove declaration of warn_unknown_pragma and
1281 main_input_filename.
1283 * rtl.h: Remove functions from fold-const.c since they're already
1286 * regs.h: Remove redundant declaration of reg_names.
1288 * bt-load.c (migrate_btr_defs): Correct printf arguments.
1290 * protoize.c: Fix breakage from last patch.
1292 2003-06-19 J"orn Rennecke <joern.rennecke@superh.com>
1294 * hooks.h (hook_reg_class_void_no_regs): Only declare if tm.h
1297 2003-06-18 James A Morrison <ja2morri@student.math.uwaterloo.ca>
1299 * config/sparc/sparc.c: Update copyright year.
1301 2003-06-19 David Edelsohn <edelsohn@gnu.org>
1303 * config/rs6000/rs6000.c (init_cumulative_args): Limit CALL_LIBCALL
1306 2003-06-18 Joseph S. Myers <jsm@polyomino.org.uk>
1309 * config/i386/liunx.h: Don't include sys/ucontext.h for glibc 2.0.
1311 2003-06-19 Kazu Hirata <kazu@cs.umass.edu>
1313 * config/h8300/h8300.c (TARGET_INITIALIZER and friends): Move
1314 to the end of the file. Remove unnecessary prototypes.
1316 2003-06-19 Hans-Peter Nilsson <hp@axis.com>
1318 * bt-load.c (migrate_btr_def) [INSN_SCHEDULING]: Conditionalize
1319 calls to insn_default_latency and result_ready_cost. Initialize
1322 2003-06-18 Richard Henderson <rth@redhat.com>
1324 * config/ia64/unwind-ia64.c (_Unwind_GetCFA): New.
1325 (_Unwind_FindEnclosingFunction): Implement.
1327 2003-06-18 Kazu Hirata <kazu@cs.umass.edu>
1329 * toplev.c (rest_of_handle_sched): Hide the entire function if
1330 INSN_SCHEDULING is not defined.
1331 (rest_of_compilation): Call rest_of_handle_sched() only when
1332 INSN_SCHEDULING is defined.
1334 2003-06-18 Stephen Clarke <stephen.clarke@superh.com>
1335 J"orn Rennecke <joern.rennecke@superh.com>
1337 * bt-load.c: New file.
1338 * Makefile.in (OBJS): Include bt-load.o
1339 (bt-load.o): Add dependencies.
1340 * flags.h (flag_branch_target_load_optimize): Declare.
1341 (flag_branch_target_load_optimize2): Likewise.
1342 * hooks.c (hook_reg_class_void_no_regs): New function.
1343 (hook_bool_bool_false): Likewise.
1344 * hooks.h (hook_reg_class_void_no_regs, hook_bool_bool_false): Declare.
1345 * rtl.h (branch_target_load_optimize): Declare.
1346 * target-def.h (TARGET_BRANCH_TARGET_REGISTER_CLASS): Define.
1347 (TARGET_BRANCH_TARGET_REGISTER_CALLEE_SAVED): Likewise.
1348 (TARGET_INITIALIZER): Include these.
1349 * target.h (struct gcc_target): Add branch_target_register_class
1350 and branch_target_register_callee_saved members.
1351 * toplev.c (enum dump_file_index): Add DFI_branch_target_load
1352 (dump_file) Add "tars" entry.
1353 (flag_branch_target_load_optimize): New variable.
1354 (flag_branch_target_load_optimize2): Likewise.
1355 (lang_independent_options): Add entries for new options.
1356 (rest_of_compilation): Call branch_target_load_optimize.
1357 * doc/tm.texi (TARGET_BRANCH_TARGET_REGISTER_CLASS): Document.
1358 (TARGET_BRANCH_TARGET_REGISTER_CALLEE_SAVED): Likewise.
1359 * doc/invoke.texi: Document -fbranch-target-load-optimize and
1360 -fbranch-target-load-optimize2.
1361 * rtl.h (epilogue_completed): Declare.
1362 * recog.c (epilogue_completed): New variable.
1363 * toplev.c (rest_of_compilation): Set it.
1364 * flow.c (mark_regs_live_at_end): Use it.
1365 * config/ia64/ia64.c (ia64_output_mi_thunk): Set it.
1366 * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Likewise.
1367 * config/sh/sh.c (sh_output_mi_thunk): Likewise.
1368 * config/sparc/sparc.c (sparc_output_mi_thunk): Likewise.
1370 * sh.c (shmedia_space_reserved_for_target_registers): New variable.
1371 (sh_target_reg_class): New function.
1372 (sh_optimize_target_register_callee_saved): Likwise.
1373 (shmedia_target_regs_stack_space): Likewise.
1374 (shmedia_reserve_space_for_target_registers_p): Likewise.
1375 (shmedia_target_regs_stack_adjust): Likewise.
1376 (TARGET_BRANCH_TARGET_REGISTER_CLASS): Override.
1377 (TARGET_BRANCH_TARGET_REGISTER_CALLEE_SAVED): Likewise.
1378 (calc_live_regs): If flag_branch_target_load_optimize2 and
1379 TARGET_SAVE_ALL_TARGET_REGS is enabled, and we have space reserved
1380 for target registers, make sure that we save all target registers.
1381 (sh_expand_prologue, sh_expand_epilogue): Take target register
1382 optimizations into account. Collapse stack adjustments if that
1384 (initial_elimination_offset): Reserve space for target registers
1386 * sh.h (SAVE_ALL_TR_BIT, TARGET_SAVE_ALL_TARGET_REGS): Define.
1387 (OPTIMIZATION_OPTIONS): Enable flag_branch_target_load_optimize.
1389 2003-06-18 Nick Clifton <nickc@redhat.com>
1391 * config.gcc: Add an extra_header for ARM targets.
1392 Support configuring with --with-cpu=iwmmxt.
1393 * doc/invoke.texi: Document new value for -mcpu= ARM switch.
1394 * config/arm/aof.h (REGISTER_NAMES): Add iwmmxt register
1395 names. Fix formatting.
1396 * config/arm/aout.h (REGISTER_NAMES): Add iwmmxt register
1398 * config/arm/arm-protos.h (arm_emit_vector_const): New
1400 (arm_output_load_gr): New prototype.
1401 * config/arm/arm.c (extra_reg_names1): Delete.
1402 (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN, FL_IWMMXT,
1403 * arch_is_iwmmxt): Define.
1404 (all_cores, all_architecture): Add entry for iwmmxt.
1405 (arm_override_options): Add support for iwmmxt.
1406 (use_return_insn, arm_function_arg, arm_legitimate_index_p,
1407 arm_print_value, arm_rtx_costs_1, output_move_double,
1408 arm_compute_save_reg_mask, arm_output_epilogue,
1409 arm_get_frame_size, arm_expand_prologue, arm_print_operand,
1410 arm_assemble_integer, arm_hard_regno_ok, arm_regno_class):
1412 (arm_init_cumulative_args): Count iwmmxt registers.
1413 (arm_function_ok_for_sibcall): Return false of sibcall_blocked
1415 (struct minipool_node): Add fix_size field.
1416 (add_minipool_forward_ref): Add support for 8-byte aligning of
1418 (add_minipool_backward_ref, add_minipool_offsets,
1419 dump_minipool, push_minipool_fix): Likewise.
1420 (struct builtin_description): New struct.
1421 (builtin_description): New array of iwmmxt builtin functions.
1422 (arm_init_iwmmxt_builtins): New function.
1423 (arm_init_builtins): New function.
1424 (safe_vector_operand): New function.
1425 (arm_expand_binop_builtin): New function.
1426 (arm_expand_unop_builtin): New function.
1427 (arm_expand_builtin): New function.
1428 (arm_emit_vector_const): New function.
1429 (arm_output_load_gr): New function.
1430 * config/arm/arm.h (TARGET_CPU_iwmmxt, TARGET_IWMMXT,
1431 TARGET_REALLY_IWMMXT, arm_arch_iwmmxt, IWMMXT_ALIGNMENT,
1432 TYPE_NEEDS_IWMMXT_ALIGNMENT, ADJUST_FIELD_ALIGN,
1433 DATA_ALIGNMENT, LOCAL_ALIGNMENT, VECTOR_MODE_SUPPORTED_P): Define.
1434 (BIGGEST_ALIGNMENT): Set to 64 if ATPCS support is enabled.
1435 (CPP_CPU_ARCH_SPEC): Add entries for iwmmxt.
1436 (FIXED_REGISTERS, CALL_USED_REGISTERS, REG_ALLOC_ORDER,
1437 reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS,
1438 REG_CLASS_FOR_LETTER): Add iwmmxt registers.
1439 (SUBTARGET_CONDITIONAL_REGISTER_USAGE): Disable iwmmxt
1440 registers unless the iwmmxt target is selected.
1441 (FIRST_IWMMXT_GR_REGNUM, LAST_IWMMXT_GR_REGNUM,
1442 FIRST_IWMMXT_REGNUM, LAST_IWMMXT_REGNUM, IS_IWMMXT_REGNUM,
1443 IS_IWMMXT_GR_REGNUM): Define.
1444 (FIRST_PSEUDO_REGISTER): Bump to 63.
1445 (struct machine_function): Add sibcall_blocked field.
1446 (Struct CUMULATIVE_ARGS): Add iwmmxt_nregs, named_count and
1448 (enum arm_builtins): New enum list.
1449 * config/arm/arm.md (UNSPEC_WSHUFH, UNSPEC_WACC,
1450 UNSPEC_TMOVMSK, UNSPEC_WSAD, UNSPEC_WSADZ, UNSPEC_WMACS,
1451 UNSPEC_WMACU, UNSPEC_WMACSZ, UNSPEC_WMACUZ, UNSPEC_CLRDI,
1452 UNSPEC_WMADDS, UNSPEC_WMADDU): New unspecs.
1453 (VUNSPEC_TMRC, VUNSPEC_TMCR, VUNSPEC_ALIGN8, VUNSPEC_WCMP_EQ,
1454 VUNSPEC_WCMP_GTU, VUNSPEC_WCMP_GT): New vunspecs.
1455 (movv2si, movv4hi, movv8qi): New expands for vector moves.
1457 * config/arm/t-xscale-elf (MULTILIB_OPITONS): Add iwmmxt
1459 (MULTILIB_DIRNAMES, MULTILIB_REDUNDANT_DIRS): Likewise.
1460 * config/arm/mmintrin.h: New ARM specific header file.
1461 * config/arm/iwmmx.md: New iWMMXt specific machine patterns.
1463 2003-06-18 J"orn Rennecke <joern.rennecke@superh.com>
1465 * toplev.c (Remaining -d letters summary): Update.
1467 2003-06-18 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
1469 * config/rs6000/rs6000.c (init_cumulative_args): Add and handle LIBCALL
1471 (function_arg): Handle CALL_LIBCALL flag.
1472 * config/rs6000/rs6000-protos.h (init_cumulative_args): Update
1474 * config/rs6000/rs6000.h (CALL_LIBCALL): New macro.
1475 (INIT_CUMULATIVE_LIBCALL_ARGS): New macro.
1476 (INIT_CUMULATIVE_ARGS): Add LIBCALL argument.
1477 (INIT_CUMULATIVE_INCOMING_ARGS): Likewise.
1479 2003-06-18 Neil Booth <neil@daikokuya.co.uk>
1481 * Makefile.in: Update.
1482 * common.opt: New options.
1483 * opts.c (maybe_warn_unused_parameter, set_Wextra, handle_param,
1485 (common_handle_option): Handle new options.
1486 * toplev.c (set_target_switch): Export.
1487 (set_Wextra, set_Wunused, maybe_warn_unused_parameter): Move to opts.c.
1488 (decode_W_option): -Wunused and -Wextra handled in opts.c now.
1489 (independent_decode_option): More options handled in opts.c now.
1491 * toplev.h (set_target_switch): New.
1493 2003-06-17 Robert Abeles <rabeles@archaelogic.com>
1496 * c-opts.c (c_common_handle_option): Pass -fdump argument suffix
1498 * tree-dump.c (dump_switch_p): Remove redundant 'dump-' prefix
1499 from static strings in dump_files.
1501 2003-06-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1503 * system.h (ANSI_PROTOTYPES, PTR_CONST, LONG_DOUBLE, VPARAMS,
1504 VA_OPEN, VA_FIXEDARG, VA_CLOSE, VA_START): undef and poison these
1507 2003-06-17 Jason Merrill <jason@redhat.com>
1510 * tree-inline.c (expand_call_inline): Don't warn about failing to
1511 inline a function which was made inline by -finline-functions.
1513 2003-06-17 Kazu Hirata <kazu@cs.umass.edu>
1515 * config/h8300/h8300-protos.h: Update to ISO C.
1516 * config/h8300/h8300.c: Likewise.
1517 * config/h8300/h8300.h: Likewise.
1518 * config/h8300/h8300.md: Likewise.
1520 2003-06-16 Nathanael Nerode <neroden@gcc.gnu.org>
1522 * configure.in: Replace BUILD_CC references with CC_FOR_BUILD.
1523 * configure: Regenerate.
1524 * Makefile.in: Replace BUILD_CC references with CC_FOR_BUILD.
1526 2003-06-17 Ranjit Mathew <rmathew@hotmail.com>
1528 * install.texi (Testing): Add information on how to run Java
1529 runtime tests separately.
1531 2003-06-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1533 * config/mips/mips.md (trap): Use break 0 when !TARGET_GAS.
1535 * config/mips/iris6-o32.h (MIPS_ISA_DEFAULT): Remove.
1536 (MIPS_CPU_STRING_DEFAULT): Redefine to mips2.
1538 2003-06-17 Christopher Faylor <cgf@redhat.com>
1540 * doc/install.texi: Add msvc rebuild caveat.
1542 2003-06-17 Kazu Hirata <kazu@cs.umass.edu>
1544 * config/sh/coff.h: Replace Hitachi with Renesas.
1545 * config/sh/elf.h: Likewise.
1546 * config/sh/embed-elf.h: Likewise.
1547 * config/sh/lib1funcs.asm: Likewise.
1548 * config/sh/sh-protos.h: Likewise.
1549 * config/sh/sh.c: Likewise.
1550 * config/sh/sh.h: Likewise.
1551 * config/sh/sh.md: Likewise.
1553 2003-06-17 Kazu Hirata <kazu@cs.umass.edu>
1555 * ChangeLog.3: Fix comment typos.
1556 * ChangeLog.6: Likewise.
1557 * config/d30v/d30v.c: Likewise.
1558 * config/h8300/h8300.md: Likewise.
1559 * config/m32r/m32r.md: Likewise.
1560 * config/mips/mips.c: Likewise.
1561 * config/mips/mips.md: Likewise.
1562 * config/ns32k/NOTES: Likewise.
1564 2003-06-17 Ranjit Mathew <rmathew@hotmail.com>
1565 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
1567 * doc/sourcebuild.texi (libgcj Tests): Simplify instructions on how
1568 to run Java runtime tests separately.
1570 2003-06-17 Kazu Hirata <kazu@cs.umass.edu>
1572 * config/h8300/h8300-protos.h: Update a comment.
1574 2003-06-17 J"orn Rennecke <joern.rennecke@superh.com>
1576 * sh.h (ROUND_TYPE_ALIGN, LOCAL_ALIGNMENT): Complex modes
1577 are aligned like integral modes.
1578 (SH5_WOULD_BE_PARTIAL_NREGS): Also test for CDImode and DCmode.
1580 * sh.h (EXTRA_CONSTRAINT_Csy): Allow PIC_DIRECT_ADDR_P.
1581 (LEGITIMATE_PIC_OPERAND_P): Allow LABEL_REF.
1582 * sh.md (*pt): Remove.
1584 * sh.h (REG_ALLOC_ORDER): Avoid squandering call-saved registers.
1586 * sh.md (return_media_rte): New pattern.
1587 (return_media): Use it.
1589 2003-06-17 Kazu Hirata <kazu@cs.umass.edu>
1591 * doc/contrib.texi: Replace Hitachi with Renesas.
1592 * doc/install.texi: Likewise.
1593 * doc/invoke.texi: Likewise.
1595 2003-06-17 J"orn Rennecke <joern.rennecke@superh.com>
1597 * sh.h (CONST_OK_FOR_J16): Fix HOST_BITS_PER_WIDE_INT >= 64
1600 2003-06-17 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
1602 * doc/tm.texi (MD_FALLBACK_FRAME_STATE_FOR): Mention MAKE_THROW_FRAME.
1604 * config/rs6000/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Partly revert
1605 2003-01-23 patch. Corrected to handle kernels with changed ucontext.
1607 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Error on invalid
1608 -msdata=eabi usages.
1610 * gcc/config/rs6000/sysv4.h (USE_LIBC_1): Delete all uses.
1612 2003-06-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1614 * alloc-pool.c: Don't check HAVE_LONG_DOUBLE.
1615 * fixinc/gnu-regex.c: Don't define `volatile'.
1616 * ggc-page.c: Don't check HAVE_LONG_DOUBLE.
1617 * ggc-simple.c: Likewise.
1618 * system.h: Don't define `volatile'.
1620 * aclocal.m4 (gcc_AC_C_VOLATILE, gcc_AC_C_LONG_DOUBLE): Delete.
1621 * configure.in (gcc_AC_C_VOLATILE, gcc_AC_C_LONG_DOUBLE): Don't
1623 * config.in, configure: Regenerated.
1625 2003-06-17 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1627 * config/ia64/ia64.c (ia64_expand_builtin, case IA64_BUILTIN_BSP):
1628 Handle POINTERS_EXTEND_UNSIGNED.
1630 2003-06-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1632 * config/mips/mips.c (TARGET_ASM_UNALIGNED_DI_OP) [TARGET_IRIX5 &&
1633 !TARGET_IRIX6]: Define as NULL.
1635 2003-06-17 Eric Botcazou <ebotcazou@libertysurf.fr>
1637 * config/sparc/sparc.c (sparc_va_arg): Don't align 16-byte+ structures.
1639 2003-06-17 Eric Botcazou <ebotcazou@libertysurf.fr>
1641 * dbxout.c (dbxout_source_line_counter): New global variable.
1642 Mark it with GTY(()).
1643 (dbxout_source_line): Increment dbxout_source_line_counter
1644 and pass it to ASM_OUTPUT_SOURCE_LINE.
1645 * sdbout.c (sdbout_source_line_counter): New global variable.
1646 Mark it with GTY(()).
1647 (unnamed_struct_number): Mark it with GTY(()).
1648 (sdbout_source_line): Increment sdbout_source_line_counter
1649 and pass it to ASM_OUTPUT_SOURCE_LINE.
1650 * xcoffout.c (ASM_OUTPUT_SOURCE_LINE): Add third parameter
1651 (xcoffout_source_line): Pass 0 as third argument to
1652 ASM_OUTPUT_SOURCE_LINE.
1653 (xcoffout_begin_prologue): Likewise.
1654 * config/dbxout.h (ASM_OUTPUT_SOURCE_LINE): Add third parameter.
1655 Use it instead of 'sym_lineno' but without incrementing it.
1656 * config/dbxelf.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
1657 * config/lynx.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
1658 * config/ptx4.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
1659 * config/alpha/alpha.c (alpha_start_function): Pass 0 as third
1660 argument to ASM_OUTPUT_SOURCE_LINE.
1661 * config/alpha/alpha.h (ASM_OUTPUT_SOURCE_LINE): Add third parameter.
1662 * config/arm/aout.h: Remove useless comment.
1663 * config/avr/avr.h (ASM_OUTPUT_SOURCE_LINE): Add third parameter.
1664 * config/i960/i960.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
1665 * config/m32r/m32r.h (ASM_OUTPUT_SOURCE_LINE): Add third parameter.
1666 Use it instead of 'sym_lineno' but without incrementing it.
1667 * config/m68k/hp320.h (ASM_OUTPUT_SOURCE_LINE): Add third parameter.
1668 * config/mcore/mcore-pe.h (ASM_OUTPUT_SOURCE_LINE): Add third
1669 parameter. Use it instead of 'sym_lineno' but without incrementing it.
1670 * config/mips/mips.c (mips_output_function_prologue): Pass 0 as third
1671 argument to ASM_OUTPUT_SOURCE_LINE.
1672 * config/mips/mips.h (ASM_OUTPUT_SOURCE_LINE): Add third parameter.
1673 * config/mmix/mmix.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
1674 * config/pa/som.h (ASM_OUTPUT_SOURCE_LINE): Add third parameter.
1675 Use it instead of 'sym_lineno' but without incrementing it.
1676 * config/rs6000/linux64.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
1677 * config/sh/elf.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
1678 * config/sparc/aout.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
1679 * config/sparc/pbd.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
1680 * doc/tm.texi (ASM_OUTPUT_SOURCE_LINE): Document third parameter.
1682 2003-06-17 Richard Sandiford <rsandifo@redhat.com>
1684 * config/mips/mips-protos.h (mips_expand_block_move): Declare.
1685 (expand_block_move, output_block_move): Remove.
1686 * config/mips/mips.h (enum block_move_type): Remove.
1687 * config/mips/mips.c (block_move_call, output_block_move): Remove.
1688 (mips_block_move_straight, mips_adjust_block_mem): New function.
1689 (mips_block_move_loop): Renamed and reworked from block_move_loop.
1690 (mips_expand_block_move): Likewise expand_block_move. Return false
1691 to fall back on the target-independent code.
1692 * config/mips/mips.md (movstrsi): Use mips_expand_block_move.
1693 (movstrsi_internal*): Remove.
1695 2003-06-16 Zack Weinberg <zack@codesourcery.com>
1697 * cpplib.h, cpphash.h, cppcharset.c, cpperror.c, cppexp.c
1698 * cppfiles.c, cpphash.c, cppinit.c, cpplex.c, cpplib.c
1699 * cppmacro.c, cpppch.c, cpptrad.c, cppspec.c: Convert to
1700 ISO C: new-style function declarations, no need for PARAMS,
1701 no special punctuation on indirect function calls, use string
1702 constant concatenation where convenient.
1704 2003-06-17 Andreas Jaeger <aj@suse.de>
1706 * rtl.h: Remove declarations from coverage.h.
1707 * toplev.c: Include coverage.h.
1708 * Makefile.in (toplev.o): Depend on coverage.h.
1710 * toplev.h: Remove extra declaration of print_time.
1712 * gengtype.c (close_output_files): Remove duplicated declaration.
1714 2003-06-16 Nathanael Nerode <neroden@gcc.gnu.org>
1716 * config/sparc/sysv4.h: Remove target-independent comment;
1717 replace "GNU CC" with "GCC".
1718 * config/vxworks.h: Replace "GNU compiler" with "GCC".
1719 * config/sparc/aout.h, config/sparc/biarch64.h, config/sparc/elf.h,
1720 config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h,
1721 config/sparc/lite.h, config/sparc/litecoff.h, config/sparc/liteelf.h,
1722 config/sparc/netbsd-elf.h, config/sparc/openbsd.h,
1723 config/sparc/rtemself.h, config/sparc/sol2-64.h,
1724 config/sparc/sol2-bi.h, config/sparc/sol2-gas-bi.h,
1725 config/sparc/sol2-gld-bi.h, config/sparc/sol2-gld.h,
1726 config/sparc/sol2.h, config/sparc/sp64-aout.h,
1727 config/sparc/sp64-elf.h, config/sparc/sp86x-elf.h,
1728 config/sparc/sparc-protos.h, config/sparc/sysv4-only.h: Replace
1729 "GNU compiler", "GNU CC" with "GCC".
1730 * config/sparc/cypress.md, config/sparc/hypersparc.md,
1731 config/sparc/sparc-modes.def, config/sparc/sparc.c,
1732 config/sparc/sparc.md, config/sparc/sparclet.md,
1733 config/sparc/supersparc.md, config/sparc/ultra1_2.md,
1734 config/sparc/ultra3.md: Replace "GNU CC", "GNU Compiler", and
1735 "GNU C Compiler" with "GCC".
1736 * config/ip2k/ip2k.h: Replace "GNU CC" and "GNU compiler" with "GCC".
1738 2003-06-16 Aldy Hernandez <aldyh@redhat.com>
1740 * simplify-rtx.c (simplify_subreg): Do not over-extend vector
1743 * testsuite/gcc.c-torture/execute/simd-4.c: New.
1745 2003-06-16 Nathanael Nerode <neroden@gcc.gnu.org>
1747 * config/ip2k/ip2k.h: Remove target-independent comments.
1749 * config.gcc: Explicitly mention elfos.h in ip2k entry.
1750 * config/ip2k/ip2k.h: Don't #include it here.
1752 2003-06-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1754 * bitmap.c, builtins.c, c-incpath.c, cgraph.c, config/frv/frv.c,
1755 config/mips/mips.c, cppfiles.c, cpphash.c, cppinit.c, cpplib.c,
1756 dwarf2out.c, dwarfout.c, except.c, expr.c, expr.h, fold-const.c,
1757 function.c, gcc.c, genoutput.c, gensupport.c, global.c,
1758 haifa-sched.c, hashtable.c, ifcvt.c, integrate.c, local-alloc.c,
1759 loop.c, mips-tdump.c, mips-tfile.c, mkdeps.c, protoize.c,
1760 read-rtl.c, recog.h, reload1.c, sbitmap.c, ssa-dce.c,
1761 stringpool.c, tlink.c, tree.c, varasm.c, varray.c: Don't use
1764 * gengtype.c: Don't use UNION_INIT_ZERO.
1765 * system.h (UNION_INIT_ZERO): Delete.
1767 2003-06-16 Richard Henderson <rth@redhat.com>
1769 * simplify-rtx.c (simplify_subreg): Use GET_MODE_SIZE instead of
1770 GET_MODE_UNIT_SIZE when simplifying constant vectors.
1772 2003-06-16 Andreas Jaeger <aj@suse.de>
1774 * timevar.c (get_run_time): Remove function provided also by
1776 * timevar.h: Remove get_run_time declaration.
1778 2003-06-16 Kazu Hirata <kazu@cs.umass.edu>
1780 * config/m68hc11/m68hc11.c (m68hc11_rtx_costs): Remove
1783 2003-06-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1785 * builtin-attrs.def, builtin-attrs.def, builtins.c, cpplex.c,
1786 cpplib.c, gencheck.c, gengenrtl.c, machmode.def, protoize.c: Don't
1787 use macros from "symcat.h", instead rely on ISO C.
1789 * system.h: Don't include "symcat.h".
1790 * configure.in (AC_C_STRINGIZE): Delete.
1791 * config.in, configure: Regenerate.
1793 2003-06-16 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1795 * Makefile.in (install-mkheaders): Use INSTALL_SCRIPT for scripts.
1797 * tree.h (STMT_CHECK): New macro.
1798 Also upper-case argument names on all checking macros and
1799 fix some whitespace problems; assume CODE argument does not
1802 2003-06-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1804 * scan.h: Convert to ISO C.
1805 * system.h: Likewise.
1807 * c-format.c (dynamic_format_types): New pointer for dynamic data.
1808 (find_length_info_modifier_index, init_dynamic_asm_fprintf_info):
1809 New functions split out of...
1810 (handle_format_attribute): ...here.
1812 2003-06-16 J"orn Rennecke <joern.rennecke@superh.com>
1814 * sh.h (REG_CLASS_FROM_LETTER): Change to:
1815 (REG_CLASS_FROM_CONSTRAINT).
1816 (CONST_OK_FOR_I): Rename to:
1817 (CONST_OK_FOR_I08). Changed all users.
1818 (CONST_OK_FOR_J): Rename to:
1819 (CONST_OK_FOR_I16). Changed all users.
1820 (CONST_OK_FOR_K): Rename to:
1821 (CONST_OK_FOR_P27). Changed all users.
1822 (CONST_OK_FOR_L): Rename to:
1823 (CONST_OK_FOR_K08). Changed all users.
1824 (CONST_OK_FOR_O): Rename to:
1825 (CONST_OK_FOR_I06). Changed all users.
1826 (CONST_OK_FOR_P): Rename to:
1827 (CONST_OK_FOR_I10). Changed all users.
1828 (CONSTRAINT_LEN, CONST_OK_FOR_I, CONST_OK_FOR_J16): Define.
1829 (CONST_OK_FOR_J, CONST_OK_FOR_K, CONST_OK_FOR_P): Likewise.
1830 (EXTRA_CONSTRAINT_A, EXTRA_CONSTRAINT_Bsc): Likewise.
1831 (EXTRA_CONSTRAINT_B, PIC_OFFSET_P, PIC_DIRECT_ADDR_P): Likewise.
1832 (EXTRA_CONSTRAINT_Cpg, EXTRA_CONSTRAINT_C): Likewise.
1833 (EXTRA_MEMORY_CONSTRAINT,(EXTRA_CONSTRAINT_Sr0): Likewise.
1834 (CONST_OK_FOR_LETTER_P): Replace with
1835 (CONST_OK_FOR_CONSTRAINT_P).
1836 (EXTRA_CONSTRAINT_S): Rename to:
1837 (EXTRA_CONSTRAINT_C16). Changed all users.
1838 (MOVI_SHORI_BASE_OPERAND_P): Don't allow direct addresses.
1839 (EXTRA_CONSTRAINT_T): Rename to:
1840 (EXTRA_CONSTRAINT_Csy). Changed all users.
1841 (EXTRA_CONSTRAINT_Z): Remove.
1842 (EXTRA_CONSTRAINT): Replace with:
1843 (EXTRA_CONSTRAINT_STR).
1844 (EXTRA_CONSTRAINT_U): Rename to:
1845 (EXTRA_CONSTRAINT_Z). Changed all users.
1846 * sh.c (and_operand): Use CONST_OK_FOR_J16.
1847 * sh.md (cmpeqsi_t-1, cmpeqsi_t, adddi3_media): Use new constraints.
1848 (addsi3_media, addsi3_compact, andsi3_compact, anddi3): Likewise.
1849 (iorsi3, iordi3, xorsi3, xordi3, ashlsi3_std, ashlhi3_k): Likewise.
1850 (lshrsi3_k, movsi_i, movsi_ie, movsi_i_lowpart, movsi_media): Likewise.
1851 (movsi_media_nofpu, movqi_media, movhi_i, movhi_media): Likewise.
1852 (*movdi_i, movdi_media, movdi_media_nofpu, shori_media): Likewise.
1853 (movdf_media, movdf_media_nofpu, movv2sf_i, movv4sf_i): Likewise.
1854 (movsf_media, movsf_media_nofpu, movsi_y, beq_media): Likewise.
1855 (beq_media_i, bne_media, pt, ptb, movv8qi_i, movv2hi_i): Likewise.
1856 (movv4hi_i, movv2si_i, negcmpeqv8qi, negcmpeqv2si): Likewise.
1857 (negcmpeqv4hi, negcmpgtuv8qi, negcmpgtv2si, negcmpgtv4hi): Likewise.
1858 (mcmv, mcnvs_lw, mcnvs_wb, mcnvs_wub, mextr_rl, mextr_lr): Likewise.
1859 (mextr1, mextr2, mextr3, mextr4, mextr5, mextr6, mextr7): Likewise.
1860 (mperm_w, mperm_w_little, mperm_w_big, msad_ubq_i): Likewise.
1861 (mshards_q, mshfhi_b, mshflo_b, mshf4_b, mshf0_b, mshfhi_l): Likewise.
1862 (mshflo_l, mshf4_l, mshf0_l, mshfhi_w, mshflo_w, mshf4_w): Likewise.
1863 (mshf0_w, mshflo_w_x, mshfhi_l_di, mshfhi_l_di_rev): Likewise.
1864 (mshflo_l_di_rev, mshflo_l_di_x, concat_v2sf): Likewise.
1865 (mshflo_l_di_x_rev, subv2si3, subv4hi3, sssubv2si3): Likewise.
1866 (sssubv4hi3): Likewise.
1867 (movsf_i): Change I[08]/r to G/r.
1868 (movsf_ie): Change f/{G,H}/c/X to f/{G,H}/c/Bsc.
1870 * sh.c (sh_output_mi_thunk): Use CONST_OK_FOR_ADD.
1872 2003-06-16 Vladimir Makarov <vmakarov@redhat.com>
1874 * config/i386/i386.c (ix86_memory_move_cost): Fix typo.
1876 2003-06-16 Andreas Jaeger <aj@suse.de>
1878 * basic-block.h: Remove duplicate prototype of
1879 note_prediction_to_br_prob.
1881 * tree.h: Remove duplicate prototype of strip_float_extensions.
1883 2003-06-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1885 * config/c4x/c4x.c: Don't include "c-tree.h".
1886 * config/pa/pa.c: Likewise.
1887 * langhooks.c: Likewise.
1888 * tree.h (poplevel): Declare.
1890 2003-06-16 Kazu Hirata <kazu@cs.umass.edu>
1892 * config/h8300/h8300.c (const_costs): Move this to ...
1893 (h8300_rtx_costs): ... here.
1895 2003-06-16 Roger Sayle <roger@eyesopen.com>
1897 * optabs.h (enum optab_index): Add new OTI_tan and OTI_atan.
1898 (tan_optab, atan_optab): Define corresponding macros.
1899 * optabs.c (init_optabs): Initialize tan_optab and atan_optab.
1900 * genopinit.c (optabs): Implement tan_optab and atan_optab
1901 using tan?f2 and atan?f2 patterns.
1902 * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_TAN{,F,L}
1903 using tan_optab, and BUILT_IN_ATAN{,F,L} using atan_optab.
1904 Change the default value of errno_set to false.
1905 (expand_builtin): Expand BUILT_IN_TAN{,F,L} and BUILT_IN_ATAN{,F,L}
1906 using expand_builtin_mathfn.
1908 * config/i386/i386.md (atansf2, atandf2, atanxf2, atantf2): New
1909 expander patterns implemented using existing atan2?f3 patterns.
1911 2003-06-16 Roger Sayle <roger@eyesopen.com>
1913 * expr.c (expand_expr <PLUS_EXPR>): If operand_equal_p considers
1914 both operands of the addition equal, reuse the expanded RTL.
1915 (expand_expr <MULT_EXPR>): Likewise for multiplication.
1917 2003-06-16 Roger Sayle <roger@eyesopen.com>
1918 Jeff Law <law@redhat.com>
1920 * fold-const.c (operand_equal_p): Consider two calls to "const"
1921 functions with identical non-volatile arguments to be equal.
1922 Consider the FUNCTION_DECL for the "__builtin_foo" form of a
1923 built-in function to be equal to the "foo" form.
1925 2003-06-16 Nathanael Nerode <neroden@gcc.gnu.org>
1927 * config/rs6000/sysv4le.h: Remove target-independent comment.
1928 Replace "GNU compiler" with "GCC" in comment.
1930 2003-06-16 Andreas Jaeger <aj@suse.de>
1932 * tracer.c: Remove duplicate declaration.
1934 * toplev.c: Remove extra declaration of decode_d_option.
1936 * ssa.c: Remove duplicate declaration.
1938 * sreal.c: Remove extra declaration of dump_sreal.
1940 * reload1.c: Remove duplicate declarations.
1942 * integrate.c: Remove extra declaration of
1943 set_decl_abstract_flags.
1945 * flow.c: Remove extra declaration of dump_flow_info.
1947 * alias.c: Remove extra declaration of get_addr.
1949 2003-06-16 Nathanael Nerode <neroden@gcc.gnu.org>
1951 * config/rtems.h, config/sol2.h, config/svr4.h, config/usegas.h,
1952 config/vxworks.h: GNU CC -> GCC.
1954 * convert.c, dwarf2out.c, dwarfout.c, emit-rtl.c, function.c,
1955 lists.c, print-rtl.c, print-tree.c, read-rtl.c, rtl-error.c,
1956 stmt.c, toplev.c, integrate.h, loop.h, machmode.h, rtl.h,
1957 ssa.h, tree.def: Replace overly specific references to "GNU C"
1958 and "GNU C Compiler" with references to "GCC".
1960 2003-06-16 J"orn Rennecke <joern.rennecke@superh.com>
1962 * sh.c (prepare_move_operand): Check if operand 0 is an invalid
1963 memory reference. Fix test that checks if operand 1 is using r0.
1964 * sh.md (movhi_i): Don't allow st.w r0,@(rX,rY) .
1966 * defaults.h (REG_CLASS_FROM_CONSTRAINT): Only define if not already
1969 2003-06-15 Nathan Sidwell <nathan@codesourcery.com>
1971 * function.h (struct emit_status): Remove x_last_linenum,
1972 x_last_filename. Add x_last_location.
1973 * rtl.h: #include "input.h".
1975 * cfglayout.c (duplicate_insn_chain): Use emit_line_note for line
1977 * emit-rtl.c (last_linenum, last_filename): Remove.
1978 (last_location): New.
1979 (emit_line_note_after): LINE must always be >= 0.
1980 (emit_line_note): Likewise. Check not duplicate here...
1981 (emit_note): ... rather than here.
1982 (emit_line_note_force, force_next_line_note, init_emit): Adjust.
1983 * integrate.c (expand_inline_function): Use emit_line_note for
1985 (copy_insn_list): Likewise.
1986 * unroll.c (copy_loop_body): Likewise.
1987 * Makefile.in (RTL_H): Add input.h.
1989 2003-06-16 Richard Sandiford <rsandifo@redhat.com>
1991 * optabs.c (emit_libcall_block): Don't hoist insns past a label.
1993 2003-06-16 Richard Henderson <rth@redhat.com>
1995 * config/alpha/alpha-protos.h, config/alpha/elf.h,
1996 config/alpha/osf.h, config/alpha/unicosmk.h, config/alpha/vms.h,
1997 config/alpha/vms-cc.c, config/alpha/vms-ld.c: Update to ISO C.
1998 * config/alpha/alpha.c: Likewise. Move targetm init to end of file.
1999 Remove unneeded static function decls.
2001 2003-06-16 Neil Booth <neil@daikokuya.co.uk>
2003 * c-opts.c (c_common_handle_option): s/on/value/.
2004 (OPT_fabi_version_, OPT_ftabstop_, OPT_ftemplate_depth_): Use value
2005 directly rather than converting the argument.
2006 * c.opt: Update docs. Use UInteger where appropriate.
2007 * common.opt: Use UInteger where appropriate.
2008 * opts.c (integral_argument): New.
2009 (handle_argument): Handle integral arguments, and optional
2011 (common_handle_option): Update.
2012 * opts.h (CL_MISSING_OK, CL_UINTEGER): New.
2013 * opts.sh: Handle JoinedOrMissing and UInteger flags.
2015 2003-06-16 Neil Booth <neil@daikokuya.co.uk>
2017 * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Remove
2018 unnecessary extern declaration.
2020 2003-06-15 Nathanael Nerode <neroden@gcc.gnu.org>
2022 * config/gofast.h, config/interix.h, config/interix3.h,
2023 config/libgloss.h, config/linux-aout.h, config/linux.h,
2024 config/lynx-ng.h, config/lynx.h: GNU CC -> GCC.
2025 * config/kaos.h: "GNU compiler" -> GCC.
2026 * config/linux-aout.h, config/lynx.h: Clarify comment describing file.
2028 * config/ip2k/crt0.S, config/ip2k/ip2k-protos.h,
2029 config/ip2k/ip2k.c, config/ip2k/ip2k.md, config/ip2k/libgcc.S:
2032 * config/svr3.h: Remove #if 0 code, misleading comments.
2035 2003-06-15 Zack Weinberg <zack@codesourcery.com>
2037 * vmsdbgout.c (vmsdbgout_finish): Rename parameter to
2038 main_input_filename to avoid conflict with input_filename macro.
2040 2003-06-15 Neil Booth <neil@daikokuya.co.uk>
2042 * config/mips/mips.h (asm_file_name, g_switch_set,
2043 g_switch_value): Remove.
2044 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Remove
2045 unnecessary extern declarations.
2047 2003-06-15 Neil Booth <neil@daikokuya.co.uk>
2049 * config/frv/frv.h: Remove declaration of g_switch_value.
2050 * config/m32r/m32r.h: Remove declaration of g_switch_value.
2051 * config/m68hc11/m68hc11.c: Remove declaration of asm_file_name.
2053 2003-06-15 Neil Booth <neil@daikokuya.co.uk>
2055 * opts.sh: Quote '+' in regex.
2057 2003-06-15 Andrew Pinski <pinskia@physics.uc.edu>
2059 * config/rs6000/t-rs6000: Add dependence of cfglayout.h to rs6000.o.
2060 * config/rs6000/rs6000.c: Include cfglayout.h.
2061 * config/alpha/alpha.c: Likewise.
2062 * config/ia64/ia64.c: Likewise.
2063 * config/sparc/sparc.c: Likewise.
2064 * config/sh/sh.c: Likewise.
2066 2003-06-15 Neil Booth <neil@daikokuya.co.uk>
2068 * opts.sh: Quote '+' in regex.
2070 2003-06-15 Neil Booth <neil@daikokuya.co.uk>
2072 * c-opts.c (lang_flags): Update for new spelling of flags.
2073 (write_langs): Similarly.
2074 * c.opt: Specify languages.
2075 * opts.h: Remove languages.
2076 * opts.sh: Recognise front-end defined languages.
2077 * doc/sourcebuild.texi: Update.
2079 2003-06-15 Andreas Jaeger <aj@suse.de>
2081 * alloc-pool.c: Convert to ISO C90 prototypes.
2082 * alloc-pool.h: Likewise.
2083 * alias.c: Likewise.
2084 * attribs.c: Likewise.
2085 * bb-reorder.c: Likewise.
2086 * bitmap.h: Likewise.
2087 * bitmap.c: Likewise.
2088 * builtins.c: Likewise.
2090 * tree.h: Convert prototypes of attribs.c to ISO C90.
2091 * basic-block.h: Convert prototypes of bb-reorder.c to ISO C90.
2092 * rtl.h: Convert prototypes of alias.c and builtins.c to ISO C90.
2093 * expr.h: Convert prototypes of builtins.c to ISO C90.
2095 2003-06-15 Roger Sayle <roger@eyesopen.com>
2097 * config/i386/i386.md (expsf2, expdf2, expxf2): New patterns to
2098 implement exp, expf and expl built-ins as inline x87 intrinsics.
2099 (UNSPEC_FSCALE, UNSPEC_FRNDINT, UNSPEC_F2XM1): New unspecs to
2100 represent x87's fscale, frndint and f2xm1 insns respectively.
2101 (*fscale_sfxf3, *fscale_dfxf3, *fscale_xf3): New insn patterns
2102 to encode x87's "fscale" instruction followed by a pop.
2103 (*frndintxf2): New insn pattern for "frndint".
2104 (*f2xm1xf2): New insn pattern for "f2xm1".
2106 * reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_FRNDINT and
2107 UNSPEC_F2XM1 like UNSPEC_{SIN,COS} and handle UNSPEC_FSCALE like
2110 2003-06-15 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2112 * gencheck.c (main): Avoid generating duplicate macros.
2114 * Makefile.in (stagefeedback-start): Use $(SUBDIRS) instead of
2115 knowing names of language subdirectories.
2117 2003-06-15 Neil Booth <neil@daikokuya.co.uk>
2119 * c-pch.c (asm_file_name): Remove.
2120 * common.opt: Add more switches.
2121 * flags.h (g_switch_set): Boolify.
2122 * opts.c (g_switch_value, g_switch_set, exit_after_options,
2123 version_flag): Move from toplev.c.
2124 (common_handle_option): Handle more switches from toplev.c.
2125 * toplev.c (display_help, display_target_options, decode_d_option,
2126 print_version): Make non-static, remove prototypes.
2127 (aux_base_name, asm_file_name, aux_info_file_name): Constify.
2128 (version_flag, g_switch_value, g_switch_set, exit_after_options):
2130 (independent_decode_option): Move some handlers to opts.c.
2131 * toplev.h (aux_info_file_name, aux_base_name, asm_file_name,
2132 exit_after_options, version_flag, display_help, display_target_options,
2133 print_version, decode_d_option): New.
2135 2003-06-15 Kazu Hirata <kazu@cs.umass.edu>
2137 * config/alpha/alpha.md: Follow spelling conventions.
2138 * config/arm/arm.c: Likewise.
2139 * config/arm/arm.h: Likewise.
2140 * config/arm/arm.md: Likewise.
2141 * config/arm/crtn.asm: Likewise.
2142 * config/m32r/m32r.c: Likewise.
2143 * config/m32r/m32r.md: Likewise.
2144 * config/rs6000/rs6000.c: Likewise.
2146 2003-06-15 Richard Henderson <rth@redhat.com>
2148 * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Call
2149 insn_locators_initialize.
2150 * config/ia64/ia64.c (ia64_output_mi_thunk): Likewise.
2151 * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Likewise.
2152 * config/sparc/sparc.c (sparc_output_mi_thunk): Likewise.
2153 * config/sh/sh.c (sh_output_mi_thunk): Do it later.
2155 2003-06-15 Kazu Hirata <kazu@cs.umass.edu>
2157 * builtins.c (expand_builtin_expect_jump): Remove redundant
2158 tests that are also in any_condjump_p().
2160 2003-06-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2162 * libgcc2.c: Delete sysV68 L_trampoline section.
2163 * config/m68k/mot3300-crt0.S: Delete file.
2164 * config/m68k/mot3300Mcrt0.S: Likewise.
2166 2003-06-15 Nathanael Nerode <neroden@gcc.gnu.org>
2168 * config/aoutos.h: Remove.
2169 * config.gcc: Remove reference to aoutos.h.
2170 * config/m68k/m68k-aout.h: Remove reference to aoutos.h.
2172 2003-06-14 Kazu Hirata <kazu@cs.umass.edu>
2174 * doc/install.texi: Follow spelling conventions.
2175 * doc/tm.texi: Likewise.
2176 * config/fp-bit.c: Likewise.
2177 * config/arm/arm.c: Likewise.
2178 * config/frv/frv.c: Likewise.
2179 * config/ns32k/NOTES: Likewise.
2180 * config/ns32k/STATUS: Likewise.
2182 2003-06-14 Roger Sayle <roger@eyesopen.com>
2183 Zack Weinberg <zack@codesourcery.com>
2185 * rtl.h (STORE_FLAG_VALUE): Remove default definition from here.
2186 * defaults.h (STORE_FLAG_VALUE): Move default definition to here.
2187 * doc/tm.texi (STORE_FLAG_VALUE): Document the default value.
2189 * config/alpha/alpha.h (STORE_FLAG_VALUE): Remove definition.
2190 * config/arc/arc.h (STORE_FLAG_VALUE): Likewise.
2191 * config/arm/arm.h (STORE_FLAG_VALUE): Likewise.
2192 * config/cris/cris.h (STORE_FLAG_VALUE): Likewise.
2193 * config/i370/i370.h (STORE_FLAG_VALUE): Likewise.
2194 * config/i386/i386.h (STORE_FLAG_VALUE): Likewise.
2195 * config/i960/i960.h (STORE_FLAG_VALUE): Likewise.
2196 * config/ia64/ia64.h (STORE_FLAG_VALUE): Likewise.
2197 * config/ip2k/ip2k.h (STORE_FLAG_VALUE): Likewise.
2198 * config/m32r/m32r.h (STORE_FLAG_VALUE): Likewise.
2199 * config/mcore/mcore.h (STORE_FLAG_VALUE): Likewise.
2200 * config/mips/mips.h (STORE_FLAG_VALUE): Likewise.
2201 * config/mmix/mmix.h (STORE_FLAG_VALUE): Likewise.
2202 * config/ns32k/ns32k.h (STORE_FLAG_VALUE): Likewise.
2203 * config/pa/pa.h (STORE_FLAG_VALUE): Likewise.
2204 * config/pdp11/pdp11.h (STORE_FLAG_VALUE): Likewise.
2205 * config/sh/sh.h (STORE_FLAG_VALUE): Likewise.
2206 * config/sparc/sparc.h (STORE_FLAG_VALUE): Likewise.
2207 * config/v850/v850.h (STORE_FLAG_VALUE): Likewise.
2208 * config/xtensa/xtensa.h (STORE_FLAG_VALUE): Likewise.
2210 2003-06-14 Nathan Sidwell <nathan@codesourcery.com>
2212 * opts.sh (POSIXLY_CORRECT): Unset it.
2214 * tree.h (init_function_start): Remove filename and line paramters.
2215 * function.c (init_function_start): Remove filename and line
2216 parameters. Use DECL_SOURCE_LOCATION.
2217 * c-decl.c (store_parm_decls): Adjust init_function_start call.
2218 (c_expand_body_1): Likewise.
2219 * coverage.c (create_coverage): Likewise.
2220 * objc/objc-act.c (build_tmp_function_decl): Set line number to
2222 (hack_method_prototype): Adjust init_function_start call.
2224 2003-06-14 Richard Earnshaw <rearnsha@arm.com>
2227 * arm/linux-elf.h (PROFILE_HOOK): Define.
2229 2003-06-14 Richard Earnshaw <rearnsha@arm.com>
2232 * arm.h (CANNOT_CHANGE_MODE_CLASS): Define.
2234 2003-06-14 Roger Sayle <roger@eyesopen.com>
2236 * opts.sh: Work around a mysterious feature in cygwin's gawk
2237 where specifying the input files explicitly has a different
2238 behavior to piping them via stdin.
2240 2003-06-14 Neil Booth <neil@daikokuya.co.uk>
2242 * doc/sourcebuild.texi: Update.
2244 2003-06-14 Richard Earnshaw <rearnsha@arm.com>
2247 * arm.c (output_move_double): Pass SImode to adjust_address.
2249 2003-06-14 Neil Booth <neil@daikokuya.co.uk>
2251 * Makefile.in: Update to use common.opt and lang_opt_files.
2252 (c-options.c, c-options.h): Remove.
2253 (options.c, options.h): Add.
2254 * c-opts.c: Include options.h not c-options.h.
2255 * common.opt: New file.
2256 * configure, configure.in: Add lang_opt_files.
2257 * opts.c: Include flags.h and diagnostic.h.
2258 (common_handle_option): New.
2259 (handle_option): Update to recognize common options and all
2260 language-dependent options.
2261 * opts.h (CL_F77, CL_JAVA, CL_ADA, CL_COMMON, CL_TREELANG): New.
2262 (struct cl_option): Make flags of type int.
2263 * opts.h: Flag option with front ends to which it applies.
2264 Handle duplicate options.
2265 * toplev.c (filename): Remove.
2266 (independent_decode_option): Don't handle filenames and -quiet.
2267 (process_options, do_compile): Update.
2269 2003-06-14 Nick Clifton <nickc@redhat.com>
2271 * doc/install.texi (Specific): Add description of different
2272 ARM supported file format targets.
2274 Sat Jun 14 11:12:04 CEST 2003 Jan Hubicka <jh@suse.cz>
2276 * reorg.c (emit_delay_sequence, dbr_schedule): Clear insn locators
2279 2003-06-13 Matt Kraai <kraai@alumni.cmu.edu>
2281 * unwind-c.c: Define NO_SIZE_OF_ENCODED_VALUE.
2282 * unwind-pe.h (size_of_encoded_value): Do not define if
2283 NO_SIZE_OF_ENCODED_VALUE is defined.
2285 2003-06-13 Roger Sayle <roger@eyesopen.com>
2287 * expr.c (expand_expr <COMPLEX_CST>): Handle the case of
2288 expanding a complex constant into a CONCAT target.
2290 2003-06-13 Zack Weinberg <zack@codesourcery.com>
2292 * config/svr3.h (ASM_FILE_START): Don't use ASM_FILE_START_1.
2293 (ASM_FILE_START_1): Delete.
2294 * config/i386/att.h, config/i386/sco5.h,
2296 (ASM_FILE_START_1): Delete.
2298 2003-06-13 Kelley Cook <kelleycook@wideopenwest.com>
2300 * config/i386/bsd.h: Remove ASM_FILE_START.
2301 * config/i386/djgpp.h: Likewise.
2302 * config/i386/gas.h (ASM_FILE_START): Output .file before .intel_syntax.
2304 * config/i386/djgpp.h: Move included unix.h, bsd.h, gas.h to ...
2305 * config.gcc (i[34567]86-pc-msdosdjgpp): ... here.
2307 2003-06-13 Vladimir Makarov <vmakarov@redhat.com>
2310 * haifa-sched.c (max_lookahead_tries,
2311 cached_first_cycle_multipass_dfa_lookahead,
2312 cached_issue_rate): New variables.
2313 (max_issue): Check the number of tries.
2314 (choose_ready): Calculate max_lookahead_tries.
2315 (sched_init): Check cached_issue_rate.
2317 2003-06-13 Richard Henderson <rth@redhat.com>
2319 * cfgbuild.c (make_edges): Set ABNORMAL with SIBCALL.
2320 * cfgrtl.c (purge_dead_edges): Expect it too.
2322 2003-06-13 Jim Wilson <wilson@tuliptree.org>
2323 Eric Botcazou <ebotcazou@libertysurf.fr>
2326 * combine.c (make_extraction): Use gen_lowpart_for_combine
2327 when extracting from a REG and not in the destination of a SET.
2329 2003-06-13 Doug Evans <dje@sebabeach.org>
2331 * tsystem.h (abort): Declare in inhibit_libc case to remove build
2332 warnings for addvsi3, et.al.
2334 2003-06-13 Aldy Hernandez <aldyh@redhat.com>
2336 * c-common.c (handle_mode_attribute): Use VECTOR_MODE_P macro.
2338 * simplify-rtx.c (simplify_subreg): Same.
2340 * emit-rtl.c (gen_lowpart_common): Same.
2342 2003-06-13 Kazu Hirata <kazu@cs.umass.edu>
2344 * builtins.c: Fix comment typos.
2345 * fold-const.c: Likewise.
2347 2003-06-13 Doug Evans <dje@sebabeach.org>
2348 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
2350 * config/m32r/m32r-protos.h (m32r_pass_by_reference): Declare.
2351 * config/m32r/m32r.c (m32r_pass_by_reference): New fn.
2352 (m32r_va_arg): Use it.
2353 * config/m32r/m32r.h (FUNCTION_ARG_PASS_BY_REFERENCE): Ditto.
2354 (RETURN_IN_MEMORY): Ditto.
2356 2003-06-13 Nathanael Nerode <neroden@gcc.gnu.org>
2358 * c-typeck.c: Remove #if 0 clauses.
2361 * config/alpha/openbsd.h, config/i386/openbsd.h,
2362 config/m68k/openbsd.h, config/sparc/openbsd.h: Remove
2363 residual reference to EGCS.
2365 2003-06-13 Richard Earnshaw <rearnsha@arm.com>
2367 * arm.c (output_call_mem): If the address references the link-register
2368 use an instruction sequence that avoids early-clobbering IP.
2369 (eliminate_lr2ip): Delete.
2371 2003-06-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2373 * c-format.c (format_types_orig): Disallow '*' width/precision in
2374 asm_fprintf format checks.
2376 2003-06-13 Ulrich Weigand <uweigand@de.ibm.com>
2378 * config/s390/s390.c (s390_va_arg): Fix alignment when retrieving
2379 non-integral types from integer register save area slots.
2381 2003-06-13 Nathanael Nerode <neroden@gcc.gnu.org>
2383 * config/i386/svr3dbx.h: GNU CC -> GCC; Intel 385 -> Intel 386.
2385 2003-06-13 Florian Weimer <fw@deneb.enyo.de>
2387 * doc/invoke.texi (SPARC Options): Document ``-mimpure-text''.
2389 2003-06-13 Kaz Kojima <kkojima@gcc.gnu.org>
2391 * config/sh/linux.h (TARGET_ASM_FILE_END): Set TARGET_ASM_FILE_END
2392 to file_end_indicate_exec_stack.
2394 2003-06-12 Richard Henderson <rth@redhat.com>
2397 * config/i386/i386.md (sse_movaps): Use an expander to force
2398 one operand to be a register.
2399 (sse_movups): Likewise.
2401 2003-06-13 Doug Evans <dje@sebabeach.org>
2403 Remove some build warnings.
2404 * config/m32r/initfini.c (__CTOR_LIST__,__DTOR_LIST__): Attribute used.
2405 (__do_global_ctors,__do_global_dtors): Ditto.
2407 2003-06-12 Richard Henderson <rth@redhat.com>
2410 * rtlanal.c (subreg_offset_representable_p): Relax subreg check.
2412 2003-06-13 Kazu Hirata <kazu@cs.umass.edu>
2414 * config/m32r/m32r.md: Fix a comment typo.
2416 2003-06-13 Eric Botcazou <ebotcazou@libertysurf.fr>
2417 Christian Ehrhardt <ehrhardt@mathematik.uni-ulm.de>
2420 * config/sparc/sparc.c (function_arg_record_value_parms): Add
2422 (function_arg_record_value_1): Set 'stack' to 1 if we run out of
2423 integer slots for an integer field.
2424 (function_arg_record_value_3): Shift vector index.
2425 (function_arg_record_value_2): Likewise.
2426 (function_arg_record_value): Initialize 'stack' to 0.
2427 Set 'stack' to 1 if we run out of integer slots for an integer field.
2428 Generate (parallel [(expr_list (nil) ...) ...]) if 'stack' is set to 1.
2430 2003-06-13 Eric Botcazou <ebotcazou@libertysurf.fr>
2432 PR optimization/10955
2433 * unroll.c (unroll_loop): Fix off-by-one bug.
2435 2003-06-12 Aldy Hernandez <aldyh@redhat.com>
2437 * config/rs6000/rs6000.c (function_arg): Remove typo.
2439 2003-06-12 Richard Henderson <rth@redhat.com>
2441 * config/i386/i386.c (legitimate_constant_p): Handle UNSPEC_NTPOFF
2444 2003-06-12 Richard Henderson <rth@redhat.com>
2447 * expmed.c (emit_store_flag): Use simplify_gen_subreg directly
2448 for extracting sub-words.
2450 2003-06-12 Richard Henderson <rth@redhat.com>
2453 * config/m68k/m68k.md (zero_extendhisi2): Use gen_lowpart_SUBREG.
2454 (zero_extendqihi2, zero_extendqisi2): Likewise.
2456 2003-06-12 Aldy Hernandez <aldyh@redhat.com>
2458 * config/rs6000/rs6000.c (function_arg): Always split vectors for
2459 e500 if it's a stdarg function.
2460 (function_arg_advance): Advance 2 registers for vectors in a
2462 (init_cumulative_args): Initialize stdarg.
2463 (rs6000_spe_function_arg): New.
2465 * config/rs6000/rs6000.h (rs6000_args): Add stdarg.
2467 2003-06-12 Aldy Hernandez <aldyh@redhat.com>
2469 * config/rs6000/rs6000.h (MODES_TIEABLE_P): Add SPE vectors.
2471 2003-06-12 Roger Sayle <roger@eyesopen.com>
2474 * fold-const.c (tree_expr_nonnegative_p): Handle addition
2475 and multiplication of zero extensions, floating point division,
2476 and integer<->fp, fp<->fp and zero extension conversions.
2477 The built-in ceil and floor functions preserve signedness.
2479 2003-06-12 Kazu Hirata <kazu@cs.umass.edu>
2481 * ChangeLog: Follow spelling conventions.
2482 * ChangeLog.2: Likewise.
2483 * c-decl.c: Likewise.
2484 * cfgloop.h: Likewise.
2485 * cgraph.c: Likewise.
2486 * coverage.c: Likewise.
2487 * cppcharset.c: Likewise.
2488 * cpphash.h: Likewise.
2489 * cpplex.c: Likewise.
2490 * cpplib.c: Likewise.
2491 * dbxout.c: Likewise.
2493 * dwarf2out.c: Likewise.
2494 * dwarfout.c: Likewise.
2495 * emit-rtl.c: Likewise.
2496 * explow.c: Likewise.
2497 * gcov-io.c: Likewise.
2498 * gcov-io.h: Likewise.
2500 * gengtype.c: Likewise.
2504 * reload.c: Likewise.
2507 2003-06-12 Janis Johnson <janis187@us.ibm.com>
2509 * doc/install.texi (m32r-*-elf): Change company to Renesas.
2511 Thu Jun 12 20:00:55 CEST 2003 Jan Hubicka <jh@suse.cz>
2513 * basic-block.h (flow_delete_block_noexpunge): Kill.
2514 * cfgrtl.c (flow_delete_block_noexpunge): Merge to
2517 2003-06-10 Richard Henderson <rth@redhat.com>
2520 * reg-stack.c (any_malformed_asm): New.
2521 (check_asm_stack_operands): Set it.
2522 (convert_regs_1): Check it before aborting.
2524 2003-06-12 Aldy Hernandez <aldyh@redhat.com>
2526 * config/rs6000/spe.md: Change all clobbers of the accumulator to sets.
2528 2003-06-12 Jakub Jelinek <jakub@redhat.com>
2530 * c-opts.c (complain_wrong_lang): Add on argument.
2531 Print no- switch if on is false.
2532 (c_common_decode_option): Adjust caller.
2534 2003-06-12 Ulrich Weigand <uweigand@de.ibm.com>
2536 * config/s390/s390.c (s390_emit_prologue): Use LA instead of AR
2537 to initialize GOT register.
2539 2003-06-12 Roger Sayle <roger@eyesopen.com>
2541 * fold-const.c (tree_expr_nonnegative_p): Add support for
2542 floating point constants, addition and multiplication.
2544 2003-06-12 J"orn Rennecke <joern.rennecke@superh.com>
2546 * sh.md (adddi3_compact, subdi3_compact): Add earlyclobber
2547 constraint modifier for operand 0.
2549 2003-06-12 Hans-Peter Nilsson <hp@axis.com>
2551 Don't warn on dollars in builtin macro definitions,
2552 e.g. __REGISTER_PREFIX__.
2553 * cpphash.h (struct cpp_reader): Move member warn_dollars...
2554 * cpplib.h (struct cpp_options): ...to here. Change type to
2556 * cppinit.c (cpp_create_reader): Set it to 1 here.
2557 (post_options): Don't set it here.
2558 * c-opts.c (c_common_init_options): Reset it to 0 here.
2559 (finish_options): Set it here.
2560 * cpplex.c (forms_identifier_p): Tweak for new location of
2563 * configure.in (assembler dwarf2 debug_line support): Define insn
2564 for cris-*-* and mmix-*-*.
2565 * configure: Regenerate.
2567 2003-06-11 Uwe Stieber <uwe@kaos-group.de>
2569 * config.gcc (arm*-*-kaos*, i[34567]86-*-kaos*, powerpc-*-kaos*,
2570 powerpcle-*-kaos*, strongarm-*-kaos*): New targets.
2571 (sh-*-elf*): Add sh*-*-kaos* support.
2572 * config/kaos.h, config/arm/kaos-strongarm.h, config/arm/kaos-arm.h,
2573 config/i386/kaos-i386.h, config/rs6000/kaos-ppc.h,
2574 config/sh/kaos-sh.h: New files.
2576 2003-06-12 Kazu Hirata <kazu@cs.umass.edu>
2578 * gcse.c (fis_get_condition): Make it a global function.
2579 * reload1.c (reload_cse_move2add): Detect implicit sets.
2580 * rtl.h: Add a prototype for fis_get_condition.
2582 2003-06-11 Richard Henderson <rth@redhat.com>
2584 * stmt.c (expand_asm_operands): Don't warn for memories with
2587 2003-06-11 Kaz Kojima <kkojima@gcc.gnu.org>
2589 * config/sh/sh.h (SUBTARGET_ASM_RELAX_SPEC): Rewrite without
2592 2003-06-11 Neil Booth <neil@daikokuya.co.uk>
2594 * hooks.c (hook_int_size_t_constcharptr_int_0): New.
2595 * hooks.h (hook_int_size_t_constcharptr_int_0): New.
2596 * langhooks-def.h (lhd_decode_option, LANG_HOOKS_DECODE_OPTION): Die.
2597 (LANG_HOOKS_HANDLE_OPTION, LANG_HOOKS_INITIALIZER): Update.
2598 * langhooks.c (lhd_decode_option): Remove.
2599 * langhooks.h (struct lang_hooks): Remove decode_option.
2600 * opts.c (handle_option): No longer use decode_option.
2602 2003-06-11 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2604 * cfgloopanal.c (variable_initial_value): Update the set of altered
2605 registers correctly.
2607 2003-06-11 Roger Sayle <roger@eyesopen.com>
2608 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2610 * config/d30v/d30v.h: Delete reference to ASM_FINAL_SPEC.
2611 * config/i386/netbsd-elf.h: Likewise.
2612 * config/m32r/m32r.h: Likewise.
2613 * config/mn10300/mn10300.h: Likewise.
2614 * config/stormy16/stormy16.h: Likewise.
2615 * config/v850/v850.h: Likewise.
2616 * config/vax/netbsd-elf.h: Likewise.
2617 * config/xtensa/elf.h: Likewise.
2618 * config/xtensa/linux.h: Likewise.
2620 2003-06-11 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2622 * config/mips/iris5gas.h (MDEBUG_ASM_SPEC): Override to match
2625 * config/mips/dbxmdebug.h: New file.
2626 * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it with
2627 gas and --with-stabs.
2629 2003-06-11 Ulrich Weigand <uweigand@de.ibm.com>
2631 * expr.c (can_move_by_pieces): align argument may be unused.
2633 2003-06-11 J"orn Rennecke <joern.rennecke@superh.com>
2635 * expr.c (convert_move): Handle moves between two CONCATs.
2637 2003-06-11 Kazu Hirata <kazu@cs.umass.edu>
2639 * config/h8300/h8300.h (RETURN_IN_MEMORY): Accept DImode if
2642 2003-06-11 Kazu Hirata <kazu@cs.umass.edu>
2644 * config/h8300/h8300.c (final_prescan_insn): Don't dump rtl.
2645 * config/h8300/h8300.h (MASK_RTL_DUMP): Remove.
2646 (TARGET_RTL_DUMP): Likewise.
2647 (TARGET_SWITHCES): Remove -mrtl-dump.
2649 2003-06-10 Richard Henderson <rth@redhat.com>
2651 * optabs.c (gen_cond_trap): Fix prepare_operand typo.
2653 2003-06-10 Richard Henderson <rth@redhat.com>
2655 * config/ia64/ia64.md (call_gp): Fix memory mode.
2657 2003-06-10 James E Wilson <wilson@tuliptree.org>
2660 * reload1.c (choose_reload_regs): For equiv reg, add loop over all
2661 hard regs for reload_reg_used_at_all and reg_class_contents checks.
2663 2003-06-10 Kazu Hirata <kazu@cs.umass.edu>
2665 * config/h8300/h8300.c (print_operand): Remove support for
2666 operand character 'b'.
2667 Add the AND case to operand character 'c'.
2668 * config/h8300/h8300.md (two anonymous patterns): Replace
2669 operand character 'b' with 'c'.
2671 2003-06-10 Kazu Hirata <kazu@cs.umass.edu>
2673 * config/h8300/h8300.c (print_operand): Remove support for
2674 operand character 'u'.
2676 2003-06-10 Nathanael Nerode <neroden@gcc.gnu.org>
2678 * configure.in: Fix typo.
2679 * configure: Regenerate.
2681 2003-06-10 Loren James Rittle <ljrittle@acm.org>
2683 * config/alpha/alpha.c (unicosmk_file_end): Add conditional
2686 2003-06-10 J"orn Rennecke <joern.rennecke@superh.com>
2688 * sh-protos.h (function_symbol): Declare.
2689 * sh.c (expand_block_move, expand_ashiftrt): Use it.
2690 (sh_expand_prologue, sh_expand_epilogue): Likewise.
2691 (sh_initialize_trampoline): Likewise.
2692 (function_symbol): New function.
2693 * sh.md (udivsi3, divsi3, mulsi3, ic_invalidate_line): Use it.
2694 (initialize_trampoline, call, call_pop, call_value, sibcall): Likewise.
2695 (call_value_pop, shcompact_return_tramp): Likewise.
2697 * sh.h (OVERRIDE_OPTIONS): Don't suppress --profile-arc-flag.
2699 * sh.md (GOTaddr2picreg): Use gen_lowpart to get lowpart of
2702 2003-06-10 DJ Delorie <dj@redhat.com>
2704 * doc/md.texi (Machine Constraints): Document stormy's Z
2707 2003-06-10 Geoffrey Keating <geoffk@apple.com>
2709 * except.c (call_site_base): Mark with GTY.
2711 2003-06-10 Richard Earnshaw <rearnsha@arm.com>
2713 * arm-proto.h: Convert to ISO C90 prototypes.
2716 2003-06-10 J"orn Rennecke <joern.rennecke@superh.com>
2718 * sh.c (sh_output_mi_thunk): Call insn_locators_initialize.
2720 2003-06-10 Steve Ellcey <sje@cup.hp.com>
2722 * calls.c (expand_call): Convert structure_value_addr to Pmode if
2725 2003-06-10 Andrew Haley <aph@redhat.com>
2727 * langhooks-def.h (LANG_HOOKS_DECL_OK_FOR_SIBCALL): New.
2728 (LANG_HOOKS_DECLS): Add LANG_HOOKS_DECL_OK_FOR_SIBCALL.
2729 (lhd_decl_ok_for_sibcall): New.
2730 * langhooks.c (lhd_decl_ok_for_sibcall): New.
2731 * langhooks.h (lang_hooks_for_decls.ok_for_sibcall): New field.
2732 * calls.c (expand_call): Check lang_hook before generating a
2735 2003-06-10 DJ Delorie <dj@redhat.com>
2737 * config/stormy16/stormy16.c (xstormy16_extra_constraint_p): Add Z,
2738 which matches (const_int 0) for addhi3.
2739 * config/stormy16/stormy16.md: Document known constraints.
2740 (addhi3): Handle adding zero.
2742 2003-06-10 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
2744 * config/m32r/m32r.h (HARD_REGNO_RENAME_OK): New.
2745 * config/m32r/m32r.c (m32r_hard_regno_rename_ok): New.
2746 * config/m32r/m32r-protos.h: Prototype it.
2748 2003-06-10 Janis Johnson <janis187@us.ibm.com>
2750 * config/rs6000/eabi.h (TARGET_OS_CPP_BUILTINS): Define builtins
2751 common to rs6000 sysv targets.
2752 * config/rs6000/eabisim.h (TARGET_OS_CPP_BUILTINS): Ditto.
2753 * config/rs6000/rtems.h (TARGET_OS_CPP_BUILTINS): Ditto.
2755 2003-06-10 Nick Clifton <nickc@redhat.com>
2757 * config.gcc: Add arm-wince-pe target.
2758 * config/arm/pe.h (MULTILIB_DEFAULTS): Define.
2759 Add comment about default apcs26 support.
2760 * config/arm/t-pe (MULTILIB_OPTIONS): Add an -mapcs-32
2762 (MULTILIB_DIRNAMES): Add 'apcs32'.
2763 * config/arm/t-wince-pe: New makefile fragment.
2764 * config/arm/wince-pe.h: New file. Overrides a few definitions
2767 2003-06-10 Roger Sayle <roger@eyesopen.com>
2769 * builtins.c (fold_builtin): Optimize cos(-x) as cos(x).
2770 * fold-const.c (fold <NEGATE_EXPR>): Convert -f(x) into f(-x)
2771 when x is easily negated and f is sin, tan or atan.
2772 (fold <MULT_EXPR>): Optimize tan(x)*cos(x) and cos(x)*tan(x) as
2773 sin(x) with flag_unsafe_math_optimizations.
2774 (fold <RDIV_EXPR>): With flag_unsafe_math_optimizations fold
2775 sin(x)/cos(x) as tan(x) and cos(x)/sin(x) as 1.0/tan(x).
2777 2003-06-10 Roger Sayle <roger@eyesopen.com>
2779 * fold-const.c (fold <EQ_EXPR>): Don't fold x == x only if x
2780 is a floating point type *and* we currently honor NaNs.
2781 (fold <NE_EXPR>): Likewise.
2783 2003-06-10 Mark Mitchell <mark@codesourcery.com>
2786 * tree-inline.c (inlinable_function_p): Call the language-specific
2789 2003-06-09 David Taylor <dtaylor@emc.com>
2791 * config/rs6000/rs6000.c (rs6000_va_start, rs6000_va_arg): Skip over
2794 2003-06-09 Nathanael Nerode <neroden@gcc.gnu.org>
2796 * configure.in: Remove references to host_truncate_target.
2797 * configure: Regenerate.
2798 * config.gcc: Remove references to truncate_target,
2799 host_truncate_target.
2801 * Makefile.in, configure.in, config/m68hc11/t-m68hc11-gas:
2802 Replace "build_canonical" with build, "host_canonical" with host.
2803 * configure.in: Use GCC_TOPLEV_SUBDIRS.
2804 * aclocal.m4: Include ../config/acx.m4.
2805 * configure: Regenerate.
2807 2003-06-09 David Taylor <dtaylor@emc.com>
2809 * config/rs6000/rs6000.c (rs6000_build_va_list): Give the two
2810 bytes of padding in the __va_list_tag structure a name (reserved).
2812 2003-06-09 Jason Merrill <jason@redhat.com>
2814 * fold-const.c (operand_equal_p): Handle ADDR_EXPR and TRUTH_NOT_EXPR.
2816 2003-06-09 Osku Salerma <osku@iki.fi>
2818 * c-format.c (check_format_string, get_constant): New.
2819 (handle_format_attribute, handle_format_arg_attribute,
2820 decode_format_attr): Change to use above functions.
2822 2003-06-09 Richard Henderson <rth@redhat.com>
2824 * stmt.c (expand_asm_operands): Re-word warning.
2826 2003-06-08 Andrew Pinski <pinskia@physics.uc.edu>
2829 * config/i386/djgpp.h (ASM_FILE_START): emit `.intel_syntax'
2832 2003-06-09 James E Wilson <wilson@tuliptree.org>
2834 * config/frv/cmovc.c, config/frv/cmovh.c, config/frv/cmovw.c,
2835 config/frv/frvbegin.c, config/frv/frvend.c, config/frv/lib1funcs.asm:
2836 Add libgcc exception.
2838 2003-06-09 David Edelsohn <edelsohn@gnu.org>
2839 Ayal Zaks <gcchaifa@us.ibm.com>
2841 * config/rs6000/rs6000.md (define_attr "type"): Add insert_word.
2842 (insvsi*): Add insert_word attribute.
2843 * config/rs6000/rs6000.c (rs6000_variable_issue): Add TYPE_INSERT_WORD.
2844 * config/rs6000/{40x.md,603.md,6xx.md,7450.md,7xx.md,mpc.md,
2845 power4.md,rios1.md,rios2.md,rs64.md}: Add insert_word.
2847 2003-06-09 Kazu Hirata <kazu@cs.umass.edu>
2849 * fold-const.c (fold): Fix a comment typo.
2851 2003-06-09 Nathan Sidwell <nathan@codesourcery.com>
2853 * tree-inline.c (expand_call_inline): DECL_SOURCE_LINE_FIRST is
2856 2003-06-09 J"orn Rennecke <joern.rennecke@superh.com>
2858 * sh.c (gen_block_redirect): Use locators.
2860 2003-06-09 Richard Earnshaw <rearnsha@arm.com>
2862 * arm.h (THUMB_PRINT_OPERAND_ADDRESS): Use %wd in format and remove
2865 2003-06-09 Richard Sandiford <rsandifo@redhat.com>
2867 * configure.in: Assume gas 2.14 and above can handle MIPS relocation
2869 * configure: Regenerated.
2871 2003-06-09 Richard Sandiford <rsandifo@redhat.com>
2872 Alexandre Oliva <aoliva@redhat.com>
2874 * config/mips/mips.h (GLOBAL_POINTER_REGNUM): New macro.
2875 (PIC_OFFSET_TABLE_REGNUM): Look at pic_offset_table_rtx after reload.
2876 (STARTING_FRAME_OFFSET): Don't allocate a cprestore slot for
2878 (MUST_SAVE_REGISTERS): Delete.
2879 * config/mips/mips.c (mips_frame_info): Remove extra_size field.
2880 (machine_function): Add global_pointer field.
2881 (mips_classify_constant): Check for (const $gp) using pointer equality
2882 with pic_offset_table_rtx.
2883 (mips_classify_constant): Handle RELOC_LOADGP_HI and RELOC_LOADGP_LO.
2884 (mips_restore_gp): Use current_function_outgoing_args_size.
2885 (print_operand): Use PIC_OFFSET_TABLE_REGNUM instead of
2886 GP_REG_FIRST + 28. Handle relocation strings that have
2888 (mips_reloc_string): Handle RELOC_LOADGP_HI and RELOC_LOADGP_LO.
2889 (mips_global_pointer): New function.
2890 (mips_save_reg_p): New function, mostly split out from...
2891 (compute_frame_size): ...here. Remove handling of extra_size.
2892 Reclaim args_size if no variables depend on it. Don't treat gp
2893 as a special case: handle it in the main GPR loop.
2894 (mips_initial_elimination_offset): Fix comment.
2895 (save_restore_insns): Save every register in the GPR mask,
2896 removing distinction between mask and real_mask.
2897 (mips_output_function_prologue): Update .frame psuedo-op after
2898 the removal of extra_size. Move the SVR4 PIC stack allocation
2899 and cprestore instructions to mips_expand_prologue.
2900 (mips_gp_insn): New function.
2901 (mips_expand_prologue): Set REGNO (pic_offset_table_rtx) to
2902 the chosen global pointer. Handle SVR4 PIC stack allocation
2903 in the same way as other ABIs. Adjust varargs code accordingly.
2904 Emit a cprestore insn after allocating the stack. Use mips_gp_insn
2905 to emit the loadgp sequence. Follow it with a loadgp_blockage
2906 if not using explicit relocs.
2907 (mips_output_function_epilogue): Reinstate the default gp register.
2908 (mips16_gp_pseudo_reg): Use pic_offset_table_rtx.
2909 (mips16_optimize_gp): Likewise.
2910 * config/mips/mips.md (UNSPEC_LOADGP): Remove.
2911 (UNSPEC_SETJMP, UNSPEC_LONGJMP): Remove.
2912 (UNSPEC_CPRESTORE, RELOC_LOADGP_HI, RELOC_LOADGP_LO): New.
2914 (loadgp_blockage, cprestore): New instructions.
2915 (builtin_setjmp_setup): Implement using emit_move_insn. Use
2916 pic_offset_table_rtx.
2917 (builtin_setjmp_setup_32, builtin_setjmp_setup_64): Remove.
2918 (builtin_longjmp): Use gen_raw_REG to force use of $28.
2920 2003-06-09 Richard Sandiford <rsandifo@redhat.com>
2922 * config/mips/mips-protos.h (mips_output_division): Declare.
2923 * config/mips/mips.h (MASK_CHECK_RANGE_DIV): Remove.
2924 (MASK_BRANCHLIKELY): Use MASK_CHECK_RANGE_DIV's old number.
2925 (TARGET_NO_CHECK_ZERO_DIV, TARGET_CHECK_RANGE_DIV): Remove.
2926 (TARGET_CHECK_ZERO_DIV): New macro.
2927 (TARGET_SWITCHES): Remove -mcheck-range-div & -mno-check-range-div.
2928 * config/mips/mips.c (mips_output_division): New function.
2929 * config/mips/mips.md (length): Take TARGET_CHECK_ZERO_DIV into
2930 account when calculating the default length of a division.
2931 (divmodsi4, divmoddi4, udivmodsi4, udivmoddi4): Turn into define_insns.
2932 Enable regardless of optimization level. Use mips_output_division.
2933 (divmodsi4_internal, divmoddi4_internal, udivmodsi4_internal,
2934 udivmoddi4_internal, div_trap, div_trap_normal, div_trap_mips16,
2935 divsi3, divsi3_internal, divdi3, divdi3_internal, modsi3,
2936 modsi3_internal, moddi3, moddi3_internal, udivsi3, udivsi3_internal,
2937 udivdi3, udivdi3_internal, umodsi3, umodsi3_internal, umoddi3,
2938 umoddi3_internal): Remove.
2940 2003-06-09 Richard Sandiford <rsandifo@redhat.com>
2942 * config/mips/mips.c (mips_reg_names): Change hilo entry to "".
2943 (mips_sw_reg_names): Likewise.
2944 (mips_regno_to_class): Change hilo entry to NO_REGS.
2945 (hilo_operand): Use MD_REG_P.
2946 (extend_operator): New predicate.
2947 (override_options): Remove 'a' constraint.
2948 (mips_secondary_reload_class): Remove hilo handling. Also remove
2949 handling of (plus sp reg) reloads for mips16.
2950 (mips_register_move_cost): Remove hilo handling.
2951 * config/mips/mips.h (FIXED_REGISTERS): Make hilo entry fixed.
2952 (MD_REG_LAST): Remove hilo from range.
2953 (HILO_REGNUM): Delete.
2954 (reg_class): Remove HILO_REG and HILO_AND_GR_REGS.
2955 (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update accordingly.
2956 (PREDICATE_CODES): Add entry for extend_operator.
2957 (DEBUG_REGISTER_NAMES): Change hilo entry to "".
2958 * config/mips/mips.md: Remove hilo clobbers wherever they occur.
2959 Remove constraints from multiplication define_expands. Remove
2960 clobbers from "decorative" define_expand patterns.
2961 (UNSPEC_HILO_DELAY): Delete.
2962 (*mul_acc_si, *mul_sub_si): Add early-clobber to operand 6.
2963 (mulsidi3, umulsidi3): Change pattern to match the TARGET_64BIT case.
2964 Adjust C code to just emit insns for !TARGET_64BIT.
2965 (mulsidi3_internal): Rename to mulsidi3_32bit.
2966 (mulsidi3_64bit): Use a "d" constraint for the destination.
2967 Use extend_operator so that the pattern can handle umulsidi3 as well.
2968 Split the instruction after reload.
2969 (*mulsidi3_64bit_parts): New pattern, generated by mulsidi3_64bit.
2970 (umulsidi3_internal): Rename to umulsidi3_32bit.
2971 (umulsidi3_64bit): Remove.
2972 (*smsac_di, *umsac_di): Line-wrap fixes.
2973 (udivsi3_internal): Don't allow operand 2 to be constant.
2974 (udivdi3_internal, umodsi3_internal, umoddi3_internal): Likewise.
2975 (movdi_internal2, movsi_internal): Remove hilo alternatives.
2976 (reload_in[sd]i, reload_out[sd]i, hilo_delay): Remove.
2978 2003-06-09 Richard Sandiford <rsandifo@redhat.com>
2981 * config/mips/mips.h (TARGET_FILE_SWITCHING, NO_DBX_FUNCTION_END,
2982 PUT_SDB_SCL, PUT_SDB_INT_VAL, PUT_SDB_VAL, PUT_SDB_ENDEF,
2983 PUT_SDB_TYPE, PUT_SDB_SIZE, PUT_SDB_DIM, PUT_SDB_START_DIM,
2984 PUT_SDB_NEXT_DIM, PUT_SDB_LAST_DIM, PUT_SDB_TAG, PUT_SDB_SRC_FILE,
2985 SDB_GENERATE_FAKE, TEXT_SECTION): Delete.
2986 (PUT_SDB_DEF, PUT_SDB_PLAIN_DEF, PUT_SDB_BLOCK_START,
2987 PUT_SDB_BLOCK_END, PUT_SDB_FUNCTION_END): Replace use of
2988 asm_out_text_file with asm_out_file.
2989 * config/mips/iris5gas.h (PUT_SDB_SIZE, PUT_SDB_TYPE): Likewise.
2990 * config/mips/elf.h (TEXT_SECTION): Undefine.
2991 * config/mips/elf64.h (TEXT_SECION): Undefine.
2992 * config/mips/openbsd.h (TEXT_SECION): Undefine.
2993 * config/mips/mips.c (asm_out_text_file, asm_out_data_file): Delete.
2994 (override_options): Disable small-data optimizations unless using
2995 gas or explicit relocations.
2996 (mips_asm_file_start, mips_asm_file_end, mips_output_function_epilogue,
2997 iris6_asm_named_section, iris6_asm_file_start): Remove code for
2998 handling TARGET_FILE_SWITCHING.
2999 (copy_file_data): Move into TARGET_IRIX6 block.
3001 2003-06-08 Richard Henderson <rth@redhat.com>
3003 * expr.h (EXPAND_MEMORY): New.
3004 * expr.c (expand_expr): Check it.
3005 * stmt.c (expand_asm_operands): Provide it when the constraint
3006 requires a memory. Warn for memory input constraints without
3009 2003-06-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3011 * varasm.c: Don't include c-tree.h.
3013 2003-06-08 Andreas Jaeger <aj@suse.de>
3015 * predict.h: Convert to ISO C90 prototypes.
3016 * predict.c: Likewise.
3017 * tree-dump.h: Likewise.
3018 * tree-dump.c: Likewise.
3019 * diagnostic.h: Likewise.
3020 * diagnostic.c: Likewise.
3021 * combine.c: Likewise.
3023 * rtl.h: Convert prototypes of combine.c to ISO C90.
3025 Sun Jun 8 21:27:41 CEST 2003 Jan Hubicka <jh@suse.cz>
3027 * cfglayout.c (insn_scope): New static function
3028 (block_locators_*, line_locators*, file_locators*): New static varrays.
3029 (scope_to_insns_initialize): Use them.
3030 (insn_line, insn_file): New functions.
3031 (scope_to_insns_finalize): Use insn_scope.
3032 (prologue_locator, epilogue_locator): New global variables.
3033 * emit-rt.c (try_split, make_insn_raw, make_jump_insn_raw,
3034 make_call_insn_raw, emit_copy_of_insn_after): Use locators.
3035 (emit_insn_after_scope, emit_insn_before_scope
3036 emit_jump_insn_after_scope, emit_jump_insn_before_scope
3037 emit_call_insn_after_scope, emit_call_insn_before_scope): Rename to...
3038 (emit_insn_after_setloc, emit_insn_before_setloc
3039 emit_jump_insn_after_setloc, emit_jump_insn_before_setloc
3040 emit_call_insn_after_setloc, emit_call_insn_before_setloc): ... these;
3042 * final.c (notice_source_line): Use locators.
3043 (final_start_function): Set initial source file and line.
3044 (final_scan_insn): Use locators.
3045 * ifcvt.c (noce_try_store_flag, noce_try_store_flag_constants,
3046 noce_try_addcc, noce_try_store_flag_mask, noce_try_cmove,
3047 noce_try_cmove_arith, noce_try_minmax, noce_try_abs,
3048 noce_process_if_block, find_cond_trap): Likewise.
3049 * integrate.c (copy_insn_list): Likewise.
3050 * jump.c (duplicate_loop_exit_test): LIkewise.
3051 * print-rtl.c (print_rtx): Print locators.
3052 * recog.c (peephole2_optimize): Likewise.
3053 * rtl.h (INSN_SCOPE): Remove.
3054 (emit_insn_after_scope, emit_insn_before_scope
3055 emit_jump_insn_after_scope, emit_jump_insn_before_scope
3056 emit_call_insn_after_scope, emit_call_insn_before_scope): Rename to...
3057 (emit_insn_after_setloc, emit_insn_before_setloc
3058 emit_jump_insn_after_setloc, emit_jump_insn_before_setloc
3059 emit_call_insn_after_setloc, emit_call_insn_before_setloc): ... these;
3060 (insn_file, insn_line, prologue_locator, epilogue_locator): Declare.
3061 * unroll.c (copy_loop_body): Use locators.
3062 * function.c (set_insn_locators): New function.
3063 (thread_prologue_and_epilogue_insns): Set the locators accordingly.
3065 2003-06-08 Kazu Hirata <kazu@cs.umass.edu>
3067 * config/h8300/h8300.h (LONG_LONG_TYPE_SIZE): Set to 64.
3068 * config/h8300/t-h8300 (LIB1ASMFUNCS): Remove _floatdisf
3069 _fixsfdi _fixunssfdi.
3070 (LIB2FUNCS_EXTRA): Add entries for clzhi2, ctzhi2, parityhi2,
3072 (TARGET_LIBGCC2_CFLAGS): Remove -DDI=SI.
3073 * config/h8300/clzhi2.c: New.
3074 * config/h8300/ctzhi2.c: Likewise.
3075 * config/h8300/parityhi2.c: Likewise.
3076 * config/h8300/popcounthi2.c: Likewise.
3078 Sun Jun 8 15:52:17 CEST 2003 Jan Hubicka <jh@suse.cz>
3080 * i386.md (subsi_3_zext, sse2_nandv2di3): Fix predicates.
3081 * i386.c (k8_avoid_jump_misspredicts): Fix debug output.
3083 * cfg.c (verify_flow_info): Move IL independent checks from cfgrtl here.
3084 (dump_bb): New based on old dump_bb in cfgrtl.c
3085 (debug_bb, debug_bb_n): Move the functions from cfgrtl.c here.
3086 * cfghooks.h (cfgh_verify_flow_info): Return status.
3087 * cfglayout.c (cfg_layout_finalize): Verify CFG correctness.
3088 * cfgrtl.c (debug_bb, debug_bb_n): Move to cfg.c
3089 (dump_bb): Remove generic parts.
3090 (rtl_verify_flow_info_1): Break out from rtl_verify_flow_info.
3091 (rtl_verify_flow_info): Only check things dependeing on linearized RTL.
3093 2003-06-08 Neil Booth <neil@daikokuya.co.uk>
3095 * Makefile.in: Rename options.c and options.h to c-options.c and
3097 (OBJS): Remove options.o.
3098 * c-opts.c: Don'tInclude c-options.h instead of options.h.
3099 * opts.c: Don't include options.h.
3100 (find_opt): Can't use enum opt_code or N_OPTS.
3101 * opts.h (struct cl_option, cl_options, cl_options_count): Move from...
3102 * opts.sh: ... here.
3104 2003-06-07 Eric Botcazou <ebotcazou@libertysurf.fr>
3105 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
3108 * ggc-common.c (HAVE_MMAP_FILE): Include sys/types.h
3109 if HAVE_MINCORE is defined.
3110 (MAP_FAILED): Define if not defined.
3111 (gt_pch_save): Test against MAP_FAILED.
3112 (gt_pch_restore): If HAVE_MINCORE, use MAP_FIXED to force
3113 the mapping address to the preferred base after checking it
3114 is possible to do so. Test against MAP_FAILED.
3115 * configure.in: Test for the presence of mincore in libc.
3116 * config.in: Regenerate.
3117 * configure: Regenerate.
3119 2003-06-07 Richard Henderson <rth@redhat.com>
3121 * config/alpha/alpha.c (alpha_setup_incoming_varargs): Fix
3122 conditional compilation guard.
3124 2003-06-08 Kazu Hirata <kazu@cs.umass.edu>
3126 * optabs.c (expand_abs): Set result_unsignedp to 1 if
3129 2003-06-07 Richard Henderson <rth@redhat.com>
3131 * c-cppbuiltin.c (c_cpp_builtins): Define __EXCEPTIONS for C also.
3133 2003-06-07 Richard Henderson <rth@redhat.com>
3135 * basic-block.h (EDGE_SIBCALL): New.
3136 (EDGE_ALL_FLAGS): Update.
3137 * cfg.c (dump_edge_info): Add sibcall name.
3138 * cfgbuild.c (make_edges): Use EDGE_SIBCALL.
3139 * cfgrtl.c (purge_dead_edges): Handle sibcalls.
3141 2003-06-07 Andreas Jaeger <aj@suse.de>
3143 * mklibgcc.in (lib2funcs): Remove _exit.
3144 * libgcc2.c: Remove L_exit.
3145 * gbl-ctors.h: Remove declarations dependend on NEED_ATEXIT.
3147 * system.h: Poison NEED_ATEXIT, ON_EXIT, EXIT_BODY.
3149 * doc/tm.texi (Misc): Remove NEED_ATEXIT, ON_EXIT, EXIT_BODY.
3151 * ggc.h: Convert to ISO C90 prototypes.
3152 * ggc-none.c: Likewise.
3153 * ggc-common.c: Likewise.
3154 * ggc-page.c: Likewise.
3155 * ggc-simple.c: Likewise.
3157 * crtstuff.c: Remove undefined usage of INIT_SECTION_PREAMBLE.
3159 * system.h: Poison INIT_SECTION_PREAMBLE.
3161 2003-06-07 Zack Weinberg <zack@codesourcery.com>
3163 * config.gcc (with_cpu handling): Translate sparc64 in
3164 $machine to --with-cpu=v9.
3165 * config/alpha/alpha.c
3166 (TARGET_ASM_GLOBALIZE_LABEL [TARGET_ABI_UNICOSMK]): Correct definition.
3167 (alpha_setup_incoming_varargs): #ifdef out when TARGET_ABI_UNICOSMK.
3169 * target.h: New hook asm_out.file_end.
3170 * target.h: Update to match. New hook macro TARGET_ASM_FILE_END.
3171 * toplev.c (compile_file): Use targetm.asm_out.file_end.
3172 * system.h: Poison ASM_FILE_END.
3173 * varasm.c (file_end_indicate_exec_stack): New.
3174 * output.h: Prototype it.
3175 * doc/tm.texi: Document TARGET_ASM_FILE_END and
3176 file_end_indicate_exec_stack. Delete references to attasm.h.
3178 * config/darwin.h (TARGET_ASM_FILE_END): Reset to darwin_file_end.
3179 (ASM_FILE_END): Delete; move code...
3180 * config/darwin.c (darwin_file_end): Here; new function.
3181 * config/darwin-protos.h: Prototype it.
3182 * config/alpha/alpha.c (unicosmk_asm_file_end): Make static,
3183 rename unicosmk_file_end.
3184 * config/arm/aof.h (ASM_FILE_END): Delete; move code...
3185 * config/arm/arm.c (aof_file_end): ... here; new static function.
3186 Set TARGET_ASM_FILE_END to aof_file_end if AOF_ASSEMBLER.
3187 Make aof_dump_imports and aof_dump_pic_table static.
3188 * config/avr/avr.c (asm_file_end): Rename avr_file_end, make static.
3189 Set TARGET_ASM_FILE_END to avr_file_end.
3190 * config/c4x/c4x.c (c4x_file_end): Make static. Take no arguments.
3191 Set TARGET_ASM_FILE_END to c4x_file_end.
3192 * config/h8300/h8300.c (asm_file_end): Rename h8300_file_end,
3193 make static. Take no arguments. Set TARGET_ASM_FILE_END to
3195 * config/i370/i370.h (ASM_FILE_END): Delete; move code...
3196 * config/i370/i370.c (i370_file_end): ... here; new static function.
3197 Set TARGET_ASM_FILE_END to i370_file_end.
3198 * config/i386/i386.c (ix86_asm_file_end): Rename ix86_file_end.
3199 Take no arguments. Call file_end_indicate_exec_stack if
3200 NEED_INDICATE_EXEC_STACK; don't use SUBTARGET_FILE_END.
3201 * config/i386/i386.h: Set TARGET_ASM_FILE_END, not ASM_FILE_END.
3202 Define NEED_INDICATE_EXEC_STACK to 0.
3203 * config/i386/linux.h, config/i386/linux64.h: Redefine
3204 NEED_INDICATE_EXEC_STACK to 1 instead of setting SUBTARGET_FILE_END.
3205 * config/i386/winnt.c (i386_pe_asm_file_end): Rename to
3206 i386_pe_file_end. Take no arguments. Use ix86_file_end.
3207 * config/ia64/ia64.c (ia64_hpux_asm_file_end): Rename to
3208 ia64_hpux_file_end, make static. Take no arguments.
3209 * config/ip2k/ip2k.c (asm_file_start, asm_file_end,
3210 commands_in_prologues, commands_in_epilogues): Delete.
3211 (function_epilogue): Update to match.
3212 * config/mips/mips.c (mips_asm_file_end): Rename mips_file_end,
3213 make static. Take no arguments.
3214 (iris6_asm_file_end): Rename iris6_file_end, make static, use
3215 mips_file_end, take no arguments.
3216 Set TARGET_ASM_FILE_END to iris6_file_end or mips_file_end as
3218 * config/mmix/mmix.c (mmix_asm_file_end): Rename mmix_file_end,
3219 make static, take no arguments. Set TARGET_ASM_FILE_END to
3221 * config/pa/pa.c (output_deferred_plabels): Make static, take
3222 no arguments. Set TARGET_ASM_FILE_END to output_deferred_plabels.
3223 * config/rs6000/xcoff.h (TARGET_ASM_FILE_END): Set it.
3224 (ASM_FILE_END): Delete; move code...
3225 * config/rs6000/rs6000.c (rs6000_xcoff_file_end): ... here;
3226 new static function.
3228 * config/avr/avr.h, config/cris/cris.h, config/h8300/h8300.h
3229 * config/mmix/mmix.h, config/mips/iris6.h, config/mips/mips.h:
3230 Don't set ASM_FILE_END.
3231 * config/alpha/linux-elf.h, config/m68k/linux.h, config/rs6000/linux.h
3232 * config/rs6000/linux64.h, config/s390/linux.h, config/sparc/linux.h
3233 * config/sparc/linux64.h: Set TARGET_ASM_FILE_END to
3234 file_end_indicate_exec_stack; don't set ASM_FILE_END.
3235 * config/alpha/unicosmk.h, config/i386/cygming.h
3236 * config/ia64/hpux.h: Set TARGET_ASM_FILE_END, not ASM_FILE_END.
3237 * config/arm/arm-protos.h, config/alpha/alpha-protos.h
3238 * config/avr/avr-protos.h, config/c4x/c4x-protos.h
3239 * config/h8300/h8300-protos.h, config/ia64/ia64-protos.h
3240 * config/ip2k/ip2k-protos.h, config/mips/mips-protos.h
3241 * config/mmix/mmix-protos.h, config/pa/pa-protos.h: Update.
3243 Sat Jun 7 18:32:13 CEST 2003 Jan Hubicka <jh@suse.cz>
3245 * i386.h (OPTION_DEFAULT_SPECS): Avoid -mcpu default when -march is
3248 Sat Jun 7 15:20:01 CEST 2003 Jan Hubicka <jh@suse.cz>
3250 * Makefile.in (stageprofile_build): Kill redundant target.
3251 * i386.c (mdep_reorg): Don't pad jumps for Athlon.
3253 2003-06-07 Andreas Jaeger <aj@suse.de>
3255 * doc/tm.texi (Costs): Remove DONT_REDUCE_ADDR documentation.
3257 * config/avr/avr.h: Remove comment regarding DONT_REDUCE_ADDR.
3258 * config/dsp16xx/dsp16xx.h: Likewise.
3259 * config/i386/i386.h: Likewise.
3260 * config/ip2k/ip2k.h: Likewise.
3262 2003-06-07 Neil Booth <neil@daikokuya.co.uk>
3264 * Makefile.in (OJBS, c-opts.o): Update.
3265 (c-options.c, c-options.h): Rename options.h and options.c.
3266 (options.h): Rename options_.h.
3268 * c-common.h (c_common_handle_option): Replace c_common_decode_option.
3269 (c_common_init_options): Update prototype.
3270 * c-lang.c (c_init_options): Update prototype.
3271 (LANG_HOOKS_HANDLE_OPTION): Override.
3272 (LANG_HOOKS_DECODE_OPTION): Drop.
3273 * c-opts.c: Include opts.h and options.h instead of c-options.h
3275 (lang_flags): Move to file scope.
3276 (find_opt, c_common_decode_option): Remove.
3277 (CL_C, CL_OBJC, CL_CXX, CL_OBJCXX, CL_JOINED, CL_SEPARATE,
3278 CL_REJECT_NEGATIVE): Move to opts.h.
3279 (missing_arg): Update prototype.
3280 (c_common_init_options): Update for new prototype.
3281 (c_common_handle_options): Filenames are passed as N_OPTS.
3282 * hooks.c (hook_int_void_0): New.
3283 * hooks.h (hook_int_void_0): New.
3284 * langhooks-def.h (LANG_HOOKS_INIT_OPTIONS): New default.
3285 (LANG_HOOKS_HANDLE_OPTION): Default to NULL for now.
3286 (LANG_HOOKS_INITIALIZER): Update.
3287 * langhooks.h (init_options): Update.
3288 (handle_option): New.
3289 * opts.c, opts.h: New files.
3290 * opts.sh: Update c file to include opts.h and options.h.
3291 * toplev.c: Include opts.h; change options.h to options_.h.
3292 (parse_options_and_default_flags): Get lang_mask, use
3293 handle_option for language-specific handling.
3294 * objc/objc-lang.c (LANG_HOOKS_DECODE_OPTON): Drop.
3295 (LANG_HOOKS_HANDLE_OPTION): Override.
3296 (objc_init_options): Update.
3298 2003-06-07 Magnus Kreth <magnus.kreth@gmx.de>
3299 Thibaud Gaillard <thibaud.gaillard@nto.atmel.com>
3302 * Makefile.in (install-common): Remove GCOV_INSTALL_NAME instead of
3305 2003-06-07 Kelley Cook <kelleycook@wideopenwest.com>
3307 * configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Remove quotes in
3309 * configure: Regenerate.
3311 2003-06-07 Alan Modra <amodra@bigpond.net.au>
3313 * config/rs6000/linux64.h (CRT_CALL_STATIC_FUNCTION): Define.
3315 2003-06-06 James E Wilson <wilson@tuliptree.org>
3318 * reload1.c (merge_assigned_reloads): Abort only if two reloads have
3319 different in fields.
3321 2003-06-06 Nathanael Nerode <neroden@gcc.gnu.org>
3323 * configure.in: Make $(target_subdir) correspond with top level usage.
3324 * Makefile.in: Likewise.
3325 * configure: Regenerate.
3327 2003-06-06 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3329 * pa.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_COMMON,
3330 ASM_OUTPUT_ALIGNED_LOCAL): Cast `SIZE' and `ALIGNED' parameters to
3331 unsigned HOST_WIDE_INT.
3332 * pa-pro-end.h (ASM_OUTPUT_ALIGNED_COMMOM, ASM_OUTPUT_ALIGNED_LOCAL):
3334 * pa64-hpux.h (ASM_OUTPUT_ALIGNED_COMMON, ASM_OUTPUT_ALIGNED_LOCAL):
3337 2003-06-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3339 * doc/install.texi (Prerequisites): New section documenting
3340 tools and packages necessary prior to building and/or
3342 * doc/install.texi2html: Also generate prerequisites.html.
3344 2003-06-06 Richard Earnshaw <rearnsha@arm.com>
3347 * ifcvt.c (noce_process_if_block): Fail if the destination has
3350 2003-06-06 Jason Merrill <jason@redhat.com>
3352 * stmt.c (resolve_asm_operand_names): Rename from
3353 resolve_operand_names. No longer static. Avoid needless copying.
3354 Don't build array of constraints.
3355 (expand_asm_operands): Build it here.
3356 * tree.h: Declare resolve_asm_operand_names.
3358 * stmt.c (expand_decl): Put artificial vars into registers even
3359 when not optimizing, and don't mark the regs as user vars.
3361 2003-06-06 J"orn Rennecke <joern.rennecke@superh.com>
3363 * sh.h (FUNCTION_ARG_1): Consistently use NEW_MODE for the mode
3364 of the generated register.
3366 2003-06-06 Daniel Jacobowitz <drow@mvista.com>
3368 * config.gcc: Add a missing sparc64 case.
3370 2003-06-06 Jakub Jelinek <jakub@redhat.com>
3372 * mklibgcc.in: Propagate .note.GNU-stack section if needed into
3373 the .hidden assembly stubs.
3375 2003-06-06 H.J. Lu <hongjiu.lu@intel.com>
3377 * config.gcc (extra_headers): Add emmintrin.h for i[34567]86-*-*
3380 * config/i386/mmintrin.h: Update version and add alternate
3382 * config/i386/xmmintrin.h: Likewise.
3384 * config/i386/xmmintrin.h: Include <emmintrin.h>. Move SSE2
3386 * config/i386/emmintrin.h: Here. New file.
3388 2003-06-06 Roger Sayle <roger@eyesopen.com>
3390 * fold-const.c (fold <ABS_EXPR>): Re-fold the result of folding
3391 fabs(-x) into fabs(x). Use tree_expr_nonnegative_p to determine
3392 when the ABS_EXPR (fabs or abs) is not required.
3393 (tree_expr_nonnegative_p): Move the logic that sqrt and exp are
3394 always nonnegative from fold to here. Additionally, cabs and fabs
3395 are always non-negative, and pow and atan are non-negative if
3396 their first argument is non-negative.
3398 * builtins.c (fold_builtin_cabs): New function to fold cabs{,f,l}.
3399 Evaluate cabs of a constant at compile-time. Convert cabs of a
3400 non-complex argument into fabs. Convert cabs(z) into
3401 sqrt(z.r*z.r + z.i*z.i) at the tree-level with -ffast-math or
3402 -funsafe-math-optimizations or -ffast-math.
3403 (fold_builtin): Convert BUILT_IN_FABS{,F,L} into an ABS_EXPR.
3404 Fold BUILT_IN_CABS{,F,L} using fold_builtin_cabs.
3406 Thu Jun 5 20:51:09 CEST 2003 Jan Hubicka <jh@suse.cz>
3408 * sourcebuild.texi (Front End Directory): Document new hooks.
3410 Fri Jun 6 11:02:35 CEST 2003 Jan Hubicka <jh@suse.cz>
3412 * function.c (FLOOR_ROUND, CEIL_ROUND): Fix.
3413 * i386.md (gen_pro_epilogue_adjust_stack): Deal with gigantic
3415 (pro_epilogue_adjust_stack_rex64_2): New pattern
3417 Fri Jun 6 11:03:14 CEST 2003 Jan Hubicka <jh@suse.cz>
3419 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3421 * cfghooks.h, cfghooks.c: New files.
3422 * Makefile.in (BASIC_BLOCK_H): Depends on cfghooks.h.
3423 (OBJS): Add cfghooks.o.
3424 (cfghooks.o): New rule.
3425 * basic-block.h (split_edge): Rename to rtl_split_edge.
3426 (verify_flow_info): Rename to rtl_verify_flow_info.
3427 (cfghooks.h): Included here.
3428 * cfgrtl.c (split_edge): Renamed rtl_split_edge.
3429 (verify_flow_info): Renamed rtl_verify_flow_info.
3430 * toplev.c (rest_of_compilation): Call rtl_register_cfg_hooks.
3432 * basic-block.h (split_block, split_edge, flow_delete_block,
3433 redirect_edge_and_branch, redirect_edge_and_branch_force): Delete.
3434 (flow_delete_block_noexpunge): Return void.
3435 * cfg.c (verify_flow_info): New function.
3436 * cfgcleanup.c (try_simplify_condjump, outgoing_edges_match,
3437 try_crossjump_to_edge, try_optimize_cfg, delete_unreachable_blocks):
3439 * cfglayout.c (function_footer): Rename to...
3440 (cfg_layout_function_footer): ... this variable
3441 (unlink_insn_chain): Make global.
3442 (fixup_reorder_chain, record_effective_endpoints): Update.
3443 (cleanup_unconditional_jumps): Use delete_block.
3444 (cfg_layout_redirect_edge, cfg_layout_split_block): Move to cfgrtl.c
3445 (cfg_layout_duplicate_bb): Use redirect_edge_and_branch_force.
3446 (cfg_layout_initialize, cfg_layout_finalize): Update hooks.
3447 * cfglayout.h (cfg_layout_redirect_edge, cfg_layout_split_block): Delete.
3448 (cfg_layout_function_footer): Declare.
3449 * cfgloopmanip (split_loop_bb): Do not update RBI.
3450 (remove_bbs): Use delete_block.
3451 (loop_reidrect_edge, loop_delete_branch_edge): Use
3452 redirect_edge_and_branch.
3453 (create_preheader): Use split_block and redirect_edge_and_branch_force.
3454 (split_edge_with): Likewise.
3455 * cfgrtl.c: Include cfglayout.h
3456 (split_edge): Rename to ...