1 2003-12-01 James Lemke <jim@wasabisystems.com>
3 * config/arm/arm.c (arm_rtx_costs): Improve for xscale multiply.
5 2003-12-01 Roger Sayle <roger@eyesopen.com>
8 * recog.c (split_insn): Factor test of INSN_P and handling of
9 set_noop_p out of here into the two callers.
10 (split_all_insns): Add INSN_P test and set_noop_p handling here.
11 If deleting a no-op set after reload that has a REG_UNUSED note,
12 mark the basic block as changed and recalculate life information.
13 (split_all_insns_noflow): Add INSN_P test and set_noop_p handling
16 2003-12-01 Roger Sayle <roger@eyesopen.com>
19 * gcse.c (struct ls_expr): Change type of hash_index from int to
21 (hash_expr): Document hash_table_size parameter and wrap long line.
22 (ldst_entry): Calculate expression's hash_index and record in ptr.
23 (trim_ld_motion_mems): Use hash_index to search a single bucket
24 instead of scanning the entire hash_table. Remove the "del" local
25 variable and use the equivalent "expr == 0" instead. Change last
26 to be a pointer to the pointer to the current element, to simplify
27 and speed-up deleting from a linked list.
29 2003-12-01 James E Wilson <wilson@specifixinc.com>
31 * doc/c-tree.texi (CONSTRUCTOR): Clarify element order and handling
35 * config/ia64/ia64.c (ia64_function_arg): For single-reg HFA, call
36 gen_rtx_REG to create new reg with argument mode.
38 2003-12-01 Steven Bosscher <stevenb@suse.de>
40 * ggc.h (struct alloc_zone): Move forward declaration up.
41 (new_ggc_zone): New function prototype.
42 (destroy_ggc_zone): Ditto.
43 * ggc-simple.c (new_ggc_zone): New function, does nothing.
44 (destroy_ggc_zone): Ditto.
45 * ggc-page.c (new_ggc_zone): New function, does nothing.
46 (destroy_ggc_zone): Ditto.
47 * ggc-zone.c (struct page_entry): Fix comment.
48 (ggc_alloc_typed): Use a switch statement instead of ifs.
49 (new_ggc_zone): New function to set up a new GC zone.
50 (destroy_ggc_zone): New function to remove a GC zone.
51 init_ggc): Use new_ggc_zone to set up the default zones.
52 (ggc_collect): Walk a list of zones, instead of just the
53 default zones. Report statistics using the zone name.
55 2003-12-01 Ulrich Weigand <uweigand@de.ibm.com>
57 * unroll.c (find_splittable_givs): Add missing extend_value_for_giv.
59 2003-12-01 Roger Sayle <roger@eyesopen.com>
62 * toplev.c (rest_of_handle_jump_bypass): Call reg_scan.
63 * regclass.c (reg_scan): Include allocate_reg_info time in
64 TV_REG_SCAN. Minor clean-ups.
65 (reg_scan_update): Minor clean-ups.
67 2003-12-01 Ulrich Weigand <uweigand@de.ibm.com>
69 * config.gcc (s390x-ibm-tpf*): Add extra_parts.
71 2003-12-01 James E Wilson <wilson@specifixinc.com>
73 * config/ia64/ia64.h (FUNCTION_ARG_REGNO_P): Use AR_REG_FIRST not
76 2003-12-01 Zack Weinberg <zack@codesourcery.com>
78 * common.opt: Remove -fgnu-linker.
79 * flags.h: Remove flag_gnu_linker.
80 * opts.c: Don't handle OPT_fgnu_linker.
81 * toplev.c: Don't initialize flag_gnu_linker.
82 Remove gnu-linker entry from f_options.
83 * config/dsp16xx/dsp16xx.h (OPTIMIZATION_OPTIONS):
84 Don't reset flag_gnu_linker.
85 * config/mips/mips.c (override_options): Likewise.
86 * doc/invoke.texi: Remove all mention of -fgnu-linker.
88 2003-12-01 Daniel Berlin <dberlin@dberlin.org>
90 * ggc-zone.c (ggc_pch_write_object): Calculate object size using
91 ggc_get_size (which accounts for large objects properly).
93 2003-12-01 Jeff Sturm <jsturm@one-point.com>
96 * toplev.c (rest_of_handle_new_regalloc): Remove rebuild_notes
98 (rest_of_handle_old_regalloc): Likewise. Add rebuild_notes
99 declaration. Rebuild jump labels following local_alloc if necessary.
100 (rest_of_compilation): Remove rebuild_label_notes_after_reload
101 declaration. Don't pass rebuild_notes parameter to
102 rest_of_handle_new_regalloc and rest_of_handle_old_regalloc.
103 Don't rebuild jump labels.
105 2003-12-01 Jeff Law <law@redhat.com>
107 * flow.c (count_or_remove_death_notes_bb): New. Extracted from
108 count_or_remove_death_notes.
109 (count_or_remove_death_notes): Use EXECUTE_IF_SET_IN_SBITMAP.
111 2003-12-01 Andreas Krebbel <krebbel1@de.ibm.com>
113 * builtins.c (expand_builtin_longjmp): Added two memory clobbers.
115 2003-12-01 Ulrich Weigand <uweigand@de.ibm.com>
117 * reload.c (find_reloads_address): Split addresses of type
118 (plus (plus (reg) (reg)) (const_int)) only if one register
119 is either a valid base register or else one of the stack
120 frame related registers (sp/fp/ap).
122 2003-12-01 Steven Bosscher <stevenb@suse.de>
124 * function.c (update_epilogue_consts): Don't use PARAMS.
125 * rtl.h (web_main): Ditto.
126 * target.h (is_costly_dependence): Ditto
128 2003-12-01 Eric Botcazou <ebotcazou@libertysurf.fr>
131 * expr.c (expand_expr) [normal_inner_ref]: When 'offset' is non-zero,
132 do not recheck that 'op0' is a MEM. Move comment. When testing for
133 unaligned objects, take also into account the alignment of 'op0' and
134 'mode1' if 'op0' is a MEM.
136 2003-12-01 Gabriel Dos Reis <gdr@integrable-solutions.net>
138 * doc/c-tree.texi (Function Bodies): Update HANDLER documentation.
140 2003-12-01 Kelley Cook <kcook@gcc.gnu.org>
142 * doc/install.texi: Note that fastjar is built with automake 1.7.x
145 2003-12-01 Alan Modra <amodra@bigpond.net.au>
147 * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Test
148 target_flags directly rather than using TARGET_* defines.
150 2003-11-30 Ben Elliston <bje@wasabisystems.com>
154 2003-11-30 Richard Sandiford <rsandifo@redhat.com>
157 * config/mips/mips.c (mips_save_reg): Fix frame information for sdc1
158 on 32-bit big-endian targets.
160 2003-11-30 Kazu Hirata <kazu@cs.umass.edu>
162 * genemit.c (register_constraints): Remove.
164 2003-11-30 Andreas Krebbel <krebbel1@de.ibm.com>
166 * config/s390/s390.md ("tmdi_reg", "tmsi_reg", "*movdi_64", "*movdi_31",
167 "iordi3"): Insns now use multiple letter constraints.
168 ("*movdi_lhi", "*movdi_lli", "*movdi_lay"): Insns deleted. They are now
169 covered by "*movdi_64".
170 ("*movsi_lhi", "*movsi_lli", "*movsi_lay"): Insns deleted. They are now
171 covered by "*movsi_zarch" and "*movsi_esa".
172 ("*movsi_zarch", "*movsi_!zarch"): New insns.
173 ("*llgt_sisi_split", "*llgt_didi_split"): Insns deleted. Now covered
174 by "*andsi3_zarch" and "anddi3".
175 ("*anddi3_ni"): Insn merged with "anddi3".
176 ("*andsi3_ni"): Insn merged with "*andsi3_zarch".
177 ("*andsi3_zarch", "*andsi3_esa"): New insns.
178 ("*iordi3_oi"): Insn merged with "iordi3".
179 ("*iorsi3_oi"): Insn merged with "*iorsi3_zarch".
180 ("*iorsi3_zarch", "*iorsi3_esa"): New insns.
182 * config/s390/s390.c (s390_single_qi, s390_single_hi): Functions
183 merged to s390_single_part.
184 (s390_single_part): New function.
185 NOTE: Semantics have changed a bit. Now the value of the part must
186 be different from the others to get a non-negative return value.
187 (s390_extract_qi, s390_extract_hi): Functions merged to
189 (s390_extract_part, s390_extra_constraint_str,
190 s390_const_ok_for_constraint_p): New functions. The L constraint got a
191 new meaning and the N constraint was added as a multiple letter
193 (s390_extra_constraint): Function deleted.
194 (print_operand): New output modifier 'i' and 'j' added.
195 All uses of CONST_OK_FOR_LETTER_P were replaced by
196 CONST_OK_FOR_CONSTRAINT_P.
198 * config/s390/s390-protos.h: Function prototypes adapted.
199 * doc/md.texi: Documentation for new constraint letters added.
201 2003-11-30 Andreas Schwab <schwab@suse.de>
203 * Makefile.in ($(DESTDIR)$(infodir)/%.info): Fix missing semicolon.
205 2003-11-29 James E Wilson <wilson@specifixinc.com>
207 * gcc.c (init_spec): Pass -lunwind to init_gcc_specs in eh_name
208 instead of in shared_name.
210 * final.c (final_start_function): Delete code for NON_SAVING_SETJMP.
211 * reload1.c (reload): Re-add it here.
213 2003-11-30 Alan Modra <amodra@bigpond.net.au>
215 * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): Don't
216 set SECTION_WRITE on TARGET_RELOCATABLE.
218 2003-11-29 Kazu Hirata <kazu@cs.umass.edu>
220 * config/h8300/h8300.h (LIBCALL_VALUE): Use R0_REG.
222 2003-11-28 Gunther Nikl <gni@gecko.de>
224 * config/m68k/m68k.c (MOTOROLA): Move from here...
225 * config/m68k/m68k.h (MOTOROLA): ... to here.
226 (OUTPUT_JUMP): Use do {...} while (0).
227 * config/m68k/m68k.md: Replace #ifdef MOTOROLA with C statements.
229 2003-11-28 Gunther Nikl <gni@gecko.de>
231 * config.gcc (m68020-*-elf*, m68k-*-elf*, m68010-*-netbsdelf*,
232 m68k*-*-netbsdelf*, m68k-*-rtems*): Add tm_defines containing
233 MOTOROLA and USE_GAS.
234 * config/m68k/rtemself.h (MOTOROLA): Delete.
235 * config/m68k/netbsd-elf.h (MOTOROLA, USE_GAS): Delete.
236 * config/m68k/m68kelf.h (MOTOROLA, USE_GAS, SGS_CMP_ORDER): Delete.
238 2003-11-29 Kazu Hirata <kazu@cs.umass.edu>
240 * config/h8300/h8300.h (WORDS_BIG_ENDIAN): Update the comment.
242 2003-11-29 Kelley Cook <kcook@gcc.gnu.org>
244 * Makefile.in (install-info): Install gccinstall.info too.
246 2003-11-29 Ulrich Weigand <uweigand@de.ibm.com>
248 * config/s390/s390.md ("cmpint_di"): Fix incorrect instruction lengths.
250 2003-11-29 Ulrich Weigand <uweigand@de.ibm.com>
252 * config/s390/s390.md ("movhi"): Do not emit extender pattern
253 when loading from a (MEM (ADDRESSOF ...)).
256 2003-11-29 Joseph S. Myers <jsm@polyomino.org.uk>
259 * c-parse.in (typespec_reserved_nonattr): Reject typeof on
262 2003-11-29 Richard Sandiford <rsandifo@redhat.com>
264 * stmt.c (expand_asm_operands): Check whether force_const_mem
267 2003-11-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
269 * config/gnu.h (HURD_TARGET_OS_CPP_BUILTINS): New.
270 * config/linux.h (LINUX_TARGET_OS_CPP_BUILTINS): New.
272 * config/alpha/gnu.h, config/alpha/linux.h,
273 config/arm/linux-elf.h, config/cris/cris.h, config/cris/linux.h,
274 config/i370/linux.h, config/i386/gnu.h, config/i386/i386.h,
275 config/i386/linux-aout.h, config/i386/linux.h,
276 config/i386/linux64.h, config/ia64/linux.h, config/m68k/linux.h,
277 config/m68k/uclinux.h, config/mips/linux.h,
278 config/mn10300/linux.h, config/pa/pa-linux.h,
279 config/rs6000/sysv4.h, config/s390/linux.h, config/sh/linux.h,
280 config/sparc/linux.h, config/sparc/linux64.h,
281 config/xtensa/linux.h (TARGET_OS_CPP_BUILTINS): Use
282 HURD_TARGET_OS_CPP_BUILTINS/LINUX_TARGET_OS_CPP_BUILTINS or ensure
283 all necessary assertions are included.
285 2003-11-28 Jan Hubicka <jh@suse.cz>
287 * emit-rtl.c (set_used_flags): New.
288 (verify_rtx_sharing, verify_rtl_sharing): New.
289 (unshare_all_rtl_1): Rename to....
290 (unshare_all_rtl_in_chain): ... this one; make static.
291 (copy_rtx_if_shared): LABEL_REF chan be shared.
292 * ifcvt.c (unshare_ifcvt_sequence): New.
293 (noce_try_move, noce_try_store_flag, noce_try_store_flag_constants,
294 noce_try_addcc, noce_try_addcc, noce_try_store_flag_mask,
295 noce_try_cmove, noce_try_store_flag_mask, noce_try_minmax,
296 noce_try_abs, noce_process_if_block, find_cond_trap
297 * rtl.h (verify_rtl_sharing, set_used_flags, unshare_all_rtl_in_chain):
300 2003-11-28 Kazu Hirata <kazu@cs.umass.edu>
302 * config/h8300/h8300.md: Fix a comment typo.
304 2003-11-28 Kazu Hirata <kazu@cs.umass.edu>
306 * config/h8300/h8300.md (*movsf_h8300h): Change to
308 (addsi_h8300): Change to *addsi_h8300.
309 (addsi_h8300h): Change to *addsi_h8300hs.
310 (subsi3_h8300): Change to *subsi3_h8300.
311 (subsi3_h8300h): Change to *subsi3_h8300hs.
312 (neghi2_h8300h): Change to *neghi2_h8300hs.
313 (negsi2_h8300h): Change to *negsi2_h8300hs.
315 2003-11-28 Kazu Hirata <kazu@cs.umass.edu>
317 * config/h8300/h8300.md (*subhi3_h8300): Remove '&' from the
319 (*subhi3_h8300hs): Likewise.
321 2003-11-28 David Edelsohn <edelsohn@gnu.org>
323 * config/rs6000/rs6000.h (MASK_MFCRF): New.
324 (TARGET_MFCRF): Test target_flags, not processor type.
325 (TARGET_SWITCHES): Add mfcrf and no-mfcrf.
326 Change Don't to Do not.
327 * config/rs6000/rs6000.c (processors_target_table): Add MASK_MFCRF
330 2003-11-27 J"orn Rennecke <joern.rennecke@superh.com>
332 * cse.c (cse_set_around_loop): When changing a constant load
333 to a register -register copy, add a REG_EQUAL note.
335 2003-11-27 Randolph Chung <tausq@debian.org>
336 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
338 * pa.c (hppa_profile_hook): Split gen_call_profiler into separate
339 insns. Use the regular call expander for the call to the profiler.
340 * pa.md (call_profiler): Delete.
341 (load_offset_label_address): New insn to load the address of the
342 current function for the profiler.
343 (lcla1, lcla2): New insns to output a code label and load its address.
345 2003-11-27 Kazu Hirata <kazu@cs.umass.edu>
347 * final.c (final_scan_insn): Remove commented-out code.
349 2003-11-27 Nathanael Nerode <neroden@gcc.gnu.org>
351 * doc/install.texi: Remove ADAC reference and make accurate.
353 2003-11-27 Kazu Hirata <kazu@cs.umass.edu>
355 * config/h8300/h8300.h (FUNCTION_VALUE): Use R0_REG.
356 (FUNCTION_VALUE_REGNO_P): Likewise.
357 * config/h8300/h8300.md: Define R0_REG.
359 2003-11-27 Kazu Hirata <kazu@cs.umass.edu>
361 * config/h8300/h8300.c: Fix formatting.
362 * config/h8300/h8300.md: Likewise.
364 2003-11-27 Kazu Hirata <kazu@cs.umass.edu>
366 * config/h8300/h8300.h (ELIMINABLE_REGS): Update a comment.
368 2003-11-27 Kazu Hirata <kazu@cs.umass.edu>
370 * config/h8300/h8300.md: Give names to anonymous insns.
372 2003-11-27 Kazu Hirata <kazu@cs.umass.edu>
374 * config/h8300/h8300.md (extendqisi2): Remove constraints.
376 2003-11-27 Gunther Nikl <gni@gecko.de>
378 * doc/tm.texi (SYSROOT_HEADERS_SUFFIX_SPEC): Fix typo.
380 2003-11-27 Eric Botcazou <ebotcazou@libertysurf.fr>
382 PR optimization/13041
383 * final.c (frame_pointer_needed): Fix comment.
384 * reload1.c (reload): Decrease alignment of the frame
385 pointer if it was used for register allocation.
387 2003-11-27 Eric Botcazou <ebotcazou@libertysurf.fr>
390 * reg-stack (move_for_stack_reg): New prototype. Return
391 whether a control flow insn was deleted.
392 (subst_stack_regs_pat): Likewise, using the information provided
393 by move_for_stack_reg.
394 (subst_stack_regs): Likewise, using the information provided
395 by subst_stack_regs_pat.
396 (convert_regs_1): Record whether a control flow insn was deleted,
397 using the information provided by subst_stack_regs. Purge dead
398 edges only if a control flow insn was deleted.
400 2003-11-27 Eric Botcazou <ebotcazou@libertysurf.fr>
408 * builtins.c (expand_builtin_apply): Use virtual_outgoing_args_rtx
409 as the base address to copy the memory arguments to.
411 2003-11-26 Danny Smith <dannysmith@users.sourceforge.net>
413 * config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Declare
414 function aliases as functions.
416 2003-11-26 Nathanael Nerode <neroden@gcc.gnu.org>
418 * aclocal.m4 (gcc_AC_PROG_GNAT): Rewrite to account for removal
420 * configure: Regenerate.
422 * Makefile.in: Remove references to ADAC.
424 * configure.in: Remove check for whether ${ADAC} accepts -Wno-long-long.
425 * configure: Regenerate.
427 2003-11-26 Eric Botcazou <ebotcazou@libertysurf.fr>
428 Olivier Hainque <hainque@act-europe.fr>
431 * config/sparc/sparc-protos.h (compute_frame_size): New prototype.
432 (sparc_flat_compute_frame_size): Likewise.
433 (sparc_flat_save_restore): Move prototype...
434 * config/sparc/sparc.c (sparc_flat_save_restore): ...here.
435 (save_regs): New prototype.
436 (build_big_number): Likewise.
437 (apparent_fsize): Change type to HOST_WIDE_INT.
438 (actual_fsize): Likewise.
439 (frame_base_offset): Likewise.
440 (build_big_number): Add support for HOST_BITS_PER_WIDE_INT == 64.
441 Change string descriptor to HOST_WIDE_INT_PRINT_DEC.
442 [TARGET_ARCH64]: Use the sequence of sparc_emit_set_const64_longway
443 to load a 64-bit constant.
444 (sparc_nonflat_function_prologue): Change string descriptor to
445 HOST_WIDE_INT_PRINT_DEC. Change offset type to HOST_WIDE_INT.
446 (output_restore_regs): Change offset type to HOST_WIDE_INT.
447 (sparc_nonflat_function_epilogue): Change string descriptor to
448 HOST_WIDE_INT_PRINT_DEC. Use build_big_number.
449 (output_sibcall): Change size type to HOST_WIDE_INT. Use
450 build_big_number. Change string descriptor to HOST_WIDE_INT_PRINT_DEC.
451 (sparc_frame_info): Change types for several components.
452 (sparc_flat_compute_frame_size): Update types according to previous
454 (sparc_flat_function_prologue): Change string descriptor to
455 HOST_WIDE_INT_PRINT_DEC. Change offset type to int. Use
457 (sparc_flat_function_epilogue): Change offset type to int.
458 Rename 'size1' into 'reg_offset1'. Change string descriptor to
459 HOST_WIDE_INT_PRINT_DEC. Use build_big_number. Change big number
460 limit to 4096 instead of 4095.
462 * config/sparc/sparc.c (mems_ok_for_ldd_peep): Change offset type to
465 2003-11-24 Waldek Hebisch <hebisch@math.uni.wroc.pl>
467 * function.c: Make outer_function-chain external.
468 * function.h: Likewise.
470 2003-11-24 Richard Sandiford <rsandifo@redhat.com>
472 * config.gcc (mips-sgi-irix6*): Add t-iris6gld to tmake_file when
474 * config/mips/iris6.h (IRIX6_STARTFILE_SPEC): New, taking the
475 whole of the previous STARTFILE_SPEC except crtbegin.o%s.
476 (IRIX6_ENDFILE_SPEC): Likewise ENDFILE_SPEC and crtend.o%s.
477 (STARTFILE_SPEC, ENDFILE_SPEC): Define in terms of the above.
478 (SUBTARGET_EXTRA_SPECS): Define.
479 * config/mips/iris6gld.h (LINK_SPEC): Change -init function
480 to __gcc_init and -fini function to __gcc_fini.
481 (STARTFILE_SPEC): Redefine, including irix6-crti.o before crtbegin.o.
482 (ENDFILE_SPEC): Likewise, including irix6-crtn.o after crtend.o.
483 (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP): Define.
484 * config/mips/t-iris6gld,
485 * config/mips/irix6-crti.asm,
486 * config/mips/irix6-crtn.asm: New files.
488 2003-11-24 Eric Christopher <echristo@redhat.com>
491 * c-decl.c (c_in_iteration_stmt, c_in_case_stmt): New.
492 (start_function): Use.
493 (c_push_function_context): Ditto.
494 (c-pop_function_context): Ditto.
495 (language_function): Move...
496 * c-tree.h: ... here. Add x_in_iteration_stmt, and
498 * c-parse.in (do_stmt_start, select_or_iter_stmt, stmt): Use
499 c_in_iteration_stmt, c_in_case_stmt for parser state. Move
500 check for valid break or continue statment here...
501 * c-semantics.c (genrtl_break_stmt, genrtl_continue_stmt): From
502 here. Change original errors to abort.
504 2003-11-24 Jan Hubicka <jh@suse.cz>
506 * fold-const.c (fold): Do not return early when optimizing
507 COMPONENT_REF and constant.
509 2003-11-24 Kazu Hirata <kazu@cs.umass.edu>
511 * config/h8300/h8300.md (tablejump_h8300): Change to
513 (tablejump_h8300h): Change to *tablejump_h8300hs_advanced.
514 (tablejump_normal_mode): Change to *tablejump_h8300hs_normal.
515 (indirect_jump_h8300): Change to *indirect_jump_h8300.
516 (indirect_jump_h8300h): Change to
517 *indirect_jump_h8300hs_advanced.
518 (indirect_jump_normal_mode): Change to
519 *indirect_jump_h8300hs_normal.
521 2003-11-24 Kazu Hirata <kazu@cs.umass.edu>
523 * config/h8300/h8300.md: Remove constraints from expanders.
525 2003-11-24 Kazu Hirata <kazu@cs.umass.edu>
527 * config/h8300/h8300.md: (stm_h8300s_2): Change the name to
528 stm_h8300s_2_advanced.
529 (stm_h8300s_2_normal): New.
530 (stm_h8300s_2): Likewise.
531 (stm_h8300s_3): Change the name to stm_h8300s_3_advanced.
532 (stm_h8300s_3_normal): New.
533 (stm_h8300s_3): Likewise.
534 (stm_h8300s_4): Change the name to stm_h8300s_4_advanced.
535 (stm_h8300s_4_normal): New.
536 (stm_h8300s_4): Likewise.
537 (ldm_h8300s_2): Change the name to ldm_h8300s_2_advanced.
538 (ldm_h8300s_2_normal): New.
539 (ldm_h8300s_2): Likewise.
540 (ldm_h8300s_3): Change the name to ldm_h8300s_3_advanced.
541 (ldm_h8300s_3_normal): New.
542 (ldm_h8300s_3): Likewise.
543 (ldm_h8300s_4): Change the name to ldm_h8300s_4_advanced.
544 (ldm_h8300s_4_normal): New.
545 (ldm_h8300s_4): Likewise.
546 (two peephole2's): Enable only with !TARGET_NORMAL_MODE.
547 (two peephole2's): New.
549 2003-11-24 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
551 * genattrtab.c (simplify_cond): Update indices correctly.
552 (attr_alt_subset_p, attr_alt_subset_of_compl_p, attr_alt_intersection,
553 attr_alt_union, attr_alt_complement, attr_alt_bit_p, mk_attr_alt): New.
554 (check_attr_test, encode_units_mask, compute_alternative_mask,
555 make_alternative_compare, simplify_and_tree,
556 attr_rtx_cost, simplify_test_exp, gen_attr,
557 write_test_expr, walk_attr_value): Handle EQ_ATTR_ALT.
558 * rtl.def (EQ_ATTR_ALT): New.
560 2003-11-23 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
562 * genattrtab.c (strcmp_check, DEF_ATTR_STRING): New macros.
563 (length_str, delay_type_str, delay_1_0_str, num_delay_slots_str):
565 (main): Initialize them.
566 (find_attr): Canonicalize the attribute name string.
567 (attr_rtx_1, copy_boolean, expand_delays, gen_unit): Always canonicalize
569 (attr_printf, attr_eq): Use DEF_ATTR_STRING.
570 (check_attr_test, check_attr_value, make_length_attrs,
571 write_length_unit_log, simplify_by_exploding, gen_attr,
572 write_test_expr, write_attr_value, write_eligible_delay,
573 write_complex_function, make_internal_attr,
574 write_const_num_delay_slots): Changed due to change of type of
576 (fill_attr, evaluate_eq_attr, simplify_and_tree,
577 attr_rtx_cost, simplify_by_exploding, walk_attr_value): Use
580 2003-11-23 Kazu Hirata <kazu@cs.umass.edu>
583 * config/h8300/h8300.c (push): Call push_h8300hs_normal in
585 (pop): Call pop_h8300hs_normal in normal mode.
586 * config/h8300/h8300.md: Likewise.
587 (pushqi1_h8300hs_normal): New.
588 (pushqi1): Call pushqi1_h8300hs_normal in normal mode.
589 (pushhi1_h8300hs_normal): New.
590 (pushhi1): Call pushhi1_h8300hs_normal in normal mode.
591 (push_h8300hs_normal): New.
592 (pop_h8300hs_normal): Likewise.
594 2003-11-23 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
596 * genattrtab.c (count_sub_rtxs): Removed.
598 2003-11-23 Richard Earnshaw <rearnsha@arm.com>
600 * recog.c (preprocess_constraints): Only zero those elements of
601 recog_op_alt that are needed for this insn.
602 * arm.c (note_invalid_constants): A function can't contain invalid
603 constants if it has no constraints.
605 2003-11-22 Jan Hubicka <jh@suse.cz>
607 * i386.c (classify_argument): Pass __float128 in memory.
608 (ix86_return_in_memory): Likewise.
609 (ix86_libcall_value): Likewsie.
611 2003-11-22 Kazu Hirata <kazu@cs.umass.edu>
613 * config/h8300/h8300.c (dosize): Convert to ISO-C.
615 2003-11-22 J"orn Rennecke <joern.rennecke@superh.com>
617 * flow.c (update_life_info): Amend comment about when a register
620 2003-11-21 Kelley Cook <kcook@gcc.gnu.org>
622 * doc/.cvsignore: Delete.
624 2003-11-21 Daniel Berlin <dberlin@dberlin.org>
625 David Edelsohn <edelsohn@gnu.org>
627 * dwarf2out.c (add_location_or_const_value_attribute): Add support
630 2003-11-21 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
632 * config/mips/t-iris6 (CRTSTUFF_T_CFLAGS): Add -Wno-error.
633 (TARGET_LIBGCC2_CFLAGS): Define.
635 * crtstuff.c [HAS_INIT_SECTION] (__do_global_dtors): Declare.
636 (__do_global_ctors): Likewise.
638 2003-11-21 Mark Wielaard <mark@klomp.org>
640 * doc/invoke.texi (-O2): Doesn't enable -fweb.
642 2003-11-21 Kazu Hirata <kazu@cs.umass.edu>
644 * doc/invoke.texi: Mention dV and dZ.
646 2003-11-21 Kazu Hirata <kazu@cs.umass.edu>
648 * doc/invoke.texi: Update dump file names.
649 Remove de, dW, and dX.
651 2003-11-20 James E Wilson <wilson@specifixinc.com>
654 * reload1.c (reload): Delete special handling for setjmp.
656 2003-11-21 Andreas Tobler <a.tobler@schweiz.ch>
658 * mklibgcc.in: Evaluate shlib_slibdir_qual during link
660 * config/t-slibgcc-darwin: Adjust install path.
661 * config/rs6000/t-darwin: Revert multilib matches since
662 it is not used on darwin.
664 2003-11-20 Richard Henderson <rth@redhat.com>
666 * ssa.c, ssa-dce.c, ssa-ccp.c: Remove files.
667 * Makefile.in (OBJS-common, GTFILES): Don't reference them.
668 (gtype-desc.o, toplev.o, flow.o): Remove ssa.h.
669 (ssa.o, ssa-dce.o, ssa-ccp.o): Remove.
670 * flow.c: Don't include ssa.h.
671 (set_phi_alternative_reg): Remove.
672 (calculate_global_regs_live): Don't call it.
673 (mark_used_regs): Don't handle PHI.
674 * gengtype.c (open_base_files): Don't reference ssa.h.
675 * rtl.def (PHI): Remove.
676 * timevar.def (TV_TO_SSA, TV_SSA_CCP, TV_SSA_DCE, TV_FROM_SSA): Kill.
677 * common.opt: Remove -fssa, -fssa-ccp, -fssa-dce.
678 * opts.c (common_handle_option): Likewise.
679 * toplev.c (f_options): Likewise.
680 (DFI_ssa, DFI_ssa_ccp, DFI_ssa_dce, DFI_ussa): Remove.
681 (dump_file): Update to match.
682 (flag_ssa, flag_ssa_ccp, flag_ssa_dce): Remove.
683 (rest_of_handle_ssa): Remove.
684 (rest_of_compilation): Don't call it.
685 * toplev.h (flag_ssa, flag_ssa_dce, flag_ssa_ccp): Remove.
686 * doc/invoke.texi: Remove -fssa, -fssa-ccp, -fssa-dce.
687 * doc/passes.texi (SSA optimizations): Remove.
689 2003-11-20 Bob Wilson <bob.wilson@acm.org>
691 * configure.in: Add xtensa-*-* targets to test for dwarf2 debug_line.
692 * configure: Regenerate.
694 2003-11-20 Kelley Cook <kcook@gcc.gnu.org>
696 * Makefile.in (Makefile): Pass along CONFIG_SHELL.
698 2003-11-20 David Mosberger <davidm@hpl.hp.com>
700 * config/t-libunwind (LIB2ADDEH): Add unwind-c.c.
702 * unwind-libunwind.c (_Unwind_GetCFA): Implement.
703 (_Unwind_GetBSP) [UNW_TARGET_IA64]: New function.
705 2003-11-20 Fariborz Jahanian <fjahanian@apple.com>
706 David Edelsohn <edelsohn@gnu.org>
708 * calls.c (expand_call): Allocate new temp in pass1.
709 (store_one_arg): If PARALLEL, calculate excess using mode size of
711 * expr.c (emit_push_insn): If PARALLEL, calculate offset using
712 mode size of rtvec elt.
713 * function.c (assign_parms): Use parm in register, if available.
715 2003-11-20 Kazu Hirata <kazu@cs.umass.edu>
717 * config/h8300/lib1funcs.asm (MOVP): Remove.
721 2003-11-20 Richard Earnshaw <rearnsha@arm.com>
723 * arm.c (use_return_insn): New argument, SIBLING. Support returning
724 with a single instruction if the stack has been decremented by 4
725 and we have a frame pointer. Update all callers.
726 (output_return_instruction): Likewise.
727 (arm_output_epilogue): Change argument to SIBLING. Calculate
728 really_return from the new argument. Update all callers.
729 * arm.h (USE_RETURN_INSN): Pass NULL for the sibling.
730 * arm.md (sibcall_epilogue): Call use_return_insn directly, and
731 pass the sibling call.
732 * arm-protos.h (use_return_insn, arm_output_epilogue): Update
735 2003-11-20 Joseph S. Myers <jsm@polyomino.org.uk>
737 * Makefile.in (extraclean): Delete.
738 * configure.in (target_list): Remove extraclean.
739 * configure: Regenerate.
740 * doc/makefile.texi, doc/sourcebuild.texi: Update.
741 * objc/Make-lang.in (objc.extraclean): Delete.
743 2003-11-20 Joseph S. Myers <jsm@polyomino.org.uk>
745 * Makefile.in (lang_checks): Add.
746 (check-c++, check-f77, check-java, check-g++, check-g77,
747 check-objc): Remove hardcoded targets.
748 * doc/sourcebuild.texi: Document testsuite hooks.
749 * objc/Make-lang.in (check-objc, lang_checks): Add.
751 2003-11-19 Scott Snyder <snyder@fnal.gov>
754 * dwarf2out.c (gen_array_type_die): DW_AT_declaration should be a
755 flag, not a constant.
757 2003-11-19 Kelley Cook <kcook@gcc.gnu.org>
759 * config/arc/arc-protos.h: Update to C90 prototypes.
760 * config/arc/arc.c: Likewise.
761 * config/arc/initfini.c: Likewise.
763 2003-11-19 Andreas Krebbel <krebbel1@de.ibm.com>
765 * stmt.c (expand_goto): Memory clobbers added.
767 2003-11-19 Andreas Krebbel <krebbel1@de.ibm.com>
769 * reload.c (find_reloads): Added missing type casts.
771 2003-11-19 James E Wilson <wilson@specifixinc.com>
773 * combine.c (sets_function_arg_p): Delete unused function.
775 2003-11-19 Eric Christopher <echristo@redhat.com>
777 * reload1.c (reload): Revert 2 previous checkins.
779 2003-11-19 Nathanael Nerode <neroden@gcc.gnu.org>
781 * cpptrad.c (_cpp_scan_out_logical_line): Improve test for
782 whether directive begins at the beginning of a line.
784 2003-11-19 Richard Sandiford <rsandifo@redhat.com>
786 * config/frv/frv.c (frv_init_libfuncs): Correct ufix_optab entries.
788 2003-11-19 Gerald Pfeifer <gp@suse.de>
790 * doc/install.texi (Specific): Remove information on old versions
791 of glibc versus old versions of GCC.
793 2003-11-19 Richard SAndiford <rsandifo@redhat.com>
795 * emit-rtl.c (gen_lowpart): Don't force MEMs into a register unless
796 the register lowpart is a TRULY_NOOP_TRUNCATION.
798 2003-11-19 Richard Henderson <rth@redhat.com>
800 * config/i386/i386.c (print_reg): Handle QI and HI modes for
803 2003-11-19 Andreas Tobler <a.tobler@schweiz.ch>
805 * config/config.gcc (powerpc-*-darwin*): Add libgcc build
807 * config/t-slibgcc-darwin: New file, libgcc build specification.
808 * config/t-darwin: Add libgcc2 flag -fPIC.
809 * config/rs6000/t-darwin: Multilib matches float.
810 * libgcc-darwin.ver: New file, contains libgcc symbols.
812 2003-11-18 Nathanael Nerode <neroden@gcc.gnu.org>
814 * config/ns32k/ns32k.h: Remove obsolete comment.
816 2003-11-18 Roger Sayle <roger@eyesopen.com>
819 * config/arm/arm.c (arm_rtx_costs_1): Improve estimate of the code
820 size for calls to libgcc's div & mod subroutines when using -Os.
822 2003-11-18 Jan Hubicka <jh@suse.cz>
824 * cgraph.c (change_decl_assembler_name): Avoid bogus warnings.
826 2003-11-18 Marc Espie <espie@openbsd.org>
828 * config/rs6000/sysv4.h: OpenBSD hooks.
830 2003-11-18 Richard Henderson <rth@redhat.com>
832 * expr.c (expand_expr): Don't look through constant arrays if
833 they don't bind locally.
835 2003-11-17 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
837 * expr.c (convert_move): Use GET_MODE_PRECISION instead of bitsize
838 when seeing if truncation or extension.
840 2003-11-17 Eric Christopher <echristo@redhat.com>
842 * reload1.c (reload): Fix previous change.
844 2003-11-17 Scott Snyder <snyder@fnal.gov>
847 * dwarf2out.c (struct die_struct): Add die_definition field.
848 (add_AT_specification): New.
849 (gen_subprogram_die, gen_variable_die,
850 gen_struct_or_union_type_die): Use it.
851 (prune_unused_types_mark): If we're marking a forward declaration,
852 also mark the full definition, if it exists.
854 2003-11-16 Nick Clifton <nickc@redhat.com>
856 * config/stormy16/stormy16.h (BUILD_VA_LIST_TYPE): Delete.
857 * config/stormy16/stormy16-protos.h (xstormy16_build_va_list):
859 * config/stormy16/stormy16.c (xstormy16_build_va_list): Rename
860 to xstormy16_build_builtin_va_list and make static.
861 (TARGET_BUILD_BUILTIN_VA_LIST): Define.
863 2003-11-16 Kazu Hirata <kazu@cs.umass.edu>
865 * config/h8300/h8300-protos.h: Add the prototype for
866 same_cmp_following_p.
867 * config/h8300/h8300.c (same_cmp_following_p): New.
868 * config/h8300/h8300.md (peephole2): Use it.
870 2003-11-16 Kazu Hirata <kazu@cs.umass.edu>
872 * config/h8300/h8300.md: Don't use REGNO when its operand is
873 not guaranteed to be a REG.
875 2003-11-16 Richard Sandiford <rsandifo@redhat.com>
877 * Makefile.in (expr.o): Depend on $(TARGET_H).
878 * target.h (return_in_msb): New target hook.
879 * target-def.h (TARGET_RETURN_IN_MSB): New macro.
880 (TARGET_CALLS): Include it.
881 * calls.c (shift_returned_value): New function.
882 (expand_call): Use it.
883 * expr.c: Include target.h.
884 (copy_blkmode_from_reg): Check targetm.calls.return_in_msb when
885 deciding what padding is needed. Change the name of the local
886 padding variable from big_endian_correction to padding_correction.
887 * stmt.c (shift_return_value): New function.
888 (expand_return): Use it. Adjust memory->register copy in the same
889 way as copy_blkmode_from_reg. Only change the return register's
890 mode if it was originally BLKmode.
891 * doc/tm.texi (TARGET_RETURN_IN_MSB): Document.
892 * config/mips/mips.c (TARGET_RETURN_IN_MSB): Define.
893 (mips_fpr_return_fields): New, split out from mips_function_value.
894 (mips_return_in_msb, mips_return_fpr_pair): New functions.
895 (mips_function_value): Rework to use the functions above.
896 * config/mips/irix6-libc-compat.c: Delete.
897 * config/mips/t-iris6 (LIB2FUNCS_STATIC_EXTRA): Undefine.
899 2003-11-16 Kazu Hirata <kazu@cs.umass.edu>
901 * doc/install.texi (--enable-checking): Update valgrind's URL.
903 2003-11-16 Kazu Hirata <kazu@cs.umass.edu>
905 * config/h8300/h8300.md: Fix warnings by replacing -2147483648
906 with -2147483647 - 1.
908 2003-11-16 Gerald Pfeifer <gerald@pfeifer.com>
910 Fix links in online manuals.
911 * doc/invoke.texi (H8/300 Options): @xref to ld, not ld.info.
912 (Precompiled Headers): @pxref to cpp, not cpp.info.
914 2003-11-16 Jason Merrill <jason@redhat.com>
916 * Makefile.in, objc/Make-lang.in (objc.tags): Create TAGS.sub
917 files in each directory and TAGS files that include them for each
920 2003-11-15 Kazu Hirata <kazu@cs.umass.edu>
922 * config/h8300/lib1funcs.asm (divnorm): Store the sign in bit
925 (exitdiv): Look at bit 3 of S2L only.
927 2003-11-15 Kazu Hirata <kazu@cs.umass.edu>
929 * config/h8300/h8300.h (DO_GLOBAL_CTORS_BODY): Fix warnings.
930 (DO_GLOBAL_DTORS_BODY): Likewise.
932 2003-11-15 Joseph S. Myers <jsm@polyomino.org.uk>
934 * doc/install.texi (Prerequisites): Refine documentation of
935 autoconf, automake and perl requirements. Document required
938 <2003-11-14 Jason Merrill <jason@redhat.com>
940 * function.c (assign_parms): Use TREE_TYPE to determine the real
941 type of the argument object.
943 2003-11-14 Kazu Hirata <kazu@cs.umass.edu>
945 * config/h8300/lib1funcs.asm (___udivsi3): Peel off the first
948 2003-11-14 Fariborz Jahanian <fjahanian@apple.com>
950 * config/rs6000/rs6000.c (rs6000_move_block_from_reg):
951 New routine to save vararg registers on stack. Support for
952 -mpowerpc64 in mixed mode.
954 2003-11-14 Bernardo Innocenti <bernie@develer.com>
956 * config/m68k/m68k.c: Use C statements instead of #ifdef's when testing
957 for MOTOROLA versus MIT syntax. Improves readability and provides
958 better compile-time error checking for both code paths.
960 2003-11-14 Kelley Cook <kcook@gcc.gnu.org>
962 * config/frv/frv-protos.h: Update for C90.
963 * config/frv/frv.h: Likewise.
964 * config/frv/frvbegin.c: Likewise.
965 * config/frv/frv.c: Likewise.
966 (frv_adjust_field_align): Delete unused variable.
968 2003-11-14 Geoffrey Keating <geoffk@apple.com>
970 * config/rs6000/rs6000.md: Add 'DEFAULT_ABI == ABI_DARWIN'
971 to each place where TARGET_LONG_DOUBLE_128 is used with
972 DEFAULT_ABI == ABI_AIX.
974 * cppfiles.c (_cpp_find_file): Make 'one or more PCH files were found'
975 message comply with GNU standards.
977 2003-11-14 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
980 * function.c (struct epi_info): New field const_equiv.
981 (update_epilogue_consts): New function.
982 (keep_stack_depressed): Clear new field and verify scratch register
984 Call new function via note_stores.
985 (handle_epilogue_set): Allow setting SP equiv reg in different mode.
986 Allow PLUS where second operand is register known set to constant.
987 (emit_equiv_load): Write load using proper mode if source different.
988 * config/mips/mips.md (return_internal): Put (return) first.
990 2003-11-14 Kazu Hirata <kazu@cs.umass.edu>
992 * config/h8300/lib1funcs.asm (___udivsi3): Add a comment.
994 2003-11-14 Kazu Hirata <kazu@cs.umass.edu>
996 * config/h8300/lib1funcs.asm (modsi3): Don't save unused
999 (reti): Don't restore unused registers.
1001 2003-11-14 Nick Clifton <nickc@redhat.com>
1003 * config/fr30/fr30.c: Include toplev.h
1005 2003-11-14 Richard Earnshaw <rearnsha@arm.com>
1007 * except.c (sjlj_emit_function_enter): Mark internal label as LOCAL.
1009 2003-11-14 Richard Earnshaw <rearnsha@arm.com>
1011 * arm.c (arm_emit_vector_const, arm_output_load_gr): Use ISO C
1012 function definition syntax.
1014 2003-11-14 Eric Christopher <echristo@redhat.com>
1016 * reload1.c (reload): Revert previous patch. Make
1017 check for assignment into reg_equiv_address stricter.
1019 2003-11-14 Arnaud Charlet <charlet@act-europe.fr>
1021 * Makefile.in (POSTSTAGE1_FLAGS_TO_PASS): Pass ADAFLAGS.
1023 2003-11-14 Richard Sandiford <rsandifo@redhat.com>
1025 * config/frv/frv.c (frv_in_small_data_p): Return false for unknown
1028 2003-11-14 Jason Merrill <jason@redhat.com>
1031 * tree.c (build): A CALL_EXPR has side-effects if its arguments do.
1032 * calls.c (call_expr_flags): New fn.
1033 * tree.h: Declare it.
1035 2003-11-13 Kazu Hirata <kazu@cs.umass.edu>
1037 * config/h8300/lib1funcs.asm (__udivsi3): Remove.
1038 (divmodsi3): Change the name to ___udivsi3.
1041 2003-11-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1043 * libgcc2.c (__negdi2, __addvsi3, __addvdi3, __subvsi3, __subvdi3,
1044 __mulvsi3, __negvsi2, __negvdi2, __mulvdi3, __lshrdi3, __ashldi3,
1045 __ashrdi3, __ffsDI2, __muldi3, __clzDI2, __ctzDI2, __parityDI2,
1046 __udivmoddi4, __divdi3, __moddi3, __cmpdi2, __ucmpdi2,
1047 __fixunstfDI, __fixunsxfDI, __fixunsdfDI, __fixunssfDI,
1048 __floatdixf, __floatditf, __floatdidf, __floatdisf, __gcc_bcmp):
1049 Const-ify and/or initialize automatic variables at declaration.
1051 2003-11-13 Kazu Hirata <kazu@cs.umass.edu>
1053 * config/h8300/lib1funcs.asm (divmodsi4): Replace all the uses
1054 of er4 with er3. Adjust all callers.
1056 2003-11-13 Andrew Pinski <apinski@apple.com>
1058 * config/darwin.c (machopic_output_possible_stub_label):
1059 Allow stub symbol be not defined when outputting possible
1062 2003-11-13 Kazu Hirata <kazu@cs.umass.edu>
1064 * config/h8300/lib1funcs.asm (___udivsi3): Jump to reti
1066 (___umodsi3): Likewise.
1067 (exitdiv): Do not restore any register.
1068 (reti): Restore registers.
1070 2003-11-13 Steven Bosscher <stevenb@suse.de>
1072 * tree-inline.c (walk_tree): Handle PLACEHOLDER_EXPR.
1074 2003-11-13 Kazu Hirata <kazu@cs.umass.edu>
1076 * config/h8300/lib1funcs.asm: Fix comment typos.
1078 2003-11-13 Kazu Hirata <kazu@cs.umass.edu>
1080 * config/h8300/lib1funcs.asm (udivsi3): Don't save/restore
1081 unused registers. Don't jump to exitdiv.
1082 (umodsi3): Likewise.
1084 2003-11-13 Mark Mitchell <mark@codesourcery.com>
1085 Kean Johnston <jkj@sco.com>
1088 * toplev.c (check_global_declarations): Do not warn about unused
1091 2003-11-13 Pavel Pisa <pisa@cmp.felk.cvut.cz>
1092 Kazu Hirata <kazu@cs.umass.edu>
1094 * config/h8300/lib1funcs.asm (DenHighNonZero): Optimize using
1095 the approximate quotient method.
1097 2003-11-13 Richard Earnshaw <rearnsha@arm.com>
1099 * combine.c (distribute_notes): When re-distributing the notes from
1100 an insn we are about to delete, ensure we can't end up with a cyclic
1103 2003-11-13 Eric Botcazou <ebotcazou@libertysurf.fr>
1105 PR optimization/12926
1106 * expr.c (expand_assignment) [COMPONENT_REF]: Don't put
1107 the UNCHANGING_RTX_P flag on memory references to read-only
1108 components that are not addressable.
1110 2003-11-12 Kazu Hirata <kazu@cs.umass.edu>
1112 * config/h8300/lib1funcs.asm (divmodsi4): Clear S0P in
1115 2003-11-13 Jan Hubicka <jh@suse.cz>
1118 * c-decl.c (finish_decl): Use change_decl_assembler_name.
1119 * c-pragma.c (handle_pragma_redefine_extname): Likewise.
1120 * varasm.c (make_decl_rtl): Likewise.
1121 * cgraph.c (change_decl_assembler_name): New function.
1122 * tree.h (set_decl_assembler_name): Kill dead declaration.
1123 (change_decl_assembler_name): Declare.
1125 * decl.c (make_rtl_for_nonlocal_decl): Use change_decl_assembler_name.
1126 * decl2.c (make_rtl_for_nonlocal_decl): Use change_decl_assembler_name.
1128 2003-11-12 Kazu Hirata <kazu@cs.umass.edu>
1130 * config/h8300/lib1funcs.asm (___mulsi3): Don't save/restore
1133 2003-11-12 Richard Sandiford <rsandifo@redhat.com>
1136 * config/mips/t-iris6 (MULTILIB_OPTIONS): Put -mabi=n32 first.
1137 (MULTILIB_OSDIRNAMES): Reorder accordingly.
1139 2003-11-12 Janis Johnson <janis187@us.ibm.com>
1141 * rs6000-protos.h (rs6000_initial_elimination_offset): Add.
1142 (rs6000_stack_info): Remove. (debug_stack_info): Remove.
1143 (rs6000_emit_eh_reg_restore): Add
1144 * rs6000.c (rs6000_stack_t): Move from rs6000.h, change data type
1145 of vars_size and total_size to HOST_WIDE_INT.
1146 (emit_frame_save): Change parameter size to HOST_WIDE_INT.
1147 (rs6000_stack_info): Make static; change data size to HOST_WIDE_INT.
1148 (debug_stack_info): Make static; change output format of HOST_WIDE_INT
1150 (rs6000_emit_eh_reg_restore): New, with code formerly in rs6000.md.
1151 (rs6000_initial_elimination_offset): New, with code formerly in
1152 INITIAL_ELIMINATION_OFFSET.
1153 * rs6000.h (rs6000_stack_t): Remove.
1154 (INITIAL_ELIMINATION_OFFSET): Replace code with call to function
1155 rs6000_initial_elimination_offset.
1156 * rs6000.md (UNSPECV_EH_RR split): Replace code with call to
1157 rs6000_emit_eh_reg_restore.
1159 2003-11-12 Mike Stump <mrs@apple.com>
1161 * c-typeck.c (c_convert_parm_for_inlining): Add argnum, which
1162 is the argumnt we are processing so that warnings and errors
1163 will have that information.
1164 * c-tree.h (c_convert_parm_for_inlining): Add argnum.
1166 (lhd_tree_inlining_convert_parm_for_inlining): Likewse.
1167 * langhooks.c (lhd_tree_inlining_convert_parm_for_inlining): Likewise.
1168 * langhooks.h (convert_parm_for_inlining): Likewise.
1169 * tree-inline.c (initialize_inlined_parameters): Compute and
1172 2003-11-12 Alexey Starovoytov <alexey.starovoytov@sun.com>
1173 Roger Sayle <roger@eyesopen.com>
1175 PR optimization/12953
1176 * tree-inline.c (inline_forbidden_p_1): Added check for BUILT_IN
1177 before switch by FUNCTION_CODE.
1179 2003-11-12 Richard Earnshaw <rearnsha@arm.com>
1181 * arm.md (storehi): Avoid use of explicit subreg.
1182 (storehi_bigend, storeinthi, movhi_bigend): Likewise.
1184 2003-11-12 J"orn Rennecke <joern.rennecke@superh.com>
1186 * config/sh/sh.md (prefetch): New pattern.
1188 2003-11-11 Eric Christopher <echristo@redhat.com>
1190 * reload1.c (reload): Verify that addresses for
1191 reg_equiv_* are valid for the architecture.
1193 2003-11-11 Eric Christopher <echristo@redhat.com>
1195 * function.c (purge_addressof_1): Add libcall check.
1196 Remove test for cached replacements on fallback case.
1197 Simplify mode comparisons. Add libcall test for
1198 paradoxical subregs.
1200 2003-11-11 Kazu Hirata <kazu@cs.umass.edu>
1202 * config/h8300/t-h8300: Fix an obsolete comment.
1204 2003-11-11 James E Wilson <wilson@specifixinc.com>
1206 * expmed.c (store_bit_field, extract_bit_field): Revert last two
1209 2003-11-11 Kazu Hirata <kazu@cs.umass.edu>
1211 * config/h8300/lib1funcs.asm: Replace DenHighZero with
1214 2003-11-11 Jan Hubicka <jh@suse.cz>
1216 * cgraphunit.c (cgraph_function_possibly_inlined_p): Use
1219 2003-11-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1221 * pa.h (TRAMPOLINE_TEMPLATE): Fix flushing of cache lines when
1222 generating 64-bit code.
1224 2003-11-10 David Edelsohn <edelsohn@gnu.org>
1226 * config/rs6000/rs6000.c (legitimate_lo_sum_address_p): Remove
1227 accidental commit in previous change.
1229 2003-11-10 Fariborz Jahanian <fjahanian@apple.com>
1231 * config/rs6000/rs6000.h (STACK_SIZE_MODE): Add definition.
1232 * config/rs6000/rs6000.c (reg_or_mem_operand): Add macho-style
1233 address recognition.
1234 (macho_lo_sum_memory_operand): Routine to recognize macho-style
1235 address recognition.
1237 2003-11-10 Richard Henderson <rth@redhat.com>
1239 * dwarf2out.c (gen_label_die): Cope with DECL_RTL not set.
1241 2003-11-10 Matt Austern <austern@apple.com>
1243 * config/darwin-protos.h (darwin_assemble_visibility): Declare.
1244 * config/darwin.c (darwin_assemble_visibility): Define. Warn for
1245 anything other than VISIBILITY_DEFAULT and VISIBILITY_HIDDEN.
1246 * config/darwin.h (TARGET_ASM_ASSEMBLE_VISIBILITY): Use
1247 darwin_assemble_visibility instead of default.
1249 2003-11-10 Waldek Hebisch <hebisch@math.uni.wroc.pl>
1252 * config/sparc/sparc.c (sparc_initialize_trampoline): Call
1253 __enable_execute_stack only after writing onto the stack.
1254 (sparc64_initialize_trampoline): Likewise.
1256 2003-11-09 Roger Sayle <roger@eyesopen.com>
1258 * loop.c (check_dbra_loop): Try swapping the comparison operands
1259 of the loop condition to identify a suitable induction variable.
1260 * unroll.c (loop_iterations): Likewise.
1262 2003-11-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1264 * config/sparc/sparc.h (TARGET_CPU_CPP_BUILTINS): Fix sparc vs
1265 sparc64 #cpu and #machine assertions.
1267 2003-11-09 Richard Henderson <rth@redhat.com>
1269 * Makefile.in (rtlanal.o): Depend on BASIC_BLOCK_H.
1271 2003-11-09 Jan Hubicka <jh@suse.cz>
1273 * tree-optimize.c (tree_rest_of_compilation): Fix warning.
1275 * cgraphunit.c (cgraph_expand_function): Use
1276 cgraph_possibly_inlined_p.
1277 * tree-optimize.c (tree_rest_of_compilation): Do not kill saved tree.
1279 * opts.c (common_handle_option): Do not set max-inline-insns.
1280 * params.def: Update comments.
1281 (PARAM_MAX_INLINE_INSNS): Kill.
1282 * invoke.texi (max-inline-insns): Kill.
1284 2003-11-08 Joseph S. Myers <jsm@polyomino.org.uk>
1288 * c-format.c (set_Wformat): Do not enable -Wformat-y2k by default.
1289 * invoke.texi: Update.
1291 2003-11-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1293 PR optimization/12630
1294 * pa.c (compute_movstrsi_length): Rename to compute_movstr_length.
1295 Handle length computation 64-bit moves.
1296 (compute_clrstr_length, output_block_clear): Implement block clear.
1297 (output_block_move): Handle 64-bit moves.
1298 (pa_adjust_insn_length): Use compute_movstr_length and
1299 compute_clrstr_length.
1300 * pa.md (movstrsi): Revise operand order and comments. Don't use
1302 (movstrsi_internal): Delete.
1303 (movstrsi_prereload, movstrsi_postreload): New insns. Define splitter
1304 and peephole2 patterns to transform prereload to postreload form.
1305 (movstrdi, movstrdi_prereload, movstrdi_postreload, clrstrsi,
1306 clrstrsi_prereload, clrstrsi_postreload, clrstrdi, clrstrdi_prereload,
1307 clrstrdi_postreload): New patterns for 64-bit block move, and block
1309 * pa-protos.h (output_block_clear): New prototype.
1311 2003-11-08 Andreas Schwab <schwab@suse.de>
1313 * dbxout.c (current_file): Also wrap inside DBX_DEBUGGING_INFO ||
1314 XCOFF_DEBUGGING_INFO.
1316 2003-11-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1318 * dbxout.c (current_file): Wrap declaration in DBX_USE_BINCL.
1320 2003-11-07 Geoffrey Keating <geoffk@apple.com>
1322 * config/rs6000/rs6000.c (rs6000_legitimize_address): Remove
1325 * cppfiles.c (pch_open_file): New parameter 'invalid_pch', set it.
1326 (find_file_in_dir): Likewise.
1327 (_cpp_find_file): Print message if no header file is found
1328 but an invalid PCH file was.
1330 2003-11-08 Joseph S. Myers <jsm@polyomino.org.uk>
1332 * c-typeck.c (pedantic_lvalue_warning): Deprecate compound
1333 expressions as lvalues.
1334 (internal_build_compound_expr): Remove special handling for
1336 * doc/extend.texi: Document that all extended lvalues are now
1339 2003-11-07 Geoffrey Keating <geoffk@apple.com>
1342 * dbxout.c (struct dbx_file): Do not save for PCH.
1343 (current_file): Likewise.
1344 (dbxout_init): Don't allocate struct dbx_file using GC.
1345 (dbxout_start_source_file): Likewise.
1347 2003-11-07 Falk Hueffner <falk@debian.org>
1349 * config/alpha/elf.h, config/alpha/unicosmk.h,
1350 config/alpha/vms.h: Convert to ISO C90.
1352 2003-11-07 Nathanael Nerode <neroden@gcc.gnu.org>
1354 * config/arm/pe.h: Convert to ISO C90.
1356 2003-11-07 J"orn Rennecke <joern.rennecke@superh.com>
1358 * sh-protos.h (sh_pch_valid_p): Declare.
1359 * sh.c ("intl.h"): Include.
1360 (TARGET_PCH_VALID_P): Override.
1361 (sh_target_switches): New variable.
1362 (target_switches): Define.
1363 (sh_pch_valid_p): New function.
1365 * sh.h (MODE_AFTER): Don't change mode unless TARGET_HITACHI.
1367 2003-11-07 Jan Hubicka <jh@suse.cz>
1369 * i386.c (x86_64_sign_extended_value): Return false from tls variables.
1370 (x86_64_zero_extended_value): likewise.
1372 2003-11-07 Richard Sandiford <rsandifo@redhat.com>
1374 * config/mips/mips.md (loadgp): Take $25 as a second operand.
1375 * config/mips/mips.c (mips_expand_prologue): Modify accordingly.
1377 2003-11-06 Matt Austern <austern@apple.com>
1379 * c-common.c (handle_visibility_attribute): Set DECL_VISIBILITY
1380 field instead of hanging an attribute object off the decl.
1381 * tree.h (DECL_VISIBLITY): New accessor macro for
1382 symbol_visibility field in struct tree_decl.
1383 (enum symbol_visibility): Move definition to before tree_decl.
1384 (struct tree_decl): Define new two-bit field, symbol_visibility.
1385 (decl_visibility): Remove declaration.
1386 * varasm.c (maybe_assemble_visibility): Use DECL_VISIBILITY
1387 instead of decl_visibility.
1388 (default_binds_local_p_1): Use DECL_VISIBILITY instead of
1390 (decl_visibility): Remove.
1392 2003-11-06 Ulrich Weigand <uweigand@de.ibm.com>
1394 * config/s390/s390.c (s390_emit_epilogue): Recognize more cases
1395 where register 14 will be saved.
1397 2003-11-06 Geoffrey Keating <geoffk@apple.com>
1399 * config/rs6000/rs6000.h (USE_FP_FOR_ARG_P): Move to rs6000.c.
1400 (USE_ALTIVEC_FOR_ARG_P): Likewise.
1401 * config/rs6000/rs6000.c (USE_FP_FOR_ARG_P): Move from rs6000.h.
1402 Take a pointer as the CUM parameter. Update callers.
1403 (USE_ALTIVEC_FOR_ARG_P): Likewise. Also correct for Darwin/AIX
1405 (function_arg_advance): Use USE_ALTIVEC_FOR_ARG_P. Correct case
1406 of vector parameters as named arguments of stdarg function.
1407 (function_arg): Likewise.
1409 * config/rs6000/darwin.h (ASM_SPEC): Use -force_cpusubtype_ALL when
1410 -maltivec is specified, not the non-existent -faltivec.
1412 2003-11-06 Ulrich Weigand <uweigand@de.ibm.com>
1414 * config/s390/s390-protos.h (s390_function_value): Declare.
1415 * config/s390/s390.c (TARGET_RETURN_IN_MEMORY): Define.
1416 (s390_return_in_memory): New function.
1417 (s390_function_value): New function.
1418 (s390_function_arg_float): Return false for all arguments larger
1420 (s390_function_arg_pass_by_reference): Likewise. Return true for
1421 all vector arguments.
1422 (s390_function_arg_integer): New function.
1423 (s390_function_arg_advance): Call it. Add sanity checks.
1424 (s390_function_arg): Likewise.
1425 * config/s390/s390.h (FUNCTION_VALUE): Call s390_function_value.
1426 (LIBCALL_VALUE): Likewise.
1428 (RETURN_IN_MEMORY): Remove.
1430 2003-11-06 Richard Sandiford <rsandifo@redhat.com>
1432 * config/mips/mips-protos.h (mips_initial_elimination_offset): Change
1433 return type to HOST_WIDE_INT.
1434 * config/mips/mips.c (mips_frame_info): Give sizes type HOST_WIDE_INT.
1435 Make initialized a bool. Make register masks unsigned ints.
1436 (compute_frame_size): Make same mask change here. Use HOST_WIDE_INT
1438 (mips_initial_elimination_offset): Return a HOST_WIDE_INT.
1439 (mips_output_function_prologue): Print sizes as HOST_WIDE_INTs.
1441 2003-11-06 Richard Sandiford <rsandifo@redhat.com>
1443 * config/frv/frv.c (frv_initial_elimination_offset): Remove bogus
1446 2003-11-06 Richard Sandiford <rsandifo@redhat.com>
1448 * config/frv/frv.h (ASM_OUTPUT_ALIGN_WITH_NOP): Define.
1450 2003-11-06 Momchil Velikov <velco@fadata.bg>
1452 * config/mips/mips.c (override_options): Set MASK_SOFT_FLOAT
1455 2003-11-06 Jan Hubicka <jh@suse.cz>
1457 * builtins.c (simplify_builtin_strrchr, simplify_builtin_strpbrk): Add
1460 2003-11-06 Zack Weinberg <zack@codesourcery.com>
1462 * genmodes.c: Change the word "bitsize" to "precision" throughout.
1463 * machmode.def: Likewise.
1464 * machmode.h (GET_MODE_SIZE): Cast value to unsigned short.
1465 (GET_MODE_BITSIZE): Define as GET_MODE_SIZE * BITS_PER_UNIT.
1466 (GET_MODE_PRECISION): New macro.
1467 (mode_bitsize): Renamed mode_precision.
1468 * stor-layout.c (mode_for_size, smallest_mode_for_size):
1469 Use GET_MODE_PRECISION; clarify comments.
1471 2003-11-05 Joseph S. Myers <jsm@polyomino.org.uk>
1473 * doc/install-old.texi: Remove old documentation of building
1475 * doc/install.texi: Move some of it to here.
1477 2003-11-05 Per Bothner <pbothner@apple.com>
1479 PR preprocessor/12891
1480 * c-opts.c (finish_options): Set include_cursor to disable premature
1481 calls to push_command_line_include from cpp_scan_nooutput.
1482 Fixes bug reported by DJ Delorie.
1484 2003-11-05 Geoffrey Keating <geoffk@apple.com>
1486 * config/rs6000/rs6000.c (setup_incoming_varargs): Remove
1487 code supporting old-style varargs.
1489 * config/rs6000/rs6000.c (rs6000_machopic_legitimize_pic_address): Use
1490 an intermediate register for better optimisation.
1492 2003-11-05 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1494 PR optimization/10080
1495 * cfgloopanal.c (variable_initial_value, variable_initial_values,
1496 simple_loop_exit_p): Record the fact that initial value is extended
1498 (count_strange_loop_iterations, count_loop_iterations): Handle
1499 ivs that iterate in a narrower mode. Fix handling of overflows.
1500 Improve handling of NE conditions.
1501 (inverse, fits_in_mode_p): New static functions.
1502 (simple_increment): Detect variables that iterate in a narrower mode.
1503 * cfgloop.h (struct loop_desc): Fields inner_mode and extend added.
1505 2003-11-05 Geoffrey Keating <geoffk@apple.com>
1507 * config/rs6000/rs6000.c (compute_vrsave_mask): Correct off-by-one
1510 * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Darwin
1513 2003-11-05 Joseph S. Myers <jsm@polyomino.org.uk>
1515 * c-typeck.c (pedantic_lvalue_warning): Deprecate use of
1516 conditional expressions as lvalues.
1518 2003-11-05 Kazu Hirata <kazu@cs.umass.edu>
1520 * tsystem.h: Add the prototype of strlen.
1521 * unwind-pe.h (read_encoded_value_with_base): Add an
1522 appropriate cast to handle a case where the pointer size is
1523 smaller than sizeof (int).
1525 2003-11-04 Richard Sandiford <rsandifo@redhat.com>
1527 * config/mips/mips-protos.h (mips_global_pic_constant_p): Delete.
1528 (mips_delegitimize_address): Delete.
1529 (mips_gotoff_global, mips_load_got_page): Declare.
1530 (mips_load_got_global, mips_rewrite_small_data): Declare.
1532 * config/mips/mips.h (FIND_BASE_TERM): Remove definition.
1533 (DANGEROUS_FOR_LA25_P): Use global_got_operand.
1534 (PREDICATE_CODES): Add global_got_operand, local_got_operand and
1535 small_data_pattern. Remove CONST from const_arith_operand's entry.
1537 * config/mips/mips.c (UNSPEC_ADDRESS_P, CONST_GP_P): New macros.
1538 (UNSPEC_ADDRESS, UNSPEC_ADDRESS_TYPE): Likewise.
1539 (mips_constant_type): Delete.
1540 (mips_symbol_type): Add SYMBOL_GOTOFF_PAGE, SYMBOL_GOTOFF_GLOBAL,
1541 SYMBOL_GOTOFF_CALL and SYMBOL_GOTOFF_LOADGP.
1542 (NUM_SYMBOL_TYPES): New macro.
1543 (mips_address_type): Remove ADDRESS_INVALID.
1544 (machine_function): Add has_gp_insn_p.
1545 (mips_constant_info): Delete.
1546 (mips_address_info): Add the address type as an extra field. Replace
1547 the c field with symbol_type.
1548 (mips_split_p, mips_lo_relocs, mips_hi_relocs): New arrays.
1549 (TARGET_DELEGITIMIZE_ADDRESS): Remove definition.
1550 (mips_reloc_offset_ok_p, mips_classify_constant): Delete.
1551 (mips_split_const, mips_symbolic_constant_p): New functions.
1552 (mips_symbolic_address_p): Take the symbol type and mode as arguments.
1553 (mips_classify_address): Return true if the address is valid, storing
1554 its type in INFO. Use mips_symbolic_constant_p. Use mips_lo_relocs[]
1555 to test whether a LO_SUM address is allowed.
1556 (mips_symbol_insns): Return 0 for general mips16 symbols.
1557 Reorder SYMBOL_GOT_GLOBAL case to match mips_symbol_type definition.
1558 Handle the new SYMBOL_GOTOFF_*s.
1559 (mips_address_insns): Update call to mips_classify_address.
1560 (mips_const_insns): Be more fussy about HIGH constants. Remove use
1561 of mips_classify_constant. Be more accurate about CONSTs.
1562 (mips_global_pic_constant_p): Delete.
1563 (const_arith_operand): Only accept CONST_INTs.
1564 (call_insn_operand): Remove call to mips_classify_constant.
1565 Let mips_symbolic_constant_p check for invalid offsets.
1566 (move_operand): Check for general_operands first. Only accept symbolic
1567 constants if they satisfy mips_symbolic_constant_p and cannot be split.
1568 (symbolic_constant): Use mips_symbolic_constant_p.
1569 (global_got_operand, local_got_operand): New predicates.
1570 (stack_operand): Update call to mips_classify_address.
1571 (mips_legitimate_address_p): Likewise.
1572 (mips_reloc, mips_lui_reloc): Delete.
1573 (mips_force_temporary): Only use the given temporary if no_new_pseudos.
1575 (mips_split_symbol, mips_unspec_address): New functions.
1576 (mips_unspec_offset_high): New function.
1577 (mips_load_got): Replace reloc argument with a symbol_type.
1578 Use mips_unspec_address to create the address and put it in a
1579 LO_SUM with the base register.
1580 (mips_load_got16, mips_load_got32): Delete.
1581 (mips_emit_high, mips_legitimize_symbol): Delete.
1582 (mips_gotoff_global): New function.
1583 (mips_load_got_page, mips_load_got_global): New functions.
1584 (mips_legitimize_symbol): Inline handling of LO_SUM splits.
1585 (mips_legitimize_const_move): Likewise. Remove HIGH handling.
1586 Inline code to handle constants plus invalid offsets. Use
1587 mips_split_symbol to legitimize constant pool addresses.
1588 (mips_delegitimize_address): Delete.
1589 (mips_rtx_costs): Give legitimate symbolic constants and CONST_DOUBLEs
1590 a cost of 1 insn. Give the rest a cost of CONSTANT_POOL_ADDRESS.
1591 (mips_subword): Pass memrefs through mips_rewrite_small_data.
1592 (mips_output_move): Remove use of mips_classify_constant.
1593 (mips_expand_call): Use mips_unspec_offset_high to calculate the
1594 high part of the GOT address for calls to global functions.
1595 (override_options): Initialize mips_split_p[], mips_lo_relocs[]
1596 and mips_hi_relocs[].
1597 (print_operand): Use print_operand_reloc to handle '%h' and '%R'.
1598 Remove use of mips_classify_constant.
1599 (mips_reloc_string): Delete.
1600 (print_operand_reloc): New function.
1601 (print_operand_address): Update call to mips_classify_address.
1602 (mips_rewrite_small_data_p, small_data_pattern_1): New functions.
1603 (small_data_pattern): New predicate.
1604 (mips_rewrite_small_data_1, mips_rewrite_small_data): New functions.
1605 (mips_function_has_gp_insn): New function.
1606 (mips_global_pointer): Use it.
1607 (mips_gp_insn): Delete.
1608 (mips_expand_prologue): When compiling for n32/n64 abicalls, use a
1609 single loadgp pattern to initialize $gp. Pass it the offset of _gp
1610 from the start of the current function.
1611 (mips16_gp_pseudo_reg): Revert last patch.
1613 * config/mips/mips.md (RELOC_*): Delete.
1614 (UNSPEC_LOADGP, UNSPEC_FIRST_ADDRESS): New constants.
1615 (got): New insn attribute.
1616 (type): Set to "load" if got == load.
1617 (length): Set to 4 if got == load, 8 if got == xgot_high.
1619 (*xgot_hi[sd]i, *xgot_lo[sd]i): New patterns.
1620 (*got_disp[sd]i, *got_page[sd]i): Likewise.
1621 (*low[sd]i): Change constraints to "d". Add a new define_split to
1622 rewrite small data constants into LO_SUMs.
1623 (loadgp): New insns.
1625 2003-11-04 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1627 * config/mips/_tilib.c: Use _ABI* in _MIPS_SIM tests.
1629 2003-11-04 DJ Delorie <dj@redhat.com>
1631 * config/v850/v850.md (mulhisi3): Expand the const_int case
1632 separately to avoid trying to sign extend the const.
1634 2003-11-04 Richard Sandiford <rsandifo@redhat.com>
1636 * emit-rtl.c (copy_rtx_if_shared): Don't allow MEMs with constant
1637 addresses to be shared.
1638 (force_const_mem): Return a copy of the pool entry.
1640 2003-11-03 Andreas Jaeger <aj@suse.de>
1642 * Makefile.in (GCC_CFLAGS): Remove @WERROR@ again.
1644 2003-11-03 Kelley Cook <kcook@gcc.gnu.org>
1646 * Makefile.in (cpp.dvi): New target split from cpp.info.
1647 (gcc.dvi): New target split from gcc.info.
1648 (gccint.dvi): New target split from gccint.info.
1649 (cppinternals.dvi): New target split from cppinternals.info
1650 (gccinstall.info): New specific rule.
1651 (gccinstall.dvi): Likewise.
1652 (dvi): Move targets to $(docobjdir).
1653 ($(docobjdir)/%.dvi): New implicit rule.
1655 2003-11-03 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1657 * doc/gty.texi (tag, desc): Say more about role of desc values in
1658 selecting between tags.
1660 2003-11-03 Alexander Kabaev <ak03@gte.com>
1662 * real.c (encode_ieee_single): Ensure proper promotion.
1664 2003-11-03 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
1666 * doc/contrib.texi: Add Giovanni Bajo, Dara Hazeghi, Falk Hueffner,
1669 2003-11-03 Syd Polk <spolk@apple.com>
1671 * config/rs6000/rs6000.c (rs6000_override_options): Add G3, G4, and G5
1672 marketing names to the list of supported processors.
1673 * config/rs6000/rs6000.h: Ditto.
1674 * doc/invoke.texi: Ditto.
1675 * config.gcc: Ditto.
1677 2003-11-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1679 * fixinc/inclhack.def (stdio_va_list): Allow tab before va_list.
1680 Merge two substitutions.
1681 * fixinc/fixincl.x: Regenerate.
1682 Fixes PR bootstrap/12666.
1684 2003-11-03 Joseph S. Myers <jsm@polyomino.org.uk>
1686 * doc/install-old.texi: Remove VMS documentation.
1688 2003-11-03 Jan Hubicka <jh@suse.cz>
1690 * i386.c (override_options): Remove hack enabling 128bit long double
1691 commited by accident.
1693 2003-11-02 Per Bothner <per@bothner.com>
1695 * c-opts.c (needValue): Do cpp_find_main_file before processing
1696 any imacros flags, so pfile->main_file is set for the latter.
1698 2003-11-03 Andreas Jaeger <aj@suse.de>
1699 Zack Weinberg <zack@codesourcery.com>
1701 * Makefile.in (GCC_CFLAGS): Allow blacklisting of warnings.
1702 (SYSCALLS.c.X-warn): Suppress warnings.
1704 2003-11-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1706 PR optimization/12845
1707 * pa.c (output_cbranch): Use cmpb for DImode comparisons with 0.
1709 2003-11-02 Zack Weinberg <zack@codesourcery.com>
1711 * print-rtl.c (print_rtx): Call PRINT_REG with second argument -1.
1712 * config/i386/i386.c (print_reg): Abort on a virtual register
1713 if code != -1; not if file == asm_out_file.
1714 * config/i386/i386.h (PRINT_REG): Document meaning of CODE == -1.
1715 (DEBUG_PRINT_REG): Delete, unused.
1717 2003-11-02 Andreas Schwab <schwab@suse.de>
1719 * config/ia64/fde-glibc.c (_GNU_SOURCE): Define to 1 instead of
1720 empty to avoid conflict with the definition from configure.
1722 2003-11-02 Roger Sayle <roger@eyesopen.com>
1724 PR optimization/10817
1725 * ifcvt.c (noce_emit_move_insn): Improve documentation comment.
1726 (noce_try_move): New function to optimize an if-the-else into an
1727 unconditional move, i.e. "if (a!=b) x=a; else x=b" into "x=a".
1728 (noce_process_if_block): Attempt simplification with noce_try_move.
1730 * simplify-rtx.c (simplify_ternary_operation): Some minor fixes
1731 and improvements to the optimizations of IF_THEN_ELSE expressions.
1732 (simplify_subreg): Silence signed/unsigned comparison warning.
1734 2003-11-02 Richard Sandiford <rsandifo@redhat.com>
1736 * Makefile.in (targhooks.o, reload.o): Update dependencies.
1737 (GTFILES): Add targhooks.c.
1738 (gt-targhooks.h): New rule; depend on s-gtype.
1739 * target.h (direct_pool_load_p): New hook.
1740 * target-def.h (TARGET_DIRECT_POOL_LOAD_P): New macro.
1741 (TARGET_INITIALIZER): Include it.
1742 * targhooks.h (default_direct_pool_load_p): Declare.
1743 (hook_bool_machine_mode_true): Declare.
1744 * targhooks.c: Include insn-config.h, recog.h, ggc.h and
1746 (pool_symbol): New variable.
1747 (default_direct_pool_load_p): New function.
1748 (hook_bool_machine_mode_true): New function.
1749 * reload.c: Include target.h.
1750 (find_reloads): If an alternative will force a constant into memory,
1751 count an extra reload if constant pool symbols are not valid
1752 addresses. If an alternative uses memory to move values between
1753 registers, count the move as two reloads rather than one.
1754 * config/s390/s390.c (TARGET_DIRECT_POOL_LOAD_P): Define.
1755 * doc/tm.texi (TARGET_DIRECT_POOL_LOAD_P): Document.
1757 2003-11-02 Eric Botcazou <ebotcazou@libertysurf.fr>
1759 PR optimization/12799
1760 * postreload.c (reload_cse_move2add): Generate the add2
1763 2003-11-02 Eric Botcazou <ebotcazou@libertysurf.fr>
1765 * config/sparc/sparc.c (function_arg_partial_nregs) [TARGET_ARCH64]:
1766 Return 0 for all complex modes whose size is lesser or equal to
1767 a word. Add a ??? comment for the condition used with 16-byte
1770 2003-11-01 Kelley Cook <kcook@gcc.gnu.org>
1772 * .cvsignore: Remove c-parse* and tradcif.c.
1773 * objc/.cvsignore: Delete.
1775 2003-11-01 Roger Sayle <roger@eyesopen.com>
1777 * unwind-sjlj.c (_Unwind_GetCFA): Return (_Unwind_Word)0 instead
1780 2003-11-01 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1782 * som.h (DO_GLOBAL_DTORS_BODY): Change to C90 declaration.
1784 * libgcc2.c (SYMBOL__MAIN): Provide C90 declaration.
1786 * collect2.c (scan_libraries): Fix typos.
1788 PR preprocessor/12847
1789 * cppfiles.c, cppexp.c, cpperror.c, cpplib.h, cpplib.c, cpplex.c,
1790 cppinit.c, cpptrad.c, cppmacro.c, fix-header.c, cpppch.c, c-pch.c,
1791 c-incpath.c, cppcharset.c (DL_WARNING, DL_WARNING_SYSHDR, DL_PEDWARN,
1792 DL_ERROR, DL_ICE, DL_EXTRACT, DL_WARNING_P): Prefix macro names with
1795 2003-11-01 Fariborz Jahanian <fjahanian@apple.com>
1797 * config/rs6000/rs6000.c (rs6000_mixed_function_arg): Correct
1798 no_units calculation.
1800 2003-11-01 Andreas Jaeger <aj@suse.de>
1802 * unwind-dw2.c (_Unwind_FrameState): Remove commas at end of
1805 2003-11-01 Andreas Schwab <schwab@suse.de>
1807 * config/ia64/sysv4.h (SDATA_SECTION_FUNCTION): Update to C90
1809 (SBSS_SECTION_FUNCTION): Likewise.
1811 2003-11-01 Andreas Jaeger <aj@suse.de>
1813 * Makefile.in (GCC_CFLAGS): Add @WERROR@ for target files.
1815 2003-11-01 Andreas Tobler <a.tobler@schweiz.ch>
1817 * config/rs6000/sysv4.h (EXTRA_SECTION_FUNCTIONS): Update to C90
1820 2003-11-01 Andreas Jaeger <aj@suse.de>
1822 * unwind-dw2.c (_Unwind_FindEnclosingFunction): Constify variable.
1823 (uw_frame_state_for): Constify variables.
1824 (extract_cie_info): Constify first argument.
1826 * unwind-dw2-fde-darwin.c: Adjust prototype of
1827 _Unwind_Find_registered_FDE for recent changes.
1828 (examine_objects): Constify return value and local variable result.
1829 (_Unwind_Find_FDE): Constify return value and local variable ret.
1831 2003-10-31 Per Bothner <pbothner@apple.com>
1833 * c-opts.c (finish_options): Change to returns boolean - false iff
1834 the call to cpp_find_main_file fails.
1835 (c_common_init): Skip preprocess_file if finish_options failed.
1836 (c_common_parse_file): Break if finish_options failed.
1837 Fixes PR preprocessor/12545.
1839 2003-10-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1841 * aclocal.m4: Blacklist ultrix* for mmap file.
1842 * configure: Rebuilt.
1844 * function.c (assign_parms): Add ATTRIBUTE_UNUSED to variable
1845 reg_parm_stack_space.
1846 * toplev.c (default_get_pch_validity): Fix warning.
1848 * vax.c: Include toplev.h.
1849 (vax_init_libfuncs): Fix typo (umod).
1850 * vax.h (ASM_COMMENT_START): Define.
1851 (PRINT_OPERAND): Fix warning when HOST_WIDE_INT is a long long.
1853 2003-10-31 Roger Sayle <roger@eyesopen.com>
1856 * expr.c (expand_expr <MULT_EXPR>): Remove inappropriate and
1857 confusing comment; distributivity isn't handled in expand_expr.
1858 * fold-const.c (extract_muldiv_1 <PLUS_EXPR>): Allow overflow
1859 in distributivity, if wrap-around semantics are specified with
1862 2003-11-01 Alan Modra <amodra@bigpond.net.au>
1865 * final.c (profile_function): Allow for NULL svrtx.
1867 2003-10-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1869 * pa.c (pa_select_section): Use new style declaration.
1870 * som.h (readonly_data): Likewise.
1872 2003-10-31 Kelley Cook <kcook@gcc.gnu.org>
1874 * config/rs6000/rs6000.c: Update to C90 prototypes.
1876 2003-10-31 Richard Earnshaw <rearnsha@arm.com>
1879 * arm.h (CONDITIONAL_REGISTER_USAGE): Disable use of LR in Thumb
1882 2003-10-31 Andreas Jaeger <aj@suse.de>,
1883 Zack Weinberg <zack@codesourcery.com>
1886 * crtstuff.c (__register_frame_info, __register_frame_info_bases)
1887 (__deregister_frame_info, __deregister_frame_info_bases):
1888 Constify void * argument.
1889 * unwind-dw2-fde.h (struct fde_vector):
1890 Constify 'orig_data' and 'array' fields.
1891 (__register_frame_info, __register_frame_info_bases)
1892 (__deregister_frame_info, __deregister_frame_info_bases):
1893 Constify void * argument.
1894 (get_cie, next_fde, _Unwind_Find_FDE): Constify arguments,
1895 return values, and casts of type fde *, struct dwarf_fde *,
1896 and struct dwarf_cie *.
1897 * unwind-dw2-fde.c (__register_frame_info, __register_frame_info_bases)
1898 (__deregister_frame_info, __deregister_frame_info_bases):
1899 Constify void * argument.
1900 (get_cie_encoding, ): Constify struct dwarf_cie * argument.
1901 (get_fde_encoding, fde_unencoded_compare, fde_single_encoding_compare)
1902 (fde_mixed_encoding_compare, fde_compare_t, start_fde_sort, fde_insert)
1903 fde_split, SWAP, frame_downheap, frame_heapsort)
1904 (classify_object_over_fdes, add_fdes, linear_search_fdes,
1905 binary_search_unencoded_fdes, binary_search_single_encoding_fdes,
1906 binary_search_mixed_encoding_fdes, search_object, _Unwind_Find_FDE):
1907 Constify arguments, local variables, return values, and casts
1908 of type fde *, fde **, struct dwarf_fde *, and struct dwarf_cie *.
1909 Use const pointer types in sizeof expressions, for clarity.
1910 * unwind-dw2-fde-glibc.c
1911 (_Unwind_find_registered_FDE, _Unwind_find_FDE): Constify return value.
1912 (struct unw_eh_callback_data): Constify 'ret' field.
1914 2003-10-31 Fariborz Jahanian <fjahanian@apple.com>
1915 David Edelsohn <edelsohn@gnu.org>
1917 * config/rs6000/rs6000.c (rs6000_mixed_function_arg): New.
1918 (function_arg): Call it.
1919 (rs6000_function_value): Widen integral return value to mode based
1920 on TARGET_32BIT, not word_mode.
1921 * config/rs6000/rs6000.h (PROMOTE_MODE): Likewise.
1922 (UNITS_PER_ARG): New.
1923 (RS6000_ARG_SIZE): Use it.
1925 2003-10-31 Gerald Pfeifer <gerald@pfeifer.com>
1927 * .cvsignore: No longer ignore gengtype-lex.c, gengtype-yacc.c,
1928 and gengtype-yacc.h.
1930 2003-10-31 Richard Earnshaw <rearnsha@arm.com>
1932 PR optimization/8896
1933 * postreload.c (reload_combine): Check that REGY doesn't die in an
1934 insn of the form (set (regx) (plus (regx) (regy))), ie REGX != REGY.
1936 2003-10-31 Josef Zlomek <zlomekj@suse.cz>
1939 * cfgrtl.c (delete_insn): Decrease LABEL_NUSES for all REG_LABEL notes.
1941 2003-10-31 Josef Zlomek <zlomekj@suse.cz>
1944 * cfgrtl.c (try_redirect_by_replacing_jump): Move jump
1945 immediatelly before BARRIER.
1947 2003-10-31 Kelley Cook <kcook@gcc.gnu.org>
1949 * Makefile.in (STRICT2_WARN): Add -Wold-style-definition.
1951 2003-10-31 Richard Earnshaw <rearnsha@arm.com>
1954 * reload.c (find_reloads_address): Handle any register in
1955 (PLUS (PLUS (REG) (REG)) (CONST_INT).
1957 2003-10-31 Richard Earnshaw <rearnsha@arm.com>
1959 * ggc-page.c (ggc_pch_read): Wrap call to poison_pages in
1960 ENABLE_GC_CHECKING not in GGC_POISON.
1962 2003-10-31 Nathanael Nerode <neroden@gcc.gnu.org>
1965 * configure.in: Bail out if awk is missing.
1966 * configure: Regenerate.
1969 * Makefile.in: Move default definitions of X_ADA_CFLAGS,
1970 T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS from ada/Make-lang.in to here.
1972 2003-10-30 Richard Henderson <rth@redhat.com>
1974 * c-objc-common.c (c_tree_printer): Handle types correctly.
1977 2003-10-30 Kelley Cook <kcook@gcc.gnu.org>
1979 * value-prof.c, web.c: Update to C90.
1981 2003-10-30 Eric Christopher <echristo@redhat.com>
1983 * function.c (purge_addressof_1): Add case for REG_RETVAL
1984 notes when modes are unequal.
1986 2003-10-31 Jan Hubicka <jh@suse.cz>
1988 * i386-modes.def: Add XFmode format adjustment.
1990 2003-10-30 Jan Hubicka <jh@suse.cz>
1992 * real.c (encode_ieee_extended): Back out previous patch.
1994 2003-10-30 Jan Hubicka <jh@suse.cz>
1996 * real.c (encode_ieee_extended): Initialize whole array.
1997 * reg-stack.c (move_for_stack_reg0: Use always XFmode.
1998 * i386-modes.def: Change definitions of TFmode and XFmode.
1999 * i386.c (classify_argument): Rename TFmodes to XFmodes; add new TFmode
2001 (construct_container): Allow constructing of TFmode integer containers.
2002 (ix86_return_in_memory): XFmode is not returned in memory.
2003 (init_ext_80387_constants): Always use XFmode.
2004 (print_operand): Likewise.
2005 (ix86_prepare_fp_compare_regs): Likewise.
2006 (split_to_parts): Deal with TFmode.
2007 (split_long_move): Simplify.
2008 (ix86_init_mmx_sse_builtins): Add __float80, __float128.
2009 (ix86_memory_move_cost): Do not confuse TFmode.
2010 * i386.h (LONG_DOUBLE_TYPE_SIZE): Set to 96.
2011 (IS_STACK_MODE): TFmode is not stack mode.
2012 (HARD_REGNO_NREGS, CLASS_MAX_NREGS): Deal nicely with XFmode.
2013 (VALID_SSE_REG_MODE): Allow TFmode.
2014 (VALID_FP_MODE_P): Disallow TFmode.
2015 (VALID_INT_MODE_P): Allow TFmode in 64bit mode.
2016 * i386.md (TFmode patterns): Kill.
2017 (movtf, motf_rex64): New patterns.
2019 2003-10-30 Richard Sandiford <rsandifo@redhat.com>
2021 * config/mips/mips.md (adddi3): Fix typo in mips16 stack pointer code.
2023 2003-10-30 Richard Sandiford <rsandifo@redhat.com>
2025 * config/mips/mips.md (mov_lwl): Use memory_operand where appropriate.
2026 (mov_lwr, mov_swl, mov_swr): Likewise.
2027 (mov_ldl, mov_ldr, mov_sdl, mov_sdr): Likewise.
2029 2003-10-30 Richard Sandiford <rsandifo@redhat.com>
2031 * config/mips/mips.c (mips_global_pointer): Don't try to use $25.
2033 2003-10-30 Richard Henderson <rth@redhat.com>
2035 * config/mips/mips.c (mips_build_builtin_va_list): Use runtime
2036 test for irix6 rather than preprocessor test.
2038 2003-10-30 Richard Henderson <rth@redhat.com>
2040 * cppcharset.c (one_utf8_to_utf16): Initialize 's' to silence warning.
2042 2003-10-30 Ulrich Weigand <uweigand@de.ibm.com>
2044 * config/s390/s390.c (struct machine_function): Use save_return_addr_p
2045 as a general flag that the return address register needs to be saved,
2046 not necessarily because of __builtin_return_addr (0).
2047 (s390_split_branches): Remove TEMP_REG and TEMP_USED arguments,
2048 remove special handling of zSeries machines.
2049 (s390_optimize_prolog): Remove TEMP_USED argument, treat the return
2050 register as a regular register on zSeries machines.
2051 (s390_reorg): Adjust calls to s390_split_branches and
2052 s390_optimize_prolog.
2053 (s390_frame_info): On zSeries machines, do not assume the return
2054 register is always used. Update regs_ever_live with current data
2055 for the special registers.
2056 (s390_emit_epilogue): Use save_return_addr_p to determine whether
2057 the return register was saved.
2058 * config/s390/s390.h (CONDITIONAL_REGISTER_USAGE): Do not mark
2059 RETURN_REGNUM fixed on zSeries machines.
2060 (REG_ALLOC_ORDER): Use RETURN_REGNUM last.
2061 * config/s390/s390.md ("*doloop_si"): Handle branch overflow
2062 via ahi-jgne pair on zSeries machines.
2063 ("*doloop_di"): Likewise.
2064 ("*doloop_di_long"): Remove.
2066 2003-10-30 Richard Earnshaw <rearnsha@arm.com>
2068 * arm.c (arm_override_options): Revert change of arm_constant_limit
2069 when optimizing for size.
2071 2003-10-29 Richard Henderson <rth@redhat.com>
2073 * fold-const.c (fold_single_bit_test): Convert the input to the
2074 operational intermediate type.
2076 2003-10-29 Richard Henderson <rth@redhat.com>
2078 * builtins.c (std_build_builtin_va_list): New.
2079 * expr.h (std_build_builtin_va_list): Declare.
2080 * defaults.h (BUILD_VA_LIST_TYPE): New.
2081 * system.h (BUILD_VA_LIST_TYPE): Poison.
2082 * target-def.h (TARGET_BUILD_BUILTIN_VA_LIST): New.
2083 * target.h (struct gcc_target): Add build_builtin_va_list.
2084 * tree.c (build_common_tree_nodes_2): Use it.
2086 * config/alpha/alpha-protos.h, config/alpha/alpha.c,
2087 config/alpha/alpha.h, config/alpha/unicosmk.h,
2088 config/d30v/d30v-protos.h, config/d30v/d30v.c, config/d30v/d30v.h,
2089 config/i386/i386-protos.h, config/i386/i386.c, config/i386/i386.h,
2090 config/i860/i860-protos.h, config/i860/i860.c, config/i860/i860.h,
2091 config/i960/i960-protos.h, config/i960/i960.c, config/i960/i960.h,
2092 config/mips/iris6.h, config/mips/mips-protos.h, config/mips/mips.c,
2093 config/mips/mips.h, config/rs6000/rs6000-protos.h,
2094 config/rs6000/rs6000.c, config/rs6000/rs6000.h,
2095 config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h,
2096 config/sh/sh-protos.h, config/sh/sh.c, config/sh/sh.h,
2097 config/xtensa/xtensa-protos.h, config/xtensa/xtensa.c,
2098 config/xtensa/xtensa.h: Rename foo_build_va_list to
2099 foo_build_builtin_va_list; make it static. Define
2100 TARGET_BUILD_BUILTIN_VA_LIST. Remove BUILD_VA_LIST_TYPE.
2103 * config/i386/i386.c (ix86_expand_carry_flag_compare): Make static.
2104 * config/iq2000/iq2000.h (BUILD_VA_LIST_TYPE): Remove.
2106 2003-10-29 James E Wilson <wilson@specifixinc.com>
2108 * recog.c (asm_operand_ok): Add missing break after case 'X'.
2109 Change if statements to else if statements in default case.
2110 (extract_constrain_insn_cached): Fix misspelling of constrain_operands
2112 (constrain_operands_cached): Likewise.
2113 (constrain_operands): Change if statements to else if statements in
2115 * reload.c (find_reloads): Likewise.
2117 2003-10-29 Richard Henderson <rth@redhat.com>
2119 * config/m68k/m68k.c (notice_update_cc): Clear cc status for
2122 2003-10-30 Alan Modra <amodra@bigpond.net.au>
2124 * config/rs6000/rs6000.md: Remove duplicate pattern.
2126 2003-10-29 Hans-Peter Nilsson <hp@axis.com>
2128 * real.c (do_divide): Initialize result with a 0.
2130 * configure.in <enable-checking for valgrind>: Look for
2131 <valgrind/memcheck.h> first. AC_DEFINE HAVE_VALGRIND_MEMCHECK_H
2133 * configure, config.in: Regenerate.
2134 * ggc-common.c [ENABLE_VALGRIND_CHECKING &&
2135 HAVE_VALGRIND_MEMCHECK_H]: Include <valgrind/memcheck.h>. Use
2136 #elif for other alternatives.
2137 * ggc-page.c: Ditto.
2138 * ggc-zone.c: Don't assume <valgrind/memcheck.h>; instead copy
2139 include structure from ggc-common.c.
2141 2003-10-29 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2143 * pa-linux.h (ASM_OUTPUT_ADDR_VEC_ELT): Use label in big switch ELTs.
2144 (ASM_OUTPUT_ADDR_DIFF_ELT): Use label difference in big switch ELTs.
2145 * pa.c (pa_adjust_insn_length): Check for btable branches using
2146 attribute TYPE_BTABLE_BRANCH.
2147 (pa_reorg): Simplify.
2148 * pa.h (CASE_VECTOR_MODE): Change big switch mode to SImode.
2149 (ASM_OUTPUT_ADDR_VEC_ELT): As above.
2150 (ASM_OUTPUT_ADDR_DIFF_ELT): As above.
2151 * pa.md (btable_branch): New instruction type.
2152 (in_branch_delay, in_nullified_branch_delay, in_call_delay): Disallow
2154 (define_delay): Add btable branches to insn types that may have an
2155 insn in the delay position.
2156 (Z2, Z3): Add btable branch to list.
2157 Simplify unamed pattern set copy pic_label_operand to register. Add
2159 (short_jump): New jump for use in branch tables.
2160 (casesi, casesi0): Revise for new branch table formats.
2161 (casesi32, casesi32p, casesi64p): New casesi patterns.
2162 (indirect_jump): Move.
2164 2003-10-29 David Edelsohn <edelsohn@gnu.org>
2166 * config/rs6000/rs6000.h (UNITS_PER_WORD): Revert to
2168 (UNITS_PER_GPR_WORD): Delete.
2169 (HARD_REGNO_NREGS): Revert to UNITS_PER_WORD.
2170 (HARD_REGNO_MODE_OK): Same.
2171 (CLASS_MAX_NREGS): Same.
2173 2003-10-29 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2175 * pa.h (ASM_COMMENT_START): Define.
2177 2003-10-29 Zack Weinberg <zack@codesourcery.com>
2179 * genmodes.c (complete_mode): Record MODE_CC, MODE_INT,
2180 MODE_FLOAT, and MODE_PARTIAL_INT modes as having one
2181 component, not zero.
2183 2003-10-29 Andreas Schwab <schwab@suse.de>
2185 * config/ia64/t-ia64 (LIB2ADDEH): Add $(srcdir)/gthr-gnat.c.
2187 2003-10-29 Eric Botcazou <ebotcazou@libertysurf.fr>
2189 * config/sparc/sparc.c (function_arg_partial_nregs) [TARGET_ARCH64]:
2190 Never return 1 for complex integral modes whose size is lesser or
2192 (function_arg_pass_by_reference) [TARGET_ARCH64]: Mention CTImode
2194 (function_arg_advance) [TARGET_ARCH64]: Don't special-case complex
2196 (sparc_va_arg) [TARGET_ARCH64]: Handle any types whose size is
2197 greater than 16 bytes by reference.
2199 2003-10-29 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2201 * config/ia64/ia64.c (ia64_assemble_integer): Test POINTER_SIZE,
2203 (ia64_initialize_trampoline): Use globalize_label target call.
2205 2003-10-29 Andreas Schwab <schwab@suse.de>
2207 * doc/install.texi (Building): Add a sentence about building Ada
2208 for a canadian cross.
2210 2003-10-28 Zack Weinberg <zack@codesourcery.com>
2212 * config/ia64/ia64.c (cmptf_libfunc): New static.
2213 (ia64_expand_compare): Add logic to open-code calls to
2214 _U_Qfcmp for TFmode comparisons.
2215 (ia64_hpux_init_libfuncs): Initialize cmptf_libfunc.
2216 Set libfuncs for TFmode eq/ne/gt/ge/lt/gt to 0; these should
2217 never be generated anymore.
2218 * config/ia64/ia64.md (cmptf): New expander.
2220 2003-10-28 Zack Weinberg <zack@codesourcery.com>
2222 * ia64.md (UNSPEC_SETF_EXP,UNSPEC_FR_SQRT_RECIP_APPROX): New constants.
2223 (*sqrt_approx): New instruction pattern for approximate square roots.
2224 (*setf_exp_xf): New instruction pattern for exponentiation.
2225 (*maddxf4_alts_truncsf): New instruction pattern for truncation.
2226 (sqrtsf2_internal_thr): New define_and_split implementing
2227 throughput-optimized inline calculation of SFmode square root.
2228 (sqrtdf2_internal_thr): Likewise for DFmode.
2229 (sqrtxf2_internal_thr): Likewise for XFmode.
2230 (sqrtsf2, sqrtdf2, sqrtxf2): New expanders to choose between
2231 latency- and throughput-optimized square root algorithms.
2232 * ia64.h (MASK_INLINE_SQRT_LAT, MASK_INLINE_SQRT_THR,
2233 TARGET_INLINE_SQRT_LAT, TARGET_INLINE_SQRT_THR, TARGET_INLINE_SQRT):
2235 (TARGET_SWITCHES): Add -minline-sqrt-min-latency and
2236 -minline-sqrt-max-throughput.
2237 * ia64.c (ia64_override_options): If both -minline-sqrt-min-latency
2238 and -minline-sqrt-max-throughput are given, notify the user
2239 that both options cannot be used simultaneously.
2240 If -minline-sqrt-min-latency is given, notify the user that
2241 this mode is not yet implemented.
2242 (rtx_needs_barrier): Reformat initial comment to obey
2243 72-character width limit. Support UNSPEC_SETF_EXP and
2244 UNSPEC_FR_SQRT_RECIP_APPROX.
2246 2003-10-29 Alan Modra <amodra@bigpond.net.au>
2248 * config/rs6000/rs6000.md (movdf_softfloat64): Allow dummy ctr,ctr
2251 2003-10-28 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
2255 * config/rs6000/sysv4.h (PREFERRED_STACK_BOUNDARY): New macro.
2257 2003-10-28 Richard Earnshaw <rearnsha@arm.com>
2259 * arm.c (arm_output_epilogue): When using a frame pointer, don't emit
2260 an extra stack adjustment insn if the stack pointer is already
2261 pointing at the right place.
2262 (use_return_insn): Allow a return insn to be used when we have a
2263 frame pointer if the stack pointer is in the right place.
2264 (output_return_instruction): Handle it.
2266 2003-10-28 Andreas Jaeger <aj@suse.de>
2268 * ggc-zone.c (check_cookies): Add missing variable.
2269 Add void to prototypes.
2271 2003-10-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2273 * config/mips/irix6-libc-compat.c (inet_makeaddr): Prototype.
2274 * crtstuff.c (__do_global_ctors_1): Move prototype.
2275 * unwind-dw2.c (NO_SIZE_OF_ENCODED_VALUE): Define when
2277 * unwind-sjlj.c (_Unwind_GetCFA, _Unwind_FindEnclosingFunction):
2278 Mark parameter with __attribute__((unused)).
2280 2003-10-27 Zack Weinberg <zack@codesourcery.com>
2282 * c-decl.c (pushdecl): Clarify comment.
2284 2003-10-27 Arnaud Charlet <charlet@act-europe.fr>
2286 * doc/install.texi: Update instructions for Ada cross builds
2289 * doc/sourcebuild.texi: Document Ada test suite.
2291 2003-10-27 Stephane Carrez <stcarrez@nerim.fr>
2293 * config/m68hc11/m68hc11.c: Convert to ISO C90.
2294 * config/m68hc11/m68hc11-protos.h: Likewise.
2296 2003-10-27 Jan Hubicka <jh@suse.cz>
2297 Eric Botcazou <ebotcazou@libertysurf.fr>
2299 * toplev.c (enum dump_file_index, dump_file): Fix ordering of
2302 2003-10-27 Jakub Jelinek <jakub@redhat.com>
2303 Jan Hubicka <jh@suse.cz>
2305 * reload1.c (struct elim_table): Change offset, initial_offset and
2306 previous_offset fields to HOST_WIDE_INT.
2307 (offsets_at): Change from int to HOST_WIDE_INT.
2308 (reload): Adjust offsets_at initialization.
2309 (eliminate_regs_in_insn): Change type of offset to HOST_WIDE_INT.
2310 (verify_initial_elim_offsets): Change type of t to HOST_WIDE_INT.
2311 * config/i386/i386.c (ix86_compute_frame_layout): Change offset type
2312 to HOST_WIDE_INT. Don't save regs using mov for huge frame sizes
2314 (pro_epilogue_adjust_stack): New function.
2315 (ix86_expand_prologue, ix86_expand_epilogue): Use it.
2316 * config/i386/i386.md (pro_epilogue_adjust_stack): Remove.
2317 (pro_epilogue_adjust_stack_1): Remove * in front of name.
2318 (pro_epilogue_adjust_stack_rex64): Handle -2147483648 properly.
2319 (pro_epilogue_adjust_stack_rex64_2): New insn.
2321 * config/i386/i386.c (ix86_expand_epilogue): Fix comment typo.
2323 * config/i386/i386.c (ix86_expand_call): Replace 40 with
2324 FIRST_REX_INT_REG + 3 /* R11 */.
2326 2003-10-26 Richard Henderson <rth@redhat.com>
2328 * config/alpha/alpha.md (attr cannot_copy): New.
2329 (call_osf_2_er, call_value_osf_2_er, ldgp_er_1, ldgp_er_2,
2330 prologue_ldgp_er_2, prologue_ldgp_1): Set it.
2331 * config/alpha/alpha.c (alpha_cannot_copy_insn_p): Test it.
2333 2003-10-26 Daniel Berlin <dberlin@dberlin.org>
2335 * ggc-zone.c: New file, zone allocating collector.
2336 * configure: Accept zone option for --with-gc
2337 * configure.in: Ditto.
2338 * ggc.h (ggc_pch_count_object): Pass bool indicating
2339 stringiness. Update all callers.
2340 (ggc_pch_alloc_object): Ditto.
2341 (ggc_pch_write_object): Ditto.
2342 (ggc_alloc_rtx): Use typed allocation, since all RTX's are of a single
2344 (ggc_alloc_rtvec): Ditto.
2345 (ggc_alloc_tree): Use zone allocation, since some things using this macro
2346 aren't a single typecode.
2347 * ggc-none.c (ggc_alloc_typed): New function.
2348 (ggc_alloc_zone): Ditto.
2349 * ggc-page.c: Ditto on both functions.
2351 2003-10-26 Gunther Nikl <gni@gecko.de>
2353 * config/m68k/m68k.c (m68k_compute_frame_layout): Ensure FPU related
2354 frame information is always valid.
2355 (m68k_output_function_prologue): Remove superfluous TARGET_68881
2356 test; fix formatting.
2358 2003-10-26 Gunther Nikl <gni@gecko.de>
2360 * config/m68k/m68k.c (m68k_compute_frame_layout): Swap reg_mask and
2361 reg_rev_mask computation.
2362 (m68k_output_function_prologue): Fix usage of current_frame (one typo
2363 and one missing); use reg_rev_mask not reg_mask.
2364 (m68k_output_function_epilogue): Fix usage of current_frame;
2365 use fpu_rev_mask not fpu_mask.
2367 2003-10-26 Bernardo Innocenti <bernie@develer.com>
2369 * config/m68k/m68k.c (m68k_output_function_prologue): Eliminate
2370 num_saved_regs, use current_frame.reg_no instead.
2372 2003-10-26 Bernardo Innocenti <bernie@develer.com>
2373 Paul Dale <pauli@snapgear.com>
2375 * doc/extend.texi (interrupt_handler): Add m68k to the
2376 list of processors implementing it.
2377 * doc/invoke.texi (-msep-data): Document new m68k option.
2378 (-mno-sep-data): Likewise.
2379 (-mid-shared-library): Likewise.
2380 (-mno-id-shared-library): Likewise.
2381 (-mshared-library-id): Likewise.
2383 2003-10-26 Andreas Jaeger <aj@suse.de>
2385 * unwind-dw2.c (_Unwind_GetGR): Avoid warning about unsigned
2387 (_Unwind_SetGR): Likewise.
2389 2003-10-26 Ottavio Campana <ottavio@campana.vi.it>
2392 * config/i386/mmintrin.h (_mm_set1_pi8): Fix comment.
2394 2003-10-26 Gunther Nikl <gni@gecko.de>
2396 * config/m68k/m68k.c (m68k_output_function_prologue): Move front
2397 comment from here to...
2398 (m68k_save_reg): ...here. Fix comment formatting.
2399 (m68k_output_function_prologue): Fix comment formatting.
2400 (m68k_output_function_epilogue): Likewise.
2401 (const_method): Likewise.
2403 2003-10-26 Kazu Hirata <kazu@cs.umass.edu>
2405 * toplev.c (default_get_pch_validity): Guard the use of
2406 target_options with #ifdef TARGET_OPTIONS.
2407 (default_pch_valid_p): Likewise.
2409 2003-10-26 Andreas Jaeger <aj@suse.de>
2410 Zack Weinberg <zack@codesourcery.com>
2411 Andreas Tobler <toa@pop.agri.ch>
2413 * dwarf2out.c (output_cfi): Use HOST_WIDE_INT_PRINT.
2414 (output_die): Likewise.
2415 (print_die): Likewise.
2417 2003-10-26 Andreas Jaeger <aj@suse.de>
2419 * tree.h (dwarf2out_def_cfa, dwarf2out_args_size,
2420 dwarf2out_reg_save, new_loc_descr): Update prototypes for recent
2423 * toplev.c (default_pch_valid_p): Fix warning.
2425 2003-10-25 Roger Sayle <roger@eyesopen.com>
2427 * simplify-rtx.c (simplify_replace_rtx): Avoid allocating duplicate
2428 RTL nodes. If an operator's operands are unchanged, return the
2429 original argument unchanged.
2431 2003-10-26 Graham Stott <graham.stott@btinternet.com>
2433 Fix bootstrap failure.
2434 * expmed.c (store_bit_field): Don't compare bitsize against
2435 modes with zero bit-size.
2437 (extract_bit_field): Likewise
2439 2003-10-25 Jan Hubicka <jh@suse.cz>
2441 * dwarf2out.c (dw_cfi_oprnd_struct): Offset is HOST_WIDE_INT.
2442 (cfa_loc): Likewise.
2443 (reg_save, stack_adjust_offset, queue_reg_save): Replace long by
2445 (args_size, old_args_size): change type to HOST_WIDE_INT.
2446 (dwarf2out_def_cfa, dwarf2out_args_size,
2447 dwarf2out_reg_save, new_loc_descr): offset is HOST_WIDE_INT.
2448 (dw_val_struct): integers, unsigneds and offsets are HOST_WIDE_INT.
2449 (add_AT_int, add_AT_unsigned, att_AT_offset, AT_int, AT_unsigned,
2450 AT_offset): Use HOST_WIDE_INT.
2451 (based_loc_descr): offset is HOST_WIDE_INT.
2452 (add_data_member): Likewise.
2453 (add_const_value_attribute): Simplify.
2455 2003-10-25 Richard Henderson <rth@redhat.com>
2457 * config/i386/i386.c (ix86_eax_live_at_start_p): New.
2458 (ix86_expand_prologue): Save and restore eax around stack probe
2461 2003-10-25 Jan Hubicka <jh@suse.cz>
2463 * cppcharset.c (one_utf8_to_utf32): Initialize 's' to silence warning.
2465 2003-10-25 Eric Botcazou <ebotcazou@libertysurf.fr>
2468 * reg-stack.c (convert_regs_1): Create an arbitrary input stack
2469 if the block has no predecessors.
2470 (convert_regs_2): Document the problem with successors whose
2471 only predecessor is the block to be processed.
2472 (convert_regs): Don't create the arbitrary input stack here.
2474 2003-10-24 Zack Weinberg <zack@codesourcery.com>
2476 * genmodes.c (struct mode_data): Add contained and next_cont
2478 (complete_mode): Maintain linked list of modes that have a
2480 (emit_mode_unit_size): Delete.
2481 (emit_mode_nunits): New.
2482 (emit_insn_modes_c): Update to match.
2483 (emit_mode_adjustments): Propagate size and alignment
2484 adjustments from component modes to their containers.
2485 * machmode.h (mode_unit_size): Delete.
2487 (GET_MODE_NUNITS): Just return the value in the table.
2488 (GET_MODE_UNIT_SIZE): Compute using GET_MODE_INNER and
2490 * expmed.c (store_bit_field, extract_bit_field): Can use a
2491 plain move instruction if bitsize >= GET_MODE_BITSIZE of
2492 destination/source mode, respectively.
2493 * varasm.c (assemble_real): Write out the full size of the
2494 constant, not just its bitsize.
2495 (output_constant): Honor TYPE_MODE of TREE_REAL_CSTs.
2497 * config/ia64/ia64-modes.def: Define XFmode as well as TFmode.
2498 Use ADJUST_BYTESIZE and ADJUST_ALIGNMENT to set size and
2499 alignment of XF and TF modes in compliance with ia64 ABIs.
2500 Can now hardwire the format of both modes.
2501 * config/ia64/ia64.c: Change TFmode to XFmode wherever appropriate.
2502 (general_tfmode_operand, destination_tfmode_operand)
2503 (tfreg_or_fp01_operand, spill_tfmode_operand): Rename to
2504 general_xfmode_operand, destination_xfmode_operand,
2505 xfreg_or_fp01_operand, spill_xfmode_operand respectively.
2506 (ia64_init_builtins): Make TYPE_PRECISION of fpreg_type
2507 and float80_type be 96 so they get XFmode. Use !TARGET_HPUX,
2508 not INTEL_EXTENDED_IEEE_FORMAT, to decide how to define
2510 * config/ia64/ia64.h: Default TARGET_HPUX to 0.
2511 Change TFmode to XFmode wherever appropriate. Remove all
2512 references to INTEL_EXTENDED_IEEE_FORMAT.
2513 (LONG_DOUBLE_TYPE_SIZE): Varies with TARGET_HPUX.
2514 (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define (always 96).
2515 (PREDICATE_CODES): Update to match function renames.
2516 * config/ia64/ia64.md: Change TF to XF throughout; rename all
2517 patterns to match. Remove all references to
2518 INTEL_EXTENDED_IEEE_FORMAT. Update predicate calls to match
2520 * config/ia64/ia64-protos.c: Update all prototypes to match
2522 * config/ia64/hpux.h: Redefine TARGET_HPUX to 1.
2523 Remove all references to INTEL_EXTENDED_IEEE_FORMAT.
2524 * config/ia64/lib1funcs.asm: Add __divxf3 as new name for
2525 __divtf3; keep old name for backward compatibility.
2526 (L__compat): New section providing forwarding stubs for
2527 __fixtfti, __fixunstfti, __floattitf.
2528 * config/ia64/t-ia64: Add __compat to LIB1ASMFUNCS.
2530 2003-10-24 Geoffrey Keating <geoffk@apple.com>
2533 * c-pch.c: Include target.h. Improve comments.
2534 (struct c_pch_validity): Add target_data_length.
2535 (pch_init): Add target's validity data.
2536 (c_common_valid_pch): Check target's validity data.
2537 * target-def.h (TARGET_GET_PCH_VALIDITY): New.
2538 (TARGET_PCH_VALID_P): New.
2539 (TARGET_INITIALIZER): Add new fields.
2540 * target.h: Include tm.h.
2541 (struct gcc_target): Add get_pch_validity, pch_valid_p.
2542 * toplev.h (default_get_pch_validity): New prototype.
2543 (default_pch_valid_p): New prototype.
2544 * toplev.c (default_get_pch_validity): New routine.
2545 (default_pch_valid_p): New routine.
2546 * Makefile.in (TARGET_H): Add TM_H. Replace all users of
2547 target.h with $(TARGET_H).
2548 (c-pch.o): Add TARGET_H.
2549 * doc/tm.texi (PCH Target): New node.
2550 (TARGET_GET_PCH_VALIDITY): Document.
2551 (TARGET_PCH_VALID_P): Document.
2553 2003-10-24 Kelley Cook <kcook@gcc.gnu.org>
2555 * Makefile.in: Define a vpath for %.texi. Remove explicit $(docdir)
2556 and $(docdir)/include from any *.texi dependencies.
2557 ($(docobjdir)/%.dvi): Depend on stmp-docobjdir.
2558 ($(docobjdir)/%.1): Depend on .pod instead of .texi.
2559 ($(docobjdir)/%.7): Likewise.
2560 (%.pod): New implicit rule.
2561 (cpp.pod): New dependency only rule.
2562 (gcc.pod): New intermediate rule with dependencies and commands.
2563 (gfdl.pod): Likewise.
2564 (fsf-funding.pod): Likewise.
2566 2003-10-24 Nathanael Nerode <neroden@gcc.gnu.org>
2568 * fixinc/mkfixinc.sh: Remove special cases for svr4 and ptx, and
2570 * fixinc/fixinc.ptx: Remove.
2571 * fixinc/fixinc.svr4: Remove.
2573 2003-10-24 Ulrich Weigand <uweigand@de.ibm.com>
2575 * config/s390/s390.c (load_multiple_operation): Allow both SImode
2576 and DImode if word_mode is DImode.
2577 (store_multiple_operation): Likewise.
2578 * config/s390/s390.md ("load_multiple", "store_multiple"): Likewise.
2579 ("*load_multiple_di"): Allow only if word_mode == DImode.
2580 ("movqi"): Use LLGC whenever TARGET_ZARCH.
2581 ("fix_truncdfsi2"): Fix incorrect temporary size.
2582 ("fix_truncsfsi2"): Likewise.
2583 ("*bras_r", "*brasl_r", "*basr_r"): Remove predicate and constraint
2584 string for function return value operand.
2585 ("*bras_tls", "*brasl_tls", "*basr_tls"): Likewise.
2587 2003-10-24 Joseph S. Myers <jsm@polyomino.org.uk>
2589 * c-parse.in (array_declarator): Use expr_no_commas.
2592 2003-10-24 Richard Sandiford <rsandifo@redhat.com>
2594 * config/mips/linux.h: Wrap MD_FALLBACK_FRAME_STATE_FOR and
2595 associated includes in #ifndef inhibit_libc.
2597 2003-10-24 Roger Sayle <roger@eyesopen.com>
2599 * doc/libgcc.texi: Document some more of the libgcc API.
2601 2003-10-24 Richard Earnshaw <rearnsha@arm.com>
2603 * arm.c (arm_rtx_costs_1, case TARGET_THUMB): Adjust costs for
2604 comparing a constant with small negative numbers and add costing
2605 for constants in conjunction with AND.
2606 (note_invalid_constants): Tidy previous change.
2607 (thumb_cmp_operand): Tidy.
2608 (thumb_cmpneg_operand): New function.
2609 * arm.h (CONDITIONAL_REGISTER_USAGE): Don't use HI regs if optimizing
2611 (FIRST_LO_REGNUM, FIRST_HI_REGNUM, LAST_HI_REGNUM): Define.
2612 (PREDICATE_CODES): Add thumb_cmpneg_operand.
2613 * arm.md (cbranchsi4): Convert to define_expand. Handle comparison
2614 with a negative constant.
2615 (cbranchsi4_insn): Matcher for cbranchsi4.
2616 (cbranchsi4_scratch): Similar, but a scratch is available for
2617 handling negative constants.
2618 (movsi_cbranchsi4): New pattern.
2619 (tstsi3_cbranch): Renamed from andsi3_cbranch_scratch, remove scratch
2620 and use the TST instruction.
2621 (andsi3_cbranch, orrsi3_cbranch, xorsi3_cbranch, cbranchne_decr1)
2622 (addsi3_cbranch, subsi3_cbranch): Ensure that register preferencing
2623 cannot see high regs or memory alternatives.
2624 (bicsi3_cbranch_scratch, bicsi3_cbranch): New patterns.
2626 2003-10-24 Richard Earnshaw <rearnsha@arm.com>
2628 * arm.c (note_invalid_constants): Try to extract the constant
2629 pool value using avoid_constant_pool_reference; only use
2630 get_pool_constant if that returns the original reference.
2632 2003-10-24 Jan Hubicka <jh@suse.cz>
2635 * varasm.c (notice_global_symbol): Disqualify global registers.
2637 2003-10-23 Roger Sayle <roger@eyesopen.com>
2640 * loop.c (load_mems): Use redirect_jump to forward jumps from
2641 the original loop end label to the new "loop sink" block's label.
2643 2003-10-23 Roger Sayle <roger@eyesopen.com>
2646 * optabs.c (expand_binop): When expanding complex operations
2647 inline, always calculate result into a new temporary register.
2648 Minor code clean-ups.
2650 2003-10-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2652 * objc/lang-specs.h: Handle -print-objc-runtime-info.
2653 * doc/invoke.texi (Objective-C Dialect Options): Document it.
2655 2003-10-24 Danny Smith <dannysmith@users.sourceforge.net>
2657 * config/i386/cygwin.asm: Add copyright notice. Add comment
2658 on why this code is needed.
2660 2003-10-23 Kazu Hirata <kazu@cs.umass.edu>
2662 * config/h8300/clzhi2.c: Fix warnings.
2663 * config/h8300/ctzhi2.c: Likewise.
2664 * config/h8300/fixunssfsi.c: Likewise.
2665 * config/h8300/parityhi2.c: Likewise.
2666 * config/h8300/popcounthi2.c: Likewise.
2668 2003-10-23 James E Wilson <wilson@specifixinc.com>
2670 * gcc.c (option_map): Delete --target and --use-version.
2672 2003-10-23 Fariborz Jahanian <fjahanian@apple.com>
2673 David Edelsohn <edelsohn@gnu.org>
2675 * config/rs6000/rs6000.h (UNITS_PER_WORD): Use TARGET_32BIT, not
2677 (UNITS_PER_GPR_WORD): Define.
2678 (HARD_REGNO_NREGS): Use UNITS_PER_GPR_WORD.
2679 (HARD_REGNO_CALL_PART_CLOBBERED): Define.
2680 (HARD_REGNO_MODE_OK): Use UNITS_PER_GPR_WORD.
2681 (CLASS_MAX_NREGS): Use UNITS_PER_GPR_WORD.
2682 * config/rs6000/rs6000.c (function_arg): Generate PARALLEL for
2683 DFmode and DImode in 32-bit ABI / 64-bit computation mode.
2684 (rs6000_emit_prologue): Select reg_mode and reg_size using
2685 TARGET_32BIT, not TARGET_POWERPC64.
2686 (rs6000_function_value): Generate PARALLEL for DImode in 32-bit
2687 ABI / 64-bit computation mode
2689 2003-10-22 Andrew Haley <aph@redhat.com>
2691 * toplev.c (output_file_directive): Allow for null input_name.
2693 2003-10-22 Waldek Hebisch <hebisch@math.uni.wroc.pl>
2695 * config/i386/i386.c (classify_argument): Handle SET_TYPE.
2697 2003-10-22 Chris Demetriou <cgd@broadcom.com>
2699 * configure.in: In --enable-generated-files-in-srcdir option
2700 handling, fix default case handling.
2701 * configure: Regenerate.
2703 2003-10-22 Phil Edwards <phil@codesourcery.com>
2705 * config.gcc: Update *-*-vxworks* generic hook and comments.
2706 (arm-wrs-vxworks, i[4567]86-wrs-vxworks, mips-wrs-vxworks,
2707 mips-wrs-windiss, sh-wrs-vxworks): New stanzas.
2708 * genmultilib: Allow the MULTILIB_OSDIRNAMES to be mapped directly.
2709 * config/svr4.h (SWITCH_TAKES_ARG): Undefine it before redefining it.
2710 * config/windiss.h: New file.
2711 * config/arm/t-vxworks: New file.
2712 * config/arm/vxworks.h: New file.
2713 * config/i386/t-vxworks: New file.
2714 * config/i386/vxworks.h: New file.
2715 * config/mips/t-vxworks: New file.
2716 * config/mips/vxworks.h: New file.
2717 * config/mips/windiss.h: New file.
2718 * config/sh/t-vxworks: New file.
2719 * config/sh/vxworks.h: New file.
2721 2003-10-22 Kazu Hirata <kazu@cs.umass.edu>
2723 * config/h8300/h8300.c (h8300_output_function_epilogue): Remove.
2724 (h8300_saveall_function_p): New.
2725 (h8300_insert_attributes): Insert the saveall attribute if
2726 #pragma saveall is specified.
2727 (h8300_attribute_table): Add saveall.
2728 (TARGET_ASM_FUNCTION_EPILOGUE): Remove.
2729 * doc/extend.texi: Mention the saveall attribute.
2731 2003-10-22 Joseph S. Myers <jsm@polyomino.org.uk>
2733 * c-typeck.c (pedantic_lvalue_warning): Unconditionally warn of
2734 deprecation of casts as lvalues.
2735 * fixinc/inclhack.def (obstack_lvalue_cast): New fix.
2736 * fixinc/fixincl.x: Regenerate.
2737 * fixinc/tests/base/obstack.h: New test.
2739 2003-10-22 Andreas Schwab <schwab@suse.de>
2742 * config/m68k/m68k.c (output_addsi3): Fix range check to work on
2745 2003-10-22 Jan Hubicka <jh@suse.cz>
2747 * dwarf2out.c (dwarf2out_abstract_function): Use DW_AT to check
2748 presence of DW_AT_inline.
2749 (gen_subprogram_die): Likewise; do not abort instead of emitting
2752 2003-10-22 Jan Hubicka <jh@suse.cz>
2754 * cgraph.c (cgraph_function_possibly_inlined_p): Be conservative when
2755 global info is not ready.
2757 2003-10-22 Kazu Hirata <kazu@cs.umass.edu>
2759 * doc/extend.texi: Mention H8S wherever H8/300H is mentioned.
2761 2003-10-22 Ulrich Weigand <uweigand@de.ibm.com>
2763 * config/s390/s390.md ("movstr_short_64", "movstr_short_31"): Merge ...
2764 ("*movstr_short"): ... into this insn pattern.
2765 ("movstr_short"): New expander.
2766 ("*movstr_long_64"): Rename from "movstr_long_64", simplify.
2767 ("*movstr_long_31"): Rename from "movstr_long_31", simplify.
2768 ("movstr_long"): New expander.
2769 ("clrstr_short_64", "clrstr_short_31"): Merge ...
2770 ("*clrstr_short"): ... into this insn pattern.
2771 ("clrstr_short"): New expander.
2772 ("*clrstr_long_64"): Rename from "clrstr_long_64", simplify.
2773 ("*clrstr_long_31"): Rename from "clrstr_long_31", simplify.
2774 ("clrstr_long"): New expander.
2775 ("cmpmem_short_64", "cmpmem_short_31"): Merge ...
2776 ("*cmpmem_short"): ... into this insn pattern.
2777 ("cmpmem_short"): New expander.
2778 ("*cmpmem_long_64"): Rename from "cmpmem_long_64".
2779 ("*cmpmem_long_31"): Rename from "cmpmem_long_31".
2780 ("cmpmem_long"): New expander.
2781 * config/s390/s390.c (s390_expand_movstr): Use new expanders.
2782 (s390_expand_clrstr): Likewise.
2783 (s390_expand_cmpmem): Likewise.
2785 2003-10-22 Mark Mitchell <mark@codesourcery.com>
2787 * c-pch.c (struct c_pch_validity): Add pch_init field.
2789 (c_common_valid_pch): Check it.
2791 2003-10-22 David Taylor <dtaylor@emc.com>
2794 * dbxout.c (dbxout_typedefs): Use COMPLETE_OR_VOID_TYPE_P.
2796 2003-10-22 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2798 * config/alpha/alpha.c (function_value [ENABLE_CHECKING]): Don't call
2799 alpha_return_in_memory if no VALTYPE specified.
2801 2003-10-22 Jan Hubicka <jh@suse.cz>
2804 * Makefile.in (dwarf2out.o): Depend on cgraph.h.
2805 * cgraph.c (cgraph_function_possibly_inlined_p): New function.
2806 * cgraph.h (cgraph_function_possibly_inlined_p): Declare.
2807 (cgraph_global_info): Add flag inlined
2808 * dwarf2out.c (gen_subprogram_die, gen_decl_die): Use
2809 cgraph_function_possibly_inded_p
2810 * cgraphunit.c (mark_inline): Set inlined flag.
2811 * toplev.c (rest_of_decl_compilation): Call outlining_inline_function
2812 only for possibly inlined functions.
2813 * c-decl.c (duplicate_decls): Never output abstract DIE representing old
2816 2003-10-22 Andrew Haley <aph@redhat.com>
2818 * varasm.c (output_constructor): Make constructor annotation
2819 conditional on ASM_COMMENT_START.
2821 2003-10-21 Jason Merrill <jason@redhat.com>
2823 * tree.c (get_unwidened): Check TREE_UNSIGNED on the field's type.
2824 (get_narrower): Likewise.
2826 * stor-layout.c (layout_decl): Do packed field alignment for
2829 2003-10-21 Eric Christopher <echristo@redhat.com>
2831 * expr.c (convert_move): Use FLOAT_EXTEND for extensions.
2833 2003-10-21 Geoffrey Keating <geoffk@apple.com>
2835 * c-pch.c: Add comments in various places.
2836 (struct c_pch_validity): Add the lengths of various strings.
2837 (host_machine): New static.
2838 (target_machine): New static.
2839 (get_ident): Bump version number.
2840 (pch_init): Write out version, host, target validity data.
2841 (c_common_valid_pch): Check version, host, target.
2842 * Makefile.in (c-pch.o): Add version.h; define HOST_MACHINE and
2845 2003-10-21 Jason Merrill <jason@redhat.com>
2847 * tree.h (IS_EXPR_CODE_CLASS): Use strchr.
2848 (EXPR_P): New macro.
2850 2003-10-21 Zack Weinberg <zack@codesourcery.com>
2852 * config/ia64/ia64.md (cmpxchg_acq_si): Mark operand 3 as DImode.
2853 * config/ia64/ia64.c (ia64_expand_fetch_and_op,
2854 ia64_expand_op_and_fetch): Make sure the REG for ar.ccv is
2855 DImode. Use convert_move to load ar.ccv.
2856 (ia64_expand_compare_and_swap): Likewise.
2857 If expand_expr doesn't put 'old' and 'new' in the proper
2858 modes, run them through convert_to_mode.
2860 2003-10-21 Eric Christopher <echristo@redhat.com>
2862 * config/frv/frv.c (frv_adjust_field_align): Check DECL_ARTIFICIAL
2863 for too large bitfields.
2865 2003-10-21 Mark Mitchell <mark@codesourcery.com>
2867 * Makefile.in ($(docobjdir)/%.info): Honor BUILD_INFO.
2869 2003-10-21 Andrew Haley <aph@redhat.com>
2871 * varasm.c (output_constructor): Annotate constructor.
2873 2003-10-21 Mark Mitchell <mark@codesourcery.com>
2875 * Makefile.in ($(DESTDIR)$(infodir)/%.info): Conditionalize chmod
2876 on existence of destination file.
2878 2003-10-21 Jan Hubicka <jh@suse.cz>
2880 * haifa-sched.c (choose_ready): Initialize index.
2882 2003-10-21 Jason Merrill <jason@redhat.com>
2884 * tree.c (build1): Fix off-by-one error.
2886 2003-10-21 Robert Millan <robertmh@gnu.org>
2888 * config/i386/kfreebsdgnu.h: New. i386-*-kfreebsd-gnu definitions.
2889 * config/kfreebsdgnu.h: New. *-*-kfreebsd-gnu definitions.
2890 * config/t-kfreebsd-gnu: New. *-*-kfreebsd-gnu tmake_file.
2891 * config.gcc: Add *-*-kfreebsd*-gnu and i[34567]86-*-kfreebsd*-gnu.
2893 2003-10-21 Eric Botcazou <ebotcazou@libertysurf.fr>
2895 * web.c: Fix various comments.
2897 2003-10-20 Nicolas Pitre <nico@cam.org>
2899 * config/arm/arm.c (arm_override_options): Set arm_constant_limit
2900 to 2 instead of 1 when optimize_size is true. Gather code based on
2901 optimize_size together. Add comment about XScale load latency.
2903 2003-10-21 Gunther Nikl <gni@gecko.de>
2905 * config/m68k/m68k.c (m68k_output_function_prologue): Remove
2908 2003-10-20 Kelley Cook <kcook@gcc.gnu.org>
2910 * Makefile.in: Get parsedir and docobjdir from configure.
2911 * configure.in: Recogonize --enable-generated-files-in-srcdir.
2912 Pass along parsedir and docobjdir.
2913 * configure: Regenerate.
2914 * doc/install.texi: Document --enable-generated-files-in-srcdir.
2916 2003-10-20 Kelley Cook <kcook@gcc.gnu.org>
2918 * Makefile.in: Define $(docdir) before the Make-lang.in fragments are
2921 2003-10-20 Joseph S. Myers <jsm@polyomino.org.uk>
2923 * c-common.c (expand_tree_builtin): Ensure creal and cimag
2924 functions do not return lvalues.
2926 2003-10-20 Jason Merrill <jason@redhat.com>
2929 * tree.c (build1) <ADDR_EXPR>: Set TREE_SIDE_EFFECTS
2933 * stor-layout.c (layout_decl): Fix alignment handling.
2935 2003-10-20 Joseph S. Myers <jsm@polyomino.org.uk>
2937 * doc/extend.texi: Deprecate casts as lvalues.
2939 2003-10-20 Jan Hubicka <jh@suse.cz>
2941 * toplev.c (rest_of_compilation): Fix webizer pass ordering.
2943 * cgraphunit.c (decide_is_function_needed): Fix test dealing
2944 with functions implicitly made inline.
2946 * cgraphunit.c (cgraph_decide_inlining_incrementally): New function.
2947 (cgraph_finalize_function): Use it.
2948 (cgraph_mark_inline): Allow incrmental decisions
2949 * invoke.texi (max-inline-slope, min-inline-insns): Kill.
2950 * params.def (PARAM_MAX_INLINE_SLOPE, PARAM_MIN_INLINE_INSNS): Kill.
2951 * tree-inline.c (limits_allow_inlining): Kill.
2952 (expand_call_inline): Always use unit-at-a-time path.
2954 2003-10-20 Zack Weinberg <zack@codesourcery.com>
2956 * fixinc/inclhack.def (hpux11_snprintf): New edit.
2957 * fixinc/fixincl.x: Regenerate.
2958 * fixinc/tests/base/stdio.h: Add test for hpux11_snprintf.
2960 2003-10-20 Mark Mitchell <mark@codesourcery.com>
2962 * Makefile.in (install-info): Simplify.
2963 ($(DESTDIR)$(infodir)/%.info): New rule.
2964 * configure.in (target_list): Remove install-info.
2965 * doc/.cvsignore (gcc.info*): Remove.
2966 (gccint.info*): Likewise.
2967 (gccinstall.info*): Likewise.
2968 (cpp.info*): Likewise.
2969 (cppinternals.info*): Likewise.
2971 * doc/sourcebuild.texi: Update description of install-info.
2972 * objc/Make-lang.in (objc.install-info): Remove.
2974 2003-10-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2976 * config/mips/linux.h (TARGET_OS_CPP_BUILTINS): Define _ABIO32.
2977 Use it in _MIPS_SIM definition.
2978 * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Likewise.
2980 2003-10-20 Zack Weinberg <zack@codesourcery.com>
2982 * config/i386/i386.c (print_reg): Abort if REGNO (x) is a
2983 virtual register, but only if file == asm_out_file.
2984 * config/i386/i386.h (HI_REGISTER_NAMES): Use "argp", not "",
2985 for ARG_POINTER_REGNUM.
2987 2003-10-20 Zack Weinberg <zack@codesourcery.com>
2989 * c-common.c (registered_builtin_types): New static.
2990 (c_common_type_for_mode): Consult registered_builtin_types.
2991 (c_register_builtin_type): Add type to registered_builtin_types.
2992 * optabs.c (init_floating_libfuncs): Initialize libfuncs for
2993 all MODE_FLOAT modes, not just the ones corresponding to
2994 float_type_node, double_type_node, and long_double_type_node.
2996 2003-10-20 Richard Henderson <rth@redhat.com>
2998 * config/alpha/alpha.h (PREDICATE_CODES): Add normal_memory_operand.
2999 * config/alpha/alpha-protos.h: Remove PREDICATE_CODES prototypes.
3001 2003-10-20 Dorit Naishlos <dorit@il.ibm.com>
3003 * config/rs6000/rs6000.h: (rs6000_sched_insert_nops):
3004 support new flag -minsert-sched-nops.
3005 (DEFAULT_SCHED_FINISH_NOP_INSERTION_SCHEME): Define.
3006 * config/rs6000/rs6000.c: (rs6000_sched_insert_nops):
3007 support new flag -minsert-sched-nops.
3008 (is_cracked_insn, is_microcoded_insn): New functions.
3009 (rs6000_sched_finish): New function.
3010 (rs6000_issue_rate): Return 5 for power4.
3011 (get_next_active_insn, insn_terminates_group_p): New
3013 (is_costly_group, force_new_group): New functions.
3014 (redefine_groups, pad_groups): New functions.
3015 (rs6000_variable_issue): Use new functions.
3016 * doc/invoke.texi (-minsert-sched-nops): Document new
3019 2003-10-20 David S. Miller <davem@redhat.com>
3021 * config/sparc/sparc.md (type attribute): Add new insn types
3022 fpa, fpm_pack, fgm_mul, fgm_pdist, and fgm_cmp for VIS.
3023 (patterns emitting VIS insns): Use them.
3024 * config/sparc/ultra1_2.md: Add VIS scheduling rules.
3025 * config/sparc/ultra3.md: Likewise.
3027 2003-10-20 Falk Hueffner <falk@debian.org>
3030 * config/alpha/alpha.c (alpha_emit_conditional_branch): Don't do
3031 comparison against constant by adjusting the argument except for
3034 2003-10-19 Mark Mitchell <mark@codesourcery.com>
3036 * config.gcc: Add support for arm926ejs, arm1026ejs, arm1136js,
3037 arm1136jfs, and armv6j.
3038 * config/arm/arm.c (FL_ARCH6J): New macro.
3039 (FL_VFPV2): Likewise.
3040 (all_cores): Add entries for arm926ejs, arm1026ejs, arm1136js,
3042 (all_architectures): Add entry for armv6j.
3043 (arm_override_options): Add entries for arm926ejs, arm1026ejs,
3044 arm1136js, and arm1136jfs.
3045 * config/arm/arm.h (TARGET_CPU_arm926ej_s): New macro.
3046 (TARGET_CPU_arm1026ej_s): Likewise.
3047 (TARGET_CPU_arm1136j_s): Likewise.
3048 (TARGET_CPU_arm1136jf_s): Likewise.
3049 * doc/invoke.texi: Document new ARM cores and architecture
3052 2003-10-19 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3054 * Makefile.in (toplev.o): Add value-prof.h dependency.
3055 (value-prof.o): Add REGS_H dependency.
3056 * common.opt (fprofile-values, fvpt): New.
3057 * flags.h (flag_value_profile_transformations): Declare.
3058 * opts.c (common_handle_option): Handle -fprofile_values and
3060 * profile.c (branch_prob): Don't remove death notes here.
3061 * timevar.def (TV_VPT): New.
3062 * value-prof.c: Include regs.h.
3063 (insn_divmod_values_to_profile, gen_divmod_fixed_value, gen_mod_pow2,
3064 gen_mod_subtract, divmod_fixed_value_transform,mod_pow2_value_transform,
3065 mod_subtract_transform, value_profile_transformations): New.
3066 (insn_values_to_profile): Call insn_divmod_values_to_profile.
3067 (find_values_to_profile): Add dumps.
3068 * value-prof.h (value_profile_transformations): Declare.
3069 * toplev.c: Include value-prof.h.
3070 (rest_of_handle_value_profile_transformations): New.
3071 (enum dump_file_index): Add DFI_vpt.
3072 (dump_file): Add vpt dump.
3073 (flag_value_profile_transformations): New.
3074 (lang_independent_options): Add flag_profile_values and
3075 flag_value_profile_transformations.
3076 (rest_of_compilation): Call
3077 rest_of_handle_value_profile_transformations.
3078 (process_options): Let -fvpt imply -fprofile-values.
3079 * doc/invoke.texi (-fvpt): Document.
3081 2003-10-19 Jan Hubicka <jh@suse.cz>
3083 * i386.c (print_reg): Do not abort on certain registers.
3085 PR optimization/12612
3086 * reg-stack.c (subst_stack_regs_pat): Use st(1) for clobbers.
3087 * i386.md (fpatan, fyl2x, fscale patterns and expanders): Use
3088 match_scratch; avoid bogus paralles.
3091 * i386.c (ix86_function_regparm): Disable implicit register passing
3092 conventions when profiling.
3094 2003-10-19 Eric Botcazou <ebotcazou@libertysurf.fr>
3095 Richard Henderson <rth@redhat.com>
3097 PR optimization/8178
3098 * config/i386/i386.md (*movsi_zero): Delete.
3099 (*ffs_no_cmove): Use ix86_expand_clear to zero the third operand.
3101 2003-10-19 Richard Henderson <rth@redhat.com>
3103 * config/alpha/alpha.c (fix_operator): New.
3104 (divmod_operator): Tidy.
3105 (alpha_emit_xfloating_cvt): Handle UNSIGNED_FIX.
3106 * config/alpha/alpha.h (FIXUNS_TRUNC_LIKE_FIX_TRUNC): Remove.
3107 (PREDICATE_CODES): Update.
3108 * config/alpha/alpha.md (fix_truncdfsi_ieee): Use match_operator.
3109 (fix_truncdfsi_internal, fix_truncdfdi_ieee): Likewise.
3110 (fix_truncsfsi_ieee, fix_truncsfsi_internal): Likewise.
3111 (fix_truncsfdi_ieee): Likewise.
3112 (fix_truncdfdi2, fix_truncsfdi2): Turn into define_expand.
3113 (fixuns_truncdfdi2, fixuns_truncsfdi2, fixuns_trunctfdi2): New.
3114 * config/alpha/alpha-protos.h: Update.
3116 2003-10-19 Richard Sandiford <rsandifo@redhat.com>
3118 * config/mips/mips.h (INITIALIZE_TRAMPOLINE): Simplify.
3119 * config/mips/mips.c (mips_load_got): Assume Pmode == ptr_mode.
3120 * config/mips/mips.md (extendsidi2, *extendsidi2): Merge. Don't accept
3123 2003-10-18 Kazu Hirata <kazu@cs.umass.edu>
3125 * doc/extend.texi: Fix typos.
3126 * doc/invoke.texi: Likewise.
3128 2003-10-18 Nicolas Pitre <nico@cam.org>
3130 * config/arm/arm.c (arm_override_options): Use arm_tune_xscale for
3131 XScale optimizations not arm_arch_xscale.
3132 * config/arm/arm.h (CONSTANT_ALIGNMENT_FACTOR, MOVE_RATIO): Likewise.
3134 2003-10-18 Ulrich Weigand <uweigand@de.ibm.com>
3136 * config/s390/s390-protos.h (shift_count_operand): Add prototype.
3137 * config/s390/s390.c (shift_count_operand): New function.
3138 (s390_extra_constraint): Use it to implement 'Y' constraint.
3139 (print_shift_count_operand): New function.
3140 (print_operand): Use it to implement '%Y'.
3141 * config/s390/s390.h (EXTRA_ADDRESS_CONSTRAINT): Add 'Y' constraint.
3142 (PREDICATE_CODES): Add shift_count_operand.
3143 * config/s390/s390.md ("rotldi3"): Merge alternatives,
3144 using "shift_count_operand" predicate and "Y" constraint,
3145 and "%Y" to output the combined shift count.
3146 ("rotlsi3"): Likewise.
3147 ("ashldi3", "*ashldi3_31", "*ashldi3_64"): Likewise.
3148 ("ashrdi3", "*ashrdi3_31", "*ashrdi3_64", "*ashrdi3_cc_31",
3149 "*ashrdi3_cc_64", "*ashrdi3_cconly_31", "*ashrdi3_cconly_64"): Likewise.
3150 ("ashlsi3", "ashrsi3", "*ashrsi3_cc", "*ashrsi3_cconly"): Likewise.
3151 ("lshrdi3", "*lshrdi3_31", "*lshrdi3_64"): Likewise.
3152 ("lshrsi3"): Likewise.
3154 2003-10-18 Gunther Nikl <gni@gecko.de>
3156 * config/m68k/m68k.c (m68k_output_function_epilogue): Add missing
3157 argument to asm_fprintf statement.
3159 2003-10-18 Fariborz Jahanian <fjahanian@apple.com>
3161 * rs6000.md: Separate TARGET_POWERPC64 patterns for TARGET_64BIT or TARGET_32BIT.
3162 (ashrdisi3_noppc64) Generate more efficient code for 32-bit right-shift of
3163 a "long long" argument.
3165 2003-10-18 Alexandre Oliva <aoliva@redhat.com>
3167 * final.c (final_scan_insn): Run FINAL_PRESCAN_INSNS on asm insns
3170 2003-10-18 Richard Sandiford <rsandifo@redhat.com>
3172 * rtl.h (rtl_size): Declare.
3173 (rtunion): Remove rtwint.
3174 (rtx_def): Replace 'fld' with a union of an rtunion or a HOST_WIDE_INT.
3175 (RTX_HDR_SIZE, RTX_SIZE): New macros.
3176 (RTL_CHECK1): Adjust for new rtx_def layout.
3177 (RTL_CHECK2, RTL_CHECKC1, RTL_CHECKC2): Likewise.
3178 (XWINT, XCWINT): Likewise. Access the rtx structure directly.
3181 * rtl.def: Adjust comments for new rtx_def layout.
3182 * ggc.h (ggc_alloc_rtx): Take the rtx code as argument, not the
3184 * rtl.c (rtx_size): New array.
3185 (rtx_alloc): Adjust call to ggc_alloc_rtx. Use RTX_HDR_SIZE.
3186 (copy_rtx): Use RTX_HDR_SIZE. Adjust for new rtx_def layout.
3187 (shallow_copy_rtx): Adjust call to ggc_alloc_rtx. Use RTX_SIZE.
3188 * integrate.c (copy_rtx_and_substitute): Use X0ANY to copy '0' fields.
3189 * emit-rtl.c (copy_most_rtx): Likewise.
3190 (copy_rtx_if_shared): Use RTX_SIZE.
3191 (copy_insn_1): Use RTX_HDR_SIZE. Adjust for new rtx_def layout.
3192 * gengenrtl.c (gendef): Adjust ggc_alloc_rtx call. Use RTX_HDR_SIZE.
3193 * gengtype.c (write_rtx_next): Use RTX_HDR_SIZE.
3194 (adjust_field_rtx_def): Expect "rtx_def" to be a union rather than
3195 an array. Adjust output for new rtx_def layout.
3196 * ggc-page.c (RTL_SIZE): Use RTX_HDR_SIZE.
3197 * reload1.c (eliminate_regs): Use RTX_SIZE.
3198 * rtlanal.c (loc_mentioned_in_p): Adjust for new rtx_def layout.
3199 * gdbinit.in (pi): Likewise.
3201 2003-10-18 Jan Hubicka <jh@suse.cz>
3203 * integrate.c (copy_decl_for_inlining): Revert previous patch.
3205 2003-10-18 Jan Hubicka <jh@suse.cz>
3207 * integrate.c (copy_decl_for_inlining): Fix copying of copies.
3209 2003-10-18 Roger Sayle <roger@eyesopen.com>
3211 * libgcc.texi: Group multi-word types, such as "long double" and
3212 "unsigned int", using braces in @deftypefn and @deftypefnx nodes.
3213 Document __unord?f2 as returning a non-zero value, not just one.
3215 2003-10-18 Hans-Peter Nilsson <hp@bitrange.com>
3217 * config/mmix/t-mmix (CRTSTUFF_T_CFLAGS): Define.
3218 ($(T)crti.o, $(T)crtn.o): Pass CRTSTUFF_T_CFLAGS here too.
3220 2003-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
3222 * config/i386/k6.md (k6_alux): Use the 'mode' attribute instead of
3225 2003-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
3227 * config/sparc/sparc.c (function_arg_record_value_1): New fourth
3228 parameter packed_p. Search for a DECL_PACKED field only if
3229 packed_p is false. Pass packed_p recursively.
3230 (function_arg_record_value_2): Likewise.
3231 (function_arg_record_value): Update calls to
3232 function_arg_record_value_1 and function_arg_record_value_2.
3234 2003-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
3236 * cse.c (cse_insn) [src_folded]: Check that the tentative replacement
3237 was successfully forced to memory before using the result.
3239 2003-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
3241 PR optimization/8178
3242 * config/i386/i386.md (*movsi_zero): New insn to set
3243 a register to zero on TARGET_USE_MOV0 targets.
3245 2003-10-18 Kelley Cook <kcook@gcc.gnu.org>
3247 * Makefile.in (Makefile): Depend on the all Make-lang.in fragments.
3248 (POSTSTAGE1_FLAGS_TO_PASS): Pass down MAKEINFO and MAKEINFOFLAGS.
3250 2003-10-17 David Edelsohn <edelsohn@gnu.org>
3252 * doc/invoke.texi (gcse-las): Fix typo.
3254 2003-10-17 Andrew Pinski <pinskia@physics.uc.edu>
3256 * doc/install.texi: Remove first part of the sentence for
3257 zsh not working. Change gcc to GCC.
3260 * doc/install.texi: Document that zsh does not work when
3263 2003-10-17 Nathanael Nerode <neroden@gcc.gnu.org>
3265 * config/ptx4.h: Switch to DWARF 2; update comments.
3267 2003-10-17 Segher Boessenkool <boessen@de.ibm.com>
3268 Hartmut Penner <hpenner@de.ibm.com>
3270 PR 10404, partial 11591, partial 11601
3271 * config/rs6000/altivec.md ("altivec_dst", "altivec_dstt",
3272 "altivec_dstst", "altivec_dststt", "altivec_lvsl", "altivec_lvsr",
3273 "altivec_lvebx", "altivec_lvehx", "altivec_lvewx", "altivec_lvxl",
3274 "altivec_lvx", "altivec_stvx", "altivec_stvxl", "altivec_stvebx",
3275 "altivec_stvehx", "altivec_stvewx"): Use a memory_operand.
3276 * config/rs6000/rs6000.c (altivec_expand_lv_builtin): New function.
3277 (altivec_expand_stv_builtin): Adjust for the memory_operand.
3278 (altivec_expand_builtin): Call altivec_expand_lv_builtin.
3279 (altivec_init_builtins): Use `long int' for memory offsets.
3281 2003-10-17 Jan Hubicka <jh@suse.cz>
3283 * opts.c (common_handle_option): Handle OPT_fweb
3284 * invoke.texi (-fweb): Add missing parts of documentation.
3286 2003-10-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3288 * config/mips/linux.h (FUNCTION_NAME_ALREADY_DECLARED): Undef
3289 before redefinition.
3291 2003-10-17 Mostafa Hagog <mustafa@il.ibm.com>
3293 * common.opt: Add description of the new -fgcse-las flag.
3294 * flags.h (flag_gcse_las): Declaration of global flag_gcse_las.
3295 * gcse.c (hash_scan_set): Handle the case of store expression and
3296 insert the memory expression to the hash table, this way we make it
3297 possible to discover redundant loads after stores and remove them.
3298 (pre_insert_copy_insn): moved the call to update_ld_motion_stores,
3299 to pre_insert_copies, it is not the correct place to call it after
3300 adding stores to be in the available expression hash table.
3301 (pre_insert_copies): Added the call to update_ld_motion_stores when
3302 one or more copies were inserted.
3303 * opts.c (common_handle_option): Handle the -fgcse-las flag.
3304 * toplev.c (flag_gcse_las): Initialization of flag_gcse_las.
3306 * doc/invoke.tex: Document new -fgcse-las flag.
3308 2003-10-18 Alan Modra <amodra@bigpond.net.au>
3310 * config/rs6000/crtsavres.asm: Correct alignment of powerpc64 code
3311 for posterity, then remove it.
3313 2003-10-17 Richard Earnshaw <rearnsha@arm.com>
3314 Nathan Sidwell <nathan@codesourcery.com>
3316 * config/arm/arm.c (use_return_insn): Not a single instruction, if
3317 there's a frame pointer.
3318 (arm_output_epilogue): Protect stack pointer from being corrupted
3321 2003-10-17 Ulrich Weigand <uweigand@de.ibm.com>
3323 * ifcvt.c (noce_try_addcc): Handle ifs with 'else' case.
3325 2003-10-17 Ulrich Weigand <uweigand@de.ibm.com>
3327 * combine.c (simplify_set): Do not clear out undobuf.other_insn
3328 already set elsewhere.
3330 2003-10-17 Kelley Cook <kcook@gcc.gnu.org>
3332 * config/i386/i386.c (ix86_expand_prologue): Use
3333 gen_allocate_stack_worker.
3335 2003-10-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3337 * config.gcc (mips-sgi-irix6*o32): Only enable use_collect2
3339 (mips-sgi-irix6*): Likewise.
3341 * config/mips/iris6gas.h: New file.
3342 * gcc/config.gcc (mips-sgi-irix6*): Use it.
3344 * config/mips/mips.h (TARGET_IRIX): Provide default.
3345 (TARGET_IRIX5): Likewise.
3346 (TARGET_SGI_O32_AS): Likewise.
3347 * config/mips/iris5.h (TARGET_IRIX): Redefine as 1.
3348 (TARGET_IRIX5): Likewise.
3349 * config/mips/iris6.h (TARGET_IRIX6): Remove.
3350 (TARGET_IRIX5): Redefine as 0.
3352 * config/mips/mips.c (mips_output_external): Test for IRIX 6 O32
3353 linker workaround with TARGET_IRIX and mips_abi instead of
3354 ASM_OUTPUT_UNDEF_FUNCTION.
3355 (mips_file_end): Inline old ASM_OUTPUT_UNDEF_FUNCTION definition,
3356 testing TARGET_IRIX and mips_abi explicitly.
3357 * config/mips/iris5.h (ASM_OUTPUT_UNDEF_FUNCTION): Remove.
3358 * config/mips/iris6.h (ASM_OUTPUT_UNDEF_FUNCTION): Remove undef.
3360 * config/mips/mips.c (irix_output_external_libcall): Renamed from
3361 mips_output_external_libcall.
3362 Use new TARGET_IRIX in guard.
3363 * config/mips/mips-protos.h (irix_output_external_libcall): Match
3365 * config/mips/iris5.h (TARGET_ASM_EXTERNAL_LIBCALL): Likewise.
3367 * config/mips/iris5gas.h (HAVE_GAS_SHF_MERGE): Update comment.
3370 * config/mips/iris6.h (FUNCTION_NAME_ALREADY_DECLARED): Define
3371 depending on mips_abi.
3372 * config/mips/linux.h (FUNCTION_NAME_ALREADY_DECLARED): Define as 1.
3373 * config/mips/mips.c (mips_output_function_prologue): Test
3374 FUNCTION_NAME_ALREADY_DECLARED at runtime.
3375 (mips_output_function_epilogue): Likewise.
3376 (build_mips16_function_stub): Likewise.
3377 (build_mips16_call_stub): Likewise.
3378 * config/mips/mips.h (FUNCTION_NAME_ALREADY_DECLARED): Provide
3381 * config/mips/iris6.h (DWARF2_UNWIND_INFO): Don't define for native
3382 IRIX 6 O32 assembler.
3383 (SUBTARGET_CC1_SPEC): Enforce mips2 ISA with O32 ABI.
3384 (TARGET_OS_CPP_BUILTINS): Define _ABIO32, use it to define
3385 _MIPS_SIM for O32 ABI.
3386 (DWARF2_FRAME_INFO): Don't define for native IRIX 6 O32 assembler.
3387 (ASM_DECLARE_FUNCTION_NAME): Integrate mips.h version.
3388 (ASM_DECLARE_FUNCTION_SIZE): Move undef before redefinition.
3389 Integrate O32 version.
3390 (SUBTARGET_ASM_SPEC): Handle -mabi=32.
3391 (SUBTARGET_ASM_DEBUGGING_SPEC): Add mdebug_asm_spec for gas with
3393 (BSS_SECTION_ASM_OP_32): Define.
3394 (BSS_SECTION_ASM_OP_64): Likewise.
3395 (BSS_SECTION_ASM_OP): Define differently for O32 and N32/N64 ABIs
3397 (TARGET_ASM_NAMED_SECTION): Reflect renaming.
3398 Move up to allow override for O32 ABI without GNU as.
3399 (EH_FRAME_SECTION_NAME): Define explicitly.
3400 (MUST_USE_SJLJ_EXCEPTIONS): Define.
3401 [_MIPS_SIM == _ABIO32 && !GAS] (CTORS_SECTION_ASM_OP,
3402 DTORS_SECTION_ASM_OP): Dummy definitions.
3403 (TARGET_ASM_NAMED_SECTION): Undef statically.
3404 (EH_FRAME_SECTION_NAME): Likewise.
3405 (ASM_OUTPUT_FILENAME): Integrate mips.h version.
3406 (LINK_SPEC): Only use default options -call_shared -no_unresolved
3408 Don't pass -init, -fini with -mabi=32.
3409 (COLLECT_PARSE_FLAG): Define.
3411 * config/mips/mips.c (iris6_asm_named_section_1): Changed guard to
3413 Renamed to use irix_ prefix.
3414 (iris6_asm_named_section): Likewise.
3415 (iris_section_align_entry_eq): Likewise.
3416 (iris_section_align_entry_hash): Likewise.
3417 (iris6_file_start): Likewise.
3418 (iris6_section_align_1): Likewise.
3419 (iris6_file_end): Likewise.
3420 (iris6_section_type_flags): Likewise.
3421 (iris_section_align_htab): Likewise.
3422 (iris_orig_asm_out_file): Likewise.
3423 [TARGET_IRIX] (TARGET_ASM_FILE_START): Reflect rename.
3424 (TARGET_ASM_FILE_END): Likewise.
3425 (TARGET_SECTION_TYPE_FLAGS): Likewise.
3427 * config/mips/mips.c [TARGET_IRIX5 && !TARGET_IRIX6]
3428 (TARGET_ASM_UNALIGNED_HI_OP): Use runtime initialization in
3429 override_options instead.
3430 (TARGET_ASM_UNALIGNED_SI_OP): Likewise.
3431 (TARGET_ASM_UNALIGNED_DI_OP): Likewise.
3432 * config/mips/mips.c (override_options) [USE_COLLECT2]: Restore
3433 flag_gnu_linker to defaults without USE_COLLECT2 for non-IRIX O32
3435 Likewise for constructor/destructor handling.
3436 (override_options): Handle IRIX O32 assembler quirks.
3437 [TARGET_IRIX] (irix_asm_named_section): Handle O32 ABI with and
3439 (mips_file_start): Use new TARGET_IRIX.
3440 (mips_declare_object_name): No special processing for IRIX O32
3442 (mips_finish_declare_object): Likewise.
3443 (irix_asm_output_align): Renamed from iris6_asm_output_align.
3444 Don't record alignment for O32 ABI.
3445 (irix_file_start): Renamed from iris6_file_start.
3446 Return early for O32 ABI.
3447 (irix_file_end): Renamed from iris6_file_end.
3448 Don't emit .section directives for O32 ABI.
3449 * config/mips/iris6.h (ASM_OUTPUT_ALIGN): Reflect renaming.
3450 * config/mips/mips-protos.h (irix_asm_output_align): Likewise.
3452 * config/mips/t-iris6 (MULTILIB_OPTIONS): Add mabi=32.
3453 (MULTILIB_OSDIRNAMES): Likewise.
3455 2003-10-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3457 * collect2.c (COLLECT_PARSE_FLAG): Provide default.
3459 * doc/tm.texi (COLLECT_PARSE_FLAG): Document it.
3461 2003-10-17 Richard Earnshaw <rearnsha@arm.com>
3463 * arm-modes.def (CC_Nmode): New condition code mode.
3464 * arm.c (thumb_condition_code): Delete.
3465 (arm_select_cc_mode): Handle single-bit test for Thumb.
3466 (arm_print_operand, cases 'd' and 'D'): Don't special case the
3467 condition code logic for Thumb.
3468 (get_arm_condition_code): Handle CC_Nmode.
3469 (thumb_cbrch_target_operand): New function.
3470 * arm.h (PREDICATE_CODES): Add thumb_cbrch_target_operand.
3471 * arm-protos.h (thumb_cbrch_target_operand): Add prototype.
3472 * arm.md: Add Thumb split patterns for zero_extract and
3474 (tbit_cbranch, andsi3_cbranch_scratch, andsi3_cbranch)
3475 (orrsi3_cbranch_scratch, orrsi3_cbranch, xorsi3_cbranch_scratch)
3476 (xorsi3_cbranch, addsi3_cbranch, addsi3_cbranch_scratch)
3477 (subsi3_cbranch, subsi3_cbranch_scratch): New Thumb patterns.
3478 (cbranchne_decr1): Re-work to use CC_Nmode.
3480 * arm.c (thumb_expand_epilogue): Add clobbers of registers restored
3481 by the return instruction. Add a use of the link register if it
3484 2003-10-17 Richard Earnshaw <rearnsha@arm.com>
3486 * flow.c (init_propagate_block_info): Don't abort if a conditional
3487 jump is not a comparison of a register. Instead, just don't record
3488 conditional life information.
3490 2003-10-16 Jan Hubicka <jh@suse.cz>
3492 PR optimization/12630
3493 * pa.md (movstrsi, movstrsi_internal): Use match_scratch in clobbers
3494 for operands 7 and 8.
3496 2003-10-16 Kelley Cook <kcook@gcc.gnu.org>
3498 * objc/Make-lang.in (objc-parse.o): Honor $(parsedir) for objc-parse.c.
3500 2003-10-16 Danny Smith <dannysmith@users.sourceforge.net>
3502 * config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Define.
3504 * config/i386/winnt.c (gen_stdcall_suffix): Make static
3505 (gen_fastcall_suffix): Likewise.
3506 (i386_pe_dllexport_p): Likewise.
3507 (i386_pe_dllimport_p): Likewise.
3508 (i386_pe_mark_dllexport): Likewise.
3509 (i386_pe_mark_dllimport): Likewise.
3510 (i386_pe_asm_named_section): Fix formatting.
3512 2003-10-16 Zack Weinberg <zack@codesourcery.com>
3514 * configure.in: Add snprintf to gcc_AC_CHECK_DECLS list.
3515 * system.h: Declare snprintf if necessary.
3516 * configure, config.in: Regenerate.
3518 2003-10-15 David Edelsohn <edelsohn@gnu.org>
3520 * config/rs6000/rs6000.c (rs6000_va_arg): Only align vector
3521 arguments if TARGET_ALTIVEC_ABI.
3523 2003-10-15 Roger Sayle <roger@eyesopen.com>
3525 * builtins.c (fold_builtin_memcpy, fold_builtin_mempcpy,
3526 fold_builtin_memmove, fold_builtin_strcpy, fold_builtin_strncpy,
3527 fold_builtin_memcmp, fold_builtin_strcmp, fold_builtin_strncmp):
3529 (expand_builtin_memcpy): Use integer_zerop instead of testing
3530 host_integerp and tree_low_cst directly. Move misapplied hunk
3531 for optimization wher SRC and DEST point to the same location.
3532 (expand_builtin_mempcpy): From here.
3533 (expand_builtin_memmove): Use integer_zerop instead of testing
3534 host_integerp and tree_low_cst_directly.
3535 (expand_builtin_memset): Likewise.
3536 (expand_builtin_memcmp): Likewise (and for integer_onep).
3537 (expand_builtin_strncmp): Likewise.
3538 (fold_builtin): Call the appropriate fold_builtin_foo functions
3539 to optimize memcpy, mempcpy, memmove, strcpy, strncpy, memcmp,
3542 2003-10-15 Geoffrey Keating <geoffk@apple.com>
3544 * config/darwin-protos.h (machopic_non_lazy_ptr_name): Delete
3545 prototype. Clean up some whitespace.
3546 * config/darwin.c: Use gen_rtx_FOO (...) rather than
3548 (machopic_non_lazy_ptr_name): Make static.
3549 (name_needs_quotes): Allow '.' and '$' unquoted.
3550 (machopic_legitimize_pic_address): Improve codegen in dynamic-no-pic
3553 2003-10-15 Gábor Lóki <alga@rgai.hu>
3555 * fold-const.c (tree_swap_operands_p): Disable some features
3556 when optimizing for size.
3558 2003-10-15 David Daney <ddaney@avtrex.com>
3560 * config/mips/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New
3561 * config/mips/mips.h (DWARF_FRAME_REGNUM): Fixed to allow unwind
3562 from leaf functions.
3563 (DWARF_FRAME_RETURN_COLUMN): Ditto.
3564 (SIGNAL_UNWIND_RETURN_COLUMN): New, used
3565 by MD_FALLBACK_FRAME_STATE_FOR.
3566 * testsuite/gcc.dg/cleanup-9.c: Added mips*-*-linux* target.
3568 2003-10-15 Zack Weinberg <zack@codesourcery.com>
3570 * genmodes.c: Include hashtab.h.
3571 (modes_by_name, hash_mode, eq_mode, struct mode_adjust)
3572 (adj_bytesize, adj_alignment, adj_format, new_adjust)
3573 (_ADD_ADJUST, ADJUST_BYTESIZE, ADJUST_ALIGNMENT, ADJUST_FORMAT)
3574 (print_maybe_const_decl, emit_mode_adjustments): New.
3575 (known_modes): Rename to modes.
3576 (find_mode): Kill class argument; look up in hash table.
3577 (new_mode): Insert into hash table also.
3579 (reset_float_format, make_partial_integer_mode)
3580 (make_vector_mode): Tweak error reporting.
3581 (reset_float_format): Correct type of fourth argument.
3582 (emit_insn_modes_h): Add #defines to help make mode_size,
3583 mode_base_align, and real_format_for_mode conditionally const.
3584 (emit_mode_size, emit_mode_base_align): Use print_maybe_const_decl.
3585 (emit_real_format_for_mode): Likewise, but temporarily disabled.
3586 (emit_insn_modes_c): Call emit_mode_adjustments.
3587 (main): Initialize modes_by_name.
3588 * Makefile.in: Update dependencies.
3589 * machmode.def: Document EXPR arguments and new ADJUST_* statements.
3590 * machmode.h: Use CONST_MODE_SIZE and CONST_MODE_BASE_ALIGN in
3591 declarations of mode_size and mode_base_align. Declare
3592 init_adjust_machine_modes.
3593 * toplev.c (backend_init): Call init_adjust_machine_modes.
3595 2003-10-15 Olivier Hainque <hainque@act-europe.fr>
3597 * genmodes.c (calc_wider_mode): Allocate enough room for all the
3598 entries we'll possibly assign in the sort buffer.
3600 2003-10-15 Ulrich Weigand <uweigand@de.ibm.com>
3602 * config.gcc (s390x-ibm-tpf*): New target.
3603 * doc/install.texi: Document it.
3604 * config/s390/t-tpf: New file.
3605 * config/s390/tpf.h: New file.
3607 2003-10-15 Hans-Peter Nilsson <hp@axis.com>
3610 * config/cris/cris.md (define_split "*mov_sidesi_biap_mem"+1)
3611 (define_splits "*mov_sidesi_mem"+1, "casesi"+9, +10, +11, +12):
3612 Use cris_mem_op and replace_equiv_address, not gen_rtx_MEM.
3613 ("call", "call_value", define_split "*mov_sidesi_mem"+19, +20)
3614 (define_split "*mov_sidesi_mem"+21, +22, +23, +24, +25, +26, +27)
3615 (define_split "*mov_sidesi_mem"+28, +29, +30): Use
3616 replace_equiv_address, not gen_rtx_MEM.
3617 * config/cris/cris.c (cris_mem_op): New match_operator function.
3618 (cris_notice_update_cc): Use replace_equiv_address, not
3620 * config/cris/cris.h (PREDICATE_CODES): Add cris_mem_op.
3622 2003-10-15 Bernardo Innocenti <bernie@develer.com>
3624 * config/m68k/m68k.h (MASK_SEP_DATA, TARGET_SEP_DATA,
3625 MASK_ID_SHARED_LIBRARY, TARGET_ID_SHARED_LIBRARY): Move
3626 definitions after the other flags.
3628 2003-10-14 Ziemowit Laski <zlaski@apple.com>
3630 * c-parse.in (methoddef, methodproto): Call objc_add_method()
3631 instead of add_method().
3632 * objc/objc-act.c (objc_check_decl): Do not check for
3633 constant_string_type.
3634 (add_method): Rename to objc_add_method().
3635 (really_start_method): Call objc_add_method() instead of
3637 * objc/objc-act.h (add_method): Rename to objc_add_method().
3639 2003-10-14 Ulrich Weigand <uweigand@de.ibm.com>
3641 * config/s390/s390-protos.h (s390_alc_comparison): Add prototype.
3642 (s390_slb_comparison): Likewise.
3643 * config/s390/s390.c (s390_alc_comparison, s390_slb_comparison):
3645 * config/s390/s390.h (PREDICATE_CODES): Add s390_alc_comparison
3646 and s390_slb_comparison.
3647 * config/s390/s390.md ("*adddi3_31", "*subdi3_31"): Do not use on
3649 ("*adddi3_31z", "*subdi3_31z"): New insns.
3650 ("*adddi3_alc_cc", "*adddi3_alc", "*subdi3_slb_cc", "*subdi3_slb",
3651 "*addsi3_alc_cc", "*addsi3_alc", "*subsi3_slb_cc", "*subsi3_slb"):
3654 2003-10-14 Nathanael Nerode <neroden@gcc.gnu.org>
3656 * configure.in: Clean up some feedback echoes.
3657 * configure: Regenerate.
3659 * aclocal.m4: Properly quote names of macros being defined.
3661 * config.gcc (am33_2.0-*-linux*): Use t-slibgcc-elf-ver.
3663 2003-10-14 Steve Ellcey <sje@cup.hp.com>
3665 * config/ia64/ia64.c (ia64_expand_call): Force function address
3667 * config/ia64/ia64.md (call_gp): Put DImode on operand 0.
3669 2003-10-14 Ulrich Weigand <uweigand@de.ibm.com>
3671 * config/s390/s390.md ("muldf3", "*muldf3", "*muldf3_ibm",
3672 "mulsf3", "*mulsf3", "*mulsf3_ibm"): Do not clobber CC.
3673 ("divdf3", "*divdf3", "*divdf3_ibm", "divsf3", "*divsf3",
3674 "*divsf3_ibm"): Likewise.
3676 2003-10-14 Nathanael Nerode <neroden@gcc.gnu.org>
3678 * config.gcc, config/m68hc11/t-m68hc11-gas: Replace uses of
3679 target_alias with target_noncanonical.
3681 2003-10-14 Geoffrey Keating <geoffk@apple.com>
3683 * expr.c (block_move_libcall_safe_for_call_parm): Clean up,
3684 and add case for machines where outgoing register parameters
3687 * config/darwin.c (machopic_indirect_data_reference): Use a scratch
3688 register when generating indirect address.
3690 2003-10-14 Richard Earnshaw <rearnsha@arm.com>
3692 * arm.c (arm_addimm_operand): MODE arguemnt is unused.
3693 * arm.md (cbranchne_decr1): Fix bootstrap warning.
3695 2003-10-14 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3697 * fixinc/inclhack.def (alpha_pthread_gcc): New fix.
3698 * fixinc/fixincl.x: Regenerate.
3699 * fixinc/tests/base/pthread.h [ALPHA_PTHREAD_GCC_CHECK]: New
3701 Fixes PR bootstrap/9330.
3703 2003-10-13 Eric Christopher <echristo@redhat.com>
3705 * config/frv/frv.c (frv_adjust_field_align): Redo check for
3707 (frv_hard_regno_mode_ok): Add SPR_P and AP_FIRST.
3708 * config/frv/frv.h (FUNCTION_PROFILER): Remove abort call.
3709 (SBSS_SECTION_ASM_OP): Remove.
3710 (EXTRA_SECTIONS): Remove in_sbss.
3711 (EXTRA_SECTION_FUNCTIONS): Remove SBSS_SECTION_FUNCTION.
3712 (SBSS_SECTION_FUNCTION, sbss_section): Remove.
3713 (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Change sbss_section to
3716 2003-10-13 Nathanael Nerode <neroden@gcc.gnu.org>
3718 * Makefile.in, configure.in, config.host, mkheaders.in: Replace
3719 uses of ${target_alias} for directory names (and other places which
3720 won't like the empty string) with ${target_noncanonical}. Introduce
3721 call early in configure.in to _GCC_TOPLEV_NONCANONICAL_TARGET so it's
3723 * configure: Regenerate.
3725 2003-10-13 Ian Lance Taylor <ian@wasabisystems.com>
3727 * config/arm/iwmmxt.md (cond_iwmmxt_movsi_insn): New pattern.
3728 * config/arm/arm.md: For splits which rely on conditional moves,
3729 remove ! TARGET_IWMMXT condition.
3731 2003-10-13 David S. Miller <davem@redhat.com>
3733 * ifcvt.c (num_removed_blocks): Rename to num_true_changes.
3734 (find_cond_trap): Always increment if we emit a conditional
3737 2003-10-13 Zack Weinberg <zack@codesourcery.com>
3739 * Makefile.in (BUILD_RTL): Replace $(BUILD_PREFIX)insn-modes.o
3740 with min-insn-modes.o.
3741 (STAGESTUFF): Add min-insn-modes.c.
3742 (genobjs): Add genmodes.o.
3743 (print-rtl.o, print-rtl1.o): Depend on $(TM_P_H).
3744 (insn-modes.o): Depend on $(TM_H) not $(GTM_H); also real.h.
3745 (min-insn-modes.c, min-insn-modes.o): New rules.
3746 (s-modes): Also generate min-insn-modes.c.
3747 ($(BUILD_PREFIX_1)insn-modes.o): Kill.
3748 * genmodes.c (struct mode_data): Add format field.
3749 (blank_mode, validate_mode, complete_mode): Update to match.
3750 (make_scalar_mode): Separate into make_int_mode and make_float_mode.
3751 (_SCALAR_MODE): Kill.
3752 (FLOAT_MODE, FRACTIONAL_FLOAT_MODE): Add format argument.
3753 (emit_insn_modes_c_header): Adjust.
3754 (emit_min_insn_modes_c_header, emit_real_format_for_mode)
3755 (emit_min_insn_modes_c): New functions.
3756 (emit_insn_modes_c): Call emit_real_format_for_mode.
3757 (main): Add -m option to generate min-insn-modes.c.
3758 * machmode.h: Update documentation. Add format argument to
3759 all uses of FLOAT_MODE.
3760 * real.c: Don't define real_format_for_mode here.
3762 * dwarfout.c: Move default definition of PRINT_REG...
3763 * defaults.h: ...here.
3764 * print-rtl.c: Include tm_p.h.
3765 (DEBUG_PRINT_REG, DEBUG_REGISTER_NAMES, debug_reg_names, reg_names):
3767 (print_rtx): Use PRINT_REG, not DEBUG_PRINT_REG. But surround
3768 this entire block with #ifndef GENERATOR_FILE.
3769 * regclass.c: Unconditionally define reg_names.
3770 * config/mips/mips.h, config/rs6000/rs6000.h, config/sh/sh.h
3771 Don't define DEBUG_REGISTER_NAMES.
3772 * config/rs6000/darwin.h: Don't use DEBUG_REGISTER_NAMES in
3773 redefinition of REGISTER_NAMES.
3774 * config/i386/i386.h: Don't define DEBUG_PRINT_REG.
3776 * combine.c: Change all preprocessor conditionals on
3777 EXTRA_CC_MODES to use SELECT_CC_MODE instead; rearrange a bit
3779 * genopinit.c: Remove mention of EXTRA_CC_MODES in comment.
3780 * configure.in: Don't define EXTRA_CC_MODES.
3781 * configure, config.in: Regenerate.
3782 * doc/tm.texi: Remove documentation of EXTRA_CC_MODES.
3784 * config/arc/arc.c, config/m32r/m32r.c, config/sparc/sparc.c:
3785 May assume that GET_MODE_CLASS is accurate for extra CC modes
3788 * config/i860/i860.h (INIT_CUMULATIVE_ARGS): Pass correct
3789 number of arguments to aggregate_value_p.
3791 * genmodes.c (RESET_FLOAT_FORMAT, reset_float_format): New.
3792 * machmode.def: Explain ARCH-modes.def. Document
3793 RESET_FLOAT_FORMAT. Improve commentary on various mode
3794 clusters. Do not define OI, PQI, PHI, PSI, PDI, QF, HF, TQF,
3795 XF, or TF modes here. Remove backward-compatibility
3798 * config/alpha/alpha-modes.def: New file; define TF mode.
3799 * config/arc/arm-modes.def: Define XF mode.
3800 * config/c4x/c4x-modes.def: Define QF and HF modes. Unset
3801 float format for SF and DF modes.
3802 * config/dsp16xx/dsp16xx-modes.def: New file; define HF mode.
3803 * config/i386/i386-modes.def: Define XF and TF modes.
3804 * config/i960/i960-modes.def: Define TF mode.
3805 * config/ia64/ia64-modes.def: Define TF and OI modes.
3806 * config/m68k/m68k-modes.def: New file; define XF mode.
3807 * config/mips/mips-modes.def: New file; define TF mode, reset
3808 formats for SF and DF modes.
3809 * config/pa/pa-modes.def: Define TF mode.
3810 * config/rs6000/rs6000.c: Define TF and PSI modes.
3811 * config/s390/s390-modes.def: Define OI mode.
3812 * config/sh/sh-modes.def: New file; define PSI mode.
3813 * config/sparc/sparc-modes.def: Define TF mode.
3814 * config/vax/vax-modes.def: New file; reset formats for SF and
3817 * config/c4x/c4x.c (c4x_override_options): No need to mess
3818 with real_format_for_mode or set REAL_MODE_FORMATs.
3819 (c4x_immed_int_constant): Don't apply GET_MODE_CLASS to rtx
3821 * config/i386/i386.c (override_options): No need to set
3822 REAL_MODE_FORMATs here.
3823 * config/i960/i960.c (i960_initialize): Likewise.
3824 * config/m68k/m68k.c (m68k_override_options): Likewise.
3825 * config/ia64/ia64.c (ia64_override_options): Set REAL_MODE_FORMAT
3826 for TFmode only if not the default.
3827 * config/mips/mips.c (override_options): Likewise.
3828 * config/vax/vax.c (override_optionms): Set REAL_MODE_FORMAT for
3829 DFmode only if not the default.
3831 * config/i370/i370.h (RET_REG): Don't consider TFmode.
3832 * config/m68hc11/m68hc11.c (print_operand): Don't consider XFmode.
3833 * config/dsp16xx/dsp16xx.c (hard_regno_mode_ok): #if 0 out use
3834 of modes that don't appear anywhere in the machine description.
3836 * config/arc/arc-modes.def, config/arm/arm-modes.def
3837 * config/c4x/c4x-modes.def, config/frv/frv-modes.def
3838 * config/i386/i386-modes.def, config/i960/i960-modes.def
3839 * config/ia64/ia64-modes.def, config/mmix/mmix-modes.def
3840 * config/pa/pa-modes.def, config/pdp11/pdp11-modes.def
3841 * config/rs6000/rs6000-modes.def, config/s390/s390-modes.def
3842 * config/sparc/sparc-modes.def: Convert to new style for
3843 declaring extra CC modes.
3845 2003-10-13 Zack Weinberg <zack@codesourcery.com>
3847 * cpplex.c (_cpp_clean_line): In the common case of a line
3848 with no trigraphs and no \-newline, avoid writing to memory.
3849 (_cpp_skip_block_comment): Use a local 'cur' pointer instead
3850 of the buffer member. Make c an uchar to avoid unnecessary
3853 2003-10-13 Nathanael Nerode <neroden@gcc.gnu.org>
3855 * configure.in: Remove unnecessary test.
3856 * configure: Regenerate.
3858 * configure.in: Fix grammatical error. Move UWIN host error to...
3859 * config.host: Here.
3860 * configure: Regenerate.
3862 2003-10-13 Andreas Krebbel <krebbel1@de.ibm.com>
3864 * config/s390/s390.md ("*fmadddf4", "*fmsubdf4", "*fmaddsf4",
3865 "*fmsubsf4"): Insns are now dependent on TARGET_FUSED_MADD instead
3866 of flag_unsafe_math_optimizations.
3867 * config/s390/s390.h ("MASK_NO_FUSED_MADD", "TARGET_NO_FUSED_MADD",
3868 "TARGET_FUSED_MADD", "TARGET_SWITCHES"): Introduced new target flags
3869 fused-madd and no-fused-madd.
3870 * doc/invoke.texi: Documented the new options fused-madd and
3871 no-fused-madd for S/390.
3873 2003-10-14 Alan Modra <amodra@bigpond.net.au>
3875 * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Choose
3876 MASK_ALIGN_NATURAL if rs6000_alignment_string not given. Don't
3878 (ADJUST_FIELD_ALIGN, ROUND_TYPE_ALIGN): Update comment.
3879 * config/rs6000/rs6000.c: Formatting.
3880 (rs6000_parse_alignment_option): Only set rs6000_alignment_flags
3881 when rs6000_alignment_string given.
3883 2003-10-13 Eric Botcazou <ebotcazou@libertysurf.fr>
3886 * config/sparc/sparc.c (MUST_SAVE_REGISTER): Delete.
3887 (sparc_flat_must_save_register_p): New function to decide whether
3888 a register must be saved/restored in the function prologue/epilogue.
3889 (sparc_flat_compute_frame_size): Use it instead of MUST_SAVE_REGISTER.
3891 2003-10-12 Steven Bosscher <steven@gcc.gnu.org>
3893 * config/avr/avr.c, config/avr/avr-protos.h: Convert to
3894 ISO C90 function declarations and definitions.
3895 * config/sh/sh.c, config/sh/sh-protos.h: Likewise.
3897 2003-10-12 Nathanael Nerode <neroden@gcc.gnu.org>
3899 * config.gcc (*-*-freebsd*): Use tm_defines instead of tiny
3900 config files which do the same thing.
3901 * config/freebsd3.h, config/freebsd4.h, config/freebsd5.h,
3902 config/freebsd6.h: Remove now unnecessary files.
3904 2003-10-12 Steven Bosscher <steven@gcc.gnu.org>
3906 * c-common.c (c_common_truthvalue_conversion): Warn if the
3907 address of a non-weak function is used as a truth value.
3909 2003-10-12 Kazu Hirata <kazu@cs.umass.edu>
3911 * config/h8300/h8300.c (WORD_REG_USED): Use SP_REG instead of
3913 * config/h8300/h8300.h (REGNO_OK_FOR_BASE_P): Use MAC_REG
3914 instead of a literal.
3916 2003-10-12 Hans-Peter Nilsson <hp@bitrange.com>
3918 * doc/extend.texi (Function Attributes): Mention the exceptional
3919 path for noreturn-marked functions.
3921 2003-10-12 Jan Hubicka <jh@suse.cz>
3923 * cgraphunit.c (cgraph_decide_inlining): Fix uninitialized variable
3926 2003-10-12 Danny Smith <dannysmith@users.sourceforge.net>
3928 * config/i386/i386.c (x86_this_parameter): Fix typo.
3930 203-10-11 Jan Hubicka <jh@suse.cz>
3932 * Makefile.in (web.o): New.
3934 * rtl.h (web_main): Declare.
3935 * timervar.def (TV_WEB): New.
3936 * toplev.c (dump_file_index, dump_file_info): Add DFI_web.
3937 (rest_of_hanle_web): New.
3938 (flag_web): New static variable.
3939 (lang_independent_options): Add "web".
3940 (rest_of_compilation): Call rest_of_handle_web.
3941 * invoke.texi (-fweb): Document.
3942 * common.opt (fweb): New.
3943 * flags.h (flag_web): New.
3944 * opts.c (decode_options): Set flag_web at -O3.
3946 * passes.texi (web construction): Document.
3947 * invoke.texi (-O3): Document that -fweb is enabled.
3949 * regrename.c (regrename_optimize): Deal better with situation when
3952 * sched-ebb.c: Include params.h and profile.h
3953 (schedule_ebbs): Use tracer parameters to discover superblocks
3954 * Makefile.in (sched-ebb.o): Add dependencies.
3956 2003-10-11 Roger Sayle <roger@eyesopen.com>
3958 * fold-const.c (negate_mathfn_p): New function to determine whether
3959 a built-in mathematical function is sign preserving, f(-x) == -f(x).
3960 Add support for BUILT_IN_ASIN, BUILT_IN_ASINF and BUILT_IN_ASINL.
3961 (tree_swap_operands_p): Change API to take an additional argument
3962 indicating that the swapped operands evaluate in reverse order.
3963 Canonicalize VAR_DECLs and PARM_DECLs last if we can, i.e. neither
3964 operand side-effects or we don't care about flag_evaluation_order.
3965 (reorder_operands_p): New function to check whether its safe to
3966 evaluate the given operands in reverse order.
3967 (negate_expr_p): We can always negate integer constants unless
3968 we honor -ftrapv and the signed type would overflow. Only allow
3969 -(A-B) into B-A if reorder_operands_p says that its OK. Allow
3970 negation of COMPLEX_CST if both real and imaginary parts can be
3971 negated. Allow negation through floating point extensions and
3972 sign-preserving built-in functions.
3973 (negate_expr): Move the code to negate integers from "fold" to
3974 here. Always negate integer constants unless we honor -ftrapv
3975 and the signed type would overflow. Always negate real constants
3976 unless we honor -ftrapping-math. Only convert -(A-B) into B-A
3977 if allowed by reorder_operands_p. Add support for COMPLEX_CST.
3978 Optimize negation through floating point extensions and
3979 sign-preserving built-in functions (as defined by negate_mathfn_p).
3980 (fold): Adjust calls to tree_swap_operands_p.
3981 (fold <NEGATE_EXPR>): Move the remaining negation optimizations
3982 to negate_expr_p/negate_expr.
3983 (fold <MINUS_EXPR>): Use reorder_operands_p to check whether we're
3984 allowed to convert (-A) - B into (-B) - A.
3986 2003-10-11 Roger Sayle <roger@eyesopen.com>
3988 * builtins.c (expand_builtin_strcmp): Defend against the possibility
3989 that gen_cmpstrsi may fail: Stabilize the argument list against
3990 re-evaluation and expand the library call directly using this saved
3991 argument list if a cmpstrsi sequence can't be generated.
3992 (expand_builtin_strncmp): Likewise.
3994 * config/i386/i386.md (cmpstrsi, movstrsi): Disable with -Os.
3996 2003-10-11 Roger Sayle <roger@eyesopen.com>
3998 PR optimization/12260
3999 * simplify-rtx.c (simplify_unary_operation): Simplify all unary
4000 operations through CONST nodes. Optimize (neg (plus X C)) as
4001 (minus -C X) for constant values C.
4002 (simplify_binary_operation): Optimize (minus (neg X) C) as
4003 (minus -C X) for constant values C.
4004 (simplify_plus_minus): Avoid creating (neg (const (plus X C)),
4005 instead create (minus -C X).
4007 2003-10-11 Roger Sayle <roger@eyesopen.com>
4009 * expr.c (expand_expr <PLUS_EXPR>): Let expand_operands call
4010 safe_from_p for us, once it chooses an evaluation order.
4011 (expand_expr <MULT_EXPR>): Likewise.
4012 (expand_expr <MIN_EXPR> <MAX_EXPR>): Likewise. If expand_operands
4013 places the second operand in "target", swap the operands.
4014 (do_store_flag): Let expand_operands call safe_from_p for us.
4016 2003-10-11 Eric Botcazou <ebotcazou@libertysurf.fr>
4018 PR optimization/12544
4019 * function.c (put_var_into_stack): Don't generate ADDRESSOFs
4020 for DECL_NONLOCAL decls.
4022 2003-10-11 Kazu Hirata <kazu@cs.umass.edu>
4024 * expr.c: Follow spelling conventions.
4025 * final.c: Likewise.
4026 * optabs.c: Likewise.
4027 * sched-deps.c: Likewise.
4028 * sdbout.c: Likewise.
4030 Sat Oct 11 12:24:23 CEST 2003 Jan Hubicka <jh@suse.cz>
4032 * varasm.c (notice_global_symbol): Fix handling of variables; avoid
4033 re-computing of variable.
4035 2003-10-11 Richard Henderson <rth@redhat.com>
4037 * config/alpha/alpha.c (alpha_return_in_memory): Rename from
4038 return_in_memory, make static, change signature to match target hook.
4039 (alpha_setup_incoming_varargs): Make static, change signature to
4040 match target hook, add code for vms and unicos.
4041 (TARGET_PROMOTE_FUNCTION_ARGS, TARGET_PROMOTE_FUNCTION_RETURN,
4042 TARGET_PROMOTE_PROTOTYPES, TARGET_STRUCT_VALUE_RTX,
4043 TARGET_RETURN_IN_MEMORY, TARGET_SETUP_INCOMING_VARARGS,
4044 TARGET_STRICT_ARGUMENT_NAMING,
4045 TARGET_PRETEND_OUTGOING_VARARGS_NAMED): New.
4046 * config/alpha/alpha-protos.h: Update.
4047 * config/alpha/alpha.h (PROMOTE_FUNCTION_ARGS,
4048 PROMOTE_FUNCTION_RETURN, RETURN_IN_MEMORY,
4049 SETUP_INCOMING_VARARGS): Remove.
4050 * config/alpha/unicosmk.h (SETUP_INCOMING_VARARGS): Remove.
4051 * config/alpha/vms.h (SETUP_INCOMING_VARARGS): Remove.
4053 2003-10-11 Ian Lance Taylor <ian@wasabisystems.com>
4055 * config/arm/arm.c (arm_regno_class): Handle IWMMXT_GR_REGS.
4057 2003-10-11 Kazu Hirata <kazu@cs.umass.edu>
4059 * config/m68k/lb1sf68.asm: Follow spelling conventions.
4060 * config/m68k/m68k.c: Likewise.
4061 * config/m68k/m68k.h: Likewise.
4062 * config/m68k/m68k.md: Likewise.