1 2003-11-27 J"orn Rennecke <joern.rennecke@superh.com>
3 * cse.c (cse_set_around_loop): When changing a constant load
4 to a register -register copy, add a REG_EQUAL note.
6 2003-11-27 Randolph Chung <tausq@debian.org>
7 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
9 * pa.c (hppa_profile_hook): Split gen_call_profiler into separate
10 insns. Use the regular call expander for the call to the profiler.
11 * pa.md (call_profiler): Delete.
12 (load_offset_label_address): New insn to load the address of the
13 current function for the profiler.
14 (lcla1, lcla2): New insns to output a code label and load its address.
16 2003-11-27 Kazu Hirata <kazu@cs.umass.edu>
18 * final.c (final_scan_insn): Remove commented-out code.
20 2003-11-27 Nathanael Nerode <neroden@gcc.gnu.org>
22 * doc/install.texi: Remove ADAC reference and make accurate.
24 2003-11-27 Kazu Hirata <kazu@cs.umass.edu>
26 * config/h8300/h8300.h (FUNCTION_VALUE): Use R0_REG.
27 (FUNCTION_VALUE_REGNO_P): Likewise.
28 * config/h8300/h8300.md: Define R0_REG.
30 2003-11-27 Kazu Hirata <kazu@cs.umass.edu>
32 * config/h8300/h8300.c: Fix formatting.
33 * config/h8300/h8300.md: Likewise.
35 2003-11-27 Kazu Hirata <kazu@cs.umass.edu>
37 * config/h8300/h8300.h (ELIMINABLE_REGS): Update a comment.
39 2003-11-27 Kazu Hirata <kazu@cs.umass.edu>
41 * config/h8300/h8300.md: Give names to anonymous insns.
43 2003-11-27 Kazu Hirata <kazu@cs.umass.edu>
45 * config/h8300/h8300.md (extendqisi2): Remove constraints.
47 2003-11-27 Gunther Nikl <gni@gecko.de>
49 * doc/tm.texi (SYSROOT_HEADERS_SUFFIX_SPEC): Fix typo.
51 2003-11-27 Eric Botcazou <ebotcazou@libertysurf.fr>
54 * final.c (frame_pointer_needed): Fix comment.
55 * reload1.c (reload): Decrease alignment of the frame
56 pointer if it was used for register allocation.
58 2003-11-27 Eric Botcazou <ebotcazou@libertysurf.fr>
61 * reg-stack (move_for_stack_reg): New prototype. Return
62 whether a control flow insn was deleted.
63 (subst_stack_regs_pat): Likewise, using the information provided
64 by move_for_stack_reg.
65 (subst_stack_regs): Likewise, using the information provided
66 by subst_stack_regs_pat.
67 (convert_regs_1): Record whether a control flow insn was deleted,
68 using the information provided by subst_stack_regs. Purge dead
69 edges only if a control flow insn was deleted.
71 2003-11-27 Eric Botcazou <ebotcazou@libertysurf.fr>
79 * builtins.c (expand_builtin_apply): Use virtual_outgoing_args_rtx
80 as the base address to copy the memory arguments to.
82 2003-11-26 Danny Smith <dannysmith@users.sourceforge.net>
84 * config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Declare
85 function aliases as functions.
87 2003-11-26 Nathanael Nerode <neroden@gcc.gnu.org>
89 * aclocal.m4 (gcc_AC_PROG_GNAT): Rewrite to account for removal
91 * configure: Regenerate.
93 * Makefile.in: Remove references to ADAC.
95 * configure.in: Remove check for whether ${ADAC} accepts -Wno-long-long.
96 * configure: Regenerate.
98 2003-11-26 Eric Botcazou <ebotcazou@libertysurf.fr>
99 Olivier Hainque <hainque@act-europe.fr>
102 * config/sparc/sparc-protos.h (compute_frame_size): New prototype.
103 (sparc_flat_compute_frame_size): Likewise.
104 (sparc_flat_save_restore): Move prototype...
105 * config/sparc/sparc.c (sparc_flat_save_restore): ...here.
106 (save_regs): New prototype.
107 (build_big_number): Likewise.
108 (apparent_fsize): Change type to HOST_WIDE_INT.
109 (actual_fsize): Likewise.
110 (frame_base_offset): Likewise.
111 (build_big_number): Add support for HOST_BITS_PER_WIDE_INT == 64.
112 Change string descriptor to HOST_WIDE_INT_PRINT_DEC.
113 [TARGET_ARCH64]: Use the sequence of sparc_emit_set_const64_longway
114 to load a 64-bit constant.
115 (sparc_nonflat_function_prologue): Change string descriptor to
116 HOST_WIDE_INT_PRINT_DEC. Change offset type to HOST_WIDE_INT.
117 (output_restore_regs): Change offset type to HOST_WIDE_INT.
118 (sparc_nonflat_function_epilogue): Change string descriptor to
119 HOST_WIDE_INT_PRINT_DEC. Use build_big_number.
120 (output_sibcall): Change size type to HOST_WIDE_INT. Use
121 build_big_number. Change string descriptor to HOST_WIDE_INT_PRINT_DEC.
122 (sparc_frame_info): Change types for several components.
123 (sparc_flat_compute_frame_size): Update types according to previous
125 (sparc_flat_function_prologue): Change string descriptor to
126 HOST_WIDE_INT_PRINT_DEC. Change offset type to int. Use
128 (sparc_flat_function_epilogue): Change offset type to int.
129 Rename 'size1' into 'reg_offset1'. Change string descriptor to
130 HOST_WIDE_INT_PRINT_DEC. Use build_big_number. Change big number
131 limit to 4096 instead of 4095.
133 * config/sparc/sparc.c (mems_ok_for_ldd_peep): Change offset type to
136 2003-11-24 Waldek Hebisch <hebisch@math.uni.wroc.pl>
138 * function.c: Make outer_function-chain external.
139 * function.h: Likewise.
141 2003-11-24 Richard Sandiford <rsandifo@redhat.com>
143 * config.gcc (mips-sgi-irix6*): Add t-iris6gld to tmake_file when
145 * config/mips/iris6.h (IRIX6_STARTFILE_SPEC): New, taking the
146 whole of the previous STARTFILE_SPEC except crtbegin.o%s.
147 (IRIX6_ENDFILE_SPEC): Likewise ENDFILE_SPEC and crtend.o%s.
148 (STARTFILE_SPEC, ENDFILE_SPEC): Define in terms of the above.
149 (SUBTARGET_EXTRA_SPECS): Define.
150 * config/mips/iris6gld.h (LINK_SPEC): Change -init function
151 to __gcc_init and -fini function to __gcc_fini.
152 (STARTFILE_SPEC): Redefine, including irix6-crti.o before crtbegin.o.
153 (ENDFILE_SPEC): Likewise, including irix6-crtn.o after crtend.o.
154 (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP): Define.
155 * config/mips/t-iris6gld,
156 * config/mips/irix6-crti.asm,
157 * config/mips/irix6-crtn.asm: New files.
159 2003-11-24 Eric Christopher <echristo@redhat.com>
162 * c-decl.c (c_in_iteration_stmt, c_in_case_stmt): New.
163 (start_function): Use.
164 (c_push_function_context): Ditto.
165 (c-pop_function_context): Ditto.
166 (language_function): Move...
167 * c-tree.h: ... here. Add x_in_iteration_stmt, and
169 * c-parse.in (do_stmt_start, select_or_iter_stmt, stmt): Use
170 c_in_iteration_stmt, c_in_case_stmt for parser state. Move
171 check for valid break or continue statment here...
172 * c-semantics.c (genrtl_break_stmt, genrtl_continue_stmt): From
173 here. Change original errors to abort.
175 2003-11-24 Jan Hubicka <jh@suse.cz>
177 * fold-const.c (fold): Do not return early when optimizing COMPONENT_REF
180 2003-11-24 Kazu Hirata <kazu@cs.umass.edu>
182 * config/h8300/h8300.md (tablejump_h8300): Change to
184 (tablejump_h8300h): Change to *tablejump_h8300hs_advanced.
185 (tablejump_normal_mode): Change to *tablejump_h8300hs_normal.
186 (indirect_jump_h8300): Change to *indirect_jump_h8300.
187 (indirect_jump_h8300h): Change to
188 *indirect_jump_h8300hs_advanced.
189 (indirect_jump_normal_mode): Change to
190 *indirect_jump_h8300hs_normal.
192 2003-11-24 Kazu Hirata <kazu@cs.umass.edu>
194 * config/h8300/h8300.md: Remove constraints from expanders.
196 2003-11-24 Kazu Hirata <kazu@cs.umass.edu>
198 * config/h8300/h8300.md: (stm_h8300s_2): Change the name to
199 stm_h8300s_2_advanced.
200 (stm_h8300s_2_normal): New.
201 (stm_h8300s_2): Likewise.
202 (stm_h8300s_3): Change the name to stm_h8300s_3_advanced.
203 (stm_h8300s_3_normal): New.
204 (stm_h8300s_3): Likewise.
205 (stm_h8300s_4): Change the name to stm_h8300s_4_advanced.
206 (stm_h8300s_4_normal): New.
207 (stm_h8300s_4): Likewise.
208 (ldm_h8300s_2): Change the name to ldm_h8300s_2_advanced.
209 (ldm_h8300s_2_normal): New.
210 (ldm_h8300s_2): Likewise.
211 (ldm_h8300s_3): Change the name to ldm_h8300s_3_advanced.
212 (ldm_h8300s_3_normal): New.
213 (ldm_h8300s_3): Likewise.
214 (ldm_h8300s_4): Change the name to ldm_h8300s_4_advanced.
215 (ldm_h8300s_4_normal): New.
216 (ldm_h8300s_4): Likewise.
217 (two peephole2's): Enable only with !TARGET_NORMAL_MODE.
218 (two peephole2's): New.
220 2003-11-24 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
222 * genattrtab.c (simplify_cond): Update indices correctly.
223 (attr_alt_subset_p, attr_alt_subset_of_compl_p, attr_alt_intersection,
224 attr_alt_union, attr_alt_complement, attr_alt_bit_p, mk_attr_alt): New.
225 (check_attr_test, encode_units_mask, compute_alternative_mask,
226 make_alternative_compare, simplify_and_tree,
227 attr_rtx_cost, simplify_test_exp, gen_attr,
228 write_test_expr, walk_attr_value): Handle EQ_ATTR_ALT.
229 * rtl.def (EQ_ATTR_ALT): New.
231 2003-11-23 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
233 * genattrtab.c (strcmp_check, DEF_ATTR_STRING): New macros.
234 (length_str, delay_type_str, delay_1_0_str, num_delay_slots_str):
236 (main): Initialize them.
237 (find_attr): Canonicalize the attribute name string.
238 (attr_rtx_1, copy_boolean, expand_delays, gen_unit): Always canonicalize
240 (attr_printf, attr_eq): Use DEF_ATTR_STRING.
241 (check_attr_test, check_attr_value, make_length_attrs,
242 write_length_unit_log, simplify_by_exploding, gen_attr,
243 write_test_expr, write_attr_value, write_eligible_delay,
244 write_complex_function, make_internal_attr,
245 write_const_num_delay_slots): Changed due to change of type of
247 (fill_attr, evaluate_eq_attr, simplify_and_tree,
248 attr_rtx_cost, simplify_by_exploding, walk_attr_value): Use
251 2003-11-23 Kazu Hirata <kazu@cs.umass.edu>
254 * config/h8300/h8300.c (push): Call push_h8300hs_normal in
256 (pop): Call pop_h8300hs_normal in normal mode.
257 * config/h8300/h8300.md: Likewise.
258 (pushqi1_h8300hs_normal): New.
259 (pushqi1): Call pushqi1_h8300hs_normal in normal mode.
260 (pushhi1_h8300hs_normal): New.
261 (pushhi1): Call pushhi1_h8300hs_normal in normal mode.
262 (push_h8300hs_normal): New.
263 (pop_h8300hs_normal): Likewise.
265 2003-11-23 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
267 * genattrtab.c (count_sub_rtxs): Removed.
269 2003-11-23 Richard Earnshaw <rearnsha@arm.com>
271 * recog.c (preprocess_constraints): Only zero those elements of
272 recog_op_alt that are needed for this insn.
273 * arm.c (note_invalid_constants): A function can't contain invalid
274 constants if it has no constraints.
276 2003-11-22 Jan Hubicka <jh@suse.cz>
278 * i386.c (classify_argument): Pass __float128 in memory.
279 (ix86_return_in_memory): Likewise.
280 (ix86_libcall_value): Likewsie.
282 2003-11-22 Kazu Hirata <kazu@cs.umass.edu>
284 * config/h8300/h8300.c (dosize): Convert to ISO-C.
286 2003-11-22 J"orn Rennecke <joern.rennecke@superh.com>
288 * flow.c (update_life_info): Amend comment about when a register
291 2003-11-21 Kelley Cook <kcook@gcc.gnu.org>
293 * doc/.cvsignore: Delete.
295 2003-11-21 Daniel Berlin <dberlin@dberlin.org>
296 David Edelsohn <edelsohn@gnu.org>
298 * dwarf2out.c (add_location_or_const_value_attribute): Add support
301 2003-11-21 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
303 * config/mips/t-iris6 (CRTSTUFF_T_CFLAGS): Add -Wno-error.
304 (TARGET_LIBGCC2_CFLAGS): Define.
306 * crtstuff.c [HAS_INIT_SECTION] (__do_global_dtors): Declare.
307 (__do_global_ctors): Likewise.
309 2003-11-21 Mark Wielaard <mark@klomp.org>
311 * doc/invoke.texi (-O2): Doesn't enable -fweb.
313 2003-11-21 Kazu Hirata <kazu@cs.umass.edu>
315 * doc/invoke.texi: Mention dV and dZ.
317 2003-11-21 Kazu Hirata <kazu@cs.umass.edu>
319 * doc/invoke.texi: Update dump file names.
320 Remove de, dW, and dX.
322 2003-11-20 James E Wilson <wilson@specifixinc.com>
325 * reload1.c (reload): Delete special handling for setjmp.
327 2003-11-21 Andreas Tobler <a.tobler@schweiz.ch>
329 * mklibgcc.in: Evaluate shlib_slibdir_qual during link
331 * config/t-slibgcc-darwin: Adjust install path.
332 * config/rs6000/t-darwin: Revert multilib matches since
333 it is not used on darwin.
335 2003-11-20 Richard Henderson <rth@redhat.com>
337 * ssa.c, ssa-dce.c, ssa-ccp.c: Remove files.
338 * Makefile.in (OBJS-common, GTFILES): Don't reference them.
339 (gtype-desc.o, toplev.o, flow.o): Remove ssa.h.
340 (ssa.o, ssa-dce.o, ssa-ccp.o): Remove.
341 * flow.c: Don't include ssa.h.
342 (set_phi_alternative_reg): Remove.
343 (calculate_global_regs_live): Don't call it.
344 (mark_used_regs): Don't handle PHI.
345 * gengtype.c (open_base_files): Don't reference ssa.h.
346 * rtl.def (PHI): Remove.
347 * timevar.def (TV_TO_SSA, TV_SSA_CCP, TV_SSA_DCE, TV_FROM_SSA): Kill.
348 * common.opt: Remove -fssa, -fssa-ccp, -fssa-dce.
349 * opts.c (common_handle_option): Likewise.
350 * toplev.c (f_options): Likewise.
351 (DFI_ssa, DFI_ssa_ccp, DFI_ssa_dce, DFI_ussa): Remove.
352 (dump_file): Update to match.
353 (flag_ssa, flag_ssa_ccp, flag_ssa_dce): Remove.
354 (rest_of_handle_ssa): Remove.
355 (rest_of_compilation): Don't call it.
356 * toplev.h (flag_ssa, flag_ssa_dce, flag_ssa_ccp): Remove.
357 * doc/invoke.texi: Remove -fssa, -fssa-ccp, -fssa-dce.
358 * doc/passes.texi (SSA optimizations): Remove.
360 2003-11-20 Bob Wilson <bob.wilson@acm.org>
362 * configure.in: Add xtensa-*-* targets to test for dwarf2 debug_line.
363 * configure: Regenerate.
365 2003-11-20 Kelley Cook <kcook@gcc.gnu.org>
367 * Makefile.in (Makefile): Pass along CONFIG_SHELL.
369 2003-11-20 David Mosberger <davidm@hpl.hp.com>
371 * config/t-libunwind (LIB2ADDEH): Add unwind-c.c.
373 * unwind-libunwind.c (_Unwind_GetCFA): Implement.
374 (_Unwind_GetBSP) [UNW_TARGET_IA64]: New function.
376 2003-11-20 Fariborz Jahanian <fjahanian@apple.com>
377 David Edelsohn <edelsohn@gnu.org>
379 * calls.c (expand_call): Allocate new temp in pass1.
380 (store_one_arg): If PARALLEL, calculate excess using mode size of
382 * expr.c (emit_push_insn): If PARALLEL, calculate offset using
383 mode size of rtvec elt.
384 * function.c (assign_parms): Use parm in register, if available.
386 2003-11-20 Kazu Hirata <kazu@cs.umass.edu>
388 * config/h8300/lib1funcs.asm (MOVP): Remove.
392 2003-11-20 Richard Earnshaw <rearnsha@arm.com>
394 * arm.c (use_return_insn): New argument, SIBLING. Support returning
395 with a single instruction if the stack has been decremented by 4
396 and we have a frame pointer. Update all callers.
397 (output_return_instruction): Likewise.
398 (arm_output_epilogue): Change argument to SIBLING. Calculate
399 really_return from the new argument. Update all callers.
400 * arm.h (USE_RETURN_INSN): Pass NULL for the sibling.
401 * arm.md (sibcall_epilogue): Call use_return_insn directly, and
402 pass the sibling call.
403 * arm-protos.h (use_return_insn, arm_output_epilogue): Update
406 2003-11-20 Joseph S. Myers <jsm@polyomino.org.uk>
408 * Makefile.in (extraclean): Delete.
409 * configure.in (target_list): Remove extraclean.
410 * configure: Regenerate.
411 * doc/makefile.texi, doc/sourcebuild.texi: Update.
412 * objc/Make-lang.in (objc.extraclean): Delete.
414 2003-11-20 Joseph S. Myers <jsm@polyomino.org.uk>
416 * Makefile.in (lang_checks): Add.
417 (check-c++, check-f77, check-java, check-g++, check-g77,
418 check-objc): Remove hardcoded targets.
419 * doc/sourcebuild.texi: Document testsuite hooks.
420 * objc/Make-lang.in (check-objc, lang_checks): Add.
422 2003-11-19 Scott Snyder <snyder@fnal.gov>
425 * dwarf2out.c (gen_array_type_die): DW_AT_declaration should be a
426 flag, not a constant.
428 2003-11-19 Kelley Cook <kcook@gcc.gnu.org>
430 * config/arc/arc-protos.h: Update to C90 prototypes.
431 * config/arc/arc.c: Likewise.
432 * config/arc/initfini.c: Likewise.
434 2003-11-19 Andreas Krebbel <krebbel1@de.ibm.com>
436 * stmt.c (expand_goto): Memory clobbers added.
438 2003-11-19 Andreas Krebbel <krebbel1@de.ibm.com>
440 * reload.c (find_reloads): Added missing type casts.
442 2003-11-19 James E Wilson <wilson@specifixinc.com>
444 * combine.c (sets_function_arg_p): Delete unused function.
446 2003-11-19 Eric Christopher <echristo@redhat.com>
448 * reload1.c (reload): Revert 2 previous checkins.
450 2003-11-19 Nathanael Nerode <neroden@gcc.gnu.org>
452 * cpptrad.c (_cpp_scan_out_logical_line): Improve test for
453 whether directive begins at the beginning of a line.
455 2003-11-19 Richard Sandiford <rsandifo@redhat.com>
457 * config/frv/frv.c (frv_init_libfuncs): Correct ufix_optab entries.
459 2003-11-19 Gerald Pfeifer <gp@suse.de>
461 * doc/install.texi (Specific): Remove information on old versions
462 of glibc versus old versions of GCC.
464 2003-11-19 Richard SAndiford <rsandifo@redhat.com>
466 * emit-rtl.c (gen_lowpart): Don't force MEMs into a register unless
467 the register lowpart is a TRULY_NOOP_TRUNCATION.
469 2003-11-19 Richard Henderson <rth@redhat.com>
471 * config/i386/i386.c (print_reg): Handle QI and HI modes for
474 2003-11-19 Andreas Tobler <a.tobler@schweiz.ch>
476 * config/config.gcc (powerpc-*-darwin*): Add libgcc build
478 * config/t-slibgcc-darwin: New file, libgcc build specification.
479 * config/t-darwin: Add libgcc2 flag -fPIC.
480 * config/rs6000/t-darwin: Multilib matches float.
481 * libgcc-darwin.ver: New file, contains libgcc symbols.
483 2003-11-18 Nathanael Nerode <neroden@gcc.gnu.org>
485 * config/ns32k/ns32k.h: Remove obsolete comment.
487 2003-11-18 Roger Sayle <roger@eyesopen.com>
490 * config/arm/arm.c (arm_rtx_costs_1): Improve estimate of the code
491 size for calls to libgcc's div & mod subroutines when using -Os.
493 2003-11-18 Jan Hubicka <jh@suse.cz>
495 * cgraph.c (change_decl_assembler_name): Avoid bogus warnings.
497 2003-11-18 Marc Espie <espie@openbsd.org>
499 * config/rs6000/sysv4.h: OpenBSD hooks.
501 2003-11-18 Richard Henderson <rth@redhat.com>
503 * expr.c (expand_expr): Don't look through constant arrays if
504 they don't bind locally.
506 2003-11-17 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
508 * expr.c (convert_move): Use GET_MODE_PRECISION instead of bitsize
509 when seeing if truncation or extension.
511 2003-11-17 Eric Christopher <echristo@redhat.com>
513 * reload1.c (reload): Fix previous change.
515 2003-11-17 Scott Snyder <snyder@fnal.gov>
518 * dwarf2out.c (struct die_struct): Add die_definition field.
519 (add_AT_specification): New.
520 (gen_subprogram_die, gen_variable_die,
521 gen_struct_or_union_type_die): Use it.
522 (prune_unused_types_mark): If we're marking a forward declaration,
523 also mark the full definition, if it exists.
525 2003-11-16 Nick Clifton <nickc@redhat.com>
527 * config/stormy16/stormy16.h (BUILD_VA_LIST_TYPE): Delete.
528 * config/stormy16/stormy16-protos.h (xstormy16_build_va_list):
530 * config/stormy16/stormy16.c (xstormy16_build_va_list): Rename
531 to xstormy16_build_builtin_va_list and make static.
532 (TARGET_BUILD_BUILTIN_VA_LIST): Define.
534 2003-11-16 Kazu Hirata <kazu@cs.umass.edu>
536 * config/h8300/h8300-protos.h: Add the prototype for
537 same_cmp_following_p.
538 * config/h8300/h8300.c (same_cmp_following_p): New.
539 * config/h8300/h8300.md (peephole2): Use it.
541 2003-11-16 Kazu Hirata <kazu@cs.umass.edu>
543 * config/h8300/h8300.md: Don't use REGNO when its operand is
544 not guaranteed to be a REG.
546 2003-11-16 Richard Sandiford <rsandifo@redhat.com>
548 * Makefile.in (expr.o): Depend on $(TARGET_H).
549 * target.h (return_in_msb): New target hook.
550 * target-def.h (TARGET_RETURN_IN_MSB): New macro.
551 (TARGET_CALLS): Include it.
552 * calls.c (shift_returned_value): New function.
553 (expand_call): Use it.
554 * expr.c: Include target.h.
555 (copy_blkmode_from_reg): Check targetm.calls.return_in_msb when
556 deciding what padding is needed. Change the name of the local
557 padding variable from big_endian_correction to padding_correction.
558 * stmt.c (shift_return_value): New function.
559 (expand_return): Use it. Adjust memory->register copy in the same
560 way as copy_blkmode_from_reg. Only change the return register's
561 mode if it was originally BLKmode.
562 * doc/tm.texi (TARGET_RETURN_IN_MSB): Document.
563 * config/mips/mips.c (TARGET_RETURN_IN_MSB): Define.
564 (mips_fpr_return_fields): New, split out from mips_function_value.
565 (mips_return_in_msb, mips_return_fpr_pair): New functions.
566 (mips_function_value): Rework to use the functions above.
567 * config/mips/irix6-libc-compat.c: Delete.
568 * config/mips/t-iris6 (LIB2FUNCS_STATIC_EXTRA): Undefine.
570 2003-11-16 Kazu Hirata <kazu@cs.umass.edu>
572 * doc/install.texi (--enable-checking): Update valgrind's URL.
574 2003-11-16 Kazu Hirata <kazu@cs.umass.edu>
576 * config/h8300/h8300.md: Fix warnings by replacing -2147483648
577 with -2147483647 - 1.
579 2003-11-16 Gerald Pfeifer <gerald@pfeifer.com>
581 Fix links in online manuals.
582 * doc/invoke.texi (H8/300 Options): @xref to ld, not ld.info.
583 (Precompiled Headers): @pxref to cpp, not cpp.info.
585 2003-11-16 Jason Merrill <jason@redhat.com>
587 * Makefile.in, objc/Make-lang.in (objc.tags): Create TAGS.sub
588 files in each directory and TAGS files that include them for each
591 2003-11-15 Kazu Hirata <kazu@cs.umass.edu>
593 * config/h8300/lib1funcs.asm (divnorm): Store the sign in bit
596 (exitdiv): Look at bit 3 of S2L only.
598 2003-11-15 Kazu Hirata <kazu@cs.umass.edu>
600 * config/h8300/h8300.h (DO_GLOBAL_CTORS_BODY): Fix warnings.
601 (DO_GLOBAL_DTORS_BODY): Likewise.
603 2003-11-15 Joseph S. Myers <jsm@polyomino.org.uk>
605 * doc/install.texi (Prerequisites): Refine documentation of
606 autoconf, automake and perl requirements. Document required
609 <2003-11-14 Jason Merrill <jason@redhat.com>
611 * function.c (assign_parms): Use TREE_TYPE to determine the real
612 type of the argument object.
614 2003-11-14 Kazu Hirata <kazu@cs.umass.edu>
616 * config/h8300/lib1funcs.asm (___udivsi3): Peel off the first
619 2003-11-14 Fariborz Jahanian <fjahanian@apple.com>
621 * config/rs6000/rs6000.c (rs6000_move_block_from_reg):
622 New routine to save vararg registers on stack. Support for
623 -mpowerpc64 in mixed mode.
625 2003-11-14 Bernardo Innocenti <bernie@develer.com>
627 * config/m68k/m68k.c: Use C statements instead of #ifdef's when testing
628 for MOTOROLA versus MIT syntax. Improves readability and provides
629 better compile-time error checking for both code paths.
631 2003-11-14 Kelley Cook <kcook@gcc.gnu.org>
633 * config/frv/frv-protos.h: Update for C90.
634 * config/frv/frv.h: Likewise.
635 * config/frv/frvbegin.c: Likewise.
636 * config/frv/frv.c: Likewise.
637 (frv_adjust_field_align): Delete unused variable.
639 2003-11-14 Geoffrey Keating <geoffk@apple.com>
641 * config/rs6000/rs6000.md: Add 'DEFAULT_ABI == ABI_DARWIN'
642 to each place where TARGET_LONG_DOUBLE_128 is used with
643 DEFAULT_ABI == ABI_AIX.
645 * cppfiles.c (_cpp_find_file): Make 'one or more PCH files were found'
646 message comply with GNU standards.
648 2003-11-14 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
651 * function.c (struct epi_info): New field const_equiv.
652 (update_epilogue_consts): New function.
653 (keep_stack_depressed): Clear new field and verify scratch register
655 Call new function via note_stores.
656 (handle_epilogue_set): Allow setting SP equiv reg in different mode.
657 Allow PLUS where second operand is register known set to constant.
658 (emit_equiv_load): Write load using proper mode if source different.
659 * config/mips/mips.md (return_internal): Put (return) first.
661 2003-11-14 Kazu Hirata <kazu@cs.umass.edu>
663 * config/h8300/lib1funcs.asm (___udivsi3): Add a comment.
665 2003-11-14 Kazu Hirata <kazu@cs.umass.edu>
667 * config/h8300/lib1funcs.asm (modsi3): Don't save unused
670 (reti): Don't restore unused registers.
672 2003-11-14 Nick Clifton <nickc@redhat.com>
674 * config/fr30/fr30.c: Include toplev.h
676 2003-11-14 Richard Earnshaw <rearnsha@arm.com>
678 * except.c (sjlj_emit_function_enter): Mark internal label as LOCAL.
680 2003-11-14 Richard Earnshaw <rearnsha@arm.com>
682 * arm.c (arm_emit_vector_const, arm_output_load_gr): Use ISO C
683 function definition syntax.
685 2003-11-14 Eric Christopher <echristo@redhat.com>
687 * reload1.c (reload): Revert previous patch. Make
688 check for assignment into reg_equiv_address stricter.
690 2003-11-14 Arnaud Charlet <charlet@act-europe.fr>
692 * Makefile.in (POSTSTAGE1_FLAGS_TO_PASS): Pass ADAFLAGS.
694 2003-11-14 Richard Sandiford <rsandifo@redhat.com>
696 * config/frv/frv.c (frv_in_small_data_p): Return false for unknown
699 2003-11-14 Jason Merrill <jason@redhat.com>
702 * tree.c (build): A CALL_EXPR has side-effects if its arguments do.
703 * calls.c (call_expr_flags): New fn.
704 * tree.h: Declare it.
706 2003-11-13 Kazu Hirata <kazu@cs.umass.edu>
708 * config/h8300/lib1funcs.asm (__udivsi3): Remove.
709 (divmodsi3): Change the name to ___udivsi3.
712 2003-11-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
714 * libgcc2.c (__negdi2, __addvsi3, __addvdi3, __subvsi3, __subvdi3,
715 __mulvsi3, __negvsi2, __negvdi2, __mulvdi3, __lshrdi3, __ashldi3,
716 __ashrdi3, __ffsDI2, __muldi3, __clzDI2, __ctzDI2, __parityDI2,
717 __udivmoddi4, __divdi3, __moddi3, __cmpdi2, __ucmpdi2,
718 __fixunstfDI, __fixunsxfDI, __fixunsdfDI, __fixunssfDI,
719 __floatdixf, __floatditf, __floatdidf, __floatdisf, __gcc_bcmp):
720 Const-ify and/or initialize automatic variables at declaration.
722 2003-11-13 Kazu Hirata <kazu@cs.umass.edu>
724 * config/h8300/lib1funcs.asm (divmodsi4): Replace all the uses
725 of er4 with er3. Adjust all callers.
727 2003-11-13 Andrew Pinski <apinski@apple.com>
729 * config/darwin.c (machopic_output_possible_stub_label):
730 Allow stub symbol be not defined when outputting possible
733 2003-11-13 Kazu Hirata <kazu@cs.umass.edu>
735 * config/h8300/lib1funcs.asm (___udivsi3): Jump to reti
737 (___umodsi3): Likewise.
738 (exitdiv): Do not restore any register.
739 (reti): Restore registers.
741 2003-11-13 Steven Bosscher <stevenb@suse.de>
743 * tree-inline.c (walk_tree): Handle PLACEHOLDER_EXPR.
745 2003-11-13 Kazu Hirata <kazu@cs.umass.edu>
747 * config/h8300/lib1funcs.asm: Fix comment typos.
749 2003-11-13 Kazu Hirata <kazu@cs.umass.edu>
751 * config/h8300/lib1funcs.asm (udivsi3): Don't save/restore
752 unused registers. Don't jump to exitdiv.
755 2003-11-13 Mark Mitchell <mark@codesourcery.com>
756 Kean Johnston <jkj@sco.com>
759 * toplev.c (check_global_declarations): Do not warn about unused
762 2003-11-13 Pavel Pisa <pisa@cmp.felk.cvut.cz>
763 Kazu Hirata <kazu@cs.umass.edu>
765 * config/h8300/lib1funcs.asm (DenHighNonZero): Optimize using
766 the approximate quotient method.
768 2003-11-13 Richard Earnshaw <rearnsha@arm.com>
770 * combine.c (distribute_notes): When re-distributing the notes from
771 an insn we are about to delete, ensure we can't end up with a cyclic
774 2003-11-13 Eric Botcazou <ebotcazou@libertysurf.fr>
776 PR optimization/12926
777 * expr.c (expand_assignment) [COMPONENT_REF]: Don't put
778 the UNCHANGING_RTX_P flag on memory references to read-only
779 components that are not addressable.
781 2003-11-12 Kazu Hirata <kazu@cs.umass.edu>
783 * config/h8300/lib1funcs.asm (divmodsi4): Clear S0P in
786 2003-11-13 Jan Hubicka <jh@suse.cz>
789 * c-decl.c (finish_decl): Use change_decl_assembler_name.
790 * c-pragma.c (handle_pragma_redefine_extname): Likewise.
791 * varasm.c (make_decl_rtl): Likewise.
792 * cgraph.c (change_decl_assembler_name): New function.
793 * tree.h (set_decl_assembler_name): Kill dead declaration.
794 (change_decl_assembler_name): Declare.
796 * decl.c (make_rtl_for_nonlocal_decl): Use change_decl_assembler_name.
797 * decl2.c (make_rtl_for_nonlocal_decl): Use change_decl_assembler_name.
799 2003-11-12 Kazu Hirata <kazu@cs.umass.edu>
801 * config/h8300/lib1funcs.asm (___mulsi3): Don't save/restore
804 2003-11-12 Richard Sandiford <rsandifo@redhat.com>
807 * config/mips/t-iris6 (MULTILIB_OPTIONS): Put -mabi=n32 first.
808 (MULTILIB_OSDIRNAMES): Reorder accordingly.
810 2003-11-12 Janis Johnson <janis187@us.ibm.com>
812 * rs6000-protos.h (rs6000_initial_elimination_offset): Add.
813 (rs6000_stack_info): Remove. (debug_stack_info): Remove.
814 (rs6000_emit_eh_reg_restore): Add
815 * rs6000.c (rs6000_stack_t): Move from rs6000.h, change data type
816 of vars_size and total_size to HOST_WIDE_INT.
817 (emit_frame_save): Change parameter size to HOST_WIDE_INT.
818 (rs6000_stack_info): Make static; change data size to HOST_WIDE_INT.
819 (debug_stack_info): Make static; change output format of HOST_WIDE_INT
821 (rs6000_emit_eh_reg_restore): New, with code formerly in rs6000.md.
822 (rs6000_initial_elimination_offset): New, with code formerly in
823 INITIAL_ELIMINATION_OFFSET.
824 * rs6000.h (rs6000_stack_t): Remove.
825 (INITIAL_ELIMINATION_OFFSET): Replace code with call to function
826 rs6000_initial_elimination_offset.
827 * rs6000.md (UNSPECV_EH_RR split): Replace code with call to
828 rs6000_emit_eh_reg_restore.
830 2003-11-12 Mike Stump <mrs@apple.com>
832 * c-typeck.c (c_convert_parm_for_inlining): Add argnum, which
833 is the argumnt we are processing so that warnings and errors
834 will have that information.
835 * c-tree.h (c_convert_parm_for_inlining): Add argnum.
837 (lhd_tree_inlining_convert_parm_for_inlining): Likewse.
838 * langhooks.c (lhd_tree_inlining_convert_parm_for_inlining): Likewise.
839 * langhooks.h (convert_parm_for_inlining): Likewise.
840 * tree-inline.c (initialize_inlined_parameters): Compute and
843 2003-11-12 Alexey Starovoytov <alexey.starovoytov@sun.com>
844 Roger Sayle <roger@eyesopen.com>
846 PR optimization/12953
847 * tree-inline.c (inline_forbidden_p_1): Added check for BUILT_IN
848 before switch by FUNCTION_CODE.
850 2003-11-12 Richard Earnshaw <rearnsha@arm.com>
852 * arm.md (storehi): Avoid use of explicit subreg.
853 (storehi_bigend, storeinthi, movhi_bigend): Likewise.
855 2003-11-12 J"orn Rennecke <joern.rennecke@superh.com>
857 * config/sh/sh.md (prefetch): New pattern.
859 2003-11-11 Eric Christopher <echristo@redhat.com>
861 * reload1.c (reload): Verify that addresses for
862 reg_equiv_* are valid for the architecture.
864 2003-11-11 Eric Christopher <echristo@redhat.com>
866 * function.c (purge_addressof_1): Add libcall check.
867 Remove test for cached replacements on fallback case.
868 Simplify mode comparisons. Add libcall test for
871 2003-11-11 Kazu Hirata <kazu@cs.umass.edu>
873 * config/h8300/t-h8300: Fix an obsolete comment.
875 2003-11-11 James E Wilson <wilson@specifixinc.com>
877 * expmed.c (store_bit_field, extract_bit_field): Revert last two
880 2003-11-11 Kazu Hirata <kazu@cs.umass.edu>
882 * config/h8300/lib1funcs.asm: Replace DenHighZero with
885 2003-11-11 Jan Hubicka <jh@suse.cz>
887 * cgraphunit.c (cgraph_function_possibly_inlined_p): Use
890 2003-11-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
892 * pa.h (TRAMPOLINE_TEMPLATE): Fix flushing of cache lines when
893 generating 64-bit code.
895 2003-11-10 David Edelsohn <edelsohn@gnu.org>
897 * config/rs6000/rs6000.c (legitimate_lo_sum_address_p): Remove
898 accidental commit in previous change.
900 2003-11-10 Fariborz Jahanian <fjahanian@apple.com>
902 * config/rs6000/rs6000.h (STACK_SIZE_MODE): Add definition.
903 * config/rs6000/rs6000.c (reg_or_mem_operand): Add macho-style
905 (macho_lo_sum_memory_operand): Routine to recognize macho-style
908 2003-11-10 Richard Henderson <rth@redhat.com>
910 * dwarf2out.c (gen_label_die): Cope with DECL_RTL not set.
912 2003-11-10 Matt Austern <austern@apple.com>
914 * config/darwin-protos.h (darwin_assemble_visibility): Declare.
915 * config/darwin.c (darwin_assemble_visibility): Define. Warn for
916 anything other than VISIBILITY_DEFAULT and VISIBILITY_HIDDEN.
917 * config/darwin.h (TARGET_ASM_ASSEMBLE_VISIBILITY): Use
918 darwin_assemble_visibility instead of default.
920 2003-11-10 Waldek Hebisch <hebisch@math.uni.wroc.pl>
923 * config/sparc/sparc.c (sparc_initialize_trampoline): Call
924 __enable_execute_stack only after writing onto the stack.
925 (sparc64_initialize_trampoline): Likewise.
927 2003-11-09 Roger Sayle <roger@eyesopen.com>
929 * loop.c (check_dbra_loop): Try swapping the comparison operands
930 of the loop condition to identify a suitable induction variable.
931 * unroll.c (loop_iterations): Likewise.
933 2003-11-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
935 * config/sparc/sparc.h (TARGET_CPU_CPP_BUILTINS): Fix sparc vs
936 sparc64 #cpu and #machine assertions.
938 2003-11-09 Richard Henderson <rth@redhat.com>
940 * Makefile.in (rtlanal.o): Depend on BASIC_BLOCK_H.
942 2003-11-09 Jan Hubicka <jh@suse.cz>
944 * tree-optimize.c (tree_rest_of_compilation): Fix warning.
946 * cgraphunit.c (cgraph_expand_function): Use
947 cgraph_possibly_inlined_p.
948 * tree-optimize.c (tree_rest_of_compilation): Do not kill saved tree.
950 * opts.c (common_handle_option): Do not set max-inline-insns.
951 * params.def: Update comments.
952 (PARAM_MAX_INLINE_INSNS): Kill.
953 * invoke.texi (max-inline-insns): Kill.
955 2003-11-08 Joseph S. Myers <jsm@polyomino.org.uk>
959 * c-format.c (set_Wformat): Do not enable -Wformat-y2k by default.
960 * invoke.texi: Update.
962 2003-11-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
964 PR optimization/12630
965 * pa.c (compute_movstrsi_length): Rename to compute_movstr_length.
966 Handle length computation 64-bit moves.
967 (compute_clrstr_length, output_block_clear): Implement block clear.
968 (output_block_move): Handle 64-bit moves.
969 (pa_adjust_insn_length): Use compute_movstr_length and
970 compute_clrstr_length.
971 * pa.md (movstrsi): Revise operand order and comments. Don't use
973 (movstrsi_internal): Delete.
974 (movstrsi_prereload, movstrsi_postreload): New insns. Define splitter
975 and peephole2 patterns to transform prereload to postreload form.
976 (movstrdi, movstrdi_prereload, movstrdi_postreload, clrstrsi,
977 clrstrsi_prereload, clrstrsi_postreload, clrstrdi, clrstrdi_prereload,
978 clrstrdi_postreload): New patterns for 64-bit block move, and block
980 * pa-protos.h (output_block_clear): New prototype.
982 2003-11-08 Andreas Schwab <schwab@suse.de>
984 * dbxout.c (current_file): Also wrap inside DBX_DEBUGGING_INFO ||
985 XCOFF_DEBUGGING_INFO.
987 2003-11-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
989 * dbxout.c (current_file): Wrap declaration in DBX_USE_BINCL.
991 2003-11-07 Geoffrey Keating <geoffk@apple.com>
993 * config/rs6000/rs6000.c (rs6000_legitimize_address): Remove
996 * cppfiles.c (pch_open_file): New parameter 'invalid_pch', set it.
997 (find_file_in_dir): Likewise.
998 (_cpp_find_file): Print message if no header file is found
999 but an invalid PCH file was.
1001 2003-11-08 Joseph S. Myers <jsm@polyomino.org.uk>
1003 * c-typeck.c (pedantic_lvalue_warning): Deprecate compound
1004 expressions as lvalues.
1005 (internal_build_compound_expr): Remove special handling for
1007 * doc/extend.texi: Document that all extended lvalues are now
1010 2003-11-07 Geoffrey Keating <geoffk@apple.com>
1013 * dbxout.c (struct dbx_file): Do not save for PCH.
1014 (current_file): Likewise.
1015 (dbxout_init): Don't allocate struct dbx_file using GC.
1016 (dbxout_start_source_file): Likewise.
1018 2003-11-07 Falk Hueffner <falk@debian.org>
1020 * config/alpha/elf.h, config/alpha/unicosmk.h,
1021 config/alpha/vms.h: Convert to ISO C90.
1023 2003-11-07 Nathanael Nerode <neroden@gcc.gnu.org>
1025 * config/arm/pe.h: Convert to ISO C90.
1027 2003-11-07 J"orn Rennecke <joern.rennecke@superh.com>
1029 * sh-protos.h (sh_pch_valid_p): Declare.
1030 * sh.c ("intl.h"): Include.
1031 (TARGET_PCH_VALID_P): Override.
1032 (sh_target_switches): New variable.
1033 (target_switches): Define.
1034 (sh_pch_valid_p): New function.
1036 * sh.h (MODE_AFTER): Don't change mode unless TARGET_HITACHI.
1038 2003-11-07 Jan Hubicka <jh@suse.cz>
1040 * i386.c (x86_64_sign_extended_value): Return false from tls variables.
1041 (x86_64_zero_extended_value): likewise.
1043 2003-11-07 Richard Sandiford <rsandifo@redhat.com>
1045 * config/mips/mips.md (loadgp): Take $25 as a second operand.
1046 * config/mips/mips.c (mips_expand_prologue): Modify accordingly.
1048 2003-11-06 Matt Austern <austern@apple.com>
1050 * c-common.c (handle_visibility_attribute): Set DECL_VISIBILITY
1051 field instead of hanging an attribute object off the decl.
1052 * tree.h (DECL_VISIBLITY): New accessor macro for
1053 symbol_visibility field in struct tree_decl.
1054 (enum symbol_visibility): Move definition to before tree_decl.
1055 (struct tree_decl): Define new two-bit field, symbol_visibility.
1056 (decl_visibility): Remove declaration.
1057 * varasm.c (maybe_assemble_visibility): Use DECL_VISIBILITY
1058 instead of decl_visibility.
1059 (default_binds_local_p_1): Use DECL_VISIBILITY instead of
1061 (decl_visibility): Remove.
1063 2003-11-06 Ulrich Weigand <uweigand@de.ibm.com>
1065 * config/s390/s390.c (s390_emit_epilogue): Recognize more cases
1066 where register 14 will be saved.
1068 2003-11-06 Geoffrey Keating <geoffk@apple.com>
1070 * config/rs6000/rs6000.h (USE_FP_FOR_ARG_P): Move to rs6000.c.
1071 (USE_ALTIVEC_FOR_ARG_P): Likewise.
1072 * config/rs6000/rs6000.c (USE_FP_FOR_ARG_P): Move from rs6000.h.
1073 Take a pointer as the CUM parameter. Update callers.
1074 (USE_ALTIVEC_FOR_ARG_P): Likewise. Also correct for Darwin/AIX
1076 (function_arg_advance): Use USE_ALTIVEC_FOR_ARG_P. Correct case
1077 of vector parameters as named arguments of stdarg function.
1078 (function_arg): Likewise.
1080 * config/rs6000/darwin.h (ASM_SPEC): Use -force_cpusubtype_ALL when
1081 -maltivec is specified, not the non-existent -faltivec.
1083 2003-11-06 Ulrich Weigand <uweigand@de.ibm.com>
1085 * config/s390/s390-protos.h (s390_function_value): Declare.
1086 * config/s390/s390.c (TARGET_RETURN_IN_MEMORY): Define.
1087 (s390_return_in_memory): New function.
1088 (s390_function_value): New function.
1089 (s390_function_arg_float): Return false for all arguments larger
1091 (s390_function_arg_pass_by_reference): Likewise. Return true for
1092 all vector arguments.
1093 (s390_function_arg_integer): New function.
1094 (s390_function_arg_advance): Call it. Add sanity checks.
1095 (s390_function_arg): Likewise.
1096 * config/s390/s390.h (FUNCTION_VALUE): Call s390_function_value.
1097 (LIBCALL_VALUE): Likewise.
1099 (RETURN_IN_MEMORY): Remove.
1101 2003-11-06 Richard Sandiford <rsandifo@redhat.com>
1103 * config/mips/mips-protos.h (mips_initial_elimination_offset): Change
1104 return type to HOST_WIDE_INT.
1105 * config/mips/mips.c (mips_frame_info): Give sizes type HOST_WIDE_INT.
1106 Make initialized a bool. Make register masks unsigned ints.
1107 (compute_frame_size): Make same mask change here. Use HOST_WIDE_INT
1109 (mips_initial_elimination_offset): Return a HOST_WIDE_INT.
1110 (mips_output_function_prologue): Print sizes as HOST_WIDE_INTs.
1112 2003-11-06 Richard Sandiford <rsandifo@redhat.com>
1114 * config/frv/frv.c (frv_initial_elimination_offset): Remove bogus
1117 2003-11-06 Richard Sandiford <rsandifo@redhat.com>
1119 * config/frv/frv.h (ASM_OUTPUT_ALIGN_WITH_NOP): Define.
1121 2003-11-06 Momchil Velikov <velco@fadata.bg>
1123 * config/mips/mips.c (override_options): Set MASK_SOFT_FLOAT
1126 2003-11-06 Jan Hubicka <jh@suse.cz>
1128 * builtins.c (simplify_builtin_strrchr, simplify_builtin_strpbrk): Add
1131 2003-11-06 Zack Weinberg <zack@codesourcery.com>
1133 * genmodes.c: Change the word "bitsize" to "precision" throughout.
1134 * machmode.def: Likewise.
1135 * machmode.h (GET_MODE_SIZE): Cast value to unsigned short.
1136 (GET_MODE_BITSIZE): Define as GET_MODE_SIZE * BITS_PER_UNIT.
1137 (GET_MODE_PRECISION): New macro.
1138 (mode_bitsize): Renamed mode_precision.
1139 * stor-layout.c (mode_for_size, smallest_mode_for_size):
1140 Use GET_MODE_PRECISION; clarify comments.
1142 2003-11-05 Joseph S. Myers <jsm@polyomino.org.uk>
1144 * doc/install-old.texi: Remove old documentation of building
1146 * doc/install.texi: Move some of it to here.
1148 2003-11-05 Per Bothner <pbothner@apple.com>
1150 PR preprocessor/12891
1151 * c-opts.c (finish_options): Set include_cursor to disable premature
1152 calls to push_command_line_include from cpp_scan_nooutput.
1153 Fixes bug reported by DJ Delorie.
1155 2003-11-05 Geoffrey Keating <geoffk@apple.com>
1157 * config/rs6000/rs6000.c (setup_incoming_varargs): Remove
1158 code supporting old-style varargs.
1160 * config/rs6000/rs6000.c (rs6000_machopic_legitimize_pic_address): Use
1161 an intermediate register for better optimisation.
1163 2003-11-05 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1165 PR optimization/10080
1166 * cfgloopanal.c (variable_initial_value, variable_initial_values,
1167 simple_loop_exit_p): Record the fact that initial value is extended
1169 (count_strange_loop_iterations, count_loop_iterations): Handle
1170 ivs that iterate in a narrower mode. Fix handling of overflows.
1171 Improve handling of NE conditions.
1172 (inverse, fits_in_mode_p): New static functions.
1173 (simple_increment): Detect variables that iterate in a narrower mode.
1174 * cfgloop.h (struct loop_desc): Fields inner_mode and extend added.
1176 2003-11-05 Geoffrey Keating <geoffk@apple.com>
1178 * config/rs6000/rs6000.c (compute_vrsave_mask): Correct off-by-one
1181 * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Darwin
1184 2003-11-05 Joseph S. Myers <jsm@polyomino.org.uk>
1186 * c-typeck.c (pedantic_lvalue_warning): Deprecate use of
1187 conditional expressions as lvalues.
1189 2003-11-05 Kazu Hirata <kazu@cs.umass.edu>
1191 * tsystem.h: Add the prototype of strlen.
1192 * unwind-pe.h (read_encoded_value_with_base): Add an
1193 appropriate cast to handle a case where the pointer size is
1194 smaller than sizeof (int).
1196 2003-11-04 Richard Sandiford <rsandifo@redhat.com>
1198 * config/mips/mips-protos.h (mips_global_pic_constant_p): Delete.
1199 (mips_delegitimize_address): Delete.
1200 (mips_gotoff_global, mips_load_got_page): Declare.
1201 (mips_load_got_global, mips_rewrite_small_data): Declare.
1203 * config/mips/mips.h (FIND_BASE_TERM): Remove definition.
1204 (DANGEROUS_FOR_LA25_P): Use global_got_operand.
1205 (PREDICATE_CODES): Add global_got_operand, local_got_operand and
1206 small_data_pattern. Remove CONST from const_arith_operand's entry.
1208 * config/mips/mips.c (UNSPEC_ADDRESS_P, CONST_GP_P): New macros.
1209 (UNSPEC_ADDRESS, UNSPEC_ADDRESS_TYPE): Likewise.
1210 (mips_constant_type): Delete.
1211 (mips_symbol_type): Add SYMBOL_GOTOFF_PAGE, SYMBOL_GOTOFF_GLOBAL,
1212 SYMBOL_GOTOFF_CALL and SYMBOL_GOTOFF_LOADGP.
1213 (NUM_SYMBOL_TYPES): New macro.
1214 (mips_address_type): Remove ADDRESS_INVALID.
1215 (machine_function): Add has_gp_insn_p.
1216 (mips_constant_info): Delete.
1217 (mips_address_info): Add the address type as an extra field. Replace
1218 the c field with symbol_type.
1219 (mips_split_p, mips_lo_relocs, mips_hi_relocs): New arrays.
1220 (TARGET_DELEGITIMIZE_ADDRESS): Remove definition.
1221 (mips_reloc_offset_ok_p, mips_classify_constant): Delete.
1222 (mips_split_const, mips_symbolic_constant_p): New functions.
1223 (mips_symbolic_address_p): Take the symbol type and mode as arguments.
1224 (mips_classify_address): Return true if the address is valid, storing
1225 its type in INFO. Use mips_symbolic_constant_p. Use mips_lo_relocs[]
1226 to test whether a LO_SUM address is allowed.
1227 (mips_symbol_insns): Return 0 for general mips16 symbols.
1228 Reorder SYMBOL_GOT_GLOBAL case to match mips_symbol_type definition.
1229 Handle the new SYMBOL_GOTOFF_*s.
1230 (mips_address_insns): Update call to mips_classify_address.
1231 (mips_const_insns): Be more fussy about HIGH constants. Remove use
1232 of mips_classify_constant. Be more accurate about CONSTs.
1233 (mips_global_pic_constant_p): Delete.
1234 (const_arith_operand): Only accept CONST_INTs.
1235 (call_insn_operand): Remove call to mips_classify_constant.
1236 Let mips_symbolic_constant_p check for invalid offsets.
1237 (move_operand): Check for general_operands first. Only accept symbolic
1238 constants if they satisfy mips_symbolic_constant_p and cannot be split.
1239 (symbolic_constant): Use mips_symbolic_constant_p.
1240 (global_got_operand, local_got_operand): New predicates.
1241 (stack_operand): Update call to mips_classify_address.
1242 (mips_legitimate_address_p): Likewise.
1243 (mips_reloc, mips_lui_reloc): Delete.
1244 (mips_force_temporary): Only use the given temporary if no_new_pseudos.
1246 (mips_split_symbol, mips_unspec_address): New functions.
1247 (mips_unspec_offset_high): New function.
1248 (mips_load_got): Replace reloc argument with a symbol_type.
1249 Use mips_unspec_address to create the address and put it in a
1250 LO_SUM with the base register.
1251 (mips_load_got16, mips_load_got32): Delete.
1252 (mips_emit_high, mips_legitimize_symbol): Delete.
1253 (mips_gotoff_global): New function.
1254 (mips_load_got_page, mips_load_got_global): New functions.
1255 (mips_legitimize_symbol): Inline handling of LO_SUM splits.
1256 (mips_legitimize_const_move): Likewise. Remove HIGH handling.
1257 Inline code to handle constants plus invalid offsets. Use
1258 mips_split_symbol to legitimize constant pool addresses.
1259 (mips_delegitimize_address): Delete.
1260 (mips_rtx_costs): Give legitimate symbolic constants and CONST_DOUBLEs
1261 a cost of 1 insn. Give the rest a cost of CONSTANT_POOL_ADDRESS.
1262 (mips_subword): Pass memrefs through mips_rewrite_small_data.
1263 (mips_output_move): Remove use of mips_classify_constant.
1264 (mips_expand_call): Use mips_unspec_offset_high to calculate the
1265 high part of the GOT address for calls to global functions.
1266 (override_options): Initialize mips_split_p[], mips_lo_relocs[]
1267 and mips_hi_relocs[].
1268 (print_operand): Use print_operand_reloc to handle '%h' and '%R'.
1269 Remove use of mips_classify_constant.
1270 (mips_reloc_string): Delete.
1271 (print_operand_reloc): New function.
1272 (print_operand_address): Update call to mips_classify_address.
1273 (mips_rewrite_small_data_p, small_data_pattern_1): New functions.
1274 (small_data_pattern): New predicate.
1275 (mips_rewrite_small_data_1, mips_rewrite_small_data): New functions.
1276 (mips_function_has_gp_insn): New function.
1277 (mips_global_pointer): Use it.
1278 (mips_gp_insn): Delete.
1279 (mips_expand_prologue): When compiling for n32/n64 abicalls, use a
1280 single loadgp pattern to initialize $gp. Pass it the offset of _gp
1281 from the start of the current function.
1282 (mips16_gp_pseudo_reg): Revert last patch.
1284 * config/mips/mips.md (RELOC_*): Delete.
1285 (UNSPEC_LOADGP, UNSPEC_FIRST_ADDRESS): New constants.
1286 (got): New insn attribute.
1287 (type): Set to "load" if got == load.
1288 (length): Set to 4 if got == load, 8 if got == xgot_high.
1290 (*xgot_hi[sd]i, *xgot_lo[sd]i): New patterns.
1291 (*got_disp[sd]i, *got_page[sd]i): Likewise.
1292 (*low[sd]i): Change constraints to "d". Add a new define_split to
1293 rewrite small data constants into LO_SUMs.
1294 (loadgp): New insns.
1296 2003-11-04 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1298 * config/mips/_tilib.c: Use _ABI* in _MIPS_SIM tests.
1300 2003-11-04 DJ Delorie <dj@redhat.com>
1302 * config/v850/v850.md (mulhisi3): Expand the const_int case
1303 separately to avoid trying to sign extend the const.
1305 2003-11-04 Richard Sandiford <rsandifo@redhat.com>
1307 * emit-rtl.c (copy_rtx_if_shared): Don't allow MEMs with constant
1308 addresses to be shared.
1309 (force_const_mem): Return a copy of the pool entry.
1311 2003-11-03 Andreas Jaeger <aj@suse.de>
1313 * Makefile.in (GCC_CFLAGS): Remove @WERROR@ again.
1315 2003-11-03 Kelley Cook <kcook@gcc.gnu.org>
1317 * Makefile.in (cpp.dvi): New target split from cpp.info.
1318 (gcc.dvi): New target split from gcc.info.
1319 (gccint.dvi): New target split from gccint.info.
1320 (cppinternals.dvi): New target split from cppinternals.info
1321 (gccinstall.info): New specific rule.
1322 (gccinstall.dvi): Likewise.
1323 (dvi): Move targets to $(docobjdir).
1324 ($(docobjdir)/%.dvi): New implicit rule.
1326 2003-11-03 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1328 * doc/gty.texi (tag, desc): Say more about role of desc values in
1329 selecting between tags.
1331 2003-11-03 Alexander Kabaev <ak03@gte.com>
1333 * real.c (encode_ieee_single): Ensure proper promotion.
1335 2003-11-03 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
1337 * doc/contrib.texi: Add Giovanni Bajo, Dara Hazeghi, Falk Hueffner,
1340 2003-11-03 Syd Polk <spolk@apple.com>
1342 * config/rs6000/rs6000.c (rs6000_override_options): Add G3, G4, and G5
1343 marketing names to the list of supported processors.
1344 * config/rs6000/rs6000.h: Ditto.
1345 * doc/invoke.texi: Ditto.
1346 * config.gcc: Ditto.
1348 2003-11-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1350 * fixinc/inclhack.def (stdio_va_list): Allow tab before va_list.
1351 Merge two substitutions.
1352 * fixinc/fixincl.x: Regenerate.
1353 Fixes PR bootstrap/12666.
1355 2003-11-03 Joseph S. Myers <jsm@polyomino.org.uk>
1357 * doc/install-old.texi: Remove VMS documentation.
1359 2003-11-03 Jan Hubicka <jh@suse.cz>
1361 * i386.c (override_options): Remove hack enabling 128bit long double
1362 commited by accident.
1364 2003-11-02 Per Bothner <per@bothner.com>
1366 * c-opts.c (needValue): Do cpp_find_main_file before processing
1367 any imacros flags, so pfile->main_file is set for the latter.
1369 2003-11-03 Andreas Jaeger <aj@suse.de>
1370 Zack Weinberg <zack@codesourcery.com>
1372 * Makefile.in (GCC_CFLAGS): Allow blacklisting of warnings.
1373 (SYSCALLS.c.X-warn): Suppress warnings.
1375 2003-11-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1377 PR optimization/12845
1378 * pa.c (output_cbranch): Use cmpb for DImode comparisons with 0.
1380 2003-11-02 Zack Weinberg <zack@codesourcery.com>
1382 * print-rtl.c (print_rtx): Call PRINT_REG with second argument -1.
1383 * config/i386/i386.c (print_reg): Abort on a virtual register
1384 if code != -1; not if file == asm_out_file.
1385 * config/i386/i386.h (PRINT_REG): Document meaning of CODE == -1.
1386 (DEBUG_PRINT_REG): Delete, unused.
1388 2003-11-02 Andreas Schwab <schwab@suse.de>
1390 * config/ia64/fde-glibc.c (_GNU_SOURCE): Define to 1 instead of
1391 empty to avoid conflict with the definition from configure.
1393 2003-11-02 Roger Sayle <roger@eyesopen.com>
1395 PR optimization/10817
1396 * ifcvt.c (noce_emit_move_insn): Improve documentation comment.
1397 (noce_try_move): New function to optimize an if-the-else into an
1398 unconditional move, i.e. "if (a!=b) x=a; else x=b" into "x=a".
1399 (noce_process_if_block): Attempt simplification with noce_try_move.
1401 * simplify-rtx.c (simplify_ternary_operation): Some minor fixes
1402 and improvements to the optimizations of IF_THEN_ELSE expressions.
1403 (simplify_subreg): Silence signed/unsigned comparison warning.
1405 2003-11-02 Richard Sandiford <rsandifo@redhat.com>
1407 * Makefile.in (targhooks.o, reload.o): Update dependencies.
1408 (GTFILES): Add targhooks.c.
1409 (gt-targhooks.h): New rule; depend on s-gtype.
1410 * target.h (direct_pool_load_p): New hook.
1411 * target-def.h (TARGET_DIRECT_POOL_LOAD_P): New macro.
1412 (TARGET_INITIALIZER): Include it.
1413 * targhooks.h (default_direct_pool_load_p): Declare.
1414 (hook_bool_machine_mode_true): Declare.
1415 * targhooks.c: Include insn-config.h, recog.h, ggc.h and
1417 (pool_symbol): New variable.
1418 (default_direct_pool_load_p): New function.
1419 (hook_bool_machine_mode_true): New function.
1420 * reload.c: Include target.h.
1421 (find_reloads): If an alternative will force a constant into memory,
1422 count an extra reload if constant pool symbols are not valid
1423 addresses. If an alternative uses memory to move values between
1424 registers, count the move as two reloads rather than one.
1425 * config/s390/s390.c (TARGET_DIRECT_POOL_LOAD_P): Define.
1426 * doc/tm.texi (TARGET_DIRECT_POOL_LOAD_P): Document.
1428 2003-11-02 Eric Botcazou <ebotcazou@libertysurf.fr>
1430 PR optimization/12799
1431 * postreload.c (reload_cse_move2add): Generate the add2
1434 2003-11-02 Eric Botcazou <ebotcazou@libertysurf.fr>
1436 * config/sparc/sparc.c (function_arg_partial_nregs) [TARGET_ARCH64]:
1437 Return 0 for all complex modes whose size is lesser or equal to
1438 a word. Add a ??? comment for the condition used with 16-byte
1441 2003-11-01 Kelley Cook <kcook@gcc.gnu.org>
1443 * .cvsignore: Remove c-parse* and tradcif.c.
1444 * objc/.cvsignore: Delete.
1446 2003-11-01 Roger Sayle <roger@eyesopen.com>
1448 * unwind-sjlj.c (_Unwind_GetCFA): Return (_Unwind_Word)0 instead
1451 2003-11-01 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1453 * som.h (DO_GLOBAL_DTORS_BODY): Change to C90 declaration.
1455 * libgcc2.c (SYMBOL__MAIN): Provide C90 declaration.
1457 * collect2.c (scan_libraries): Fix typos.
1459 PR preprocessor/12847
1460 * cppfiles.c, cppexp.c, cpperror.c, cpplib.h, cpplib.c, cpplex.c,
1461 cppinit.c, cpptrad.c, cppmacro.c, fix-header.c, cpppch.c, c-pch.c,
1462 c-incpath.c, cppcharset.c (DL_WARNING, DL_WARNING_SYSHDR, DL_PEDWARN,
1463 DL_ERROR, DL_ICE, DL_EXTRACT, DL_WARNING_P): Prefix macro names with
1466 2003-11-01 Fariborz Jahanian <fjahanian@apple.com>
1468 * config/rs6000/rs6000.c (rs6000_mixed_function_arg): Correct
1469 no_units calculation.
1471 2003-11-01 Andreas Jaeger <aj@suse.de>
1473 * unwind-dw2.c (_Unwind_FrameState): Remove commas at end of
1476 2003-11-01 Andreas Schwab <schwab@suse.de>
1478 * config/ia64/sysv4.h (SDATA_SECTION_FUNCTION): Update to C90
1480 (SBSS_SECTION_FUNCTION): Likewise.
1482 2003-11-01 Andreas Jaeger <aj@suse.de>
1484 * Makefile.in (GCC_CFLAGS): Add @WERROR@ for target files.
1486 2003-11-01 Andreas Tobler <a.tobler@schweiz.ch>
1488 * config/rs6000/sysv4.h (EXTRA_SECTION_FUNCTIONS): Update to C90
1491 2003-11-01 Andreas Jaeger <aj@suse.de>
1493 * unwind-dw2.c (_Unwind_FindEnclosingFunction): Constify variable.
1494 (uw_frame_state_for): Constify variables.
1495 (extract_cie_info): Constify first argument.
1497 * unwind-dw2-fde-darwin.c: Adjust prototype of
1498 _Unwind_Find_registered_FDE for recent changes.
1499 (examine_objects): Constify return value and local variable result.
1500 (_Unwind_Find_FDE): Constify return value and local variable ret.
1502 2003-10-31 Per Bothner <pbothner@apple.com>
1504 * c-opts.c (finish_options): Change to returns boolean - false iff
1505 the call to cpp_find_main_file fails.
1506 (c_common_init): Skip preprocess_file if finish_options failed.
1507 (c_common_parse_file): Break if finish_options failed.
1508 Fixes PR preprocessor/12545.
1510 2003-10-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1512 * aclocal.m4: Blacklist ultrix* for mmap file.
1513 * configure: Rebuilt.
1515 * function.c (assign_parms): Add ATTRIBUTE_UNUSED to variable
1516 reg_parm_stack_space.
1517 * toplev.c (default_get_pch_validity): Fix warning.
1519 * vax.c: Include toplev.h.
1520 (vax_init_libfuncs): Fix typo (umod).
1521 * vax.h (ASM_COMMENT_START): Define.
1522 (PRINT_OPERAND): Fix warning when HOST_WIDE_INT is a long long.
1524 2003-10-31 Roger Sayle <roger@eyesopen.com>
1527 * expr.c (expand_expr <MULT_EXPR>): Remove inappropriate and
1528 confusing comment; distributivity isn't handled in expand_expr.
1529 * fold-const.c (extract_muldiv_1 <PLUS_EXPR>): Allow overflow
1530 in distributivity, if wrap-around semantics are specified with
1533 2003-11-01 Alan Modra <amodra@bigpond.net.au>
1536 * final.c (profile_function): Allow for NULL svrtx.
1538 2003-10-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1540 * pa.c (pa_select_section): Use new style declaration.
1541 * som.h (readonly_data): Likewise.
1543 2003-10-31 Kelley Cook <kcook@gcc.gnu.org>
1545 * config/rs6000/rs6000.c: Update to C90 prototypes.
1547 2003-10-31 Richard Earnshaw <rearnsha@arm.com>
1550 * arm.h (CONDITIONAL_REGISTER_USAGE): Disable use of LR in Thumb
1553 2003-10-31 Andreas Jaeger <aj@suse.de>,
1554 Zack Weinberg <zack@codesourcery.com>
1557 * crtstuff.c (__register_frame_info, __register_frame_info_bases)
1558 (__deregister_frame_info, __deregister_frame_info_bases):
1559 Constify void * argument.
1560 * unwind-dw2-fde.h (struct fde_vector):
1561 Constify 'orig_data' and 'array' fields.
1562 (__register_frame_info, __register_frame_info_bases)
1563 (__deregister_frame_info, __deregister_frame_info_bases):
1564 Constify void * argument.
1565 (get_cie, next_fde, _Unwind_Find_FDE): Constify arguments,
1566 return values, and casts of type fde *, struct dwarf_fde *,
1567 and struct dwarf_cie *.
1568 * unwind-dw2-fde.c (__register_frame_info, __register_frame_info_bases)
1569 (__deregister_frame_info, __deregister_frame_info_bases):
1570 Constify void * argument.
1571 (get_cie_encoding, ): Constify struct dwarf_cie * argument.
1572 (get_fde_encoding, fde_unencoded_compare, fde_single_encoding_compare)
1573 (fde_mixed_encoding_compare, fde_compare_t, start_fde_sort, fde_insert)
1574 fde_split, SWAP, frame_downheap, frame_heapsort)
1575 (classify_object_over_fdes, add_fdes, linear_search_fdes,
1576 binary_search_unencoded_fdes, binary_search_single_encoding_fdes,
1577 binary_search_mixed_encoding_fdes, search_object, _Unwind_Find_FDE):
1578 Constify arguments, local variables, return values, and casts
1579 of type fde *, fde **, struct dwarf_fde *, and struct dwarf_cie *.
1580 Use const pointer types in sizeof expressions, for clarity.
1581 * unwind-dw2-fde-glibc.c
1582 (_Unwind_find_registered_FDE, _Unwind_find_FDE): Constify return value.
1583 (struct unw_eh_callback_data): Constify 'ret' field.
1585 2003-10-31 Fariborz Jahanian <fjahanian@apple.com>
1586 David Edelsohn <edelsohn@gnu.org>
1588 * config/rs6000/rs6000.c (rs6000_mixed_function_arg): New.
1589 (function_arg): Call it.
1590 (rs6000_function_value): Widen integral return value to mode based
1591 on TARGET_32BIT, not word_mode.
1592 * config/rs6000/rs6000.h (PROMOTE_MODE): Likewise.
1593 (UNITS_PER_ARG): New.
1594 (RS6000_ARG_SIZE): Use it.
1596 2003-10-31 Gerald Pfeifer <gerald@pfeifer.com>
1598 * .cvsignore: No longer ignore gengtype-lex.c, gengtype-yacc.c,
1599 and gengtype-yacc.h.
1601 2003-10-31 Richard Earnshaw <rearnsha@arm.com>
1603 PR optimization/8896
1604 * postreload.c (reload_combine): Check that REGY doesn't die in an
1605 insn of the form (set (regx) (plus (regx) (regy))), ie REGX != REGY.
1607 2003-10-31 Josef Zlomek <zlomekj@suse.cz>
1610 * cfgrtl.c (delete_insn): Decrease LABEL_NUSES for all REG_LABEL notes.
1612 2003-10-31 Josef Zlomek <zlomekj@suse.cz>
1615 * cfgrtl.c (try_redirect_by_replacing_jump): Move jump
1616 immediatelly before BARRIER.
1618 2003-10-31 Kelley Cook <kcook@gcc.gnu.org>
1620 * Makefile.in (STRICT2_WARN): Add -Wold-style-definition.
1622 2003-10-31 Richard Earnshaw <rearnsha@arm.com>
1625 * reload.c (find_reloads_address): Handle any register in
1626 (PLUS (PLUS (REG) (REG)) (CONST_INT).
1628 2003-10-31 Richard Earnshaw <rearnsha@arm.com>
1630 * ggc-page.c (ggc_pch_read): Wrap call to poison_pages in
1631 ENABLE_GC_CHECKING not in GGC_POISON.
1633 2003-10-31 Nathanael Nerode <neroden@gcc.gnu.org>
1636 * configure.in: Bail out if awk is missing.
1637 * configure: Regenerate.
1640 * Makefile.in: Move default definitions of X_ADA_CFLAGS,
1641 T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS from ada/Make-lang.in to here.
1643 2003-10-30 Richard Henderson <rth@redhat.com>
1645 * c-objc-common.c (c_tree_printer): Handle types correctly.
1648 2003-10-30 Kelley Cook <kcook@gcc.gnu.org>
1650 * value-prof.c, web.c: Update to C90.
1652 2003-10-30 Eric Christopher <echristo@redhat.com>
1654 * function.c (purge_addressof_1): Add case for REG_RETVAL
1655 notes when modes are unequal.
1657 2003-10-31 Jan Hubicka <jh@suse.cz>
1659 * i386-modes.def: Add XFmode format adjustment.
1661 2003-10-30 Jan Hubicka <jh@suse.cz>
1663 * real.c (encode_ieee_extended): Back out previous patch.
1665 2003-10-30 Jan Hubicka <jh@suse.cz>
1667 * real.c (encode_ieee_extended): Initialize whole array.
1668 * reg-stack.c (move_for_stack_reg0: Use always XFmode.
1669 * i386-modes.def: Change definitions of TFmode and XFmode.
1670 * i386.c (classify_argument): Rename TFmodes to XFmodes; add new TFmode
1672 (construct_container): Allow constructing of TFmode integer containers.
1673 (ix86_return_in_memory): XFmode is not returned in memory.
1674 (init_ext_80387_constants): Always use XFmode.
1675 (print_operand): Likewise.
1676 (ix86_prepare_fp_compare_regs): Likewise.
1677 (split_to_parts): Deal with TFmode.
1678 (split_long_move): Simplify.
1679 (ix86_init_mmx_sse_builtins): Add __float80, __float128.
1680 (ix86_memory_move_cost): Do not confuse TFmode.
1681 * i386.h (LONG_DOUBLE_TYPE_SIZE): Set to 96.
1682 (IS_STACK_MODE): TFmode is not stack mode.
1683 (HARD_REGNO_NREGS, CLASS_MAX_NREGS): Deal nicely with XFmode.
1684 (VALID_SSE_REG_MODE): Allow TFmode.
1685 (VALID_FP_MODE_P): Disallow TFmode.
1686 (VALID_INT_MODE_P): Allow TFmode in 64bit mode.
1687 * i386.md (TFmode patterns): Kill.
1688 (movtf, motf_rex64): New patterns.
1690 2003-10-30 Richard Sandiford <rsandifo@redhat.com>
1692 * config/mips/mips.md (adddi3): Fix typo in mips16 stack pointer code.
1694 2003-10-30 Richard Sandiford <rsandifo@redhat.com>
1696 * config/mips/mips.md (mov_lwl): Use memory_operand where appropriate.
1697 (mov_lwr, mov_swl, mov_swr): Likewise.
1698 (mov_ldl, mov_ldr, mov_sdl, mov_sdr): Likewise.
1700 2003-10-30 Richard Sandiford <rsandifo@redhat.com>
1702 * config/mips/mips.c (mips_global_pointer): Don't try to use $25.
1704 2003-10-30 Richard Henderson <rth@redhat.com>
1706 * config/mips/mips.c (mips_build_builtin_va_list): Use runtime
1707 test for irix6 rather than preprocessor test.
1709 2003-10-30 Richard Henderson <rth@redhat.com>
1711 * cppcharset.c (one_utf8_to_utf16): Initialize 's' to silence warning.
1713 2003-10-30 Ulrich Weigand <uweigand@de.ibm.com>
1715 * config/s390/s390.c (struct machine_function): Use save_return_addr_p
1716 as a general flag that the return address register needs to be saved,
1717 not necessarily because of __builtin_return_addr (0).
1718 (s390_split_branches): Remove TEMP_REG and TEMP_USED arguments,
1719 remove special handling of zSeries machines.
1720 (s390_optimize_prolog): Remove TEMP_USED argument, treat the return
1721 register as a regular register on zSeries machines.
1722 (s390_reorg): Adjust calls to s390_split_branches and
1723 s390_optimize_prolog.
1724 (s390_frame_info): On zSeries machines, do not assume the return
1725 register is always used. Update regs_ever_live with current data
1726 for the special registers.
1727 (s390_emit_epilogue): Use save_return_addr_p to determine whether
1728 the return register was saved.
1729 * config/s390/s390.h (CONDITIONAL_REGISTER_USAGE): Do not mark
1730 RETURN_REGNUM fixed on zSeries machines.
1731 (REG_ALLOC_ORDER): Use RETURN_REGNUM last.
1732 * config/s390/s390.md ("*doloop_si"): Handle branch overflow
1733 via ahi-jgne pair on zSeries machines.
1734 ("*doloop_di"): Likewise.
1735 ("*doloop_di_long"): Remove.
1737 2003-10-30 Richard Earnshaw <rearnsha@arm.com>
1739 * arm.c (arm_override_options): Revert change of arm_constant_limit
1740 when optimizing for size.
1742 2003-10-29 Richard Henderson <rth@redhat.com>
1744 * fold-const.c (fold_single_bit_test): Convert the input to the
1745 operational intermediate type.
1747 2003-10-29 Richard Henderson <rth@redhat.com>
1749 * builtins.c (std_build_builtin_va_list): New.
1750 * expr.h (std_build_builtin_va_list): Declare.
1751 * defaults.h (BUILD_VA_LIST_TYPE): New.
1752 * system.h (BUILD_VA_LIST_TYPE): Poison.
1753 * target-def.h (TARGET_BUILD_BUILTIN_VA_LIST): New.
1754 * target.h (struct gcc_target): Add build_builtin_va_list.
1755 * tree.c (build_common_tree_nodes_2): Use it.
1757 * config/alpha/alpha-protos.h, config/alpha/alpha.c,
1758 config/alpha/alpha.h, config/alpha/unicosmk.h,
1759 config/d30v/d30v-protos.h, config/d30v/d30v.c, config/d30v/d30v.h,
1760 config/i386/i386-protos.h, config/i386/i386.c, config/i386/i386.h,
1761 config/i860/i860-protos.h, config/i860/i860.c, config/i860/i860.h,
1762 config/i960/i960-protos.h, config/i960/i960.c, config/i960/i960.h,
1763 config/mips/iris6.h, config/mips/mips-protos.h, config/mips/mips.c,
1764 config/mips/mips.h, config/rs6000/rs6000-protos.h,
1765 config/rs6000/rs6000.c, config/rs6000/rs6000.h,
1766 config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h,
1767 config/sh/sh-protos.h, config/sh/sh.c, config/sh/sh.h,
1768 config/xtensa/xtensa-protos.h, config/xtensa/xtensa.c,
1769 config/xtensa/xtensa.h: Rename foo_build_va_list to
1770 foo_build_builtin_va_list; make it static. Define
1771 TARGET_BUILD_BUILTIN_VA_LIST. Remove BUILD_VA_LIST_TYPE.
1774 * config/i386/i386.c (ix86_expand_carry_flag_compare): Make static.
1775 * config/iq2000/iq2000.h (BUILD_VA_LIST_TYPE): Remove.
1777 2003-10-29 James E Wilson <wilson@specifixinc.com>
1779 * recog.c (asm_operand_ok): Add missing break after case 'X'.
1780 Change if statements to else if statements in default case.
1781 (extract_constrain_insn_cached): Fix misspelling of constrain_operands
1783 (constrain_operands_cached): Likewise.
1784 (constrain_operands): Change if statements to else if statements in
1786 * reload.c (find_reloads): Likewise.
1788 2003-10-29 Richard Henderson <rth@redhat.com>
1790 * config/m68k/m68k.c (notice_update_cc): Clear cc status for
1793 2003-10-30 Alan Modra <amodra@bigpond.net.au>
1795 * config/rs6000/rs6000.md: Remove duplicate pattern.
1797 2003-10-29 Hans-Peter Nilsson <hp@axis.com>
1799 * real.c (do_divide): Initialize result with a 0.
1801 * configure.in <enable-checking for valgrind>: Look for
1802 <valgrind/memcheck.h> first. AC_DEFINE HAVE_VALGRIND_MEMCHECK_H
1804 * configure, config.in: Regenerate.
1805 * ggc-common.c [ENABLE_VALGRIND_CHECKING &&
1806 HAVE_VALGRIND_MEMCHECK_H]: Include <valgrind/memcheck.h>. Use
1807 #elif for other alternatives.
1808 * ggc-page.c: Ditto.
1809 * ggc-zone.c: Don't assume <valgrind/memcheck.h>; instead copy
1810 include structure from ggc-common.c.
1812 2003-10-29 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1814 * pa-linux.h (ASM_OUTPUT_ADDR_VEC_ELT): Use label in big switch ELTs.
1815 (ASM_OUTPUT_ADDR_DIFF_ELT): Use label difference in big switch ELTs.
1816 * pa.c (pa_adjust_insn_length): Check for btable branches using
1817 attribute TYPE_BTABLE_BRANCH.
1818 (pa_reorg): Simplify.
1819 * pa.h (CASE_VECTOR_MODE): Change big switch mode to SImode.
1820 (ASM_OUTPUT_ADDR_VEC_ELT): As above.
1821 (ASM_OUTPUT_ADDR_DIFF_ELT): As above.
1822 * pa.md (btable_branch): New instruction type.
1823 (in_branch_delay, in_nullified_branch_delay, in_call_delay): Disallow
1825 (define_delay): Add btable branches to insn types that may have an
1826 insn in the delay position.
1827 (Z2, Z3): Add btable branch to list.
1828 Simplify unamed pattern set copy pic_label_operand to register. Add
1830 (short_jump): New jump for use in branch tables.
1831 (casesi, casesi0): Revise for new branch table formats.
1832 (casesi32, casesi32p, casesi64p): New casesi patterns.
1833 (indirect_jump): Move.
1835 2003-10-29 David Edelsohn <edelsohn@gnu.org>
1837 * config/rs6000/rs6000.h (UNITS_PER_WORD): Revert to
1839 (UNITS_PER_GPR_WORD): Delete.
1840 (HARD_REGNO_NREGS): Revert to UNITS_PER_WORD.
1841 (HARD_REGNO_MODE_OK): Same.
1842 (CLASS_MAX_NREGS): Same.
1844 2003-10-29 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1846 * pa.h (ASM_COMMENT_START): Define.
1848 2003-10-29 Zack Weinberg <zack@codesourcery.com>
1850 * genmodes.c (complete_mode): Record MODE_CC, MODE_INT,
1851 MODE_FLOAT, and MODE_PARTIAL_INT modes as having one
1852 component, not zero.
1854 2003-10-29 Andreas Schwab <schwab@suse.de>
1856 * config/ia64/t-ia64 (LIB2ADDEH): Add $(srcdir)/gthr-gnat.c.
1858 2003-10-29 Eric Botcazou <ebotcazou@libertysurf.fr>
1860 * config/sparc/sparc.c (function_arg_partial_nregs) [TARGET_ARCH64]:
1861 Never return 1 for complex integral modes whose size is lesser or
1863 (function_arg_pass_by_reference) [TARGET_ARCH64]: Mention CTImode
1865 (function_arg_advance) [TARGET_ARCH64]: Don't special-case complex
1867 (sparc_va_arg) [TARGET_ARCH64]: Handle any types whose size is
1868 greater than 16 bytes by reference.
1870 2003-10-29 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1872 * config/ia64/ia64.c (ia64_assemble_integer): Test POINTER_SIZE,
1874 (ia64_initialize_trampoline): Use globalize_label target call.
1876 2003-10-29 Andreas Schwab <schwab@suse.de>
1878 * doc/install.texi (Building): Add a sentence about building Ada
1879 for a canadian cross.
1881 2003-10-28 Zack Weinberg <zack@codesourcery.com>
1883 * config/ia64/ia64.c (cmptf_libfunc): New static.
1884 (ia64_expand_compare): Add logic to open-code calls to
1885 _U_Qfcmp for TFmode comparisons.
1886 (ia64_hpux_init_libfuncs): Initialize cmptf_libfunc.
1887 Set libfuncs for TFmode eq/ne/gt/ge/lt/gt to 0; these should
1888 never be generated anymore.
1889 * config/ia64/ia64.md (cmptf): New expander.
1891 2003-10-28 Zack Weinberg <zack@codesourcery.com>
1893 * ia64.md (UNSPEC_SETF_EXP,UNSPEC_FR_SQRT_RECIP_APPROX): New constants.
1894 (*sqrt_approx): New instruction pattern for approximate square roots.
1895 (*setf_exp_xf): New instruction pattern for exponentiation.
1896 (*maddxf4_alts_truncsf): New instruction pattern for truncation.
1897 (sqrtsf2_internal_thr): New define_and_split implementing
1898 throughput-optimized inline calculation of SFmode square root.
1899 (sqrtdf2_internal_thr): Likewise for DFmode.
1900 (sqrtxf2_internal_thr): Likewise for XFmode.
1901 (sqrtsf2, sqrtdf2, sqrtxf2): New expanders to choose between
1902 latency- and throughput-optimized square root algorithms.
1903 * ia64.h (MASK_INLINE_SQRT_LAT, MASK_INLINE_SQRT_THR,
1904 TARGET_INLINE_SQRT_LAT, TARGET_INLINE_SQRT_THR, TARGET_INLINE_SQRT):
1906 (TARGET_SWITCHES): Add -minline-sqrt-min-latency and
1907 -minline-sqrt-max-throughput.
1908 * ia64.c (ia64_override_options): If both -minline-sqrt-min-latency
1909 and -minline-sqrt-max-throughput are given, notify the user
1910 that both options cannot be used simultaneously.
1911 If -minline-sqrt-min-latency is given, notify the user that
1912 this mode is not yet implemented.
1913 (rtx_needs_barrier): Reformat initial comment to obey
1914 72-character width limit. Support UNSPEC_SETF_EXP and
1915 UNSPEC_FR_SQRT_RECIP_APPROX.
1917 2003-10-29 Alan Modra <amodra@bigpond.net.au>
1919 * config/rs6000/rs6000.md (movdf_softfloat64): Allow dummy ctr,ctr
1922 2003-10-28 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
1926 * config/rs6000/sysv4.h (PREFERRED_STACK_BOUNDARY): New macro.
1928 2003-10-28 Richard Earnshaw <rearnsha@arm.com>
1930 * arm.c (arm_output_epilogue): When using a frame pointer, don't emit
1931 an extra stack adjustment insn if the stack pointer is already
1932 pointing at the right place.
1933 (use_return_insn): Allow a return insn to be used when we have a
1934 frame pointer if the stack pointer is in the right place.
1935 (output_return_instruction): Handle it.
1937 2003-10-28 Andreas Jaeger <aj@suse.de>
1939 * ggc-zone.c (check_cookies): Add missing variable.
1940 Add void to prototypes.
1942 2003-10-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1944 * config/mips/irix6-libc-compat.c (inet_makeaddr): Prototype.
1945 * crtstuff.c (__do_global_ctors_1): Move prototype.
1946 * unwind-dw2.c (NO_SIZE_OF_ENCODED_VALUE): Define when
1948 * unwind-sjlj.c (_Unwind_GetCFA, _Unwind_FindEnclosingFunction):
1949 Mark parameter with __attribute__((unused)).
1951 2003-10-27 Zack Weinberg <zack@codesourcery.com>
1953 * c-decl.c (pushdecl): Clarify comment.
1955 2003-10-27 Arnaud Charlet <charlet@act-europe.fr>
1957 * doc/install.texi: Update instructions for Ada cross builds
1960 * doc/sourcebuild.texi: Document Ada test suite.
1962 2003-10-27 Stephane Carrez <stcarrez@nerim.fr>
1964 * config/m68hc11/m68hc11.c: Convert to ISO C90.
1965 * config/m68hc11/m68hc11-protos.h: Likewise.
1967 2003-10-27 Jan Hubicka <jh@suse.cz>
1968 Eric Botcazou <ebotcazou@libertysurf.fr>
1970 * toplev.c (enum dump_file_index, dump_file): Fix ordering of
1973 2003-10-27 Jakub Jelinek <jakub@redhat.com>
1974 Jan Hubicka <jh@suse.cz>
1976 * reload1.c (struct elim_table): Change offset, initial_offset and
1977 previous_offset fields to HOST_WIDE_INT.
1978 (offsets_at): Change from int to HOST_WIDE_INT.
1979 (reload): Adjust offsets_at initialization.
1980 (eliminate_regs_in_insn): Change type of offset to HOST_WIDE_INT.
1981 (verify_initial_elim_offsets): Change type of t to HOST_WIDE_INT.
1982 * config/i386/i386.c (ix86_compute_frame_layout): Change offset type
1983 to HOST_WIDE_INT. Don't save regs using mov for huge frame sizes
1985 (pro_epilogue_adjust_stack): New function.
1986 (ix86_expand_prologue, ix86_expand_epilogue): Use it.
1987 * config/i386/i386.md (pro_epilogue_adjust_stack): Remove.
1988 (pro_epilogue_adjust_stack_1): Remove * in front of name.
1989 (pro_epilogue_adjust_stack_rex64): Handle -2147483648 properly.
1990 (pro_epilogue_adjust_stack_rex64_2): New insn.
1992 * config/i386/i386.c (ix86_expand_epilogue): Fix comment typo.
1994 * config/i386/i386.c (ix86_expand_call): Replace 40 with
1995 FIRST_REX_INT_REG + 3 /* R11 */.
1997 2003-10-26 Richard Henderson <rth@redhat.com>
1999 * config/alpha/alpha.md (attr cannot_copy): New.
2000 (call_osf_2_er, call_value_osf_2_er, ldgp_er_1, ldgp_er_2,
2001 prologue_ldgp_er_2, prologue_ldgp_1): Set it.
2002 * config/alpha/alpha.c (alpha_cannot_copy_insn_p): Test it.
2004 2003-10-26 Daniel Berlin <dberlin@dberlin.org>
2006 * ggc-zone.c: New file, zone allocating collector.
2007 * configure: Accept zone option for --with-gc
2008 * configure.in: Ditto.
2009 * ggc.h (ggc_pch_count_object): Pass bool indicating
2010 stringiness. Update all callers.
2011 (ggc_pch_alloc_object): Ditto.
2012 (ggc_pch_write_object): Ditto.
2013 (ggc_alloc_rtx): Use typed allocation, since all RTX's are of a single
2015 (ggc_alloc_rtvec): Ditto.
2016 (ggc_alloc_tree): Use zone allocation, since some things using this macro
2017 aren't a single typecode.
2018 * ggc-none.c (ggc_alloc_typed): New function.
2019 (ggc_alloc_zone): Ditto.
2020 * ggc-page.c: Ditto on both functions.
2022 2003-10-26 Gunther Nikl <gni@gecko.de>
2024 * config/m68k/m68k.c (m68k_compute_frame_layout): Ensure FPU related
2025 frame information is always valid.
2026 (m68k_output_function_prologue): Remove superfluous TARGET_68881
2027 test; fix formatting.
2029 2003-10-26 Gunther Nikl <gni@gecko.de>
2031 * config/m68k/m68k.c (m68k_compute_frame_layout): Swap reg_mask and
2032 reg_rev_mask computation.
2033 (m68k_output_function_prologue): Fix usage of current_frame (one typo
2034 and one missing); use reg_rev_mask not reg_mask.
2035 (m68k_output_function_epilogue): Fix usage of current_frame;
2036 use fpu_rev_mask not fpu_mask.
2038 2003-10-26 Bernardo Innocenti <bernie@develer.com>
2040 * config/m68k/m68k.c (m68k_output_function_prologue): Eliminate
2041 num_saved_regs, use current_frame.reg_no instead.
2043 2003-10-26 Bernardo Innocenti <bernie@develer.com>
2044 Paul Dale <pauli@snapgear.com>
2046 * doc/extend.texi (interrupt_handler): Add m68k to the
2047 list of processors implementing it.
2048 * doc/invoke.texi (-msep-data): Document new m68k option.
2049 (-mno-sep-data): Likewise.
2050 (-mid-shared-library): Likewise.
2051 (-mno-id-shared-library): Likewise.
2052 (-mshared-library-id): Likewise.
2054 2003-10-26 Andreas Jaeger <aj@suse.de>
2056 * unwind-dw2.c (_Unwind_GetGR): Avoid warning about unsigned
2058 (_Unwind_SetGR): Likewise.
2060 2003-10-26 Ottavio Campana <ottavio@campana.vi.it>
2063 * config/i386/mmintrin.h (_mm_set1_pi8): Fix comment.
2065 2003-10-26 Gunther Nikl <gni@gecko.de>
2067 * config/m68k/m68k.c (m68k_output_function_prologue): Move front
2068 comment from here to...
2069 (m68k_save_reg): ...here. Fix comment formatting.
2070 (m68k_output_function_prologue): Fix comment formatting.
2071 (m68k_output_function_epilogue): Likewise.
2072 (const_method): Likewise.
2074 2003-10-26 Kazu Hirata <kazu@cs.umass.edu>
2076 * toplev.c (default_get_pch_validity): Guard the use of
2077 target_options with #ifdef TARGET_OPTIONS.
2078 (default_pch_valid_p): Likewise.
2080 2003-10-26 Andreas Jaeger <aj@suse.de>
2081 Zack Weinberg <zack@codesourcery.com>
2082 Andreas Tobler <toa@pop.agri.ch>
2084 * dwarf2out.c (output_cfi): Use HOST_WIDE_INT_PRINT.
2085 (output_die): Likewise.
2086 (print_die): Likewise.
2088 2003-10-26 Andreas Jaeger <aj@suse.de>
2090 * tree.h (dwarf2out_def_cfa, dwarf2out_args_size,
2091 dwarf2out_reg_save, new_loc_descr): Update prototypes for recent
2094 * toplev.c (default_pch_valid_p): Fix warning.
2096 2003-10-25 Roger Sayle <roger@eyesopen.com>
2098 * simplify-rtx.c (simplify_replace_rtx): Avoid allocating duplicate
2099 RTL nodes. If an operator's operands are unchanged, return the
2100 original argument unchanged.
2102 2003-10-26 Graham Stott <graham.stott@btinternet.com>
2104 Fix bootstrap failure.
2105 * expmed.c (store_bit_field): Don't compare bitsize against
2106 modes with zero bit-size.
2108 (extract_bit_field): Likewise
2110 2003-10-25 Jan Hubicka <jh@suse.cz>
2112 * dwarf2out.c (dw_cfi_oprnd_struct): Offset is HOST_WIDE_INT.
2113 (cfa_loc): Likewise.
2114 (reg_save, stack_adjust_offset, queue_reg_save): Replace long by
2116 (args_size, old_args_size): change type to HOST_WIDE_INT.
2117 (dwarf2out_def_cfa, dwarf2out_args_size,
2118 dwarf2out_reg_save, new_loc_descr): offset is HOST_WIDE_INT.
2119 (dw_val_struct): integers, unsigneds and offsets are HOST_WIDE_INT.
2120 (add_AT_int, add_AT_unsigned, att_AT_offset, AT_int, AT_unsigned,
2121 AT_offset): Use HOST_WIDE_INT.
2122 (based_loc_descr): offset is HOST_WIDE_INT.
2123 (add_data_member): Likewise.
2124 (add_const_value_attribute): Simplify.
2126 2003-10-25 Richard Henderson <rth@redhat.com>
2128 * config/i386/i386.c (ix86_eax_live_at_start_p): New.
2129 (ix86_expand_prologue): Save and restore eax around stack probe
2132 2003-10-25 Jan Hubicka <jh@suse.cz>
2134 * cppcharset.c (one_utf8_to_utf32): Initialize 's' to silence warning.
2136 2003-10-25 Eric Botcazou <ebotcazou@libertysurf.fr>
2139 * reg-stack.c (convert_regs_1): Create an arbitrary input stack
2140 if the block has no predecessors.
2141 (convert_regs_2): Document the problem with successors whose
2142 only predecessor is the block to be processed.
2143 (convert_regs): Don't create the arbitrary input stack here.
2145 2003-10-24 Zack Weinberg <zack@codesourcery.com>
2147 * genmodes.c (struct mode_data): Add contained and next_cont
2149 (complete_mode): Maintain linked list of modes that have a
2151 (emit_mode_unit_size): Delete.
2152 (emit_mode_nunits): New.
2153 (emit_insn_modes_c): Update to match.
2154 (emit_mode_adjustments): Propagate size and alignment
2155 adjustments from component modes to their containers.
2156 * machmode.h (mode_unit_size): Delete.
2158 (GET_MODE_NUNITS): Just return the value in the table.
2159 (GET_MODE_UNIT_SIZE): Compute using GET_MODE_INNER and
2161 * expmed.c (store_bit_field, extract_bit_field): Can use a
2162 plain move instruction if bitsize >= GET_MODE_BITSIZE of
2163 destination/source mode, respectively.
2164 * varasm.c (assemble_real): Write out the full size of the
2165 constant, not just its bitsize.
2166 (output_constant): Honor TYPE_MODE of TREE_REAL_CSTs.
2168 * config/ia64/ia64-modes.def: Define XFmode as well as TFmode.
2169 Use ADJUST_BYTESIZE and ADJUST_ALIGNMENT to set size and
2170 alignment of XF and TF modes in compliance with ia64 ABIs.
2171 Can now hardwire the format of both modes.
2172 * config/ia64/ia64.c: Change TFmode to XFmode wherever appropriate.
2173 (general_tfmode_operand, destination_tfmode_operand)
2174 (tfreg_or_fp01_operand, spill_tfmode_operand): Rename to
2175 general_xfmode_operand, destination_xfmode_operand,
2176 xfreg_or_fp01_operand, spill_xfmode_operand respectively.
2177 (ia64_init_builtins): Make TYPE_PRECISION of fpreg_type
2178 and float80_type be 96 so they get XFmode. Use !TARGET_HPUX,
2179 not INTEL_EXTENDED_IEEE_FORMAT, to decide how to define
2181 * config/ia64/ia64.h: Default TARGET_HPUX to 0.
2182 Change TFmode to XFmode wherever appropriate. Remove all
2183 references to INTEL_EXTENDED_IEEE_FORMAT.
2184 (LONG_DOUBLE_TYPE_SIZE): Varies with TARGET_HPUX.
2185 (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define (always 96).
2186 (PREDICATE_CODES): Update to match function renames.
2187 * config/ia64/ia64.md: Change TF to XF throughout; rename all
2188 patterns to match. Remove all references to
2189 INTEL_EXTENDED_IEEE_FORMAT. Update predicate calls to match
2191 * config/ia64/ia64-protos.c: Update all prototypes to match
2193 * config/ia64/hpux.h: Redefine TARGET_HPUX to 1.
2194 Remove all references to INTEL_EXTENDED_IEEE_FORMAT.
2195 * config/ia64/lib1funcs.asm: Add __divxf3 as new name for
2196 __divtf3; keep old name for backward compatibility.
2197 (L__compat): New section providing forwarding stubs for
2198 __fixtfti, __fixunstfti, __floattitf.
2199 * config/ia64/t-ia64: Add __compat to LIB1ASMFUNCS.
2201 2003-10-24 Geoffrey Keating <geoffk@apple.com>
2204 * c-pch.c: Include target.h. Improve comments.
2205 (struct c_pch_validity): Add target_data_length.
2206 (pch_init): Add target's validity data.
2207 (c_common_valid_pch): Check target's validity data.
2208 * target-def.h (TARGET_GET_PCH_VALIDITY): New.
2209 (TARGET_PCH_VALID_P): New.
2210 (TARGET_INITIALIZER): Add new fields.
2211 * target.h: Include tm.h.
2212 (struct gcc_target): Add get_pch_validity, pch_valid_p.
2213 * toplev.h (default_get_pch_validity): New prototype.
2214 (default_pch_valid_p): New prototype.
2215 * toplev.c (default_get_pch_validity): New routine.
2216 (default_pch_valid_p): New routine.
2217 * Makefile.in (TARGET_H): Add TM_H. Replace all users of
2218 target.h with $(TARGET_H).
2219 (c-pch.o): Add TARGET_H.
2220 * doc/tm.texi (PCH Target): New node.
2221 (TARGET_GET_PCH_VALIDITY): Document.
2222 (TARGET_PCH_VALID_P): Document.
2224 2003-10-24 Kelley Cook <kcook@gcc.gnu.org>
2226 * Makefile.in: Define a vpath for %.texi. Remove explicit $(docdir)
2227 and $(docdir)/include from any *.texi dependencies.
2228 ($(docobjdir)/%.dvi): Depend on stmp-docobjdir.
2229 ($(docobjdir)/%.1): Depend on .pod instead of .texi.
2230 ($(docobjdir)/%.7): Likewise.
2231 (%.pod): New implicit rule.
2232 (cpp.pod): New dependency only rule.
2233 (gcc.pod): New intermediate rule with dependencies and commands.
2234 (gfdl.pod): Likewise.
2235 (fsf-funding.pod): Likewise.
2237 2003-10-24 Nathanael Nerode <neroden@gcc.gnu.org>
2239 * fixinc/mkfixinc.sh: Remove special cases for svr4 and ptx, and
2241 * fixinc/fixinc.ptx: Remove.
2242 * fixinc/fixinc.svr4: Remove.
2244 2003-10-24 Ulrich Weigand <uweigand@de.ibm.com>
2246 * config/s390/s390.c (load_multiple_operation): Allow both SImode
2247 and DImode if word_mode is DImode.
2248 (store_multiple_operation): Likewise.
2249 * config/s390/s390.md ("load_multiple", "store_multiple"): Likewise.
2250 ("*load_multiple_di"): Allow only if word_mode == DImode.
2251 ("movqi"): Use LLGC whenever TARGET_ZARCH.
2252 ("fix_truncdfsi2"): Fix incorrect temporary size.
2253 ("fix_truncsfsi2"): Likewise.
2254 ("*bras_r", "*brasl_r", "*basr_r"): Remove predicate and constraint
2255 string for function return value operand.
2256 ("*bras_tls", "*brasl_tls", "*basr_tls"): Likewise.
2258 2003-10-24 Joseph S. Myers <jsm@polyomino.org.uk>
2260 * c-parse.in (array_declarator): Use expr_no_commas.
2263 2003-10-24 Richard Sandiford <rsandifo@redhat.com>
2265 * config/mips/linux.h: Wrap MD_FALLBACK_FRAME_STATE_FOR and
2266 associated includes in #ifndef inhibit_libc.
2268 2003-10-24 Roger Sayle <roger@eyesopen.com>
2270 * doc/libgcc.texi: Document some more of the libgcc API.
2272 2003-10-24 Richard Earnshaw <rearnsha@arm.com>
2274 * arm.c (arm_rtx_costs_1, case TARGET_THUMB): Adjust costs for
2275 comparing a constant with small negative numbers and add costing
2276 for constants in conjunction with AND.
2277 (note_invalid_constants): Tidy previous change.
2278 (thumb_cmp_operand): Tidy.
2279 (thumb_cmpneg_operand): New function.
2280 * arm.h (CONDITIONAL_REGISTER_USAGE): Don't use HI regs if optimizing
2282 (FIRST_LO_REGNUM, FIRST_HI_REGNUM, LAST_HI_REGNUM): Define.
2283 (PREDICATE_CODES): Add thumb_cmpneg_operand.
2284 * arm.md (cbranchsi4): Convert to define_expand. Handle comparison
2285 with a negative constant.
2286 (cbranchsi4_insn): Matcher for cbranchsi4.
2287 (cbranchsi4_scratch): Similar, but a scratch is available for
2288 handling negative constants.
2289 (movsi_cbranchsi4): New pattern.
2290 (tstsi3_cbranch): Renamed from andsi3_cbranch_scratch, remove scratch
2291 and use the TST instruction.
2292 (andsi3_cbranch, orrsi3_cbranch, xorsi3_cbranch, cbranchne_decr1)
2293 (addsi3_cbranch, subsi3_cbranch): Ensure that register preferencing
2294 cannot see high regs or memory alternatives.
2295 (bicsi3_cbranch_scratch, bicsi3_cbranch): New patterns.
2297 2003-10-24 Richard Earnshaw <rearnsha@arm.com>
2299 * arm.c (note_invalid_constants): Try to extract the constant
2300 pool value using avoid_constant_pool_reference; only use
2301 get_pool_constant if that returns the original reference.
2303 2003-10-24 Jan Hubicka <jh@suse.cz>
2306 * varasm.c (notice_global_symbol): Disqualify global registers.
2308 2003-10-23 Roger Sayle <roger@eyesopen.com>
2311 * loop.c (load_mems): Use redirect_jump to forward jumps from
2312 the original loop end label to the new "loop sink" block's label.
2314 2003-10-23 Roger Sayle <roger@eyesopen.com>
2317 * optabs.c (expand_binop): When expanding complex operations
2318 inline, always calculate result into a new temporary register.
2319 Minor code clean-ups.
2321 2003-10-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2323 * objc/lang-specs.h: Handle -print-objc-runtime-info.
2324 * doc/invoke.texi (Objective-C Dialect Options): Document it.
2326 2003-10-24 Danny Smith <dannysmith@users.sourceforge.net>
2328 * config/i386/cygwin.asm: Add copyright notice. Add comment
2329 on why this code is needed.
2331 2003-10-23 Kazu Hirata <kazu@cs.umass.edu>
2333 * config/h8300/clzhi2.c: Fix warnings.
2334 * config/h8300/ctzhi2.c: Likewise.
2335 * config/h8300/fixunssfsi.c: Likewise.
2336 * config/h8300/parityhi2.c: Likewise.
2337 * config/h8300/popcounthi2.c: Likewise.
2339 2003-10-23 James E Wilson <wilson@specifixinc.com>
2341 * gcc.c (option_map): Delete --target and --use-version.
2343 2003-10-23 Fariborz Jahanian <fjahanian@apple.com>
2344 David Edelsohn <edelsohn@gnu.org>
2346 * config/rs6000/rs6000.h (UNITS_PER_WORD): Use TARGET_32BIT, not
2348 (UNITS_PER_GPR_WORD): Define.
2349 (HARD_REGNO_NREGS): Use UNITS_PER_GPR_WORD.
2350 (HARD_REGNO_CALL_PART_CLOBBERED): Define.
2351 (HARD_REGNO_MODE_OK): Use UNITS_PER_GPR_WORD.
2352 (CLASS_MAX_NREGS): Use UNITS_PER_GPR_WORD.
2353 * config/rs6000/rs6000.c (function_arg): Generate PARALLEL for
2354 DFmode and DImode in 32-bit ABI / 64-bit computation mode.
2355 (rs6000_emit_prologue): Select reg_mode and reg_size using
2356 TARGET_32BIT, not TARGET_POWERPC64.
2357 (rs6000_function_value): Generate PARALLEL for DImode in 32-bit
2358 ABI / 64-bit computation mode
2360 2003-10-22 Andrew Haley <aph@redhat.com>
2362 * toplev.c (output_file_directive): Allow for null input_name.
2364 2003-10-22 Waldek Hebisch <hebisch@math.uni.wroc.pl>
2366 * config/i386/i386.c (classify_argument): Handle SET_TYPE.
2368 2003-10-22 Chris Demetriou <cgd@broadcom.com>
2370 * configure.in: In --enable-generated-files-in-srcdir option
2371 handling, fix default case handling.
2372 * configure: Regenerate.
2374 2003-10-22 Phil Edwards <phil@codesourcery.com>
2376 * config.gcc: Update *-*-vxworks* generic hook and comments.
2377 (arm-wrs-vxworks, i[4567]86-wrs-vxworks, mips-wrs-vxworks,
2378 mips-wrs-windiss, sh-wrs-vxworks): New stanzas.
2379 * genmultilib: Allow the MULTILIB_OSDIRNAMES to be mapped directly.
2380 * config/svr4.h (SWITCH_TAKES_ARG): Undefine it before redefining it.
2381 * config/windiss.h: New file.
2382 * config/arm/t-vxworks: New file.
2383 * config/arm/vxworks.h: New file.
2384 * config/i386/t-vxworks: New file.
2385 * config/i386/vxworks.h: New file.
2386 * config/mips/t-vxworks: New file.
2387 * config/mips/vxworks.h: New file.
2388 * config/mips/windiss.h: New file.
2389 * config/sh/t-vxworks: New file.
2390 * config/sh/vxworks.h: New file.
2392 2003-10-22 Kazu Hirata <kazu@cs.umass.edu>
2394 * config/h8300/h8300.c (h8300_output_function_epilogue): Remove.
2395 (h8300_saveall_function_p): New.
2396 (h8300_insert_attributes): Insert the saveall attribute if
2397 #pragma saveall is specified.
2398 (h8300_attribute_table): Add saveall.
2399 (TARGET_ASM_FUNCTION_EPILOGUE): Remove.
2400 * doc/extend.texi: Mention the saveall attribute.
2402 2003-10-22 Joseph S. Myers <jsm@polyomino.org.uk>
2404 * c-typeck.c (pedantic_lvalue_warning): Unconditionally warn of
2405 deprecation of casts as lvalues.
2406 * fixinc/inclhack.def (obstack_lvalue_cast): New fix.
2407 * fixinc/fixincl.x: Regenerate.
2408 * fixinc/tests/base/obstack.h: New test.
2410 2003-10-22 Andreas Schwab <schwab@suse.de>
2413 * config/m68k/m68k.c (output_addsi3): Fix range check to work on
2416 2003-10-22 Jan Hubicka <jh@suse.cz>
2418 * dwarf2out.c (dwarf2out_abstract_function): Use DW_AT to check
2419 presence of DW_AT_inline.
2420 (gen_subprogram_die): Likewise; do not abort instead of emitting
2423 2003-10-22 Jan Hubicka <jh@suse.cz>
2425 * cgraph.c (cgraph_function_possibly_inlined_p): Be conservative when
2426 global info is not ready.
2428 2003-10-22 Kazu Hirata <kazu@cs.umass.edu>
2430 * doc/extend.texi: Mention H8S wherever H8/300H is mentioned.
2432 2003-10-22 Ulrich Weigand <uweigand@de.ibm.com>
2434 * config/s390/s390.md ("movstr_short_64", "movstr_short_31"): Merge ...
2435 ("*movstr_short"): ... into this insn pattern.
2436 ("movstr_short"): New expander.
2437 ("*movstr_long_64"): Rename from "movstr_long_64", simplify.
2438 ("*movstr_long_31"): Rename from "movstr_long_31", simplify.
2439 ("movstr_long"): New expander.
2440 ("clrstr_short_64", "clrstr_short_31"): Merge ...
2441 ("*clrstr_short"): ... into this insn pattern.
2442 ("clrstr_short"): New expander.
2443 ("*clrstr_long_64"): Rename from "clrstr_long_64", simplify.
2444 ("*clrstr_long_31"): Rename from "clrstr_long_31", simplify.
2445 ("clrstr_long"): New expander.
2446 ("cmpmem_short_64", "cmpmem_short_31"): Merge ...
2447 ("*cmpmem_short"): ... into this insn pattern.
2448 ("cmpmem_short"): New expander.
2449 ("*cmpmem_long_64"): Rename from "cmpmem_long_64".
2450 ("*cmpmem_long_31"): Rename from "cmpmem_long_31".
2451 ("cmpmem_long"): New expander.
2452 * config/s390/s390.c (s390_expand_movstr): Use new expanders.
2453 (s390_expand_clrstr): Likewise.
2454 (s390_expand_cmpmem): Likewise.
2456 2003-10-22 Mark Mitchell <mark@codesourcery.com>
2458 * c-pch.c (struct c_pch_validity): Add pch_init field.
2460 (c_common_valid_pch): Check it.
2462 2003-10-22 David Taylor <dtaylor@emc.com>
2465 * dbxout.c (dbxout_typedefs): Use COMPLETE_OR_VOID_TYPE_P.
2467 2003-10-22 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2469 * config/alpha/alpha.c (function_value [ENABLE_CHECKING]): Don't call
2470 alpha_return_in_memory if no VALTYPE specified.
2472 2003-10-22 Jan Hubicka <jh@suse.cz>
2475 * Makefile.in (dwarf2out.o): Depend on cgraph.h.
2476 * cgraph.c (cgraph_function_possibly_inlined_p): New function.
2477 * cgraph.h (cgraph_function_possibly_inlined_p): Declare.
2478 (cgraph_global_info): Add flag inlined
2479 * dwarf2out.c (gen_subprogram_die, gen_decl_die): Use
2480 cgraph_function_possibly_inded_p
2481 * cgraphunit.c (mark_inline): Set inlined flag.
2482 * toplev.c (rest_of_decl_compilation): Call outlining_inline_function
2483 only for possibly inlined functions.
2484 * c-decl.c (duplicate_decls): Never output abstract DIE representing old
2487 2003-10-22 Andrew Haley <aph@redhat.com>
2489 * varasm.c (output_constructor): Make constructor annotation
2490 conditional on ASM_COMMENT_START.
2492 2003-10-21 Jason Merrill <jason@redhat.com>
2494 * tree.c (get_unwidened): Check TREE_UNSIGNED on the field's type.
2495 (get_narrower): Likewise.
2497 * stor-layout.c (layout_decl): Do packed field alignment for
2500 2003-10-21 Eric Christopher <echristo@redhat.com>
2502 * expr.c (convert_move): Use FLOAT_EXTEND for extensions.
2504 2003-10-21 Geoffrey Keating <geoffk@apple.com>
2506 * c-pch.c: Add comments in various places.
2507 (struct c_pch_validity): Add the lengths of various strings.
2508 (host_machine): New static.
2509 (target_machine): New static.
2510 (get_ident): Bump version number.
2511 (pch_init): Write out version, host, target validity data.
2512 (c_common_valid_pch): Check version, host, target.
2513 * Makefile.in (c-pch.o): Add version.h; define HOST_MACHINE and
2516 2003-10-21 Jason Merrill <jason@redhat.com>
2518 * tree.h (IS_EXPR_CODE_CLASS): Use strchr.
2519 (EXPR_P): New macro.
2521 2003-10-21 Zack Weinberg <zack@codesourcery.com>
2523 * config/ia64/ia64.md (cmpxchg_acq_si): Mark operand 3 as DImode.
2524 * config/ia64/ia64.c (ia64_expand_fetch_and_op,
2525 ia64_expand_op_and_fetch): Make sure the REG for ar.ccv is
2526 DImode. Use convert_move to load ar.ccv.
2527 (ia64_expand_compare_and_swap): Likewise.
2528 If expand_expr doesn't put 'old' and 'new' in the proper
2529 modes, run them through convert_to_mode.
2531 2003-10-21 Eric Christopher <echristo@redhat.com>
2533 * config/frv/frv.c (frv_adjust_field_align): Check DECL_ARTIFICIAL
2534 for too large bitfields.
2536 2003-10-21 Mark Mitchell <mark@codesourcery.com>
2538 * Makefile.in ($(docobjdir)/%.info): Honor BUILD_INFO.
2540 2003-10-21 Andrew Haley <aph@redhat.com>
2542 * varasm.c (output_constructor): Annotate constructor.
2544 2003-10-21 Mark Mitchell <mark@codesourcery.com>
2546 * Makefile.in ($(DESTDIR)$(infodir)/%.info): Conditionalize chmod
2547 on existence of destination file.
2549 2003-10-21 Jan Hubicka <jh@suse.cz>
2551 * haifa-sched.c (choose_ready): Initialize index.
2553 2003-10-21 Jason Merrill <jason@redhat.com>
2555 * tree.c (build1): Fix off-by-one error.
2557 2003-10-21 Robert Millan <robertmh@gnu.org>
2559 * config/i386/kfreebsdgnu.h: New. i386-*-kfreebsd-gnu definitions.
2560 * config/kfreebsdgnu.h: New. *-*-kfreebsd-gnu definitions.
2561 * config/t-kfreebsd-gnu: New. *-*-kfreebsd-gnu tmake_file.
2562 * config.gcc: Add *-*-kfreebsd*-gnu and i[34567]86-*-kfreebsd*-gnu.
2564 2003-10-21 Eric Botcazou <ebotcazou@libertysurf.fr>
2566 * web.c: Fix various comments.
2568 2003-10-20 Nicolas Pitre <nico@cam.org>
2570 * config/arm/arm.c (arm_override_options): Set arm_constant_limit
2571 to 2 instead of 1 when optimize_size is true. Gather code based on
2572 optimize_size together. Add comment about XScale load latency.
2574 2003-10-21 Gunther Nikl <gni@gecko.de>
2576 * config/m68k/m68k.c (m68k_output_function_prologue): Remove
2579 2003-10-20 Kelley Cook <kcook@gcc.gnu.org>
2581 * Makefile.in: Get parsedir and docobjdir from configure.
2582 * configure.in: Recogonize --enable-generated-files-in-srcdir.
2583 Pass along parsedir and docobjdir.
2584 * configure: Regenerate.
2585 * doc/install.texi: Document --enable-generated-files-in-srcdir.
2587 2003-10-20 Kelley Cook <kcook@gcc.gnu.org>
2589 * Makefile.in: Define $(docdir) before the Make-lang.in fragments are
2592 2003-10-20 Joseph S. Myers <jsm@polyomino.org.uk>
2594 * c-common.c (expand_tree_builtin): Ensure creal and cimag
2595 functions do not return lvalues.
2597 2003-10-20 Jason Merrill <jason@redhat.com>
2600 * tree.c (build1) <ADDR_EXPR>: Set TREE_SIDE_EFFECTS
2604 * stor-layout.c (layout_decl): Fix alignment handling.
2606 2003-10-20 Joseph S. Myers <jsm@polyomino.org.uk>
2608 * doc/extend.texi: Deprecate casts as lvalues.
2610 2003-10-20 Jan Hubicka <jh@suse.cz>
2612 * toplev.c (rest_of_compilation): Fix webizer pass ordering.
2614 * cgraphunit.c (decide_is_function_needed): Fix test dealing
2615 with functions implicitly made inline.
2617 * cgraphunit.c (cgraph_decide_inlining_incrementally): New function.
2618 (cgraph_finalize_function): Use it.
2619 (cgraph_mark_inline): Allow incrmental decisions
2620 * invoke.texi (max-inline-slope, min-inline-insns): Kill.
2621 * params.def (PARAM_MAX_INLINE_SLOPE, PARAM_MIN_INLINE_INSNS): Kill.
2622 * tree-inline.c (limits_allow_inlining): Kill.
2623 (expand_call_inline): Always use unit-at-a-time path.
2625 2003-10-20 Zack Weinberg <zack@codesourcery.com>
2627 * fixinc/inclhack.def (hpux11_snprintf): New edit.
2628 * fixinc/fixincl.x: Regenerate.
2629 * fixinc/tests/base/stdio.h: Add test for hpux11_snprintf.
2631 2003-10-20 Mark Mitchell <mark@codesourcery.com>
2633 * Makefile.in (install-info): Simplify.
2634 ($(DESTDIR)$(infodir)/%.info): New rule.
2635 * configure.in (target_list): Remove install-info.
2636 * doc/.cvsignore (gcc.info*): Remove.
2637 (gccint.info*): Likewise.
2638 (gccinstall.info*): Likewise.
2639 (cpp.info*): Likewise.
2640 (cppinternals.info*): Likewise.
2642 * doc/sourcebuild.texi: Update description of install-info.
2643 * objc/Make-lang.in (objc.install-info): Remove.
2645 2003-10-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2647 * config/mips/linux.h (TARGET_OS_CPP_BUILTINS): Define _ABIO32.
2648 Use it in _MIPS_SIM definition.
2649 * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Likewise.
2651 2003-10-20 Zack Weinberg <zack@codesourcery.com>
2653 * config/i386/i386.c (print_reg): Abort if REGNO (x) is a
2654 virtual register, but only if file == asm_out_file.
2655 * config/i386/i386.h (HI_REGISTER_NAMES): Use "argp", not "",
2656 for ARG_POINTER_REGNUM.
2658 2003-10-20 Zack Weinberg <zack@codesourcery.com>
2660 * c-common.c (registered_builtin_types): New static.
2661 (c_common_type_for_mode): Consult registered_builtin_types.
2662 (c_register_builtin_type): Add type to registered_builtin_types.
2663 * optabs.c (init_floating_libfuncs): Initialize libfuncs for
2664 all MODE_FLOAT modes, not just the ones corresponding to
2665 float_type_node, double_type_node, and long_double_type_node.
2667 2003-10-20 Richard Henderson <rth@redhat.com>
2669 * config/alpha/alpha.h (PREDICATE_CODES): Add normal_memory_operand.
2670 * config/alpha/alpha-protos.h: Remove PREDICATE_CODES prototypes.
2672 2003-10-20 Dorit Naishlos <dorit@il.ibm.com>
2674 * config/rs6000/rs6000.h: (rs6000_sched_insert_nops):
2675 support new flag -minsert-sched-nops.
2676 (DEFAULT_SCHED_FINISH_NOP_INSERTION_SCHEME): Define.
2677 * config/rs6000/rs6000.c: (rs6000_sched_insert_nops):
2678 support new flag -minsert-sched-nops.
2679 (is_cracked_insn, is_microcoded_insn): New functions.
2680 (rs6000_sched_finish): New function.
2681 (rs6000_issue_rate): Return 5 for power4.
2682 (get_next_active_insn, insn_terminates_group_p): New
2684 (is_costly_group, force_new_group): New functions.
2685 (redefine_groups, pad_groups): New functions.
2686 (rs6000_variable_issue): Use new functions.
2687 * doc/invoke.texi (-minsert-sched-nops): Document new
2690 2003-10-20 David S. Miller <davem@redhat.com>
2692 * config/sparc/sparc.md (type attribute): Add new insn types
2693 fpa, fpm_pack, fgm_mul, fgm_pdist, and fgm_cmp for VIS.
2694 (patterns emitting VIS insns): Use them.
2695 * config/sparc/ultra1_2.md: Add VIS scheduling rules.
2696 * config/sparc/ultra3.md: Likewise.
2698 2003-10-20 Falk Hueffner <falk@debian.org>
2701 * config/alpha/alpha.c (alpha_emit_conditional_branch): Don't do
2702 comparison against constant by adjusting the argument except for
2705 2003-10-19 Mark Mitchell <mark@codesourcery.com>
2707 * config.gcc: Add support for arm926ejs, arm1026ejs, arm1136js,
2708 arm1136jfs, and armv6j.
2709 * config/arm/arm.c (FL_ARCH6J): New macro.
2710 (FL_VFPV2): Likewise.
2711 (all_cores): Add entries for arm926ejs, arm1026ejs, arm1136js,
2713 (all_architectures): Add entry for armv6j.
2714 (arm_override_options): Add entries for arm926ejs, arm1026ejs,
2715 arm1136js, and arm1136jfs.
2716 * config/arm/arm.h (TARGET_CPU_arm926ej_s): New macro.
2717 (TARGET_CPU_arm1026ej_s): Likewise.
2718 (TARGET_CPU_arm1136j_s): Likewise.
2719 (TARGET_CPU_arm1136jf_s): Likewise.
2720 * doc/invoke.texi: Document new ARM cores and architecture
2723 2003-10-19 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2725 * Makefile.in (toplev.o): Add value-prof.h dependency.
2726 (value-prof.o): Add REGS_H dependency.
2727 * common.opt (fprofile-values, fvpt): New.
2728 * flags.h (flag_value_profile_transformations): Declare.
2729 * opts.c (common_handle_option): Handle -fprofile_values and
2731 * profile.c (branch_prob): Don't remove death notes here.
2732 * timevar.def (TV_VPT): New.
2733 * value-prof.c: Include regs.h.
2734 (insn_divmod_values_to_profile, gen_divmod_fixed_value, gen_mod_pow2,
2735 gen_mod_subtract, divmod_fixed_value_transform,mod_pow2_value_transform,
2736 mod_subtract_transform, value_profile_transformations): New.
2737 (insn_values_to_profile): Call insn_divmod_values_to_profile.
2738 (find_values_to_profile): Add dumps.
2739 * value-prof.h (value_profile_transformations): Declare.
2740 * toplev.c: Include value-prof.h.
2741 (rest_of_handle_value_profile_transformations): New.
2742 (enum dump_file_index): Add DFI_vpt.
2743 (dump_file): Add vpt dump.
2744 (flag_value_profile_transformations): New.
2745 (lang_independent_options): Add flag_profile_values and
2746 flag_value_profile_transformations.
2747 (rest_of_compilation): Call
2748 rest_of_handle_value_profile_transformations.
2749 (process_options): Let -fvpt imply -fprofile-values.
2750 * doc/invoke.texi (-fvpt): Document.
2752 2003-10-19 Jan Hubicka <jh@suse.cz>
2754 * i386.c (print_reg): Do not abort on certain registers.
2756 PR optimization/12612
2757 * reg-stack.c (subst_stack_regs_pat): Use st(1) for clobbers.
2758 * i386.md (fpatan, fyl2x, fscale patterns and expanders): Use
2759 match_scratch; avoid bogus paralles.
2762 * i386.c (ix86_function_regparm): Disable implicit register passing
2763 conventions when profiling.
2765 2003-10-19 Eric Botcazou <ebotcazou@libertysurf.fr>
2766 Richard Henderson <rth@redhat.com>
2768 PR optimization/8178
2769 * config/i386/i386.md (*movsi_zero): Delete.
2770 (*ffs_no_cmove): Use ix86_expand_clear to zero the third operand.
2772 2003-10-19 Richard Henderson <rth@redhat.com>
2774 * config/alpha/alpha.c (fix_operator): New.
2775 (divmod_operator): Tidy.
2776 (alpha_emit_xfloating_cvt): Handle UNSIGNED_FIX.
2777 * config/alpha/alpha.h (FIXUNS_TRUNC_LIKE_FIX_TRUNC): Remove.
2778 (PREDICATE_CODES): Update.
2779 * config/alpha/alpha.md (fix_truncdfsi_ieee): Use match_operator.
2780 (fix_truncdfsi_internal, fix_truncdfdi_ieee): Likewise.
2781 (fix_truncsfsi_ieee, fix_truncsfsi_internal): Likewise.
2782 (fix_truncsfdi_ieee): Likewise.
2783 (fix_truncdfdi2, fix_truncsfdi2): Turn into define_expand.
2784 (fixuns_truncdfdi2, fixuns_truncsfdi2, fixuns_trunctfdi2): New.
2785 * config/alpha/alpha-protos.h: Update.
2787 2003-10-19 Richard Sandiford <rsandifo@redhat.com>
2789 * config/mips/mips.h (INITIALIZE_TRAMPOLINE): Simplify.
2790 * config/mips/mips.c (mips_load_got): Assume Pmode == ptr_mode.
2791 * config/mips/mips.md (extendsidi2, *extendsidi2): Merge. Don't accept
2794 2003-10-18 Kazu Hirata <kazu@cs.umass.edu>
2796 * doc/extend.texi: Fix typos.
2797 * doc/invoke.texi: Likewise.
2799 2003-10-18 Nicolas Pitre <nico@cam.org>
2801 * config/arm/arm.c (arm_override_options): Use arm_tune_xscale for
2802 XScale optimizations not arm_arch_xscale.
2803 * config/arm/arm.h (CONSTANT_ALIGNMENT_FACTOR, MOVE_RATIO): Likewise.
2805 2003-10-18 Ulrich Weigand <uweigand@de.ibm.com>
2807 * config/s390/s390-protos.h (shift_count_operand): Add prototype.
2808 * config/s390/s390.c (shift_count_operand): New function.
2809 (s390_extra_constraint): Use it to implement 'Y' constraint.
2810 (print_shift_count_operand): New function.
2811 (print_operand): Use it to implement '%Y'.
2812 * config/s390/s390.h (EXTRA_ADDRESS_CONSTRAINT): Add 'Y' constraint.
2813 (PREDICATE_CODES): Add shift_count_operand.
2814 * config/s390/s390.md ("rotldi3"): Merge alternatives,
2815 using "shift_count_operand" predicate and "Y" constraint,
2816 and "%Y" to output the combined shift count.
2817 ("rotlsi3"): Likewise.
2818 ("ashldi3", "*ashldi3_31", "*ashldi3_64"): Likewise.
2819 ("ashrdi3", "*ashrdi3_31", "*ashrdi3_64", "*ashrdi3_cc_31",
2820 "*ashrdi3_cc_64", "*ashrdi3_cconly_31", "*ashrdi3_cconly_64"): Likewise.
2821 ("ashlsi3", "ashrsi3", "*ashrsi3_cc", "*ashrsi3_cconly"): Likewise.
2822 ("lshrdi3", "*lshrdi3_31", "*lshrdi3_64"): Likewise.
2823 ("lshrsi3"): Likewise.
2825 2003-10-18 Gunther Nikl <gni@gecko.de>
2827 * config/m68k/m68k.c (m68k_output_function_epilogue): Add missing
2828 argument to asm_fprintf statement.
2830 2003-10-18 Fariborz Jahanian <fjahanian@apple.com>
2832 * rs6000.md: Separate TARGET_POWERPC64 patterns for TARGET_64BIT or TARGET_32BIT.
2833 (ashrdisi3_noppc64) Generate more efficient code for 32-bit right-shift of
2834 a "long long" argument.
2836 2003-10-18 Alexandre Oliva <aoliva@redhat.com>
2838 * final.c (final_scan_insn): Run FINAL_PRESCAN_INSNS on asm insns
2841 2003-10-18 Richard Sandiford <rsandifo@redhat.com>
2843 * rtl.h (rtl_size): Declare.
2844 (rtunion): Remove rtwint.
2845 (rtx_def): Replace 'fld' with a union of an rtunion or a HOST_WIDE_INT.
2846 (RTX_HDR_SIZE, RTX_SIZE): New macros.
2847 (RTL_CHECK1): Adjust for new rtx_def layout.
2848 (RTL_CHECK2, RTL_CHECKC1, RTL_CHECKC2): Likewise.
2849 (XWINT, XCWINT): Likewise. Access the rtx structure directly.
2852 * rtl.def: Adjust comments for new rtx_def layout.
2853 * ggc.h (ggc_alloc_rtx): Take the rtx code as argument, not the
2855 * rtl.c (rtx_size): New array.
2856 (rtx_alloc): Adjust call to ggc_alloc_rtx. Use RTX_HDR_SIZE.
2857 (copy_rtx): Use RTX_HDR_SIZE. Adjust for new rtx_def layout.
2858 (shallow_copy_rtx): Adjust call to ggc_alloc_rtx. Use RTX_SIZE.
2859 * integrate.c (copy_rtx_and_substitute): Use X0ANY to copy '0' fields.
2860 * emit-rtl.c (copy_most_rtx): Likewise.
2861 (copy_rtx_if_shared): Use RTX_SIZE.
2862 (copy_insn_1): Use RTX_HDR_SIZE. Adjust for new rtx_def layout.
2863 * gengenrtl.c (gendef): Adjust ggc_alloc_rtx call. Use RTX_HDR_SIZE.
2864 * gengtype.c (write_rtx_next): Use RTX_HDR_SIZE.
2865 (adjust_field_rtx_def): Expect "rtx_def" to be a union rather than
2866 an array. Adjust output for new rtx_def layout.
2867 * ggc-page.c (RTL_SIZE): Use RTX_HDR_SIZE.
2868 * reload1.c (eliminate_regs): Use RTX_SIZE.
2869 * rtlanal.c (loc_mentioned_in_p): Adjust for new rtx_def layout.
2870 * gdbinit.in (pi): Likewise.
2872 2003-10-18 Jan Hubicka <jh@suse.cz>
2874 * integrate.c (copy_decl_for_inlining): Revert previous patch.
2876 2003-10-18 Jan Hubicka <jh@suse.cz>
2878 * integrate.c (copy_decl_for_inlining): Fix copying of copies.
2880 2003-10-18 Roger Sayle <roger@eyesopen.com>
2882 * libgcc.texi: Group multi-word types, such as "long double" and
2883 "unsigned int", using braces in @deftypefn and @deftypefnx nodes.
2884 Document __unord?f2 as returning a non-zero value, not just one.
2886 2003-10-18 Hans-Peter Nilsson <hp@bitrange.com>
2888 * config/mmix/t-mmix (CRTSTUFF_T_CFLAGS): Define.
2889 ($(T)crti.o, $(T)crtn.o): Pass CRTSTUFF_T_CFLAGS here too.
2891 2003-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
2893 * config/i386/k6.md (k6_alux): Use the 'mode' attribute instead of
2896 2003-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
2898 * config/sparc/sparc.c (function_arg_record_value_1): New fourth
2899 parameter packed_p. Search for a DECL_PACKED field only if
2900 packed_p is false. Pass packed_p recursively.
2901 (function_arg_record_value_2): Likewise.
2902 (function_arg_record_value): Update calls to
2903 function_arg_record_value_1 and function_arg_record_value_2.
2905 2003-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
2907 * cse.c (cse_insn) [src_folded]: Check that the tentative replacement
2908 was successfully forced to memory before using the result.
2910 2003-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
2912 PR optimization/8178
2913 * config/i386/i386.md (*movsi_zero): New insn to set
2914 a register to zero on TARGET_USE_MOV0 targets.
2916 2003-10-18 Kelley Cook <kcook@gcc.gnu.org>
2918 * Makefile.in (Makefile): Depend on the all Make-lang.in fragments.
2919 (POSTSTAGE1_FLAGS_TO_PASS): Pass down MAKEINFO and MAKEINFOFLAGS.
2921 2003-10-17 David Edelsohn <edelsohn@gnu.org>
2923 * doc/invoke.texi (gcse-las): Fix typo.
2925 2003-10-17 Andrew Pinski <pinskia@physics.uc.edu>
2927 * doc/install.texi: Remove first part of the sentence for
2928 zsh not working. Change gcc to GCC.
2931 * doc/install.texi: Document that zsh does not work when
2934 2003-10-17 Nathanael Nerode <neroden@gcc.gnu.org>
2936 * config/ptx4.h: Switch to DWARF 2; update comments.
2938 2003-10-17 Segher Boessenkool <boessen@de.ibm.com>
2939 Hartmut Penner <hpenner@de.ibm.com>
2941 PR 10404, partial 11591, partial 11601
2942 * config/rs6000/altivec.md ("altivec_dst", "altivec_dstt",
2943 "altivec_dstst", "altivec_dststt", "altivec_lvsl", "altivec_lvsr",
2944 "altivec_lvebx", "altivec_lvehx", "altivec_lvewx", "altivec_lvxl",
2945 "altivec_lvx", "altivec_stvx", "altivec_stvxl", "altivec_stvebx",
2946 "altivec_stvehx", "altivec_stvewx"): Use a memory_operand.
2947 * config/rs6000/rs6000.c (altivec_expand_lv_builtin): New function.
2948 (altivec_expand_stv_builtin): Adjust for the memory_operand.
2949 (altivec_expand_builtin): Call altivec_expand_lv_builtin.
2950 (altivec_init_builtins): Use `long int' for memory offsets.
2952 2003-10-17 Jan Hubicka <jh@suse.cz>
2954 * opts.c (common_handle_option): Handle OPT_fweb
2955 * invoke.texi (-fweb): Add missing parts of documentation.
2957 2003-10-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2959 * config/mips/linux.h (FUNCTION_NAME_ALREADY_DECLARED): Undef
2960 before redefinition.
2962 2003-10-17 Mostafa Hagog <mustafa@il.ibm.com>
2964 * common.opt: Add description of the new -fgcse-las flag.
2965 * flags.h (flag_gcse_las): Declaration of global flag_gcse_las.
2966 * gcse.c (hash_scan_set): Handle the case of store expression and
2967 insert the memory expression to the hash table, this way we make it
2968 possible to discover redundant loads after stores and remove them.
2969 (pre_insert_copy_insn): moved the call to update_ld_motion_stores,
2970 to pre_insert_copies, it is not the correct place to call it after
2971 adding stores to be in the available expression hash table.
2972 (pre_insert_copies): Added the call to update_ld_motion_stores when
2973 one or more copies were inserted.
2974 * opts.c (common_handle_option): Handle the -fgcse-las flag.
2975 * toplev.c (flag_gcse_las): Initialization of flag_gcse_las.
2977 * doc/invoke.tex: Document new -fgcse-las flag.
2979 2003-10-18 Alan Modra <amodra@bigpond.net.au>
2981 * config/rs6000/crtsavres.asm: Correct alignment of powerpc64 code
2982 for posterity, then remove it.
2984 2003-10-17 Richard Earnshaw <rearnsha@arm.com>
2985 Nathan Sidwell <nathan@codesourcery.com>
2987 * config/arm/arm.c (use_return_insn): Not a single instruction, if
2988 there's a frame pointer.
2989 (arm_output_epilogue): Protect stack pointer from being corrupted
2992 2003-10-17 Ulrich Weigand <uweigand@de.ibm.com>
2994 * ifcvt.c (noce_try_addcc): Handle ifs with 'else' case.
2996 2003-10-17 Ulrich Weigand <uweigand@de.ibm.com>
2998 * combine.c (simplify_set): Do not clear out undobuf.other_insn
2999 already set elsewhere.
3001 2003-10-17 Kelley Cook <kcook@gcc.gnu.org>
3003 * config/i386/i386.c (ix86_expand_prologue): Use
3004 gen_allocate_stack_worker.
3006 2003-10-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3008 * config.gcc (mips-sgi-irix6*o32): Only enable use_collect2
3010 (mips-sgi-irix6*): Likewise.
3012 * config/mips/iris6gas.h: New file.
3013 * gcc/config.gcc (mips-sgi-irix6*): Use it.
3015 * config/mips/mips.h (TARGET_IRIX): Provide default.
3016 (TARGET_IRIX5): Likewise.
3017 (TARGET_SGI_O32_AS): Likewise.
3018 * config/mips/iris5.h (TARGET_IRIX): Redefine as 1.
3019 (TARGET_IRIX5): Likewise.
3020 * config/mips/iris6.h (TARGET_IRIX6): Remove.
3021 (TARGET_IRIX5): Redefine as 0.
3023 * config/mips/mips.c (mips_output_external): Test for IRIX 6 O32
3024 linker workaround with TARGET_IRIX and mips_abi instead of
3025 ASM_OUTPUT_UNDEF_FUNCTION.
3026 (mips_file_end): Inline old ASM_OUTPUT_UNDEF_FUNCTION definition,
3027 testing TARGET_IRIX and mips_abi explicitly.
3028 * config/mips/iris5.h (ASM_OUTPUT_UNDEF_FUNCTION): Remove.
3029 * config/mips/iris6.h (ASM_OUTPUT_UNDEF_FUNCTION): Remove undef.
3031 * config/mips/mips.c (irix_output_external_libcall): Renamed from
3032 mips_output_external_libcall.
3033 Use new TARGET_IRIX in guard.
3034 * config/mips/mips-protos.h (irix_output_external_libcall): Match
3036 * config/mips/iris5.h (TARGET_ASM_EXTERNAL_LIBCALL): Likewise.
3038 * config/mips/iris5gas.h (HAVE_GAS_SHF_MERGE): Update comment.
3041 * config/mips/iris6.h (FUNCTION_NAME_ALREADY_DECLARED): Define
3042 depending on mips_abi.
3043 * config/mips/linux.h (FUNCTION_NAME_ALREADY_DECLARED): Define as 1.
3044 * config/mips/mips.c (mips_output_function_prologue): Test
3045 FUNCTION_NAME_ALREADY_DECLARED at runtime.
3046 (mips_output_function_epilogue): Likewise.
3047 (build_mips16_function_stub): Likewise.
3048 (build_mips16_call_stub): Likewise.
3049 * config/mips/mips.h (FUNCTION_NAME_ALREADY_DECLARED): Provide
3052 * config/mips/iris6.h (DWARF2_UNWIND_INFO): Don't define for native
3053 IRIX 6 O32 assembler.
3054 (SUBTARGET_CC1_SPEC): Enforce mips2 ISA with O32 ABI.
3055 (TARGET_OS_CPP_BUILTINS): Define _ABIO32, use it to define
3056 _MIPS_SIM for O32 ABI.
3057 (DWARF2_FRAME_INFO): Don't define for native IRIX 6 O32 assembler.
3058 (ASM_DECLARE_FUNCTION_NAME): Integrate mips.h version.
3059 (ASM_DECLARE_FUNCTION_SIZE): Move undef before redefinition.
3060 Integrate O32 version.
3061 (SUBTARGET_ASM_SPEC): Handle -mabi=32.
3062 (SUBTARGET_ASM_DEBUGGING_SPEC): Add mdebug_asm_spec for gas with
3064 (BSS_SECTION_ASM_OP_32): Define.
3065 (BSS_SECTION_ASM_OP_64): Likewise.
3066 (BSS_SECTION_ASM_OP): Define differently for O32 and N32/N64 ABIs
3068 (TARGET_ASM_NAMED_SECTION): Reflect renaming.
3069 Move up to allow override for O32 ABI without GNU as.
3070 (EH_FRAME_SECTION_NAME): Define explicitly.
3071 (MUST_USE_SJLJ_EXCEPTIONS): Define.
3072 [_MIPS_SIM == _ABIO32 && !GAS] (CTORS_SECTION_ASM_OP,
3073 DTORS_SECTION_ASM_OP): Dummy definitions.
3074 (TARGET_ASM_NAMED_SECTION): Undef statically.
3075 (EH_FRAME_SECTION_NAME): Likewise.
3076 (ASM_OUTPUT_FILENAME): Integrate mips.h version.
3077 (LINK_SPEC): Only use default options -call_shared -no_unresolved
3079 Don't pass -init, -fini with -mabi=32.
3080 (COLLECT_PARSE_FLAG): Define.
3082 * config/mips/mips.c (iris6_asm_named_section_1): Changed guard to
3084 Renamed to use irix_ prefix.
3085 (iris6_asm_named_section): Likewise.
3086 (iris_section_align_entry_eq): Likewise.
3087 (iris_section_align_entry_hash): Likewise.
3088 (iris6_file_start): Likewise.
3089 (iris6_section_align_1): Likewise.
3090 (iris6_file_end): Likewise.
3091 (iris6_section_type_flags): Likewise.
3092 (iris_section_align_htab): Likewise.
3093 (iris_orig_asm_out_file): Likewise.
3094 [TARGET_IRIX] (TARGET_ASM_FILE_START): Reflect rename.
3095 (TARGET_ASM_FILE_END): Likewise.
3096 (TARGET_SECTION_TYPE_FLAGS): Likewise.
3098 * config/mips/mips.c [TARGET_IRIX5 && !TARGET_IRIX6]
3099 (TARGET_ASM_UNALIGNED_HI_OP): Use runtime initialization in
3100 override_options instead.
3101 (TARGET_ASM_UNALIGNED_SI_OP): Likewise.
3102 (TARGET_ASM_UNALIGNED_DI_OP): Likewise.
3103 * config/mips/mips.c (override_options) [USE_COLLECT2]: Restore
3104 flag_gnu_linker to defaults without USE_COLLECT2 for non-IRIX O32
3106 Likewise for constructor/destructor handling.
3107 (override_options): Handle IRIX O32 assembler quirks.
3108 [TARGET_IRIX] (irix_asm_named_section): Handle O32 ABI with and
3110 (mips_file_start): Use new TARGET_IRIX.
3111 (mips_declare_object_name): No special processing for IRIX O32
3113 (mips_finish_declare_object): Likewise.
3114 (irix_asm_output_align): Renamed from iris6_asm_output_align.
3115 Don't record alignment for O32 ABI.
3116 (irix_file_start): Renamed from iris6_file_start.
3117 Return early for O32 ABI.
3118 (irix_file_end): Renamed from iris6_file_end.
3119 Don't emit .section directives for O32 ABI.
3120 * config/mips/iris6.h (ASM_OUTPUT_ALIGN): Reflect renaming.
3121 * config/mips/mips-protos.h (irix_asm_output_align): Likewise.
3123 * config/mips/t-iris6 (MULTILIB_OPTIONS): Add mabi=32.
3124 (MULTILIB_OSDIRNAMES): Likewise.
3126 2003-10-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3128 * collect2.c (COLLECT_PARSE_FLAG): Provide default.
3130 * doc/tm.texi (COLLECT_PARSE_FLAG): Document it.
3132 2003-10-17 Richard Earnshaw <rearnsha@arm.com>
3134 * arm-modes.def (CC_Nmode): New condition code mode.
3135 * arm.c (thumb_condition_code): Delete.
3136 (arm_select_cc_mode): Handle single-bit test for Thumb.
3137 (arm_print_operand, cases 'd' and 'D'): Don't special case the
3138 condition code logic for Thumb.
3139 (get_arm_condition_code): Handle CC_Nmode.
3140 (thumb_cbrch_target_operand): New function.
3141 * arm.h (PREDICATE_CODES): Add thumb_cbrch_target_operand.
3142 * arm-protos.h (thumb_cbrch_target_operand): Add prototype.
3143 * arm.md: Add Thumb split patterns for zero_extract and
3145 (tbit_cbranch, andsi3_cbranch_scratch, andsi3_cbranch)
3146 (orrsi3_cbranch_scratch, orrsi3_cbranch, xorsi3_cbranch_scratch)
3147 (xorsi3_cbranch, addsi3_cbranch, addsi3_cbranch_scratch)
3148 (subsi3_cbranch, subsi3_cbranch_scratch): New Thumb patterns.
3149 (cbranchne_decr1): Re-work to use CC_Nmode.
3151 * arm.c (thumb_expand_epilogue): Add clobbers of registers restored
3152 by the return instruction. Add a use of the link register if it
3155 2003-10-17 Richard Earnshaw <rearnsha@arm.com>
3157 * flow.c (init_propagate_block_info): Don't abort if a conditional
3158 jump is not a comparison of a register. Instead, just don't record
3159 conditional life information.
3161 2003-10-16 Jan Hubicka <jh@suse.cz>
3163 PR optimization/12630
3164 * pa.md (movstrsi, movstrsi_internal): Use match_scratch in clobbers
3165 for operands 7 and 8.
3167 2003-10-16 Kelley Cook <kcook@gcc.gnu.org>
3169 * objc/Make-lang.in (objc-parse.o): Honor $(parsedir) for objc-parse.c.
3171 2003-10-16 Danny Smith <dannysmith@users.sourceforge.net>
3173 * config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Define.
3175 * config/i386/winnt.c (gen_stdcall_suffix): Make static
3176 (gen_fastcall_suffix): Likewise.
3177 (i386_pe_dllexport_p): Likewise.
3178 (i386_pe_dllimport_p): Likewise.
3179 (i386_pe_mark_dllexport): Likewise.
3180 (i386_pe_mark_dllimport): Likewise.
3181 (i386_pe_asm_named_section): Fix formatting.
3183 2003-10-16 Zack Weinberg <zack@codesourcery.com>
3185 * configure.in: Add snprintf to gcc_AC_CHECK_DECLS list.
3186 * system.h: Declare snprintf if necessary.
3187 * configure, config.in: Regenerate.
3189 2003-10-15 David Edelsohn <edelsohn@gnu.org>
3191 * config/rs6000/rs6000.c (rs6000_va_arg): Only align vector
3192 arguments if TARGET_ALTIVEC_ABI.
3194 2003-10-15 Roger Sayle <roger@eyesopen.com>
3196 * builtins.c (fold_builtin_memcpy, fold_builtin_mempcpy,
3197 fold_builtin_memmove, fold_builtin_strcpy, fold_builtin_strncpy,
3198 fold_builtin_memcmp, fold_builtin_strcmp, fold_builtin_strncmp):
3200 (expand_builtin_memcpy): Use integer_zerop instead of testing
3201 host_integerp and tree_low_cst directly. Move misapplied hunk
3202 for optimization wher SRC and DEST point to the same location.
3203 (expand_builtin_mempcpy): From here.
3204 (expand_builtin_memmove): Use integer_zerop instead of testing
3205 host_integerp and tree_low_cst_directly.
3206 (expand_builtin_memset): Likewise.
3207 (expand_builtin_memcmp): Likewise (and for integer_onep).
3208 (expand_builtin_strncmp): Likewise.
3209 (fold_builtin): Call the appropriate fold_builtin_foo functions
3210 to optimize memcpy, mempcpy, memmove, strcpy, strncpy, memcmp,
3213 2003-10-15 Geoffrey Keating <geoffk@apple.com>
3215 * config/darwin-protos.h (machopic_non_lazy_ptr_name): Delete
3216 prototype. Clean up some whitespace.
3217 * config/darwin.c: Use gen_rtx_FOO (...) rather than
3219 (machopic_non_lazy_ptr_name): Make static.
3220 (name_needs_quotes): Allow '.' and '$' unquoted.
3221 (machopic_legitimize_pic_address): Improve codegen in dynamic-no-pic
3224 2003-10-15 Gábor Lóki <alga@rgai.hu>
3226 * fold-const.c (tree_swap_operands_p): Disable some features
3227 when optimizing for size.
3229 2003-10-15 David Daney <ddaney@avtrex.com>
3231 * config/mips/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New
3232 * config/mips/mips.h (DWARF_FRAME_REGNUM): Fixed to allow unwind
3233 from leaf functions.
3234 (DWARF_FRAME_RETURN_COLUMN): Ditto.
3235 (SIGNAL_UNWIND_RETURN_COLUMN): New, used
3236 by MD_FALLBACK_FRAME_STATE_FOR.
3237 * testsuite/gcc.dg/cleanup-9.c: Added mips*-*-linux* target.
3239 2003-10-15 Zack Weinberg <zack@codesourcery.com>
3241 * genmodes.c: Include hashtab.h.
3242 (modes_by_name, hash_mode, eq_mode, struct mode_adjust)
3243 (adj_bytesize, adj_alignment, adj_format, new_adjust)
3244 (_ADD_ADJUST, ADJUST_BYTESIZE, ADJUST_ALIGNMENT, ADJUST_FORMAT)
3245 (print_maybe_const_decl, emit_mode_adjustments): New.
3246 (known_modes): Rename to modes.
3247 (find_mode): Kill class argument; look up in hash table.
3248 (new_mode): Insert into hash table also.
3250 (reset_float_format, make_partial_integer_mode)
3251 (make_vector_mode): Tweak error reporting.
3252 (reset_float_format): Correct type of fourth argument.
3253 (emit_insn_modes_h): Add #defines to help make mode_size,
3254 mode_base_align, and real_format_for_mode conditionally const.
3255 (emit_mode_size, emit_mode_base_align): Use print_maybe_const_decl.
3256 (emit_real_format_for_mode): Likewise, but temporarily disabled.
3257 (emit_insn_modes_c): Call emit_mode_adjustments.
3258 (main): Initialize modes_by_name.
3259 * Makefile.in: Update dependencies.
3260 * machmode.def: Document EXPR arguments and new ADJUST_* statements.
3261 * machmode.h: Use CONST_MODE_SIZE and CONST_MODE_BASE_ALIGN in
3262 declarations of mode_size and mode_base_align. Declare
3263 init_adjust_machine_modes.
3264 * toplev.c (backend_init): Call init_adjust_machine_modes.
3266 2003-10-15 Olivier Hainque <hainque@act-europe.fr>
3268 * genmodes.c (calc_wider_mode): Allocate enough room for all the
3269 entries we'll possibly assign in the sort buffer.
3271 2003-10-15 Ulrich Weigand <uweigand@de.ibm.com>
3273 * config.gcc (s390x-ibm-tpf*): New target.
3274 * doc/install.texi: Document it.
3275 * config/s390/t-tpf: New file.
3276 * config/s390/tpf.h: New file.
3278 2003-10-15 Hans-Peter Nilsson <hp@axis.com>
3281 * config/cris/cris.md (define_split "*mov_sidesi_biap_mem"+1)
3282 (define_splits "*mov_sidesi_mem"+1, "casesi"+9, +10, +11, +12):
3283 Use cris_mem_op and replace_equiv_address, not gen_rtx_MEM.
3284 ("call", "call_value", define_split "*mov_sidesi_mem"+19, +20)
3285 (define_split "*mov_sidesi_mem"+21, +22, +23, +24, +25, +26, +27)
3286 (define_split "*mov_sidesi_mem"+28, +29, +30): Use
3287 replace_equiv_address, not gen_rtx_MEM.
3288 * config/cris/cris.c (cris_mem_op): New match_operator function.
3289 (cris_notice_update_cc): Use replace_equiv_address, not
3291 * config/cris/cris.h (PREDICATE_CODES): Add cris_mem_op.
3293 2003-10-15 Bernardo Innocenti <bernie@develer.com>
3295 * config/m68k/m68k.h (MASK_SEP_DATA, TARGET_SEP_DATA,
3296 MASK_ID_SHARED_LIBRARY, TARGET_ID_SHARED_LIBRARY): Move
3297 definitions after the other flags.
3299 2003-10-14 Ziemowit Laski <zlaski@apple.com>
3301 * c-parse.in (methoddef, methodproto): Call objc_add_method()
3302 instead of add_method().
3303 * objc/objc-act.c (objc_check_decl): Do not check for
3304 constant_string_type.
3305 (add_method): Rename to objc_add_method().
3306 (really_start_method): Call objc_add_method() instead of
3308 * objc/objc-act.h (add_method): Rename to objc_add_method().
3310 2003-10-14 Ulrich Weigand <uweigand@de.ibm.com>
3312 * config/s390/s390-protos.h (s390_alc_comparison): Add prototype.
3313 (s390_slb_comparison): Likewise.
3314 * config/s390/s390.c (s390_alc_comparison, s390_slb_comparison):
3316 * config/s390/s390.h (PREDICATE_CODES): Add s390_alc_comparison
3317 and s390_slb_comparison.
3318 * config/s390/s390.md ("*adddi3_31", "*subdi3_31"): Do not use on
3320 ("*adddi3_31z", "*subdi3_31z"): New insns.
3321 ("*adddi3_alc_cc", "*adddi3_alc", "*subdi3_slb_cc", "*subdi3_slb",
3322 "*addsi3_alc_cc", "*addsi3_alc", "*subsi3_slb_cc", "*subsi3_slb"):
3325 2003-10-14 Nathanael Nerode <neroden@gcc.gnu.org>
3327 * configure.in: Clean up some feedback echoes.
3328 * configure: Regenerate.
3330 * aclocal.m4: Properly quote names of macros being defined.
3332 * config.gcc (am33_2.0-*-linux*): Use t-slibgcc-elf-ver.
3334 2003-10-14 Steve Ellcey <sje@cup.hp.com>
3336 * config/ia64/ia64.c (ia64_expand_call): Force function address
3338 * config/ia64/ia64.md (call_gp): Put DImode on operand 0.
3340 2003-10-14 Ulrich Weigand <uweigand@de.ibm.com>
3342 * config/s390/s390.md ("muldf3", "*muldf3", "*muldf3_ibm",
3343 "mulsf3", "*mulsf3", "*mulsf3_ibm"): Do not clobber CC.
3344 ("divdf3", "*divdf3", "*divdf3_ibm", "divsf3", "*divsf3",
3345 "*divsf3_ibm"): Likewise.
3347 2003-10-14 Nathanael Nerode <neroden@gcc.gnu.org>
3349 * config.gcc, config/m68hc11/t-m68hc11-gas: Replace uses of
3350 target_alias with target_noncanonical.
3352 2003-10-14 Geoffrey Keating <geoffk@apple.com>
3354 * expr.c (block_move_libcall_safe_for_call_parm): Clean up,
3355 and add case for machines where outgoing register parameters
3358 * config/darwin.c (machopic_indirect_data_reference): Use a scratch
3359 register when generating indirect address.
3361 2003-10-14 Richard Earnshaw <rearnsha@arm.com>
3363 * arm.c (arm_addimm_operand): MODE arguemnt is unused.
3364 * arm.md (cbranchne_decr1): Fix bootstrap warning.
3366 2003-10-14 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3368 * fixinc/inclhack.def (alpha_pthread_gcc): New fix.
3369 * fixinc/fixincl.x: Regenerate.
3370 * fixinc/tests/base/pthread.h [ALPHA_PTHREAD_GCC_CHECK]: New
3372 Fixes PR bootstrap/9330.
3374 2003-10-13 Eric Christopher <echristo@redhat.com>
3376 * config/frv/frv.c (frv_adjust_field_align): Redo check for
3378 (frv_hard_regno_mode_ok): Add SPR_P and AP_FIRST.
3379 * config/frv/frv.h (FUNCTION_PROFILER): Remove abort call.
3380 (SBSS_SECTION_ASM_OP): Remove.
3381 (EXTRA_SECTIONS): Remove in_sbss.
3382 (EXTRA_SECTION_FUNCTIONS): Remove SBSS_SECTION_FUNCTION.
3383 (SBSS_SECTION_FUNCTION, sbss_section): Remove.
3384 (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Change sbss_section to
3387 2003-10-13 Nathanael Nerode <neroden@gcc.gnu.org>
3389 * Makefile.in, configure.in, config.host, mkheaders.in: Replace
3390 uses of ${target_alias} for directory names (and other places which
3391 won't like the empty string) with ${target_noncanonical}. Introduce
3392 call early in configure.in to _GCC_TOPLEV_NONCANONICAL_TARGET so it's
3394 * configure: Regenerate.
3396 2003-10-13 Ian Lance Taylor <ian@wasabisystems.com>
3398 * config/arm/iwmmxt.md (cond_iwmmxt_movsi_insn): New pattern.
3399 * config/arm/arm.md: For splits which rely on conditional moves,
3400 remove ! TARGET_IWMMXT condition.
3402 2003-10-13 David S. Miller <davem@redhat.com>
3404 * ifcvt.c (num_removed_blocks): Rename to num_true_changes.
3405 (find_cond_trap): Always increment if we emit a conditional
3408 2003-10-13 Zack Weinberg <zack@codesourcery.com>
3410 * Makefile.in (BUILD_RTL): Replace $(BUILD_PREFIX)insn-modes.o
3411 with min-insn-modes.o.
3412 (STAGESTUFF): Add min-insn-modes.c.
3413 (genobjs): Add genmodes.o.
3414 (print-rtl.o, print-rtl1.o): Depend on $(TM_P_H).
3415 (insn-modes.o): Depend on $(TM_H) not $(GTM_H); also real.h.
3416 (min-insn-modes.c, min-insn-modes.o): New rules.
3417 (s-modes): Also generate min-insn-modes.c.
3418 ($(BUILD_PREFIX_1)insn-modes.o): Kill.
3419 * genmodes.c (struct mode_data): Add format field.
3420 (blank_mode, validate_mode, complete_mode): Update to match.
3421 (make_scalar_mode): Separate into make_int_mode and make_float_mode.
3422 (_SCALAR_MODE): Kill.
3423 (FLOAT_MODE, FRACTIONAL_FLOAT_MODE): Add format argument.
3424 (emit_insn_modes_c_header): Adjust.
3425 (emit_min_insn_modes_c_header, emit_real_format_for_mode)
3426 (emit_min_insn_modes_c): New functions.
3427 (emit_insn_modes_c): Call emit_real_format_for_mode.
3428 (main): Add -m option to generate min-insn-modes.c.
3429 * machmode.h: Update documentation. Add format argument to
3430 all uses of FLOAT_MODE.
3431 * real.c: Don't define real_format_for_mode here.
3433 * dwarfout.c: Move default definition of PRINT_REG...
3434 * defaults.h: ...here.
3435 * print-rtl.c: Include tm_p.h.
3436 (DEBUG_PRINT_REG, DEBUG_REGISTER_NAMES, debug_reg_names, reg_names):
3438 (print_rtx): Use PRINT_REG, not DEBUG_PRINT_REG. But surround
3439 this entire block with #ifndef GENERATOR_FILE.
3440 * regclass.c: Unconditionally define reg_names.
3441 * config/mips/mips.h, config/rs6000/rs6000.h, config/sh/sh.h
3442 Don't define DEBUG_REGISTER_NAMES.
3443 * config/rs6000/darwin.h: Don't use DEBUG_REGISTER_NAMES in
3444 redefinition of REGISTER_NAMES.
3445 * config/i386/i386.h: Don't define DEBUG_PRINT_REG.
3447 * combine.c: Change all preprocessor conditionals on
3448 EXTRA_CC_MODES to use SELECT_CC_MODE instead; rearrange a bit
3450 * genopinit.c: Remove mention of EXTRA_CC_MODES in comment.
3451 * configure.in: Don't define EXTRA_CC_MODES.
3452 * configure, config.in: Regenerate.
3453 * doc/tm.texi: Remove documentation of EXTRA_CC_MODES.
3455 * config/arc/arc.c, config/m32r/m32r.c, config/sparc/sparc.c:
3456 May assume that GET_MODE_CLASS is accurate for extra CC modes
3459 * config/i860/i860.h (INIT_CUMULATIVE_ARGS): Pass correct
3460 number of arguments to aggregate_value_p.
3462 * genmodes.c (RESET_FLOAT_FORMAT, reset_float_format): New.
3463 * machmode.def: Explain ARCH-modes.def. Document
3464 RESET_FLOAT_FORMAT. Improve commentary on various mode
3465 clusters. Do not define OI, PQI, PHI, PSI, PDI, QF, HF, TQF,
3466 XF, or TF modes here. Remove backward-compatibility
3469 * config/alpha/alpha-modes.def: New file; define TF mode.
3470 * config/arc/arm-modes.def: Define XF mode.
3471 * config/c4x/c4x-modes.def: Define QF and HF modes. Unset
3472 float format for SF and DF modes.