1 2003-06-27 Chris Demetriou <cgd@broadcom.com>
3 * config/mips/mips.c (mips_build_va_list): Make padding in
4 va_list structure explicit to avoid -Wpadded warnings.
6 2003-06-27 Ulrich Weigand <uweigand@de.ibm.com>
8 * config/s390/s390.h (SECONDARY_OUTPUT_RELOAD_CLASS): Define.
9 * config/s390/s390.c (s390_secondary_output_reload_class): New function.
10 * config/s390/s390-protos.h (s390_secondary_output_reload_class):
12 * config/s390/s390.md ("reload_outti", "reload_outdi",
13 "reload_outdf"): New expanders.
15 * config/s390/s390.md ("movti" + splitters): Handle non-offsettable
16 memory operands as source.
17 ("movdi" + splitters): Likewise.
18 ("movdf" + splitters): Likewise.
19 * config/s390/s390.c (s390_split_ok_p): New function.
20 * config/s390/s390-protos.h (s390_split_ok_p): Declare it.
22 2003-06-27 Kazu Hirata <kazu@cs.umass.edu>
24 * combine.c (force_to_mode): Replace the equality comparison
25 of INTVALs with a pointer equality comparison.
26 (simplify_comparison): Likewise.
28 2003-06-27 Kazu Hirata <kazu@cs.umass.edu>
30 * jump.c (rtx_renumbered_equal_p): Replace an expression that
31 is known to be 0 with 0.
33 2003-06-27 Kazu Hirata <kazu@cs.umass.edu>
35 * gcse.c (expr_equiv_p): Replace expressions that are known to
38 2003-06-27 Kazu Hirata <kazu@cs.umass.edu>
40 * cse.c (fold_rtx): Replace the equality comparison of INTVALs
41 with a pointer equality comparison.
43 2003-06-27 Kazu Hirata <kazu@cs.umass.edu>
45 * rtlanal.c (reg_mentioned_p): Return 0 earlier if REG and IN
46 are known to be not equivalent.
48 2003-06-27 Richard Henderson <rth@redhat.com>
50 * config/alpha/alpha.c (function_arg): Don't pass small aggregates
51 in floating point registers. Validate that we don't receive complex
52 values here. Use #elif.
53 (return_in_memory, function_value): New.
54 (alpha_va_arg): Handle complex values as two arguments.
55 * config/alpha/alpha.h (RETURN_IN_MEMORY): Use return_in_memory.
56 (FUNCTION_VALUE, LIBCALL_VALUE): Use function_value.
57 (SPLIT_COMPLEX_ARGS): New.
58 * config/alpha/alpha-protos.h: Update.
60 2003-06-27 Ulrich Weigand <uweigand@de.ibm.com>
62 * ggc-page.c (inverse_table): Change type of mult to size_t.
63 (compute_inverse): Compute inverse using size_t, not unsigned int.
64 Compute inverse also for sizes larger than half a machine page.
66 Fri Jun 27 18:36:12 CEST 2003 Jan Hubicka <jh@suse.cz>
68 * toplev.c (rest_of_decl_compilation): Only varpoolize argument
69 when called before cgraph_optimize.
71 2003-06-27 Zack Weinberg <zack@codesourcery.com>
73 * config/darwin.h, config/elfos.h, config/i960/i960-coff.h
74 * config/m68k/coff.h: ASM_FILE_START_FILE_DIRECTIVE should
75 be TARGET_ASM_FILE_START_FILE_DIRECTIVE.
77 Fri Jun 27 17:41:16 CEST 2003 Jan Hubicka <jh@suse.cz>
79 * cgraph.c (cgraph_node, cgraph_varpool_node): Avoid re-initializing
82 2003-06-27 Hans-Peter Nilsson <hp@axis.com>
84 * defaults.h (REGISTER_MOVE_COST): Define default here.
85 * regclass.c: Don't define default REGISTER_MOVE_COST here.
86 * reload.c, reload1.c: Ditto.
88 2003-06-27 Richard Earnshaw <rearnsha@arm.com>
90 * flags.h: Really install previous change.
92 2003-06-27 Nathan Sidwell <nathan@codesourcery.com>
94 * rtl.h (emit_note): Remove FILE parameter.
95 * emit-rtl.c (emit_line_note): Adjust emit_note call.
96 (emit_note): Remove FILE parameter. Adjust.
97 * builtins.c (expand_builtin_expect): Adjust emit_note call.
98 * c-semantics.c (genrtl_scope_stmt): Likewise.
99 (expand_stmt): Likewise.
100 * cfglayout.c (reemit_insn_block_notes): Likewise.
101 (duplicate_insn_chain): Likewise.
102 * except.c (expand_eh_region_start, expand_eh_region_end,
103 sjlj_emit_function_enter): Likewise.
104 * explow.c (probe_stack_range): Likewise.
105 * expr.c (emit_block_move_via_loop): Likewise.
106 * function.c (init_function_start, expand_function_start,
107 expand_function_end, thread_prologue_and_epilogue_insns): Likewise.
108 * integrate.c (expand_inline_function, copy_insn_list): Likewise.
109 * reg-stack.c (compensate_edge): Likewise.
110 * reload1.c (reload): Likewise.
111 * rtlanal.c (hoist_insn_to_edge): Likewise.
112 * stmt.c (expand_fixup, expand_start_loop, expand_start_null_loop,
113 expand_loop_continue_here, expand_end_loop, expand_continue_loop,
114 expand_exit_loop_top_cond, expand_value_return,
115 expand_start_bindings_and_block, expand_end_bindings,
116 expand_decl_cleanup, expand_start_case): Likewise.
117 * unroll.c (copy_loop_body
118 * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Likewise.
119 * config/ia64/ia64.c (ia64_output_mi_thunk): Likewise.
120 * config/rs6000/rs6000.c (rs6000_emit_eh_toc_restore,
121 rs6000_emit_allocate_stack, rs6000_output_function_prologue,
122 rs6000_output_function_epilogue, rs6000_output_mi_thunk): Likewise.
123 * config/sh/sh.c (sh_output_mi_thunk): Likewise.
124 * config/sparc/sparc.c (sparc_output_mi_thunk): Likewise.
126 2003-06-27 Nathan Sidwell <nathan@codesourcery.com>
128 * c-tree.h (grokfield): Remove unused filename and line parameters.
129 * c-decl.c (grokfield): Remove unused filename and line parameters.
130 * c-parse.in (component_decl): Adjust field grokking rules, adjust
132 (component_declarator): Likewise.
133 (component_notype_declarator): Likewise.
134 * objc/objc-act.c (build_module_descriptor): Adjust grokfield
136 (build_protocol_template, build_method_prototype_list_template,
137 build_method_prototype_template, build_category_template,
138 build_selector_template, build_class_template,
139 build_super_template, build_ivar_template,
140 build_ivar_list_template, build_method_list_template,
141 build_method_template, add_instance_variable): Likewise.
143 2003-06-27 Kazu Hirata <kazu@cs.umass.edu>
145 * stmt.c (do_jump_if_equal): Return 0 earlier if OP1 and
146 OP2 are known to be not equivalent.
148 2003-06-26 Devang Patel <dpatel@apple.com>
150 * final.c (debug_flush_symbol_queue): New function.
151 (debug_queue_symbol): New function.
152 (debug_free_queue): New function.
153 (debug_nesting): New variable.
154 (symbol_queue): New variable.
155 (symbol_queue_index): Same.
156 (symbol_queue_size): Same.
157 * debug.h (debug_flush_symbol_queue): New.
158 (debug_queue_symbol): New.
159 (debug_free_queue): New.
160 (debug_nesting): New.
161 (symbol_queue_index): New.
162 * dbxout.c (DBXOUT_DECR_NESTING): New macro.
163 (DBXOUT_DECR_NESTING_AND_RETURN): New macro.
164 (dbxout_init): Delay symbol output.
165 (dbxout_global_decl): Save, set and reset TREE_USED bit around
166 dbxout_symbol() call.
167 (dbxout_begin_function): Same.
168 (dbxout_finish): Free symbol queue.
169 (dbxout_type): Put appropriate symbols in queue.
170 (dbxout_symbol): Put info for symbol's type in queue.
171 Decrement/Increment nesting counts flush symbol queue appropriately.
172 (dbxout_parms): Increment dbxout nesting.
173 (dbxout_reg_parms): Same.
174 * flags.h (flag_debug_only_used_symbols): New.
175 * toplev.c (flag_debug_only_used_symbols): New variable.
176 (lang_independent_options): Add entries for new option
177 -feliminate-unused-debug-symbols.
178 * common.opt: Add entry for -feliminate-unused-debug-symbols.
179 * opts.c (common_handle_options): Same.
180 * config/rs6000/darwin.h (CC1_SPEC): Interpret -gused as
181 -feliminate-unused-debug-symbols.
182 * doc/invoke.texi (Debugging Options): Document
183 -feliminate-unused-debug-symbols.
185 2003-06-26 Roger Sayle <roger@eyesopen.com>
186 Jakub Jelinek <jakub@redhat.com>
188 * builtins.c (expand_builtin_sprintf): Use c_getstr and strlen to
189 obtain the format string instead of using TREE_STRING_POINTER and
190 TREE_STRING_LENGTH. Only optimize sprintf(dst,"%s",src) when the
191 return value is unused or the length of src is a known constant.
193 2003-06-26 Richard Henderson <rth@redhat.com>
195 * config/ia64/ia64.h (REGISTER_NAMES): R0 is really AP.
197 2003-06-26 Richard Henderson <rth@redhat.com>
199 * config/ia64/ia64.c (ia64_expand_call): Don't add ar.pfs for sibcalls.
200 (ia64_split_call): Only load descriptor for GP register inputs.
201 (ia64_expand_epilogue): Check current_frame_info.mask not
202 current_function_is_leaf to restore ar.pfs.
204 2003-06-26 Richard Henderson <rth@redhat.com>
206 * emit-rtl.c (try_split): Append to new CALL_INSN_FUNCTION_USAGE
207 instead of replacing it.
209 2003-06-26 Richard Henderson <rth@redhat.com>
211 * flow.c (propagate_one_insn): Kill function return value
212 registers across tail calls.
214 * flow.c (propagate_one_insn): Preserve live-at-end registers
217 2003-06-26 J"orn Rennecke <joern.rennecke@superh.com>
219 * reload.c (can_reload_into): New function.
220 (push_reload): Use it.
222 2003-06-26 Kazu Hirata <kazu@cs.umass.edu>
224 * config/h8300/h8300.c (compute_a_rotate_length): Fix the
225 references to the amount of a rotation.
227 2003-06-26 Nathanael Nerode <neroden@gcc.gnu.org>
229 * config/sh/coff.h: Don't include dbxcoff.h.
230 * config.gcc: List it here.
232 2003-06-26 Kazu Hirata <kazu@cs.umass.edu>
234 * postreload.c (reload_cse_simplify_set): Call cselib_lookup
235 earlier. Don't check if SRC is a constant.
237 2003-06-26 Kazu Hirata <kazu@cs.umass.edu>
239 * Makefile.in (OBJS): Add postreload.o.
240 Remove cselib.h from the dependency list for reload1.o.
241 Add a dependency list for postreload.o.
242 * reload.h: Change the comment for the prototype of
244 * reload1.c: Don't include cselib.h.
245 (reload_cse_regs): Move to postreload.c
246 (reload_cse_regs_1): Likewise.
247 (reload_cse_noop_set_p): Likewise.
248 (reload_cse_simplify_set): Likewise.
249 (reload_cse_simplify_operands): Likewise.
250 (RELOAD_COMBINE_MAX_USES): Likewise.
251 (reload_combine_ruid): Likewise.
252 (LABEL_LIVE): Likewise.
253 (reload_combine): Likewise.
254 (reload_combine_note_use): Likewise.
255 (reload_combine_note_store): Likewise.
256 (reg_set_luid): Likewise.
257 (reg_offset): Likewise.
258 (reg_base_reg): Likewise.
259 (reg_mode): Likewise.
260 (move2add_luid): Likewise.
261 (move2add_last_label_luid): Likewise.
262 (MODES_OK_FOR_MOVE2ADD): Likewise.
263 (reload_cse_move2add): Likewise.
264 (move2add_note_store): Likewise.
265 (reload_cse_simplify): Likewise.
268 2003-06-26 Kazu Hirata <kazu@cs.umass.edu>
270 * config/avr/avr.c (final_prescan_insn): Remove support for
272 * config/avr/avr.h (MASK_RTL_DUMP): Remove.
273 (TARGET_RTL_DUMP): Likewise.
274 (TARGET_SWITCHES): Remove -mrtl.
276 2003-06-26 Kazu Hirata <kazu@cs.umass.edu>
278 * config/h8300/h8300-protos.h: Change emit_a_rotate to
279 output_a_rotate. Add a prototype for compute_a_rotate_length.
280 * config/h8300/h8300.c (emit_a_rotate): Change to
282 (compute_a_rotate_length): New.
283 (h8300_adjust_insn_length): Remove.
284 * config/h8300/h8300.h (ADJUST_INSN_LENGTH): Remove.
285 * config/h8300/h8300.md (adjust_length): Remove.
286 (*rotlqi3_1): Use output_a_rotate and compute_a_rotate_length.
287 (*rotlhi3_1): Likewise.
288 (*rotlsi3_1): Likewise.
290 2003-06-26 Roger Sayle <roger@eyesopen.com>
291 Richard Henderson <rth@redhat.com>
293 * builtins.c (expand_builtin_mathfn): Always stabilize the argument
294 list against re-evaluation. If expand_unop fails, call expand_call
295 with the stabilized argument list rather than return NULL_RTX.
296 (expand_builtin_mathfn2): Likewise, always stabilize the argument
297 list, and call expand_call ourselves if expand_binop fails.
299 2003-06-26 Eric Botcazou <ebotcazou@libertysurf.fr>
301 PR optimization/11210
302 * fold-const (decode_field_reference): Strip only NOPs that
303 don't affect the sign.
305 2003-06-26 Dhananjay Deshpande <dhananjayd@kpitcummins.com>
307 * gcc/config/sh/sh.md (push_fpscr): Enable for TARGET_SH2E.
308 (pop_fpscr, fpu_switch): Likewise.
310 2003-06-26 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
314 * Makefile.in (value-prof.o): New.
315 (LIBGCOV): Add _gcov_merge_single and _gcov_merge_delta
316 (profile.o): Add value-prof.h and tree.h dependency.
317 * flags.h (flag_profile_values): Declare.
318 * gcov-io.h (GCOV_COUNTERS, GCOV_COUNTER_NAMES, GCOV_MERGE_FUNCTIONS):
320 (GCOV_COUNTER_V_INTERVAL, GCOV_COUNTER_V_POW2, GCOV_COUNTER_V_SINGLE,
321 GCOV_COUNTER_V_DELTA): New counter sections.
322 (__gcov_merge_single, __gcov_merge_delta): Declare.
323 * flow.c (mark_used_regs): Set subregs_of_mode only when the
324 structure is initialized.
325 * libgcov.c (__gcov_merge_single, __gcov_merge_delta): New functions.
326 * profile.c: Include value-prof.h and tree.h.
327 (gen_interval_profiler, gen_pow2_profiler, gen_one_value_profiler,
328 gen_const_delta_profiler, instrument_values): New static functions.
329 (get_exec_counts): Fix comment.
330 (branch_prob): Invoke instrument_values.
331 * toplev.c (flag_profile_values): New flag.
332 * doc/invoke.texi (-fprofile-values): Document.
334 2003-06-26 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
336 * Makefile.in (cfgrtl.o): Add expr.h dependency.
337 * cfgrtl.c: Include expr.h.
338 (mark_killed_regs, safe_insert_insn_on_edge): New
340 * config/i386/i386.h (AVOID_CCMODE_COPIES): Define.
341 * basic-block.h (safe_insert_insn_on_edge): Declare.
343 2003-06-26 Neil Booth <neil@daikokuya.co.uk>
345 * c-opts.c (missing_arg): Make non-static.
346 (c_common_handle_option): Don't check for missing arguments.
347 * opts.c (handle_option): Check for missing arguments.
349 2003-06-26 David Edelsohn <edelsohn@gnu.org>
351 * config/rs6000/power4.md (power4-veccomplex): Correct latency.
353 2003-06-25 Loren James Rittle <ljrittle@acm.org>
355 * configure.in (ld_vers): Portability [sed].
356 * configure: Regenerate with autoconf213.
358 2003-06-25 H.J. Lu <hongjiu.lu@intel.com>
360 * doc/extend.texi: Document new builtin functions for Intel
361 Prescott New Intrunctions.
363 * doc/invoke.texi: Document new command-line options, -mpni and
364 -mno-pni, for Intel Prescott New Intrunctions.
366 * config.gcc (extra_headers): Add pmmintrin.h for i[34567]86-*-*.
368 * config/i386/i386.c (override_options): Turn on MASK_SSE2
369 for -mpni. Turn on MASK_SSE for -msse2.
370 (bdesc_2arg): Add PNI builtins with 2 args.
371 (bdesc_1arg): Add PNI builtins with 1 arg.
372 (ix86_init_mmx_sse_builtins): Handle PNI builtins.
373 (ix86_expand_builtin): Likewise.
375 * config/i386/i386.h (MASK_3DNOW, MASK_3DNOW_A,
376 MASK_128BIT_LONG_DOUBLE, MASK_64BIT, MASK_MS_BITFIELD_LAYOUT,
377 MASK_TLS_DIRECT_SEG_REFS): Renumbered.
379 (TARGET_SWITCHES): Don't enable MASK_SSE for -msse2 here. Add
381 (TARGET_CPU_CPP_BUILTINS): Defined __PNI__ for PNI.
382 (ix86_builtins): Add PNI builtins.
383 (config/i386/i386.md): Add PNI patterns.
385 * config/i386/pmmintrin.h: New file.
387 2003-06-25 Kazu Hirata <kazu@cs.umass.edu>
389 * config/h8300/h8300.md (call): Fix the insn lengths.
390 (call_value): Likewise.
392 Thu Jun 26 00:13:35 CEST 2003 Jan Hubicka <jh@suse.cz>
394 * c-common.c (handle_used_attribute): Use mark_referenced.
395 * varasm.c (mark_referenced): Break out from ...
396 (assemble_name): ... here.
397 * tree.h (mark_referenced): Declare.
399 2003-06-25 Wolfgang Bangerth <bangerth@dealii.org>
401 * gccbug.in: Add PCH to list of categories.
403 2003-06-25 Martin Schaffner <schaffner@gmx.li>
405 * cppfiles.c: Clarify comments.
406 * cpphash.h: Likewise.
407 * cpplib.h: Likewise.
408 * cppmacro.c: Likewise.
409 * mkdeps.h: Likewise.
411 2003-06-25 Neil Booth <neil@daikokuya.co.uk>
413 * c-opts.c (complain_wrong_lang, write_langs): Remove.
414 (c_common_handle_option): Complaints about wrong language are
415 handled in opts.c now.
416 * opts.c (complain_wrong_lang, write_langs, handle_options): New.
417 (find_opt): Fix thinko.
418 (handle_option): Update prototype. Complain about switches for
419 a different front end.
420 * opts.h (lang_names, handle_options): New.
421 (handle_option): Remove.
422 * opts.sh: Write out language names array.
423 * toplev.c (parse_options_and_default_flags): Use handle_options.
425 2003-06-25 H.J. Lu <hongjiu.lu@intel.com>
427 * config/i386/i386.c (MASK_SSE1): Removed.
428 (MASK_SSE164): Removed.
429 (MASK_SSE264): Removed.
430 (bdesc_2arg): Replace MASK_SSE1 with MASK_SSE. Replace
431 MASK_SSE164 with MASK_SSE | MASK_64BIT. Replace MASK_SSE264
432 with MASK_SSE2 | MASK_64BIT.
433 (bdesc_1arg): Likewise.
434 (ix86_init_mmx_sse_builtins): Likewise.
436 * config/i386/i386.h (TARGET_SSE): Remove MASK_SSE2.
437 (TARGET_SWITCHES): Enable both MASK_SSE and MASK_SSE2 for
440 2003-06-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
442 * hwint.h (HOST_WIDE_INT_PRINT, HOST_WIDE_INT_PRINT_C): New macros.
443 (HOST_WIDE_INT_PRINT_DEC_SPACE,
444 HOST_WIDE_INT_PRINT_UNSIGNED_SPACE,
445 HOST_WIDEST_INT_PRINT_DEC_SPACE,
446 HOST_WIDEST_INT_PRINT_UNSIGNED_SPACE): Delete.
447 (HOST_WIDE_INT_PRINT_DEC, HOST_WIDE_INT_PRINT_DEC_C,
448 HOST_WIDE_INT_PRINT_UNSIGNED, HOST_WIDE_INT_PRINT_HEX): Define in
449 terms of HOST_WIDE_INT_PRINT and possibly HOST_WIDE_INT_PRINT_C.
451 * final.c (asm_fprintf): Use HOST_WIDE_INT_PRINT.
452 * ra-debug.c (dump_static_insn_cost): Likewise.
454 2003-06-26 Nick Clifton <nickc@redhat.com>
456 * config/arm/arm.h (BIGGEST_FIELD_ALIGNMENT): Define instead
457 of ADJUST_FIELD_ALIGN if IN_TARGET_LIBS.
458 Replace occurances of '???' with 'XXX' incase they are
459 mistaken for trigraphs.
460 (THUMB_PRINT_OPERAND_ADDRESS): abort if a compound address
461 does not have a register for the first operand.
463 2003-06-25 Dhananjay Deshpande <dhananjayd@kpitcummins.com>
465 * config/sh/sh.c (sh_register_move_cost):
466 Add case for moving between MAC_REGS.
468 2003-06-25 Zack Weinberg <zack@codesourcery.com>
471 * langhooks.h (struct lang_hooks): Add no_body_blocks bool.
472 * langhooks-def.h (LANG_HOOKS_NO_BODY_BLOCKS): New; default false.
473 * c-lang.c, objc/objc-lang.c: Override LANG_HOOKS_NO_BODY_BLOCKS
475 * stmt.c (is_body_block): If lang_hooks.no_body_blocks, always
478 2003-06-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
480 * Makefile.in (bt-load.o): Depend on $(TM_P_H).
481 * bt-load.c: Include "tm_p.h".
483 2003-06-25 Kazu Hirata <kazu@cs.umass.edu>
485 * config/h8300/h8300.c (compute_mov_length): Adjust for the
487 * config/h8300/h8300.md (*movsi_h8300): Optimize the load of
488 an SImode constant whose upper and lower are the same.
490 Wed Jun 25 11:31:59 CEST 2003 Jan Hubicka <jh@suse.cz>
492 * varasm.c (assemble_name): Mark needed variables even when
493 global info is ready.
495 2003-06-24 Jerry Quinn <jlquinn@optonline.net>
498 * gcc/doc/invoke.texi (Optimization Options): Remove -Os from
499 -freorder-functions description.
501 2003-06-25 Josef Zlomek <zlomekj@suse.cz>
503 * dwarf2out.c (gen_field_die): Return if type of decl is error mark.
505 2003-06-25 Neil Booth <neil@daikokuya.co.uk>
507 * opts.c (common_handle_option): Add missing break;s.
509 2003-06-24 Kazu Hirata <kazu@cs.umass.edu>
511 * config/h8300/h8300-protos.h: Add a prototype for
513 * config/h8300/h8300.c (compute_mov_length): New.
514 * config/h8300/h8300.md (*movqi_h8300): Use it.
515 (*movqi_h8300hs): Likewise.
516 (movstrictqi): Likewise.
517 (*movhi_h8300): Likewise.
518 (*movhi_h8300hs): Likewise.
519 (movstricthi): Likewise.
520 (*movsi_h8300): Likewise.
521 (*movsf_h8300): Likewise.
522 (*movsi_h8300hs): Likewise.
523 (*movsf_h8300hs): Likewise.
525 2003-06-24 Kazu Hirata <kazu@cs.umass.edu>
527 * jump.c (next_nondeleted_insn): Remove.
528 * rtl.h: Remove the prototype for next_nondeleted_insn.
530 2003-06-24 Roger Sayle <roger@eyesopen.com>
532 PR optimization/11311
533 * builtins.c (powi_cost): Fix typo. The number of multiplications
534 required is the number to reduce the argument, result, plus the
535 cost of calculating the residual, val [not n, the original value].
537 2003-06-24 Roger Sayle <roger@eyesopen.com>
539 * config/alpha/osf5.h (TARGET_C99_FUNCTIONS): Define.
541 2003-06-24 Richard Henderson <rth@redhat.com>
542 (blame to: Loren James Rittle <ljrittle@acm.org>)
544 * real.h (ieee_extended_intel_96_round_53_format): New.
545 * real.c (ieee_extended_intel_96_round_53_format): New.
546 * config/i386/freebsd.h (SUBTARGET_OVERRIDE_OPTIONS): Use it
547 for XFmode and TFmode.
549 2003-06-24 Kazu Hirata <kazu@cs.umass.edu>
551 * config/h8300/h8300.md (4 anonymous patterns): Give internal
553 (movsi_h8300): Change the name to *movsi_h8300.
554 (movsi_h8300hs): Change the name to *movsi_h8300hs.
555 (movsf_h8300): Change the name to *movsf_h8300.
556 (movsf_h8300hs): Change the name to *movsf_h8300hs.
558 2003-06-24 Jakub Jelinek <jakub@redhat.com>
560 * builtins.c (expand_builtin_strcpy): Don't evaluate side-effects in
563 2003-06-24 J"orn Rennecke <joern.rennecke@superh.com>
565 Back out these patches:
566 2003-06-02 J"orn Rennecke <joern.rennecke@superh.com>
567 * sh.h (OLD_ARG_MODE): New macro.
568 (FUNCTION_ARG_ADVANCE, FUNCTION_ARG_PASS_BY_REFERENCE): Use it.
569 (FUNCTION_ARG_1): Break out of:
570 (FUNCTION_ARG). Use OLD_ARG_MODE.
571 2003-06-06 J"orn Rennecke <joern.rennecke@superh.com>
572 * sh.h (FUNCTION_ARG_1): Consistently use NEW_MODE for the mode
573 of the generated register.
575 * sh.h (FUNCTION_ARG_SCmode_WART): Define.
576 (FUNCTION_ARG): Unless FUNCTION_ARG_SCmode_WART is defined and
577 an even number of floating point regs are in use, use the same
578 sequence of argument passing registers for SCmode as would be
579 used for two SFmode values.
580 * sh.c (sh_va_arg): If FUNCTION_ARG_SCmode_WART is defined,
581 swap real / imaginary parts in incoming SCmode values passed
584 2003-06-24 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
587 * config/alpha/alpha.md (sqrtdf2): Fix operand substitution.
589 Tue Jun 24 18:49:33 CEST 2003 Jan Hubicka <jh@suse.cz>
591 * Makefile.in (cgraph.o): Depend on output.h, not depend on
593 * cgraph.c: Do not include tree-inline.h; include output.h
594 (known_fns): Rename to ...
595 (known_decls): ... this one; update all uses.
596 (cgraph_varpool_hash): New static variable.
597 (cgraph_varpool_n_nodes, cgraph_varpool_nodes_queue): New global
599 (cgraph_varpool_hash_node, eq_cgraph_varpool_node, cgraph_varpool_node,
600 cgraph_varpool_node_for_identifier, cgraph_varpool_mark_needed_node,
601 cgraph_varpool_finalize_decl, cgraph_varpool_assemble_pending_decls):
603 * cgraph.h (cgraph_varpool_node): New structure.
604 (cgraph_varpool_n_nodes, cgraph_varpool_nodes_queue): Declare.
605 (cgraph_varpool_node, cgraph_varpool_node_for_identifier,
606 cgraph_varpool_finalize_decl, cgraph_varpool_mark_needed_node,
607 cgraph_varpool_asemble_pending_decls): Declare.
608 * cgraphunit.c (record_call_1): Notice variable references.
609 (cgraph_finalize_compilation_unit): Assemble pending variables.
610 * toplev.c (wrapup_global_declarations): Use varpool.
611 (compile_file): Assemble pending declarations.
612 (rest_of_decl_compilation): Use varpool in unit-at-a-time mode.
613 * varasm.c (assemble_name): Notice varpool references.
615 Tue Jun 24 13:52:11 CEST 2003 Jan Hubicka <jh@suse.cz>
617 * langhooks-def.h (LANG_HOOKS_PREPARE_ASSEMBLE_VARIABLE): New macro.
618 * langhooks.h (lang_hooks_for_decls): Add prepare_assemble_variable.
619 * varasm.c (assemble_variable): Call prepare_assemble_variable.
621 2003-06-23 Roger Sayle <roger@eyesopen.com>
623 * builtins.c (expand_builtin): Use expand_builtin_pow to expand
624 calls for pow, powf, powl and their __builtin_ variants.
625 (expand_builtin_pow): If the second argument is a constant
626 integer and compiling with -ffast-math, use expand_powi to
627 generate RTL if powi_cost is less than POWI_MAX_MULTS.
628 (powi_cost): New function to return the number of multiplications
629 necessary to evaluate an Nth power, for integer constant N.
630 (expand_powi): New function to expand the RTL for evaluating
631 the Nth power of a floating point value, for integer constant N.
633 * doc/tm.texi (POWI_MAX_MULTS): Document new target macro.
635 Mon Jun 23 23:07:35 CEST 2003 Jan Hubicka <jh@suse.cz>
637 * cgraph.c (cgraph_nodes_queue): Declare.
638 (eq_node): Take identifier as p2.
639 (cgraph_node): Update htab_find_slot_with_hash call.
640 (cgraph_node_for_identifier): New.
641 (cgraph_mark_needed_node): Move here from cgraphunit.c.
642 * cgraph.h (cgraph_nodes_queue): Declare.
643 (cgraph_node_for_identifier): Declare.
644 * cgraphunit.c (cgraph_finalize_function): Collect entry points here
645 instead of in cgraph_finalize_compilation_unit; constructors and
646 destructors are entry points.
647 (cgraph_finalize_compilation_unit): Reorganize debug outout;
648 examine nested functions after lowerng; call collect_functions hook.
649 (cgraph_mark_local_functions): DECL_COMDAT functions are not local.
650 (cgraph_finalize_compilation_unit): Do not collect entry points.
651 * varasm.c: Include cgraph.h
652 (assemble_name): Mark referenced identifier as needed.
654 * cgraphunit.c (record_call_1): Use get_callee_fndecl.
656 2003-06-23 Jakub Jelinek <jakub@redhat.com>
658 * config/i386/i386.c (x86_output_mi_thunk): Don't pass MEM to %P0,
660 * config/s390/s390.c (s390_output_mi_thunk): Avoid .plt in -m31
661 mode, as it requires pic register loaded.
663 * varasm.c (resolve_unique_section): Remove prototype. No longer
665 * tree.h (resolve_unique_section): New prototype.
667 2003-06-23 Andreas Schwab <schwab@suse.de>
670 * dwarf2out.c (loc_descriptor_from_tree): Handle MODIFY_EXPR by
671 recursing through first argument.
673 2003-06-23 Kazu Hirata <kazu@cs.umass.edu>
675 * ChangeLog.1: Fix a typo.
676 * cfgrtl.c: Fix comment typos.
677 * dwarf2out.c: Likewise.
678 * expmed.c: Likewise.
679 * genrecog.c: Likewise.
681 * rtlanal.c: Likewise.
682 * ssa-dce.c: Likewise.
683 * toplev.c: Likewise.
685 2003-06-23 Kazu Hirata <kazu@cs.umass.edu>
687 * doc/extend.texi: Fix typos.
688 * doc/md.texi: Likewise.
689 * doc/tm.texi: Likewise.
691 2003-06-23 Kazu Hirata <kazu@cs.umass.edu>
693 * basic-block.h: Fix comment formatting.
694 * bt-load.c: Likewise.
695 * builtins.c: Likewise.
696 * c-common.c: Likewise.
697 * c-common.h: Likewise.
698 * c-format.c: Likewise.
699 * coverage.c: Likewise.
700 * cpplib.h: Likewise.
701 * cpppch.c: Likewise.
702 * dbxout.c: Likewise.
703 * diagnostic.c: Likewise.
704 * dwarf2out.c: Likewise.
706 * fold-const.c: Likewise.
707 * function.c: Likewise.
709 * gcov-io.c: Likewise.
710 * gcov-io.h: Likewise.
712 * profile.c: Likewise.
714 * sched-deps.c: Likewise.
716 2003-06-23 Roger Sayle <roger@eyesopen.com>
717 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
719 * doc/contrib.texi (Contributors): Add a note on testing and
720 remove duplicates from testers list.
722 2003-06-23 Nick Clifton <nickc@redhat.com>
724 * read-rtl.c (read_braced_string): Check for EOF. If
725 encountered issue an error message.
727 2003-06-23 Kazu Hirata <kazu@cs.umass.edu>
729 * doc/invoke.texi: Document dump options, dT and dW.
731 2003-06-23 Kazu Hirata <kazu@cs.umass.edu>
733 * genrecog.c (pred_table): Remove the entry for
734 mode_independent_operand.
735 * recog.c (next_insns_test_no_inequality): Remove.
736 (mode_independent_operand): Likewise.
737 * recog.h: Remove the prototype for mode_independent_operand.
739 2003-06-22 Kazu Hirata <kazu@cs.umass.edu>
741 * config/h8300/h8300.c (output_simode_bld): Use rotxl.l to
743 * config/h8300/h8300.md (*extzv_1_r_h8300hs): Change cc of the
744 second alternative to set_znv.
745 (*extzv_1_r_inv_h8300hs): Likewise.
747 2003-06-23 Hans-Peter Nilsson <hp@bitrange.com>
749 * configure.in (in_tree_gas): Find out here whether GAS is ELF,
750 set in_tree_gas_is_elf accordingly.
751 (in_tree_ld): Find out whether LD emulation is ELF, set
752 in_tree_ld_is_elf accordingly.
753 (gcc_cv_as_subsections, gcc_cv_as_hidden, gcc_cv_as_leb128)
754 (gcc_cv_as_eh_frame, gcc_cv_as_shf_merge)
755 (gcc_cv_as_dwarf2_debug_line, gcc_cv_as_gdwarf2_flag)
756 (gcc_cv_as_gstabs_flag): Use $in_tree_gas_is_elf instead of
757 grepping gas/Makefile.
758 (gcc_cv_ld_ro_rw_mix, gcc_cv_ld_eh_frame_hdr, gcc_cv_ld_pie): Use
759 $in_tree_ld_is_elf instead of grepping ld/Makefile.
760 * configure: Regenerate.
762 2003-06-22 Roger Sayle <roger@eyesopen.com>
764 * builtins.c (expand_builtin_mathfn_2): Use tree_cons to build
765 up the stabilized argument list, not build_tree_list.
766 (expand_builtin_strcpy): Construct new argument list manually
767 instead of using chainon to modify the original argument list.
768 (expand_builtin_stpcpy): Construct new argument list manually
769 instead of using copy_list and chainon.
770 (expand_builtin_sprintf): New function. Optimize calls to
771 sprintf when the format is "%s" or doesn't contain a '%'.
772 (expand_builtin): Expand BUILT_IN_SPRINTF using the new function
773 expand_builtin_sprintf.
775 2003-06-22 Andreas Schwab <schwab@suse.de>
777 * function.c (set_insn_locators): Mark as unused.
779 2003-06-22 Neil Booth <neil@daikokuya.co.uk>
781 * common.opt: Add -finline-limit.
782 * opts.c (common_handle_options): Handle it.
783 * opts.sh: Temporary kludge for -finline-limit.
784 * toplev.c (decode_f_option, independent_decode_option): Die.
785 (parse_options_and_default_flags): No independent_decode_option.
787 2003-06-22 Andreas Jaeger <aj@suse.de>
789 * calls.c (emit_call_1): Readd lost ATTRIBUTE_UNUSED.
791 2003-06-22 Kazu Hirata <kazu@cs.umass.edu>
793 * doc/invoke.texi: Document dumps, .btl, .cfg, and .bypass.
795 2003-06-22 Andreas Schwab <schwab@suse.de>
797 * doc/invoke.texi: Remove leading `-' from options in index.
799 2003-06-22 Kazu Hirata <kazu@cs.umass.edu>
801 * bt-load.c: Follow spelling conventions.
803 2003-06-22 Kazu Hirata <kazu@cs.umass.edu>
805 * expr.c (emit_move_insn_1): Fix a comment typo.
807 2003-06-22 Kazu Hirata <kazu@cs.umass.edu>
809 * doc/invoke.texi: Alphabetize dump options.
811 2003-06-22 Kazu Hirata <kazu@cs.umass.edu>
813 * doc/invoke.texi: Remove a duplicate -dk.
815 2003-06-22 Kazu Hirata <kazu@cs.umass.edu>
817 * doc/invoke.texi: Update dump file names.
819 2003-06-22 Zack Weinberg <zack@codesourcery.com>
821 * config/i370/i370.c, config/i370/i370.h: Use HOST_CHARSET_ASCII
822 and HOST_CHARSET_EBCDIC, not HC_ASCII and HC_EBCDIC.
824 2003-06-22 Kazu Hirata <kazu@cs.umass.edu>
826 * doc/rtl.texi: Fix the @findex for pre_modify.
828 2003-06-22 Andreas Jaeger <aj@suse.de>
830 * caller-save.c: Convert to ISO C90.
833 * cfganal.c: Likewise.
834 * cfgbuild.c: Likewise.
835 * cfgcleanup.c: Likewise.
836 * cfghooks.c: Likewise.
837 * cfglayout.c: Likewise.
838 * cfglayout.h: Likewise.
839 * cfgloop.c: Likewise.
840 * cfgloop.h: Likewise.
841 * cfgloopanal.c: Likewise.
842 * cfgloopmainip.c: Likewise.
843 * cfgrtl.c: Likewise.
845 2003-06-22 Richard Earnshaw <rearnsha@arm.com>
847 * arm.h (BIGGEST_ALIGNMENT): Use TARGET_REALLY_IWMMXT for selecting
850 2003-06-22 Richard Earnshaw <rearnsha@arm.com>
852 * arm.md (all call_value patterns): Remove register constraints on
855 2003-06-22 Neil Booth <neil@daikokuya.co.uk>
857 * common.opt: More -f switches.
858 * opts.c (common_handle_options): Handle them.
859 * toplev.c (time_report): Make extern.
860 (f_options): USe flag_dummy.
861 (decode_f_option): No need to use f_options now.
862 * toplev.h (flag_cprop_registers, flag_ssa, flag_ssa_ccp,
863 flag_ssa_dce, time_report, flag_new_regalloc): Make extern.
865 2003-06-22 Andreas Jaeger <aj@suse.de>
867 * c-lex.c: Convert to ISO C90.
868 * c-objc-common.c: Likewise.
869 * c-opts.c: Likewise.
871 * c-ppoutput.c: Likewise.
872 * c-pragma.h: Likewise.
873 * c-pretty-print.c: Likewise.
874 * c-pretty-print.h: Likewise.
875 * c-semantics.c: Likewise.
876 * c-tree.h: Likewise.
877 * c-typeck.c: Likewise.
879 * c-lang.c: Convert to ISO C90.
881 2003-06-22 Neil Booth <neil@daikokuya.co.uk>
883 * opts.c (find_opt): Fix to always guarantee a find of a
884 switch with joined parameter.
885 * opts.h (struct cl_option): New member back_chain.
886 * opts.sh: Update to calculate and add back_chain member.
888 2003-06-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
890 * diagnostic.h (output_host_wide_integer): Declare.
891 * diagnostic.c (output_long_long_decicaml): New function.
892 (output_host_wide_integer): Likewise.
893 (output_format): Use them. Handle "%ll" and "%w".
895 2003-06-21 Jason Thorpe <thorpej@wasabisystems.com>
897 * config.gcc (*-*-netbsd*): Add t-libgcc-pic to tmake_file.
899 2003-06-21 Zack Weinberg <zack@codesourcery.com>
901 * aclocal.m4 (gcc_AC_C_CHARSET): Delete.
902 * configure.in: Don't use gcc_AC_C_CHARSET.
903 * configure, config.in: Regenerate.
904 * config/i370/i370.c, config/i370/i370.h: Use
905 (HOST_CHARSET == HC_EBCDIC) or (HOST_CHARSET == HC_ASCII)
906 instead of HOST_EBCDIC or !HOST_EBCDIC. Clarify comments a tad.
908 2003-06-21 Neil Booth <neil@daikokuya.co.uk>
910 * Makefile.in: Update.
911 * common.opt: New switches.
912 * opts.c: Include diagnostic.h.
913 (common_handle_option): Handle new switches.
914 * toplev.c (flag_loop_optimize, flag_crossjumping, flag_if_conversion,
915 flag_if_conversion2, flag_delete_null_pointer_checks,
916 flag_rerun_cse_after_loop): Make extern.
918 (f_options): Update to use flag_dummy for moved options.
919 (decode_f_option): Some switches moved to opts.c.
920 * toplev.h (flag_loop_optimize, flag_crossjumping, flag_if_conversion,
921 flag_if_conversion2, flag_delete_null_pointer_checks,
922 flag_rerun_cse_after_loop, flag_keep_static_consts, flag_peel_loops,
923 flag_tracer, flag_thread_jumps, flag_unroll_loops,
924 flag_unroll_all_loops, flag_unswitch_loops): New.
926 Sat Jun 21 13:41:00 CEST 2003 Jan Hubicka <jh@suse.cz>
928 * i386.c (ix86_va_arg): Fix allocation of temporary slot.
930 2003-06-20 Kazu Hirata <kazu@cs.umass.edu>
932 * config/h8300/h8300-protos.h: Add a prototype for
933 same_cmp_preceding_p.
934 * config/h8300/h8300.c (same_cmp_preceding): New.
935 * config/h8300/h8300.md: Extend peephole2's that transform
936 compare:SI into shorter sequences so that they can deal with
939 2003-06-21 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
941 * doc/contrib.texi (Contributors): Use Windows instead of Win32.
943 Update Andreas Jaeger's entry.
945 Merge the two entries of Kaveh Ghazi, David Edelsohn, and
948 2003-06-21 Nathanael Nerode <neroden@gcc.gnu.org>
950 * mkconfig.sh: Add multiple inclusion guards to generated headers.
952 2003-06-20 Neil Booth <neil@daikokuya.co.uk>
954 * c-decl.c (store_parm_decls): Make saved_warn_shadow boolean.
955 * common.opt: Add remaining -W options and -g.
956 * diagnostic.c (warnings_are_errors): Remove.
957 * flags.h: Make most warning flags boolean.
958 * opts.c (common_handle_option): Handle remaining -W options, and -g.
959 Move many warning flags from toplev.c, making them boolean.
960 * toplev.c: Remove many warning flags.
961 (decode_W_option): Remove.
962 (decode_g_option): Make extern. Error on unknown switch.
963 (lang_independent_W_options): Use warn_dummy.
964 (independent_decode_option): Just handle -f switches now.
965 * toplev.h (decode_g_option): New.
967 2003-06-20 Aldy Hernandez <aldyh@redhat.com>
970 * config/rs6000/rs6000.h (LEGITIMATE_CONSTANT_P): Adjust for
973 2003-06-20 Kelley Cook <kelleycook@wideopenwest.com>
975 * opts.sh: Tweak awk script for portability.
977 2003-06-20 Mark Mitchell <mark@codesourcery.com>
980 * tree-inline.c (expand_call_inline): Do not warn about failing to
981 inline functions declared in system headers.
982 * doc/invoke.texi (-Winline): Expand on documentation.
984 2003-06-20 Richard Henderson <rth@redhat.com>
986 * config/alpha/alpha.c (alpha_file_start): Disable
987 file_start_file_directive for ELF and not MDEBUG.
989 2003-06-20 J"orn Rennecke <joern.rennecke@superh.com>
991 * sh.h (ROUND_TYPE_ALIGN): Remove.
993 2003-06-20 Richard Henderson <rth@redhat.com>
995 * hooks.c (hook_int_void_no_regs): Rename from
996 hook_reg_class_void_no_regs; change return type.
998 * target-def.h (TARGET_BRANCH_TARGET_REGISTER_CLASS): Update.
999 * target.h (branch_target_register_class): Change return type to int.
1001 * config/sh/sh.c (sh_target_reg_class): Change return type.
1002 * doc/tm.texi (TARGET_BRANCH_TARGET_REGISTER_CLASS): Likewise.
1004 2003-06-20 Andreas Tobler <toa@pop.agri.ch>
1006 * c-format.c: Change _Bool to bool reverting part of the last
1009 2003-06-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1011 * som.h (ASM_OUTPUT_SOURCE_LINE): Use targetm.strip_name_encoding to
1012 strip name encoding.
1014 2003-06-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1016 * configure.in (gcc_cv_as_gstabs_flag): Disable if assembler warns.
1017 * configure: Regenerate.
1018 Fixes PR driver/9362.
1020 2003-06-20 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1022 * config/alpha/alpha.c (alpha_file_start): Fix typo.
1024 2003-06-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1026 * config/mips/mips.h (PUT_SDB_FUNCTION_END): Pass 0 as third arg
1027 to ASM_OUTPUT_SOURCE_LINE.
1029 2003-06-20 Daniel Egger <degger@fhm.edu>
1030 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
1032 * doc/install.texi (Building): Correct and improve statement
1033 about parallel builds.
1035 2003-06-20 Andreas Jaeger <aj@suse.de>
1037 * c-common.c: Change _Bool to bool reverting part of the last
1040 2003-06-20 Nathan Sidwell <nathan@codesourcery.com>
1042 * tree.h (expand_function_end): Remove all parameters.
1043 * function.c (expand_function_end): Remove all parameters.
1044 Use input_location. Never expand_end_bindings.
1045 * c-decl.c (c_expand_body_1): Adjust expand_function_end call.
1046 * coverage.c (create_coverage): Likewise.
1048 2003-06-20 Nick Clifton <nickc@redhat.com>
1050 * doc/extend.texi (ARM Built-in Functions): New node. Document
1051 ARM builtin functions for iWMMXt support.
1053 2003-06-20 Eric Botcazou <ebotcazou@libertysurf.fr>
1055 * doc/install.texi (--with-gnu-as): Mention SPARC/Solaris and
1056 SPARC64/Solaris as platforms where --with-gnu-as makes a difference.
1057 (--with-as): Add @anchor.
1058 (--with-gnu-ld): Fix typo.
1059 (--with-ld): Add @uref to --with-as.
1061 2003-06-19 Zack Weinberg <zack@codesourcery.com>
1063 * doc/tm.texi: Uniformly use @defmac for macros, rather than
1064 @table items. Minor formatting and editorial corrections.
1066 2003-06-20 Neil Booth <neil@daikokuya.co.uk>
1068 * line-map.c, line-map.h: Convert to ISO prototypes.
1070 2003-06-20 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1072 * gcse.c (store_killed_in_insn): Fix.
1074 2003-06-19 Zack Weinberg <zack@codesourcery.com>
1076 * target.h (asm_out.file_start, file_start_app_off,
1077 file_start_file_directive): New hooks.
1078 * target-def.h (TARGET_ASM_FILE_START_FILE_DIRECTIVE,
1079 TARGET_ASM_FILE_START_APP_OFF, TARGET_ASM_FILE_START):
1080 New hook-definition macros.
1081 * doc/tm.texi: Document new hooks; remove docs of ASM_FILE_START.
1082 * varasm.c (default_file_start): New.
1083 * output.h: Prototype it.
1084 * toplev.c (init_asm_output): Use targetm.asm_out.file_start.
1085 * system.h: Poison ASM_FILE_START.
1087 * config/alpha/alpha.c (alpha_write_verstamp): Delete.
1088 (alpha_file_start): New, define if !TARGET_ABI_UNICOSMK.
1089 (unicosmk_asm_file_start): Rename unicosmk_file_start,
1090 make static, take no arguments.
1091 (TARGET_ASM_FILE_START, TARGET_ASM_FILE_END,
1092 TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set as appropriate.
1093 * config/alpha/unicosmk.h: Don't define ASM_FILE_START nor
1094 TARGET_ASM_FILE_END. Remove reference to ASM_FILE_START in
1096 * config/arc/arc.c (arc_asm_file_start): Rename
1097 arc_file_start, take no arguments, make static.
1098 (TARGET_ASM_FILE_START): Set it.
1099 * config/arm/arm.c (aof_file_start): New static function.
1100 (TARGET_ASM_FILE_START): Set it, when appropriate.
1101 * config/arm/coff.h, config/arm/elf.h:
1102 Set TARGET_ASM_FILE_START_APP_OFF to true.
1103 * config/avr/avr.c (asm_file_start): Rename avr_file_start,
1104 take no arguments, make static.
1105 (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE):
1107 * config/c4x/c4x.c (c4x_file_start): New static function.
1108 (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE):
1110 * config/cris/cris.c (cris_file_start): New static function.
1111 (TARGET_ASM_FILE_START): Set it.
1112 * config/dsp16xx/dsp16xx.c (coff_dsp16xx_file_start): Rename
1113 dsp16xx_file_start, make static.
1114 (luxworks_dsp16xx_file_start): Delete.
1115 (TARGET_ASM_FILE_START): Set it.
1116 * config/h8300/h8300.c (asm_file_start): Rename
1117 h8300_file_start, make static, take no arguments.
1118 (TARGET_ASM_FILE_START): Set it.
1119 * config/i370/i370.c (i370_file_start): New static function.
1120 (TARGET_ASM_FILE_START): Set it.
1121 * config/i386/i386.c (x86_file_start): New static function.
1122 (TARGET_ASM_FILE_START): Set it.
1123 * config/i386/i386.h (X86_FILE_START_VERSION_DIRECTIVE,
1124 X86_FILE_START_FLTUSED): New macros, default to false.
1125 * config/i386/i386-interix.h: Override X86_FILE_START_FLTUSED to 1.
1126 * config/i386/sysv4.h, config/i386/sco5.h: Override
1127 X86_FILE_START_VERSION_DIRECTIVE to true.
1128 * config/ia64/ia64.c (ia64_file_start): New static function.
1129 (TARGET_ASM_FILE_START): Set it.
1130 (emit_safe_across_calls): Take no arguments.
1131 * config/ia64/ia64.md: Update to match.
1132 * config/m32r/m32r.c (m32r_asm_file_start): Rename
1133 m32r_file_start, make static, take no arguments.
1134 (TARGET_ASM_FILE_START): Set it.
1135 * config/m68hc11/m68hc11.c (m68hc11_asm_file_start): Rename
1136 m68hc11_file_start, make static, take no arguments.
1137 (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set.
1138 (print_options): Delete.
1139 * config/m68k/m68k.c (m68k_hp320_file_start): New static function.
1140 (TARGET_ASM_FILE_START_APP_OFF): Set.
1141 * config/m68k/hp320.h: Set TARGET_ASM_FILE_START to
1142 m68k_hp320_file_start.
1143 * config/mips/mips.c (iris6_asm_file_start, mips_asm_file_start):
1144 Make static, take no arguments.
1145 (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set.
1146 * config/mmix/mmix.c (mmix_asm_file_start): Rename
1147 mmix_file_start, make static, take no arguments.
1148 (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set.
1149 * config/mn10300/mn10300.c (asm_file_start): Rename
1150 mn10300_file_start, make static, take no arguments.
1151 (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set.
1152 * config/ns32k/ns32k.c (TARGET_ASM_FILE_START_APP_OFF): Set.
1153 * config/pa/pa.c (pa_file_start_level, pa_file_start_space,
1154 pa_file_start_file, pa_file_start_mcount, pa_elf_file_start,
1155 pa_som_file_start, pa_linux_file_start, pa_hpux64_gas_file_start,
1156 pa_hpux64_hpas_file_start): New static functions.
1157 * config/pa/elf.h: Set TARGET_ASM_FILE_START to pa_elf_file_start.
1158 * config/pa/pa-linux.h: Set TARGET_ASM_FILE_START to
1159 pa_linux_file_start.
1160 * config/pa/pa64-hpux.h: Set TARGET_ASM_FILE_START to
1161 pa_hpux64_gas_file_start or pa_hpux64_hpas_file_start, as
1163 * config/pa/som.h: Set TARGET_ASM_FILE_START to pa_som_file_start.
1164 * config/rs6000/rs6000.c: Include xcoffout.h when TARGET_XCOFF.
1165 (rs6000_file_start): Make static, take no arguments. Reset
1166 default_cpu under certain conditions.
1167 (rs6000_xcoff_file_start): New function.
1168 * config/rs6000/rs6000.h (TARGET_ASM_FILE_START): Set.
1169 * config/rs6000/xcoff.h (TARGET_ASM_FILE_START,
1170 TARGET_ASM_FILE_START_FILE_DIRECTIVE): Override.
1171 * config/sh/sh.c (output_file_start): Rename
1172 sh_file_start, make static, take no arguments. Merge in old
1173 code from sh/elf.h's ASM_FILE_START, conditioned on TARGET_ELF.
1174 (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set.
1175 * config/sh/sh.c (TARGET_ELF): Define to 0.
1176 * config/sh/elf.h (TARGET_ELF): Redefine to 1.
1177 * config/v850/v850.c (asm_file_start): Delete.
1178 (TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set.
1179 * config/vax/vax.c (vax_file_start): New static function.
1180 (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_APP_OFF): Set.
1182 * config/darwin.h: Override ASM_FILE_START_FILE_DIRECTIVE to false.
1183 * config/elfos.h, config/svr3.h, config/arm/elf.h, config/arm/pe.h
1184 * config/i386/att.h, config/i386/gas.h, config/i386/linux.h
1185 * config/i386/sysv4.h, config/i386/sco5.h, config/i960/i960-coff.h
1186 * config/m68k/coff.h, config/m68k/hp320.h, config/mcore/mcore-pe.h
1187 * config/vax/vaxv.h: Set ASM_FILE_START_FILE_DIRECTIVE to true.
1189 * config/darwin.h, config/elfos.h, config/alpha/elf.h
1190 * config/alpha/openbsd.h, config/alpha/osf.h, config/alpha/vms.h
1191 * config/arc/arc.h, config/arm/aof.h, config/arm/aout.h
1192 * config/arm/coff.h, config/arm/elf.h, config/arm/pe.h
1193 * config/avr/avr.h, config/c4x/c4x.h, config/cris/cris.h
1194 * config/dsp16xx/dsp16xx.h, config/h8300/elf.h, config/h8300/h8300.h
1195 * config/i370/i370.h, config/i386/att.h, config/i386/gas.h
1196 * config/i386/i386-interix.h, config/i386/linux.h, config/i386/sysv4.h
1197 * config/i386/sco5.h, config/i960/i960-coff.h, config/i960/i960.h
1198 * config/ia64/ia64.h, config/ia64/sysv4.h, config/m32r/m32r.h
1199 * config/m68hc11/m68hc11.h, config/m68k/coff.h, config/m68k/m68k.h
1200 * config/mcore/mcore-pe.h, config/mips/iris6.h, config/mips/mips.h
1201 * config/mmix/mmix.h, config/mn10300/mn10300.h, config/ns32k/ns32k.h
1202 * config/pa/elf.h, config/pa/pa-linux.h, config/pa/pa64-hpux.h
1203 * config/pa/som.h, config/pdp11/pdp11.h, config/rs6000/linux64.h
1204 * config/rs6000/lynx.h, config/rs6000/xcoff.h, config/sh/elf.h
1205 * config/sh/sh.h, config/sparc/sparc.h, config/v850/v850.h
1206 * config/vax/vax.h, config/vax/vaxv.h: Don't (re)define ASM_FILE_START.
1208 * config/alpha/alpha-protos.h, config/arc/arc-protos.h
1209 * config/avr/avr-protos.h, config/dsp16xx/dsp16xx-protos.h
1210 * config/h8300/h8300-protos.h, config/ia64/ia64-protos.h
1211 * config/m32r/m32r-protos.h, config/m68hc11/m68hc11-protos.h
1212 * config/mips/mips-protos.h, config/mmix/mmix-protos.h
1213 * config/mn10300/mn10300-protos.h, config/rs6000/rs6000-protos.h
1214 * config/sh/sh-protos.h, config/v850/v850-protos.h: Update.
1216 * xcoffout.h, config/rs6000/aix.h, config/rs6000/xcoff.h:
1217 Remove reference to ASM_FILE_START in comment.
1218 * config/arm/aof.h, config/arm/aout.h, config/arm/freebsd.h
1219 * config/arm/linux-gas.h, config/arm/netbsd-elf.h
1220 * config/arm/netbsd.h: Delete definition of ARM_OS_NAME.
1222 2003-06-19 Graeme Peterson <gp@qnx.com>
1224 * gcc.c (target_sysroot_suffix, target_sysroot_hdrs_suffix,
1225 SYSROOT_SUFFIX_SPEC, SYSROOT_HEADERS_SUFFIX_SPEC, sysroot_suffix_spec,
1226 sysroot_hdrs_suffix_spec): New.
1227 (static_specs): Initialize new variables.
1228 (add_sysroot_suffix_prefix, do_spec_1, main): Use new variables.
1229 * doc/tm.texi (SYSROOT_SUFFIX_SPEC, SYSROOT_HEADERS_SUFFIX_SPEC):
1232 2003-06-19 Andreas Jaeger <aj@suse.de>
1234 * c-aux-info.c: Convert to ISO C90.
1235 * c-pragma.c: Likewise.
1236 * c-common.c: Likewise.
1237 * c-common.h: Likewise.
1238 * c-convert.c: Likewise.
1239 * c-cppbuiltin.c: Likewise.
1240 * c-dump.c: Likewise.
1241 * c-decl.c: Likewise
1242 * c-format.c: Likewise.
1243 * c-incpath.c: Likewise.
1244 * c-incpath.h: Likewise.
1246 2003-06-19 Roger Sayle <roger@eyesopen.com>
1248 * builtins.c (expand_errno_check): Assume that flag_errno_math
1249 and HONOR_NANS have been tested before calling here. Only try
1250 to set errno ourselves if the decl can't throw an exception.
1251 (expand_builtin_mathfn): Move the code to stabilize the arg
1252 after the main switch, so that that its only done when needed.
1253 BUILT_IN_SQRT{,F,L} doesn't set errno if its arg is nonnegative.
1254 Don't modify the original expr when stabilizing the argument.
1255 (expand_builtin_mathfn_2): Likewise, move the code to stabilize
1256 the args after the main switch, and don't modify the orginal exp.
1258 2003-06-19 Aldy Hernandez <aldyh@redhat.com>
1260 * expr.c (const_vector_from_tree): Initialize remaining elements
1263 2003-06-19 Aldy Hernandez <aldyh@redhat.com>
1265 * config/rs6000/spe.md ("spe_evfscfsi"): Change operand types.
1266 Change "fix" to "float".
1268 2003-06-19 Andreas Jaeger <aj@suse.de>
1270 * c-tree.h: Remove declaration of poplevel.
1272 * tree.h: Remove declaration of approx_sqrt.
1274 * c-lex.c: Remove redundant declaration of asm_out_file.
1276 * flags.h: Remove declaration of warn_unknown_pragma and
1277 main_input_filename.
1279 * rtl.h: Remove functions from fold-const.c since they're already
1282 * regs.h: Remove redundant declaration of reg_names.
1284 * bt-load.c (migrate_btr_defs): Correct printf arguments.
1286 * protoize.c: Fix breakage from last patch.
1288 2003-06-19 J"orn Rennecke <joern.rennecke@superh.com>
1290 * hooks.h (hook_reg_class_void_no_regs): Only declare if tm.h
1293 2003-06-18 James A Morrison <ja2morri@student.math.uwaterloo.ca>
1295 * config/sparc/sparc.c: Update copyright year.
1297 2003-06-19 David Edelsohn <edelsohn@gnu.org>
1299 * config/rs6000/rs6000.c (init_cumulative_args): Limit CALL_LIBCALL
1302 2003-06-18 Joseph S. Myers <jsm@polyomino.org.uk>
1305 * config/i386/liunx.h: Don't include sys/ucontext.h for glibc 2.0.
1307 2003-06-19 Kazu Hirata <kazu@cs.umass.edu>
1309 * config/h8300/h8300.c (TARGET_INITIALIZER and friends): Move
1310 to the end of the file. Remove unnecessary prototypes.
1312 2003-06-19 Hans-Peter Nilsson <hp@axis.com>
1314 * bt-load.c (migrate_btr_def) [INSN_SCHEDULING]: Conditionalize
1315 calls to insn_default_latency and result_ready_cost. Initialize
1318 2003-06-18 Richard Henderson <rth@redhat.com>
1320 * config/ia64/unwind-ia64.c (_Unwind_GetCFA): New.
1321 (_Unwind_FindEnclosingFunction): Implement.
1323 2003-06-18 Kazu Hirata <kazu@cs.umass.edu>
1325 * toplev.c (rest_of_handle_sched): Hide the entire function if
1326 INSN_SCHEDULING is not defined.
1327 (rest_of_compilation): Call rest_of_handle_sched() only when
1328 INSN_SCHEDULING is defined.
1330 2003-06-18 Stephen Clarke <stephen.clarke@superh.com>
1331 J"orn Rennecke <joern.rennecke@superh.com>
1333 * bt-load.c: New file.
1334 * Makefile.in (OBJS): Include bt-load.o
1335 (bt-load.o): Add dependencies.
1336 * flags.h (flag_branch_target_load_optimize): Declare.
1337 (flag_branch_target_load_optimize2): Likewise.
1338 * hooks.c (hook_reg_class_void_no_regs): New function.
1339 (hook_bool_bool_false): Likewise.
1340 * hooks.h (hook_reg_class_void_no_regs, hook_bool_bool_false): Declare.
1341 * rtl.h (branch_target_load_optimize): Declare.
1342 * target-def.h (TARGET_BRANCH_TARGET_REGISTER_CLASS): Define.
1343 (TARGET_BRANCH_TARGET_REGISTER_CALLEE_SAVED): Likewise.
1344 (TARGET_INITIALIZER): Include these.
1345 * target.h (struct gcc_target): Add branch_target_register_class
1346 and branch_target_register_callee_saved members.
1347 * toplev.c (enum dump_file_index): Add DFI_branch_target_load
1348 (dump_file) Add "tars" entry.
1349 (flag_branch_target_load_optimize): New variable.
1350 (flag_branch_target_load_optimize2): Likewise.
1351 (lang_independent_options): Add entries for new options.
1352 (rest_of_compilation): Call branch_target_load_optimize.
1353 * doc/tm.texi (TARGET_BRANCH_TARGET_REGISTER_CLASS): Document.
1354 (TARGET_BRANCH_TARGET_REGISTER_CALLEE_SAVED): Likewise.
1355 * doc/invoke.texi: Document -fbranch-target-load-optimize and
1356 -fbranch-target-load-optimize2.
1357 * rtl.h (epilogue_completed): Declare.
1358 * recog.c (epilogue_completed): New variable.
1359 * toplev.c (rest_of_compilation): Set it.
1360 * flow.c (mark_regs_live_at_end): Use it.
1361 * config/ia64/ia64.c (ia64_output_mi_thunk): Set it.
1362 * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Likewise.
1363 * config/sh/sh.c (sh_output_mi_thunk): Likewise.
1364 * config/sparc/sparc.c (sparc_output_mi_thunk): Likewise.
1366 * sh.c (shmedia_space_reserved_for_target_registers): New variable.
1367 (sh_target_reg_class): New function.
1368 (sh_optimize_target_register_callee_saved): Likwise.
1369 (shmedia_target_regs_stack_space): Likewise.
1370 (shmedia_reserve_space_for_target_registers_p): Likewise.
1371 (shmedia_target_regs_stack_adjust): Likewise.
1372 (TARGET_BRANCH_TARGET_REGISTER_CLASS): Override.
1373 (TARGET_BRANCH_TARGET_REGISTER_CALLEE_SAVED): Likewise.
1374 (calc_live_regs): If flag_branch_target_load_optimize2 and
1375 TARGET_SAVE_ALL_TARGET_REGS is enabled, and we have space reserved
1376 for target registers, make sure that we save all target registers.
1377 (sh_expand_prologue, sh_expand_epilogue): Take target register
1378 optimizations into account. Collapse stack adjustments if that
1380 (initial_elimination_offset): Reserve space for target registers
1382 * sh.h (SAVE_ALL_TR_BIT, TARGET_SAVE_ALL_TARGET_REGS): Define.
1383 (OPTIMIZATION_OPTIONS): Enable flag_branch_target_load_optimize.
1385 2003-06-18 Nick Clifton <nickc@redhat.com>
1387 * config.gcc: Add an extra_header for ARM targets.
1388 Support configuring with --with-cpu=iwmmxt.
1389 * doc/invoke.texi: Document new value for -mcpu= ARM switch.
1390 * config/arm/aof.h (REGISTER_NAMES): Add iwmmxt register
1391 names. Fix formatting.
1392 * config/arm/aout.h (REGISTER_NAMES): Add iwmmxt register
1394 * config/arm/arm-protos.h (arm_emit_vector_const): New
1396 (arm_output_load_gr): New prototype.
1397 * config/arm/arm.c (extra_reg_names1): Delete.
1398 (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN, FL_IWMMXT,
1399 * arch_is_iwmmxt): Define.
1400 (all_cores, all_architecture): Add entry for iwmmxt.
1401 (arm_override_options): Add support for iwmmxt.
1402 (use_return_insn, arm_function_arg, arm_legitimate_index_p,
1403 arm_print_value, arm_rtx_costs_1, output_move_double,
1404 arm_compute_save_reg_mask, arm_output_epilogue,
1405 arm_get_frame_size, arm_expand_prologue, arm_print_operand,
1406 arm_assemble_integer, arm_hard_regno_ok, arm_regno_class):
1408 (arm_init_cumulative_args): Count iwmmxt registers.
1409 (arm_function_ok_for_sibcall): Return false of sibcall_blocked
1411 (struct minipool_node): Add fix_size field.
1412 (add_minipool_forward_ref): Add support for 8-byte aligning of
1414 (add_minipool_backward_ref, add_minipool_offsets,
1415 dump_minipool, push_minipool_fix): Likewise.
1416 (struct builtin_description): New struct.
1417 (builtin_description): New array of iwmmxt builtin functions.
1418 (arm_init_iwmmxt_builtins): New function.
1419 (arm_init_builtins): New function.
1420 (safe_vector_operand): New function.
1421 (arm_expand_binop_builtin): New function.
1422 (arm_expand_unop_builtin): New function.
1423 (arm_expand_builtin): New function.
1424 (arm_emit_vector_const): New function.
1425 (arm_output_load_gr): New function.
1426 * config/arm/arm.h (TARGET_CPU_iwmmxt, TARGET_IWMMXT,
1427 TARGET_REALLY_IWMMXT, arm_arch_iwmmxt, IWMMXT_ALIGNMENT,
1428 TYPE_NEEDS_IWMMXT_ALIGNMENT, ADJUST_FIELD_ALIGN,
1429 DATA_ALIGNMENT, LOCAL_ALIGNMENT, VECTOR_MODE_SUPPORTED_P): Define.
1430 (BIGGEST_ALIGNMENT): Set to 64 if ATPCS support is enabled.
1431 (CPP_CPU_ARCH_SPEC): Add entries for iwmmxt.
1432 (FIXED_REGISTERS, CALL_USED_REGISTERS, REG_ALLOC_ORDER,
1433 reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS,
1434 REG_CLASS_FOR_LETTER): Add iwmmxt registers.
1435 (SUBTARGET_CONDITIONAL_REGISTER_USAGE): Disable iwmmxt
1436 registers unless the iwmmxt target is selected.
1437 (FIRST_IWMMXT_GR_REGNUM, LAST_IWMMXT_GR_REGNUM,
1438 FIRST_IWMMXT_REGNUM, LAST_IWMMXT_REGNUM, IS_IWMMXT_REGNUM,
1439 IS_IWMMXT_GR_REGNUM): Define.
1440 (FIRST_PSEUDO_REGISTER): Bump to 63.
1441 (struct machine_function): Add sibcall_blocked field.
1442 (Struct CUMULATIVE_ARGS): Add iwmmxt_nregs, named_count and
1444 (enum arm_builtins): New enum list.
1445 * config/arm/arm.md (UNSPEC_WSHUFH, UNSPEC_WACC,
1446 UNSPEC_TMOVMSK, UNSPEC_WSAD, UNSPEC_WSADZ, UNSPEC_WMACS,
1447 UNSPEC_WMACU, UNSPEC_WMACSZ, UNSPEC_WMACUZ, UNSPEC_CLRDI,
1448 UNSPEC_WMADDS, UNSPEC_WMADDU): New unspecs.
1449 (VUNSPEC_TMRC, VUNSPEC_TMCR, VUNSPEC_ALIGN8, VUNSPEC_WCMP_EQ,
1450 VUNSPEC_WCMP_GTU, VUNSPEC_WCMP_GT): New vunspecs.
1451 (movv2si, movv4hi, movv8qi): New expands for vector moves.
1453 * config/arm/t-xscale-elf (MULTILIB_OPITONS): Add iwmmxt
1455 (MULTILIB_DIRNAMES, MULTILIB_REDUNDANT_DIRS): Likewise.
1456 * config/arm/mmintrin.h: New ARM specific header file.
1457 * config/arm/iwmmx.md: New iWMMXt specific machine patterns.
1459 2003-06-18 J"orn Rennecke <joern.rennecke@superh.com>
1461 * toplev.c (Remaining -d letters summary): Update.
1463 2003-06-18 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
1465 * config/rs6000/rs6000.c (init_cumulative_args): Add and handle LIBCALL
1467 (function_arg): Handle CALL_LIBCALL flag.
1468 * config/rs6000/rs6000-protos.h (init_cumulative_args): Update
1470 * config/rs6000/rs6000.h (CALL_LIBCALL): New macro.
1471 (INIT_CUMULATIVE_LIBCALL_ARGS): New macro.
1472 (INIT_CUMULATIVE_ARGS): Add LIBCALL argument.
1473 (INIT_CUMULATIVE_INCOMING_ARGS): Likewise.
1475 2003-06-18 Neil Booth <neil@daikokuya.co.uk>
1477 * Makefile.in: Update.
1478 * common.opt: New options.
1479 * opts.c (maybe_warn_unused_parameter, set_Wextra, handle_param,
1481 (common_handle_option): Handle new options.
1482 * toplev.c (set_target_switch): Export.
1483 (set_Wextra, set_Wunused, maybe_warn_unused_parameter): Move to opts.c.
1484 (decode_W_option): -Wunused and -Wextra handled in opts.c now.
1485 (independent_decode_option): More options handled in opts.c now.
1487 * toplev.h (set_target_switch): New.
1489 2003-06-17 Robert Abeles <rabeles@archaelogic.com>
1492 * c-opts.c (c_common_handle_option): Pass -fdump argument suffix
1494 * tree-dump.c (dump_switch_p): Remove redundant 'dump-' prefix
1495 from static strings in dump_files.
1497 2003-06-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1499 * system.h (ANSI_PROTOTYPES, PTR_CONST, LONG_DOUBLE, VPARAMS,
1500 VA_OPEN, VA_FIXEDARG, VA_CLOSE, VA_START): undef and poison these
1503 2003-06-17 Jason Merrill <jason@redhat.com>
1506 * tree-inline.c (expand_call_inline): Don't warn about failing to
1507 inline a function which was made inline by -finline-functions.
1509 2003-06-17 Kazu Hirata <kazu@cs.umass.edu>
1511 * config/h8300/h8300-protos.h: Update to ISO C.
1512 * config/h8300/h8300.c: Likewise.
1513 * config/h8300/h8300.h: Likewise.
1514 * config/h8300/h8300.md: Likewise.
1516 2003-06-16 Nathanael Nerode <neroden@gcc.gnu.org>
1518 * configure.in: Replace BUILD_CC references with CC_FOR_BUILD.
1519 * configure: Regenerate.
1520 * Makefile.in: Replace BUILD_CC references with CC_FOR_BUILD.
1522 2003-06-17 Ranjit Mathew <rmathew@hotmail.com>
1524 * install.texi (Testing): Add information on how to run Java
1525 runtime tests separately.
1527 2003-06-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1529 * config/mips/mips.md (trap): Use break 0 when !TARGET_GAS.
1531 * config/mips/iris6-o32.h (MIPS_ISA_DEFAULT): Remove.
1532 (MIPS_CPU_STRING_DEFAULT): Redefine to mips2.
1534 2003-06-17 Christopher Faylor <cgf@redhat.com>
1536 * doc/install.texi: Add msvc rebuild caveat.
1538 2003-06-17 Kazu Hirata <kazu@cs.umass.edu>
1540 * config/sh/coff.h: Replace Hitachi with Renesas.
1541 * config/sh/elf.h: Likewise.
1542 * config/sh/embed-elf.h: Likewise.
1543 * config/sh/lib1funcs.asm: Likewise.
1544 * config/sh/sh-protos.h: Likewise.
1545 * config/sh/sh.c: Likewise.
1546 * config/sh/sh.h: Likewise.
1547 * config/sh/sh.md: Likewise.
1549 2003-06-17 Kazu Hirata <kazu@cs.umass.edu>
1551 * ChangeLog.3: Fix comment typos.
1552 * ChangeLog.6: Likewise.
1553 * config/d30v/d30v.c: Likewise.
1554 * config/h8300/h8300.md: Likewise.
1555 * config/m32r/m32r.md: Likewise.
1556 * config/mips/mips.c: Likewise.
1557 * config/mips/mips.md: Likewise.
1558 * config/ns32k/NOTES: Likewise.
1560 2003-06-17 Ranjit Mathew <rmathew@hotmail.com>
1561 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
1563 * doc/sourcebuild.texi (libgcj Tests): Simplify instructions on how
1564 to run Java runtime tests separately.
1566 2003-06-17 Kazu Hirata <kazu@cs.umass.edu>
1568 * config/h8300/h8300-protos.h: Update a comment.
1570 2003-06-17 J"orn Rennecke <joern.rennecke@superh.com>
1572 * sh.h (ROUND_TYPE_ALIGN, LOCAL_ALIGNMENT): Complex modes
1573 are aligned like integral modes.
1574 (SH5_WOULD_BE_PARTIAL_NREGS): Also test for CDImode and DCmode.
1576 * sh.h (EXTRA_CONSTRAINT_Csy): Allow PIC_DIRECT_ADDR_P.
1577 (LEGITIMATE_PIC_OPERAND_P): Allow LABEL_REF.
1578 * sh.md (*pt): Remove.
1580 * sh.h (REG_ALLOC_ORDER): Avoid squandering call-saved registers.
1582 * sh.md (return_media_rte): New pattern.
1583 (return_media): Use it.
1585 2003-06-17 Kazu Hirata <kazu@cs.umass.edu>
1587 * doc/contrib.texi: Replace Hitachi with Renesas.
1588 * doc/install.texi: Likewise.
1589 * doc/invoke.texi: Likewise.
1591 2003-06-17 J"orn Rennecke <joern.rennecke@superh.com>
1593 * sh.h (CONST_OK_FOR_J16): Fix HOST_BITS_PER_WIDE_INT >= 64
1596 2003-06-17 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
1598 * doc/tm.texi (MD_FALLBACK_FRAME_STATE_FOR): Mention MAKE_THROW_FRAME.
1600 * config/rs6000/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Partly revert
1601 2003-01-23 patch. Corrected to handle kernels with changed ucontext.
1603 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Error on invalid
1604 -msdata=eabi usages.
1606 * gcc/config/rs6000/sysv4.h (USE_LIBC_1): Delete all uses.
1608 2003-06-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1610 * alloc-pool.c: Don't check HAVE_LONG_DOUBLE.
1611 * fixinc/gnu-regex.c: Don't define `volatile'.
1612 * ggc-page.c: Don't check HAVE_LONG_DOUBLE.
1613 * ggc-simple.c: Likewise.
1614 * system.h: Don't define `volatile'.
1616 * aclocal.m4 (gcc_AC_C_VOLATILE, gcc_AC_C_LONG_DOUBLE): Delete.
1617 * configure.in (gcc_AC_C_VOLATILE, gcc_AC_C_LONG_DOUBLE): Don't
1619 * config.in, configure: Regenerated.
1621 2003-06-17 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1623 * config/ia64/ia64.c (ia64_expand_builtin, case IA64_BUILTIN_BSP):
1624 Handle POINTERS_EXTEND_UNSIGNED.
1626 2003-06-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1628 * config/mips/mips.c (TARGET_ASM_UNALIGNED_DI_OP) [TARGET_IRIX5 &&
1629 !TARGET_IRIX6]: Define as NULL.
1631 2003-06-17 Eric Botcazou <ebotcazou@libertysurf.fr>
1633 * config/sparc/sparc.c (sparc_va_arg): Don't align 16-byte+ structures.
1635 2003-06-17 Eric Botcazou <ebotcazou@libertysurf.fr>
1637 * dbxout.c (dbxout_source_line_counter): New global variable.
1638 Mark it with GTY(()).
1639 (dbxout_source_line): Increment dbxout_source_line_counter
1640 and pass it to ASM_OUTPUT_SOURCE_LINE.
1641 * sdbout.c (sdbout_source_line_counter): New global variable.
1642 Mark it with GTY(()).
1643 (unnamed_struct_number): Mark it with GTY(()).
1644 (sdbout_source_line): Increment sdbout_source_line_counter
1645 and pass it to ASM_OUTPUT_SOURCE_LINE.
1646 * xcoffout.c (ASM_OUTPUT_SOURCE_LINE): Add third parameter
1647 (xcoffout_source_line): Pass 0 as third argument to
1648 ASM_OUTPUT_SOURCE_LINE.
1649 (xcoffout_begin_prologue): Likewise.
1650 * config/dbxout.h (ASM_OUTPUT_SOURCE_LINE): Add third parameter.
1651 Use it instead of 'sym_lineno' but without incrementing it.
1652 * config/dbxelf.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
1653 * config/lynx.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
1654 * config/ptx4.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
1655 * config/alpha/alpha.c (alpha_start_function): Pass 0 as third
1656 argument to ASM_OUTPUT_SOURCE_LINE.
1657 * config/alpha/alpha.h (ASM_OUTPUT_SOURCE_LINE): Add third parameter.
1658 * config/arm/aout.h: Remove useless comment.
1659 * config/avr/avr.h (ASM_OUTPUT_SOURCE_LINE): Add third parameter.
1660 * config/i960/i960.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
1661 * config/m32r/m32r.h (ASM_OUTPUT_SOURCE_LINE): Add third parameter.
1662 Use it instead of 'sym_lineno' but without incrementing it.
1663 * config/m68k/hp320.h (ASM_OUTPUT_SOURCE_LINE): Add third parameter.
1664 * config/mcore/mcore-pe.h (ASM_OUTPUT_SOURCE_LINE): Add third
1665 parameter. Use it instead of 'sym_lineno' but without incrementing it.
1666 * config/mips/mips.c (mips_output_function_prologue): Pass 0 as third
1667 argument to ASM_OUTPUT_SOURCE_LINE.
1668 * config/mips/mips.h (ASM_OUTPUT_SOURCE_LINE): Add third parameter.
1669 * config/mmix/mmix.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
1670 * config/pa/som.h (ASM_OUTPUT_SOURCE_LINE): Add third parameter.
1671 Use it instead of 'sym_lineno' but without incrementing it.
1672 * config/rs6000/linux64.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
1673 * config/sh/elf.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
1674 * config/sparc/aout.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
1675 * config/sparc/pbd.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
1676 * doc/tm.texi (ASM_OUTPUT_SOURCE_LINE): Document third parameter.
1678 2003-06-17 Richard Sandiford <rsandifo@redhat.com>
1680 * config/mips/mips-protos.h (mips_expand_block_move): Declare.
1681 (expand_block_move, output_block_move): Remove.
1682 * config/mips/mips.h (enum block_move_type): Remove.
1683 * config/mips/mips.c (block_move_call, output_block_move): Remove.
1684 (mips_block_move_straight, mips_adjust_block_mem): New function.
1685 (mips_block_move_loop): Renamed and reworked from block_move_loop.
1686 (mips_expand_block_move): Likewise expand_block_move. Return false
1687 to fall back on the target-independent code.
1688 * config/mips/mips.md (movstrsi): Use mips_expand_block_move.
1689 (movstrsi_internal*): Remove.
1691 2003-06-16 Zack Weinberg <zack@codesourcery.com>
1693 * cpplib.h, cpphash.h, cppcharset.c, cpperror.c, cppexp.c
1694 * cppfiles.c, cpphash.c, cppinit.c, cpplex.c, cpplib.c
1695 * cppmacro.c, cpppch.c, cpptrad.c, cppspec.c: Convert to
1696 ISO C: new-style function declarations, no need for PARAMS,
1697 no special punctuation on indirect function calls, use string
1698 constant concatenation where convenient.
1700 2003-06-17 Andreas Jaeger <aj@suse.de>
1702 * rtl.h: Remove declarations from coverage.h.
1703 * toplev.c: Include coverage.h.
1704 * Makefile.in (toplev.o): Depend on coverage.h.
1706 * toplev.h: Remove extra declaration of print_time.
1708 * gengtype.c (close_output_files): Remove duplicated declaration.
1710 2003-06-16 Nathanael Nerode <neroden@gcc.gnu.org>
1712 * config/sparc/sysv4.h: Remove target-independent comment;
1713 replace "GNU CC" with "GCC".
1714 * config/vxworks.h: Replace "GNU compiler" with "GCC".
1715 * config/sparc/aout.h, config/sparc/biarch64.h, config/sparc/elf.h,
1716 config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h,
1717 config/sparc/lite.h, config/sparc/litecoff.h, config/sparc/liteelf.h,
1718 config/sparc/netbsd-elf.h, config/sparc/openbsd.h,
1719 config/sparc/rtemself.h, config/sparc/sol2-64.h,
1720 config/sparc/sol2-bi.h, config/sparc/sol2-gas-bi.h,
1721 config/sparc/sol2-gld-bi.h, config/sparc/sol2-gld.h,
1722 config/sparc/sol2.h, config/sparc/sp64-aout.h,
1723 config/sparc/sp64-elf.h, config/sparc/sp86x-elf.h,
1724 config/sparc/sparc-protos.h, config/sparc/sysv4-only.h: Replace
1725 "GNU compiler", "GNU CC" with "GCC".
1726 * config/sparc/cypress.md, config/sparc/hypersparc.md,
1727 config/sparc/sparc-modes.def, config/sparc/sparc.c,
1728 config/sparc/sparc.md, config/sparc/sparclet.md,
1729 config/sparc/supersparc.md, config/sparc/ultra1_2.md,
1730 config/sparc/ultra3.md: Replace "GNU CC", "GNU Compiler", and
1731 "GNU C Compiler" with "GCC".
1732 * config/ip2k/ip2k.h: Replace "GNU CC" and "GNU compiler" with "GCC".
1734 2003-06-16 Aldy Hernandez <aldyh@redhat.com>
1736 * simplify-rtx.c (simplify_subreg): Do not over-extend vector
1739 * testsuite/gcc.c-torture/execute/simd-4.c: New.
1741 2003-06-16 Nathanael Nerode <neroden@gcc.gnu.org>
1743 * config/ip2k/ip2k.h: Remove target-independent comments.
1745 * config.gcc: Explicitly mention elfos.h in ip2k entry.
1746 * config/ip2k/ip2k.h: Don't #include it here.
1748 2003-06-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1750 * bitmap.c, builtins.c, c-incpath.c, cgraph.c, config/frv/frv.c,
1751 config/mips/mips.c, cppfiles.c, cpphash.c, cppinit.c, cpplib.c,
1752 dwarf2out.c, dwarfout.c, except.c, expr.c, expr.h, fold-const.c,
1753 function.c, gcc.c, genoutput.c, gensupport.c, global.c,
1754 haifa-sched.c, hashtable.c, ifcvt.c, integrate.c, local-alloc.c,
1755 loop.c, mips-tdump.c, mips-tfile.c, mkdeps.c, protoize.c,
1756 read-rtl.c, recog.h, reload1.c, sbitmap.c, ssa-dce.c,
1757 stringpool.c, tlink.c, tree.c, varasm.c, varray.c: Don't use
1760 * gengtype.c: Don't use UNION_INIT_ZERO.
1761 * system.h (UNION_INIT_ZERO): Delete.
1763 2003-06-16 Richard Henderson <rth@redhat.com>
1765 * simplify-rtx.c (simplify_subreg): Use GET_MODE_SIZE instead of
1766 GET_MODE_UNIT_SIZE when simplifying constant vectors.
1768 2003-06-16 Andreas Jaeger <aj@suse.de>
1770 * timevar.c (get_run_time): Remove function provided also by
1772 * timevar.h: Remove get_run_time declaration.
1774 2003-06-16 Kazu Hirata <kazu@cs.umass.edu>
1776 * config/m68hc11/m68hc11.c (m68hc11_rtx_costs): Remove
1779 2003-06-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1781 * builtin-attrs.def, builtin-attrs.def, builtins.c, cpplex.c,
1782 cpplib.c, gencheck.c, gengenrtl.c, machmode.def, protoize.c: Don't
1783 use macros from "symcat.h", instead rely on ISO C.
1785 * system.h: Don't include "symcat.h".
1786 * configure.in (AC_C_STRINGIZE): Delete.
1787 * config.in, configure: Regenerate.
1789 2003-06-16 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1791 * Makefile.in (install-mkheaders): Use INSTALL_SCRIPT for scripts.
1793 * tree.h (STMT_CHECK): New macro.
1794 Also upper-case argument names on all checking macros and
1795 fix some whitespace problems; assume CODE argument does not
1798 2003-06-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1800 * scan.h: Convert to ISO C.
1801 * system.h: Likewise.
1803 * c-format.c (dynamic_format_types): New pointer for dynamic data.
1804 (find_length_info_modifier_index, init_dynamic_asm_fprintf_info):
1805 New functions split out of...
1806 (handle_format_attribute): ...here.
1808 2003-06-16 J"orn Rennecke <joern.rennecke@superh.com>
1810 * sh.h (REG_CLASS_FROM_LETTER): Change to:
1811 (REG_CLASS_FROM_CONSTRAINT).
1812 (CONST_OK_FOR_I): Rename to:
1813 (CONST_OK_FOR_I08). Changed all users.
1814 (CONST_OK_FOR_J): Rename to:
1815 (CONST_OK_FOR_I16). Changed all users.
1816 (CONST_OK_FOR_K): Rename to:
1817 (CONST_OK_FOR_P27). Changed all users.
1818 (CONST_OK_FOR_L): Rename to:
1819 (CONST_OK_FOR_K08). Changed all users.
1820 (CONST_OK_FOR_O): Rename to:
1821 (CONST_OK_FOR_I06). Changed all users.
1822 (CONST_OK_FOR_P): Rename to:
1823 (CONST_OK_FOR_I10). Changed all users.
1824 (CONSTRAINT_LEN, CONST_OK_FOR_I, CONST_OK_FOR_J16): Define.
1825 (CONST_OK_FOR_J, CONST_OK_FOR_K, CONST_OK_FOR_P): Likewise.
1826 (EXTRA_CONSTRAINT_A, EXTRA_CONSTRAINT_Bsc): Likewise.
1827 (EXTRA_CONSTRAINT_B, PIC_OFFSET_P, PIC_DIRECT_ADDR_P): Likewise.
1828 (EXTRA_CONSTRAINT_Cpg, EXTRA_CONSTRAINT_C): Likewise.
1829 (EXTRA_MEMORY_CONSTRAINT,(EXTRA_CONSTRAINT_Sr0): Likewise.
1830 (CONST_OK_FOR_LETTER_P): Replace with
1831 (CONST_OK_FOR_CONSTRAINT_P).
1832 (EXTRA_CONSTRAINT_S): Rename to:
1833 (EXTRA_CONSTRAINT_C16). Changed all users.
1834 (MOVI_SHORI_BASE_OPERAND_P): Don't allow direct addresses.
1835 (EXTRA_CONSTRAINT_T): Rename to:
1836 (EXTRA_CONSTRAINT_Csy). Changed all users.
1837 (EXTRA_CONSTRAINT_Z): Remove.
1838 (EXTRA_CONSTRAINT): Replace with:
1839 (EXTRA_CONSTRAINT_STR).
1840 (EXTRA_CONSTRAINT_U): Rename to:
1841 (EXTRA_CONSTRAINT_Z). Changed all users.
1842 * sh.c (and_operand): Use CONST_OK_FOR_J16.
1843 * sh.md (cmpeqsi_t-1, cmpeqsi_t, adddi3_media): Use new constraints.
1844 (addsi3_media, addsi3_compact, andsi3_compact, anddi3): Likewise.
1845 (iorsi3, iordi3, xorsi3, xordi3, ashlsi3_std, ashlhi3_k): Likewise.
1846 (lshrsi3_k, movsi_i, movsi_ie, movsi_i_lowpart, movsi_media): Likewise.
1847 (movsi_media_nofpu, movqi_media, movhi_i, movhi_media): Likewise.
1848 (*movdi_i, movdi_media, movdi_media_nofpu, shori_media): Likewise.
1849 (movdf_media, movdf_media_nofpu, movv2sf_i, movv4sf_i): Likewise.
1850 (movsf_media, movsf_media_nofpu, movsi_y, beq_media): Likewise.
1851 (beq_media_i, bne_media, pt, ptb, movv8qi_i, movv2hi_i): Likewise.
1852 (movv4hi_i, movv2si_i, negcmpeqv8qi, negcmpeqv2si): Likewise.
1853 (negcmpeqv4hi, negcmpgtuv8qi, negcmpgtv2si, negcmpgtv4hi): Likewise.
1854 (mcmv, mcnvs_lw, mcnvs_wb, mcnvs_wub, mextr_rl, mextr_lr): Likewise.
1855 (mextr1, mextr2, mextr3, mextr4, mextr5, mextr6, mextr7): Likewise.
1856 (mperm_w, mperm_w_little, mperm_w_big, msad_ubq_i): Likewise.
1857 (mshards_q, mshfhi_b, mshflo_b, mshf4_b, mshf0_b, mshfhi_l): Likewise.
1858 (mshflo_l, mshf4_l, mshf0_l, mshfhi_w, mshflo_w, mshf4_w): Likewise.
1859 (mshf0_w, mshflo_w_x, mshfhi_l_di, mshfhi_l_di_rev): Likewise.
1860 (mshflo_l_di_rev, mshflo_l_di_x, concat_v2sf): Likewise.
1861 (mshflo_l_di_x_rev, subv2si3, subv4hi3, sssubv2si3): Likewise.
1862 (sssubv4hi3): Likewise.
1863 (movsf_i): Change I[08]/r to G/r.
1864 (movsf_ie): Change f/{G,H}/c/X to f/{G,H}/c/Bsc.
1866 * sh.c (sh_output_mi_thunk): Use CONST_OK_FOR_ADD.
1868 2003-06-16 Vladimir Makarov <vmakarov@redhat.com>
1870 * config/i386/i386.c (ix86_memory_move_cost): Fix typo.
1872 2003-06-16 Andreas Jaeger <aj@suse.de>
1874 * basic-block.h: Remove duplicate prototype of
1875 note_prediction_to_br_prob.
1877 * tree.h: Remove duplicate prototype of strip_float_extensions.
1879 2003-06-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1881 * config/c4x/c4x.c: Don't include "c-tree.h".
1882 * config/pa/pa.c: Likewise.
1883 * langhooks.c: Likewise.
1884 * tree.h (poplevel): Declare.
1886 2003-06-16 Kazu Hirata <kazu@cs.umass.edu>
1888 * config/h8300/h8300.c (const_costs): Move this to ...
1889 (h8300_rtx_costs): ... here.
1891 2003-06-16 Roger Sayle <roger@eyesopen.com>
1893 * optabs.h (enum optab_index): Add new OTI_tan and OTI_atan.
1894 (tan_optab, atan_optab): Define corresponding macros.
1895 * optabs.c (init_optabs): Initialize tan_optab and atan_optab.
1896 * genopinit.c (optabs): Implement tan_optab and atan_optab
1897 using tan?f2 and atan?f2 patterns.
1898 * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_TAN{,F,L}
1899 using tan_optab, and BUILT_IN_ATAN{,F,L} using atan_optab.
1900 Change the default value of errno_set to false.
1901 (expand_builtin): Expand BUILT_IN_TAN{,F,L} and BUILT_IN_ATAN{,F,L}
1902 using expand_builtin_mathfn.
1904 * config/i386/i386.md (atansf2, atandf2, atanxf2, atantf2): New
1905 expander patterns implemented using existing atan2?f3 patterns.
1907 2003-06-16 Roger Sayle <roger@eyesopen.com>
1909 * expr.c (expand_expr <PLUS_EXPR>): If operand_equal_p considers
1910 both operands of the addition equal, reuse the expanded RTL.
1911 (expand_expr <MULT_EXPR>): Likewise for multiplication.
1913 2003-06-16 Roger Sayle <roger@eyesopen.com>
1914 Jeff Law <law@redhat.com>
1916 * fold-const.c (operand_equal_p): Consider two calls to "const"
1917 functions with identical non-volatile arguments to be equal.
1918 Consider the FUNCTION_DECL for the "__builtin_foo" form of a
1919 built-in function to be equal to the "foo" form.
1921 2003-06-16 Nathanael Nerode <neroden@gcc.gnu.org>
1923 * config/rs6000/sysv4le.h: Remove target-independent comment.
1924 Replace "GNU compiler" with "GCC" in comment.
1926 2003-06-16 Andreas Jaeger <aj@suse.de>
1928 * tracer.c: Remove duplicate declaration.
1930 * toplev.c: Remove extra declaration of decode_d_option.
1932 * ssa.c: Remove duplicate declaration.
1934 * sreal.c: Remove extra declaration of dump_sreal.
1936 * reload1.c: Remove duplicate declarations.
1938 * integrate.c: Remove extra declaration of
1939 set_decl_abstract_flags.
1941 * flow.c: Remove extra declaration of dump_flow_info.
1943 * alias.c: Remove extra declaration of get_addr.
1945 2003-06-16 Nathanael Nerode <neroden@gcc.gnu.org>
1947 * config/rtems.h, config/sol2.h, config/svr4.h, config/usegas.h,
1948 config/vxworks.h: GNU CC -> GCC.
1950 * convert.c, dwarf2out.c, dwarfout.c, emit-rtl.c, function.c,
1951 lists.c, print-rtl.c, print-tree.c, read-rtl.c, rtl-error.c,
1952 stmt.c, toplev.c, integrate.h, loop.h, machmode.h, rtl.h,
1953 ssa.h, tree.def: Replace overly specific references to "GNU C"
1954 and "GNU C Compiler" with references to "GCC".
1956 2003-06-16 J"orn Rennecke <joern.rennecke@superh.com>
1958 * sh.c (prepare_move_operand): Check if operand 0 is an invalid
1959 memory reference. Fix test that checks if operand 1 is using r0.
1960 * sh.md (movhi_i): Don't allow st.w r0,@(rX,rY) .
1962 * defaults.h (REG_CLASS_FROM_CONSTRAINT): Only define if not already
1965 2003-06-15 Nathan Sidwell <nathan@codesourcery.com>
1967 * function.h (struct emit_status): Remove x_last_linenum,
1968 x_last_filename. Add x_last_location.
1969 * rtl.h: #include "input.h".
1971 * cfglayout.c (duplicate_insn_chain): Use emit_line_note for line
1973 * emit-rtl.c (last_linenum, last_filename): Remove.
1974 (last_location): New.
1975 (emit_line_note_after): LINE must always be >= 0.
1976 (emit_line_note): Likewise. Check not duplicate here...
1977 (emit_note): ... rather than here.
1978 (emit_line_note_force, force_next_line_note, init_emit): Adjust.
1979 * integrate.c (expand_inline_function): Use emit_line_note for
1981 (copy_insn_list): Likewise.
1982 * unroll.c (copy_loop_body): Likewise.
1983 * Makefile.in (RTL_H): Add input.h.
1985 2003-06-16 Richard Sandiford <rsandifo@redhat.com>
1987 * optabs.c (emit_libcall_block): Don't hoist insns past a label.
1989 2003-06-16 Richard Henderson <rth@redhat.com>
1991 * config/alpha/alpha-protos.h, config/alpha/elf.h,
1992 config/alpha/osf.h, config/alpha/unicosmk.h, config/alpha/vms.h,
1993 config/alpha/vms-cc.c, config/alpha/vms-ld.c: Update to ISO C.
1994 * config/alpha/alpha.c: Likewise. Move targetm init to end of file.
1995 Remove unneeded static function decls.
1997 2003-06-16 Neil Booth <neil@daikokuya.co.uk>
1999 * c-opts.c (c_common_handle_option): s/on/value/.
2000 (OPT_fabi_version_, OPT_ftabstop_, OPT_ftemplate_depth_): Use value
2001 directly rather than converting the argument.
2002 * c.opt: Update docs. Use UInteger where appropriate.
2003 * common.opt: Use UInteger where appropriate.
2004 * opts.c (integral_argument): New.
2005 (handle_argument): Handle integral arguments, and optional
2007 (common_handle_option): Update.
2008 * opts.h (CL_MISSING_OK, CL_UINTEGER): New.
2009 * opts.sh: Handle JoinedOrMissing and UInteger flags.
2011 2003-06-16 Neil Booth <neil@daikokuya.co.uk>
2013 * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Remove
2014 unnecessary extern declaration.
2016 2003-06-15 Nathanael Nerode <neroden@gcc.gnu.org>
2018 * config/gofast.h, config/interix.h, config/interix3.h,
2019 config/libgloss.h, config/linux-aout.h, config/linux.h,
2020 config/lynx-ng.h, config/lynx.h: GNU CC -> GCC.
2021 * config/kaos.h: "GNU compiler" -> GCC.
2022 * config/linux-aout.h, config/lynx.h: Clarify comment describing file.
2024 * config/ip2k/crt0.S, config/ip2k/ip2k-protos.h,
2025 config/ip2k/ip2k.c, config/ip2k/ip2k.md, config/ip2k/libgcc.S:
2028 * config/svr3.h: Remove #if 0 code, misleading comments.
2031 2003-06-15 Zack Weinberg <zack@codesourcery.com>
2033 * vmsdbgout.c (vmsdbgout_finish): Rename parameter to
2034 main_input_filename to avoid conflict with input_filename macro.
2036 2003-06-15 Neil Booth <neil@daikokuya.co.uk>
2038 * config/mips/mips.h (asm_file_name, g_switch_set,
2039 g_switch_value): Remove.
2040 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Remove
2041 unnecessary extern declarations.
2043 2003-06-15 Neil Booth <neil@daikokuya.co.uk>
2045 * config/frv/frv.h: Remove declaration of g_switch_value.
2046 * config/m32r/m32r.h: Remove declaration of g_switch_value.
2047 * config/m68hc11/m68hc11.c: Remove declaration of asm_file_name.
2049 2003-06-15 Neil Booth <neil@daikokuya.co.uk>
2051 * opts.sh: Quote '+' in regex.
2053 2003-06-15 Andrew Pinski <pinskia@physics.uc.edu>
2055 * config/rs6000/t-rs6000: Add dependence of cfglayout.h to rs6000.o.
2056 * config/rs6000/rs6000.c: Include cfglayout.h.
2057 * config/alpha/alpha.c: Likewise.
2058 * config/ia64/ia64.c: Likewise.
2059 * config/sparc/sparc.c: Likewise.
2060 * config/sh/sh.c: Likewise.
2062 2003-06-15 Neil Booth <neil@daikokuya.co.uk>
2064 * opts.sh: Quote '+' in regex.
2066 2003-06-15 Neil Booth <neil@daikokuya.co.uk>
2068 * c-opts.c (lang_flags): Update for new spelling of flags.
2069 (write_langs): Similarly.
2070 * c.opt: Specify languages.
2071 * opts.h: Remove languages.
2072 * opts.sh: Recognise front-end defined languages.
2073 * doc/sourcebuild.texi: Update.
2075 2003-06-15 Andreas Jaeger <aj@suse.de>
2077 * alloc-pool.c: Convert to ISO C90 prototypes.
2078 * alloc-pool.h: Likewise.
2079 * alias.c: Likewise.
2080 * attribs.c: Likewise.
2081 * bb-reorder.c: Likewise.
2082 * bitmap.h: Likewise.
2083 * bitmap.c: Likewise.
2084 * builtins.c: Likewise.
2086 * tree.h: Convert prototypes of attribs.c to ISO C90.
2087 * basic-block.h: Convert prototypes of bb-reorder.c to ISO C90.
2088 * rtl.h: Convert prototypes of alias.c and builtins.c to ISO C90.
2089 * expr.h: Convert prototypes of builtins.c to ISO C90.
2091 2003-06-15 Roger Sayle <roger@eyesopen.com>
2093 * config/i386/i386.md (expsf2, expdf2, expxf2): New patterns to
2094 implement exp, expf and expl built-ins as inline x87 intrinsics.
2095 (UNSPEC_FSCALE, UNSPEC_FRNDINT, UNSPEC_F2XM1): New unspecs to
2096 represent x87's fscale, frndint and f2xm1 insns respectively.
2097 (*fscale_sfxf3, *fscale_dfxf3, *fscale_xf3): New insn patterns
2098 to encode x87's "fscale" instruction followed by a pop.
2099 (*frndintxf2): New insn pattern for "frndint".
2100 (*f2xm1xf2): New insn pattern for "f2xm1".
2102 * reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_FRNDINT and
2103 UNSPEC_F2XM1 like UNSPEC_{SIN,COS} and handle UNSPEC_FSCALE like
2106 2003-06-15 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2108 * gencheck.c (main): Avoid generating duplicate macros.
2110 * Makefile.in (stagefeedback-start): Use $(SUBDIRS) instead of
2111 knowing names of language subdirectories.
2113 2003-06-15 Neil Booth <neil@daikokuya.co.uk>
2115 * c-pch.c (asm_file_name): Remove.
2116 * common.opt: Add more switches.
2117 * flags.h (g_switch_set): Boolify.
2118 * opts.c (g_switch_value, g_switch_set, exit_after_options,
2119 version_flag): Move from toplev.c.
2120 (common_handle_option): Handle more switches from toplev.c.
2121 * toplev.c (display_help, display_target_options, decode_d_option,
2122 print_version): Make non-static, remove prototypes.
2123 (aux_base_name, asm_file_name, aux_info_file_name): Constify.
2124 (version_flag, g_switch_value, g_switch_set, exit_after_options):
2126 (independent_decode_option): Move some handlers to opts.c.
2127 * toplev.h (aux_info_file_name, aux_base_name, asm_file_name,
2128 exit_after_options, version_flag, display_help, display_target_options,
2129 print_version, decode_d_option): New.
2131 2003-06-15 Kazu Hirata <kazu@cs.umass.edu>
2133 * config/alpha/alpha.md: Follow spelling conventions.
2134 * config/arm/arm.c: Likewise.
2135 * config/arm/arm.h: Likewise.
2136 * config/arm/arm.md: Likewise.
2137 * config/arm/crtn.asm: Likewise.
2138 * config/m32r/m32r.c: Likewise.
2139 * config/m32r/m32r.md: Likewise.
2140 * config/rs6000/rs6000.c: Likewise.
2142 2003-06-15 Richard Henderson <rth@redhat.com>
2144 * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Call
2145 insn_locators_initialize.
2146 * config/ia64/ia64.c (ia64_output_mi_thunk): Likewise.
2147 * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Likewise.
2148 * config/sparc/sparc.c (sparc_output_mi_thunk): Likewise.
2149 * config/sh/sh.c (sh_output_mi_thunk): Do it later.
2151 2003-06-15 Kazu Hirata <kazu@cs.umass.edu>
2153 * builtins.c (expand_builtin_expect_jump): Remove redundant
2154 tests that are also in any_condjump_p().
2156 2003-06-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2158 * libgcc2.c: Delete sysV68 L_trampoline section.
2159 * config/m68k/mot3300-crt0.S: Delete file.
2160 * config/m68k/mot3300Mcrt0.S: Likewise.
2162 2003-06-15 Nathanael Nerode <neroden@gcc.gnu.org>
2164 * config/aoutos.h: Remove.
2165 * config.gcc: Remove reference to aoutos.h.
2166 * config/m68k/m68k-aout.h: Remove reference to aoutos.h.
2168 2003-06-14 Kazu Hirata <kazu@cs.umass.edu>
2170 * doc/install.texi: Follow spelling conventions.
2171 * doc/tm.texi: Likewise.
2172 * config/fp-bit.c: Likewise.
2173 * config/arm/arm.c: Likewise.
2174 * config/frv/frv.c: Likewise.
2175 * config/ns32k/NOTES: Likewise.
2176 * config/ns32k/STATUS: Likewise.
2178 2003-06-14 Roger Sayle <roger@eyesopen.com>
2179 Zack Weinberg <zack@codesourcery.com>
2181 * rtl.h (STORE_FLAG_VALUE): Remove default definition from here.
2182 * defaults.h (STORE_FLAG_VALUE): Move default definition to here.
2183 * doc/tm.texi (STORE_FLAG_VALUE): Document the default value.
2185 * config/alpha/alpha.h (STORE_FLAG_VALUE): Remove definition.
2186 * config/arc/arc.h (STORE_FLAG_VALUE): Likewise.
2187 * config/arm/arm.h (STORE_FLAG_VALUE): Likewise.
2188 * config/cris/cris.h (STORE_FLAG_VALUE): Likewise.
2189 * config/i370/i370.h (STORE_FLAG_VALUE): Likewise.
2190 * config/i386/i386.h (STORE_FLAG_VALUE): Likewise.
2191 * config/i960/i960.h (STORE_FLAG_VALUE): Likewise.
2192 * config/ia64/ia64.h (STORE_FLAG_VALUE): Likewise.
2193 * config/ip2k/ip2k.h (STORE_FLAG_VALUE): Likewise.
2194 * config/m32r/m32r.h (STORE_FLAG_VALUE): Likewise.
2195 * config/mcore/mcore.h (STORE_FLAG_VALUE): Likewise.
2196 * config/mips/mips.h (STORE_FLAG_VALUE): Likewise.
2197 * config/mmix/mmix.h (STORE_FLAG_VALUE): Likewise.
2198 * config/ns32k/ns32k.h (STORE_FLAG_VALUE): Likewise.
2199 * config/pa/pa.h (STORE_FLAG_VALUE): Likewise.
2200 * config/pdp11/pdp11.h (STORE_FLAG_VALUE): Likewise.
2201 * config/sh/sh.h (STORE_FLAG_VALUE): Likewise.
2202 * config/sparc/sparc.h (STORE_FLAG_VALUE): Likewise.
2203 * config/v850/v850.h (STORE_FLAG_VALUE): Likewise.
2204 * config/xtensa/xtensa.h (STORE_FLAG_VALUE): Likewise.
2206 2003-06-14 Nathan Sidwell <nathan@codesourcery.com>
2208 * opts.sh (POSIXLY_CORRECT): Unset it.
2210 * tree.h (init_function_start): Remove filename and line paramters.
2211 * function.c (init_function_start): Remove filename and line
2212 parameters. Use DECL_SOURCE_LOCATION.
2213 * c-decl.c (store_parm_decls): Adjust init_function_start call.
2214 (c_expand_body_1): Likewise.
2215 * coverage.c (create_coverage): Likewise.
2216 * objc/objc-act.c (build_tmp_function_decl): Set line number to
2218 (hack_method_prototype): Adjust init_function_start call.
2220 2003-06-14 Richard Earnshaw <rearnsha@arm.com>
2223 * arm/linux-elf.h (PROFILE_HOOK): Define.
2225 2003-06-14 Richard Earnshaw <rearnsha@arm.com>
2228 * arm.h (CANNOT_CHANGE_MODE_CLASS): Define.
2230 2003-06-14 Roger Sayle <roger@eyesopen.com>
2232 * opts.sh: Work around a mysterious feature in cygwin's gawk
2233 where specifying the input files explicitly has a different
2234 behavior to piping them via stdin.
2236 2003-06-14 Neil Booth <neil@daikokuya.co.uk>
2238 * doc/sourcebuild.texi: Update.
2240 2003-06-14 Richard Earnshaw <rearnsha@arm.com>
2243 * arm.c (output_move_double): Pass SImode to adjust_address.
2245 2003-06-14 Neil Booth <neil@daikokuya.co.uk>
2247 * Makefile.in: Update to use common.opt and lang_opt_files.
2248 (c-options.c, c-options.h): Remove.
2249 (options.c, options.h): Add.
2250 * c-opts.c: Include options.h not c-options.h.
2251 * common.opt: New file.
2252 * configure, configure.in: Add lang_opt_files.
2253 * opts.c: Include flags.h and diagnostic.h.
2254 (common_handle_option): New.
2255 (handle_option): Update to recognize common options and all
2256 language-dependent options.
2257 * opts.h (CL_F77, CL_JAVA, CL_ADA, CL_COMMON, CL_TREELANG): New.
2258 (struct cl_option): Make flags of type int.
2259 * opts.h: Flag option with front ends to which it applies.
2260 Handle duplicate options.
2261 * toplev.c (filename): Remove.
2262 (independent_decode_option): Don't handle filenames and -quiet.
2263 (process_options, do_compile): Update.
2265 2003-06-14 Nick Clifton <nickc@redhat.com>
2267 * doc/install.texi (Specific): Add description of different
2268 ARM supported file format targets.
2270 Sat Jun 14 11:12:04 CEST 2003 Jan Hubicka <jh@suse.cz>
2272 * reorg.c (emit_delay_sequence, dbr_schedule): Clear insn locators
2275 2003-06-13 Matt Kraai <kraai@alumni.cmu.edu>
2277 * unwind-c.c: Define NO_SIZE_OF_ENCODED_VALUE.
2278 * unwind-pe.h (size_of_encoded_value): Do not define if
2279 NO_SIZE_OF_ENCODED_VALUE is defined.
2281 2003-06-13 Roger Sayle <roger@eyesopen.com>
2283 * expr.c (expand_expr <COMPLEX_CST>): Handle the case of
2284 expanding a complex constant into a CONCAT target.
2286 2003-06-13 Zack Weinberg <zack@codesourcery.com>
2288 * config/svr3.h (ASM_FILE_START): Don't use ASM_FILE_START_1.
2289 (ASM_FILE_START_1): Delete.
2290 * config/i386/att.h, config/i386/sco5.h,
2292 (ASM_FILE_START_1): Delete.
2294 2003-06-13 Kelley Cook <kelleycook@wideopenwest.com>
2296 * config/i386/bsd.h: Remove ASM_FILE_START.
2297 * config/i386/djgpp.h: Likewise.
2298 * config/i386/gas.h (ASM_FILE_START): Output .file before .intel_syntax.
2300 * config/i386/djgpp.h: Move included unix.h, bsd.h, gas.h to ...
2301 * config.gcc (i[34567]86-pc-msdosdjgpp): ... here.
2303 2003-06-13 Vladimir Makarov <vmakarov@redhat.com>
2306 * haifa-sched.c (max_lookahead_tries,
2307 cached_first_cycle_multipass_dfa_lookahead,
2308 cached_issue_rate): New variables.
2309 (max_issue): Check the number of tries.
2310 (choose_ready): Calculate max_lookahead_tries.
2311 (sched_init): Check cached_issue_rate.
2313 2003-06-13 Richard Henderson <rth@redhat.com>
2315 * cfgbuild.c (make_edges): Set ABNORMAL with SIBCALL.
2316 * cfgrtl.c (purge_dead_edges): Expect it too.
2318 2003-06-13 Jim Wilson <wilson@tuliptree.org>
2319 Eric Botcazou <ebotcazou@libertysurf.fr>
2322 * combine.c (make_extraction): Use gen_lowpart_for_combine
2323 when extracting from a REG and not in the destination of a SET.
2325 2003-06-13 Doug Evans <dje@sebabeach.org>
2327 * tsystem.h (abort): Declare in inhibit_libc case to remove build
2328 warnings for addvsi3, et.al.
2330 2003-06-13 Aldy Hernandez <aldyh@redhat.com>
2332 * c-common.c (handle_mode_attribute): Use VECTOR_MODE_P macro.
2334 * simplify-rtx.c (simplify_subreg): Same.
2336 * emit-rtl.c (gen_lowpart_common): Same.
2338 2003-06-13 Kazu Hirata <kazu@cs.umass.edu>
2340 * builtins.c: Fix comment typos.
2341 * fold-const.c: Likewise.
2343 2003-06-13 Doug Evans <dje@sebabeach.org>
2344 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
2346 * config/m32r/m32r-protos.h (m32r_pass_by_reference): Declare.
2347 * config/m32r/m32r.c (m32r_pass_by_reference): New fn.
2348 (m32r_va_arg): Use it.
2349 * config/m32r/m32r.h (FUNCTION_ARG_PASS_BY_REFERENCE): Ditto.
2350 (RETURN_IN_MEMORY): Ditto.
2352 2003-06-13 Nathanael Nerode <neroden@gcc.gnu.org>
2354 * c-typeck.c: Remove #if 0 clauses.
2357 * config/alpha/openbsd.h, config/i386/openbsd.h,
2358 config/m68k/openbsd.h, config/sparc/openbsd.h: Remove
2359 residual reference to EGCS.
2361 2003-06-13 Richard Earnshaw <rearnsha@arm.com>
2363 * arm.c (output_call_mem): If the address references the link-register
2364 use an instruction sequence that avoids early-clobbering IP.
2365 (eliminate_lr2ip): Delete.
2367 2003-06-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2369 * c-format.c (format_types_orig): Disallow '*' width/precision in
2370 asm_fprintf format checks.
2372 2003-06-13 Ulrich Weigand <uweigand@de.ibm.com>
2374 * config/s390/s390.c (s390_va_arg): Fix alignment when retrieving
2375 non-integral types from integer register save area slots.
2377 2003-06-13 Nathanael Nerode <neroden@gcc.gnu.org>
2379 * config/i386/svr3dbx.h: GNU CC -> GCC; Intel 385 -> Intel 386.
2381 2003-06-13 Florian Weimer <fw@deneb.enyo.de>
2383 * doc/invoke.texi (SPARC Options): Document ``-mimpure-text''.
2385 2003-06-13 Kaz Kojima <kkojima@gcc.gnu.org>
2387 * config/sh/linux.h (TARGET_ASM_FILE_END): Set TARGET_ASM_FILE_END
2388 to file_end_indicate_exec_stack.
2390 2003-06-12 Richard Henderson <rth@redhat.com>
2393 * config/i386/i386.md (sse_movaps): Use an expander to force
2394 one operand to be a register.
2395 (sse_movups): Likewise.
2397 2003-06-13 Doug Evans <dje@sebabeach.org>
2399 Remove some build warnings.
2400 * config/m32r/initfini.c (__CTOR_LIST__,__DTOR_LIST__): Attribute used.
2401 (__do_global_ctors,__do_global_dtors): Ditto.
2403 2003-06-12 Richard Henderson <rth@redhat.com>
2406 * rtlanal.c (subreg_offset_representable_p): Relax subreg check.
2408 2003-06-13 Kazu Hirata <kazu@cs.umass.edu>
2410 * config/m32r/m32r.md: Fix a comment typo.
2412 2003-06-13 Eric Botcazou <ebotcazou@libertysurf.fr>
2413 Christian Ehrhardt <ehrhardt@mathematik.uni-ulm.de>
2416 * config/sparc/sparc.c (function_arg_record_value_parms): Add
2418 (function_arg_record_value_1): Set 'stack' to 1 if we run out of
2419 integer slots for an integer field.
2420 (function_arg_record_value_3): Shift vector index.
2421 (function_arg_record_value_2): Likewise.
2422 (function_arg_record_value): Initialize 'stack' to 0.
2423 Set 'stack' to 1 if we run out of integer slots for an integer field.
2424 Generate (parallel [(expr_list (nil) ...) ...]) if 'stack' is set to 1.
2426 2003-06-13 Eric Botcazou <ebotcazou@libertysurf.fr>
2428 PR optimization/10955
2429 * unroll.c (unroll_loop): Fix off-by-one bug.
2431 2003-06-12 Aldy Hernandez <aldyh@redhat.com>
2433 * config/rs6000/rs6000.c (function_arg): Remove typo.
2435 2003-06-12 Richard Henderson <rth@redhat.com>
2437 * config/i386/i386.c (legitimate_constant_p): Handle UNSPEC_NTPOFF
2440 2003-06-12 Richard Henderson <rth@redhat.com>
2443 * expmed.c (emit_store_flag): Use simplify_gen_subreg directly
2444 for extracting sub-words.
2446 2003-06-12 Richard Henderson <rth@redhat.com>
2449 * config/m68k/m68k.md (zero_extendhisi2): Use gen_lowpart_SUBREG.
2450 (zero_extendqihi2, zero_extendqisi2): Likewise.
2452 2003-06-12 Aldy Hernandez <aldyh@redhat.com>
2454 * config/rs6000/rs6000.c (function_arg): Always split vectors for
2455 e500 if it's a stdarg function.
2456 (function_arg_advance): Advance 2 registers for vectors in a
2458 (init_cumulative_args): Initialize stdarg.
2459 (rs6000_spe_function_arg): New.
2461 * config/rs6000/rs6000.h (rs6000_args): Add stdarg.
2463 2003-06-12 Aldy Hernandez <aldyh@redhat.com>
2465 * config/rs6000/rs6000.h (MODES_TIEABLE_P): Add SPE vectors.
2467 2003-06-12 Roger Sayle <roger@eyesopen.com>
2470 * fold-const.c (tree_expr_nonnegative_p): Handle addition
2471 and multiplication of zero extensions, floating point division,
2472 and integer<->fp, fp<->fp and zero extension conversions.
2473 The built-in ceil and floor functions preserve signedness.
2475 2003-06-12 Kazu Hirata <kazu@cs.umass.edu>
2477 * ChangeLog: Follow spelling conventions.
2478 * ChangeLog.2: Likewise.
2479 * c-decl.c: Likewise.
2480 * cfgloop.h: Likewise.
2481 * cgraph.c: Likewise.
2482 * coverage.c: Likewise.
2483 * cppcharset.c: Likewise.
2484 * cpphash.h: Likewise.
2485 * cpplex.c: Likewise.
2486 * cpplib.c: Likewise.
2487 * dbxout.c: Likewise.
2489 * dwarf2out.c: Likewise.
2490 * dwarfout.c: Likewise.
2491 * emit-rtl.c: Likewise.
2492 * explow.c: Likewise.
2493 * gcov-io.c: Likewise.
2494 * gcov-io.h: Likewise.
2496 * gengtype.c: Likewise.
2500 * reload.c: Likewise.
2503 2003-06-12 Janis Johnson <janis187@us.ibm.com>
2505 * doc/install.texi (m32r-*-elf): Change company to Renesas.
2507 Thu Jun 12 20:00:55 CEST 2003 Jan Hubicka <jh@suse.cz>
2509 * basic-block.h (flow_delete_block_noexpunge): Kill.
2510 * cfgrtl.c (flow_delete_block_noexpunge): Merge to
2513 2003-06-10 Richard Henderson <rth@redhat.com>
2516 * reg-stack.c (any_malformed_asm): New.
2517 (check_asm_stack_operands): Set it.
2518 (convert_regs_1): Check it before aborting.
2520 2003-06-12 Aldy Hernandez <aldyh@redhat.com>
2522 * config/rs6000/spe.md: Change all clobbers of the accumulator to sets.
2524 2003-06-12 Jakub Jelinek <jakub@redhat.com>
2526 * c-opts.c (complain_wrong_lang): Add on argument.
2527 Print no- switch if on is false.
2528 (c_common_decode_option): Adjust caller.
2530 2003-06-12 Ulrich Weigand <uweigand@de.ibm.com>
2532 * config/s390/s390.c (s390_emit_prologue): Use LA instead of AR
2533 to initialize GOT register.
2535 2003-06-12 Roger Sayle <roger@eyesopen.com>
2537 * fold-const.c (tree_expr_nonnegative_p): Add support for
2538 floating point constants, addition and multiplication.
2540 2003-06-12 J"orn Rennecke <joern.rennecke@superh.com>
2542 * sh.md (adddi3_compact, subdi3_compact): Add earlyclobber
2543 constraint modifier for operand 0.
2545 2003-06-12 Hans-Peter Nilsson <hp@axis.com>
2547 Don't warn on dollars in builtin macro definitions,
2548 e.g. __REGISTER_PREFIX__.
2549 * cpphash.h (struct cpp_reader): Move member warn_dollars...
2550 * cpplib.h (struct cpp_options): ...to here. Change type to
2552 * cppinit.c (cpp_create_reader): Set it to 1 here.
2553 (post_options): Don't set it here.
2554 * c-opts.c (c_common_init_options): Reset it to 0 here.
2555 (finish_options): Set it here.
2556 * cpplex.c (forms_identifier_p): Tweak for new location of
2559 * configure.in (assembler dwarf2 debug_line support): Define insn
2560 for cris-*-* and mmix-*-*.
2561 * configure: Regenerate.
2563 2003-06-11 Uwe Stieber <uwe@kaos-group.de>
2565 * config.gcc (arm*-*-kaos*, i[34567]86-*-kaos*, powerpc-*-kaos*,
2566 powerpcle-*-kaos*, strongarm-*-kaos*): New targets.
2567 (sh-*-elf*): Add sh*-*-kaos* support.
2568 * config/kaos.h, config/arm/kaos-strongarm.h, config/arm/kaos-arm.h,
2569 config/i386/kaos-i386.h, config/rs6000/kaos-ppc.h,
2570 config/sh/kaos-sh.h: New files.
2572 2003-06-12 Kazu Hirata <kazu@cs.umass.edu>
2574 * gcse.c (fis_get_condition): Make it a global function.
2575 * reload1.c (reload_cse_move2add): Detect implicit sets.
2576 * rtl.h: Add a prototype for fis_get_condition.
2578 2003-06-11 Richard Henderson <rth@redhat.com>
2580 * stmt.c (expand_asm_operands): Don't warn for memories with
2583 2003-06-11 Kaz Kojima <kkojima@gcc.gnu.org>
2585 * config/sh/sh.h (SUBTARGET_ASM_RELAX_SPEC): Rewrite without
2588 2003-06-11 Neil Booth <neil@daikokuya.co.uk>
2590 * hooks.c (hook_int_size_t_constcharptr_int_0): New.
2591 * hooks.h (hook_int_size_t_constcharptr_int_0): New.
2592 * langhooks-def.h (lhd_decode_option, LANG_HOOKS_DECODE_OPTION): Die.
2593 (LANG_HOOKS_HANDLE_OPTION, LANG_HOOKS_INITIALIZER): Update.
2594 * langhooks.c (lhd_decode_option): Remove.
2595 * langhooks.h (struct lang_hooks): Remove decode_option.
2596 * opts.c (handle_option): No longer use decode_option.
2598 2003-06-11 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2600 * cfgloopanal.c (variable_initial_value): Update the set of altered
2601 registers correctly.
2603 2003-06-11 Roger Sayle <roger@eyesopen.com>
2604 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2606 * config/d30v/d30v.h: Delete reference to ASM_FINAL_SPEC.
2607 * config/i386/netbsd-elf.h: Likewise.
2608 * config/m32r/m32r.h: Likewise.
2609 * config/mn10300/mn10300.h: Likewise.
2610 * config/stormy16/stormy16.h: Likewise.
2611 * config/v850/v850.h: Likewise.
2612 * config/vax/netbsd-elf.h: Likewise.
2613 * config/xtensa/elf.h: Likewise.
2614 * config/xtensa/linux.h: Likewise.
2616 2003-06-11 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2618 * config/mips/iris5gas.h (MDEBUG_ASM_SPEC): Override to match
2621 * config/mips/dbxmdebug.h: New file.
2622 * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it with
2623 gas and --with-stabs.
2625 2003-06-11 Ulrich Weigand <uweigand@de.ibm.com>
2627 * expr.c (can_move_by_pieces): align argument may be unused.
2629 2003-06-11 J"orn Rennecke <joern.rennecke@superh.com>
2631 * expr.c (convert_move): Handle moves between two CONCATs.
2633 2003-06-11 Kazu Hirata <kazu@cs.umass.edu>
2635 * config/h8300/h8300.h (RETURN_IN_MEMORY): Accept DImode if
2638 2003-06-11 Kazu Hirata <kazu@cs.umass.edu>
2640 * config/h8300/h8300.c (final_prescan_insn): Don't dump rtl.
2641 * config/h8300/h8300.h (MASK_RTL_DUMP): Remove.
2642 (TARGET_RTL_DUMP): Likewise.
2643 (TARGET_SWITHCES): Remove -mrtl-dump.
2645 2003-06-10 Richard Henderson <rth@redhat.com>
2647 * optabs.c (gen_cond_trap): Fix prepare_operand typo.
2649 2003-06-10 Richard Henderson <rth@redhat.com>
2651 * config/ia64/ia64.md (call_gp): Fix memory mode.
2653 2003-06-10 James E Wilson <wilson@tuliptree.org>
2656 * reload1.c (choose_reload_regs): For equiv reg, add loop over all
2657 hard regs for reload_reg_used_at_all and reg_class_contents checks.
2659 2003-06-10 Kazu Hirata <kazu@cs.umass.edu>
2661 * config/h8300/h8300.c (print_operand): Remove support for
2662 operand character 'b'.
2663 Add the AND case to operand character 'c'.
2664 * config/h8300/h8300.md (two anonymous patterns): Replace
2665 operand character 'b' with 'c'.
2667 2003-06-10 Kazu Hirata <kazu@cs.umass.edu>
2669 * config/h8300/h8300.c (print_operand): Remove support for
2670 operand character 'u'.
2672 2003-06-10 Nathanael Nerode <neroden@gcc.gnu.org>
2674 * configure.in: Fix typo.
2675 * configure: Regenerate.
2677 2003-06-10 Loren James Rittle <ljrittle@acm.org>
2679 * config/alpha/alpha.c (unicosmk_file_end): Add conditional
2682 2003-06-10 J"orn Rennecke <joern.rennecke@superh.com>
2684 * sh-protos.h (function_symbol): Declare.
2685 * sh.c (expand_block_move, expand_ashiftrt): Use it.
2686 (sh_expand_prologue, sh_expand_epilogue): Likewise.
2687 (sh_initialize_trampoline): Likewise.
2688 (function_symbol): New function.
2689 * sh.md (udivsi3, divsi3, mulsi3, ic_invalidate_line): Use it.
2690 (initialize_trampoline, call, call_pop, call_value, sibcall): Likewise.
2691 (call_value_pop, shcompact_return_tramp): Likewise.
2693 * sh.h (OVERRIDE_OPTIONS): Don't suppress --profile-arc-flag.
2695 * sh.md (GOTaddr2picreg): Use gen_lowpart to get lowpart of
2698 2003-06-10 DJ Delorie <dj@redhat.com>
2700 * doc/md.texi (Machine Constraints): Document stormy's Z
2703 2003-06-10 Geoffrey Keating <geoffk@apple.com>
2705 * except.c (call_site_base): Mark with GTY.
2707 2003-06-10 Richard Earnshaw <rearnsha@arm.com>
2709 * arm-proto.h: Convert to ISO C90 prototypes.
2712 2003-06-10 J"orn Rennecke <joern.rennecke@superh.com>
2714 * sh.c (sh_output_mi_thunk): Call insn_locators_initialize.
2716 2003-06-10 Steve Ellcey <sje@cup.hp.com>
2718 * calls.c (expand_call): Convert structure_value_addr to Pmode if
2721 2003-06-10 Andrew Haley <aph@redhat.com>
2723 * langhooks-def.h (LANG_HOOKS_DECL_OK_FOR_SIBCALL): New.
2724 (LANG_HOOKS_DECLS): Add LANG_HOOKS_DECL_OK_FOR_SIBCALL.
2725 (lhd_decl_ok_for_sibcall): New.
2726 * langhooks.c (lhd_decl_ok_for_sibcall): New.
2727 * langhooks.h (lang_hooks_for_decls.ok_for_sibcall): New field.
2728 * calls.c (expand_call): Check lang_hook before generating a
2731 2003-06-10 DJ Delorie <dj@redhat.com>
2733 * config/stormy16/stormy16.c (xstormy16_extra_constraint_p): Add Z,
2734 which matches (const_int 0) for addhi3.
2735 * config/stormy16/stormy16.md: Document known constraints.
2736 (addhi3): Handle adding zero.
2738 2003-06-10 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
2740 * config/m32r/m32r.h (HARD_REGNO_RENAME_OK): New.
2741 * config/m32r/m32r.c (m32r_hard_regno_rename_ok): New.
2742 * config/m32r/m32r-protos.h: Prototype it.
2744 2003-06-10 Janis Johnson <janis187@us.ibm.com>
2746 * config/rs6000/eabi.h (TARGET_OS_CPP_BUILTINS): Define builtins
2747 common to rs6000 sysv targets.
2748 * config/rs6000/eabisim.h (TARGET_OS_CPP_BUILTINS): Ditto.
2749 * config/rs6000/rtems.h (TARGET_OS_CPP_BUILTINS): Ditto.
2751 2003-06-10 Nick Clifton <nickc@redhat.com>
2753 * config.gcc: Add arm-wince-pe target.
2754 * config/arm/pe.h (MULTILIB_DEFAULTS): Define.
2755 Add comment about default apcs26 support.
2756 * config/arm/t-pe (MULTILIB_OPTIONS): Add an -mapcs-32
2758 (MULTILIB_DIRNAMES): Add 'apcs32'.
2759 * config/arm/t-wince-pe: New makefile fragment.
2760 * config/arm/wince-pe.h: New file. Overrides a few definitions
2763 2003-06-10 Roger Sayle <roger@eyesopen.com>
2765 * builtins.c (fold_builtin): Optimize cos(-x) as cos(x).
2766 * fold-const.c (fold <NEGATE_EXPR>): Convert -f(x) into f(-x)
2767 when x is easily negated and f is sin, tan or atan.
2768 (fold <MULT_EXPR>): Optimize tan(x)*cos(x) and cos(x)*tan(x) as
2769 sin(x) with flag_unsafe_math_optimizations.
2770 (fold <RDIV_EXPR>): With flag_unsafe_math_optimizations fold
2771 sin(x)/cos(x) as tan(x) and cos(x)/sin(x) as 1.0/tan(x).
2773 2003-06-10 Roger Sayle <roger@eyesopen.com>
2775 * fold-const.c (fold <EQ_EXPR>): Don't fold x == x only if x
2776 is a floating point type *and* we currently honor NaNs.
2777 (fold <NE_EXPR>): Likewise.
2779 2003-06-10 Mark Mitchell <mark@codesourcery.com>
2782 * tree-inline.c (inlinable_function_p): Call the language-specific
2785 2003-06-09 David Taylor <dtaylor@emc.com>
2787 * config/rs6000/rs6000.c (rs6000_va_start, rs6000_va_arg): Skip over
2790 2003-06-09 Nathanael Nerode <neroden@gcc.gnu.org>
2792 * configure.in: Remove references to host_truncate_target.
2793 * configure: Regenerate.
2794 * config.gcc: Remove references to truncate_target,
2795 host_truncate_target.
2797 * Makefile.in, configure.in, config/m68hc11/t-m68hc11-gas:
2798 Replace "build_canonical" with build, "host_canonical" with host.
2799 * configure.in: Use GCC_TOPLEV_SUBDIRS.
2800 * aclocal.m4: Include ../config/acx.m4.
2801 * configure: Regenerate.
2803 2003-06-09 David Taylor <dtaylor@emc.com>
2805 * config/rs6000/rs6000.c (rs6000_build_va_list): Give the two
2806 bytes of padding in the __va_list_tag structure a name (reserved).
2808 2003-06-09 Jason Merrill <jason@redhat.com>
2810 * fold-const.c (operand_equal_p): Handle ADDR_EXPR and TRUTH_NOT_EXPR.
2812 2003-06-09 Osku Salerma <osku@iki.fi>
2814 * c-format.c (check_format_string, get_constant): New.
2815 (handle_format_attribute, handle_format_arg_attribute,
2816 decode_format_attr): Change to use above functions.
2818 2003-06-09 Richard Henderson <rth@redhat.com>
2820 * stmt.c (expand_asm_operands): Re-word warning.
2822 2003-06-08 Andrew Pinski <pinskia@physics.uc.edu>
2825 * config/i386/djgpp.h (ASM_FILE_START): emit `.intel_syntax'
2828 2003-06-09 James E Wilson <wilson@tuliptree.org>
2830 * config/frv/cmovc.c, config/frv/cmovh.c, config/frv/cmovw.c,
2831 config/frv/frvbegin.c, config/frv/frvend.c, config/frv/lib1funcs.asm:
2832 Add libgcc exception.
2834 2003-06-09 David Edelsohn <edelsohn@gnu.org>
2835 Ayal Zaks <gcchaifa@us.ibm.com>
2837 * config/rs6000/rs6000.md (define_attr "type"): Add insert_word.
2838 (insvsi*): Add insert_word attribute.
2839 * config/rs6000/rs6000.c (rs6000_variable_issue): Add TYPE_INSERT_WORD.
2840 * config/rs6000/{40x.md,603.md,6xx.md,7450.md,7xx.md,mpc.md,
2841 power4.md,rios1.md,rios2.md,rs64.md}: Add insert_word.
2843 2003-06-09 Kazu Hirata <kazu@cs.umass.edu>
2845 * fold-const.c (fold): Fix a comment typo.
2847 2003-06-09 Nathan Sidwell <nathan@codesourcery.com>
2849 * tree-inline.c (expand_call_inline): DECL_SOURCE_LINE_FIRST is
2852 2003-06-09 J"orn Rennecke <joern.rennecke@superh.com>
2854 * sh.c (gen_block_redirect): Use locators.
2856 2003-06-09 Richard Earnshaw <rearnsha@arm.com>
2858 * arm.h (THUMB_PRINT_OPERAND_ADDRESS): Use %wd in format and remove
2861 2003-06-09 Richard Sandiford <rsandifo@redhat.com>
2863 * configure.in: Assume gas 2.14 and above can handle MIPS relocation
2865 * configure: Regenerated.
2867 2003-06-09 Richard Sandiford <rsandifo@redhat.com>
2868 Alexandre Oliva <aoliva@redhat.com>
2870 * config/mips/mips.h (GLOBAL_POINTER_REGNUM): New macro.
2871 (PIC_OFFSET_TABLE_REGNUM): Look at pic_offset_table_rtx after reload.
2872 (STARTING_FRAME_OFFSET): Don't allocate a cprestore slot for
2874 (MUST_SAVE_REGISTERS): Delete.
2875 * config/mips/mips.c (mips_frame_info): Remove extra_size field.
2876 (machine_function): Add global_pointer field.
2877 (mips_classify_constant): Check for (const $gp) using pointer equality
2878 with pic_offset_table_rtx.
2879 (mips_classify_constant): Handle RELOC_LOADGP_HI and RELOC_LOADGP_LO.
2880 (mips_restore_gp): Use current_function_outgoing_args_size.
2881 (print_operand): Use PIC_OFFSET_TABLE_REGNUM instead of
2882 GP_REG_FIRST + 28. Handle relocation strings that have
2884 (mips_reloc_string): Handle RELOC_LOADGP_HI and RELOC_LOADGP_LO.
2885 (mips_global_pointer): New function.
2886 (mips_save_reg_p): New function, mostly split out from...
2887 (compute_frame_size): ...here. Remove handling of extra_size.
2888 Reclaim args_size if no variables depend on it. Don't treat gp
2889 as a special case: handle it in the main GPR loop.
2890 (mips_initial_elimination_offset): Fix comment.
2891 (save_restore_insns): Save every register in the GPR mask,
2892 removing distinction between mask and real_mask.
2893 (mips_output_function_prologue): Update .frame psuedo-op after
2894 the removal of extra_size. Move the SVR4 PIC stack allocation
2895 and cprestore instructions to mips_expand_prologue.
2896 (mips_gp_insn): New function.
2897 (mips_expand_prologue): Set REGNO (pic_offset_table_rtx) to
2898 the chosen global pointer. Handle SVR4 PIC stack allocation
2899 in the same way as other ABIs. Adjust varargs code accordingly.
2900 Emit a cprestore insn after allocating the stack. Use mips_gp_insn
2901 to emit the loadgp sequence. Follow it with a loadgp_blockage
2902 if not using explicit relocs.
2903 (mips_output_function_epilogue): Reinstate the default gp register.
2904 (mips16_gp_pseudo_reg): Use pic_offset_table_rtx.
2905 (mips16_optimize_gp): Likewise.
2906 * config/mips/mips.md (UNSPEC_LOADGP): Remove.
2907 (UNSPEC_SETJMP, UNSPEC_LONGJMP): Remove.
2908 (UNSPEC_CPRESTORE, RELOC_LOADGP_HI, RELOC_LOADGP_LO): New.
2910 (loadgp_blockage, cprestore): New instructions.
2911 (builtin_setjmp_setup): Implement using emit_move_insn. Use
2912 pic_offset_table_rtx.
2913 (builtin_setjmp_setup_32, builtin_setjmp_setup_64): Remove.
2914 (builtin_longjmp): Use gen_raw_REG to force use of $28.
2916 2003-06-09 Richard Sandiford <rsandifo@redhat.com>
2918 * config/mips/mips-protos.h (mips_output_division): Declare.
2919 * config/mips/mips.h (MASK_CHECK_RANGE_DIV): Remove.
2920 (MASK_BRANCHLIKELY): Use MASK_CHECK_RANGE_DIV's old number.
2921 (TARGET_NO_CHECK_ZERO_DIV, TARGET_CHECK_RANGE_DIV): Remove.
2922 (TARGET_CHECK_ZERO_DIV): New macro.
2923 (TARGET_SWITCHES): Remove -mcheck-range-div & -mno-check-range-div.
2924 * config/mips/mips.c (mips_output_division): New function.
2925 * config/mips/mips.md (length): Take TARGET_CHECK_ZERO_DIV into
2926 account when calculating the default length of a division.
2927 (divmodsi4, divmoddi4, udivmodsi4, udivmoddi4): Turn into define_insns.
2928 Enable regardless of optimization level. Use mips_output_division.
2929 (divmodsi4_internal, divmoddi4_internal, udivmodsi4_internal,
2930 udivmoddi4_internal, div_trap, div_trap_normal, div_trap_mips16,
2931 divsi3, divsi3_internal, divdi3, divdi3_internal, modsi3,
2932 modsi3_internal, moddi3, moddi3_internal, udivsi3, udivsi3_internal,
2933 udivdi3, udivdi3_internal, umodsi3, umodsi3_internal, umoddi3,
2934 umoddi3_internal): Remove.
2936 2003-06-09 Richard Sandiford <rsandifo@redhat.com>
2938 * config/mips/mips.c (mips_reg_names): Change hilo entry to "".
2939 (mips_sw_reg_names): Likewise.
2940 (mips_regno_to_class): Change hilo entry to NO_REGS.
2941 (hilo_operand): Use MD_REG_P.
2942 (extend_operator): New predicate.
2943 (override_options): Remove 'a' constraint.
2944 (mips_secondary_reload_class): Remove hilo handling. Also remove
2945 handling of (plus sp reg) reloads for mips16.
2946 (mips_register_move_cost): Remove hilo handling.
2947 * config/mips/mips.h (FIXED_REGISTERS): Make hilo entry fixed.
2948 (MD_REG_LAST): Remove hilo from range.
2949 (HILO_REGNUM): Delete.
2950 (reg_class): Remove HILO_REG and HILO_AND_GR_REGS.
2951 (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update accordingly.
2952 (PREDICATE_CODES): Add entry for extend_operator.
2953 (DEBUG_REGISTER_NAMES): Change hilo entry to "".
2954 * config/mips/mips.md: Remove hilo clobbers wherever they occur.
2955 Remove constraints from multiplication define_expands. Remove
2956 clobbers from "decorative" define_expand patterns.
2957 (UNSPEC_HILO_DELAY): Delete.
2958 (*mul_acc_si, *mul_sub_si): Add early-clobber to operand 6.
2959 (mulsidi3, umulsidi3): Change pattern to match the TARGET_64BIT case.
2960 Adjust C code to just emit insns for !TARGET_64BIT.
2961 (mulsidi3_internal): Rename to mulsidi3_32bit.
2962 (mulsidi3_64bit): Use a "d" constraint for the destination.
2963 Use extend_operator so that the pattern can handle umulsidi3 as well.
2964 Split the instruction after reload.
2965 (*mulsidi3_64bit_parts): New pattern, generated by mulsidi3_64bit.
2966 (umulsidi3_internal): Rename to umulsidi3_32bit.
2967 (umulsidi3_64bit): Remove.
2968 (*smsac_di, *umsac_di): Line-wrap fixes.
2969 (udivsi3_internal): Don't allow operand 2 to be constant.
2970 (udivdi3_internal, umodsi3_internal, umoddi3_internal): Likewise.
2971 (movdi_internal2, movsi_internal): Remove hilo alternatives.
2972 (reload_in[sd]i, reload_out[sd]i, hilo_delay): Remove.
2974 2003-06-09 Richard Sandiford <rsandifo@redhat.com>
2977 * config/mips/mips.h (TARGET_FILE_SWITCHING, NO_DBX_FUNCTION_END,
2978 PUT_SDB_SCL, PUT_SDB_INT_VAL, PUT_SDB_VAL, PUT_SDB_ENDEF,
2979 PUT_SDB_TYPE, PUT_SDB_SIZE, PUT_SDB_DIM, PUT_SDB_START_DIM,
2980 PUT_SDB_NEXT_DIM, PUT_SDB_LAST_DIM, PUT_SDB_TAG, PUT_SDB_SRC_FILE,
2981 SDB_GENERATE_FAKE, TEXT_SECTION): Delete.
2982 (PUT_SDB_DEF, PUT_SDB_PLAIN_DEF, PUT_SDB_BLOCK_START,
2983 PUT_SDB_BLOCK_END, PUT_SDB_FUNCTION_END): Replace use of
2984 asm_out_text_file with asm_out_file.
2985 * config/mips/iris5gas.h (PUT_SDB_SIZE, PUT_SDB_TYPE): Likewise.
2986 * config/mips/elf.h (TEXT_SECTION): Undefine.
2987 * config/mips/elf64.h (TEXT_SECION): Undefine.
2988 * config/mips/openbsd.h (TEXT_SECION): Undefine.
2989 * config/mips/mips.c (asm_out_text_file, asm_out_data_file): Delete.
2990 (override_options): Disable small-data optimizations unless using
2991 gas or explicit relocations.
2992 (mips_asm_file_start, mips_asm_file_end, mips_output_function_epilogue,
2993 iris6_asm_named_section, iris6_asm_file_start): Remove code for
2994 handling TARGET_FILE_SWITCHING.
2995 (copy_file_data): Move into TARGET_IRIX6 block.
2997 2003-06-08 Richard Henderson <rth@redhat.com>
2999 * expr.h (EXPAND_MEMORY): New.
3000 * expr.c (expand_expr): Check it.
3001 * stmt.c (expand_asm_operands): Provide it when the constraint
3002 requires a memory. Warn for memory input constraints without
3005 2003-06-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3007 * varasm.c: Don't include c-tree.h.
3009 2003-06-08 Andreas Jaeger <aj@suse.de>
3011 * predict.h: Convert to ISO C90 prototypes.
3012 * predict.c: Likewise.
3013 * tree-dump.h: Likewise.
3014 * tree-dump.c: Likewise.
3015 * diagnostic.h: Likewise.
3016 * diagnostic.c: Likewise.
3017 * combine.c: Likewise.
3019 * rtl.h: Convert prototypes of combine.c to ISO C90.
3021 Sun Jun 8 21:27:41 CEST 2003 Jan Hubicka <jh@suse.cz>
3023 * cfglayout.c (insn_scope): New static function
3024 (block_locators_*, line_locators*, file_locators*): New static varrays.
3025 (scope_to_insns_initialize): Use them.
3026 (insn_line, insn_file): New functions.
3027 (scope_to_insns_finalize): Use insn_scope.
3028 (prologue_locator, epilogue_locator): New global variables.
3029 * emit-rt.c (try_split, make_insn_raw, make_jump_insn_raw,
3030 make_call_insn_raw, emit_copy_of_insn_after): Use locators.
3031 (emit_insn_after_scope, emit_insn_before_scope
3032 emit_jump_insn_after_scope, emit_jump_insn_before_scope
3033 emit_call_insn_after_scope, emit_call_insn_before_scope): Rename to...
3034 (emit_insn_after_setloc, emit_insn_before_setloc
3035 emit_jump_insn_after_setloc, emit_jump_insn_before_setloc
3036 emit_call_insn_after_setloc, emit_call_insn_before_setloc): ... these;
3038 * final.c (notice_source_line): Use locators.
3039 (final_start_function): Set initial source file and line.
3040 (final_scan_insn): Use locators.
3041 * ifcvt.c (noce_try_store_flag, noce_try_store_flag_constants,
3042 noce_try_addcc, noce_try_store_flag_mask, noce_try_cmove,
3043 noce_try_cmove_arith, noce_try_minmax, noce_try_abs,
3044 noce_process_if_block, find_cond_trap): Likewise.
3045 * integrate.c (copy_insn_list): Likewise.
3046 * jump.c (duplicate_loop_exit_test): LIkewise.
3047 * print-rtl.c (print_rtx): Print locators.
3048 * recog.c (peephole2_optimize): Likewise.
3049 * rtl.h (INSN_SCOPE): Remove.
3050 (emit_insn_after_scope, emit_insn_before_scope
3051 emit_jump_insn_after_scope, emit_jump_insn_before_scope
3052 emit_call_insn_after_scope, emit_call_insn_before_scope): Rename to...
3053 (emit_insn_after_setloc, emit_insn_before_setloc
3054 emit_jump_insn_after_setloc, emit_jump_insn_before_setloc
3055 emit_call_insn_after_setloc, emit_call_insn_before_setloc): ... these;
3056 (insn_file, insn_line, prologue_locator, epilogue_locator): Declare.
3057 * unroll.c (copy_loop_body): Use locators.
3058 * function.c (set_insn_locators): New function.
3059 (thread_prologue_and_epilogue_insns): Set the locators accordingly.
3061 2003-06-08 Kazu Hirata <kazu@cs.umass.edu>
3063 * config/h8300/h8300.h (LONG_LONG_TYPE_SIZE): Set to 64.
3064 * config/h8300/t-h8300 (LIB1ASMFUNCS): Remove _floatdisf
3065 _fixsfdi _fixunssfdi.
3066 (LIB2FUNCS_EXTRA): Add entries for clzhi2, ctzhi2, parityhi2,
3068 (TARGET_LIBGCC2_CFLAGS): Remove -DDI=SI.
3069 * config/h8300/clzhi2.c: New.
3070 * config/h8300/ctzhi2.c: Likewise.
3071 * config/h8300/parityhi2.c: Likewise.
3072 * config/h8300/popcounthi2.c: Likewise.
3074 Sun Jun 8 15:52:17 CEST 2003 Jan Hubicka <jh@suse.cz>
3076 * i386.md (subsi_3_zext, sse2_nandv2di3): Fix predicates.
3077 * i386.c (k8_avoid_jump_misspredicts): Fix debug output.
3079 * cfg.c (verify_flow_info): Move IL independent checks from cfgrtl here.
3080 (dump_bb): New based on old dump_bb in cfgrtl.c
3081 (debug_bb, debug_bb_n): Move the functions from cfgrtl.c here.
3082 * cfghooks.h (cfgh_verify_flow_info): Return status.
3083 * cfglayout.c (cfg_layout_finalize): Verify CFG correctness.
3084 * cfgrtl.c (debug_bb, debug_bb_n): Move to cfg.c
3085 (dump_bb): Remove generic parts.
3086 (rtl_verify_flow_info_1): Break out from rtl_verify_flow_info.
3087 (rtl_verify_flow_info): Only check things dependeing on linearized RTL.
3089 2003-06-08 Neil Booth <neil@daikokuya.co.uk>
3091 * Makefile.in: Rename options.c and options.h to c-options.c and
3093 (OBJS): Remove options.o.
3094 * c-opts.c: Don'tInclude c-options.h instead of options.h.
3095 * opts.c: Don't include options.h.
3096 (find_opt): Can't use enum opt_code or N_OPTS.
3097 * opts.h (struct cl_option, cl_options, cl_options_count): Move from...
3098 * opts.sh: ... here.
3100 2003-06-07 Eric Botcazou <ebotcazou@libertysurf.fr>
3101 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
3104 * ggc-common.c (HAVE_MMAP_FILE): Include sys/types.h
3105 if HAVE_MINCORE is defined.
3106 (MAP_FAILED): Define if not defined.
3107 (gt_pch_save): Test against MAP_FAILED.
3108 (gt_pch_restore): If HAVE_MINCORE, use MAP_FIXED to force
3109 the mapping address to the preferred base after checking it
3110 is possible to do so. Test against MAP_FAILED.
3111 * configure.in: Test for the presence of mincore in libc.
3112 * config.in: Regenerate.
3113 * configure: Regenerate.
3115 2003-06-07 Richard Henderson <rth@redhat.com>
3117 * config/alpha/alpha.c (alpha_setup_incoming_varargs): Fix
3118 conditional compilation guard.
3120 2003-06-08 Kazu Hirata <kazu@cs.umass.edu>
3122 * optabs.c (expand_abs): Set result_unsignedp to 1 if
3125 2003-06-07 Richard Henderson <rth@redhat.com>
3127 * c-cppbuiltin.c (c_cpp_builtins): Define __EXCEPTIONS for C also.
3129 2003-06-07 Richard Henderson <rth@redhat.com>
3131 * basic-block.h (EDGE_SIBCALL): New.
3132 (EDGE_ALL_FLAGS): Update.
3133 * cfg.c (dump_edge_info): Add sibcall name.
3134 * cfgbuild.c (make_edges): Use EDGE_SIBCALL.
3135 * cfgrtl.c (purge_dead_edges): Handle sibcalls.
3137 2003-06-07 Andreas Jaeger <aj@suse.de>
3139 * mklibgcc.in (lib2funcs): Remove _exit.
3140 * libgcc2.c: Remove L_exit.
3141 * gbl-ctors.h: Remove declarations dependend on NEED_ATEXIT.
3143 * system.h: Poison NEED_ATEXIT, ON_EXIT, EXIT_BODY.
3145 * doc/tm.texi (Misc): Remove NEED_ATEXIT, ON_EXIT, EXIT_BODY.
3147 * ggc.h: Convert to ISO C90 prototypes.
3148 * ggc-none.c: Likewise.
3149 * ggc-common.c: Likewise.
3150 * ggc-page.c: Likewise.
3151 * ggc-simple.c: Likewise.
3153 * crtstuff.c: Remove undefined usage of INIT_SECTION_PREAMBLE.
3155 * system.h: Poison INIT_SECTION_PREAMBLE.
3157 2003-06-07 Zack Weinberg <zack@codesourcery.com>
3159 * config.gcc (with_cpu handling): Translate sparc64 in
3160 $machine to --with-cpu=v9.
3161 * config/alpha/alpha.c
3162 (TARGET_ASM_GLOBALIZE_LABEL [TARGET_ABI_UNICOSMK]): Correct definition.
3163 (alpha_setup_incoming_varargs): #ifdef out when TARGET_ABI_UNICOSMK.
3165 * target.h: New hook asm_out.file_end.
3166 * target.h: Update to match. New hook macro TARGET_ASM_FILE_END.
3167 * toplev.c (compile_file): Use targetm.asm_out.file_end.
3168 * system.h: Poison ASM_FILE_END.
3169 * varasm.c (file_end_indicate_exec_stack): New.
3170 * output.h: Prototype it.
3171 * doc/tm.texi: Document TARGET_ASM_FILE_END and
3172 file_end_indicate_exec_stack. Delete references to attasm.h.
3174 * config/darwin.h (TARGET_ASM_FILE_END): Reset to darwin_file_end.
3175 (ASM_FILE_END): Delete; move code...
3176 * config/darwin.c (darwin_file_end): Here; new function.
3177 * config/darwin-protos.h: Prototype it.
3178 * config/alpha/alpha.c (unicosmk_asm_file_end): Make static,
3179 rename unicosmk_file_end.
3180 * config/arm/aof.h (ASM_FILE_END): Delete; move code...
3181 * config/arm/arm.c (aof_file_end): ... here; new static function.
3182 Set TARGET_ASM_FILE_END to aof_file_end if AOF_ASSEMBLER.
3183 Make aof_dump_imports and aof_dump_pic_table static.
3184 * config/avr/avr.c (asm_file_end): Rename avr_file_end, make static.
3185 Set TARGET_ASM_FILE_END to avr_file_end.
3186 * config/c4x/c4x.c (c4x_file_end): Make static. Take no arguments.
3187 Set TARGET_ASM_FILE_END to c4x_file_end.
3188 * config/h8300/h8300.c (asm_file_end): Rename h8300_file_end,
3189 make static. Take no arguments. Set TARGET_ASM_FILE_END to
3191 * config/i370/i370.h (ASM_FILE_END): Delete; move code...
3192 * config/i370/i370.c (i370_file_end): ... here; new static function.
3193 Set TARGET_ASM_FILE_END to i370_file_end.
3194 * config/i386/i386.c (ix86_asm_file_end): Rename ix86_file_end.
3195 Take no arguments. Call file_end_indicate_exec_stack if
3196 NEED_INDICATE_EXEC_STACK; don't use SUBTARGET_FILE_END.
3197 * config/i386/i386.h: Set TARGET_ASM_FILE_END, not ASM_FILE_END.
3198 Define NEED_INDICATE_EXEC_STACK to 0.
3199 * config/i386/linux.h, config/i386/linux64.h: Redefine
3200 NEED_INDICATE_EXEC_STACK to 1 instead of setting SUBTARGET_FILE_END.
3201 * config/i386/winnt.c (i386_pe_asm_file_end): Rename to
3202 i386_pe_file_end. Take no arguments. Use ix86_file_end.
3203 * config/ia64/ia64.c (ia64_hpux_asm_file_end): Rename to
3204 ia64_hpux_file_end, make static. Take no arguments.
3205 * config/ip2k/ip2k.c (asm_file_start, asm_file_end,
3206 commands_in_prologues, commands_in_epilogues): Delete.
3207 (function_epilogue): Update to match.
3208 * config/mips/mips.c (mips_asm_file_end): Rename mips_file_end,
3209 make static. Take no arguments.
3210 (iris6_asm_file_end): Rename iris6_file_end, make static, use
3211 mips_file_end, take no arguments.
3212 Set TARGET_ASM_FILE_END to iris6_file_end or mips_file_end as
3214 * config/mmix/mmix.c (mmix_asm_file_end): Rename mmix_file_end,
3215 make static, take no arguments. Set TARGET_ASM_FILE_END to
3217 * config/pa/pa.c (output_deferred_plabels): Make static, take
3218 no arguments. Set TARGET_ASM_FILE_END to output_deferred_plabels.
3219 * config/rs6000/xcoff.h (TARGET_ASM_FILE_END): Set it.
3220 (ASM_FILE_END): Delete; move code...
3221 * config/rs6000/rs6000.c (rs6000_xcoff_file_end): ... here;
3222 new static function.
3224 * config/avr/avr.h, config/cris/cris.h, config/h8300/h8300.h
3225 * config/mmix/mmix.h, config/mips/iris6.h, config/mips/mips.h:
3226 Don't set ASM_FILE_END.
3227 * config/alpha/linux-elf.h, config/m68k/linux.h, config/rs6000/linux.h
3228 * config/rs6000/linux64.h, config/s390/linux.h, config/sparc/linux.h
3229 * config/sparc/linux64.h: Set TARGET_ASM_FILE_END to
3230 file_end_indicate_exec_stack; don't set ASM_FILE_END.
3231 * config/alpha/unicosmk.h, config/i386/cygming.h
3232 * config/ia64/hpux.h: Set TARGET_ASM_FILE_END, not ASM_FILE_END.
3233 * config/arm/arm-protos.h, config/alpha/alpha-protos.h
3234 * config/avr/avr-protos.h, config/c4x/c4x-protos.h
3235 * config/h8300/h8300-protos.h, config/ia64/ia64-protos.h
3236 * config/ip2k/ip2k-protos.h, config/mips/mips-protos.h
3237 * config/mmix/mmix-protos.h, config/pa/pa-protos.h: Update.
3239 Sat Jun 7 18:32:13 CEST 2003 Jan Hubicka <jh@suse.cz>
3241 * i386.h (OPTION_DEFAULT_SPECS): Avoid -mcpu default when -march is
3244 Sat Jun 7 15:20:01 CEST 2003 Jan Hubicka <jh@suse.cz>
3246 * Makefile.in (stageprofile_build): Kill redundant target.
3247 * i386.c (mdep_reorg): Don't pad jumps for Athlon.
3249 2003-06-07 Andreas Jaeger <aj@suse.de>
3251 * doc/tm.texi (Costs): Remove DONT_REDUCE_ADDR documentation.
3253 * config/avr/avr.h: Remove comment regarding DONT_REDUCE_ADDR.
3254 * config/dsp16xx/dsp16xx.h: Likewise.
3255 * config/i386/i386.h: Likewise.
3256 * config/ip2k/ip2k.h: Likewise.
3258 2003-06-07 Neil Booth <neil@daikokuya.co.uk>
3260 * Makefile.in (OJBS, c-opts.o): Update.
3261 (c-options.c, c-options.h): Rename options.h and options.c.
3262 (options.h): Rename options_.h.
3264 * c-common.h (c_common_handle_option): Replace c_common_decode_option.
3265 (c_common_init_options): Update prototype.
3266 * c-lang.c (c_init_options): Update prototype.
3267 (LANG_HOOKS_HANDLE_OPTION): Override.
3268 (LANG_HOOKS_DECODE_OPTION): Drop.
3269 * c-opts.c: Include opts.h and options.h instead of c-options.h
3271 (lang_flags): Move to file scope.
3272 (find_opt, c_common_decode_option): Remove.
3273 (CL_C, CL_OBJC, CL_CXX, CL_OBJCXX, CL_JOINED, CL_SEPARATE,
3274 CL_REJECT_NEGATIVE): Move to opts.h.
3275 (missing_arg): Update prototype.
3276 (c_common_init_options): Update for new prototype.
3277 (c_common_handle_options): Filenames are passed as N_OPTS.
3278 * hooks.c (hook_int_void_0): New.
3279 * hooks.h (hook_int_void_0): New.
3280 * langhooks-def.h (LANG_HOOKS_INIT_OPTIONS): New default.
3281 (LANG_HOOKS_HANDLE_OPTION): Default to NULL for now.
3282 (LANG_HOOKS_INITIALIZER): Update.
3283 * langhooks.h (init_options): Update.
3284 (handle_option): New.
3285 * opts.c, opts.h: New files.
3286 * opts.sh: Update c file to include opts.h and options.h.
3287 * toplev.c: Include opts.h; change options.h to options_.h.
3288 (parse_options_and_default_flags): Get lang_mask, use
3289 handle_option for language-specific handling.
3290 * objc/objc-lang.c (LANG_HOOKS_DECODE_OPTON): Drop.
3291 (LANG_HOOKS_HANDLE_OPTION): Override.
3292 (objc_init_options): Update.
3294 2003-06-07 Magnus Kreth <magnus.kreth@gmx.de>
3295 Thibaud Gaillard <thibaud.gaillard@nto.atmel.com>
3298 * Makefile.in (install-common): Remove GCOV_INSTALL_NAME instead of
3301 2003-06-07 Kelley Cook <kelleycook@wideopenwest.com>
3303 * configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Remove quotes in
3305 * configure: Regenerate.
3307 2003-06-07 Alan Modra <amodra@bigpond.net.au>
3309 * config/rs6000/linux64.h (CRT_CALL_STATIC_FUNCTION): Define.
3311 2003-06-06 James E Wilson <wilson@tuliptree.org>
3314 * reload1.c (merge_assigned_reloads): Abort only if two reloads have
3315 different in fields.
3317 2003-06-06 Nathanael Nerode <neroden@gcc.gnu.org>
3319 * configure.in: Make $(target_subdir) correspond with top level usage.
3320 * Makefile.in: Likewise.
3321 * configure: Regenerate.
3323 2003-06-06 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3325 * pa.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_COMMON,
3326 ASM_OUTPUT_ALIGNED_LOCAL): Cast `SIZE' and `ALIGNED' parameters to
3327 unsigned HOST_WIDE_INT.
3328 * pa-pro-end.h (ASM_OUTPUT_ALIGNED_COMMOM, ASM_OUTPUT_ALIGNED_LOCAL):
3330 * pa64-hpux.h (ASM_OUTPUT_ALIGNED_COMMON, ASM_OUTPUT_ALIGNED_LOCAL):
3333 2003-06-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3335 * doc/install.texi (Prerequisites): New section documenting
3336 tools and packages necessary prior to building and/or
3338 * doc/install.texi2html: Also generate prerequisites.html.
3340 2003-06-06 Richard Earnshaw <rearnsha@arm.com>
3343 * ifcvt.c (noce_process_if_block): Fail if the destination has
3346 2003-06-06 Jason Merrill <jason@redhat.com>
3348 * stmt.c (resolve_asm_operand_names): Rename from
3349 resolve_operand_names. No longer static. Avoid needless copying.
3350 Don't build array of constraints.
3351 (expand_asm_operands): Build it here.
3352 * tree.h: Declare resolve_asm_operand_names.
3354 * stmt.c (expand_decl): Put artificial vars into registers even
3355 when not optimizing, and don't mark the regs as user vars.
3357 2003-06-06 J"orn Rennecke <joern.rennecke@superh.com>
3359 * sh.h (FUNCTION_ARG_1): Consistently use NEW_MODE for the mode
3360 of the generated register.
3362 2003-06-06 Daniel Jacobowitz <drow@mvista.com>
3364 * config.gcc: Add a missing sparc64 case.
3366 2003-06-06 Jakub Jelinek <jakub@redhat.com>
3368 * mklibgcc.in: Propagate .note.GNU-stack section if needed into
3369 the .hidden assembly stubs.
3371 2003-06-06 H.J. Lu <hongjiu.lu@intel.com>
3373 * config.gcc (extra_headers): Add emmintrin.h for i[34567]86-*-*
3376 * config/i386/mmintrin.h: Update version and add alternate
3378 * config/i386/xmmintrin.h: Likewise.
3380 * config/i386/xmmintrin.h: Include <emmintrin.h>. Move SSE2
3382 * config/i386/emmintrin.h: Here. New file.
3384 2003-06-06 Roger Sayle <roger@eyesopen.com>
3386 * fold-const.c (fold <ABS_EXPR>): Re-fold the result of folding
3387 fabs(-x) into fabs(x). Use tree_expr_nonnegative_p to determine
3388 when the ABS_EXPR (fabs or abs) is not required.
3389 (tree_expr_nonnegative_p): Move the logic that sqrt and exp are
3390 always nonnegative from fold to here. Additionally, cabs and fabs
3391 are always non-negative, and pow and atan are non-negative if
3392 their first argument is non-negative.
3394 * builtins.c (fold_builtin_cabs): New function to fold cabs{,f,l}.
3395 Evaluate cabs of a constant at compile-time. Convert cabs of a
3396 non-complex argument into fabs. Convert cabs(z) into
3397 sqrt(z.r*z.r + z.i*z.i) at the tree-level with -ffast-math or
3398 -funsafe-math-optimizations or -ffast-math.
3399 (fold_builtin): Convert BUILT_IN_FABS{,F,L} into an ABS_EXPR.
3400 Fold BUILT_IN_CABS{,F,L} using fold_builtin_cabs.
3402 Thu Jun 5 20:51:09 CEST 2003 Jan Hubicka <jh@suse.cz>
3404 * sourcebuild.texi (Front End Directory): Document new hooks.
3406 Fri Jun 6 11:02:35 CEST 2003 Jan Hubicka <jh@suse.cz>
3408 * function.c (FLOOR_ROUND, CEIL_ROUND): Fix.
3409 * i386.md (gen_pro_epilogue_adjust_stack): Deal with gigantic
3411 (pro_epilogue_adjust_stack_rex64_2): New pattern
3413 Fri Jun 6 11:03:14 CEST 2003 Jan Hubicka <jh@suse.cz>
3415 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3417 * cfghooks.h, cfghooks.c: New files.
3418 * Makefile.in (BASIC_BLOCK_H): Depends on cfghooks.h.
3419 (OBJS): Add cfghooks.o.
3420 (cfghooks.o): New rule.
3421 * basic-block.h (split_edge): Rename to rtl_split_edge.
3422 (verify_flow_info): Rename to rtl_verify_flow_info.
3423 (cfghooks.h): Included here.
3424 * cfgrtl.c (split_edge): Renamed rtl_split_edge.
3425 (verify_flow_info): Renamed rtl_verify_flow_info.
3426 * toplev.c (rest_of_compilation): Call rtl_register_cfg_hooks.
3428 * basic-block.h (split_block, split_edge, flow_delete_block,
3429 redirect_edge_and_branch, redirect_edge_and_branch_force): Delete.
3430 (flow_delete_block_noexpunge): Return void.
3431 * cfg.c (verify_flow_info): New function.
3432 * cfgcleanup.c (try_simplify_condjump, outgoing_edges_match,
3433 try_crossjump_to_edge, try_optimize_cfg, delete_unreachable_blocks):
3435 * cfglayout.c (function_footer): Rename to...
3436 (cfg_layout_function_footer): ... this variable
3437 (unlink_insn_chain): Make global.
3438 (fixup_reorder_chain, record_effective_endpoints): Update.
3439 (cleanup_unconditional_jumps): Use delete_block.
3440 (cfg_layout_redirect_edge, cfg_layout_split_block): Move to cfgrtl.c
3441 (cfg_layout_duplicate_bb): Use redirect_edge_and_branch_force.
3442 (cfg_layout_initialize, cfg_layout_finalize): Update hooks.
3443 * cfglayout.h (cfg_layout_redirect_edge, cfg_layout_split_block): Delete.
3444 (cfg_layout_function_footer): Declare.
3445 * cfgloopmanip (split_loop_bb): Do not update RBI.
3446 (remove_bbs): Use delete_block.
3447 (loop_reidrect_edge, loop_delete_branch_edge): Use
3448 redirect_edge_and_branch.
3449 (create_preheader): Use split_block and redirect_edge_and_branch_force.
3450 (split_edge_with): Likewise.
3451 * cfgrtl.c: Include cfglayout.h
3452 (split_edge): Rename to ...
3453 (rtl_split_edge) ... this one; make local.
3454 (redirect_edge_and_branch): Rename to ...
3455 (rtl_redirect_edge_and_branch) ... this one; make local.
3456 (redirect_edge_and_branch_force): Rename to ...
3457 (rtl_redirect_edge_and_branch_force) ... this one; make local.
3458 (cfg_layout_delete_block, cfg_layout_delete_edge_and_branch_force): New.
3459 (cfg_layout_redirect_edge_and_branch, cfg_layout_split_block): Move here from
3460 cfglayout.c; update to directly call RTL counterparts.
3461 (rtl_cfg_hooks, cfg_layout_rtl_cfg_hooks): New functions.
3462 * ifcvt.c (find_cond_trap): Use delete_block.
3463 (find_if_case_1): Use delete_block.
3464 (find_if_case_2): Use delete_block.
3465 * rtl.h (unlink_insn_chain): Declare.
3466 * toplev.c (rtl_reigster_cfg_hooks): New.
3468 2003-06-05 Richard Henderson <rth@redhat.com>
3470 * recog.c (peephole2_optimize): Revert last change.
3472 2003-06-05 Richard Henderson <rth@redhat.com>
3474 * recog.c (peephole2_optimize): Don't split block unless
3477 2003-06-06 Kazu Hirata <kazu@cs.umass.edu>
3479 * config/h8300/h8300.c (get_shift_alg): Correct the syntax of rotxl.
3480 * config/h8300/h8300.md (*addsi3_lshiftrt_16_zexthi): Likewise.
3482 2003-06-05 Kelley Cook <kelleycook@wideopenwest.com>
3484 PR optimization/4490
3485 * config/i386/i386.md: Don't use XFMode if TARGET_128BIT_LONG_DOUBLE.
3486 * doc/invoke.texi (m96bit-long-double, m128bit-long-double): Reword
3487 documentation to accurately reflect what these options do.
3489 2003-06-06 Kaz Kojima <kkojima@gcc.gnu.org>
3491 * config/sh/linux.h (STARTFILE_SPEC): Handle -pie. Simplify.
3492 (ENDFILE_SPEC): Redefine to handle -pie.
3494 2003-06-05 Phil Edwards <phil@jaj.com>
3496 * Makefile.in (qmtest-g++): Use target_alias, not target.
3498 2003-06-05 Per Bothner <pbothner@apple.com>
3500 * toplev.c (push_srcloc): Simplify behavior to save current location
3501 and set current location to parameters.
3502 (pop_srcloc): Simplify semantics.
3503 (lang_dependent_init): Remove now-useless initial push_srcloc.
3505 2003-05-06 Richard Henderson <rth@redhat.com>
3507 * dwarf2out.c (loc_descriptor_from_tree): Return 0 for
3508 language-specific tree codes.
3510 2003-06-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3513 * pa.c (pa_init_builtins): Also set implicit_built_in_decls for
3514 BUILT_IN_FPUTC_UNLOCKED to NULL_TREE.
3516 Thu Jun 5 18:32:46 CEST 2003 Jan Hubicka <jh@suse.cz>
3518 * install.tex: Document profiledbootstrap.
3520 * configure.in: Add support for lang.stageprofile and
3522 * Makefile.in (clean, distclean): Kill new stages
3523 (POSTSTAGE1_FLAGS_TO_PASS): Break from ...
3524 (STAGE2_FLAGS_TO_PASS): ... this one.
3525 (STAGEPROFILE_FLAGS_TO_PASS, STAGEFEEDBACK_FLAGS_TO_PASS): New.
3526 (stage[2-4]_build): Add POSTSTAGE1_FLAGS_TO_PASS.
3527 (stageprofile_build, stageprofile_copy, stagefeedback_build,
3528 stagefeedback_copy): New.
3529 (restageprofile, restagefeedback, stageprofile-start,
3530 stageprofile, stagefeedback-start): Likewise.
3532 2003-06-05 David Miller <davem@redhat.com>
3533 Richard Henderson <rth@redhat.com>
3535 * optabs.c (HAVE_conditional_trap): Provide default.
3536 (gen_conditional_trap): Likewise.
3537 (init_optabs): Merge init_traps.
3538 (gen_cond_trap): Use prepare_operand. Restructure and avoid ifdef.
3540 Thu Jun 5 14:59:44 CEST 2003 Jan Hubicka <jh@suse.cz>
3542 * combine.c (simplify_if_then_else): (IF_THEN_ELSE (NE REG 0) (0) (8))
3543 is REG for nonzero_bits (REG) == 8.
3545 Thu Jun 5 13:23:51 CEST 2003 Jan Hubicka <jh@suse.cz>
3547 * i386.md (align): Fix warning; clarify what to do when no p2align
3550 2003-06-05 Nick Clifton <nickc@redhat.com>
3552 * config.gcc (m32r-elf): Revert previous delta.
3553 * config/m32r/t-m32r (crtinit.o): Fix rule to work with
3554 multilibs. Remove m32rx specific version.
3555 (crtfini.o): Likewise.
3556 (EXTRA_MULTILIB_PARTS): Define.
3558 2003-06-05 Eric Botcazou <ebotcazou@libertysurf.fr>
3560 * doc/md.texi (Machine Constraints): Correct the meaning of
3561 constraints related to floating-point registers on SPARC.
3563 2003-06-05 Eric Botcazou <ebotcazou@libertysurf.fr>
3564 Paolo Bonzini <bonzini@gnu.org>
3567 * configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Redirect
3568 assembler and linker output to /dev/null.
3569 Use a 'sed' construct instead of 'grep -A1'.
3570 * configure: Regenerate.
3572 2003-06-04 Richard Henderson <rth@redhat.com>
3574 * config/i386/i386.c (struct ix86_address): Add seg.
3575 (no_seg_address_operand): New.
3576 (ix86_decompose_address): Restructure PLUS loop. Accept one
3577 UNSPEC_TP if TARGET_TLS_DIRECT_SEG_REFS. Adjust ESP swap test
3578 to test for a regnum, not stack_pointer_rtx.
3579 (ix86_address_cost): Reduce cost if non-default segment.
3580 (legitimate_address_p): Remove UNSPEC_TP check.
3581 (get_thread_pointer): Add to_reg argument. Don't represent
3582 the thread pointer as a memory load.
3583 (legitimize_tls_address): Split out of ...
3584 (legitimize_address): ... here.
3585 (print_operand_address): Handle parts.seg.
3586 (ix86_expand_move): Use legitimize_tls_address.
3587 (ix86_rtx_costs): Handle UNSPEC_TP.
3588 * config/i386/i386.h (MASK_TLS_DIRECT_SEG_REFS): New.
3589 (TARGET_TLS_DIRECT_SEG_REFS): New.
3590 (TARGET_SWITCHES): Add tls-direct-seg-refs.
3591 (TARGET_TLS_DIRECT_SEG_REFS_DEFAULT): Default.
3592 (PREDICATE_CODES): Add no_seg_address_operand.
3593 * config/i386/i386.md (lea_1): Use it.
3594 (lea_1_rex64, lea_1_zext, lea_2_rex64): Likewise.
3595 (load_tp_si, add_tp_si, load_tp_di, add_tp_di): New.
3596 * config/i386/linux.h (TARGET_TLS_DIRECT_SEG_REFS_DEFAULT): New.
3597 * config/i386/linux64.h (TARGET_TLS_DIRECT_SEG_REFS_DEFAULT): New.
3598 * doc/invoke.texi: Add -mtls-direct-seg-refs.
3600 2003-06-04 Mark Mitchell <mark@codesourcery.com>
3602 * Makefile.in (QMTESTRUNFLAGS): Set for DejaGNU emulation.
3603 (QMTEST_GPP_TESTS): Use "g++" by default.
3604 (stamp-qmtest): Tweak database creation.
3605 (QMTEST_DIR/context): Update context file format.
3606 (qmtest-g++): Tweak command-line.
3608 2003-06-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3610 * Makefile.in (varasm.o): Don't set -Wno-error.
3611 * rs6000/t-rs6000 (varasm.o, out_object_file): Don't clear.
3613 2003-06-04 Zack Weinberg <zack@codesourcery.com>
3616 * aclocal.m4 (AC_FUNC_MMAP_ANYWHERE, AC_FUNC_MMAP_FILE): Delete.
3617 (gcc_AC_FUNC_MMAP_BLACKLIST): New.
3618 * configure.in: Check for sys/mman.h and mmap in AC_CHECK_HEADERS
3619 and AC_CHECK_FUNCS lists, respectively. Use
3620 gcc_AC_FUNC_MMAP_BLACKLIST, not AC_FUNC_MMAP_ANYWHERE nor
3622 * configure, config.in: Regenerate.
3624 2003-06-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3626 * arm/aout.h (ASM_OUTPUT_SKIP): Fix cast for format specifier warning.
3627 * arm.c (arm_output_function_prologue): Fix format specifiers.
3628 * arm.h (ARM_PRINT_OPERAND_ADDRESS): Likewise.
3629 * m68k.c (m68k_output_mi_thunk): Use more readable %wd instead of
3630 HOST_WIDE_INT_PRINT_DEC.
3631 * vax.c (vax_output_function_prologue): Fix format specifiers.
3633 2003-06-04 Richard Henderson <rth@redhat.com>
3635 * cse.c (find_best_addr): Consider binary operators even if second
3636 argument is not CONST_INT.
3638 2003-06-04 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3640 * doc/invoke.texi (max-cse-path-length): Document.
3642 2003-06-04 Richard Henderson <rth@redhat.com>
3644 * config/i386/i386.md (align): Use ASM_OUTPUT_*ALIGN macros.
3646 2003-06-04 Andrew Pinski <pinskia@physics.uc.edu>
3648 * config/rs6000/darwin.h (RS6000_OUTPUT_BASENAME):
3649 Remove semi-colon at the end of the expression.
3651 2003-06-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3653 * i370.c (mvs_function_name_length): Fix signed/unsigned warnings.
3654 * i370.h (mvs_function_name_length): Likewise.
3655 * i960.h (CONSTANT_ALIGNMENT): Likewise.
3656 * mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
3657 * pa/pa-pro-end.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
3658 * pa.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
3659 * rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Delete unused
3662 2003-06-04 Daniel Jacobowitz <drow@mvista.com>
3664 * config.gcc: Reorganize --with-cpu logic. Set
3665 configure_default_options according to the default CPU, --with-cpu,
3666 --with-arch, --with-tune, --with-schedule, --with-abi, and
3667 --with-float. Check for legal values of various options.
3668 * configure.in: Define configure_default_options in configargs.h.
3669 * configure: Regenerated.
3670 * config/mips/mips.h (TARGET_DEFAULT_ARCH_P)
3671 (TARGET_DEFAULT_FLOAT_P): New macros.
3672 * gcc.c (do_option_spec): New function.
3673 (struct default_spec, option_default_specs): New.
3674 (main): Call do_option_spec.
3675 * config/alpha/alpha.h, config/arm/arm.h, config/i386/i386.h,
3676 config/mips/mips.h, config/pa/pa.h, config/rs6000/rs6000.h,
3677 config/sparc/sparc.h (OPTION_DEFAULT_SPECS): Define.
3679 * doc/install.texi: Update --with-cpu documentation. Mention
3680 --with-arch, --with-schedule, --with-tune, --with-abi, and
3682 * doc/tm.texi (Driver): Document OPTION_DEFAULT_SPECS.
3684 2003-06-04 Daniel Jacobowitz <drow@mvista.com>
3686 * config.gcc: Only process --with-cpu logic in the third pass.
3688 2003-06-04 Daniel Jacobowitz <drow@mvista.com>
3690 * config.gcc: Reorganize --with-cpu section. Remove an
3691 obsolete comment about the default CPU for x86-64. Fix
3692 a typo for the ep9312. Update the list of supported PowerPC
3693 CPUs. Support a limited set of new --with-cpu options
3696 2003-06-04 Aldy Hernandez <aldyh@redhat.com>
3698 * config/rs6000/rs6000.c (rs6000_complex_function_value): Unpack
3699 complex numbers <= 32 bits into two registers.
3701 2003-06-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3703 * alpha.c (print_operand_address): Fix format specifier warnings.
3704 * alpha/elf.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
3705 * alpha/vms.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
3706 * arm/aof.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
3707 * arm/pe.h (ASM_OUTPUT_COMMON): Likewise.
3708 * avr.h (ASM_OUTPUT_COMMON, ASM_GENERATE_INTERNAL_LABEL,
3709 ASM_OUTPUT_SKIP): Likewise.
3710 * c4x.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
3711 * dsp16xx.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
3712 * h8300.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_COMMON):
3714 * i370.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
3715 * i386/cygming.h (ASM_OUTPUT_COMMON): Likewise.
3716 * i386/darwin.h (ASM_OUTPUT_COMMON): Likewise.
3717 * i960.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
3718 * m68k/hp320.h (PRINT_OPERAND_ADDRESS): Likewise.
3719 * mcore.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
3720 * pdp11.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
3721 * ptx4.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
3722 * sparc/freebsd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
3723 * svr3.h (ASM_OUTPUT_COMMON): Likewise.
3725 2003-06-04 J"orn Rennecke <joern.rennecke@superh.com>
3727 * c-decl.c (c_init_decl_processing): Clear input_file_name
3728 while building common nodes.
3729 * dwarf2out.c (gen_compile_unit_die, dwarf2out_finish):
3730 Don't add working directory for strings like <built-in> .
3732 2003-06-04 David Edelsohn <edelsohn@gnu.org>
3734 * doc/install.texi (*-ibm-aix*): Native as and ld required
3735 to bootstrap on AIX 5L.
3737 2003-06-04 Richard Henderson <rth@redhat.com>
3739 * c-common.c (handle_cleanup_attribute): New.
3740 (c_common_attributes): Add it.
3741 * c-decl.c (finish_decl): Honor the cleanup attribute.
3742 * doc/extend.texi (Variable Attributes): Document it.
3744 * unwind-c.c: New file.
3745 * Makefile.in (LIB2ADDEH): Add it.
3746 * config/t-darwin, config/t-linux, config/t-linux-gnulibc1,
3747 config/ia64/t-ia64: Likewise.
3749 2003-06-04 Jakub Jelinek <jakub@redhat.com>
3751 * function.c (trampolines_created): New variable.
3752 (expand_function_end): Set it when doing INITIALIZE_TRAMPOLINE.
3753 * function.h (trampolines_created): Add.
3754 * config/s390/linux.h (ASM_FILE_END): Define.
3755 * config/alpha/linux-elf.h (ASM_FILE_END): Define.
3756 * config/m68k/linux.h (ASM_FILE_END): Define.
3757 * config/rs6000/linux.h (ASM_FILE_END): Define.
3758 * config/rs6000/linux64.h (ASM_FILE_END): Define.
3759 * config/rs6000/ppc-asm.h: Add .note.GNU-stack on powerpc-linux.
3760 * config/sparc/linux.h (ASM_FILE_END): Define.
3761 * config/sparc/linux64.h (ASM_FILE_END): Define.
3762 * config/i386/i386.c (ix86_asm_file_end): Use SUBTARGET_FILE_END.
3763 * config/i386/linux.h (SUBTARGET_FILE_END): Define.
3764 * config/i386/linux64.h (SUBTARGET_FILE_END): Define.
3766 Wed Jun 4 18:39:33 CEST 2003 Jan Hubicka <jh@suse.cz>
3768 * i386.c (min_insn_size, k8_avoid_jump_misspredicts): New functions
3769 (ix86_reorg): Use it.
3770 * i386.md (align): New insn pattern.
3772 2003-06-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3774 * toplev.c (rest_of_type_compilation): Fix typo.
3776 2003-06-04 Jakub Jelinek <jakub@redhat.com>
3777 Alan Modra <amodra@bigpond.net.au>
3779 * config/i386/linux.h (NO_PROFILE_COUNTERS): Define to 1.
3780 * config/i386/freebsd.h (NO_PROFILE_COUNTERS): Likewise.
3781 * config/i386/netbsd-elf.h (NO_PROFILE_COUNTERS): Likewise.
3782 * config/xtensa/xtensa.h (NO_PROFILE_COUTNERS): Likewise.
3783 * config/darwin.h (NO_PROFILE_COUNTERS): Likewise.
3784 * final.c (NO_PROFILE_COUNTERS): Define to 0 if not defined.
3785 (profile_function): Allow NO_PROFILE_COUNTERS to be non-constant.
3786 * config/rs6000/rs6000.c (output_profile_hook): Likewise.
3788 * configure.in (powerpc*-*, s390*-*): Set tls_as_opt.
3789 Pass it to $gcc_cv_as.
3790 * configure: Rebuilt.
3792 * config/rs6000/rs6000.c (rs6000_abi_name): Remove initializer.
3793 (print_operand): Allow TARGET_AIX to be non-constant.
3794 (rs6000_aix_emit_builtin_unwind_init, rs6000_emit_eh_toc_restore):
3795 Define unconditionally.
3796 (rs6000_elf_declare_function_name): New function.
3797 * config/rs6000/rs6000.md (eh_return): Allow TARGET_AIX to be
3799 * config/rs6000/linux64.h [!RS6000_BI_ARCH] (TARGET_64BIT): Define
3801 (DEFAULT_ARCH64_P, RS6000_BI_ARCH_P): Define.
3802 [IN_LIBGCC2] (TARGET_64BIT): Define based on whether __powerpc64__
3804 (TARGET_AIX): Define to 1 if TARGET_64BIT.
3805 (PROCESSOR_DEFAULT): Remove.
3806 (TARGET_RELOCATABLE, RS6000_ABI_NAME, INVALID_64BIT,
3807 INVALID_32BIT, SUBSUBTARGET_OVERRIDE_OPTIONS): Define.
3808 [RS6000_BI_ARCH] (OVERRIDE_OPTIONS, ASM_FILE_START): Define.
3809 (ASM_DEFAULT_SPEC, ASM_SPEC, LINK_OS_LINUX_SPEC): Define for both
3811 (MULTILIB_DEFAULTS): Define.
3812 (SUBSUBTARGET_EXTRA_SPECS): Define.
3813 (ASM_SPEC32, ASM_SPEC64, ASM_SPEC_COMMON): Define.
3814 (TARGET_TOC): Define only if !RS6000_BI_ARCH.
3815 (TARGET_NO_TOC): Remove.
3816 [!RS6000_BI_ARCH] (TARGET_RELOCATABLE, TARGET_EABI,
3817 TARGET_PROTOTYPE): Define to 0.
3818 (NO_PROFILE_COUNTERS): Define to TARGET_64BIT.
3819 (PROFILE_HOOK): Only call output_profile_hook if TARGET_64BIT.
3820 (ADJUST_FIELD_ALIGN, ROUND_TYPE_ALIGN): Adjust to work properly
3822 (USER_LABEL_PREFIX): Remove.
3823 (JUMP_TABLES_IN_TEXT_SECTION): Define to TARGET_64BIT.
3824 (SETUP_FRAME_ADDRESSES): Only call rs6000_aix_emit_builtin_unwind_init
3826 (TARGET_OS_CPP_BUILTINS): Handle both -m32 and -m64.
3827 (LINK_OS_LINUX_SPEC32, LINK_OS_LINUX_SPEC64): Define.
3828 (STARTFILE_LINUX_SPEC, ENDFILE_LINUX_SPEC): Remove.
3829 (TOC_SECTION_ASM_OP): Define depending on TARGET_64BIT.
3830 (MINIMAL_TOC_SECTION_ASM_OP): Likewise.
3831 (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE): Define depending on
3833 (RS6000_CALL_GLUE): Likewise.
3834 (SAVE_FP_PREFIX, SAVE_FP_SUFFIX, RESTORE_FP_PREFIX,
3835 RESTORE_FP_SUFFIX): Likewise.
3836 (ASM_DECLARE_FUNCTION_NAME): Remove.
3837 (ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_SOURCE_LINE,
3838 DBX_OUTPUT_BRAC, DBX_OUTPUT_NFUN): Only output dot before function
3839 name if TARGET_64BIT.
3840 (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Handle both TARGET_64BIT and
3842 (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Remove undefs.
3843 (ASM_PREFERRED_EH_DATA_FORMAT): Take TARGET_64BIT into account.
3844 (DRAFT_V4_STRUCT_RET): Define.
3845 (SIGNAL_FRAMESIZE): New enum value.
3846 (MD_FALLBACK_FRAME_STATE_FOR): Define.
3847 * config/rs6000/default64.h: New file.
3848 * config/rs6000/sysv4.h (SUBTARGET_SWITCHES): Add -m32 and -m64
3850 (SUBTARGET_OVERRIDE_OPTIONS): If rs6000_abi_name is NULL, set it
3851 to RS6000_ABI_NAME. Only disallow mixing of -fPIC with -mcall-aixdesc
3853 [!RS6000_BI_ARCH] (SUBSUBTARGET_OVERRIDE_OPTIONS): Define.
3854 (ASM_DECLARE_FUNCTION_NAME): Use rs6000_elf_declare_function_name
3856 (TARGET_OS_SYSV_CPP_BUILTINS): Define.
3857 (TARGET_OS_CPP_BUILTINS): Use it.
3858 (CPP_SYSV_SPEC): Remove.
3859 (CPP_SPEC): Remove cpp_sysv.
3860 (SUBTARGET_EXTRA_SPECS): Remove cpp_sysv.
3861 Add SUBSUBTARGET_EXTRA_SPECS.
3862 (SUBSUBTARGET_EXTRA_SPECS): Define.
3863 * config/rs6000/biarch64.h: New file.
3864 * config/rs6000/rs6000-protos.h (rs6000_elf_declare_function_name):
3866 * config/rs6000/x-linux64: New file.
3867 * config/rs6000/t-linux64: Build -m64, -m32 and -m32 -msoft-float
3869 * config/rs6000/eabi-ci.asm: Protect with #ifndef __powerpc64__.
3870 * config/rs6000/eabi-cn.asm: Likewise.
3871 * config/rs6000/tramp.asm: Likewise.
3872 * config/rs6000/sol-ci.asm: Likewise.
3873 * config/rs6000/sol-cn.asm: Likewise.
3874 * config/rs6000/linux.h (TARGET_64BIT): Define to 0.
3875 (TARGET_OS_CPP_BUILTINS): Use TARGET_OS_SYSV_CPP_BUILTINS.
3876 * config/rs6000/ppc-asm.h: Move __powerpc64__ section before
3877 _CALL_AIXDESC section.
3878 * config.gcc (powerpc64-*-linux*): Configure a bi-arch compiler,
3879 defaulting to -m64 unless --with-cpu= is one of the 32-bit CPUs
3882 2003-06-04 Daniel Jacobowitz <drow@mvista.com>
3884 * config.gcc: Revert accidentally committed ARM changes.
3886 2003-06-04 Roger Sayle <roger@eyesopen.com>
3888 * builtins.c (dconstpi, dconste): New mathematical constants.
3889 (init_builtin_dconsts): New function to initialize dconstpi
3891 (fold_builtin): Optimize exp(1.0) = e. Evaluate exp(x) at
3892 compile time with -ffast-math when x is an integer constant.
3893 Optimize tan(0.0) = 0.0. Optimize atan(0.0) = 0.0,
3894 atan(1.0) = pi/4 and tan(atan(x)) = x with -ffast-math.
3896 2003-06-04 Roger Sayle <roger@eyesopen.com>
3898 * calls.c (expand_call): Avoid calling pure or const functions
3899 when the result is ignored (or void) and none of the arguments
3900 are volatile. Move warning diagnostic earlier in function.
3902 2003-06-04 Andreas Jaeger <aj@suse.de>
3904 * system.h: Do not poison TDESC_SECTION_ASM_OP,
3905 RDATA_SECTION_ASM_OP and SUBTARGET_PROLOGUE.
3907 2003-06-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3909 * final.c (asm_fprintf): Update comments, accept "-+ #0" flags,
3910 optimize '%' case, handle %c, don't accept %p, %e, %f or %g,
3911 handle %ll, optimize regular character case.
3913 2003-06-04 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3915 * Makefile.in (cse.o): Add params.h dependency.
3916 * cse.c: Include params.h.
3917 (PATHLENGTH): Removed.
3918 (struct cse_basic_block_data): Make path array dynamic.
3919 (cse_end_of_basic_block): Use PARAM_MAX_CSE_PATH_LENGTH instead
3921 (cse_main, cse_basic_block): Allocate path array.
3922 * params.def (PARAM_MAX_CSE_PATH_LENGTH): New.
3924 Wed Jun 4 09:49:21 CEST 2003 Jan Hubicka <jh@suse.cz>
3926 * i386.c (ix86_reorg): Replace the jump instead of adding nop.
3927 * i386.md (UNSPEC_REP): New constant.
3928 (return_internal_long): New pattern.
3930 2003-06-04 Eric Botcazou <ebotcazou@libertysurf.fr>
3932 PR optimization/11018
3933 * config/sparc/sparc.c (sparc_v8plus_shift): Use which_alternative
3934 consistently to decide whether the scratch register is really
3937 2003-06-04 Eric Botcazou <ebotcazou@libertysurf.fr>
3939 PR optimization/10876
3940 * config/sparc/sparc.h (CONST_OK_FOR_LETTER): Add
3941 new 'O' constraint for constant 4096.
3942 (CONST_DOUBLE_OK_FOR_LETTER_P): Likewise.
3943 * config/sparc/sparc.md (adddi3 expander): Canonicalize pattern.
3944 Do not transform into MINUS insn for constant 4096.
3945 (*adddi3_sp64 insn): Canonicalize pattern. Add new alternative
3946 for constant 4096 as third operand.
3947 (addsi3 expander): Remove.
3948 (*addsi3 insn): Rename into 'addsi3'. Canonicalize pattern. Add
3949 new alternative for constant 4096 as third operand.
3950 (subdi3 expander): Do not transform into PLUS insn for constant 4096.
3951 (*subdi3_sp64 insn): Add new alternative for constant 4096 as third
3953 (subsi3 expander): Remove.
3954 (*subsi3 insn): Rename into 'subsi3'. Add new alternative for
3955 constant 4096 as third operand.
3956 * doc/md.texi (Machine Constraints): Document new 'O' constraint for
3959 2003-06-03 Chris Demetriou <cgd@broadcom.com>
3961 * config/mips/t-linux64 (CRTSTUFF_T_CFLAGS_S): Define.
3963 2003-06-04 Andreas Jaeger <aj@suse.de>
3965 * config/i386/uwin.h: Remove SUBTARGET_PROLOGUE.
3967 * config/i386/i386.c (ix86_expand_prologue): Do not use
3970 * system.h: Poision SUBTARGET_PROLOGUE.
3972 * config/arm/arm-protos.h: Remove unused rdate_section prototype.
3974 * output.h: Remove TDESC_SECTION_ASM_OP and RDATA_SECTION_ASM_OP
3977 * system.h: Poison TDESC_SECTION_ASM_OP and RDATA_SECTION_ASM_OP.
3979 * system.h: Poison INSN_CACHE_DEPTH, INSN_CACHE_SIZE and
3980 INSN_CACHE_LINE_WIDTH.
3982 * libgcc2.c (INSN_CACHE_PLANE_SIZE): Removed.
3983 (__clear_cache): Remove code dependend on INSN_CACHE_DEPTH,
3984 INSN_CACHE_SIZE and INSN_CACHE_LINE_WIDTH.
3986 * doc/tm.texi (Trampolines): Remove INSN_CACHE_DEPTH,
3987 INSN_CACHE_SIZE and INSN_CACHE_LINE_WIDTH.
3989 * dbxout.c (dbxout_type): Remove usage of DBX_OUTPUT_ENUM.
3990 (dbxout_symbol): Remove usage of DBX_OUTPUT_CONSTANT_SYMBOL.
3991 (dbxout_block): Remove usage of DBX_OUTPUT_CATCH.
3992 (dbxout_block): Remove usage of DBX_LBRAC_FIRST.
3993 (dbxout_source_file): Remove usage of DBX_OUTPUT_SOURCE_FILENAME.
3994 (dbxout_init): Remove test for DBX_WORKING_DIRECTORY.
3996 * doc/tm.texi (DBX Options): Do not document DBX_LBRAC_FIRST,
3997 DBX_OUTPUT_SOURCE_FILENAME and DBX_OUTPUT_ENUM and
3998 DBX_WORKING_DIRECTORY.
4000 * system.h: Poison DBX_LBRAC_FIRST, DBX_OUTPUT_ENUM,
4001 DBX_OUTPUT_SOURCE_FILENAME and DBX_WORKING_DIRECTORY.
4003 * config/frv/frv-protos.h: Remove unused const_section
4005 * config/vax/vax-protos.h: Likewise.
4007 * output.h: Remove CONST_SECTION_ASM_OP usage.
4009 * system.h: Poison CONST_SECTION_ASM_OP.
4011 * crtstuff.c (__do_global_dtors_aux): Remove usage of
4013 (frame_dummy): Likewise.
4014 * unwind-dw2-fde-glibc.c (_Unwind_IteratePhdrCallback): Likewise.
4015 * system.h: Poison CRT_GET_RFIB_TEXT.
4017 * collect2.c (is_ctor_dtor): Remove CFRONT_LOSSAGE dependend code.
4019 * fix-header.c: Remove ADD_MISSING_EXTERN_C dependend variables.
4020 (write_lbrac): Remove ADD_MISSING_EXTERN_C dependend code.
4021 (recognized_function): Likewise.
4022 (read_scan_file): Likewise.
4024 2003-06-03 Roger Sayle <roger@eyesopen.com>
4026 * optabs.c (expand_binop): Optimize complex multiplication for
4027 the case of squaring a complex argument.
4029 2003-06-03 Roger Sayle <roger@eyesopen.com>
4031 * optabs.c (expand_binop): Attempt to reuse pseudos for duplicate
4032 non-volatile operands of binary operations.
4033 (prepare_cmp_insn): Likewise.
4035 2003-06-03 Roger Sayle <roger@eyesopen.com>
4037 * varasm.c (force_const_mem): Handle alignment of constants not
4038 representable as a type in the front-end language.
4040 2003-06-03 Kazu Hirata <kazu@cs.umass.edu>
4042 * flow.c (initialize_uninitialized_subregs): Use
4043 emit_move_insn instead of emitting a hardcoded move.