1 2003-06-24 Roger Sayle <roger@eyesopen.com>
3 * config/alpha/osf5.h (TARGET_C99_FUNCTIONS): Define.
5 2003-06-24 Richard Henderson <rth@redhat.com>
6 (blame to: Loren James Rittle <ljrittle@acm.org>)
8 * real.h (ieee_extended_intel_96_round_53_format): New.
9 * real.c (ieee_extended_intel_96_round_53_format): New.
10 * config/i386/freebsd.h (SUBTARGET_OVERRIDE_OPTIONS): Use it
11 for XFmode and TFmode.
13 2003-06-24 Kazu Hirata <kazu@cs.umass.edu>
15 * config/h8300/h8300.md (4 anonymous patterns): Give internal
17 (movsi_h8300): Change the name to *movsi_h8300.
18 (movsi_h8300hs): Change the name to *movsi_h8300hs.
19 (movsf_h8300): Change the name to *movsf_h8300.
20 (movsf_h8300hs): Change the name to *movsf_h8300hs.
22 2003-06-24 Jakub Jelinek <jakub@redhat.com>
24 * builtins.c (expand_builtin_strcpy): Don't evaluate side-effects in
27 2003-06-24 J"orn Rennecke <joern.rennecke@superh.com>
29 Back out these patches:
30 2003-06-02 J"orn Rennecke <joern.rennecke@superh.com>
31 * sh.h (OLD_ARG_MODE): New macro.
32 (FUNCTION_ARG_ADVANCE, FUNCTION_ARG_PASS_BY_REFERENCE): Use it.
33 (FUNCTION_ARG_1): Break out of:
34 (FUNCTION_ARG). Use OLD_ARG_MODE.
35 2003-06-06 J"orn Rennecke <joern.rennecke@superh.com>
36 * sh.h (FUNCTION_ARG_1): Consistently use NEW_MODE for the mode
37 of the generated register.
39 * sh.h (FUNCTION_ARG_SCmode_WART): Define.
40 (FUNCTION_ARG): Unless FUNCTION_ARG_SCmode_WART is defined and
41 an even number of floating point regs are in use, use the same
42 sequence of argument passing registers for SCmode as would be
43 used for two SFmode values.
44 * sh.c (sh_va_arg): If FUNCTION_ARG_SCmode_WART is defined,
45 swap real / imaginary parts in incoming SCmode values passed
48 2003-06-24 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
51 * config/alpha/alpha.md (sqrtdf2): Fix operand substitution.
53 Tue Jun 24 18:49:33 CEST 2003 Jan Hubicka <jh@suse.cz>
55 * Makefile.in (cgraph.o): Depend on output.h, not depend on
57 * cgraph.c: Do not include tree-inline.h; include output.h
58 (known_fns): Rename to ...
59 (known_decls): ... this one; update all uses.
60 (cgraph_varpool_hash): New static variable.
61 (cgraph_varpool_n_nodes, cgraph_varpool_nodes_queue): New global
63 (cgraph_varpool_hash_node, eq_cgraph_varpool_node, cgraph_varpool_node,
64 cgraph_varpool_node_for_identifier, cgraph_varpool_mark_needed_node,
65 cgraph_varpool_finalize_decl, cgraph_varpool_assemble_pending_decls):
67 * cgraph.h (cgraph_varpool_node): New structure.
68 (cgraph_varpool_n_nodes, cgraph_varpool_nodes_queue): Declare.
69 (cgraph_varpool_node, cgraph_varpool_node_for_identifier,
70 cgraph_varpool_finalize_decl, cgraph_varpool_mark_needed_node,
71 cgraph_varpool_asemble_pending_decls): Declare.
72 * cgraphunit.c (record_call_1): Notice variable references.
73 (cgraph_finalize_compilation_unit): Assemble pending variables.
74 * toplev.c (wrapup_global_declarations): Use varpool.
75 (compile_file): Assemble pending declarations.
76 (rest_of_decl_compilation): Use varpool in unit-at-a-time mode.
77 * varasm.c (assemble_name): Notice varpool references.
79 Tue Jun 24 13:52:11 CEST 2003 Jan Hubicka <jh@suse.cz>
81 * langhooks-def.h (LANG_HOOKS_PREPARE_ASSEMBLE_VARIABLE): New macro.
82 * langhooks.h (lang_hooks_for_decls): Add prepare_assemble_variable.
83 * varasm.c (assemble_variable): Call prepare_assemble_variable.
85 2003-06-23 Roger Sayle <roger@eyesopen.com>
87 * builtins.c (expand_builtin): Use expand_builtin_pow to expand
88 calls for pow, powf, powl and their __builtin_ variants.
89 (expand_builtin_pow): If the second argument is a constant
90 integer and compiling with -ffast-math, use expand_powi to
91 generate RTL if powi_cost is less than POWI_MAX_MULTS.
92 (powi_cost): New function to return the number of multiplications
93 necessary to evaluate an Nth power, for integer constant N.
94 (expand_powi): New function to expand the RTL for evaluating
95 the Nth power of a floating point value, for integer constant N.
97 * doc/tm.texi (POWI_MAX_MULTS): Document new target macro.
99 Mon Jun 23 23:07:35 CEST 2003 Jan Hubicka <jh@suse.cz>
101 * cgraph.c (cgraph_nodes_queue): Declare.
102 (eq_node): Take identifier as p2.
103 (cgraph_node): Update htab_find_slot_with_hash call.
104 (cgraph_node_for_identifier): New.
105 (cgraph_mark_needed_node): Move here from cgraphunit.c.
106 * cgraph.h (cgraph_nodes_queue): Declare.
107 (cgraph_node_for_identifier): Declare.
108 * cgraphunit.c (cgraph_finalize_function): Collect entry points here
109 instead of in cgraph_finalize_compilation_unit; constructors and
110 destructors are entry points.
111 (cgraph_finalize_compilation_unit): Reorganize debug outout;
112 examine nested functions after lowerng; call collect_functions hook.
113 (cgraph_mark_local_functions): DECL_COMDAT functions are not local.
114 (cgraph_finalize_compilation_unit): Do not collect entry points.
115 * varasm.c: Include cgraph.h
116 (assemble_name): Mark referenced identifier as needed.
118 * cgraphunit.c (record_call_1): Use get_callee_fndecl.
120 2003-06-23 Jakub Jelinek <jakub@redhat.com>
122 * config/i386/i386.c (x86_output_mi_thunk): Don't pass MEM to %P0,
124 * config/s390/s390.c (s390_output_mi_thunk): Avoid .plt in -m31
125 mode, as it requires pic register loaded.
127 * varasm.c (resolve_unique_section): Remove prototype. No longer
129 * tree.h (resolve_unique_section): New prototype.
131 2003-06-23 Andreas Schwab <schwab@suse.de>
134 * dwarf2out.c (loc_descriptor_from_tree): Handle MODIFY_EXPR by
135 recursing through first argument.
137 2003-06-23 Kazu Hirata <kazu@cs.umass.edu>
139 * ChangeLog.1: Fix a typo.
140 * cfgrtl.c: Fix comment typos.
141 * dwarf2out.c: Likewise.
142 * expmed.c: Likewise.
143 * genrecog.c: Likewise.
145 * rtlanal.c: Likewise.
146 * ssa-dce.c: Likewise.
147 * toplev.c: Likewise.
149 2003-06-23 Kazu Hirata <kazu@cs.umass.edu>
151 * doc/extend.texi: Fix typos.
152 * doc/md.texi: Likewise.
153 * doc/tm.texi: Likewise.
155 2003-06-23 Kazu Hirata <kazu@cs.umass.edu>
157 * basic-block.h: Fix comment formatting.
158 * bt-load.c: Likewise.
159 * builtins.c: Likewise.
160 * c-common.c: Likewise.
161 * c-common.h: Likewise.
162 * c-format.c: Likewise.
163 * coverage.c: Likewise.
164 * cpplib.h: Likewise.
165 * cpppch.c: Likewise.
166 * dbxout.c: Likewise.
167 * diagnostic.c: Likewise.
168 * dwarf2out.c: Likewise.
170 * fold-const.c: Likewise.
171 * function.c: Likewise.
173 * gcov-io.c: Likewise.
174 * gcov-io.h: Likewise.
176 * profile.c: Likewise.
178 * sched-deps.c: Likewise.
180 2003-06-23 Roger Sayle <roger@eyesopen.com>
181 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
183 * doc/contrib.texi (Contributors): Add a note on testing and
184 remove duplicates from testers list.
186 2003-06-23 Nick Clifton <nickc@redhat.com>
188 * read-rtl.c (read_braced_string): Check for EOF. If
189 encountered issue an error message.
191 2003-06-23 Kazu Hirata <kazu@cs.umass.edu>
193 * doc/invoke.texi: Document dump options, dT and dW.
195 2003-06-23 Kazu Hirata <kazu@cs.umass.edu>
197 * genrecog.c (pred_table): Remove the entry for
198 mode_independent_operand.
199 * recog.c (next_insns_test_no_inequality): Remove.
200 (mode_independent_operand): Likewise.
201 * recog.h: Remove the prototype for mode_independent_operand.
203 2003-06-22 Kazu Hirata <kazu@cs.umass.edu>
205 * config/h8300/h8300.c (output_simode_bld): Use rotxl.l to
207 * config/h8300/h8300.md (*extzv_1_r_h8300hs): Change cc of the
208 second alternative to set_znv.
209 (*extzv_1_r_inv_h8300hs): Likewise.
211 2003-06-23 Hans-Peter Nilsson <hp@bitrange.com>
213 * configure.in (in_tree_gas): Find out here whether GAS is ELF,
214 set in_tree_gas_is_elf accordingly.
215 (in_tree_ld): Find out whether LD emulation is ELF, set
216 in_tree_ld_is_elf accordingly.
217 (gcc_cv_as_subsections, gcc_cv_as_hidden, gcc_cv_as_leb128)
218 (gcc_cv_as_eh_frame, gcc_cv_as_shf_merge)
219 (gcc_cv_as_dwarf2_debug_line, gcc_cv_as_gdwarf2_flag)
220 (gcc_cv_as_gstabs_flag): Use $in_tree_gas_is_elf instead of
221 grepping gas/Makefile.
222 (gcc_cv_ld_ro_rw_mix, gcc_cv_ld_eh_frame_hdr, gcc_cv_ld_pie): Use
223 $in_tree_ld_is_elf instead of grepping ld/Makefile.
224 * configure: Regenerate.
226 2003-06-22 Roger Sayle <roger@eyesopen.com>
228 * builtins.c (expand_builtin_mathfn_2): Use tree_cons to build
229 up the stabilized argument list, not build_tree_list.
230 (expand_builtin_strcpy): Construct new argument list manually
231 instead of using chainon to modify the original argument list.
232 (expand_builtin_stpcpy): Construct new argument list manually
233 instead of using copy_list and chainon.
234 (expand_builtin_sprintf): New function. Optimize calls to
235 sprintf when the format is "%s" or doesn't contain a '%'.
236 (expand_builtin): Expand BUILT_IN_SPRINTF using the new function
237 expand_builtin_sprintf.
239 2003-06-22 Andreas Schwab <schwab@suse.de>
241 * function.c (set_insn_locators): Mark as unused.
243 2003-06-22 Neil Booth <neil@daikokuya.co.uk>
245 * common.opt: Add -finline-limit.
246 * opts.c (common_handle_options): Handle it.
247 * opts.sh: Temporary kludge for -finline-limit.
248 * toplev.c (decode_f_option, independent_decode_option): Die.
249 (parse_options_and_default_flags): No independent_decode_option.
251 2003-06-22 Andreas Jaeger <aj@suse.de>
253 * calls.c (emit_call_1): Readd lost ATTRIBUTE_UNUSED.
255 2003-06-22 Kazu Hirata <kazu@cs.umass.edu>
257 * doc/invoke.texi: Document dumps, .btl, .cfg, and .bypass.
259 2003-06-22 Andreas Schwab <schwab@suse.de>
261 * doc/invoke.texi: Remove leading `-' from options in index.
263 2003-06-22 Kazu Hirata <kazu@cs.umass.edu>
265 * bt-load.c: Follow spelling conventions.
267 2003-06-22 Kazu Hirata <kazu@cs.umass.edu>
269 * expr.c (emit_move_insn_1): Fix a comment typo.
271 2003-06-22 Kazu Hirata <kazu@cs.umass.edu>
273 * doc/invoke.texi: Alphabetize dump options.
275 2003-06-22 Kazu Hirata <kazu@cs.umass.edu>
277 * doc/invoke.texi: Remove a duplicate -dk.
279 2003-06-22 Kazu Hirata <kazu@cs.umass.edu>
281 * doc/invoke.texi: Update dump file names.
283 2003-06-22 Zack Weinberg <zack@codesourcery.com>
285 * config/i370/i370.c, config/i370/i370.h: Use HOST_CHARSET_ASCII
286 and HOST_CHARSET_EBCDIC, not HC_ASCII and HC_EBCDIC.
288 2003-06-22 Kazu Hirata <kazu@cs.umass.edu>
290 * doc/rtl.texi: Fix the @findex for pre_modify.
292 2003-06-22 Andreas Jaeger <aj@suse.de>
294 * caller-save.c: Convert to ISO C90.
297 * cfganal.c: Likewise.
298 * cfgbuild.c: Likewise.
299 * cfgcleanup.c: Likewise.
300 * cfghooks.c: Likewise.
301 * cfglayout.c: Likewise.
302 * cfglayout.h: Likewise.
303 * cfgloop.c: Likewise.
304 * cfgloop.h: Likewise.
305 * cfgloopanal.c: Likewise.
306 * cfgloopmainip.c: Likewise.
307 * cfgrtl.c: Likewise.
309 2003-06-22 Richard Earnshaw <rearnsha@arm.com>
311 * arm.h (BIGGEST_ALIGNMENT): Use TARGET_REALLY_IWMMXT for selecting
314 2003-06-22 Richard Earnshaw <rearnsha@arm.com>
316 * arm.md (all call_value patterns): Remove register constraints on
319 2003-06-22 Neil Booth <neil@daikokuya.co.uk>
321 * common.opt: More -f switches.
322 * opts.c (common_handle_options): Handle them.
323 * toplev.c (time_report): Make extern.
324 (f_options): USe flag_dummy.
325 (decode_f_option): No need to use f_options now.
326 * toplev.h (flag_cprop_registers, flag_ssa, flag_ssa_ccp,
327 flag_ssa_dce, time_report, flag_new_regalloc): Make extern.
329 2003-06-22 Andreas Jaeger <aj@suse.de>
331 * c-lex.c: Convert to ISO C90.
332 * c-objc-common.c: Likewise.
333 * c-opts.c: Likewise.
335 * c-ppoutput.c: Likewise.
336 * c-pragma.h: Likewise.
337 * c-pretty-print.c: Likewise.
338 * c-pretty-print.h: Likewise.
339 * c-semantics.c: Likewise.
340 * c-tree.h: Likewise.
341 * c-typeck.c: Likewise.
343 * c-lang.c: Convert to ISO C90.
345 2003-06-22 Neil Booth <neil@daikokuya.co.uk>
347 * opts.c (find_opt): Fix to always guarantee a find of a
348 switch with joined parameter.
349 * opts.h (struct cl_option): New member back_chain.
350 * opts.sh: Update to calculate and add back_chain member.
352 2003-06-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
354 * diagnostic.h (output_host_wide_integer): Declare.
355 * diagnostic.c (output_long_long_decicaml): New function.
356 (output_host_wide_integer): Likewise.
357 (output_format): Use them. Handle "%ll" and "%w".
359 2003-06-21 Jason Thorpe <thorpej@wasabisystems.com>
361 * config.gcc (*-*-netbsd*): Add t-libgcc-pic to tmake_file.
363 2003-06-21 Zack Weinberg <zack@codesourcery.com>
365 * aclocal.m4 (gcc_AC_C_CHARSET): Delete.
366 * configure.in: Don't use gcc_AC_C_CHARSET.
367 * configure, config.in: Regenerate.
368 * config/i370/i370.c, config/i370/i370.h: Use
369 (HOST_CHARSET == HC_EBCDIC) or (HOST_CHARSET == HC_ASCII)
370 instead of HOST_EBCDIC or !HOST_EBCDIC. Clarify comments a tad.
372 2003-06-21 Neil Booth <neil@daikokuya.co.uk>
374 * Makefile.in: Update.
375 * common.opt: New switches.
376 * opts.c: Include diagnostic.h.
377 (common_handle_option): Handle new switches.
378 * toplev.c (flag_loop_optimize, flag_crossjumping, flag_if_conversion,
379 flag_if_conversion2, flag_delete_null_pointer_checks,
380 flag_rerun_cse_after_loop): Make extern.
382 (f_options): Update to use flag_dummy for moved options.
383 (decode_f_option): Some switches moved to opts.c.
384 * toplev.h (flag_loop_optimize, flag_crossjumping, flag_if_conversion,
385 flag_if_conversion2, flag_delete_null_pointer_checks,
386 flag_rerun_cse_after_loop, flag_keep_static_consts, flag_peel_loops,
387 flag_tracer, flag_thread_jumps, flag_unroll_loops,
388 flag_unroll_all_loops, flag_unswitch_loops): New.
390 Sat Jun 21 13:41:00 CEST 2003 Jan Hubicka <jh@suse.cz>
392 * i386.c (ix86_va_arg): Fix allocation of temporary slot.
394 2003-06-20 Kazu Hirata <kazu@cs.umass.edu>
396 * config/h8300/h8300-protos.h: Add a prototype for
397 same_cmp_preceding_p.
398 * config/h8300/h8300.c (same_cmp_preceding): New.
399 * config/h8300/h8300.md: Extend peephole2's that transform
400 compare:SI into shorter sequences so that they can deal with
403 2003-06-21 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
405 * doc/contrib.texi (Contributors): Use Windows instead of Win32.
407 Update Andreas Jaeger's entry.
409 Merge the two entries of Kaveh Ghazi, David Edelsohn, and
412 2003-06-21 Nathanael Nerode <neroden@gcc.gnu.org>
414 * mkconfig.sh: Add multiple inclusion guards to generated headers.
416 2003-06-20 Neil Booth <neil@daikokuya.co.uk>
418 * c-decl.c (store_parm_decls): Make saved_warn_shadow boolean.
419 * common.opt: Add remaining -W options and -g.
420 * diagnostic.c (warnings_are_errors): Remove.
421 * flags.h: Make most warning flags boolean.
422 * opts.c (common_handle_option): Handle remaining -W options, and -g.
423 Move many warning flags from toplev.c, making them boolean.
424 * toplev.c: Remove many warning flags.
425 (decode_W_option): Remove.
426 (decode_g_option): Make extern. Error on unknown switch.
427 (lang_independent_W_options): Use warn_dummy.
428 (independent_decode_option): Just handle -f switches now.
429 * toplev.h (decode_g_option): New.
431 2003-06-20 Aldy Hernandez <aldyh@redhat.com>
434 * config/rs6000/rs6000.h (LEGITIMATE_CONSTANT_P): Adjust for
437 2003-06-20 Kelley Cook <kelleycook@wideopenwest.com>
439 * opts.sh: Tweak awk script for portability.
441 2003-06-20 Mark Mitchell <mark@codesourcery.com>
444 * tree-inline.c (expand_call_inline): Do not warn about failing to
445 inline functions declared in system headers.
446 * doc/invoke.texi (-Winline): Expand on documentation.
448 2003-06-20 Richard Henderson <rth@redhat.com>
450 * config/alpha/alpha.c (alpha_file_start): Disable
451 file_start_file_directive for ELF and not MDEBUG.
453 2003-06-20 J"orn Rennecke <joern.rennecke@superh.com>
455 * sh.h (ROUND_TYPE_ALIGN): Remove.
457 2003-06-20 Richard Henderson <rth@redhat.com>
459 * hooks.c (hook_int_void_no_regs): Rename from
460 hook_reg_class_void_no_regs; change return type.
462 * target-def.h (TARGET_BRANCH_TARGET_REGISTER_CLASS): Update.
463 * target.h (branch_target_register_class): Change return type to int.
465 * config/sh/sh.c (sh_target_reg_class): Change return type.
466 * doc/tm.texi (TARGET_BRANCH_TARGET_REGISTER_CLASS): Likewise.
468 2003-06-20 Andreas Tobler <toa@pop.agri.ch>
470 * c-format.c: Change _Bool to bool reverting part of the last
473 2003-06-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
475 * som.h (ASM_OUTPUT_SOURCE_LINE): Use targetm.strip_name_encoding to
478 2003-06-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
480 * configure.in (gcc_cv_as_gstabs_flag): Disable if assembler warns.
481 * configure: Regenerate.
482 Fixes PR driver/9362.
484 2003-06-20 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
486 * config/alpha/alpha.c (alpha_file_start): Fix typo.
488 2003-06-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
490 * config/mips/mips.h (PUT_SDB_FUNCTION_END): Pass 0 as third arg
491 to ASM_OUTPUT_SOURCE_LINE.
493 2003-06-20 Daniel Egger <degger@fhm.edu>
494 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
496 * doc/install.texi (Building): Correct and improve statement
497 about parallel builds.
499 2003-06-20 Andreas Jaeger <aj@suse.de>
501 * c-common.c: Change _Bool to bool reverting part of the last
504 2003-06-20 Nathan Sidwell <nathan@codesourcery.com>
506 * tree.h (expand_function_end): Remove all parameters.
507 * function.c (expand_function_end): Remove all parameters.
508 Use input_location. Never expand_end_bindings.
509 * c-decl.c (c_expand_body_1): Adjust expand_function_end call.
510 * coverage.c (create_coverage): Likewise.
512 2003-06-20 Nick Clifton <nickc@redhat.com>
514 * doc/extend.texi (ARM Built-in Functions): New node. Document
515 ARM builtin functions for iWMMXt support.
517 2003-06-20 Eric Botcazou <ebotcazou@libertysurf.fr>
519 * doc/install.texi (--with-gnu-as): Mention SPARC/Solaris and
520 SPARC64/Solaris as platforms where --with-gnu-as makes a difference.
521 (--with-as): Add @anchor.
522 (--with-gnu-ld): Fix typo.
523 (--with-ld): Add @uref to --with-as.
525 2003-06-19 Zack Weinberg <zack@codesourcery.com>
527 * doc/tm.texi: Uniformly use @defmac for macros, rather than
528 @table items. Minor formatting and editorial corrections.
530 2003-06-20 Neil Booth <neil@daikokuya.co.uk>
532 * line-map.c, line-map.h: Convert to ISO prototypes.
534 2003-06-20 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
536 * gcse.c (store_killed_in_insn): Fix.
538 2003-06-19 Zack Weinberg <zack@codesourcery.com>
540 * target.h (asm_out.file_start, file_start_app_off,
541 file_start_file_directive): New hooks.
542 * target-def.h (TARGET_ASM_FILE_START_FILE_DIRECTIVE,
543 TARGET_ASM_FILE_START_APP_OFF, TARGET_ASM_FILE_START):
544 New hook-definition macros.
545 * doc/tm.texi: Document new hooks; remove docs of ASM_FILE_START.
546 * varasm.c (default_file_start): New.
547 * output.h: Prototype it.
548 * toplev.c (init_asm_output): Use targetm.asm_out.file_start.
549 * system.h: Poison ASM_FILE_START.
551 * config/alpha/alpha.c (alpha_write_verstamp): Delete.
552 (alpha_file_start): New, define if !TARGET_ABI_UNICOSMK.
553 (unicosmk_asm_file_start): Rename unicosmk_file_start,
554 make static, take no arguments.
555 (TARGET_ASM_FILE_START, TARGET_ASM_FILE_END,
556 TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set as appropriate.
557 * config/alpha/unicosmk.h: Don't define ASM_FILE_START nor
558 TARGET_ASM_FILE_END. Remove reference to ASM_FILE_START in
560 * config/arc/arc.c (arc_asm_file_start): Rename
561 arc_file_start, take no arguments, make static.
562 (TARGET_ASM_FILE_START): Set it.
563 * config/arm/arm.c (aof_file_start): New static function.
564 (TARGET_ASM_FILE_START): Set it, when appropriate.
565 * config/arm/coff.h, config/arm/elf.h:
566 Set TARGET_ASM_FILE_START_APP_OFF to true.
567 * config/avr/avr.c (asm_file_start): Rename avr_file_start,
568 take no arguments, make static.
569 (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE):
571 * config/c4x/c4x.c (c4x_file_start): New static function.
572 (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE):
574 * config/cris/cris.c (cris_file_start): New static function.
575 (TARGET_ASM_FILE_START): Set it.
576 * config/dsp16xx/dsp16xx.c (coff_dsp16xx_file_start): Rename
577 dsp16xx_file_start, make static.
578 (luxworks_dsp16xx_file_start): Delete.
579 (TARGET_ASM_FILE_START): Set it.
580 * config/h8300/h8300.c (asm_file_start): Rename
581 h8300_file_start, make static, take no arguments.
582 (TARGET_ASM_FILE_START): Set it.
583 * config/i370/i370.c (i370_file_start): New static function.
584 (TARGET_ASM_FILE_START): Set it.
585 * config/i386/i386.c (x86_file_start): New static function.
586 (TARGET_ASM_FILE_START): Set it.
587 * config/i386/i386.h (X86_FILE_START_VERSION_DIRECTIVE,
588 X86_FILE_START_FLTUSED): New macros, default to false.
589 * config/i386/i386-interix.h: Override X86_FILE_START_FLTUSED to 1.
590 * config/i386/sysv4.h, config/i386/sco5.h: Override
591 X86_FILE_START_VERSION_DIRECTIVE to true.
592 * config/ia64/ia64.c (ia64_file_start): New static function.
593 (TARGET_ASM_FILE_START): Set it.
594 (emit_safe_across_calls): Take no arguments.
595 * config/ia64/ia64.md: Update to match.
596 * config/m32r/m32r.c (m32r_asm_file_start): Rename
597 m32r_file_start, make static, take no arguments.
598 (TARGET_ASM_FILE_START): Set it.
599 * config/m68hc11/m68hc11.c (m68hc11_asm_file_start): Rename
600 m68hc11_file_start, make static, take no arguments.
601 (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set.
602 (print_options): Delete.
603 * config/m68k/m68k.c (m68k_hp320_file_start): New static function.
604 (TARGET_ASM_FILE_START_APP_OFF): Set.
605 * config/m68k/hp320.h: Set TARGET_ASM_FILE_START to
606 m68k_hp320_file_start.
607 * config/mips/mips.c (iris6_asm_file_start, mips_asm_file_start):
608 Make static, take no arguments.
609 (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set.
610 * config/mmix/mmix.c (mmix_asm_file_start): Rename
611 mmix_file_start, make static, take no arguments.
612 (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set.
613 * config/mn10300/mn10300.c (asm_file_start): Rename
614 mn10300_file_start, make static, take no arguments.
615 (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set.
616 * config/ns32k/ns32k.c (TARGET_ASM_FILE_START_APP_OFF): Set.
617 * config/pa/pa.c (pa_file_start_level, pa_file_start_space,
618 pa_file_start_file, pa_file_start_mcount, pa_elf_file_start,
619 pa_som_file_start, pa_linux_file_start, pa_hpux64_gas_file_start,
620 pa_hpux64_hpas_file_start): New static functions.
621 * config/pa/elf.h: Set TARGET_ASM_FILE_START to pa_elf_file_start.
622 * config/pa/pa-linux.h: Set TARGET_ASM_FILE_START to
624 * config/pa/pa64-hpux.h: Set TARGET_ASM_FILE_START to
625 pa_hpux64_gas_file_start or pa_hpux64_hpas_file_start, as
627 * config/pa/som.h: Set TARGET_ASM_FILE_START to pa_som_file_start.
628 * config/rs6000/rs6000.c: Include xcoffout.h when TARGET_XCOFF.
629 (rs6000_file_start): Make static, take no arguments. Reset
630 default_cpu under certain conditions.
631 (rs6000_xcoff_file_start): New function.
632 * config/rs6000/rs6000.h (TARGET_ASM_FILE_START): Set.
633 * config/rs6000/xcoff.h (TARGET_ASM_FILE_START,
634 TARGET_ASM_FILE_START_FILE_DIRECTIVE): Override.
635 * config/sh/sh.c (output_file_start): Rename
636 sh_file_start, make static, take no arguments. Merge in old
637 code from sh/elf.h's ASM_FILE_START, conditioned on TARGET_ELF.
638 (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set.
639 * config/sh/sh.c (TARGET_ELF): Define to 0.
640 * config/sh/elf.h (TARGET_ELF): Redefine to 1.
641 * config/v850/v850.c (asm_file_start): Delete.
642 (TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set.
643 * config/vax/vax.c (vax_file_start): New static function.
644 (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_APP_OFF): Set.
646 * config/darwin.h: Override ASM_FILE_START_FILE_DIRECTIVE to false.
647 * config/elfos.h, config/svr3.h, config/arm/elf.h, config/arm/pe.h
648 * config/i386/att.h, config/i386/gas.h, config/i386/linux.h
649 * config/i386/sysv4.h, config/i386/sco5.h, config/i960/i960-coff.h
650 * config/m68k/coff.h, config/m68k/hp320.h, config/mcore/mcore-pe.h
651 * config/vax/vaxv.h: Set ASM_FILE_START_FILE_DIRECTIVE to true.
653 * config/darwin.h, config/elfos.h, config/alpha/elf.h
654 * config/alpha/openbsd.h, config/alpha/osf.h, config/alpha/vms.h
655 * config/arc/arc.h, config/arm/aof.h, config/arm/aout.h
656 * config/arm/coff.h, config/arm/elf.h, config/arm/pe.h
657 * config/avr/avr.h, config/c4x/c4x.h, config/cris/cris.h
658 * config/dsp16xx/dsp16xx.h, config/h8300/elf.h, config/h8300/h8300.h
659 * config/i370/i370.h, config/i386/att.h, config/i386/gas.h
660 * config/i386/i386-interix.h, config/i386/linux.h, config/i386/sysv4.h
661 * config/i386/sco5.h, config/i960/i960-coff.h, config/i960/i960.h
662 * config/ia64/ia64.h, config/ia64/sysv4.h, config/m32r/m32r.h
663 * config/m68hc11/m68hc11.h, config/m68k/coff.h, config/m68k/m68k.h
664 * config/mcore/mcore-pe.h, config/mips/iris6.h, config/mips/mips.h
665 * config/mmix/mmix.h, config/mn10300/mn10300.h, config/ns32k/ns32k.h
666 * config/pa/elf.h, config/pa/pa-linux.h, config/pa/pa64-hpux.h
667 * config/pa/som.h, config/pdp11/pdp11.h, config/rs6000/linux64.h
668 * config/rs6000/lynx.h, config/rs6000/xcoff.h, config/sh/elf.h
669 * config/sh/sh.h, config/sparc/sparc.h, config/v850/v850.h
670 * config/vax/vax.h, config/vax/vaxv.h: Don't (re)define ASM_FILE_START.
672 * config/alpha/alpha-protos.h, config/arc/arc-protos.h
673 * config/avr/avr-protos.h, config/dsp16xx/dsp16xx-protos.h
674 * config/h8300/h8300-protos.h, config/ia64/ia64-protos.h
675 * config/m32r/m32r-protos.h, config/m68hc11/m68hc11-protos.h
676 * config/mips/mips-protos.h, config/mmix/mmix-protos.h
677 * config/mn10300/mn10300-protos.h, config/rs6000/rs6000-protos.h
678 * config/sh/sh-protos.h, config/v850/v850-protos.h: Update.
680 * xcoffout.h, config/rs6000/aix.h, config/rs6000/xcoff.h:
681 Remove reference to ASM_FILE_START in comment.
682 * config/arm/aof.h, config/arm/aout.h, config/arm/freebsd.h
683 * config/arm/linux-gas.h, config/arm/netbsd-elf.h
684 * config/arm/netbsd.h: Delete definition of ARM_OS_NAME.
686 2003-06-19 Graeme Peterson <gp@qnx.com>
688 * gcc.c (target_sysroot_suffix, target_sysroot_hdrs_suffix,
689 SYSROOT_SUFFIX_SPEC, SYSROOT_HEADERS_SUFFIX_SPEC, sysroot_suffix_spec,
690 sysroot_hdrs_suffix_spec): New.
691 (static_specs): Initialize new variables.
692 (add_sysroot_suffix_prefix, do_spec_1, main): Use new variables.
693 * doc/tm.texi (SYSROOT_SUFFIX_SPEC, SYSROOT_HEADERS_SUFFIX_SPEC):
696 2003-06-19 Andreas Jaeger <aj@suse.de>
698 * c-aux-info.c: Convert to ISO C90.
699 * c-pragma.c: Likewise.
700 * c-common.c: Likewise.
701 * c-common.h: Likewise.
702 * c-convert.c: Likewise.
703 * c-cppbuiltin.c: Likewise.
704 * c-dump.c: Likewise.
706 * c-format.c: Likewise.
707 * c-incpath.c: Likewise.
708 * c-incpath.h: Likewise.
710 2003-06-19 Roger Sayle <roger@eyesopen.com>
712 * builtins.c (expand_errno_check): Assume that flag_errno_math
713 and HONOR_NANS have been tested before calling here. Only try
714 to set errno ourselves if the decl can't throw an exception.
715 (expand_builtin_mathfn): Move the code to stabilize the arg
716 after the main switch, so that that its only done when needed.
717 BUILT_IN_SQRT{,F,L} doesn't set errno if its arg is nonnegative.
718 Don't modify the original expr when stabilizing the argument.
719 (expand_builtin_mathfn_2): Likewise, move the code to stabilize
720 the args after the main switch, and don't modify the orginal exp.
722 2003-06-19 Aldy Hernandez <aldyh@redhat.com>
724 * expr.c (const_vector_from_tree): Initialize remaining elements
727 2003-06-19 Aldy Hernandez <aldyh@redhat.com>
729 * config/rs6000/spe.md ("spe_evfscfsi"): Change operand types.
730 Change "fix" to "float".
732 2003-06-19 Andreas Jaeger <aj@suse.de>
734 * c-tree.h: Remove declaration of poplevel.
736 * tree.h: Remove declaration of approx_sqrt.
738 * c-lex.c: Remove redundant declaration of asm_out_file.
740 * flags.h: Remove declaration of warn_unknown_pragma and
743 * rtl.h: Remove functions from fold-const.c since they're already
746 * regs.h: Remove redundant declaration of reg_names.
748 * bt-load.c (migrate_btr_defs): Correct printf arguments.
750 * protoize.c: Fix breakage from last patch.
752 2003-06-19 J"orn Rennecke <joern.rennecke@superh.com>
754 * hooks.h (hook_reg_class_void_no_regs): Only declare if tm.h
757 2003-06-18 James A Morrison <ja2morri@student.math.uwaterloo.ca>
759 * config/sparc/sparc.c: Update copyright year.
761 2003-06-19 David Edelsohn <edelsohn@gnu.org>
763 * config/rs6000/rs6000.c (init_cumulative_args): Limit CALL_LIBCALL
766 2003-06-18 Joseph S. Myers <jsm@polyomino.org.uk>
769 * config/i386/liunx.h: Don't include sys/ucontext.h for glibc 2.0.
771 2003-06-19 Kazu Hirata <kazu@cs.umass.edu>
773 * config/h8300/h8300.c (TARGET_INITIALIZER and friends): Move
774 to the end of the file. Remove unnecessary prototypes.
776 2003-06-19 Hans-Peter Nilsson <hp@axis.com>
778 * bt-load.c (migrate_btr_def) [INSN_SCHEDULING]: Conditionalize
779 calls to insn_default_latency and result_ready_cost. Initialize
782 2003-06-18 Richard Henderson <rth@redhat.com>
784 * config/ia64/unwind-ia64.c (_Unwind_GetCFA): New.
785 (_Unwind_FindEnclosingFunction): Implement.
787 2003-06-18 Kazu Hirata <kazu@cs.umass.edu>
789 * toplev.c (rest_of_handle_sched): Hide the entire function if
790 INSN_SCHEDULING is not defined.
791 (rest_of_compilation): Call rest_of_handle_sched() only when
792 INSN_SCHEDULING is defined.
794 2003-06-18 Stephen Clarke <stephen.clarke@superh.com>
795 J"orn Rennecke <joern.rennecke@superh.com>
797 * bt-load.c: New file.
798 * Makefile.in (OBJS): Include bt-load.o
799 (bt-load.o): Add dependencies.
800 * flags.h (flag_branch_target_load_optimize): Declare.
801 (flag_branch_target_load_optimize2): Likewise.
802 * hooks.c (hook_reg_class_void_no_regs): New function.
803 (hook_bool_bool_false): Likewise.
804 * hooks.h (hook_reg_class_void_no_regs, hook_bool_bool_false): Declare.
805 * rtl.h (branch_target_load_optimize): Declare.
806 * target-def.h (TARGET_BRANCH_TARGET_REGISTER_CLASS): Define.
807 (TARGET_BRANCH_TARGET_REGISTER_CALLEE_SAVED): Likewise.
808 (TARGET_INITIALIZER): Include these.
809 * target.h (struct gcc_target): Add branch_target_register_class
810 and branch_target_register_callee_saved members.
811 * toplev.c (enum dump_file_index): Add DFI_branch_target_load
812 (dump_file) Add "tars" entry.
813 (flag_branch_target_load_optimize): New variable.
814 (flag_branch_target_load_optimize2): Likewise.
815 (lang_independent_options): Add entries for new options.
816 (rest_of_compilation): Call branch_target_load_optimize.
817 * doc/tm.texi (TARGET_BRANCH_TARGET_REGISTER_CLASS): Document.
818 (TARGET_BRANCH_TARGET_REGISTER_CALLEE_SAVED): Likewise.
819 * doc/invoke.texi: Document -fbranch-target-load-optimize and
820 -fbranch-target-load-optimize2.
821 * rtl.h (epilogue_completed): Declare.
822 * recog.c (epilogue_completed): New variable.
823 * toplev.c (rest_of_compilation): Set it.
824 * flow.c (mark_regs_live_at_end): Use it.
825 * config/ia64/ia64.c (ia64_output_mi_thunk): Set it.
826 * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Likewise.
827 * config/sh/sh.c (sh_output_mi_thunk): Likewise.
828 * config/sparc/sparc.c (sparc_output_mi_thunk): Likewise.
830 * sh.c (shmedia_space_reserved_for_target_registers): New variable.
831 (sh_target_reg_class): New function.
832 (sh_optimize_target_register_callee_saved): Likwise.
833 (shmedia_target_regs_stack_space): Likewise.
834 (shmedia_reserve_space_for_target_registers_p): Likewise.
835 (shmedia_target_regs_stack_adjust): Likewise.
836 (TARGET_BRANCH_TARGET_REGISTER_CLASS): Override.
837 (TARGET_BRANCH_TARGET_REGISTER_CALLEE_SAVED): Likewise.
838 (calc_live_regs): If flag_branch_target_load_optimize2 and
839 TARGET_SAVE_ALL_TARGET_REGS is enabled, and we have space reserved
840 for target registers, make sure that we save all target registers.
841 (sh_expand_prologue, sh_expand_epilogue): Take target register
842 optimizations into account. Collapse stack adjustments if that
844 (initial_elimination_offset): Reserve space for target registers
846 * sh.h (SAVE_ALL_TR_BIT, TARGET_SAVE_ALL_TARGET_REGS): Define.
847 (OPTIMIZATION_OPTIONS): Enable flag_branch_target_load_optimize.
849 2003-06-18 Nick Clifton <nickc@redhat.com>
851 * config.gcc: Add an extra_header for ARM targets.
852 Support configuring with --with-cpu=iwmmxt.
853 * doc/invoke.texi: Document new value for -mcpu= ARM switch.
854 * config/arm/aof.h (REGISTER_NAMES): Add iwmmxt register
855 names. Fix formatting.
856 * config/arm/aout.h (REGISTER_NAMES): Add iwmmxt register
858 * config/arm/arm-protos.h (arm_emit_vector_const): New
860 (arm_output_load_gr): New prototype.
861 * config/arm/arm.c (extra_reg_names1): Delete.
862 (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN, FL_IWMMXT,
863 * arch_is_iwmmxt): Define.
864 (all_cores, all_architecture): Add entry for iwmmxt.
865 (arm_override_options): Add support for iwmmxt.
866 (use_return_insn, arm_function_arg, arm_legitimate_index_p,
867 arm_print_value, arm_rtx_costs_1, output_move_double,
868 arm_compute_save_reg_mask, arm_output_epilogue,
869 arm_get_frame_size, arm_expand_prologue, arm_print_operand,
870 arm_assemble_integer, arm_hard_regno_ok, arm_regno_class):
872 (arm_init_cumulative_args): Count iwmmxt registers.
873 (arm_function_ok_for_sibcall): Return false of sibcall_blocked
875 (struct minipool_node): Add fix_size field.
876 (add_minipool_forward_ref): Add support for 8-byte aligning of
878 (add_minipool_backward_ref, add_minipool_offsets,
879 dump_minipool, push_minipool_fix): Likewise.
880 (struct builtin_description): New struct.
881 (builtin_description): New array of iwmmxt builtin functions.
882 (arm_init_iwmmxt_builtins): New function.
883 (arm_init_builtins): New function.
884 (safe_vector_operand): New function.
885 (arm_expand_binop_builtin): New function.
886 (arm_expand_unop_builtin): New function.
887 (arm_expand_builtin): New function.
888 (arm_emit_vector_const): New function.
889 (arm_output_load_gr): New function.
890 * config/arm/arm.h (TARGET_CPU_iwmmxt, TARGET_IWMMXT,
891 TARGET_REALLY_IWMMXT, arm_arch_iwmmxt, IWMMXT_ALIGNMENT,
892 TYPE_NEEDS_IWMMXT_ALIGNMENT, ADJUST_FIELD_ALIGN,
893 DATA_ALIGNMENT, LOCAL_ALIGNMENT, VECTOR_MODE_SUPPORTED_P): Define.
894 (BIGGEST_ALIGNMENT): Set to 64 if ATPCS support is enabled.
895 (CPP_CPU_ARCH_SPEC): Add entries for iwmmxt.
896 (FIXED_REGISTERS, CALL_USED_REGISTERS, REG_ALLOC_ORDER,
897 reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS,
898 REG_CLASS_FOR_LETTER): Add iwmmxt registers.
899 (SUBTARGET_CONDITIONAL_REGISTER_USAGE): Disable iwmmxt
900 registers unless the iwmmxt target is selected.
901 (FIRST_IWMMXT_GR_REGNUM, LAST_IWMMXT_GR_REGNUM,
902 FIRST_IWMMXT_REGNUM, LAST_IWMMXT_REGNUM, IS_IWMMXT_REGNUM,
903 IS_IWMMXT_GR_REGNUM): Define.
904 (FIRST_PSEUDO_REGISTER): Bump to 63.
905 (struct machine_function): Add sibcall_blocked field.
906 (Struct CUMULATIVE_ARGS): Add iwmmxt_nregs, named_count and
908 (enum arm_builtins): New enum list.
909 * config/arm/arm.md (UNSPEC_WSHUFH, UNSPEC_WACC,
910 UNSPEC_TMOVMSK, UNSPEC_WSAD, UNSPEC_WSADZ, UNSPEC_WMACS,
911 UNSPEC_WMACU, UNSPEC_WMACSZ, UNSPEC_WMACUZ, UNSPEC_CLRDI,
912 UNSPEC_WMADDS, UNSPEC_WMADDU): New unspecs.
913 (VUNSPEC_TMRC, VUNSPEC_TMCR, VUNSPEC_ALIGN8, VUNSPEC_WCMP_EQ,
914 VUNSPEC_WCMP_GTU, VUNSPEC_WCMP_GT): New vunspecs.
915 (movv2si, movv4hi, movv8qi): New expands for vector moves.
917 * config/arm/t-xscale-elf (MULTILIB_OPITONS): Add iwmmxt
919 (MULTILIB_DIRNAMES, MULTILIB_REDUNDANT_DIRS): Likewise.
920 * config/arm/mmintrin.h: New ARM specific header file.
921 * config/arm/iwmmx.md: New iWMMXt specific machine patterns.
923 2003-06-18 J"orn Rennecke <joern.rennecke@superh.com>
925 * toplev.c (Remaining -d letters summary): Update.
927 2003-06-18 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
929 * config/rs6000/rs6000.c (init_cumulative_args): Add and handle LIBCALL
931 (function_arg): Handle CALL_LIBCALL flag.
932 * config/rs6000/rs6000-protos.h (init_cumulative_args): Update
934 * config/rs6000/rs6000.h (CALL_LIBCALL): New macro.
935 (INIT_CUMULATIVE_LIBCALL_ARGS): New macro.
936 (INIT_CUMULATIVE_ARGS): Add LIBCALL argument.
937 (INIT_CUMULATIVE_INCOMING_ARGS): Likewise.
939 2003-06-18 Neil Booth <neil@daikokuya.co.uk>
941 * Makefile.in: Update.
942 * common.opt: New options.
943 * opts.c (maybe_warn_unused_parameter, set_Wextra, handle_param,
945 (common_handle_option): Handle new options.
946 * toplev.c (set_target_switch): Export.
947 (set_Wextra, set_Wunused, maybe_warn_unused_parameter): Move to opts.c.
948 (decode_W_option): -Wunused and -Wextra handled in opts.c now.
949 (independent_decode_option): More options handled in opts.c now.
951 * toplev.h (set_target_switch): New.
953 2003-06-17 Robert Abeles <rabeles@archaelogic.com>
956 * c-opts.c (c_common_handle_option): Pass -fdump argument suffix
958 * tree-dump.c (dump_switch_p): Remove redundant 'dump-' prefix
959 from static strings in dump_files.
961 2003-06-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
963 * system.h (ANSI_PROTOTYPES, PTR_CONST, LONG_DOUBLE, VPARAMS,
964 VA_OPEN, VA_FIXEDARG, VA_CLOSE, VA_START): undef and poison these
967 2003-06-17 Jason Merrill <jason@redhat.com>
970 * tree-inline.c (expand_call_inline): Don't warn about failing to
971 inline a function which was made inline by -finline-functions.
973 2003-06-17 Kazu Hirata <kazu@cs.umass.edu>
975 * config/h8300/h8300-protos.h: Update to ISO C.
976 * config/h8300/h8300.c: Likewise.
977 * config/h8300/h8300.h: Likewise.
978 * config/h8300/h8300.md: Likewise.
980 2003-06-16 Nathanael Nerode <neroden@gcc.gnu.org>
982 * configure.in: Replace BUILD_CC references with CC_FOR_BUILD.
983 * configure: Regenerate.
984 * Makefile.in: Replace BUILD_CC references with CC_FOR_BUILD.
986 2003-06-17 Ranjit Mathew <rmathew@hotmail.com>
988 * install.texi (Testing): Add information on how to run Java
989 runtime tests separately.
991 2003-06-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
993 * config/mips/mips.md (trap): Use break 0 when !TARGET_GAS.
995 * config/mips/iris6-o32.h (MIPS_ISA_DEFAULT): Remove.
996 (MIPS_CPU_STRING_DEFAULT): Redefine to mips2.
998 2003-06-17 Christopher Faylor <cgf@redhat.com>
1000 * doc/install.texi: Add msvc rebuild caveat.
1002 2003-06-17 Kazu Hirata <kazu@cs.umass.edu>
1004 * config/sh/coff.h: Replace Hitachi with Renesas.
1005 * config/sh/elf.h: Likewise.
1006 * config/sh/embed-elf.h: Likewise.
1007 * config/sh/lib1funcs.asm: Likewise.
1008 * config/sh/sh-protos.h: Likewise.
1009 * config/sh/sh.c: Likewise.
1010 * config/sh/sh.h: Likewise.
1011 * config/sh/sh.md: Likewise.
1013 2003-06-17 Kazu Hirata <kazu@cs.umass.edu>
1015 * ChangeLog.3: Fix comment typos.
1016 * ChangeLog.6: Likewise.
1017 * config/d30v/d30v.c: Likewise.
1018 * config/h8300/h8300.md: Likewise.
1019 * config/m32r/m32r.md: Likewise.
1020 * config/mips/mips.c: Likewise.
1021 * config/mips/mips.md: Likewise.
1022 * config/ns32k/NOTES: Likewise.
1024 2003-06-17 Ranjit Mathew <rmathew@hotmail.com>
1025 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
1027 * doc/sourcebuild.texi (libgcj Tests): Simplify instructions on how
1028 to run Java runtime tests separately.
1030 2003-06-17 Kazu Hirata <kazu@cs.umass.edu>
1032 * config/h8300/h8300-protos.h: Update a comment.
1034 2003-06-17 J"orn Rennecke <joern.rennecke@superh.com>
1036 * sh.h (ROUND_TYPE_ALIGN, LOCAL_ALIGNMENT): Complex modes
1037 are aligned like integral modes.
1038 (SH5_WOULD_BE_PARTIAL_NREGS): Also test for CDImode and DCmode.
1040 * sh.h (EXTRA_CONSTRAINT_Csy): Allow PIC_DIRECT_ADDR_P.
1041 (LEGITIMATE_PIC_OPERAND_P): Allow LABEL_REF.
1042 * sh.md (*pt): Remove.
1044 * sh.h (REG_ALLOC_ORDER): Avoid squandering call-saved registers.
1046 * sh.md (return_media_rte): New pattern.
1047 (return_media): Use it.
1049 2003-06-17 Kazu Hirata <kazu@cs.umass.edu>
1051 * doc/contrib.texi: Replace Hitachi with Renesas.
1052 * doc/install.texi: Likewise.
1053 * doc/invoke.texi: Likewise.
1055 2003-06-17 J"orn Rennecke <joern.rennecke@superh.com>
1057 * sh.h (CONST_OK_FOR_J16): Fix HOST_BITS_PER_WIDE_INT >= 64
1060 2003-06-17 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
1062 * doc/tm.texi (MD_FALLBACK_FRAME_STATE_FOR): Mention MAKE_THROW_FRAME.
1064 * config/rs6000/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Partly revert
1065 2003-01-23 patch. Corrected to handle kernels with changed ucontext.
1067 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Error on invalid
1068 -msdata=eabi usages.
1070 * gcc/config/rs6000/sysv4.h (USE_LIBC_1): Delete all uses.
1072 2003-06-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1074 * alloc-pool.c: Don't check HAVE_LONG_DOUBLE.
1075 * fixinc/gnu-regex.c: Don't define `volatile'.
1076 * ggc-page.c: Don't check HAVE_LONG_DOUBLE.
1077 * ggc-simple.c: Likewise.
1078 * system.h: Don't define `volatile'.
1080 * aclocal.m4 (gcc_AC_C_VOLATILE, gcc_AC_C_LONG_DOUBLE): Delete.
1081 * configure.in (gcc_AC_C_VOLATILE, gcc_AC_C_LONG_DOUBLE): Don't
1083 * config.in, configure: Regenerated.
1085 2003-06-17 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1087 * config/ia64/ia64.c (ia64_expand_builtin, case IA64_BUILTIN_BSP):
1088 Handle POINTERS_EXTEND_UNSIGNED.
1090 2003-06-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1092 * config/mips/mips.c (TARGET_ASM_UNALIGNED_DI_OP) [TARGET_IRIX5 &&
1093 !TARGET_IRIX6]: Define as NULL.
1095 2003-06-17 Eric Botcazou <ebotcazou@libertysurf.fr>
1097 * config/sparc/sparc.c (sparc_va_arg): Don't align 16-byte+ structures.
1099 2003-06-17 Eric Botcazou <ebotcazou@libertysurf.fr>
1101 * dbxout.c (dbxout_source_line_counter): New global variable.
1102 Mark it with GTY(()).
1103 (dbxout_source_line): Increment dbxout_source_line_counter
1104 and pass it to ASM_OUTPUT_SOURCE_LINE.
1105 * sdbout.c (sdbout_source_line_counter): New global variable.
1106 Mark it with GTY(()).
1107 (unnamed_struct_number): Mark it with GTY(()).
1108 (sdbout_source_line): Increment sdbout_source_line_counter
1109 and pass it to ASM_OUTPUT_SOURCE_LINE.
1110 * xcoffout.c (ASM_OUTPUT_SOURCE_LINE): Add third parameter
1111 (xcoffout_source_line): Pass 0 as third argument to
1112 ASM_OUTPUT_SOURCE_LINE.
1113 (xcoffout_begin_prologue): Likewise.
1114 * config/dbxout.h (ASM_OUTPUT_SOURCE_LINE): Add third parameter.
1115 Use it instead of 'sym_lineno' but without incrementing it.
1116 * config/dbxelf.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
1117 * config/lynx.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
1118 * config/ptx4.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
1119 * config/alpha/alpha.c (alpha_start_function): Pass 0 as third
1120 argument to ASM_OUTPUT_SOURCE_LINE.
1121 * config/alpha/alpha.h (ASM_OUTPUT_SOURCE_LINE): Add third parameter.
1122 * config/arm/aout.h: Remove useless comment.
1123 * config/avr/avr.h (ASM_OUTPUT_SOURCE_LINE): Add third parameter.
1124 * config/i960/i960.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
1125 * config/m32r/m32r.h (ASM_OUTPUT_SOURCE_LINE): Add third parameter.
1126 Use it instead of 'sym_lineno' but without incrementing it.
1127 * config/m68k/hp320.h (ASM_OUTPUT_SOURCE_LINE): Add third parameter.
1128 * config/mcore/mcore-pe.h (ASM_OUTPUT_SOURCE_LINE): Add third
1129 parameter. Use it instead of 'sym_lineno' but without incrementing it.
1130 * config/mips/mips.c (mips_output_function_prologue): Pass 0 as third
1131 argument to ASM_OUTPUT_SOURCE_LINE.
1132 * config/mips/mips.h (ASM_OUTPUT_SOURCE_LINE): Add third parameter.
1133 * config/mmix/mmix.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
1134 * config/pa/som.h (ASM_OUTPUT_SOURCE_LINE): Add third parameter.
1135 Use it instead of 'sym_lineno' but without incrementing it.
1136 * config/rs6000/linux64.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
1137 * config/sh/elf.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
1138 * config/sparc/aout.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
1139 * config/sparc/pbd.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
1140 * doc/tm.texi (ASM_OUTPUT_SOURCE_LINE): Document third parameter.
1142 2003-06-17 Richard Sandiford <rsandifo@redhat.com>
1144 * config/mips/mips-protos.h (mips_expand_block_move): Declare.
1145 (expand_block_move, output_block_move): Remove.
1146 * config/mips/mips.h (enum block_move_type): Remove.
1147 * config/mips/mips.c (block_move_call, output_block_move): Remove.
1148 (mips_block_move_straight, mips_adjust_block_mem): New function.
1149 (mips_block_move_loop): Renamed and reworked from block_move_loop.
1150 (mips_expand_block_move): Likewise expand_block_move. Return false
1151 to fall back on the target-independent code.
1152 * config/mips/mips.md (movstrsi): Use mips_expand_block_move.
1153 (movstrsi_internal*): Remove.
1155 2003-06-16 Zack Weinberg <zack@codesourcery.com>
1157 * cpplib.h, cpphash.h, cppcharset.c, cpperror.c, cppexp.c
1158 * cppfiles.c, cpphash.c, cppinit.c, cpplex.c, cpplib.c
1159 * cppmacro.c, cpppch.c, cpptrad.c, cppspec.c: Convert to
1160 ISO C: new-style function declarations, no need for PARAMS,
1161 no special punctuation on indirect function calls, use string
1162 constant concatenation where convenient.
1164 2003-06-17 Andreas Jaeger <aj@suse.de>
1166 * rtl.h: Remove declarations from coverage.h.
1167 * toplev.c: Include coverage.h.
1168 * Makefile.in (toplev.o): Depend on coverage.h.
1170 * toplev.h: Remove extra declaration of print_time.
1172 * gengtype.c (close_output_files): Remove duplicated declaration.
1174 2003-06-16 Nathanael Nerode <neroden@gcc.gnu.org>
1176 * config/sparc/sysv4.h: Remove target-independent comment;
1177 replace "GNU CC" with "GCC".
1178 * config/vxworks.h: Replace "GNU compiler" with "GCC".
1179 * config/sparc/aout.h, config/sparc/biarch64.h, config/sparc/elf.h,
1180 config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h,
1181 config/sparc/lite.h, config/sparc/litecoff.h, config/sparc/liteelf.h,
1182 config/sparc/netbsd-elf.h, config/sparc/openbsd.h,
1183 config/sparc/rtemself.h, config/sparc/sol2-64.h,
1184 config/sparc/sol2-bi.h, config/sparc/sol2-gas-bi.h,
1185 config/sparc/sol2-gld-bi.h, config/sparc/sol2-gld.h,
1186 config/sparc/sol2.h, config/sparc/sp64-aout.h,
1187 config/sparc/sp64-elf.h, config/sparc/sp86x-elf.h,
1188 config/sparc/sparc-protos.h, config/sparc/sysv4-only.h: Replace
1189 "GNU compiler", "GNU CC" with "GCC".
1190 * config/sparc/cypress.md, config/sparc/hypersparc.md,
1191 config/sparc/sparc-modes.def, config/sparc/sparc.c,
1192 config/sparc/sparc.md, config/sparc/sparclet.md,
1193 config/sparc/supersparc.md, config/sparc/ultra1_2.md,
1194 config/sparc/ultra3.md: Replace "GNU CC", "GNU Compiler", and
1195 "GNU C Compiler" with "GCC".
1196 * config/ip2k/ip2k.h: Replace "GNU CC" and "GNU compiler" with "GCC".
1198 2003-06-16 Aldy Hernandez <aldyh@redhat.com>
1200 * simplify-rtx.c (simplify_subreg): Do not over-extend vector
1203 * testsuite/gcc.c-torture/execute/simd-4.c: New.
1205 2003-06-16 Nathanael Nerode <neroden@gcc.gnu.org>
1207 * config/ip2k/ip2k.h: Remove target-independent comments.
1209 * config.gcc: Explicitly mention elfos.h in ip2k entry.
1210 * config/ip2k/ip2k.h: Don't #include it here.
1212 2003-06-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1214 * bitmap.c, builtins.c, c-incpath.c, cgraph.c, config/frv/frv.c,
1215 config/mips/mips.c, cppfiles.c, cpphash.c, cppinit.c, cpplib.c,
1216 dwarf2out.c, dwarfout.c, except.c, expr.c, expr.h, fold-const.c,
1217 function.c, gcc.c, genoutput.c, gensupport.c, global.c,
1218 haifa-sched.c, hashtable.c, ifcvt.c, integrate.c, local-alloc.c,
1219 loop.c, mips-tdump.c, mips-tfile.c, mkdeps.c, protoize.c,
1220 read-rtl.c, recog.h, reload1.c, sbitmap.c, ssa-dce.c,
1221 stringpool.c, tlink.c, tree.c, varasm.c, varray.c: Don't use
1224 * gengtype.c: Don't use UNION_INIT_ZERO.
1225 * system.h (UNION_INIT_ZERO): Delete.
1227 2003-06-16 Richard Henderson <rth@redhat.com>
1229 * simplify-rtx.c (simplify_subreg): Use GET_MODE_SIZE instead of
1230 GET_MODE_UNIT_SIZE when simplifying constant vectors.
1232 2003-06-16 Andreas Jaeger <aj@suse.de>
1234 * timevar.c (get_run_time): Remove function provided also by
1236 * timevar.h: Remove get_run_time declaration.
1238 2003-06-16 Kazu Hirata <kazu@cs.umass.edu>
1240 * config/m68hc11/m68hc11.c (m68hc11_rtx_costs): Remove
1243 2003-06-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1245 * builtin-attrs.def, builtin-attrs.def, builtins.c, cpplex.c,
1246 cpplib.c, gencheck.c, gengenrtl.c, machmode.def, protoize.c: Don't
1247 use macros from "symcat.h", instead rely on ISO C.
1249 * system.h: Don't include "symcat.h".
1250 * configure.in (AC_C_STRINGIZE): Delete.
1251 * config.in, configure: Regenerate.
1253 2003-06-16 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1255 * Makefile.in (install-mkheaders): Use INSTALL_SCRIPT for scripts.
1257 * tree.h (STMT_CHECK): New macro.
1258 Also upper-case argument names on all checking macros and
1259 fix some whitespace problems; assume CODE argument does not
1262 2003-06-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1264 * scan.h: Convert to ISO C.
1265 * system.h: Likewise.
1267 * c-format.c (dynamic_format_types): New pointer for dynamic data.
1268 (find_length_info_modifier_index, init_dynamic_asm_fprintf_info):
1269 New functions split out of...
1270 (handle_format_attribute): ...here.
1272 2003-06-16 J"orn Rennecke <joern.rennecke@superh.com>
1274 * sh.h (REG_CLASS_FROM_LETTER): Change to:
1275 (REG_CLASS_FROM_CONSTRAINT).
1276 (CONST_OK_FOR_I): Rename to:
1277 (CONST_OK_FOR_I08). Changed all users.
1278 (CONST_OK_FOR_J): Rename to:
1279 (CONST_OK_FOR_I16). Changed all users.
1280 (CONST_OK_FOR_K): Rename to:
1281 (CONST_OK_FOR_P27). Changed all users.
1282 (CONST_OK_FOR_L): Rename to:
1283 (CONST_OK_FOR_K08). Changed all users.
1284 (CONST_OK_FOR_O): Rename to:
1285 (CONST_OK_FOR_I06). Changed all users.
1286 (CONST_OK_FOR_P): Rename to:
1287 (CONST_OK_FOR_I10). Changed all users.
1288 (CONSTRAINT_LEN, CONST_OK_FOR_I, CONST_OK_FOR_J16): Define.
1289 (CONST_OK_FOR_J, CONST_OK_FOR_K, CONST_OK_FOR_P): Likewise.
1290 (EXTRA_CONSTRAINT_A, EXTRA_CONSTRAINT_Bsc): Likewise.
1291 (EXTRA_CONSTRAINT_B, PIC_OFFSET_P, PIC_DIRECT_ADDR_P): Likewise.
1292 (EXTRA_CONSTRAINT_Cpg, EXTRA_CONSTRAINT_C): Likewise.
1293 (EXTRA_MEMORY_CONSTRAINT,(EXTRA_CONSTRAINT_Sr0): Likewise.
1294 (CONST_OK_FOR_LETTER_P): Replace with
1295 (CONST_OK_FOR_CONSTRAINT_P).
1296 (EXTRA_CONSTRAINT_S): Rename to:
1297 (EXTRA_CONSTRAINT_C16). Changed all users.
1298 (MOVI_SHORI_BASE_OPERAND_P): Don't allow direct addresses.
1299 (EXTRA_CONSTRAINT_T): Rename to:
1300 (EXTRA_CONSTRAINT_Csy). Changed all users.
1301 (EXTRA_CONSTRAINT_Z): Remove.
1302 (EXTRA_CONSTRAINT): Replace with:
1303 (EXTRA_CONSTRAINT_STR).
1304 (EXTRA_CONSTRAINT_U): Rename to:
1305 (EXTRA_CONSTRAINT_Z). Changed all users.
1306 * sh.c (and_operand): Use CONST_OK_FOR_J16.
1307 * sh.md (cmpeqsi_t-1, cmpeqsi_t, adddi3_media): Use new constraints.
1308 (addsi3_media, addsi3_compact, andsi3_compact, anddi3): Likewise.
1309 (iorsi3, iordi3, xorsi3, xordi3, ashlsi3_std, ashlhi3_k): Likewise.
1310 (lshrsi3_k, movsi_i, movsi_ie, movsi_i_lowpart, movsi_media): Likewise.
1311 (movsi_media_nofpu, movqi_media, movhi_i, movhi_media): Likewise.
1312 (*movdi_i, movdi_media, movdi_media_nofpu, shori_media): Likewise.
1313 (movdf_media, movdf_media_nofpu, movv2sf_i, movv4sf_i): Likewise.
1314 (movsf_media, movsf_media_nofpu, movsi_y, beq_media): Likewise.
1315 (beq_media_i, bne_media, pt, ptb, movv8qi_i, movv2hi_i): Likewise.
1316 (movv4hi_i, movv2si_i, negcmpeqv8qi, negcmpeqv2si): Likewise.
1317 (negcmpeqv4hi, negcmpgtuv8qi, negcmpgtv2si, negcmpgtv4hi): Likewise.
1318 (mcmv, mcnvs_lw, mcnvs_wb, mcnvs_wub, mextr_rl, mextr_lr): Likewise.
1319 (mextr1, mextr2, mextr3, mextr4, mextr5, mextr6, mextr7): Likewise.
1320 (mperm_w, mperm_w_little, mperm_w_big, msad_ubq_i): Likewise.
1321 (mshards_q, mshfhi_b, mshflo_b, mshf4_b, mshf0_b, mshfhi_l): Likewise.
1322 (mshflo_l, mshf4_l, mshf0_l, mshfhi_w, mshflo_w, mshf4_w): Likewise.
1323 (mshf0_w, mshflo_w_x, mshfhi_l_di, mshfhi_l_di_rev): Likewise.
1324 (mshflo_l_di_rev, mshflo_l_di_x, concat_v2sf): Likewise.
1325 (mshflo_l_di_x_rev, subv2si3, subv4hi3, sssubv2si3): Likewise.
1326 (sssubv4hi3): Likewise.
1327 (movsf_i): Change I[08]/r to G/r.
1328 (movsf_ie): Change f/{G,H}/c/X to f/{G,H}/c/Bsc.
1330 * sh.c (sh_output_mi_thunk): Use CONST_OK_FOR_ADD.
1332 2003-06-16 Vladimir Makarov <vmakarov@redhat.com>
1334 * config/i386/i386.c (ix86_memory_move_cost): Fix typo.
1336 2003-06-16 Andreas Jaeger <aj@suse.de>
1338 * basic-block.h: Remove duplicate prototype of
1339 note_prediction_to_br_prob.
1341 * tree.h: Remove duplicate prototype of strip_float_extensions.
1343 2003-06-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1345 * config/c4x/c4x.c: Don't include "c-tree.h".
1346 * config/pa/pa.c: Likewise.
1347 * langhooks.c: Likewise.
1348 * tree.h (poplevel): Declare.
1350 2003-06-16 Kazu Hirata <kazu@cs.umass.edu>
1352 * config/h8300/h8300.c (const_costs): Move this to ...
1353 (h8300_rtx_costs): ... here.
1355 2003-06-16 Roger Sayle <roger@eyesopen.com>
1357 * optabs.h (enum optab_index): Add new OTI_tan and OTI_atan.
1358 (tan_optab, atan_optab): Define corresponding macros.
1359 * optabs.c (init_optabs): Initialize tan_optab and atan_optab.
1360 * genopinit.c (optabs): Implement tan_optab and atan_optab
1361 using tan?f2 and atan?f2 patterns.
1362 * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_TAN{,F,L}
1363 using tan_optab, and BUILT_IN_ATAN{,F,L} using atan_optab.
1364 Change the default value of errno_set to false.
1365 (expand_builtin): Expand BUILT_IN_TAN{,F,L} and BUILT_IN_ATAN{,F,L}
1366 using expand_builtin_mathfn.
1368 * config/i386/i386.md (atansf2, atandf2, atanxf2, atantf2): New
1369 expander patterns implemented using existing atan2?f3 patterns.
1371 2003-06-16 Roger Sayle <roger@eyesopen.com>
1373 * expr.c (expand_expr <PLUS_EXPR>): If operand_equal_p considers
1374 both operands of the addition equal, reuse the expanded RTL.
1375 (expand_expr <MULT_EXPR>): Likewise for multiplication.
1377 2003-06-16 Roger Sayle <roger@eyesopen.com>
1378 Jeff Law <law@redhat.com>
1380 * fold-const.c (operand_equal_p): Consider two calls to "const"
1381 functions with identical non-volatile arguments to be equal.
1382 Consider the FUNCTION_DECL for the "__builtin_foo" form of a
1383 built-in function to be equal to the "foo" form.
1385 2003-06-16 Nathanael Nerode <neroden@gcc.gnu.org>
1387 * config/rs6000/sysv4le.h: Remove target-independent comment.
1388 Replace "GNU compiler" with "GCC" in comment.
1390 2003-06-16 Andreas Jaeger <aj@suse.de>
1392 * tracer.c: Remove duplicate declaration.
1394 * toplev.c: Remove extra declaration of decode_d_option.
1396 * ssa.c: Remove duplicate declaration.
1398 * sreal.c: Remove extra declaration of dump_sreal.
1400 * reload1.c: Remove duplicate declarations.
1402 * integrate.c: Remove extra declaration of
1403 set_decl_abstract_flags.
1405 * flow.c: Remove extra declaration of dump_flow_info.
1407 * alias.c: Remove extra declaration of get_addr.
1409 2003-06-16 Nathanael Nerode <neroden@gcc.gnu.org>
1411 * config/rtems.h, config/sol2.h, config/svr4.h, config/usegas.h,
1412 config/vxworks.h: GNU CC -> GCC.
1414 * convert.c, dwarf2out.c, dwarfout.c, emit-rtl.c, function.c,
1415 lists.c, print-rtl.c, print-tree.c, read-rtl.c, rtl-error.c,
1416 stmt.c, toplev.c, integrate.h, loop.h, machmode.h, rtl.h,
1417 ssa.h, tree.def: Replace overly specific references to "GNU C"
1418 and "GNU C Compiler" with references to "GCC".
1420 2003-06-16 J"orn Rennecke <joern.rennecke@superh.com>
1422 * sh.c (prepare_move_operand): Check if operand 0 is an invalid
1423 memory reference. Fix test that checks if operand 1 is using r0.
1424 * sh.md (movhi_i): Don't allow st.w r0,@(rX,rY) .
1426 * defaults.h (REG_CLASS_FROM_CONSTRAINT): Only define if not already
1429 2003-06-15 Nathan Sidwell <nathan@codesourcery.com>
1431 * function.h (struct emit_status): Remove x_last_linenum,
1432 x_last_filename. Add x_last_location.
1433 * rtl.h: #include "input.h".
1435 * cfglayout.c (duplicate_insn_chain): Use emit_line_note for line
1437 * emit-rtl.c (last_linenum, last_filename): Remove.
1438 (last_location): New.
1439 (emit_line_note_after): LINE must always be >= 0.
1440 (emit_line_note): Likewise. Check not duplicate here...
1441 (emit_note): ... rather than here.
1442 (emit_line_note_force, force_next_line_note, init_emit): Adjust.
1443 * integrate.c (expand_inline_function): Use emit_line_note for
1445 (copy_insn_list): Likewise.
1446 * unroll.c (copy_loop_body): Likewise.
1447 * Makefile.in (RTL_H): Add input.h.
1449 2003-06-16 Richard Sandiford <rsandifo@redhat.com>
1451 * optabs.c (emit_libcall_block): Don't hoist insns past a label.
1453 2003-06-16 Richard Henderson <rth@redhat.com>
1455 * config/alpha/alpha-protos.h, config/alpha/elf.h,
1456 config/alpha/osf.h, config/alpha/unicosmk.h, config/alpha/vms.h,
1457 config/alpha/vms-cc.c, config/alpha/vms-ld.c: Update to ISO C.
1458 * config/alpha/alpha.c: Likewise. Move targetm init to end of file.
1459 Remove unneeded static function decls.
1461 2003-06-16 Neil Booth <neil@daikokuya.co.uk>
1463 * c-opts.c (c_common_handle_option): s/on/value/.
1464 (OPT_fabi_version_, OPT_ftabstop_, OPT_ftemplate_depth_): Use value
1465 directly rather than converting the argument.
1466 * c.opt: Update docs. Use UInteger where appropriate.
1467 * common.opt: Use UInteger where appropriate.
1468 * opts.c (integral_argument): New.
1469 (handle_argument): Handle integral arguments, and optional
1471 (common_handle_option): Update.
1472 * opts.h (CL_MISSING_OK, CL_UINTEGER): New.
1473 * opts.sh: Handle JoinedOrMissing and UInteger flags.
1475 2003-06-16 Neil Booth <neil@daikokuya.co.uk>
1477 * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Remove
1478 unnecessary extern declaration.
1480 2003-06-15 Nathanael Nerode <neroden@gcc.gnu.org>
1482 * config/gofast.h, config/interix.h, config/interix3.h,
1483 config/libgloss.h, config/linux-aout.h, config/linux.h,
1484 config/lynx-ng.h, config/lynx.h: GNU CC -> GCC.
1485 * config/kaos.h: "GNU compiler" -> GCC.
1486 * config/linux-aout.h, config/lynx.h: Clarify comment describing file.
1488 * config/ip2k/crt0.S, config/ip2k/ip2k-protos.h,
1489 config/ip2k/ip2k.c, config/ip2k/ip2k.md, config/ip2k/libgcc.S:
1492 * config/svr3.h: Remove #if 0 code, misleading comments.
1495 2003-06-15 Zack Weinberg <zack@codesourcery.com>
1497 * vmsdbgout.c (vmsdbgout_finish): Rename parameter to
1498 main_input_filename to avoid conflict with input_filename macro.
1500 2003-06-15 Neil Booth <neil@daikokuya.co.uk>
1502 * config/mips/mips.h (asm_file_name, g_switch_set,
1503 g_switch_value): Remove.
1504 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Remove
1505 unnecessary extern declarations.
1507 2003-06-15 Neil Booth <neil@daikokuya.co.uk>
1509 * config/frv/frv.h: Remove declaration of g_switch_value.
1510 * config/m32r/m32r.h: Remove declaration of g_switch_value.
1511 * config/m68hc11/m68hc11.c: Remove declaration of asm_file_name.
1513 2003-06-15 Neil Booth <neil@daikokuya.co.uk>
1515 * opts.sh: Quote '+' in regex.
1517 2003-06-15 Andrew Pinski <pinskia@physics.uc.edu>
1519 * config/rs6000/t-rs6000: Add dependence of cfglayout.h to rs6000.o.
1520 * config/rs6000/rs6000.c: Include cfglayout.h.
1521 * config/alpha/alpha.c: Likewise.
1522 * config/ia64/ia64.c: Likewise.
1523 * config/sparc/sparc.c: Likewise.
1524 * config/sh/sh.c: Likewise.
1526 2003-06-15 Neil Booth <neil@daikokuya.co.uk>
1528 * opts.sh: Quote '+' in regex.
1530 2003-06-15 Neil Booth <neil@daikokuya.co.uk>
1532 * c-opts.c (lang_flags): Update for new spelling of flags.
1533 (write_langs): Similarly.
1534 * c.opt: Specify languages.
1535 * opts.h: Remove languages.
1536 * opts.sh: Recognise front-end defined languages.
1537 * doc/sourcebuild.texi: Update.
1539 2003-06-15 Andreas Jaeger <aj@suse.de>
1541 * alloc-pool.c: Convert to ISO C90 prototypes.
1542 * alloc-pool.h: Likewise.
1543 * alias.c: Likewise.
1544 * attribs.c: Likewise.
1545 * bb-reorder.c: Likewise.
1546 * bitmap.h: Likewise.
1547 * bitmap.c: Likewise.
1548 * builtins.c: Likewise.
1550 * tree.h: Convert prototypes of attribs.c to ISO C90.
1551 * basic-block.h: Convert prototypes of bb-reorder.c to ISO C90.
1552 * rtl.h: Convert prototypes of alias.c and builtins.c to ISO C90.
1553 * expr.h: Convert prototypes of builtins.c to ISO C90.
1555 2003-06-15 Roger Sayle <roger@eyesopen.com>
1557 * config/i386/i386.md (expsf2, expdf2, expxf2): New patterns to
1558 implement exp, expf and expl built-ins as inline x87 intrinsics.
1559 (UNSPEC_FSCALE, UNSPEC_FRNDINT, UNSPEC_F2XM1): New unspecs to
1560 represent x87's fscale, frndint and f2xm1 insns respectively.
1561 (*fscale_sfxf3, *fscale_dfxf3, *fscale_xf3): New insn patterns
1562 to encode x87's "fscale" instruction followed by a pop.
1563 (*frndintxf2): New insn pattern for "frndint".
1564 (*f2xm1xf2): New insn pattern for "f2xm1".
1566 * reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_FRNDINT and
1567 UNSPEC_F2XM1 like UNSPEC_{SIN,COS} and handle UNSPEC_FSCALE like
1570 2003-06-15 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1572 * gencheck.c (main): Avoid generating duplicate macros.
1574 * Makefile.in (stagefeedback-start): Use $(SUBDIRS) instead of
1575 knowing names of language subdirectories.
1577 2003-06-15 Neil Booth <neil@daikokuya.co.uk>
1579 * c-pch.c (asm_file_name): Remove.
1580 * common.opt: Add more switches.
1581 * flags.h (g_switch_set): Boolify.
1582 * opts.c (g_switch_value, g_switch_set, exit_after_options,
1583 version_flag): Move from toplev.c.
1584 (common_handle_option): Handle more switches from toplev.c.
1585 * toplev.c (display_help, display_target_options, decode_d_option,
1586 print_version): Make non-static, remove prototypes.
1587 (aux_base_name, asm_file_name, aux_info_file_name): Constify.
1588 (version_flag, g_switch_value, g_switch_set, exit_after_options):
1590 (independent_decode_option): Move some handlers to opts.c.
1591 * toplev.h (aux_info_file_name, aux_base_name, asm_file_name,
1592 exit_after_options, version_flag, display_help, display_target_options,
1593 print_version, decode_d_option): New.
1595 2003-06-15 Kazu Hirata <kazu@cs.umass.edu>
1597 * config/alpha/alpha.md: Follow spelling conventions.
1598 * config/arm/arm.c: Likewise.
1599 * config/arm/arm.h: Likewise.
1600 * config/arm/arm.md: Likewise.
1601 * config/arm/crtn.asm: Likewise.
1602 * config/m32r/m32r.c: Likewise.
1603 * config/m32r/m32r.md: Likewise.
1604 * config/rs6000/rs6000.c: Likewise.
1606 2003-06-15 Richard Henderson <rth@redhat.com>
1608 * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Call
1609 insn_locators_initialize.
1610 * config/ia64/ia64.c (ia64_output_mi_thunk): Likewise.
1611 * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Likewise.
1612 * config/sparc/sparc.c (sparc_output_mi_thunk): Likewise.
1613 * config/sh/sh.c (sh_output_mi_thunk): Do it later.
1615 2003-06-15 Kazu Hirata <kazu@cs.umass.edu>
1617 * builtins.c (expand_builtin_expect_jump): Remove redundant
1618 tests that are also in any_condjump_p().
1620 2003-06-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1622 * libgcc2.c: Delete sysV68 L_trampoline section.
1623 * config/m68k/mot3300-crt0.S: Delete file.
1624 * config/m68k/mot3300Mcrt0.S: Likewise.
1626 2003-06-15 Nathanael Nerode <neroden@gcc.gnu.org>
1628 * config/aoutos.h: Remove.
1629 * config.gcc: Remove reference to aoutos.h.
1630 * config/m68k/m68k-aout.h: Remove reference to aoutos.h.
1632 2003-06-14 Kazu Hirata <kazu@cs.umass.edu>
1634 * doc/install.texi: Follow spelling conventions.
1635 * doc/tm.texi: Likewise.
1636 * config/fp-bit.c: Likewise.
1637 * config/arm/arm.c: Likewise.
1638 * config/frv/frv.c: Likewise.
1639 * config/ns32k/NOTES: Likewise.
1640 * config/ns32k/STATUS: Likewise.
1642 2003-06-14 Roger Sayle <roger@eyesopen.com>
1643 Zack Weinberg <zack@codesourcery.com>
1645 * rtl.h (STORE_FLAG_VALUE): Remove default definition from here.
1646 * defaults.h (STORE_FLAG_VALUE): Move default definition to here.
1647 * doc/tm.texi (STORE_FLAG_VALUE): Document the default value.
1649 * config/alpha/alpha.h (STORE_FLAG_VALUE): Remove definition.
1650 * config/arc/arc.h (STORE_FLAG_VALUE): Likewise.
1651 * config/arm/arm.h (STORE_FLAG_VALUE): Likewise.
1652 * config/cris/cris.h (STORE_FLAG_VALUE): Likewise.
1653 * config/i370/i370.h (STORE_FLAG_VALUE): Likewise.
1654 * config/i386/i386.h (STORE_FLAG_VALUE): Likewise.
1655 * config/i960/i960.h (STORE_FLAG_VALUE): Likewise.
1656 * config/ia64/ia64.h (STORE_FLAG_VALUE): Likewise.
1657 * config/ip2k/ip2k.h (STORE_FLAG_VALUE): Likewise.
1658 * config/m32r/m32r.h (STORE_FLAG_VALUE): Likewise.
1659 * config/mcore/mcore.h (STORE_FLAG_VALUE): Likewise.
1660 * config/mips/mips.h (STORE_FLAG_VALUE): Likewise.
1661 * config/mmix/mmix.h (STORE_FLAG_VALUE): Likewise.
1662 * config/ns32k/ns32k.h (STORE_FLAG_VALUE): Likewise.
1663 * config/pa/pa.h (STORE_FLAG_VALUE): Likewise.
1664 * config/pdp11/pdp11.h (STORE_FLAG_VALUE): Likewise.
1665 * config/sh/sh.h (STORE_FLAG_VALUE): Likewise.
1666 * config/sparc/sparc.h (STORE_FLAG_VALUE): Likewise.
1667 * config/v850/v850.h (STORE_FLAG_VALUE): Likewise.
1668 * config/xtensa/xtensa.h (STORE_FLAG_VALUE): Likewise.
1670 2003-06-14 Nathan Sidwell <nathan@codesourcery.com>
1672 * opts.sh (POSIXLY_CORRECT): Unset it.
1674 * tree.h (init_function_start): Remove filename and line paramters.
1675 * function.c (init_function_start): Remove filename and line
1676 parameters. Use DECL_SOURCE_LOCATION.
1677 * c-decl.c (store_parm_decls): Adjust init_function_start call.
1678 (c_expand_body_1): Likewise.
1679 * coverage.c (create_coverage): Likewise.
1680 * objc/objc-act.c (build_tmp_function_decl): Set line number to
1682 (hack_method_prototype): Adjust init_function_start call.
1684 2003-06-14 Richard Earnshaw <rearnsha@arm.com>
1687 * arm/linux-elf.h (PROFILE_HOOK): Define.
1689 2003-06-14 Richard Earnshaw <rearnsha@arm.com>
1692 * arm.h (CANNOT_CHANGE_MODE_CLASS): Define.
1694 2003-06-14 Roger Sayle <roger@eyesopen.com>
1696 * opts.sh: Work around a mysterious feature in cygwin's gawk
1697 where specifying the input files explicitly has a different
1698 behavior to piping them via stdin.
1700 2003-06-14 Neil Booth <neil@daikokuya.co.uk>
1702 * doc/sourcebuild.texi: Update.
1704 2003-06-14 Richard Earnshaw <rearnsha@arm.com>
1707 * arm.c (output_move_double): Pass SImode to adjust_address.
1709 2003-06-14 Neil Booth <neil@daikokuya.co.uk>
1711 * Makefile.in: Update to use common.opt and lang_opt_files.
1712 (c-options.c, c-options.h): Remove.
1713 (options.c, options.h): Add.
1714 * c-opts.c: Include options.h not c-options.h.
1715 * common.opt: New file.
1716 * configure, configure.in: Add lang_opt_files.
1717 * opts.c: Include flags.h and diagnostic.h.
1718 (common_handle_option): New.
1719 (handle_option): Update to recognize common options and all
1720 language-dependent options.
1721 * opts.h (CL_F77, CL_JAVA, CL_ADA, CL_COMMON, CL_TREELANG): New.
1722 (struct cl_option): Make flags of type int.
1723 * opts.h: Flag option with front ends to which it applies.
1724 Handle duplicate options.
1725 * toplev.c (filename): Remove.
1726 (independent_decode_option): Don't handle filenames and -quiet.
1727 (process_options, do_compile): Update.
1729 2003-06-14 Nick Clifton <nickc@redhat.com>
1731 * doc/install.texi (Specific): Add description of different
1732 ARM supported file format targets.
1734 Sat Jun 14 11:12:04 CEST 2003 Jan Hubicka <jh@suse.cz>
1736 * reorg.c (emit_delay_sequence, dbr_schedule): Clear insn locators
1739 2003-06-13 Matt Kraai <kraai@alumni.cmu.edu>
1741 * unwind-c.c: Define NO_SIZE_OF_ENCODED_VALUE.
1742 * unwind-pe.h (size_of_encoded_value): Do not define if
1743 NO_SIZE_OF_ENCODED_VALUE is defined.
1745 2003-06-13 Roger Sayle <roger@eyesopen.com>
1747 * expr.c (expand_expr <COMPLEX_CST>): Handle the case of
1748 expanding a complex constant into a CONCAT target.
1750 2003-06-13 Zack Weinberg <zack@codesourcery.com>
1752 * config/svr3.h (ASM_FILE_START): Don't use ASM_FILE_START_1.
1753 (ASM_FILE_START_1): Delete.
1754 * config/i386/att.h, config/i386/sco5.h,
1756 (ASM_FILE_START_1): Delete.
1758 2003-06-13 Kelley Cook <kelleycook@wideopenwest.com>
1760 * config/i386/bsd.h: Remove ASM_FILE_START.
1761 * config/i386/djgpp.h: Likewise.
1762 * config/i386/gas.h (ASM_FILE_START): Output .file before .intel_syntax.
1764 * config/i386/djgpp.h: Move included unix.h, bsd.h, gas.h to ...
1765 * config.gcc (i[34567]86-pc-msdosdjgpp): ... here.
1767 2003-06-13 Vladimir Makarov <vmakarov@redhat.com>
1770 * haifa-sched.c (max_lookahead_tries,
1771 cached_first_cycle_multipass_dfa_lookahead,
1772 cached_issue_rate): New variables.
1773 (max_issue): Check the number of tries.
1774 (choose_ready): Calculate max_lookahead_tries.
1775 (sched_init): Check cached_issue_rate.
1777 2003-06-13 Richard Henderson <rth@redhat.com>
1779 * cfgbuild.c (make_edges): Set ABNORMAL with SIBCALL.
1780 * cfgrtl.c (purge_dead_edges): Expect it too.
1782 2003-06-13 Jim Wilson <wilson@tuliptree.org>
1783 Eric Botcazou <ebotcazou@libertysurf.fr>
1786 * combine.c (make_extraction): Use gen_lowpart_for_combine
1787 when extracting from a REG and not in the destination of a SET.
1789 2003-06-13 Doug Evans <dje@sebabeach.org>
1791 * tsystem.h (abort): Declare in inhibit_libc case to remove build
1792 warnings for addvsi3, et.al.
1794 2003-06-13 Aldy Hernandez <aldyh@redhat.com>
1796 * c-common.c (handle_mode_attribute): Use VECTOR_MODE_P macro.
1798 * simplify-rtx.c (simplify_subreg): Same.
1800 * emit-rtl.c (gen_lowpart_common): Same.
1802 2003-06-13 Kazu Hirata <kazu@cs.umass.edu>
1804 * builtins.c: Fix comment typos.
1805 * fold-const.c: Likewise.
1807 2003-06-13 Doug Evans <dje@sebabeach.org>
1808 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
1810 * config/m32r/m32r-protos.h (m32r_pass_by_reference): Declare.
1811 * config/m32r/m32r.c (m32r_pass_by_reference): New fn.
1812 (m32r_va_arg): Use it.
1813 * config/m32r/m32r.h (FUNCTION_ARG_PASS_BY_REFERENCE): Ditto.
1814 (RETURN_IN_MEMORY): Ditto.
1816 2003-06-13 Nathanael Nerode <neroden@gcc.gnu.org>
1818 * c-typeck.c: Remove #if 0 clauses.
1821 * config/alpha/openbsd.h, config/i386/openbsd.h,
1822 config/m68k/openbsd.h, config/sparc/openbsd.h: Remove
1823 residual reference to EGCS.
1825 2003-06-13 Richard Earnshaw <rearnsha@arm.com>
1827 * arm.c (output_call_mem): If the address references the link-register
1828 use an instruction sequence that avoids early-clobbering IP.
1829 (eliminate_lr2ip): Delete.
1831 2003-06-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1833 * c-format.c (format_types_orig): Disallow '*' width/precision in
1834 asm_fprintf format checks.
1836 2003-06-13 Ulrich Weigand <uweigand@de.ibm.com>
1838 * config/s390/s390.c (s390_va_arg): Fix alignment when retrieving
1839 non-integral types from integer register save area slots.
1841 2003-06-13 Nathanael Nerode <neroden@gcc.gnu.org>
1843 * config/i386/svr3dbx.h: GNU CC -> GCC; Intel 385 -> Intel 386.
1845 2003-06-13 Florian Weimer <fw@deneb.enyo.de>
1847 * doc/invoke.texi (SPARC Options): Document ``-mimpure-text''.
1849 2003-06-13 Kaz Kojima <kkojima@gcc.gnu.org>
1851 * config/sh/linux.h (TARGET_ASM_FILE_END): Set TARGET_ASM_FILE_END
1852 to file_end_indicate_exec_stack.
1854 2003-06-12 Richard Henderson <rth@redhat.com>
1857 * config/i386/i386.md (sse_movaps): Use an expander to force
1858 one operand to be a register.
1859 (sse_movups): Likewise.
1861 2003-06-13 Doug Evans <dje@sebabeach.org>
1863 Remove some build warnings.
1864 * config/m32r/initfini.c (__CTOR_LIST__,__DTOR_LIST__): Attribute used.
1865 (__do_global_ctors,__do_global_dtors): Ditto.
1867 2003-06-12 Richard Henderson <rth@redhat.com>
1870 * rtlanal.c (subreg_offset_representable_p): Relax subreg check.
1872 2003-06-13 Kazu Hirata <kazu@cs.umass.edu>
1874 * config/m32r/m32r.md: Fix a comment typo.
1876 2003-06-13 Eric Botcazou <ebotcazou@libertysurf.fr>
1877 Christian Ehrhardt <ehrhardt@mathematik.uni-ulm.de>
1880 * config/sparc/sparc.c (function_arg_record_value_parms): Add
1882 (function_arg_record_value_1): Set 'stack' to 1 if we run out of
1883 integer slots for an integer field.
1884 (function_arg_record_value_3): Shift vector index.
1885 (function_arg_record_value_2): Likewise.
1886 (function_arg_record_value): Initialize 'stack' to 0.
1887 Set 'stack' to 1 if we run out of integer slots for an integer field.
1888 Generate (parallel [(expr_list (nil) ...) ...]) if 'stack' is set to 1.
1890 2003-06-13 Eric Botcazou <ebotcazou@libertysurf.fr>
1892 PR optimization/10955
1893 * unroll.c (unroll_loop): Fix off-by-one bug.
1895 2003-06-12 Aldy Hernandez <aldyh@redhat.com>
1897 * config/rs6000/rs6000.c (function_arg): Remove typo.
1899 2003-06-12 Richard Henderson <rth@redhat.com>
1901 * config/i386/i386.c (legitimate_constant_p): Handle UNSPEC_NTPOFF
1904 2003-06-12 Richard Henderson <rth@redhat.com>
1907 * expmed.c (emit_store_flag): Use simplify_gen_subreg directly
1908 for extracting sub-words.
1910 2003-06-12 Richard Henderson <rth@redhat.com>
1913 * config/m68k/m68k.md (zero_extendhisi2): Use gen_lowpart_SUBREG.
1914 (zero_extendqihi2, zero_extendqisi2): Likewise.
1916 2003-06-12 Aldy Hernandez <aldyh@redhat.com>
1918 * config/rs6000/rs6000.c (function_arg): Always split vectors for
1919 e500 if it's a stdarg function.
1920 (function_arg_advance): Advance 2 registers for vectors in a
1922 (init_cumulative_args): Initialize stdarg.
1923 (rs6000_spe_function_arg): New.
1925 * config/rs6000/rs6000.h (rs6000_args): Add stdarg.
1927 2003-06-12 Aldy Hernandez <aldyh@redhat.com>
1929 * config/rs6000/rs6000.h (MODES_TIEABLE_P): Add SPE vectors.
1931 2003-06-12 Roger Sayle <roger@eyesopen.com>
1934 * fold-const.c (tree_expr_nonnegative_p): Handle addition
1935 and multiplication of zero extensions, floating point division,
1936 and integer<->fp, fp<->fp and zero extension conversions.
1937 The built-in ceil and floor functions preserve signedness.
1939 2003-06-12 Kazu Hirata <kazu@cs.umass.edu>
1941 * ChangeLog: Follow spelling conventions.
1942 * ChangeLog.2: Likewise.
1943 * c-decl.c: Likewise.
1944 * cfgloop.h: Likewise.
1945 * cgraph.c: Likewise.
1946 * coverage.c: Likewise.
1947 * cppcharset.c: Likewise.
1948 * cpphash.h: Likewise.
1949 * cpplex.c: Likewise.
1950 * cpplib.c: Likewise.
1951 * dbxout.c: Likewise.
1953 * dwarf2out.c: Likewise.
1954 * dwarfout.c: Likewise.
1955 * emit-rtl.c: Likewise.
1956 * explow.c: Likewise.
1957 * gcov-io.c: Likewise.
1958 * gcov-io.h: Likewise.
1960 * gengtype.c: Likewise.
1964 * reload.c: Likewise.
1967 2003-06-12 Janis Johnson <janis187@us.ibm.com>
1969 * doc/install.texi (m32r-*-elf): Change company to Renesas.
1971 Thu Jun 12 20:00:55 CEST 2003 Jan Hubicka <jh@suse.cz>
1973 * basic-block.h (flow_delete_block_noexpunge): Kill.
1974 * cfgrtl.c (flow_delete_block_noexpunge): Merge to
1977 2003-06-10 Richard Henderson <rth@redhat.com>
1980 * reg-stack.c (any_malformed_asm): New.
1981 (check_asm_stack_operands): Set it.
1982 (convert_regs_1): Check it before aborting.
1984 2003-06-12 Aldy Hernandez <aldyh@redhat.com>
1986 * config/rs6000/spe.md: Change all clobbers of the accumulator to sets.
1988 2003-06-12 Jakub Jelinek <jakub@redhat.com>
1990 * c-opts.c (complain_wrong_lang): Add on argument.
1991 Print no- switch if on is false.
1992 (c_common_decode_option): Adjust caller.
1994 2003-06-12 Ulrich Weigand <uweigand@de.ibm.com>
1996 * config/s390/s390.c (s390_emit_prologue): Use LA instead of AR
1997 to initialize GOT register.
1999 2003-06-12 Roger Sayle <roger@eyesopen.com>
2001 * fold-const.c (tree_expr_nonnegative_p): Add support for
2002 floating point constants, addition and multiplication.
2004 2003-06-12 J"orn Rennecke <joern.rennecke@superh.com>
2006 * sh.md (adddi3_compact, subdi3_compact): Add earlyclobber
2007 constraint modifier for operand 0.
2009 2003-06-12 Hans-Peter Nilsson <hp@axis.com>
2011 Don't warn on dollars in builtin macro definitions,
2012 e.g. __REGISTER_PREFIX__.
2013 * cpphash.h (struct cpp_reader): Move member warn_dollars...
2014 * cpplib.h (struct cpp_options): ...to here. Change type to
2016 * cppinit.c (cpp_create_reader): Set it to 1 here.
2017 (post_options): Don't set it here.
2018 * c-opts.c (c_common_init_options): Reset it to 0 here.
2019 (finish_options): Set it here.
2020 * cpplex.c (forms_identifier_p): Tweak for new location of
2023 * configure.in (assembler dwarf2 debug_line support): Define insn
2024 for cris-*-* and mmix-*-*.
2025 * configure: Regenerate.
2027 2003-06-11 Uwe Stieber <uwe@kaos-group.de>
2029 * config.gcc (arm*-*-kaos*, i[34567]86-*-kaos*, powerpc-*-kaos*,
2030 powerpcle-*-kaos*, strongarm-*-kaos*): New targets.
2031 (sh-*-elf*): Add sh*-*-kaos* support.
2032 * config/kaos.h, config/arm/kaos-strongarm.h, config/arm/kaos-arm.h,
2033 config/i386/kaos-i386.h, config/rs6000/kaos-ppc.h,
2034 config/sh/kaos-sh.h: New files.
2036 2003-06-12 Kazu Hirata <kazu@cs.umass.edu>
2038 * gcse.c (fis_get_condition): Make it a global function.
2039 * reload1.c (reload_cse_move2add): Detect implicit sets.
2040 * rtl.h: Add a prototype for fis_get_condition.
2042 2003-06-11 Richard Henderson <rth@redhat.com>
2044 * stmt.c (expand_asm_operands): Don't warn for memories with
2047 2003-06-11 Kaz Kojima <kkojima@gcc.gnu.org>
2049 * config/sh/sh.h (SUBTARGET_ASM_RELAX_SPEC): Rewrite without
2052 2003-06-11 Neil Booth <neil@daikokuya.co.uk>
2054 * hooks.c (hook_int_size_t_constcharptr_int_0): New.
2055 * hooks.h (hook_int_size_t_constcharptr_int_0): New.
2056 * langhooks-def.h (lhd_decode_option, LANG_HOOKS_DECODE_OPTION): Die.
2057 (LANG_HOOKS_HANDLE_OPTION, LANG_HOOKS_INITIALIZER): Update.
2058 * langhooks.c (lhd_decode_option): Remove.
2059 * langhooks.h (struct lang_hooks): Remove decode_option.
2060 * opts.c (handle_option): No longer use decode_option.
2062 2003-06-11 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2064 * cfgloopanal.c (variable_initial_value): Update the set of altered
2065 registers correctly.
2067 2003-06-11 Roger Sayle <roger@eyesopen.com>
2068 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2070 * config/d30v/d30v.h: Delete reference to ASM_FINAL_SPEC.
2071 * config/i386/netbsd-elf.h: Likewise.
2072 * config/m32r/m32r.h: Likewise.
2073 * config/mn10300/mn10300.h: Likewise.
2074 * config/stormy16/stormy16.h: Likewise.
2075 * config/v850/v850.h: Likewise.
2076 * config/vax/netbsd-elf.h: Likewise.
2077 * config/xtensa/elf.h: Likewise.
2078 * config/xtensa/linux.h: Likewise.
2080 2003-06-11 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2082 * config/mips/iris5gas.h (MDEBUG_ASM_SPEC): Override to match
2085 * config/mips/dbxmdebug.h: New file.
2086 * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it with
2087 gas and --with-stabs.
2089 2003-06-11 Ulrich Weigand <uweigand@de.ibm.com>
2091 * expr.c (can_move_by_pieces): align argument may be unused.
2093 2003-06-11 J"orn Rennecke <joern.rennecke@superh.com>
2095 * expr.c (convert_move): Handle moves between two CONCATs.
2097 2003-06-11 Kazu Hirata <kazu@cs.umass.edu>
2099 * config/h8300/h8300.h (RETURN_IN_MEMORY): Accept DImode if
2102 2003-06-11 Kazu Hirata <kazu@cs.umass.edu>
2104 * config/h8300/h8300.c (final_prescan_insn): Don't dump rtl.
2105 * config/h8300/h8300.h (MASK_RTL_DUMP): Remove.
2106 (TARGET_RTL_DUMP): Likewise.
2107 (TARGET_SWITHCES): Remove -mrtl-dump.
2109 2003-06-10 Richard Henderson <rth@redhat.com>
2111 * optabs.c (gen_cond_trap): Fix prepare_operand typo.
2113 2003-06-10 Richard Henderson <rth@redhat.com>
2115 * config/ia64/ia64.md (call_gp): Fix memory mode.
2117 2003-06-10 James E Wilson <wilson@tuliptree.org>
2120 * reload1.c (choose_reload_regs): For equiv reg, add loop over all
2121 hard regs for reload_reg_used_at_all and reg_class_contents checks.
2123 2003-06-10 Kazu Hirata <kazu@cs.umass.edu>
2125 * config/h8300/h8300.c (print_operand): Remove support for
2126 operand character 'b'.
2127 Add the AND case to operand character 'c'.
2128 * config/h8300/h8300.md (two anonymous patterns): Replace
2129 operand character 'b' with 'c'.
2131 2003-06-10 Kazu Hirata <kazu@cs.umass.edu>
2133 * config/h8300/h8300.c (print_operand): Remove support for
2134 operand character 'u'.
2136 2003-06-10 Nathanael Nerode <neroden@gcc.gnu.org>
2138 * configure.in: Fix typo.
2139 * configure: Regenerate.
2141 2003-06-10 Loren James Rittle <ljrittle@acm.org>
2143 * config/alpha/alpha.c (unicosmk_file_end): Add conditional
2146 2003-06-10 J"orn Rennecke <joern.rennecke@superh.com>
2148 * sh-protos.h (function_symbol): Declare.
2149 * sh.c (expand_block_move, expand_ashiftrt): Use it.
2150 (sh_expand_prologue, sh_expand_epilogue): Likewise.
2151 (sh_initialize_trampoline): Likewise.
2152 (function_symbol): New function.
2153 * sh.md (udivsi3, divsi3, mulsi3, ic_invalidate_line): Use it.
2154 (initialize_trampoline, call, call_pop, call_value, sibcall): Likewise.
2155 (call_value_pop, shcompact_return_tramp): Likewise.
2157 * sh.h (OVERRIDE_OPTIONS): Don't suppress --profile-arc-flag.
2159 * sh.md (GOTaddr2picreg): Use gen_lowpart to get lowpart of
2162 2003-06-10 DJ Delorie <dj@redhat.com>
2164 * doc/md.texi (Machine Constraints): Document stormy's Z
2167 2003-06-10 Geoffrey Keating <geoffk@apple.com>
2169 * except.c (call_site_base): Mark with GTY.
2171 2003-06-10 Richard Earnshaw <rearnsha@arm.com>
2173 * arm-proto.h: Convert to ISO C90 prototypes.
2176 2003-06-10 J"orn Rennecke <joern.rennecke@superh.com>
2178 * sh.c (sh_output_mi_thunk): Call insn_locators_initialize.
2180 2003-06-10 Steve Ellcey <sje@cup.hp.com>
2182 * calls.c (expand_call): Convert structure_value_addr to Pmode if
2185 2003-06-10 Andrew Haley <aph@redhat.com>
2187 * langhooks-def.h (LANG_HOOKS_DECL_OK_FOR_SIBCALL): New.
2188 (LANG_HOOKS_DECLS): Add LANG_HOOKS_DECL_OK_FOR_SIBCALL.
2189 (lhd_decl_ok_for_sibcall): New.
2190 * langhooks.c (lhd_decl_ok_for_sibcall): New.
2191 * langhooks.h (lang_hooks_for_decls.ok_for_sibcall): New field.
2192 * calls.c (expand_call): Check lang_hook before generating a
2195 2003-06-10 DJ Delorie <dj@redhat.com>
2197 * config/stormy16/stormy16.c (xstormy16_extra_constraint_p): Add Z,
2198 which matches (const_int 0) for addhi3.
2199 * config/stormy16/stormy16.md: Document known constraints.
2200 (addhi3): Handle adding zero.
2202 2003-06-10 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
2204 * config/m32r/m32r.h (HARD_REGNO_RENAME_OK): New.
2205 * config/m32r/m32r.c (m32r_hard_regno_rename_ok): New.
2206 * config/m32r/m32r-protos.h: Prototype it.
2208 2003-06-10 Janis Johnson <janis187@us.ibm.com>
2210 * config/rs6000/eabi.h (TARGET_OS_CPP_BUILTINS): Define builtins
2211 common to rs6000 sysv targets.
2212 * config/rs6000/eabisim.h (TARGET_OS_CPP_BUILTINS): Ditto.
2213 * config/rs6000/rtems.h (TARGET_OS_CPP_BUILTINS): Ditto.
2215 2003-06-10 Nick Clifton <nickc@redhat.com>
2217 * config.gcc: Add arm-wince-pe target.
2218 * config/arm/pe.h (MULTILIB_DEFAULTS): Define.
2219 Add comment about default apcs26 support.
2220 * config/arm/t-pe (MULTILIB_OPTIONS): Add an -mapcs-32
2222 (MULTILIB_DIRNAMES): Add 'apcs32'.
2223 * config/arm/t-wince-pe: New makefile fragment.
2224 * config/arm/wince-pe.h: New file. Overrides a few definitions
2227 2003-06-10 Roger Sayle <roger@eyesopen.com>
2229 * builtins.c (fold_builtin): Optimize cos(-x) as cos(x).
2230 * fold-const.c (fold <NEGATE_EXPR>): Convert -f(x) into f(-x)
2231 when x is easily negated and f is sin, tan or atan.
2232 (fold <MULT_EXPR>): Optimize tan(x)*cos(x) and cos(x)*tan(x) as
2233 sin(x) with flag_unsafe_math_optimizations.
2234 (fold <RDIV_EXPR>): With flag_unsafe_math_optimizations fold
2235 sin(x)/cos(x) as tan(x) and cos(x)/sin(x) as 1.0/tan(x).
2237 2003-06-10 Roger Sayle <roger@eyesopen.com>
2239 * fold-const.c (fold <EQ_EXPR>): Don't fold x == x only if x
2240 is a floating point type *and* we currently honor NaNs.
2241 (fold <NE_EXPR>): Likewise.
2243 2003-06-10 Mark Mitchell <mark@codesourcery.com>
2246 * tree-inline.c (inlinable_function_p): Call the language-specific
2249 2003-06-09 David Taylor <dtaylor@emc.com>
2251 * config/rs6000/rs6000.c (rs6000_va_start, rs6000_va_arg): Skip over
2254 2003-06-09 Nathanael Nerode <neroden@gcc.gnu.org>
2256 * configure.in: Remove references to host_truncate_target.
2257 * configure: Regenerate.
2258 * config.gcc: Remove references to truncate_target,
2259 host_truncate_target.
2261 * Makefile.in, configure.in, config/m68hc11/t-m68hc11-gas:
2262 Replace "build_canonical" with build, "host_canonical" with host.
2263 * configure.in: Use GCC_TOPLEV_SUBDIRS.
2264 * aclocal.m4: Include ../config/acx.m4.
2265 * configure: Regenerate.
2267 2003-06-09 David Taylor <dtaylor@emc.com>
2269 * config/rs6000/rs6000.c (rs6000_build_va_list): Give the two
2270 bytes of padding in the __va_list_tag structure a name (reserved).
2272 2003-06-09 Jason Merrill <jason@redhat.com>
2274 * fold-const.c (operand_equal_p): Handle ADDR_EXPR and TRUTH_NOT_EXPR.
2276 2003-06-09 Osku Salerma <osku@iki.fi>
2278 * c-format.c (check_format_string, get_constant): New.
2279 (handle_format_attribute, handle_format_arg_attribute,
2280 decode_format_attr): Change to use above functions.
2282 2003-06-09 Richard Henderson <rth@redhat.com>
2284 * stmt.c (expand_asm_operands): Re-word warning.
2286 2003-06-08 Andrew Pinski <pinskia@physics.uc.edu>
2289 * config/i386/djgpp.h (ASM_FILE_START): emit `.intel_syntax'
2292 2003-06-09 James E Wilson <wilson@tuliptree.org>
2294 * config/frv/cmovc.c, config/frv/cmovh.c, config/frv/cmovw.c,
2295 config/frv/frvbegin.c, config/frv/frvend.c, config/frv/lib1funcs.asm:
2296 Add libgcc exception.
2298 2003-06-09 David Edelsohn <edelsohn@gnu.org>
2299 Ayal Zaks <gcchaifa@us.ibm.com>
2301 * config/rs6000/rs6000.md (define_attr "type"): Add insert_word.
2302 (insvsi*): Add insert_word attribute.
2303 * config/rs6000/rs6000.c (rs6000_variable_issue): Add TYPE_INSERT_WORD.
2304 * config/rs6000/{40x.md,603.md,6xx.md,7450.md,7xx.md,mpc.md,
2305 power4.md,rios1.md,rios2.md,rs64.md}: Add insert_word.
2307 2003-06-09 Kazu Hirata <kazu@cs.umass.edu>
2309 * fold-const.c (fold): Fix a comment typo.
2311 2003-06-09 Nathan Sidwell <nathan@codesourcery.com>
2313 * tree-inline.c (expand_call_inline): DECL_SOURCE_LINE_FIRST is
2316 2003-06-09 J"orn Rennecke <joern.rennecke@superh.com>
2318 * sh.c (gen_block_redirect): Use locators.
2320 2003-06-09 Richard Earnshaw <rearnsha@arm.com>
2322 * arm.h (THUMB_PRINT_OPERAND_ADDRESS): Use %wd in format and remove
2325 2003-06-09 Richard Sandiford <rsandifo@redhat.com>
2327 * configure.in: Assume gas 2.14 and above can handle MIPS relocation
2329 * configure: Regenerated.
2331 2003-06-09 Richard Sandiford <rsandifo@redhat.com>
2332 Alexandre Oliva <aoliva@redhat.com>
2334 * config/mips/mips.h (GLOBAL_POINTER_REGNUM): New macro.
2335 (PIC_OFFSET_TABLE_REGNUM): Look at pic_offset_table_rtx after reload.
2336 (STARTING_FRAME_OFFSET): Don't allocate a cprestore slot for
2338 (MUST_SAVE_REGISTERS): Delete.
2339 * config/mips/mips.c (mips_frame_info): Remove extra_size field.
2340 (machine_function): Add global_pointer field.
2341 (mips_classify_constant): Check for (const $gp) using pointer equality
2342 with pic_offset_table_rtx.
2343 (mips_classify_constant): Handle RELOC_LOADGP_HI and RELOC_LOADGP_LO.
2344 (mips_restore_gp): Use current_function_outgoing_args_size.
2345 (print_operand): Use PIC_OFFSET_TABLE_REGNUM instead of
2346 GP_REG_FIRST + 28. Handle relocation strings that have
2348 (mips_reloc_string): Handle RELOC_LOADGP_HI and RELOC_LOADGP_LO.
2349 (mips_global_pointer): New function.
2350 (mips_save_reg_p): New function, mostly split out from...
2351 (compute_frame_size): ...here. Remove handling of extra_size.
2352 Reclaim args_size if no variables depend on it. Don't treat gp
2353 as a special case: handle it in the main GPR loop.
2354 (mips_initial_elimination_offset): Fix comment.
2355 (save_restore_insns): Save every register in the GPR mask,
2356 removing distinction between mask and real_mask.
2357 (mips_output_function_prologue): Update .frame psuedo-op after
2358 the removal of extra_size. Move the SVR4 PIC stack allocation
2359 and cprestore instructions to mips_expand_prologue.
2360 (mips_gp_insn): New function.
2361 (mips_expand_prologue): Set REGNO (pic_offset_table_rtx) to
2362 the chosen global pointer. Handle SVR4 PIC stack allocation
2363 in the same way as other ABIs. Adjust varargs code accordingly.
2364 Emit a cprestore insn after allocating the stack. Use mips_gp_insn
2365 to emit the loadgp sequence. Follow it with a loadgp_blockage
2366 if not using explicit relocs.
2367 (mips_output_function_epilogue): Reinstate the default gp register.
2368 (mips16_gp_pseudo_reg): Use pic_offset_table_rtx.
2369 (mips16_optimize_gp): Likewise.
2370 * config/mips/mips.md (UNSPEC_LOADGP): Remove.
2371 (UNSPEC_SETJMP, UNSPEC_LONGJMP): Remove.
2372 (UNSPEC_CPRESTORE, RELOC_LOADGP_HI, RELOC_LOADGP_LO): New.
2374 (loadgp_blockage, cprestore): New instructions.
2375 (builtin_setjmp_setup): Implement using emit_move_insn. Use
2376 pic_offset_table_rtx.
2377 (builtin_setjmp_setup_32, builtin_setjmp_setup_64): Remove.
2378 (builtin_longjmp): Use gen_raw_REG to force use of $28.
2380 2003-06-09 Richard Sandiford <rsandifo@redhat.com>
2382 * config/mips/mips-protos.h (mips_output_division): Declare.
2383 * config/mips/mips.h (MASK_CHECK_RANGE_DIV): Remove.
2384 (MASK_BRANCHLIKELY): Use MASK_CHECK_RANGE_DIV's old number.
2385 (TARGET_NO_CHECK_ZERO_DIV, TARGET_CHECK_RANGE_DIV): Remove.
2386 (TARGET_CHECK_ZERO_DIV): New macro.
2387 (TARGET_SWITCHES): Remove -mcheck-range-div & -mno-check-range-div.
2388 * config/mips/mips.c (mips_output_division): New function.
2389 * config/mips/mips.md (length): Take TARGET_CHECK_ZERO_DIV into
2390 account when calculating the default length of a division.
2391 (divmodsi4, divmoddi4, udivmodsi4, udivmoddi4): Turn into define_insns.
2392 Enable regardless of optimization level. Use mips_output_division.
2393 (divmodsi4_internal, divmoddi4_internal, udivmodsi4_internal,
2394 udivmoddi4_internal, div_trap, div_trap_normal, div_trap_mips16,
2395 divsi3, divsi3_internal, divdi3, divdi3_internal, modsi3,
2396 modsi3_internal, moddi3, moddi3_internal, udivsi3, udivsi3_internal,
2397 udivdi3, udivdi3_internal, umodsi3, umodsi3_internal, umoddi3,
2398 umoddi3_internal): Remove.
2400 2003-06-09 Richard Sandiford <rsandifo@redhat.com>
2402 * config/mips/mips.c (mips_reg_names): Change hilo entry to "".
2403 (mips_sw_reg_names): Likewise.
2404 (mips_regno_to_class): Change hilo entry to NO_REGS.
2405 (hilo_operand): Use MD_REG_P.
2406 (extend_operator): New predicate.
2407 (override_options): Remove 'a' constraint.
2408 (mips_secondary_reload_class): Remove hilo handling. Also remove
2409 handling of (plus sp reg) reloads for mips16.
2410 (mips_register_move_cost): Remove hilo handling.
2411 * config/mips/mips.h (FIXED_REGISTERS): Make hilo entry fixed.
2412 (MD_REG_LAST): Remove hilo from range.
2413 (HILO_REGNUM): Delete.
2414 (reg_class): Remove HILO_REG and HILO_AND_GR_REGS.
2415 (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update accordingly.
2416 (PREDICATE_CODES): Add entry for extend_operator.
2417 (DEBUG_REGISTER_NAMES): Change hilo entry to "".
2418 * config/mips/mips.md: Remove hilo clobbers wherever they occur.
2419 Remove constraints from multiplication define_expands. Remove
2420 clobbers from "decorative" define_expand patterns.
2421 (UNSPEC_HILO_DELAY): Delete.
2422 (*mul_acc_si, *mul_sub_si): Add early-clobber to operand 6.
2423 (mulsidi3, umulsidi3): Change pattern to match the TARGET_64BIT case.
2424 Adjust C code to just emit insns for !TARGET_64BIT.
2425 (mulsidi3_internal): Rename to mulsidi3_32bit.
2426 (mulsidi3_64bit): Use a "d" constraint for the destination.
2427 Use extend_operator so that the pattern can handle umulsidi3 as well.
2428 Split the instruction after reload.
2429 (*mulsidi3_64bit_parts): New pattern, generated by mulsidi3_64bit.
2430 (umulsidi3_internal): Rename to umulsidi3_32bit.
2431 (umulsidi3_64bit): Remove.
2432 (*smsac_di, *umsac_di): Line-wrap fixes.
2433 (udivsi3_internal): Don't allow operand 2 to be constant.
2434 (udivdi3_internal, umodsi3_internal, umoddi3_internal): Likewise.
2435 (movdi_internal2, movsi_internal): Remove hilo alternatives.
2436 (reload_in[sd]i, reload_out[sd]i, hilo_delay): Remove.
2438 2003-06-09 Richard Sandiford <rsandifo@redhat.com>
2441 * config/mips/mips.h (TARGET_FILE_SWITCHING, NO_DBX_FUNCTION_END,
2442 PUT_SDB_SCL, PUT_SDB_INT_VAL, PUT_SDB_VAL, PUT_SDB_ENDEF,
2443 PUT_SDB_TYPE, PUT_SDB_SIZE, PUT_SDB_DIM, PUT_SDB_START_DIM,
2444 PUT_SDB_NEXT_DIM, PUT_SDB_LAST_DIM, PUT_SDB_TAG, PUT_SDB_SRC_FILE,
2445 SDB_GENERATE_FAKE, TEXT_SECTION): Delete.
2446 (PUT_SDB_DEF, PUT_SDB_PLAIN_DEF, PUT_SDB_BLOCK_START,
2447 PUT_SDB_BLOCK_END, PUT_SDB_FUNCTION_END): Replace use of
2448 asm_out_text_file with asm_out_file.
2449 * config/mips/iris5gas.h (PUT_SDB_SIZE, PUT_SDB_TYPE): Likewise.
2450 * config/mips/elf.h (TEXT_SECTION): Undefine.
2451 * config/mips/elf64.h (TEXT_SECION): Undefine.
2452 * config/mips/openbsd.h (TEXT_SECION): Undefine.
2453 * config/mips/mips.c (asm_out_text_file, asm_out_data_file): Delete.
2454 (override_options): Disable small-data optimizations unless using
2455 gas or explicit relocations.
2456 (mips_asm_file_start, mips_asm_file_end, mips_output_function_epilogue,
2457 iris6_asm_named_section, iris6_asm_file_start): Remove code for
2458 handling TARGET_FILE_SWITCHING.
2459 (copy_file_data): Move into TARGET_IRIX6 block.
2461 2003-06-08 Richard Henderson <rth@redhat.com>
2463 * expr.h (EXPAND_MEMORY): New.
2464 * expr.c (expand_expr): Check it.
2465 * stmt.c (expand_asm_operands): Provide it when the constraint
2466 requires a memory. Warn for memory input constraints without
2469 2003-06-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2471 * varasm.c: Don't include c-tree.h.
2473 2003-06-08 Andreas Jaeger <aj@suse.de>
2475 * predict.h: Convert to ISO C90 prototypes.
2476 * predict.c: Likewise.
2477 * tree-dump.h: Likewise.
2478 * tree-dump.c: Likewise.
2479 * diagnostic.h: Likewise.
2480 * diagnostic.c: Likewise.
2481 * combine.c: Likewise.
2483 * rtl.h: Convert prototypes of combine.c to ISO C90.
2485 Sun Jun 8 21:27:41 CEST 2003 Jan Hubicka <jh@suse.cz>
2487 * cfglayout.c (insn_scope): New static function
2488 (block_locators_*, line_locators*, file_locators*): New static varrays.
2489 (scope_to_insns_initialize): Use them.
2490 (insn_line, insn_file): New functions.
2491 (scope_to_insns_finalize): Use insn_scope.
2492 (prologue_locator, epilogue_locator): New global variables.
2493 * emit-rt.c (try_split, make_insn_raw, make_jump_insn_raw,
2494 make_call_insn_raw, emit_copy_of_insn_after): Use locators.
2495 (emit_insn_after_scope, emit_insn_before_scope
2496 emit_jump_insn_after_scope, emit_jump_insn_before_scope
2497 emit_call_insn_after_scope, emit_call_insn_before_scope): Rename to...
2498 (emit_insn_after_setloc, emit_insn_before_setloc
2499 emit_jump_insn_after_setloc, emit_jump_insn_before_setloc
2500 emit_call_insn_after_setloc, emit_call_insn_before_setloc): ... these;
2502 * final.c (notice_source_line): Use locators.
2503 (final_start_function): Set initial source file and line.
2504 (final_scan_insn): Use locators.
2505 * ifcvt.c (noce_try_store_flag, noce_try_store_flag_constants,
2506 noce_try_addcc, noce_try_store_flag_mask, noce_try_cmove,
2507 noce_try_cmove_arith, noce_try_minmax, noce_try_abs,
2508 noce_process_if_block, find_cond_trap): Likewise.
2509 * integrate.c (copy_insn_list): Likewise.
2510 * jump.c (duplicate_loop_exit_test): LIkewise.
2511 * print-rtl.c (print_rtx): Print locators.
2512 * recog.c (peephole2_optimize): Likewise.
2513 * rtl.h (INSN_SCOPE): Remove.
2514 (emit_insn_after_scope, emit_insn_before_scope
2515 emit_jump_insn_after_scope, emit_jump_insn_before_scope
2516 emit_call_insn_after_scope, emit_call_insn_before_scope): Rename to...
2517 (emit_insn_after_setloc, emit_insn_before_setloc
2518 emit_jump_insn_after_setloc, emit_jump_insn_before_setloc
2519 emit_call_insn_after_setloc, emit_call_insn_before_setloc): ... these;
2520 (insn_file, insn_line, prologue_locator, epilogue_locator): Declare.
2521 * unroll.c (copy_loop_body): Use locators.
2522 * function.c (set_insn_locators): New function.
2523 (thread_prologue_and_epilogue_insns): Set the locators accordingly.
2525 2003-06-08 Kazu Hirata <kazu@cs.umass.edu>
2527 * config/h8300/h8300.h (LONG_LONG_TYPE_SIZE): Set to 64.
2528 * config/h8300/t-h8300 (LIB1ASMFUNCS): Remove _floatdisf
2529 _fixsfdi _fixunssfdi.
2530 (LIB2FUNCS_EXTRA): Add entries for clzhi2, ctzhi2, parityhi2,
2532 (TARGET_LIBGCC2_CFLAGS): Remove -DDI=SI.
2533 * config/h8300/clzhi2.c: New.
2534 * config/h8300/ctzhi2.c: Likewise.
2535 * config/h8300/parityhi2.c: Likewise.
2536 * config/h8300/popcounthi2.c: Likewise.
2538 Sun Jun 8 15:52:17 CEST 2003 Jan Hubicka <jh@suse.cz>
2540 * i386.md (subsi_3_zext, sse2_nandv2di3): Fix predicates.
2541 * i386.c (k8_avoid_jump_misspredicts): Fix debug output.
2543 * cfg.c (verify_flow_info): Move IL independent checks from cfgrtl here.
2544 (dump_bb): New based on old dump_bb in cfgrtl.c
2545 (debug_bb, debug_bb_n): Move the functions from cfgrtl.c here.
2546 * cfghooks.h (cfgh_verify_flow_info): Return status.
2547 * cfglayout.c (cfg_layout_finalize): Verify CFG correctness.
2548 * cfgrtl.c (debug_bb, debug_bb_n): Move to cfg.c
2549 (dump_bb): Remove generic parts.
2550 (rtl_verify_flow_info_1): Break out from rtl_verify_flow_info.
2551 (rtl_verify_flow_info): Only check things dependeing on linearized RTL.
2553 2003-06-08 Neil Booth <neil@daikokuya.co.uk>
2555 * Makefile.in: Rename options.c and options.h to c-options.c and
2557 (OBJS): Remove options.o.
2558 * c-opts.c: Don'tInclude c-options.h instead of options.h.
2559 * opts.c: Don't include options.h.
2560 (find_opt): Can't use enum opt_code or N_OPTS.
2561 * opts.h (struct cl_option, cl_options, cl_options_count): Move from...
2562 * opts.sh: ... here.
2564 2003-06-07 Eric Botcazou <ebotcazou@libertysurf.fr>
2565 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2568 * ggc-common.c (HAVE_MMAP_FILE): Include sys/types.h
2569 if HAVE_MINCORE is defined.
2570 (MAP_FAILED): Define if not defined.
2571 (gt_pch_save): Test against MAP_FAILED.
2572 (gt_pch_restore): If HAVE_MINCORE, use MAP_FIXED to force
2573 the mapping address to the preferred base after checking it
2574 is possible to do so. Test against MAP_FAILED.
2575 * configure.in: Test for the presence of mincore in libc.
2576 * config.in: Regenerate.
2577 * configure: Regenerate.
2579 2003-06-07 Richard Henderson <rth@redhat.com>
2581 * config/alpha/alpha.c (alpha_setup_incoming_varargs): Fix
2582 conditional compilation guard.
2584 2003-06-08 Kazu Hirata <kazu@cs.umass.edu>
2586 * optabs.c (expand_abs): Set result_unsignedp to 1 if
2589 2003-06-07 Richard Henderson <rth@redhat.com>
2591 * c-cppbuiltin.c (c_cpp_builtins): Define __EXCEPTIONS for C also.
2593 2003-06-07 Richard Henderson <rth@redhat.com>
2595 * basic-block.h (EDGE_SIBCALL): New.
2596 (EDGE_ALL_FLAGS): Update.
2597 * cfg.c (dump_edge_info): Add sibcall name.
2598 * cfgbuild.c (make_edges): Use EDGE_SIBCALL.
2599 * cfgrtl.c (purge_dead_edges): Handle sibcalls.
2601 2003-06-07 Andreas Jaeger <aj@suse.de>
2603 * mklibgcc.in (lib2funcs): Remove _exit.
2604 * libgcc2.c: Remove L_exit.
2605 * gbl-ctors.h: Remove declarations dependend on NEED_ATEXIT.
2607 * system.h: Poison NEED_ATEXIT, ON_EXIT, EXIT_BODY.
2609 * doc/tm.texi (Misc): Remove NEED_ATEXIT, ON_EXIT, EXIT_BODY.
2611 * ggc.h: Convert to ISO C90 prototypes.
2612 * ggc-none.c: Likewise.
2613 * ggc-common.c: Likewise.
2614 * ggc-page.c: Likewise.
2615 * ggc-simple.c: Likewise.
2617 * crtstuff.c: Remove undefined usage of INIT_SECTION_PREAMBLE.
2619 * system.h: Poison INIT_SECTION_PREAMBLE.
2621 2003-06-07 Zack Weinberg <zack@codesourcery.com>
2623 * config.gcc (with_cpu handling): Translate sparc64 in
2624 $machine to --with-cpu=v9.
2625 * config/alpha/alpha.c
2626 (TARGET_ASM_GLOBALIZE_LABEL [TARGET_ABI_UNICOSMK]): Correct definition.
2627 (alpha_setup_incoming_varargs): #ifdef out when TARGET_ABI_UNICOSMK.
2629 * target.h: New hook asm_out.file_end.
2630 * target.h: Update to match. New hook macro TARGET_ASM_FILE_END.
2631 * toplev.c (compile_file): Use targetm.asm_out.file_end.
2632 * system.h: Poison ASM_FILE_END.
2633 * varasm.c (file_end_indicate_exec_stack): New.
2634 * output.h: Prototype it.
2635 * doc/tm.texi: Document TARGET_ASM_FILE_END and
2636 file_end_indicate_exec_stack. Delete references to attasm.h.
2638 * config/darwin.h (TARGET_ASM_FILE_END): Reset to darwin_file_end.
2639 (ASM_FILE_END): Delete; move code...
2640 * config/darwin.c (darwin_file_end): Here; new function.
2641 * config/darwin-protos.h: Prototype it.
2642 * config/alpha/alpha.c (unicosmk_asm_file_end): Make static,
2643 rename unicosmk_file_end.
2644 * config/arm/aof.h (ASM_FILE_END): Delete; move code...
2645 * config/arm/arm.c (aof_file_end): ... here; new static function.
2646 Set TARGET_ASM_FILE_END to aof_file_end if AOF_ASSEMBLER.
2647 Make aof_dump_imports and aof_dump_pic_table static.
2648 * config/avr/avr.c (asm_file_end): Rename avr_file_end, make static.
2649 Set TARGET_ASM_FILE_END to avr_file_end.
2650 * config/c4x/c4x.c (c4x_file_end): Make static. Take no arguments.
2651 Set TARGET_ASM_FILE_END to c4x_file_end.
2652 * config/h8300/h8300.c (asm_file_end): Rename h8300_file_end,
2653 make static. Take no arguments. Set TARGET_ASM_FILE_END to
2655 * config/i370/i370.h (ASM_FILE_END): Delete; move code...
2656 * config/i370/i370.c (i370_file_end): ... here; new static function.
2657 Set TARGET_ASM_FILE_END to i370_file_end.
2658 * config/i386/i386.c (ix86_asm_file_end): Rename ix86_file_end.
2659 Take no arguments. Call file_end_indicate_exec_stack if
2660 NEED_INDICATE_EXEC_STACK; don't use SUBTARGET_FILE_END.
2661 * config/i386/i386.h: Set TARGET_ASM_FILE_END, not ASM_FILE_END.
2662 Define NEED_INDICATE_EXEC_STACK to 0.
2663 * config/i386/linux.h, config/i386/linux64.h: Redefine
2664 NEED_INDICATE_EXEC_STACK to 1 instead of setting SUBTARGET_FILE_END.
2665 * config/i386/winnt.c (i386_pe_asm_file_end): Rename to
2666 i386_pe_file_end. Take no arguments. Use ix86_file_end.
2667 * config/ia64/ia64.c (ia64_hpux_asm_file_end): Rename to
2668 ia64_hpux_file_end, make static. Take no arguments.
2669 * config/ip2k/ip2k.c (asm_file_start, asm_file_end,
2670 commands_in_prologues, commands_in_epilogues): Delete.
2671 (function_epilogue): Update to match.
2672 * config/mips/mips.c (mips_asm_file_end): Rename mips_file_end,
2673 make static. Take no arguments.
2674 (iris6_asm_file_end): Rename iris6_file_end, make static, use
2675 mips_file_end, take no arguments.
2676 Set TARGET_ASM_FILE_END to iris6_file_end or mips_file_end as
2678 * config/mmix/mmix.c (mmix_asm_file_end): Rename mmix_file_end,
2679 make static, take no arguments. Set TARGET_ASM_FILE_END to
2681 * config/pa/pa.c (output_deferred_plabels): Make static, take
2682 no arguments. Set TARGET_ASM_FILE_END to output_deferred_plabels.
2683 * config/rs6000/xcoff.h (TARGET_ASM_FILE_END): Set it.
2684 (ASM_FILE_END): Delete; move code...
2685 * config/rs6000/rs6000.c (rs6000_xcoff_file_end): ... here;
2686 new static function.
2688 * config/avr/avr.h, config/cris/cris.h, config/h8300/h8300.h
2689 * config/mmix/mmix.h, config/mips/iris6.h, config/mips/mips.h:
2690 Don't set ASM_FILE_END.
2691 * config/alpha/linux-elf.h, config/m68k/linux.h, config/rs6000/linux.h
2692 * config/rs6000/linux64.h, config/s390/linux.h, config/sparc/linux.h
2693 * config/sparc/linux64.h: Set TARGET_ASM_FILE_END to
2694 file_end_indicate_exec_stack; don't set ASM_FILE_END.
2695 * config/alpha/unicosmk.h, config/i386/cygming.h
2696 * config/ia64/hpux.h: Set TARGET_ASM_FILE_END, not ASM_FILE_END.
2697 * config/arm/arm-protos.h, config/alpha/alpha-protos.h
2698 * config/avr/avr-protos.h, config/c4x/c4x-protos.h
2699 * config/h8300/h8300-protos.h, config/ia64/ia64-protos.h
2700 * config/ip2k/ip2k-protos.h, config/mips/mips-protos.h
2701 * config/mmix/mmix-protos.h, config/pa/pa-protos.h: Update.
2703 Sat Jun 7 18:32:13 CEST 2003 Jan Hubicka <jh@suse.cz>
2705 * i386.h (OPTION_DEFAULT_SPECS): Avoid -mcpu default when -march is
2708 Sat Jun 7 15:20:01 CEST 2003 Jan Hubicka <jh@suse.cz>
2710 * Makefile.in (stageprofile_build): Kill redundant target.
2711 * i386.c (mdep_reorg): Don't pad jumps for Athlon.
2713 2003-06-07 Andreas Jaeger <aj@suse.de>
2715 * doc/tm.texi (Costs): Remove DONT_REDUCE_ADDR documentation.
2717 * config/avr/avr.h: Remove comment regarding DONT_REDUCE_ADDR.
2718 * config/dsp16xx/dsp16xx.h: Likewise.
2719 * config/i386/i386.h: Likewise.
2720 * config/ip2k/ip2k.h: Likewise.
2722 2003-06-07 Neil Booth <neil@daikokuya.co.uk>
2724 * Makefile.in (OJBS, c-opts.o): Update.
2725 (c-options.c, c-options.h): Rename options.h and options.c.
2726 (options.h): Rename options_.h.
2728 * c-common.h (c_common_handle_option): Replace c_common_decode_option.
2729 (c_common_init_options): Update prototype.
2730 * c-lang.c (c_init_options): Update prototype.
2731 (LANG_HOOKS_HANDLE_OPTION): Override.
2732 (LANG_HOOKS_DECODE_OPTION): Drop.
2733 * c-opts.c: Include opts.h and options.h instead of c-options.h
2735 (lang_flags): Move to file scope.
2736 (find_opt, c_common_decode_option): Remove.
2737 (CL_C, CL_OBJC, CL_CXX, CL_OBJCXX, CL_JOINED, CL_SEPARATE,
2738 CL_REJECT_NEGATIVE): Move to opts.h.
2739 (missing_arg): Update prototype.
2740 (c_common_init_options): Update for new prototype.
2741 (c_common_handle_options): Filenames are passed as N_OPTS.
2742 * hooks.c (hook_int_void_0): New.
2743 * hooks.h (hook_int_void_0): New.
2744 * langhooks-def.h (LANG_HOOKS_INIT_OPTIONS): New default.
2745 (LANG_HOOKS_HANDLE_OPTION): Default to NULL for now.
2746 (LANG_HOOKS_INITIALIZER): Update.
2747 * langhooks.h (init_options): Update.
2748 (handle_option): New.
2749 * opts.c, opts.h: New files.
2750 * opts.sh: Update c file to include opts.h and options.h.
2751 * toplev.c: Include opts.h; change options.h to options_.h.
2752 (parse_options_and_default_flags): Get lang_mask, use
2753 handle_option for language-specific handling.
2754 * objc/objc-lang.c (LANG_HOOKS_DECODE_OPTON): Drop.
2755 (LANG_HOOKS_HANDLE_OPTION): Override.
2756 (objc_init_options): Update.
2758 2003-06-07 Magnus Kreth <magnus.kreth@gmx.de>
2759 Thibaud Gaillard <thibaud.gaillard@nto.atmel.com>
2762 * Makefile.in (install-common): Remove GCOV_INSTALL_NAME instead of
2765 2003-06-07 Kelley Cook <kelleycook@wideopenwest.com>
2767 * configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Remove quotes in
2769 * configure: Regenerate.
2771 2003-06-07 Alan Modra <amodra@bigpond.net.au>
2773 * config/rs6000/linux64.h (CRT_CALL_STATIC_FUNCTION): Define.
2775 2003-06-06 James E Wilson <wilson@tuliptree.org>
2778 * reload1.c (merge_assigned_reloads): Abort only if two reloads have
2779 different in fields.
2781 2003-06-06 Nathanael Nerode <neroden@gcc.gnu.org>
2783 * configure.in: Make $(target_subdir) correspond with top level usage.
2784 * Makefile.in: Likewise.
2785 * configure: Regenerate.
2787 2003-06-06 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2789 * pa.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_COMMON,
2790 ASM_OUTPUT_ALIGNED_LOCAL): Cast `SIZE' and `ALIGNED' parameters to
2791 unsigned HOST_WIDE_INT.
2792 * pa-pro-end.h (ASM_OUTPUT_ALIGNED_COMMOM, ASM_OUTPUT_ALIGNED_LOCAL):
2794 * pa64-hpux.h (ASM_OUTPUT_ALIGNED_COMMON, ASM_OUTPUT_ALIGNED_LOCAL):
2797 2003-06-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2799 * doc/install.texi (Prerequisites): New section documenting
2800 tools and packages necessary prior to building and/or
2802 * doc/install.texi2html: Also generate prerequisites.html.
2804 2003-06-06 Richard Earnshaw <rearnsha@arm.com>
2807 * ifcvt.c (noce_process_if_block): Fail if the destination has
2810 2003-06-06 Jason Merrill <jason@redhat.com>
2812 * stmt.c (resolve_asm_operand_names): Rename from
2813 resolve_operand_names. No longer static. Avoid needless copying.
2814 Don't build array of constraints.
2815 (expand_asm_operands): Build it here.
2816 * tree.h: Declare resolve_asm_operand_names.
2818 * stmt.c (expand_decl): Put artificial vars into registers even
2819 when not optimizing, and don't mark the regs as user vars.
2821 2003-06-06 J"orn Rennecke <joern.rennecke@superh.com>
2823 * sh.h (FUNCTION_ARG_1): Consistently use NEW_MODE for the mode
2824 of the generated register.
2826 2003-06-06 Daniel Jacobowitz <drow@mvista.com>
2828 * config.gcc: Add a missing sparc64 case.
2830 2003-06-06 Jakub Jelinek <jakub@redhat.com>
2832 * mklibgcc.in: Propagate .note.GNU-stack section if needed into
2833 the .hidden assembly stubs.
2835 2003-06-06 H.J. Lu <hongjiu.lu@intel.com>
2837 * config.gcc (extra_headers): Add emmintrin.h for i[34567]86-*-*
2840 * config/i386/mmintrin.h: Update version and add alternate
2842 * config/i386/xmmintrin.h: Likewise.
2844 * config/i386/xmmintrin.h: Include <emmintrin.h>. Move SSE2
2846 * config/i386/emmintrin.h: Here. New file.
2848 2003-06-06 Roger Sayle <roger@eyesopen.com>
2850 * fold-const.c (fold <ABS_EXPR>): Re-fold the result of folding
2851 fabs(-x) into fabs(x). Use tree_expr_nonnegative_p to determine
2852 when the ABS_EXPR (fabs or abs) is not required.
2853 (tree_expr_nonnegative_p): Move the logic that sqrt and exp are
2854 always nonnegative from fold to here. Additionally, cabs and fabs
2855 are always non-negative, and pow and atan are non-negative if
2856 their first argument is non-negative.
2858 * builtins.c (fold_builtin_cabs): New function to fold cabs{,f,l}.
2859 Evaluate cabs of a constant at compile-time. Convert cabs of a
2860 non-complex argument into fabs. Convert cabs(z) into
2861 sqrt(z.r*z.r + z.i*z.i) at the tree-level with -ffast-math or
2862 -funsafe-math-optimizations or -ffast-math.
2863 (fold_builtin): Convert BUILT_IN_FABS{,F,L} into an ABS_EXPR.
2864 Fold BUILT_IN_CABS{,F,L} using fold_builtin_cabs.
2866 Thu Jun 5 20:51:09 CEST 2003 Jan Hubicka <jh@suse.cz>
2868 * sourcebuild.texi (Front End Directory): Document new hooks.
2870 Fri Jun 6 11:02:35 CEST 2003 Jan Hubicka <jh@suse.cz>
2872 * function.c (FLOOR_ROUND, CEIL_ROUND): Fix.
2873 * i386.md (gen_pro_epilogue_adjust_stack): Deal with gigantic
2875 (pro_epilogue_adjust_stack_rex64_2): New pattern
2877 Fri Jun 6 11:03:14 CEST 2003 Jan Hubicka <jh@suse.cz>
2879 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2881 * cfghooks.h, cfghooks.c: New files.
2882 * Makefile.in (BASIC_BLOCK_H): Depends on cfghooks.h.
2883 (OBJS): Add cfghooks.o.
2884 (cfghooks.o): New rule.
2885 * basic-block.h (split_edge): Rename to rtl_split_edge.
2886 (verify_flow_info): Rename to rtl_verify_flow_info.
2887 (cfghooks.h): Included here.
2888 * cfgrtl.c (split_edge): Renamed rtl_split_edge.
2889 (verify_flow_info): Renamed rtl_verify_flow_info.
2890 * toplev.c (rest_of_compilation): Call rtl_register_cfg_hooks.
2892 * basic-block.h (split_block, split_edge, flow_delete_block,
2893 redirect_edge_and_branch, redirect_edge_and_branch_force): Delete.
2894 (flow_delete_block_noexpunge): Return void.
2895 * cfg.c (verify_flow_info): New function.
2896 * cfgcleanup.c (try_simplify_condjump, outgoing_edges_match,
2897 try_crossjump_to_edge, try_optimize_cfg, delete_unreachable_blocks):
2899 * cfglayout.c (function_footer): Rename to...
2900 (cfg_layout_function_footer): ... this variable
2901 (unlink_insn_chain): Make global.
2902 (fixup_reorder_chain, record_effective_endpoints): Update.
2903 (cleanup_unconditional_jumps): Use delete_block.
2904 (cfg_layout_redirect_edge, cfg_layout_split_block): Move to cfgrtl.c
2905 (cfg_layout_duplicate_bb): Use redirect_edge_and_branch_force.
2906 (cfg_layout_initialize, cfg_layout_finalize): Update hooks.
2907 * cfglayout.h (cfg_layout_redirect_edge, cfg_layout_split_block): Delete.
2908 (cfg_layout_function_footer): Declare.
2909 * cfgloopmanip (split_loop_bb): Do not update RBI.
2910 (remove_bbs): Use delete_block.
2911 (loop_reidrect_edge, loop_delete_branch_edge): Use
2912 redirect_edge_and_branch.
2913 (create_preheader): Use split_block and redirect_edge_and_branch_force.
2914 (split_edge_with): Likewise.
2915 * cfgrtl.c: Include cfglayout.h
2916 (split_edge): Rename to ...
2917 (rtl_split_edge) ... this one; make local.
2918 (redirect_edge_and_branch): Rename to ...
2919 (rtl_redirect_edge_and_branch) ... this one; make local.
2920 (redirect_edge_and_branch_force): Rename to ...
2921 (rtl_redirect_edge_and_branch_force) ... this one; make local.
2922 (cfg_layout_delete_block, cfg_layout_delete_edge_and_branch_force): New.
2923 (cfg_layout_redirect_edge_and_branch, cfg_layout_split_block): Move here from
2924 cfglayout.c; update to directly call RTL counterparts.
2925 (rtl_cfg_hooks, cfg_layout_rtl_cfg_hooks): New functions.
2926 * ifcvt.c (find_cond_trap): Use delete_block.
2927 (find_if_case_1): Use delete_block.
2928 (find_if_case_2): Use delete_block.
2929 * rtl.h (unlink_insn_chain): Declare.
2930 * toplev.c (rtl_reigster_cfg_hooks): New.
2932 2003-06-05 Richard Henderson <rth@redhat.com>
2934 * recog.c (peephole2_optimize): Revert last change.
2936 2003-06-05 Richard Henderson <rth@redhat.com>
2938 * recog.c (peephole2_optimize): Don't split block unless
2941 2003-06-06 Kazu Hirata <kazu@cs.umass.edu>
2943 * config/h8300/h8300.c (get_shift_alg): Correct the syntax of rotxl.
2944 * config/h8300/h8300.md (*addsi3_lshiftrt_16_zexthi): Likewise.
2946 2003-06-05 Kelley Cook <kelleycook@wideopenwest.com>
2948 PR optimization/4490
2949 * config/i386/i386.md: Don't use XFMode if TARGET_128BIT_LONG_DOUBLE.
2950 * doc/invoke.texi (m96bit-long-double, m128bit-long-double): Reword
2951 documentation to accurately reflect what these options do.
2953 2003-06-06 Kaz Kojima <kkojima@gcc.gnu.org>
2955 * config/sh/linux.h (STARTFILE_SPEC): Handle -pie. Simplify.
2956 (ENDFILE_SPEC): Redefine to handle -pie.
2958 2003-06-05 Phil Edwards <phil@jaj.com>
2960 * Makefile.in (qmtest-g++): Use target_alias, not target.
2962 2003-06-05 Per Bothner <pbothner@apple.com>
2964 * toplev.c (push_srcloc): Simplify behavior to save current location
2965 and set current location to parameters.
2966 (pop_srcloc): Simplify semantics.
2967 (lang_dependent_init): Remove now-useless initial push_srcloc.
2969 2003-05-06 Richard Henderson <rth@redhat.com>
2971 * dwarf2out.c (loc_descriptor_from_tree): Return 0 for
2972 language-specific tree codes.
2974 2003-06-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2977 * pa.c (pa_init_builtins): Also set implicit_built_in_decls for
2978 BUILT_IN_FPUTC_UNLOCKED to NULL_TREE.
2980 Thu Jun 5 18:32:46 CEST 2003 Jan Hubicka <jh@suse.cz>
2982 * install.tex: Document profiledbootstrap.
2984 * configure.in: Add support for lang.stageprofile and
2986 * Makefile.in (clean, distclean): Kill new stages
2987 (POSTSTAGE1_FLAGS_TO_PASS): Break from ...
2988 (STAGE2_FLAGS_TO_PASS): ... this one.
2989 (STAGEPROFILE_FLAGS_TO_PASS, STAGEFEEDBACK_FLAGS_TO_PASS): New.
2990 (stage[2-4]_build): Add POSTSTAGE1_FLAGS_TO_PASS.
2991 (stageprofile_build, stageprofile_copy, stagefeedback_build,
2992 stagefeedback_copy): New.
2993 (restageprofile, restagefeedback, stageprofile-start,
2994 stageprofile, stagefeedback-start): Likewise.
2996 2003-06-05 David Miller <davem@redhat.com>
2997 Richard Henderson <rth@redhat.com>
2999 * optabs.c (HAVE_conditional_trap): Provide default.
3000 (gen_conditional_trap): Likewise.
3001 (init_optabs): Merge init_traps.
3002 (gen_cond_trap): Use prepare_operand. Restructure and avoid ifdef.
3004 Thu Jun 5 14:59:44 CEST 2003 Jan Hubicka <jh@suse.cz>
3006 * combine.c (simplify_if_then_else): (IF_THEN_ELSE (NE REG 0) (0) (8))
3007 is REG for nonzero_bits (REG) == 8.
3009 Thu Jun 5 13:23:51 CEST 2003 Jan Hubicka <jh@suse.cz>
3011 * i386.md (align): Fix warning; clarify what to do when no p2align
3014 2003-06-05 Nick Clifton <nickc@redhat.com>
3016 * config.gcc (m32r-elf): Revert previous delta.
3017 * config/m32r/t-m32r (crtinit.o): Fix rule to work with
3018 multilibs. Remove m32rx specific version.
3019 (crtfini.o): Likewise.
3020 (EXTRA_MULTILIB_PARTS): Define.
3022 2003-06-05 Eric Botcazou <ebotcazou@libertysurf.fr>
3024 * doc/md.texi (Machine Constraints): Correct the meaning of
3025 constraints related to floating-point registers on SPARC.
3027 2003-06-05 Eric Botcazou <ebotcazou@libertysurf.fr>
3028 Paolo Bonzini <bonzini@gnu.org>
3031 * configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Redirect
3032 assembler and linker output to /dev/null.
3033 Use a 'sed' construct instead of 'grep -A1'.
3034 * configure: Regenerate.
3036 2003-06-04 Richard Henderson <rth@redhat.com>
3038 * config/i386/i386.c (struct ix86_address): Add seg.
3039 (no_seg_address_operand): New.
3040 (ix86_decompose_address): Restructure PLUS loop. Accept one
3041 UNSPEC_TP if TARGET_TLS_DIRECT_SEG_REFS. Adjust ESP swap test
3042 to test for a regnum, not stack_pointer_rtx.
3043 (ix86_address_cost): Reduce cost if non-default segment.
3044 (legitimate_address_p): Remove UNSPEC_TP check.
3045 (get_thread_pointer): Add to_reg argument. Don't represent
3046 the thread pointer as a memory load.
3047 (legitimize_tls_address): Split out of ...
3048 (legitimize_address): ... here.
3049 (print_operand_address): Handle parts.seg.
3050 (ix86_expand_move): Use legitimize_tls_address.
3051 (ix86_rtx_costs): Handle UNSPEC_TP.
3052 * config/i386/i386.h (MASK_TLS_DIRECT_SEG_REFS): New.
3053 (TARGET_TLS_DIRECT_SEG_REFS): New.
3054 (TARGET_SWITCHES): Add tls-direct-seg-refs.
3055 (TARGET_TLS_DIRECT_SEG_REFS_DEFAULT): Default.
3056 (PREDICATE_CODES): Add no_seg_address_operand.
3057 * config/i386/i386.md (lea_1): Use it.
3058 (lea_1_rex64, lea_1_zext, lea_2_rex64): Likewise.
3059 (load_tp_si, add_tp_si, load_tp_di, add_tp_di): New.
3060 * config/i386/linux.h (TARGET_TLS_DIRECT_SEG_REFS_DEFAULT): New.
3061 * config/i386/linux64.h (TARGET_TLS_DIRECT_SEG_REFS_DEFAULT): New.
3062 * doc/invoke.texi: Add -mtls-direct-seg-refs.
3064 2003-06-04 Mark Mitchell <mark@codesourcery.com>
3066 * Makefile.in (QMTESTRUNFLAGS): Set for DejaGNU emulation.
3067 (QMTEST_GPP_TESTS): Use "g++" by default.
3068 (stamp-qmtest): Tweak database creation.
3069 (QMTEST_DIR/context): Update context file format.
3070 (qmtest-g++): Tweak command-line.
3072 2003-06-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3074 * Makefile.in (varasm.o): Don't set -Wno-error.
3075 * rs6000/t-rs6000 (varasm.o, out_object_file): Don't clear.
3077 2003-06-04 Zack Weinberg <zack@codesourcery.com>
3080 * aclocal.m4 (AC_FUNC_MMAP_ANYWHERE, AC_FUNC_MMAP_FILE): Delete.
3081 (gcc_AC_FUNC_MMAP_BLACKLIST): New.
3082 * configure.in: Check for sys/mman.h and mmap in AC_CHECK_HEADERS
3083 and AC_CHECK_FUNCS lists, respectively. Use
3084 gcc_AC_FUNC_MMAP_BLACKLIST, not AC_FUNC_MMAP_ANYWHERE nor
3086 * configure, config.in: Regenerate.
3088 2003-06-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3090 * arm/aout.h (ASM_OUTPUT_SKIP): Fix cast for format specifier warning.
3091 * arm.c (arm_output_function_prologue): Fix format specifiers.
3092 * arm.h (ARM_PRINT_OPERAND_ADDRESS): Likewise.
3093 * m68k.c (m68k_output_mi_thunk): Use more readable %wd instead of
3094 HOST_WIDE_INT_PRINT_DEC.
3095 * vax.c (vax_output_function_prologue): Fix format specifiers.
3097 2003-06-04 Richard Henderson <rth@redhat.com>
3099 * cse.c (find_best_addr): Consider binary operators even if second
3100 argument is not CONST_INT.
3102 2003-06-04 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3104 * doc/invoke.texi (max-cse-path-length): Document.
3106 2003-06-04 Richard Henderson <rth@redhat.com>
3108 * config/i386/i386.md (align): Use ASM_OUTPUT_*ALIGN macros.
3110 2003-06-04 Andrew Pinski <pinskia@physics.uc.edu>
3112 * config/rs6000/darwin.h (RS6000_OUTPUT_BASENAME):
3113 Remove semi-colon at the end of the expression.
3115 2003-06-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3117 * i370.c (mvs_function_name_length): Fix signed/unsigned warnings.
3118 * i370.h (mvs_function_name_length): Likewise.
3119 * i960.h (CONSTANT_ALIGNMENT): Likewise.
3120 * mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
3121 * pa/pa-pro-end.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
3122 * pa.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
3123 * rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Delete unused
3126 2003-06-04 Daniel Jacobowitz <drow@mvista.com>
3128 * config.gcc: Reorganize --with-cpu logic. Set
3129 configure_default_options according to the default CPU, --with-cpu,
3130 --with-arch, --with-tune, --with-schedule, --with-abi, and
3131 --with-float. Check for legal values of various options.
3132 * configure.in: Define configure_default_options in configargs.h.
3133 * configure: Regenerated.
3134 * config/mips/mips.h (TARGET_DEFAULT_ARCH_P)
3135 (TARGET_DEFAULT_FLOAT_P): New macros.
3136 * gcc.c (do_option_spec): New function.
3137 (struct default_spec, option_default_specs): New.
3138 (main): Call do_option_spec.
3139 * config/alpha/alpha.h, config/arm/arm.h, config/i386/i386.h,
3140 config/mips/mips.h, config/pa/pa.h, config/rs6000/rs6000.h,
3141 config/sparc/sparc.h (OPTION_DEFAULT_SPECS): Define.
3143 * doc/install.texi: Update --with-cpu documentation. Mention
3144 --with-arch, --with-schedule, --with-tune, --with-abi, and
3146 * doc/tm.texi (Driver): Document OPTION_DEFAULT_SPECS.
3148 2003-06-04 Daniel Jacobowitz <drow@mvista.com>
3150 * config.gcc: Only process --with-cpu logic in the third pass.
3152 2003-06-04 Daniel Jacobowitz <drow@mvista.com>
3154 * config.gcc: Reorganize --with-cpu section. Remove an
3155 obsolete comment about the default CPU for x86-64. Fix
3156 a typo for the ep9312. Update the list of supported PowerPC
3157 CPUs. Support a limited set of new --with-cpu options
3160 2003-06-04 Aldy Hernandez <aldyh@redhat.com>
3162 * config/rs6000/rs6000.c (rs6000_complex_function_value): Unpack
3163 complex numbers <= 32 bits into two registers.
3165 2003-06-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3167 * alpha.c (print_operand_address): Fix format specifier warnings.
3168 * alpha/elf.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
3169 * alpha/vms.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
3170 * arm/aof.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
3171 * arm/pe.h (ASM_OUTPUT_COMMON): Likewise.
3172 * avr.h (ASM_OUTPUT_COMMON, ASM_GENERATE_INTERNAL_LABEL,
3173 ASM_OUTPUT_SKIP): Likewise.
3174 * c4x.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
3175 * dsp16xx.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
3176 * h8300.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_COMMON):
3178 * i370.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
3179 * i386/cygming.h (ASM_OUTPUT_COMMON): Likewise.
3180 * i386/darwin.h (ASM_OUTPUT_COMMON): Likewise.
3181 * i960.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
3182 * m68k/hp320.h (PRINT_OPERAND_ADDRESS): Likewise.
3183 * mcore.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
3184 * pdp11.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
3185 * ptx4.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
3186 * sparc/freebsd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
3187 * svr3.h (ASM_OUTPUT_COMMON): Likewise.
3189 2003-06-04 J"orn Rennecke <joern.rennecke@superh.com>
3191 * c-decl.c (c_init_decl_processing): Clear input_file_name
3192 while building common nodes.
3193 * dwarf2out.c (gen_compile_unit_die, dwarf2out_finish):
3194 Don't add working directory for strings like <built-in> .
3196 2003-06-04 David Edelsohn <edelsohn@gnu.org>
3198 * doc/install.texi (*-ibm-aix*): Native as and ld required
3199 to bootstrap on AIX 5L.
3201 2003-06-04 Richard Henderson <rth@redhat.com>
3203 * c-common.c (handle_cleanup_attribute): New.
3204 (c_common_attributes): Add it.
3205 * c-decl.c (finish_decl): Honor the cleanup attribute.
3206 * doc/extend.texi (Variable Attributes): Document it.
3208 * unwind-c.c: New file.
3209 * Makefile.in (LIB2ADDEH): Add it.
3210 * config/t-darwin, config/t-linux, config/t-linux-gnulibc1,
3211 config/ia64/t-ia64: Likewise.
3213 2003-06-04 Jakub Jelinek <jakub@redhat.com>
3215 * function.c (trampolines_created): New variable.
3216 (expand_function_end): Set it when doing INITIALIZE_TRAMPOLINE.
3217 * function.h (trampolines_created): Add.
3218 * config/s390/linux.h (ASM_FILE_END): Define.
3219 * config/alpha/linux-elf.h (ASM_FILE_END): Define.
3220 * config/m68k/linux.h (ASM_FILE_END): Define.
3221 * config/rs6000/linux.h (ASM_FILE_END): Define.
3222 * config/rs6000/linux64.h (ASM_FILE_END): Define.
3223 * config/rs6000/ppc-asm.h: Add .note.GNU-stack on powerpc-linux.
3224 * config/sparc/linux.h (ASM_FILE_END): Define.
3225 * config/sparc/linux64.h (ASM_FILE_END): Define.
3226 * config/i386/i386.c (ix86_asm_file_end): Use SUBTARGET_FILE_END.
3227 * config/i386/linux.h (SUBTARGET_FILE_END): Define.
3228 * config/i386/linux64.h (SUBTARGET_FILE_END): Define.
3230 Wed Jun 4 18:39:33 CEST 2003 Jan Hubicka <jh@suse.cz>
3232 * i386.c (min_insn_size, k8_avoid_jump_misspredicts): New functions
3233 (ix86_reorg): Use it.
3234 * i386.md (align): New insn pattern.
3236 2003-06-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3238 * toplev.c (rest_of_type_compilation): Fix typo.
3240 2003-06-04 Jakub Jelinek <jakub@redhat.com>
3241 Alan Modra <amodra@bigpond.net.au>
3243 * config/i386/linux.h (NO_PROFILE_COUNTERS): Define to 1.
3244 * config/i386/freebsd.h (NO_PROFILE_COUNTERS): Likewise.
3245 * config/i386/netbsd-elf.h (NO_PROFILE_COUNTERS): Likewise.
3246 * config/xtensa/xtensa.h (NO_PROFILE_COUTNERS): Likewise.
3247 * config/darwin.h (NO_PROFILE_COUNTERS): Likewise.
3248 * final.c (NO_PROFILE_COUNTERS): Define to 0 if not defined.
3249 (profile_function): Allow NO_PROFILE_COUNTERS to be non-constant.
3250 * config/rs6000/rs6000.c (output_profile_hook): Likewise.
3252 * configure.in (powerpc*-*, s390*-*): Set tls_as_opt.
3253 Pass it to $gcc_cv_as.
3254 * configure: Rebuilt.
3256 * config/rs6000/rs6000.c (rs6000_abi_name): Remove initializer.
3257 (print_operand): Allow TARGET_AIX to be non-constant.
3258 (rs6000_aix_emit_builtin_unwind_init, rs6000_emit_eh_toc_restore):
3259 Define unconditionally.
3260 (rs6000_elf_declare_function_name): New function.
3261 * config/rs6000/rs6000.md (eh_return): Allow TARGET_AIX to be
3263 * config/rs6000/linux64.h [!RS6000_BI_ARCH] (TARGET_64BIT): Define
3265 (DEFAULT_ARCH64_P, RS6000_BI_ARCH_P): Define.
3266 [IN_LIBGCC2] (TARGET_64BIT): Define based on whether __powerpc64__
3268 (TARGET_AIX): Define to 1 if TARGET_64BIT.
3269 (PROCESSOR_DEFAULT): Remove.
3270 (TARGET_RELOCATABLE, RS6000_ABI_NAME, INVALID_64BIT,
3271 INVALID_32BIT, SUBSUBTARGET_OVERRIDE_OPTIONS): Define.
3272 [RS6000_BI_ARCH] (OVERRIDE_OPTIONS, ASM_FILE_START): Define.
3273 (ASM_DEFAULT_SPEC, ASM_SPEC, LINK_OS_LINUX_SPEC): Define for both
3275 (MULTILIB_DEFAULTS): Define.
3276 (SUBSUBTARGET_EXTRA_SPECS): Define.
3277 (ASM_SPEC32, ASM_SPEC64, ASM_SPEC_COMMON): Define.
3278 (TARGET_TOC): Define only if !RS6000_BI_ARCH.
3279 (TARGET_NO_TOC): Remove.
3280 [!RS6000_BI_ARCH] (TARGET_RELOCATABLE, TARGET_EABI,
3281 TARGET_PROTOTYPE): Define to 0.
3282 (NO_PROFILE_COUNTERS): Define to TARGET_64BIT.
3283 (PROFILE_HOOK): Only call output_profile_hook if TARGET_64BIT.
3284 (ADJUST_FIELD_ALIGN, ROUND_TYPE_ALIGN): Adjust to work properly
3286 (USER_LABEL_PREFIX): Remove.
3287 (JUMP_TABLES_IN_TEXT_SECTION): Define to TARGET_64BIT.
3288 (SETUP_FRAME_ADDRESSES): Only call rs6000_aix_emit_builtin_unwind_init
3290 (TARGET_OS_CPP_BUILTINS): Handle both -m32 and -m64.
3291 (LINK_OS_LINUX_SPEC32, LINK_OS_LINUX_SPEC64): Define.
3292 (STARTFILE_LINUX_SPEC, ENDFILE_LINUX_SPEC): Remove.
3293 (TOC_SECTION_ASM_OP): Define depending on TARGET_64BIT.
3294 (MINIMAL_TOC_SECTION_ASM_OP): Likewise.
3295 (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE): Define depending on
3297 (RS6000_CALL_GLUE): Likewise.
3298 (SAVE_FP_PREFIX, SAVE_FP_SUFFIX, RESTORE_FP_PREFIX,
3299 RESTORE_FP_SUFFIX): Likewise.
3300 (ASM_DECLARE_FUNCTION_NAME): Remove.
3301 (ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_SOURCE_LINE,
3302 DBX_OUTPUT_BRAC, DBX_OUTPUT_NFUN): Only output dot before function
3303 name if TARGET_64BIT.
3304 (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Handle both TARGET_64BIT and
3306 (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Remove undefs.
3307 (ASM_PREFERRED_EH_DATA_FORMAT): Take TARGET_64BIT into account.
3308 (DRAFT_V4_STRUCT_RET): Define.
3309 (SIGNAL_FRAMESIZE): New enum value.
3310 (MD_FALLBACK_FRAME_STATE_FOR): Define.
3311 * config/rs6000/default64.h: New file.
3312 * config/rs6000/sysv4.h (SUBTARGET_SWITCHES): Add -m32 and -m64
3314 (SUBTARGET_OVERRIDE_OPTIONS): If rs6000_abi_name is NULL, set it
3315 to RS6000_ABI_NAME. Only disallow mixing of -fPIC with -mcall-aixdesc
3317 [!RS6000_BI_ARCH] (SUBSUBTARGET_OVERRIDE_OPTIONS): Define.
3318 (ASM_DECLARE_FUNCTION_NAME): Use rs6000_elf_declare_function_name
3320 (TARGET_OS_SYSV_CPP_BUILTINS): Define.
3321 (TARGET_OS_CPP_BUILTINS): Use it.
3322 (CPP_SYSV_SPEC): Remove.
3323 (CPP_SPEC): Remove cpp_sysv.
3324 (SUBTARGET_EXTRA_SPECS): Remove cpp_sysv.
3325 Add SUBSUBTARGET_EXTRA_SPECS.
3326 (SUBSUBTARGET_EXTRA_SPECS): Define.
3327 * config/rs6000/biarch64.h: New file.
3328 * config/rs6000/rs6000-protos.h (rs6000_elf_declare_function_name):
3330 * config/rs6000/x-linux64: New file.
3331 * config/rs6000/t-linux64: Build -m64, -m32 and -m32 -msoft-float
3333 * config/rs6000/eabi-ci.asm: Protect with #ifndef __powerpc64__.
3334 * config/rs6000/eabi-cn.asm: Likewise.
3335 * config/rs6000/tramp.asm: Likewise.
3336 * config/rs6000/sol-ci.asm: Likewise.
3337 * config/rs6000/sol-cn.asm: Likewise.
3338 * config/rs6000/linux.h (TARGET_64BIT): Define to 0.
3339 (TARGET_OS_CPP_BUILTINS): Use TARGET_OS_SYSV_CPP_BUILTINS.
3340 * config/rs6000/ppc-asm.h: Move __powerpc64__ section before
3341 _CALL_AIXDESC section.
3342 * config.gcc (powerpc64-*-linux*): Configure a bi-arch compiler,
3343 defaulting to -m64 unless --with-cpu= is one of the 32-bit CPUs
3346 2003-06-04 Daniel Jacobowitz <drow@mvista.com>
3348 * config.gcc: Revert accidentally committed ARM changes.
3350 2003-06-04 Roger Sayle <roger@eyesopen.com>
3352 * builtins.c (dconstpi, dconste): New mathematical constants.
3353 (init_builtin_dconsts): New function to initialize dconstpi
3355 (fold_builtin): Optimize exp(1.0) = e. Evaluate exp(x) at
3356 compile time with -ffast-math when x is an integer constant.
3357 Optimize tan(0.0) = 0.0. Optimize atan(0.0) = 0.0,
3358 atan(1.0) = pi/4 and tan(atan(x)) = x with -ffast-math.
3360 2003-06-04 Roger Sayle <roger@eyesopen.com>
3362 * calls.c (expand_call): Avoid calling pure or const functions
3363 when the result is ignored (or void) and none of the arguments
3364 are volatile. Move warning diagnostic earlier in function.
3366 2003-06-04 Andreas Jaeger <aj@suse.de>
3368 * system.h: Do not poison TDESC_SECTION_ASM_OP,
3369 RDATA_SECTION_ASM_OP and SUBTARGET_PROLOGUE.
3371 2003-06-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3373 * final.c (asm_fprintf): Update comments, accept "-+ #0" flags,
3374 optimize '%' case, handle %c, don't accept %p, %e, %f or %g,
3375 handle %ll, optimize regular character case.
3377 2003-06-04 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3379 * Makefile.in (cse.o): Add params.h dependency.
3380 * cse.c: Include params.h.
3381 (PATHLENGTH): Removed.
3382 (struct cse_basic_block_data): Make path array dynamic.
3383 (cse_end_of_basic_block): Use PARAM_MAX_CSE_PATH_LENGTH instead
3385 (cse_main, cse_basic_block): Allocate path array.
3386 * params.def (PARAM_MAX_CSE_PATH_LENGTH): New.
3388 Wed Jun 4 09:49:21 CEST 2003 Jan Hubicka <jh@suse.cz>
3390 * i386.c (ix86_reorg): Replace the jump instead of adding nop.
3391 * i386.md (UNSPEC_REP): New constant.
3392 (return_internal_long): New pattern.
3394 2003-06-04 Eric Botcazou <ebotcazou@libertysurf.fr>
3396 PR optimization/11018
3397 * config/sparc/sparc.c (sparc_v8plus_shift): Use which_alternative
3398 consistently to decide whether the scratch register is really
3401 2003-06-04 Eric Botcazou <ebotcazou@libertysurf.fr>
3403 PR optimization/10876
3404 * config/sparc/sparc.h (CONST_OK_FOR_LETTER): Add
3405 new 'O' constraint for constant 4096.
3406 (CONST_DOUBLE_OK_FOR_LETTER_P): Likewise.
3407 * config/sparc/sparc.md (adddi3 expander): Canonicalize pattern.
3408 Do not transform into MINUS insn for constant 4096.
3409 (*adddi3_sp64 insn): Canonicalize pattern. Add new alternative
3410 for constant 4096 as third operand.
3411 (addsi3 expander): Remove.
3412 (*addsi3 insn): Rename into 'addsi3'. Canonicalize pattern. Add
3413 new alternative for constant 4096 as third operand.
3414 (subdi3 expander): Do not transform into PLUS insn for constant 4096.
3415 (*subdi3_sp64 insn): Add new alternative for constant 4096 as third
3417 (subsi3 expander): Remove.
3418 (*subsi3 insn): Rename into 'subsi3'. Add new alternative for
3419 constant 4096 as third operand.
3420 * doc/md.texi (Machine Constraints): Document new 'O' constraint for
3423 2003-06-03 Chris Demetriou <cgd@broadcom.com>
3425 * config/mips/t-linux64 (CRTSTUFF_T_CFLAGS_S): Define.
3427 2003-06-04 Andreas Jaeger <aj@suse.de>
3429 * config/i386/uwin.h: Remove SUBTARGET_PROLOGUE.
3431 * config/i386/i386.c (ix86_expand_prologue): Do not use
3434 * system.h: Poision SUBTARGET_PROLOGUE.
3436 * config/arm/arm-protos.h: Remove unused rdate_section prototype.
3438 * output.h: Remove TDESC_SECTION_ASM_OP and RDATA_SECTION_ASM_OP
3441 * system.h: Poison TDESC_SECTION_ASM_OP and RDATA_SECTION_ASM_OP.
3443 * system.h: Poison INSN_CACHE_DEPTH, INSN_CACHE_SIZE and
3444 INSN_CACHE_LINE_WIDTH.