]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ChangeLog
re PR c++/5636 (gcc-3.0.3, memory leakage: function that take a string as parameter...
[thirdparty/gcc.git] / gcc / ChangeLog
CommitLineData
659e5a7a
JM
12002-04-03 Jason Merrill <jason@redhat.com>
2
3 * except.c (struct eh_status): Remove protect_list.
4 (begin_protect_partials, end_protect_partials): Remove.
5 (add_partial_entry): Remove.
6 * except.h: Remove prototypes.
7
8 * expr.c (expand_expr) [WITH_CLEANUP_EXPR, TARGET_EXPR]: Use
9 expand_decl_cleanup_eh.
10
11 PR c++/5636
12 * tree.h (CLEANUP_EH_ONLY): New macro.
13 * stmt.c (expand_decl_cleanup_eh): New fn.
14 (expand_cleanups): Check CLEANUP_EH_ONLY.
15 * c-semantics.c (genrtl_decl_cleanup): Just take the CLEANUP_STMT.
16 Use expand_decl_cleanup_eh.
17 (expand_stmt): Adjust.
18 * c-common.h: Adjust prototype.
19
053d3344
HPN
202002-04-04 Hans-Peter Nilsson <hp@axis.com>
21
22 * config/cris/cris.c (cris_target_asm_function_prologue): Cast
23 uses of PIC_OFFSET_TABLE_REGNUM to int to silence warnings.
24 (cris_target_asm_function_epilogue): Ditto.
25 (cris_initial_frame_pointer_offset): Ditto.
26 (cris_simple_epilogue): Ditto.
27 (cris_expand_builtin_va_arg): Variable-size types come in
28 by-reference.
29
61ab5260
DM
302002-04-03 David S. Miller <davem@redhat.com>
31
32 * config/sparc/crtfastmath.c (FPRS_NS): Get it right for
33 little-endian.
34 (set_fast_math): Correct 'fsr' type.
35
ef4f94ac
RH
362002-04-03 Richard Henderson <rth@redhat.com>
37
36c2272c 38 PR opt/3569
ef4f94ac
RH
39 * langhooks.h (lang_hooks.decls.warn_unused_global): New.
40 * toplev.c (check_global_declarations): Use it.
41 * langhooks-def.h (lhd_warn_unused_global_decl): Declare.
42 (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
43 (LANG_HOOKS_DECLS): Add it.
44 * langhooks.c (lhd_warn_unused_global_decl): New.
45 * c-decl.c (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
46 * c-objc-common.c (c_warn_unused_global_decl): New.
47 * c-tree.h (c_warn_unused_global_decl): Declare.
48 * objc/objc-lang.c (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
49
599bba86
NB
502002-04-03 Neil Booth <neil@daikokuya.demon.co.uk>
51
52 * langhooks-def.h (lhd_set_decl_assembler_name,
53 LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): New.
54 (LANG_HOOKS_INITIALIZER): Update.
55 * langhooks.c (lhd_set_decl_assembler_name): New, from tree.c
56 * langhooks.h (struct lang_hooks): New hook.
57 * tree.c (set_decl_assembler_name): Move to langhooks.c.
58 (lang_set_decl_assembler_name): Remove.
59 (init_obstacks): Don't set hook.
60 (decl_assembler_name): New function.
61 * tree.h (DECL_ASSEMBLER_NAME): Turn into a function call.
62 (decl_assembler_name): New.
63 (lang_set_decl_assembler_name): Remove.
64
cf7b8b0d
JJ
652002-04-03 Jakub Jelinek <jakub@redhat.com>
66
67 * configure.in (HAVE_SPARC_UA_PCREL_HIDDEN): Test whether %r_disp32()
68 works properly with .hidden symbols.
69 * configure: Rebuilt.
70 * config.in: Rebuilt.
71 * config/sparc/sparc.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
72 DW_EH_PE_absptr for flag_pic && GLOBAL if %r_disp32() doesn't work
73 properly with .hidden symbols.
74
faf6db38
JJ
752002-04-03 Jakub Jelinek <jakub@redhat.com>
76
77 PR middle-end/6102
78 * df.c (df_insn_refs_record): Use XEXP not SET_DEST to access
79 USE argument.
80
68c17f30
RH
812002-04-03 Richard Henderson <rth@redhat.com>
82
83 PR opt/4120
84 * sched-rgn.c (sets_likely_spilled): New.
85 (sets_likely_spilled_1): New.
86 (add_branch_dependences): Use it.
87
6584b4aa
RH
882002-04-02 Richard Henderson <rth@redhat.com>
89
90 PR opt/4311
91 * loop.h (LOOP_FIRST_PASS): New.
92 * loop.c (strength_reduce): Mind it when deciding to unroll.
93 * toplev.c (rest_of_compilation): Set it.
94
0acf409f
DM
952002-04-02 David S. Miller <davem@redhat.com>
96
97 * config/sparc/sparc.md (ldd peephole2s): Fix final arg to
98 mems_ok_for_ldd_peep when the order of the loads being examined
99 is reversed.
100 * config/sparc/sparc.c (mems_ok_for_ldd_peep): Expand upon
101 existing comment to increase comprehension of this situation.
102
85654444
ZW
1032002-04-02 Zack Weinberg <zack@codesourcery.com>
104
105 * config/sh/sh.md: Don't use union real_extract.
106
543828ca
RH
1072002-04-02 Richard Henderson <rth@redhat.com>
108
109 * libgcc2.c (__bb_exit_func): Revert 03-31 change.
110
39ed301b
DB
1112002-04-02 David O'Brien <obrien@FreeBSD.org>
112
113 * config.gcc (i386-dg-dgux, i386-go32-msdos , i386-go32-rtems,
114 i386-ibm-aix, i386-moss-msdos, i386-ncr-sysv4, i386-next-,
115 i386-pc-msdosdjgpp, i386-sequent-bsd, i386-sequent-ptx1,
116 i386-sequent-ptx2, i386-sequent-ptx4, i386-sun-sunos,
117 i386-wrs-vxworks, i386-*-aout, i386-*-beoself, i386-*-bsd,
118 i386-*-bsdi, i386-*-chorusos, i386-*-coff, i386-*-elf,
119 i386-*-freebsd5, i386-*-freebsd-aout, i386-*-gnu, i386-*-interix,
120 i386-*-interix3, i386-*-isc, i386-*-linux, i386-*-linuxaout,
121 i386-*-linuxoldld, i386-*-lynxos, i386-*-mach, i386-*-mingw32,
122 i386-*-netbsd, i386-*-netbsdelf, i386-*-netware, i386-*-openbsd,
123 i386-*-osf1, i386-*-osfrose, i386-*-pe , i386-*-rtems,
124 i386-*-rtemscoff, i386-*-sco3.2v5, i386-*-solaris2, i386-*-sysv,
125 i386-*-sysv4, i386-*-sysv5, i386-*-udk, i386-*-uwin, i386-*-vsta,
126 i386-*-win32, x86_64-*-freebsd5, x86_64-*-linux, x86_64-*-netbsd):
127 Include as many configury headers via tm_file as possible. This
128 includes among others i386/unix.h, i386/bsd.h, i386/gas.h.
129 * config/openbsd-oldgas.h: New file.
130 * config/i386/386bsd.h, config/i386/aix386ng.h, config/i386/att.h,
131 config/i386/bsd.h, config/i386/djgpp.h, config/i386/freebsd-aout.h,
132 config/i386/gas.h, config/i386/gstabs.h, config/i386/i386-aout.h,
133 config/i386/i386-coff.h, config/i386/i386-interix.h,
134 config/i386/iscdbx.h, config/i386/linux-aout.h,
135 config/i386/linux-oldld.h, config/i386/lynx-ng.h, config/i386/lynx.h,
136 config/i386/mach.h, config/i386/netbsd.h, config/i386/next.h,
137 config/i386/openbsd.h, config/i386/osfelf.h, config/i386/osfrose.h,
138 config/i386/sco5.h, config/i386/seq-gas.h, config/i386/seq-sysv3.h,
139 config/i386/seq2-sysv3.h, config/i386/sequent.h, config/i386/sun.h,
140 config/i386/sun386.h, config/i386/svr3dbx.h, config/i386/svr3gas.h,
141 config/i386/sysv3.h, config/i386/uwin.h, config/i386/vsta.h,
142 config/i386/vxi386.h: Do not directly include configury headers.
143 * config/i386/cygwin.h, config/i386/djgpp.h, config/i386/win32.h:
144 Directly include configury headers that are no longer automatically
145 included by the above headers.
146 * config/i386/att.h, config/i386/bsd.h (TARGET_VERSION): Do not define.
147 * config/i386/386bsd.h, config/i386/aix386ng.h, config/i386/cygwin.h,
148 config/i386/djgpp.h, config/i386/i386-aout.h, config/i386/i386-coff.h,
149 config/i386/lynx-ng.h, config/i386/lynx.h, config/i386/mach.h,
150 config/i386/netbsd.h, config/i386/openbsd.h, config/i386/rtems.h,
151 config/i386/seq-sysv3.h, config/i386/sequent.h, config/i386/svr3gas.h,
152 config/i386/sysv3.h, config/i386/vsta.h, config/i386/vxi386.h
153 (TARGET_VERSION): Define.
154 * config/i386/beos-elf.h, config/i386/freebsd.h,
155 config/i386/i386-interix.h, config/i386/i386elf.h, config/i386/linux.h,
156 config/i386/linux64.h, config/i386/netbsd-elf.h, config/i386/netbsd64.h,
157 config/i386/osfelf.h, config/i386/osfrose.h, config/i386/ptx4-i.h,
158 config/i386/sco5.h, config/i386/sysv4.h
159 (TARGET_VERSION): Do not need to protect.
160 * config/i386/freebsd64.h (TARGET_VERSION): Fix style.
161 * config/i386/386bsd.h, config/i386/cygwin.h, config/i386/djgpp.h,
162 config/i386/freebsd-aout.h, config/i386/i386-aout.h,
163 config/i386/i386-interix.h, config/i386/linux-aout.h,
164 config/i386/linux-oldld.h, config/i386/mach.h, config/i386/netbsd.h,
165 config/i386/openbsd.h, config/i386/vsta.h, config/i386/win32.h
166 (YES_UNDERSCORES): Do not define - not needed.
167 * config/i386/bsd.h, config/i386/gas.h (LPREFIX,
168 ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL,
169 USER_LABEL_PREFIX): Do not handle the "NO_UNDERSCORES" case.
170 * config/i386/i386-coff.h, config/i386/lynx.h, config/i386/lynx-ng.h
171 (LPREFIX, ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL,
172 USER_LABEL_PREFIX): Define. (handles the "NO_UNDERSCORES" case)
173 * config/i386/isc.h: Preserve comment from config/i386/isccoff.h.
174 * config/i386/isccoff.h, config/i386/v3gas.h: Remove.
175
9432c136
EB
1762002-04-02 Eric Botcazou <ebotcazou@multimania.com>
177 Richard Henderson <rth@redhat.com>
178
179 PR c/5484
180 * function.c (assign_temp): Accept either type or decl argument.
181 Detect variables whose size is too large to fit into an integer.
182 * stmt.c (expand_decl): Pass the decl, not the type.
183
058b1275
DB
1842002-04-02 David O'Brien <obrien@FreeBSD.org>
185
186 * protoize.c: Match include directory usage with cppdefault.c.
187
5add6d1a
JL
1882002-04-03 Jeffrey A Law (law@redhat.com)
189 Hans-Peter Nilsson <hp@bitrange.com>
190
191 * combine.c (simplify_comparison): Avoid narrowing a comparison
192 with a paradoxical subreg when doing so would drop signficant bits.
193
1e533e4b
SE
1942002-04-02 Steve Ellcey <sje@cup.hp.com>
195
196 * builtins.c (expand_builtin_prefetch): Force op0 pointer to Pmode
197 if POINTERS_EXTEND_UNSIGNED is defined.
198
7a145e92
RH
1992002-04-02 Richard Henderson <rth@redhat.com>
200
201 PR opt/3967
202 * local-alloc.c (contains_replace_regs): LO_SUM may contain
203 replace regs.
204
3a079822
RH
2052002-04-02 Richard Henderson <rth@redhat.com>
206
207 * doc/standards.texi: Document required freestanding libc entry points.
208
c94ccb87
AM
2092002-04-02 Alan Modra <amodra@bigpond.net.au>
210
211 * config/rs6000/rs6000.md (ctrdi*): Add FPR constraint and
212 associated splitter. Remove MQ constraint.
213 (ctrdi_internal4): Correct CCmode clobber.
214
fe660a1a
JDA
2152002-04-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
216
217 * milli64.S ($$dyncall): New function.
218 * t-linux (LIB1ASMFUNCS): Revise module list.
219 (LIB1ASMSRC): Use pa/milli64.S.
220
eadc0202
RH
2212002-04-02 Richard Henderson <rth@redhat.com>
222
223 * fixinc/inclhack.def (AAB_solaris_sys_varargs_h): Move and
224 rename solaris_sys_varargs_h.
225
a1471322
RK
226Tue Apr 2 06:47:40 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
227
228 * stor-layout.c (layout_type, case ARRAY_TYPE): Give one-element array
229 the same mode as its component.
230
c8b94768
RH
2312002-04-02 Richard Henderson <rth@redhat.com>
232
233 PR opt/190
234 * final.c (this_is_asm_operands): Export.
235 * output.h (this_is_asm_operands): Declare.
236 * config/i386/i386.c (print_operand): Error odd asm operands.
237
161eb4fc
RH
2382002-04-02 Richard Henderson <rth@redhat.com>
239
240 PR opt/420
241 * config/m68k/m68k.md (dbcc peepholes): Match four forms of dbra.
242
b88a94c6
RH
2432002-04-01 Richard Henderson <rth@redhat.com>
244
245 PR target/1538
246 * fixinc/inclhack.def (solaris_sys_varargs_h): New.
247 * fixinc/fixincl.x: Rebuild.
248
72e32876
RH
2492002-04-01 Richard Henderson <rth@redhat.com>
250
251 * config/ia64/unwind-ia64.c: Include ia64intrin.h.
252 (atomic_alloc, atomic_free): New.
253 (SIZE, MASK_FOR, PTR_IN): New.
254 (emergency_reg_state, emergency_reg_state_free): New.
255 (emergency_labeled_state, emergency_labeled_state_free): New.
256 (reg_state_alloced, labeled_state_alloced): New.
257 (alloc_reg_state, free_reg_state): New.
258 (alloc_label_state, free_label_state, free_label_states): New.
259 (push, pop, dup_state_stack, free_state_stack): Use them.
260 (desc_label_state): Likewise.
261 (uw_frame_state_for): Free label states and state stack.
262 (uw_update_reg_address): Eliminate warnings.
263
84d76074
VM
2642002-04-01 Vladimir Makarov <vmakarov@redhat.com>
265
266 * config/pa/pa-pro-end.h (ASM_OUTPUT_ALIGNED_COMMON,
267 ASM_OUTPUT_ALIGNED_LOCAL): Redefine them.
268
dffd7eb6
NB
2692002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
270
271 * c-decl.c (grokdeclarator): Update.
272 * c-lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
273 * c-tree.h (c_mark_addressable): New.
274 * c-typeck.c (default_function_array_conversion, build_unary_op,
275 build_array_ref, convert_for_assignment): Update.
276 (mark_addressable): Rename.
277 * calls.c (try_to_integrate, expand_call): Use langhook.
278 * expr.c (expand_expr): Use langhook.
279 * langhooks-def.h (LANG_HOOKS_INITIALIZER): Update.
280 * langhooks.h (struct lang_hooks): New hook.
281 * stmt.c (expand_asm_operands): Use langhook.
282 * tree.h (mark_addressable): Remove.
283objc:
284 * objc-lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
285
544ef5b5
BW
2862002-04-01 Bob Wilson <bob.wilson@acm.org>
287
288 * config/xtensa/xtensa.c (xtensa_va_arg): Fix compiler warning
289 in previous change.
290
bcf88f9b
BW
2912002-04-01 Bob Wilson <bob.wilson@acm.org>
292
293 * config/xtensa/xtensa.c (xtensa_va_arg): Fix to handle arguments
294 for which MUST_PASS_IN_STACK is true (e.g., variable-sized types).
295
ceef8ce4
NB
2962002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
297
298 * c-common.c (unsigned_conversion_warning, convert_and_check,
299 unsigned_type, signed_type, shorten_compare,
300 c_common_get_alias_set, c_common_nodes_and_builtins): Use new hooks.
301 (unsigned_type, signed_type, signed_or_unsigned_type): Rename.
302 * c-common.h (unsigned_type, signed_type, signed_or_unsigned_type):
303 New.
304 * c-decl.c (grokdeclarator): Update.
305 * c-format.c (check_format_types): Update.
306 * c-lang.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
307 LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
308 * c-typeck.c (build_binary_op, convert_for_assignment): Update.
309 * convert.c (convert_to_integer): Use new hooks.
310 * expmed.c (make_tree): Use new hooks.
311 * expr.c (store_expr): Use new hooks.
312 * fold-const.c (operand_equal_for_comparison_p, build_range_check,
313 all_ones_mask_p, unextend, fold): Use new hooks.
314 * langhooks.h (struct lang_hooks_for_types): New hooks.
315 * tree.h (signed_or_unsigned_type, signed_type,
316 unsigned_type): Remove.
317objc:
318 * objc-lang.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
319 LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
320
1d9ad0e0
RH
3212002-03-31 Richard Henderson <rth@redhat.com>
322
323 * config/ia64/unwind-ia64.c (alloc_spill_area): Fix offset.
324 (desc_frgr_mem): Fix reference to f16-f31.
325
d544bc39
KG
3262002-03-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
327
328 * rtl.h (RTL_CHECK1, RTL_CHECK2, RTL_CHECKC1, RTL_CHECKC2,
329 RTVEC_ELT): Const-ify.
d8750784
KG
330 * varray.h (VARRAY_CHECK): Const-ify.
331 * ggc.h (ggc_mark_rtx, ggc_mark_tree, ggc_mark_nonnull_tree,
332 ggc_mark_rtvec, ggc_mark): Const-ify.
d544bc39 333
b18101c7
NB
3342002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
335
336 * diagnostic.c: Include langhooks-def.h.
337 * Makefile.in (diagnostic.o): Update.
338
48a7a235
NB
3392002-03-31 Neil Booth <neil@daikokuya.demon.co.uk>
340
341 * c-common.c (c_unsafe_for_reeval): Rename.
342 * c-common.h (c_unsafe_for_reeval): Rename.
343 * c-decl.c (finish_incomplete_decl): Rename.
344 (c_init_decl_processing): Don't set langhook.
345 * c-lang.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL,
346 LANG_HOOKS_UNSAFE_FOR_REEVAL): Redefine.
347 * c-objc-common.c (c_objc_common_init): Don't set langhook.
348 * c-tree.h (finish_incomplete_decl): Rename.
349 * langhooks-def.h (lhd_unsafe_for_reeval): New.
350 (LANG_HOOKS_FINISH_INCOMPLETE_DECL, LANG_HOOKS_UNSAFE_FOR_REEVAL): New.
351 (LANG_HOOKS_INITIALIZER): Update.
352 * langhooks.c (lhd_unsafe_For_reeval): New.
353 * langhooks.h (struct langhooks): New hooks.
354 * toplev.c (incomplete_decl_finalize_hook): Remove.
355 (wrapup_global_declarations): Update.
356 * tree.c (lang_unsafe_for_reeval): Remove.
357 (unsafe_for_reeval): Update.
358 * tree.h (lang_unsafe_for_reeval, incomplete_decl_finalize_hook):
359 Remove.
360objc:
361 * objc-lang.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL,
362 LANG_HOOKS_UNSAFE_FOR_REEVAL): Redefine.
363
7cb32822
NB
3642002-03-31 Neil Booth <neil@daikokuya.demon.co.uk>
365
366 * diagnostic.c (print_error_function): Remove.
367 (default_print_error_function): Rename.
368 (report_error_function): Update.
369 * diagnostic.h (print_error_function): Remove.
370 (default_print_error_function): Remove.
371 * langhooks-def.h (struct diagnostic_context): Predeclare.
372 (lhd_print_error_function, LANG_HOOKS_PRINT_ERROR_FUNCTION): New.
373 (LANG_HOOKS_INITIALIZER): Update.
374 * langhooks.h (struct diagnostic context): Predeclare.
375 (struct lang_hooks): New hook.
376
1db02437
FS
3772002-03-31 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
378
379 * config/rs6000/rs6000.h (RS6000_PIC_OFFSET_TABLE_REGNUM): New.
380 (PIC_OFFSET_TABLE_REGNUM): Use it and return INVALID_REGNUM if
381 !flag_pic.
382 (CONDITIONAL_REGISTER_USAGE): Adjust accordingly.
383 * config/rs6000/rs6000.h: Use RS6000_PIC_OFFSET_TABLE_REGNUM instead
384 of PIC_OFFSET_TABLE_REGNUM thruout.
385 * config/rs6000/rs6000.md: Likewise.
386 * config/rs6000/darwin.h: Likewise.
387
3bf1e984
RK
388Sun Mar 31 14:43:24 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
389
390 * emit-rtl.c (adjust_address_1, offset_address): Cast value to
391 unsigned HOST_WIDE_INT, not unsigned int.
392
0864c526
JJ
3932002-03-31 Jakub Jelinek <jakub@redhat.com>
394
395 PR middle-end/6096, middle-end/6098, middle-end/6099
396 * reorg.c (emit_delay_sequence): Only increment LABEL_NUSES for
397 CODE_LABELs.
398 (fill_slots_from_thread): Likewise.
399
105b2084
JJ
4002002-03-31 Jakub Jelinek <jakub@redhat.com>
401
402 * config/sparc/sparc.c (function_arg_record_value_1): Pass complex
403 floating fields in float regs.
404 (function_arg_record_value_2): Likewise.
405
db08fddf
HPN
4062002-03-31 Hans-Peter Nilsson <hp@bitrange.com>
407
408 * config/mmix/mmix.md (define_constants): Remove misleading
409 FIXME. Add MMIX_fp_rO_OFFSET.
410 ("nonlocal_goto_receiver"): Don't have stack-frame address of
411 saved rO as part of the pattern. Remove FIXME.
412 ("*nonlocal_goto_receiver_expanded"): Similar. Generate address
413 here, at output-time.
414
4f31cce8
JJ
4152002-03-31 Jakub Jelinek <jakub@redhat.com>
416
417 PR middle-end/6100
418 * config/sparc/sparc.c (output_cbranch): Use REG_BR_PROB, not
419 REG_BR_PRED.
420 (output_v9branch): Likewise.
421
ba2b7435
AO
4222002-03-31 Alexandre Oliva <aoliva@redhat.com>
423
424 * gcc.c: Revert previous patch for now.
425 * config/i386/djgpp.h: Likewise.
426
aa66aa5f 4272002-03-31 Hans-Peter Nilsson <hp@bitrange.com>
8f840f57
HPN
428
429 * config/mmix/crti.asm (_init): Register _fini with atexit.
430 * config/mmix/crtn.asm (_fini): Add omitted "POP 0,0".
431
41ba8a20
RH
4322002-03-31 Richard Henderson <rth@redhat.com>
433
434 PR target/3997
435 * config/alpha/elf.h (ASM_OUTPUT_DEF): Tidy.
436 (ASM_OUTPUT_DEF_FROM_DECLS): New.
437
adc186ef
RH
4382002-03-31 Richard Henderson <rth@redhat.com>
439
440 * libgcc2.c (__bb_exit_func): Make static.
441
a7648399
RH
442 * config/alpha/alpha.md (trap): New.
443
9602f5a0
RH
4442002-03-31 Richard Henderson <rth@redhat.com>
445
446 * builtins.c (expand_builtin_va_arg): Give warnings not errors for
447 promoted argument types; build trap.
448 (expand_builtin_trap): New.
449 (expand_builtin): Use it.
450 * stmt.c (expand_nl_goto_receivers): Likewise.
451 * expr.h (expand_builtin_trap): Declare.
452 * libfuncs.h (LTI_abort, abort_libfunc): New.
453 * optabs.c (init_optabs): Init abort_libfunc.
454
1a0a7539
AO
4552002-03-31 Alexandre Oliva <aoliva@redhat.com>
456
457 * gcc.c (LIBGCC_SPEC): Folded %L and duplicate %G here...
458 (LINK_COMMAND_SPEC): ... from here.
459 (init_gcc_specs): Duplicate it here too, omitting
460 shared_name in the second copy.
461 (init_spec): Test for duplicate
462 * config/i386/djgpp.h (LINK_COMMAND_SPEC): Remove `%L %G'.
463
b5de1a27
DM
4642002-03-30 David S. Miller <davem@redhat.com>
465
466 * config/sparc/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
467 * config/sparc/linux64.h (HANDLE_PRAGMA_PACK_PUSH_POP): Likewise.
468
78414d74
RS
4692002-03-30 Roger Sayle <roger@eyesopen.com>
470 Richard Henderson <rth@redhat.com>
471
472 * regmove.c (combine_stack_adjustments_for_block): Avoid
473 emitting a stack adjustment of zero bytes. Let delete_insn
474 update bb->head.
475
33074e5f
RH
4762002-03-30 Richard Henderson <rth@redhat.com>
477
478 * config/sparc/sparc.c: Remove all references to TARGET_EPILOGUE.
479 (sparc_emitting_epilogue): New.
480 (leaf_label, output_return, sparc_return_peephole_ok): Remove.
481 * config/sparc/sparc-protos.h: Update.
482 * config/sparc/sparc.h (MASK_EPILOGUE, TARGET_EPILOGUE): Remove.
483 (TARGET_SWITCHES): Update.
484 * config/sparc/sparc.md (return): Remove.
485 (return_*): Use sparc_emitting_epilogue, not !TARGET_EPILOGUE.
486 * config/sparc/freebsd.h, config/sparc/linux64.h, config/sparc/lite.h,
487 config/sparc/liteelf.h, config/sparc/netbsd-elf.h,
488 config/sparc/sol2-sld-64.h, config/sparc/sol2.h,
489 config/sparc/sp64-aout.h, config/sparc/sp64-elf.h,
490 config/sparc/sp86x-aout.h, config/sparc/sp86x-elf.h,
491 config/sparc/splet.h, config/sparc/vxsparc64.h (TARGET_DEFAULT):
492 Remove MASK_EPILOGUE.
493 * doc/invoke.texi: Update.
494
606cc056
DB
4952002-03-30 Daniel Berlin <dan@dberlin.org>
496
497 * dwarf2out.c (dwarf2out_define): Remove start_source_file call,
498 CPP will start the file for us.
499
bdbe5b8d
RH
5002002-03-30 Richard Henderson <rth@redhat.com>
501
502 PR target/5446
503 * config/ia64/ia64.c (group_barrier_needed_p): Special case
504 prologue_allocate_stack.
505 (ia64_single_set): Use insn codes for recognition of special
506 cases, not rtl matching.
507 * config/ia64/ia64.md (prologue_allocate_stack): Op 3 is in-out.
508
4ab95d82
JH
509Sat Mar 30 23:48:41 CET 2002 Jan Hubicka <jh@suse.cz>
510
511 * cfgbuild.c (find_basic_blocks_1): Clear aux for blocks.
512
89a8b315
RH
5132002-03-30 Richard Henderson <rth@redhat.com>
514
515 PR target/6032
516 * config/sparc/sparc.h (OVERRIDE_OPTIONS): Don't override -fpic
517 or -fomit-frame-pointer with profiling.
518 (SUBTARGET_OVERRIDE_OPTIONS): Remove.
519 (FUNCTION_PROFILER): Do nothing.
520 (PROFILE_HOOK): New.
521 * config/sparc/sparc.c (sparc_override_options): Don't check
522 code models for profiling.
523 (sparc_function_profiler): Remove.
524 (sparc_profile_hook): New.
525 * config/sparc/sparc-protos.h: Update.
526
30984c57
JJ
5272002-03-30 Jakub Jelinek <jakub@redhat.com>
528
529 PR optimization/6086
530 * combine.c (combine_simplify_rtx): If simplify_rtx failed because
531 of SUBREG of volatile MEM or because the MEM was mode dependent,
532 return CLOBBER instead of unmodified SUBREG.
533
1540f9eb
JH
534Sat Mar 30 14:08:55 CET 2002 Jan Hubicka <jh@suse.cz>
535
89a8b315
RH
536 * local-alloc.c (local_alloc): Avoid call of update_equiv_regs
537 when not optimizing.
1540f9eb
JH
538
539 * toplev.c (rest_of_compilation): Cann mark_constant_function
540 only when optimizing.
541
89a8b315
RH
542 * flow.c (calculate_global_regs_live): Ensure that all AUX fields
543 are NULL.
1540f9eb
JH
544
545 * cfgcleanup.c (bb_flags): Add BB_NONTHREADABLE_BLOCK.
546 (thread_jump): Set BB_NONTHREADABLE_BLOCK, check it.
547 (try_optimize_cfg): clear all AUX fields.
548
549 * i386.c (aligned_operand): Be prepared for SUBREGed registers.
550 (ix86_decompose_address): Use REG_P instead of GET_CODE (...) == REG.
551 (ix86_address_cost): Be prepared for SUBREGed registers.
552 (legitimate_address_p): Accept SUBREGed registers.
553
70d95bac
RH
5542002-03-29 Richard Henderson <rth@redhat.com>
555
556 PR target/5672
557 * expr.c (expand_expr): Pass along EXPAND_INITIALIZER one more place.
558
d3294cd9
FS
5592002-03-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
560
561 * config/rs6000/rs6000.c (rs6000_va_arg): Correctly set register count
562 for aggregate and TFmode types.
563
a106c875
HPN
5642002-03-29 Hans-Peter Nilsson <hp@bitrange.com>
565
566 * cfg.c (dump_flow_info): Guard against NULL regno_reg_rtx[i].
567
7d7a5d6f
RH
5682002-03-29 Richard Henderson <rth@redhat.com>
569
6e2d670b 570 PR target/5886
7d7a5d6f
RH
571 * config/ia64/aix.h (CPP_PREDEFINES): Add -D_LP64.
572 * config/ia64/hpux.h, config/ia64/linux.h: Likewise.
573
30c99a84
RH
5742002-03-29 Richard Henderson <rth@redhat.com>
575
6e2d670b 576 PR target/6041
30c99a84
RH
577 * config/i386/i386.c (x86_arch_always_fancy_math_387): New.
578 (override_options): Disable NO_FANCY_MATH_387 if the arch allows.
579 * config/i386/i386.h (x86_arch_always_fancy_math_387): New.
580 * config/i386/i386.md (sqrtxf2, sqrtextendsfxf2, sinxf2): Fix
581 conditional.
582 * docs/invoke.texi: Update -mno-fancy-math-387 docs.
583
02a566dc
DJ
5842002-03-29 Dale Johannesen <dalej@apple.com>
585
586 * loop.c (combine_movables): Do allow combination of pseudos.
587
bc3a44db
LR
5882002-03-29 Loren J. Rittle <ljrittle@acm.org>
589
590 * config.gcc (*-*-freebsd*): Enable creation of libgcc_s.so.
591 * config/t-slibgcc-elf-ver (SHLIB_LC): Add macro and use it.
592 No functional change except ...
593 * config/t-slibgcc-nolc-override (SHLIB_LC): Override it. New file.
594 * doc/install.texi (*-*-freebsd*): Document port configuration.
595
b0c48229
NB
5962002-03-29 Neil Booth <neil@daikokuya.demon.co.uk>
597
598 * Makefile.in (convert.o, calls.o, expmed.o): Update.
599 * attribs.c (handle_mode_attribute, handle_vector_size_attribute):
600 Use new hooks.
601 * builtin-types.def (BT_PTRMODE): Update.
602 * c-common.c (type_for_size): Rename c_common_type_for_size.
603 (type_for_mode): Similarly.
604 (shorten_compare, pointer_int_sum, c_common_nodes_and_builtins):
605 Use new hook.
606 * c-bommon.h (c_common_type_for_size, c_common_type_for_mode): New.
607 * c-decl.c (finish_enum, build_enumerator): Use new hooks.
608 * c-lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIZE):
609 Redefine.
610 * c-typeck.c (common_type, comptypes, default_conversion):
611 Use new hooks.
612 * calls.c: Include langhooks.h.
613 (emit_library_call_value_1): Use new hooks. Avoid redundant
614 calls.
615 * convert.c: Include langhooks.h
616 (convert_to_pointer, convert_to_integer): Use new hooks.
617 * except.c (init_eh): Similarly.
618 * expmed.c: Include langhooks.h.
619 (expand_mult_add): Use new hooks.
620 * expr.c (store_expr, store_constructor, expand_expr, do_jump,
621 try_casesi): Similarly.
622 * fold-const.c (optimize_bit_field_compare, make_range,
623 decode_field_reference, fold_truthop, fold): Similarly.
624 * function.c (assign_stack_local_1, assign_stack_temp_for_type,
625 put_var_into_stack): Similarly.
626 * langhooks-def.h (LANG_HOOKS_TYPE_FOR_MODE,
627 LANG_HOOKS_TYPE_FOR_SIZE): New.
628 (LANG_HOOKS_TYPES_INITIALIZER): Update.
629 * langhooks.h (lang_hooks_for_types): New hooks.
630 * stmt.c (expand_decl_cleanup, emit_case_nodes): Use new hooks.
631 * tree.c (get_unwidened, get_narrower): Similarly.
632 * tree.h (type_for_mode, type_for_size): Remove.
633 * varasm.c (force_const_mem): Use new hooks.
634 * utils2.c (nonbinary_modular_operation): Update.
635objc:
636 * objc-act.c (handle_impent): Update.
637 * objc-lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIaZE):
638 Redefine.
639
e206a74f
SE
6402002-03-29 Steve Ellcey <sje@cup.hp.com>
641
642 * config/ia64/ia64.md (*ptr_extend_plus_1, *ptr_extend_plus_2): New.
643 * config/ia64/ia64.c (basereg_operand): New.
644 * config/ia64/ia64-protos.h (basereg_operand): Declare.
645 * config/ia64/ia64.h (PREDICATE_CODES): Add basereg_operand.
646
7d9b6378
HPN
6472002-03-29 Hans-Peter Nilsson <hp@bitrange.com>
648
649 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Correct
650 unwind information when frame_pointer_needed.
651 (mmix_assemble_integer): Tweak wording in comment.
652
f1e639b1
NB
6532002-03-29 Neil Booth <neil@daikokuya.demon.co.uk>
654
655 * Makefile.in (except.o): Update.
656 * except.c: Include langhooks.h.
657 (init_eh): Use langhook.
658 * langhooks-def.h (LANG_HOOKS_MAKE_TYPE,
659 LANG_HOOKS_FOR_TYPES_INITIALIZER): New.
660 (LANG_HOOKS_INITIALIZER): Update.
661 * langhooks.h (lang_hooks_for_types): New.
662 (struct lang_hooks): Add it.
663 * tree.c (make_lang_type_fn, make_lang_type): Remove.
664 * tree.h (make_lang_type_fn, make_lang_type): Remove.
665config:
666 * alpha/alpha.c: Include langhooks.h.
667 (alpha_build_va_list): Use langhook.
668 * d30v/d30v.c: Include langhooks.h.
669 (d30v_build_va_list): Use langhook.
670 * i386/i386.c: Include langhooks.h.
671 (ix86_build_va_list): Use langhook.
672 * rs6000/rs6000.c (rs6000_build_va_list): Use langhook.
673 * s390/s390.c: Include langhooks.h.
674 (s390_build_va_list): Use langhook.
675 * stormy16/stormy16.c: Include langhooks.h.
676 (stormy16_build_va_list): Use langhook.
677
f17f9332
JJ
6782002-03-29 Jakub Jelinek <jakub@redhat.com>
679
680 PR c++/5964
681 * config/sparc/sparc.md (empty_delay_slot, branch_type): New
682 attributes.
683 (length): Compute variable length for branches/calls/jumps here.
684 (branch, inverted_branch, normal_fp_branch, inverted_fp_branch,
685 normal_fpe_branch, inverted_fpe_branch): Remove length attribute,
686 define branch_type attribute.
687 (divsi3_sp32): Maximum length is 6 not 7.
688 (call_address_struct_value_sp32, call_symbolic_struct_value_sp32,
689 call_address_untyped_struct_value_sp32,
690 call_symbolic_untyped_struct_value_sp32): Set length to 3 not 2.
691 * config/sparc/sparc.c (empty_delay_slot): New function.
692 * config/sparc/sparc.h (ADJUST_INSN_LENGTH): Remove.
693 * config/sparc/sparc-protos.h (empty_delay_slot): Add prototype.
694
0a0440c9
JJ
6952002-03-29 Jakub Jelinek <jakub@redhat.com>
696
697 * combine.c (set_nonzero_bits_and_sign_copies): Don't call
698 nonzero_bits if not needed.
699 (nonzero_bits) [XOR]: Likewise.
700 (nonzero_bits) [REG]: Use reg_last_set_nonzero_bits even if
701 reg_last_set_mode and mode are both MODE_INT, but not equal.
702 (record_value_for_reg): Compute reg_last_set_nonzero_bits
703 in nonzero_bits_mode for MODE_INT modes.
704
c9045f47
RH
7052002-03-28 Richard Henderson <rth@redhat.com>
706
707 PR target/5715
708 * config/alpha/osf.h (ASM_SPEC): Don't pass any special options
709 to GAS. Correct drift between alternatives.
710
f8ed1958
RH
7112002-03-28 Richard Henderson <rth@redhat.com>
712
713 PR target/6087
714 * reload1.c (fixup_abnormal_edges): Move insn to edge via sequence.
715
54e20385
LR
7162002-03-28 Alexandre Oliva <aoliva@redhat.com>
717
718 * config/i386/freebsd.h (LINK_SPEC): Don't pass default
719 emulation to the linker.
720
7212002-03-28 Loren J. Rittle <ljrittle@acm.org>
722
723 * config/alpha/freebsd.h (LINK_SPEC): Likewise.
724 * config/sparc/freebsd.h (LINK_SPEC): Likewise.
725
8bc52806
JL
726Thu Mar 28 16:35:31 2002 Jeffrey A Law (law@redhat.com)
727
728 * combine.c (simplify_and_const_int): Make sure to apply mask
729 when force_to_mode returns a constant integer. PR3311.
730
279dccc5
JDA
7312002-03-28 John David Anglin <dave@hiauly1.hia.nrc.ca>
732
733 * pa-linux.h (LOCAL_LABEL_PREFIX): Define.
734
62aaa62c
GP
7352002-03-28 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
736
737 * doc/invoke.texi (Warning Options): Refer to C++ Dialect Options
738 and Objective-C Dialect Options.
739
b8de5050
RH
7402002-03-28 Richard Henderson <rth@redhat.com>
741
742 * config/alpha/alpha.c (alpha_emit_conditional_branch): TFmode NE
743 comparison should be done vs !=0 not >0 return code. Tidy cases.
744
619708cc
RH
7452002-03-28 Richard Henderson <rth@redhat.com>
746
747 * c-decl.c (finish_function): New arg can_defer_p. Pass it
748 on to c_expand_body.
749 * c-tree.h (finish_function): Update decl.
750 * c-objc-common.c, c-parse.in, objc/objc-act.c: Update calls.
751
b1d874d7
JH
752Thu Mar 28 19:13:36 CET 2002 Jan Hubicka <jh@suse.cz>
753
754 * ifcvt.c (if_convert): Clear aux_for_blocks early enought.
755
f5eb5fd0
JH
756Thu Mar 28 13:21:53 CET 2002 Jan Hubicka <jh@suse.cz>
757
758 * rtlanal.c: Include flags.h
759 (may_trap_p): Do not mark FP operations if trapping
760 if !flag_trapping_math
761 * Makefile.in (rtlanal.o): Add dependency on flag.h
762 * ifcvt.c (noce_operand_ok): Avoid the lameness.
763
81b4c798
ZW
7642002-03-27 Zack Weinberg <zack@codesourcery.com>
765
766 * mips.md: Use dconst1, not 1.0, as first argument of
767 REAL_VALUE_LDEXP. Don't use union real_extract.
768
55a2ea2a
AM
7692002-03-28 Alan Modra <amodra@bigpond.net.au>
770
771 * configure.in (gcc_cv_as): Use $target_alias in directory searchs
772 rather than $target. Heed program_prefix and
773 program_transform_name. Search for gas in cross-compiler case too.
774 "test -x" rather than "test -f".
775 (gcc_cv_ld): Likewise.
776 (gcc_cv_nm): Heed program_prefix and program_transform_name.
777 (gcc_cv_objdump): Likewise.
778 * configure: Regenerate.
779
7ffb4fd2
NB
7802002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
781
782 * Makefile.in (attribs.o): Update.
783 * attribs.c: Include langhooks.h.
784 (decl_attributes): Use langhook.
785 * c-decl.c (insert_default_attributes): Rename.
786 * c-tree.h (c_insert_default_attributes): New.
787 * langhooks-def.h (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES):New.
788 (LANG_HOOKS_INITIALIZER): Update.
789 * langhooks.h (struct lang_hooks): New hook.
790 * tree.h (insert_default_attributes): Remove.
791objc:
792 * objc-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Redefine.
793
e4dbaed5
AS
7942002-03-27 Andreas Schwab <schwab@suse.de>
795
796 * config/i386/i386.c (classify_argument): Also check for
797 QUAL_UNION_TYPE.
798
18b467f1
RO
7992002-03-27 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
800
801 * doc/install.texi (alpha*-dec-osf*): Don't need --enable-libgcj
802 any more.
803
d337d653
JH
804Wed Mar 27 23:19:30 CET 2002 Jan Hubicka <jh@suse.cz>
805
806 * i960.md (ret): Set PC.
807 (nonlocal_goto): Fix expander.
808 * builtins.c (epxand_builin_longjmp): Check that we've emitted
809 some jump or call.
810
218aa620
JH
811Wed Mar 27 23:11:35 CET 2002 Jan Hubicka <jh@suse.cz>
812
813 * optabs.c (emit_no_conflict_block, emit_libcall_block): Avoid nesting
814 of libcall regions.
815
e27a4eaf
ZD
816Wed Mar 27 22:54:14 CET 2002 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
817
818 * cfgrtl.c (merge_blocks_nomove): Use set_block_for_insn instead of
819 assigning to BLOCK_FOR_INSN directly.
820
8a12f34c
JH
821Wed Mar 27 22:33:05 CET 2002 Jan Hubicka <jh@suse.cz>
822
823 * i386.c (ix86_output_addr_diff_elt): Remove binutils bug workaround.
824
c9d892a8
NB
8252002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
826
827 * c-common.c (c_expand_expr): Fix prototype.
828 * c-common.h (c_expand_expr): Always declare, update.
829 * c-lang.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
830 * c-objc-common.c (c_objc_common_init): No global hook.
831 * expr.c (expand_expr): Use langhook.
832 * expr.h (enum expand_modifier): Conditionally declare.
833 * langhooks-def.h (lhd_expand_expr, LANG_HOOKS_EXPAND_EXPR): New.
834 (LANG_HOOKS_INITIALIZER): Update.
835 * langhooks.c (lhd_expand_expr): New.
836 * langhooks.h (struct lang_hooks): New hook.
837 * toplev.c (lang_expand_expr_t, lang_expand_expr): Delete.
838 (lang_independent_init): Don't default hook.
839objc:
840 * objc-lang.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
841
6dad5a56
RH
8422002-03-27 Richard Henderson <rth@redhat.com>
843
844 PR target/6054
845 * config/ia64/ia64.c (ia64_expand_call): Use pic patterns for
846 TARGET_CONST_GP. Simplify conditions.
847
59f96879
RH
8482002-03-27 Richard Henderson <rth@redhat.com>
849
850 * config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h,
851 config/sparc/netbsd-elf.h, config/sparc/pbd.h, config/sparc/sol2.h,
852 config/sparc/vxsim.h (LOCAL_LABEL_PREFIX): Define.
853
f3f1190d
DS
8542002-03-27 Danny Smith <dannysmith@users.sourceforge.net>
855
856 * config/i386/cygwin.h (TARGET_DLL, TARGET_WIN32,
857 TARGET_CYGWIN, TARGET_WINDOWS): Remove unused switches.
858 (MASK_DLL, MASK_WIN32, MASK_CYGWIN, MASK_WINDOWS):
859 Remove unnecessary masks.
860 (MASK_NOP_FUN_DLLIMPORT): Use an unused an bit.
861 (SUBTARGET_SWITCHES): Use empty masks for -mwin32, -mcygwin,
862 -mwindows, -mdll switches and their negations.
863
31c816cf
NB
8642002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
865
866 * gcc-common.c (lang_mark_false_label_stack): Remove.
867 * ggc.h (lang_mark_false_label_stack): Similarly.
868
aee8f532
VM
8692002-03-26 Vladimir Makarov <vmakarov@redhat.com>
870
871 * pa/pa-pro-end.h (CPP_PREDEFINES): Add -D__pro__.
872
873 * pa/lib2funcs.asm: Don't use .SPACE and .SUBSPACE if __pro__
874 or __rtems_ is defined.
875
1ef9531b
RH
8762002-03-26 Richard Henderson <rth@redhat.com>
877
878 * config/alpha/alpha.c (alpha_emit_set_const): Add a REG_EQUAL note
879 if a non-trivial load was emitted.
880 (alpha_emit_set_const_1): Remove obsolete extension. Fix thinko
881 in high+extra+low case.
882
300d4093
RH
8832002-03-26 Richard Henderson <rth@redhat.com>
884
885 * config.gcc (sparc*-solaris): Use float_format=sparc.
886
b3689904
RH
8872002-03-26 Richard Henderson <rth@redhat.com>
888
889 * config/sparc/sparc.h (MAX_WCHAR_TYPE_SIZE): Don't define.
890 * config/sparc/linux-aout.h (MAX_WCHAR_TYPE_SIZE): Don't undef.
891 * config/sparc/linux.h, config/sparc/linux64.h: Likewise.
892 * config/sparc/sol2.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Redefine.
893 (WINT_TYPE_SIZE): Fix at 32.
894
1eefb6c1
RH
8952002-03-26 Richard Henderson <rth@redhat.com>
896
897 * toplev.c (rest_of_compilation): Delay emit_initial_value_sets
898 until after eh landing pad generation.
899 * config/alpha/alpha.c (alpha_gp_save_rtx): Use gen_mem_addressof.
900 * config/alpha/alpha.md (exception_receiver_2): Only accept MEMs.
901
361ea006
RH
9022002-03-26 Richard Henderson <rth@redhat.com>
903
904 * expr.h (ADD_PARM_SIZE): One more convert for INC.
905
1de38a88
PE
9062002-03-26 Phil Edwards <pme@gcc.gnu.org>
907
908 * gcc.c (cpp_options): Preserve relative ordering of -pedantic
909 and warning switches.
910 (cc1_options): Likewise.
911
d7e60e95 9122002-03-26 Hans Boehm <Hans_Boehm@hp.com>
361ea006 913
d7e60e95
HB
914 * config/ia64/linux.h (MD_FALLBACK_FRAME_STATE_FOR):
915 Restore more of the signal context. Set no_reg_stack_frame.
916 * config/ia64/unwind-ia64.c (unw_state_record):
917 Add no_reg_stack_frame, comments.
918 (uw_frame_state_for): Initialize when field to UNW_WHEN_NEVER.
919 (uw_update_context): Adjust bsp when unwinding from leaf,
920 but not signal frame.
921
7032923b
DE
9222002-03-26 David Edelsohn <edelsohn@gnu.org>
923
924 * config/rs6000/aix51.h (WCHAR_TYPE): Define.
925
8be56275
BW
9262002-03-26 Bob Wilson <bob.wilson@acm.org>
927
928 * config/xtensa/xtensa.c (xtensa_va_arg): Handle variable-sized types.
929
56fbb855
RE
9302002-03-26 Richard Earnshaw <rearnsha@arm.com>
931
932 PR target/5621
933 * arm.md (define_asm_attributes): Reapply patch of Thu Sep 9, 1999:
934 "Add a pool_range attribute", which was lost during the ARM/Thumb
935 merge.
936
3437320b
BW
9372002-03-26 Bob Wilson <bob.wilson@acm.org>
938
939 * config/xtensa/xtensa.c (xtensa_valid_move): Allow move from
940 a register into the MAC16 accumulator.
941
173028e5
AC
9422002-03-26 Andrew Cagney <ac131313@redhat.com>
943
944 * doc/invoke.texi (Option Summary): Mention -Wswitch-enum.
945 (Warning Options): Document -Wswitch-enum.
946 * toplev.c (W_options): Add -Wswitch-enum. Update comment on
947 -Wswitch.
948 (warn_switch_enum): Define variables.
949 * flags.h (warn_switch_enum): Declare variables.
950 * stmt.c (expand_end_case_type): When warn_switch_enum /
951 -Wswitch-enum, perform switch checks.
952 Fix PR c/5044.
953
e14365a7
RE
9542002-03-26 Richard Earnshaw <rearnsha@arm.com>
955
956 * arm.md (reload_mulsi3, reload_mulsi_compare0, reload_muladdsi)
957 (reload_mulsi_compare0_scratch, reload_muladdsi_compare0)
958 (reload_muladdsi_compare0_scratch): Delete.
959
46fc709d
LR
9602002-03-26 Loren J. Rittle <ljrittle@acm.org>
961
962 * doc/install.texi (*-*-freebsd*): Update.
963
f36dea3c
RH
9642002-03-26 Richard Henderson <rth@redhat.com>
965
8e5fe23f
RH
966 * expr.h (ADD_PARM_SIZE): Cast INC to ssizetype.
967 (SUB_PARM_SIZE): Cast DEC to ssizetype.
968
969 * config/alpha/alpha.c (alpha_va_arg): Read MUST_PASS_IN_STACK
970 types from the normal argument frame.
971
f36dea3c
RH
972 * config/sparc/sparc.c (function_arg_pass_by_reference): Pass
973 variable sized objects by reference.
974 (sparc_va_arg): Receive them by reference too.
975
1447dc69
HP
9762002-03-26 Hartmut Penner <hpenner@de.ibm.com>
977
978 * config/s390/s390.c (s390_emit_epilogue): Change epilogue
979 code to not restoring global registers.
980
4f0ade92
NB
9812002-03-26 Neil Booth <neil@daikokuya.demon.co.uk>
982
983 * Makefile.in (ggc-common.o): Update.
984 * c-decl.c (lang_mark_tree): Rename c_mark_tree.
985 * c-lang.c (LANG_HOOKS_MARK_TREE): Redefine.
986 * c-tree.h (c_mark_tree): New.
987 * ggc-common.c: Include langhooks.h.
988 (gcc_mark_trees): Use new langhook.
989 * ggc-callbacks.c: Delete file.
990 * ggc.h (lang_mark_tree): Remove.
991 * langhooks-def.h (LANG_HOOKS_MARK_TREE): New.
992 (LANG_HOOKS_INITIALIZER): Update.
993 * langhooks.h (struct lang_hooks): New hook.
994objc:
995 * objc-lang.c (LANG_HOOKS_MARK_TREE): Redefine.
996
caba570b
ZW
9972002-03-25 Zack Weinberg <zack@codesourcery.com>
998
999 * doc/cpp.texi: Exclude entire Top node from printed manual.
1000 Move option index after directive index. Insert page breaks
1001 before GFDL and concept index. Index environment variables
1002 with command line options.
1003 * doc/cppenv.texi: Use @vtable for environment variable list.
1004 Add paragraph explaining semantics of empty elements in path
1005 variables. Exclude a cross-reference to Fishkill from the
1006 manpage. Remove an unnecessary cross-reference of the entry
1007 right above the referer. Don't use @anchor in text that goes
1008 into manpage.
1009 * doc/cppopts.texi: Cross-reference the environment variables
1010 section, not the specific environment variable, for consistency.
1011
6b2e80b7
RH
10122002-03-25 Richard Henderson <rth@redhat.com>
1013
1014 * recog.c (peephole2_optimize): Distribute EH_REGION -1 notes
1015 anywhere in the block. Don't refer to insns that have been
1016 removed from the chain. Iterate backward through the new insns.
1017 Don't refer to edges that have been removed.
1018
67e469d7
AM
10192002-03-26 Alan Modra <amodra@bigpond.net.au>
1020
1021 * combine.c (simplify_comparison <ASHIFTRT, LSHIFTRT>): Correct
1022 test for overflow of constant.
1023
f2356393
RE
10242002-03-25 Richard Earnshaw <rearnsha@arm.com>
1025
1026 PR target/2623
1027 * arm.md (loadhi_preinc, loadhi_predec, loadhi_shiftpreinc)
1028 (loadhi_shiftpredec, loadhi-with-writeback peephole): Don't use
1029 these patterns on arm_archv4.
1030
355426ab
DS
10312002-03-25 Danny Smith <dannysmith@sourceforge.users.net>
1032
1033 * config/i386/mingw32.h (WINT_TYPE): Define as "short unsigned
1034 int".
1035
15e5ad76
ZW
10362002-03-25 Zack Weinberg <zack@codesourcery.com>
1037
1038 * toplev.c: Don't include setjmp.h. Kill float_handler_set,
1039 float_handled, float_handler, float_signal, set_float_handler,
1040 and do_float_handler. Set handler for SIGFPE to crash_signal.
1041 * toplev.h: Don't prototype do_float_handler.
1042
1043 * c-lex.c: Fold parse_float into lex_number. Make warning
1044 about portability of hex float constants more informative, and
1045 don't issue it on top of a syntax error.
1046 * fold-const.c: Fold const_binop_1 and fold_convert_1 into
1047 their callers.
1048 * real.h: Define REAL_VALUE_ABS here...
1049 * simplify-rtx.c: ... not here. Fold check_fold_consts,
1050 simplify_unary_real, simplify_binary_real, and
1051 simplify_binary_is2orm1 into their callers.
1052 * tree.c: Fold build_real_from_int_cst_1 into caller.
1053
1054 * doc/tm.texi: Document REAL_VALUE_ABS and REAL_VALUE_NEGATIVE.
1055
1056 * tsystem.h: Include float.h here...
1057 * libgcc2.c: ... not here.
1058
56ae9405
NC
10592002-03-25 Nick Clifton <nickc@cambridge.redhat.com>
1060
1061 Fixes for: PR bootstrap/3591, target/5676
1062 * config/mcore/mcore.h (CC1_SPEC): Define only if not already
1063 defined. Do not disable exceptions or rtti.
1064 * config/mcore/mcore-pe.h (CC1_SPEC): Define before including
1065 mcore.h. Disable exceptions and rtti, since they are not
1066 supported by EPOC.
1067
c88770e9
NB
10682002-03-25 Neil Booth <neil@daikokuya.demon.co.uk>
1069
1070 * c-decl.c (maybe_build_cleanup): Remove.
1071 * expr.c (expand_expr): Use langhook.
1072 * langhooks-def.h (lhd_return_null_tree,
1073 LANG_HOOKS_MAYBE_BUILD_CLEANUP): New.
1074 (LANGHOOKS_INITIALIZER): Update.
1075 * langhooks.c (lhd_return_null_tree): New.
1076 * langhooks.h (struct lang_hooks): New hook.
1077 * tree-inline.c (initialize_inlined_parameters): Use langhook.
1078 * tree.h (maybe_build_cleanup): Remove.
1079
2ed1f154
JJ
10802002-03-25 Jakub Jelinek <jakub@redhat.com>
1081
1082 * regrename.c (build_def_use): Move recog_memoized
1083 before extract_insn.
1084
6ddae612
JJ
10852002-03-25 Jakub Jelinek <jakub@redhat.com>
1086
1087 PR target/6043
1088 * expr.c (emit_group_store): Handle storing into CONCAT.
1089
ea475b23
JJ
10902002-03-25 Jakub Jelinek <jakub@redhat.com>
1091
1092 * regrename.c (build_def_use): Share RTL between MATCH_OPERATOR and
1093 corresponding MATCH_DUP.
1094
e7d482b9
RH
10952002-03-24 Richard Henderson <rth@redhat.com>
1096
cd39fc13
RH
1097 * unroll.c (unroll_loop): Zero label_map.
1098
e7d482b9
RH
1099 * gcse.c: Include except.h.
1100 * Makefile.in (gcse.o): Update.
1101
1bd6476f
RH
11022002-03-24 Richard Henderson <rth@redhat.com>
1103
1104 * varasm.c (asm_emit_uninitialised): Revert 2002-03-14 change.
1105 Do resolve_unique_section before shared data clause.
1106
2e6c150a
RH
11072002-03-24 Richard Henderson <rth@redhat.com>
1108
1109 * config/alpha/elf.h (STARTFILE_SPEC): Use crtbeginT with -static.
1110
b29afcf8
RH
11112002-03-24 Richard Henderson <rth@redhat.com>
1112
15e5ad76 1113 * recog.c (peephole2_optimize): Split blocks when EH insns are
b29afcf8
RH
1114 generated in the middle of a block. Do global life update if
1115 zapped EH edges.
1116
05ed1296
RH
11172002-03-24 Richard Henderson <rth@redhat.com>
1118
1119 * mips.c (mips_function_value): Only promote_mode for non-libcalls.
1120
3ddbb8a9
NB
11212002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
1122
1123 preprocessor/3951
15e5ad76 1124 * gcc.c (cpp_options): Pass -MD through as -MD not -M -MF.
3ddbb8a9
NB
1125 * cppinit.c (cpp_handle_option): Set no_ouput if -MD or -MMD.
1126 (init_dependency_output): Don't make no_output decision here.
1127
740b77b6
AC
11282002-03-24 Andrew Cagney <ac131313@redhat.com>
1129
1130 * stmt.c (check_for_full_enumeration_handling): Remove tests of
1131 warn_switch. Update description.
1132 (expand_end_case_type): Call check_for_full_enumeration_handling
1133 when warn_switch.
1134
7590cfd0
SC
11352002-03-24 Stephane Carrez <Stephane.Carrez@worldnet.fr>
1136
1137 * config/m68hc11/m68hc11.c (m68hc11_autoinc_compatible_p): New function.
1138 (m68hc11_split_move): Call it to see if the source and destination
1139 operands use the same direction auto inc/dec mode, otherwise make the
c61f581f 1140 source an offsetable memory operand and generate an add.
7590cfd0 1141
2e3d3481
SC
11422002-03-24 Stephane Carrez <Stephane.Carrez@worldnet.fr>
1143
1144 * config/m68hc11/m68hc11.md ("*subsi3_zero_extendhi"): Allow address
1145 register for operand 2.
1146 ("*subsi3_zero_extendqi"): Likewise.
1147 ("*iorhi3_gen"): Do the operation on the upper bits and then lower
1148 bits so that it is compatible with a pop.
1149 ("*andhi3_gen"): Likewise.
1150 ("xorhi3"): Likewise.
1151
2784528c
NB
11522002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
1153
1154 * cppinit.c (cpp_handle_option): Set warn_endif_labels if
1155 -pedantic here...
1156 (cpp_post_options): ... not here.
1157
aaf93206
NB
11582002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
1159 Aldy Hernandez <aldyh@redhat.com>
1160
1161 Removal of separate preprocessor cpp0.
1162
1163 * Makefile.in (GCC_PASSES, STAGESTUFF, LIBCPP_OBJS,
1164 cpp0, install-common): Update.
1165 * c-common.c (flag_preprocess_only): New.
1166 (c_common_init): Preprocess for -E.
1167 * c-common.h (flag_preprocess_only): New.
1168 * c-decl.c (c_decode_option): Handle -E and -std=c++98.
1169 * c-objc-common.c (c_init_decl_processing): Exit quickly
1170 for NULL return from c_common_init.
1171 * cpplib.h (cpp_preprocess_file): New.
1172 * cppmain.c (main, general_init, pfile, progname): Remove.
1173 (do_preprocessing): Rename cpp_preprocess_file, don't call
1174 cpp_finish. Don't close stdout here.
1175 (setup_callbacks): Update prototype.
1176 * gcc.c (trad_capable_cpp, cpp_unique_options, default_compilers):
1177 Update.
1178 * tradcpp.c (main): Ignore -quiet.
1179objc:
1180 * lang-specs.h (default_compilers): Preprocess with cc1obj.
1181
c6e6f5c1
RH
11822002-03-24 Richard Henderson <rth@redhat.com>
1183
1184 PR optimization/5742
1185 * machmode.def: Add inner mode field to complex modes.
1186 * config/mips/mips.c (mips_function_value): Always define. Add
1187 new argument to handle libcalls.
1188 * config/mips/mips.h (LIBCALL_VALUE): Use mips_function_value.
1189 (FUNCTION_VALUE): Likewise.
1190 * config/mips/abi64.h (FUNCTION_VALUE): Remove.
1191 * config/mips/mips-protos.h: Update.
1192
d88e57d1
RH
11932002-03-23 Richard Henderson <rth@redhat.com>
1194
1195 * config/sparc/sparc.c (sparc_emit_floatunsdi): New.
1196 * config/sparc/sparc-protos.h: Update.
1197 * config/sparc/sparc.md (floatunsdisf2, floatunsdidf2): New.
1198
6dfaf9ba
RH
11992002-03-23 Richard Henderson <rth@redhat.com>
1200
1201 * config/sparc/gmon-sol2.c (internal_mcount): Assume either
1202 _start or _init begins the text segment.
1203
0c769cf8
DE
12042002-03-23 David Edelsohn <edelsohn@gnu.org>
1205
1206 * config/rs6000/rs6000.h (RETURN_IN_MEMORY): Cast to HOST_WIDE_INT
1207 not HOST_WIDEST_INT.
1208 (RS6000_ARG_SIZE): Remove unsigned cast of int_size_in_bytes.
1209
64e92a26
RE
12102002-03-23 Richard Earnshaw <rearnsha@arm.com>
1211
1212 PR java/5489
1213 * arm.md (return, sibcall_epilogue): Pass const_true_rtx as the
1214 operand argument to output_return_instruction.
15e5ad76 1215 * arm.c (arm_print_operand, case 'd'): If the operand is
64e92a26
RE
1216 const_true_rtx then just return.
1217 (arm_print_operand, case 'D'): If the operand is const_true_rtx
1218 then abort.
1219
d6961341
AC
12202002-03-23 Andrew Cagney <ac131313@redhat.com>
1221
1222 * doc/invoke.texi (Option Summary): Mention -Wswitch-default.
1223 (Warning Options): Document -Wswitch-default.
1224 * toplev.c (W_options): Add -Wswitch-default. Update comment on
1225 -Wswitch.
1226 (warn_switch_default): Define variable.
1227 (warn_switch): Update comment.
1228 * flags.h (warn_switch_default): Declare variable.
1229 (warn_switch): Update comment.
1230 * stmt.c (expand_end_case): Check for and, when
1231 warn_switch_no_default, warn of a missing default case.
15e5ad76 1232
d4c5ac1f
AM
12332002-03-23 Alan Modra <amodra@bigpond.net.au>
1234
bbaa9790
AM
1235 * real.h (N): Special case 128 bit doubles.
1236
d4c5ac1f
AM
1237 * combine.c (simplify_comparison): When widening modes, ignore
1238 sign extension on CONST_INTs.
1239
84bf8c2c
BW
12402002-03-22 Bob Wilson <bob.wilson@acm.org>
1241
1242 * config/xtensa/xtensa.c (print_operand): Fix incorrect mode
1243 passed to adjust_address. Fix comment formatting.
1244
1245
b216cd4a
ZW
12462002-03-22 Zack Weinberg <zack@codesourcery.com>
1247
1248 * real.h: Don't define REAL_INFINITY or REAL_IS_NOT_DOUBLE.
1249 Always make REAL_VALUE_TYPE a struct containing an array of
1250 HOST_WIDE_INT, not a double. Tidy up the code deciding how
1251 big it is. Don't declare or use union real_extract.
1252
1253 * emit-rtl.c (init_emit_once), varasm.c (immed_real_const_1,
1254 decode_rtx_const, output_constant_pool), config/a29k/a29k.c
1255 (print_operand), config/arm/arm.c (output_move_double),
1256 config/arm/arm.md (consttable_4, consttable_8),
1257 config/romp/romp.c (output_fpops), config/s390/s390.h
1258 (ASM_OUTPUT_SPECIAL_POOL_ENTRY), config/xtensa/xtensa.c
1259 (xtensa_output_literal): Don't use union real_extract.
1260
1261 * config/dsp16xx/dsp16xx.c (print_operand), config/i860/i860.c
1262 (sfmode_constant_to_ulong), config/ns32k/merlin.h
1263 (PRINT_OPERAND), config/ns32k/ns32k.c (print_operand),
1264 config/pdp11/pdp11.h (PRINT_OPERAND), config/we32k/we32k.h
1265 (PRINT_OPERAND): Don't use local version of union
1266 real_extract.
1267
1268 * config/convex/convex.c (check_float_value), config/vax/vax.c
1269 (vax_float_literal), config/m88k/m88k.md (divdf3),
1270 config/dsp16xx/dsp16xx.md (fixuns_trunchfhi2),
1271 config/pdp11/pdp11.c (output_move_quad): Don't do host
1272 arithmetic on target floating point quantities.
1273
1274 * config/a29k/a29k.md, config/dsp16xx/dsp16xx.c
1275 (output_dsp16xx_float_const): Don't test HOST_FLOAT_FORMAT.
1276
1277 * fold-const.c (fold), simplify-rtx.c (simplify_binary_real):
1278 Use MODE_HAS_INFINITIES rather than #ifdef REAL_INFINITY.
1279
1280 * real.c (earith): Test INFINITY rather than REAL_INFINITY;
1281 NANS implies INFINITY, so can drop #ifdef NANS inside #ifndef
1282 INFINITY.
1283 * print-rtl.c (print_rtx): Disable code which needs
1284 floating-point emulator.
1285 * libgcc2.c: Include float.h and use DBL_MANT_DIG,
1286 FLT_MANT_DIG, to define DF_SIZE and SF_SIZE, rather than
1287 depending on HOST_FLOAT_FORMAT to be defined properly.
1288
1289 * config/1750a/1750a.c (get_double, float_label): Delete.
1290 (print_operand): Delete huge commented-out chunk. Use
1291 REAL_VALUE_TO_DECIMAL.
1292 * config/1750a/1750a-protos.h: Delete prototypes of deleted
1293 functions.
1294 * config/convex/convex.h: Always set TARGET_FLOAT_FORMAT to
1295 IEEE_FLOAT_FORMAT.
1296 * config/i370/i370.h (PRINT_OPERAND [TARGET_HLASM version]):
1297 Use REAL_VALUE_TO_DECIMAL as ELF version does.
1298 * config/m88k/m88k.c (real_power_of_2_operand,
1299 legitimize_operand): Take the REAL_VALUE_TYPE and/or union
1300 real_extract out of the union; run the input through
1301 REAL_VALUE_TO_TARGET_DOUBLE, then plug the pair of longwords
1302 from that into the union.
1303 * config/pdp11/pdp11.c (output_move_double): Rearrange
1304 parentheses to make automatic indenter happy.
1305
1306 * doc/tm.texi (Cross-compilation): Rename node to "Floating
1307 Point" and rewrite to describe current situation. Also adjust
1308 documentation of REAL_VALUE_TO_TARGET_SINGLE and friends to
1309 match code.
1310 * doc/rtl.texi: Adjust cross reference.
1311
a8cacfd2
BW
13122002-03-22 Bob Wilson <bob.wilson@acm.org>
1313
1314 * config/xtensa/xtensa-protos.h (non_acc_reg_operand): Remove.
1315 (xtensa_valid_move, xtensa_preferred_reload_class): Define.
1316 * config/xtensa/xtensa.c (non_acc_reg_operand): Remove.
1317 (xtensa_valid_move, xtensa_preferred_reload_class): Define to
1318 prevent use of sp as a reload register.
1319 (xtensa_emit_move_sequence): Use xtensa_valid_move instead of
1320 non_acc_reg_operand.
1321 * config/xtensa/xtensa.h (PREDICATE_CODES): Remove non_acc_reg_operand.
1322 (PREFERRED_RELOAD_CLASS): Move code to xtensa_preferred_reload_class.
1323 * config/xtensa/xtensa.md (movsi_internal, movhi_internal,
1324 movqi_internal): Use xtensa_valid_move instead of non_acc_reg_operand.
1325
d4e6133f
NB
13262002-03-22 Neil Booth <neil@daikokuya.demon.co.uk>
1327
b216cd4a
ZW
1328 * cpphash.h (struct cpp_reader): Remove mls_line and mls_col.
1329 * cpplex.c (unterminated): Delete.
1330 (parse_string): No string literal may extend over multiple
1331 lines. Suppress the error when preprocessing assembly.
d4e6133f
NB
1332 * cppmain.c (scan_translation_unit): Strings are single-line.
1333
b216cd4a 1334 * doc/cpp.texi: Update to match.
d4e6133f 1335
65e6c005
JJ
13362002-03-22 Jakub Jelinek <jakub@redhat.com>
1337
1338 PR optimization/5854
1339 * config/m68hc11/m68hc11.h (CONST_OK_FOR_LETTER_VALUE_P): Use K for 0.
1340 Shut up warnings.
1341 (CONST_DOUBLE_OK_FOR_LETTER_P): Use G for 0.0.
1342 (EXTRA_CONSTRAINT): Use S for non-push memory operand.
1343 * config/m68hc11/m68hc11.c (m68hc11_split_move): Handle setting from
1344 const0 if scratch register was not allocated.
1345 (m68hc11_reload_operands, m68hc11_gen_lowpart, m68hc11_gen_highpart,
1346 m68hc11_z_replacement): Replace gen_rtx (CONST_INT, VOIDmode, ...)
1347 with GEN_INT (...).
1348 (m68hc11_reorg): Compute BLOCK_FOR_INSN before reload_cse_regs.
1349 * config/m68hc11/m68hc11.md: Replace gen_rtx (CONST_INT, VOIDmode, ...)
1350 with GEN_INT (...) everywhere. Remove constraints in define_split
1351 patterns.
1352 (movdi_internal, movdf_internal, movsi_internal, movsf_internal): Don't
1353 require scratch register for setting 0 into regs/non-pushable memory.
1354
7f48c9e1
AO
13552002-03-22 Alexandre Oliva <aoliva@redhat.com>
1356
1357 * config/mips/mips.h (MASK_RETURN_ADDR): Define.
1358 (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define.
1359
909de5da
PE
13602002-03-22 Phil Edwards <pme@gcc.gnu.org>
1361
1362 * cpplib.h (struct cpp_options): New member, warn_endif_labels.
1363 * cppinit.c (cpp_create_reader): On by default.
1364 (cpp_handle_option): Handle -W[no-]endif-labels.
1365 (cpp_post_options): Also enable if -pedantic.
1366 * cpplib.c (do_else): Use it.
1367 (do_endif): Likewise.
1368 * doc/cppopts.texi: Document new option.
1369 * doc/invoke.texi: Document new option.
1370
d8bf17f9
LB
13712002-03-22 Lars Brinkhoff <lars@nocrew.org>
1372
1373 * config/i386/i386.c, config/i386/i386.md: Change all occurences
1374 of GEN_INT (trunc_int_for_mode (...)) to gen_int_mode (...).
1375
70e0ccd0
AO
13762002-03-22 Alexandre Oliva <aoliva@redhat.com>
1377
1378 * flow.c (calculate_global_regs_live): Clear aux fields of
1379 ENTRY and EXIT.
1380
68882f0f
JJ
13812002-03-22 Jakub Jelinek <jakub@redhat.com>
1382
1383 * config/v850/v850.c (v850_reorg): Only call alter_subreg on
1384 REG or MEM subregs, pass rtx * instead of rtx to it.
1385 * config/i860/i860.c (output_delayed_branch, output_delay_insn): Pass
1386 rtx * instead of rtx to alter_subreg.
1387 * config/m32r/m32r.c (gen_split_move_double): Likewise.
1388 * config/pj/pj.c (pj_output_rval): Likewise.
1389
648fe28b
RH
13902002-03-22 Richard Henderson <rth@redhat.com>
1391
1392 PR target/3177
1393 * config/ia64/ia64.h (CUMULATIVE_ARGS): Add int_regs.
1394 (INIT_CUMULATIVE_ARGS, INIT_CUMULATIVE_INCOMING_ARGS): Update.
1395 * config/ia64/ia64.c (ia64_function_arg_advance): Set int_regs.
1396 (ia64_expand_prologue): Look at int_regs, not words, for number
1397 of incomming int regs.
1398
e8dcd824
AM
13992002-03-22 Andrew MacLeod <amacleod@redhat.com>
1400
1401 * expr.c (expand_expr): A RESULT_DECL is part of a call.
1402
96327cdc
JH
1403Fri Mar 22 16:30:42 CET 2002 Jan Hubicka <jh@suse.cz>
1404
1405 * toplev.c (flag_loop_optimize, flag_crossjumping):
1406 New static variables.
1407 (rest_of_compilation): Conditionalize crossjumping and
1408 loop optimizer.
1409 (parse_options_and_default_flags): Default loop_optimize and
1410 crossjumping.
1411 (lang_independent_options): Add -fcrossjumping and -floop-optimize
1412 * invoke.texi (crossjumping, loop-optimize): Document.
1413
bc185257
RS
14142002-03-22 Richard Sandiford <rsandifo@redhat.com>
1415
1416 * real.c (eiisneg): Move outside #ifdef NANS.
1417
0a2ed1f1
JH
1418Fri Mar 22 12:08:36 CET 2002 Jan Hubicka <jh@suse.cz>
1419
1420 * cfgcleanup.c (outgoing_edges_math): Fix condition; relax
1421 frequencies match; avoid match on different loop depths.
1422 (try_crossjump_to_bb): Kill tests that no longer brings time
1423 savings.
1424 * cfgrtl.c (force_nonfallthru_and_redirect): Fix loop_depth
1425 updating code.
1426 (split_edge): Likewise.
1427
1428 * flow.c (update_life_info_in_dirty_blocks): Fix uninitialized
1429 variable.
1430
1431 * Makefile.in (cfgrtl): Add insn-config.h depenendency.
1432 * cfgrtl.c: Include insn-config.h
1433 (split_block) Dirtify block in presence of conditional execution
1434
4d72536e
RS
14352002-03-22 Richard Sandiford <rsandifo@redhat.com>
1436
1437 * config/mips/abi64.h (SETUP_INCOMING_VARARGS): Undefine.
1438 * config/mips/mips-protos.h (mips_setup_incoming_varargs): Declare.
1439 (function_arg): Constify CUMULATIVE_ARGS.
1440 (function_arg_partial_nregs, function_arg_pass_by_reference): Likewise.
1441 * config/mips/mips.h (UNITS_PER_FPVALUE): Zero when TARGET_SOFT_FLOAT.
1442 (UNITS_PER_DOUBLE): New macro.
1443 (SETUP_INCOMING_VARARGS): Define. Use mips_setup_incoming_varargs.
1444 (CUMULATIVE_ARGS): Reformat. Remove num_adjusts workaround and
1445 last_arg_fp field. Replace arg_words and fp_arg_words with gp_regs,
1446 fp_regs and stack_words.
1447 (EABI_FLOAT_VARARGS_P): New macro.
1448 * config/mips/mips.c (struct mips_arg_info): New.
1449 (mips_arg_info): New function.
1450 (function_arg_advance): Use it. Add adjustment instructions here
1451 rather than in function_arg.
1452 (function_arg): Constify CUMULATIVE_ARGS. Use mips_arg_info. Check
1453 for VOIDmode at the beginning of the function.
1454 (function_partial_nregs): Constify CUMULATIVE_ARGS. Use mips_arg_info.
1455 (function_arg_pass_by_reference): Likewise.
1456 (mips_setup_incoming_varags): New, largely based on old abi64.h code.
1457 (mips_build_va_list): Test EABI_FLOAT_VARARGS_P.
1458 (mips_va_start): Likewise. Use the new stack_words field of
1459 CUMULATIVE_ARGS to set up overflow area. Reformat.
1460 (mips_va_arg): Test EABI_FLOAT_VARARGS_P. Unify EABI handling of
1461 doubles and other types, aligning the overflow pointer for non-doubles
1462 too. Remove some code duplication. Replace hard-coded constants.
1463
e6f884cd
RS
14642002-03-22 Richard Sandiford <rsandifo@redhat.com>
1465
1466 * config/mips/mips.h (FUNCTION_ARG_REGNO_P): Simplify.
1467 (CLASS_UNITS): Undefine.
1468 (CLASS_MAX_NREGS): Use FP_INC.
1469 * config/mips/mips.c (compute_frame_size): Likewise.
1470 (override_options): Use FP_INC and UNITS_PER_FPVALUE.
1471
10cf9bde
NB
14722002-03-22 Neil Booth <neil@daikokuya.demon.co.uk>
1473
1474 * cpplex.c (parse_identifier_slow): Rename parse_slow, adjust
1475 prototype, and handle lexing numbers and identifiers.
1476 (parse_identifier): Update to new form of parse_slow.
1477 (parse_number): Fast path only, use parse_slow otherwise.
1478 (_cpp_lex_direct): Update calls to parse_number.
1479
fbc2782e
DD
14802002-03-21 DJ Delorie <dj@redhat.com>
1481
1482 * bb-reorder.c (make_reorder_chain_1): Protect against
1483 when redundant edges are omitted.
1484 * predict.c (dump_prediction): Likewise.
1485
fba39eaf
RH
14862002-03-21 Richard Henderson <rth@redhat.com>
1487
1488 PR target/5996
1489 * fixinc/inclhack.def (solaris_stdio_tag): New.
1490 * fixinc/fixincl.x: Regenerate.
1491
eba80994
EB
14922002-03-21 Eric Botcazou <ebotcazou@multimania.com>
1493
1494 PR c/5597
1495 * c-typeck.c (process_init_element): Flag non-static
1496 initialization of a flexible array member as illegal.
1497
2a78758b
AM
14982002-03-22 Alan Modra <amodra@bigpond.net.au>
1499
1500 * config/rs6000/t-linux64: New.
1501 * config.gcc (powerpc64-*-linux* <tmake_file>): Drop t-ppcos and
1502 t-ppccomm. Use t-rs6000 and t-linux64.
1503 (powerpc64-*-gnu* <tmake_file>): Likewise.
bac015e7
AM
1504 * mklibgcc.in (SHLIB_MKMAP_OPTS): New variable.
1505 * mkmap-symver.awk (dotsyms): If set, output .foo as well as foo.
1506 * Makefile.in (SHLIB_MKMAP_OPTS): Pass to mklibgcc.
2a78758b 1507
2cb921f4
AH
15082002-03-21 Aldy Hernandez <aldyh@redhat.com>
1509
eba80994
EB
1510 * langhooks.c (lhd_tree_inlining_cannot_inline_tree_fn): Check
1511 flag_really_no_inline instead of optimize == 0.
2cb921f4 1512
eba80994 1513 * c-objc-common.c (c_cannot_inline_tree_fn): Same.
2cb921f4 1514
eba80994 1515 * cp/tree.c (cp_cannot_inline_tree_fn): Same.
2cb921f4 1516
eba80994 1517 * flags.h (flag_really_no_inline): New.
2cb921f4 1518
659e5a7a 1519 * c-common.c (c_common_post_options): Initialize
eba80994 1520 flag_really_no_inline.
2cb921f4 1521
eba80994 1522 * toplev.c (flag_really_no_inline): New.
2cb921f4 1523
239b8b9d
JJ
15242002-03-21 Jakub Jelinek <jakub@redhat.com>
1525
1526 * config/avr/avr.md (length): Fix length computation for
1527 conditional branches.
1528
43577e6b
NB
15292002-03-21 Neil Booth <neil@daikokuya.demon.co.uk>
1530
1531 * Makefile.in (fold-const.o, stor-layout.o, stmt.o,
1532 sdbout.o, profile.o): Update.
1533 * c-common.c (c_common_nodes_and_builtins): Use pushdecl
1534 langhook.
1535 * c-common.h (gettags): Move here from tree.h.
1536 * c-tree.h (pushdecl, pushlevel, poplevel, set_block,
1537 insert_block, getdecls, kept_level_p, global_bindings_p): New.
1538 * dbxout.c (dbxout_init): Use getdecls langhook.
1539 * expr.c (expand_expr): Use insert_block langhook.
1540 * fold-const.c: Include langhooks.h.
1541 (fold_range_test, fold_binary_op_with_conditional_arg,
1542 fold): Use global_bindings_p langhook.
1543 * integrate.c (expand_inline_function): Use insert_block langhook.
1544 * langhooks-def.h (LANG_HOOKS_DECLS, LANG_HOOKS_PUSHLEVEL,
1545 LANG_HOOKS_POPLEVEL, LANG_HOOKS_GLOBAL_BINDINGS_P,
1546 LANG_HOOKS_INSERT_BLOCK, LANG_HOOKS_SET_BLOCK, LANG_HOOKS_PUSHDECL,
1547 LANG_HOOKS_GETDECLS): New.
1548 (LANG_HOOKS_INITIALIZER): Update.
1549 * langhooks.c (lhd_clear_binding_stack): Use global_bindings_p
1550 langhook.
1551 * langhooks.h (struct lang_hooks_for_decls): New.
1552 (struct lang_hooks): Update.
1553 * profile.c: Include langhooks.h.
1554 (output_func_start_profiler): Use new langhooks.
1555 * sdbout.c: Include langhooks.h.
1556 (sdbout_init, sdbout_finish): Use getdecls langhook.
1557 * stmt.c: Include langhooks.h.
1558 (expand_fixup, fixup_gotos): Use new langhooks.
1559 * stor-layout.c: Include langhooks.h.
1560 (variable_size): Use global_bindings_p langhook.
1561 * toplev.c (compile_file): Use getdecls langhook.
1562 * tree-inline.c (remap_block): Use insert_block langhook.
1563 * tree.h (pushdecl, pushlevel, poplevel, set_block, gettags,
1564 insert_block, getdecls, kept_level_p, global_bindings_p): Remove.
1565
5b19b10c
RH
15662002-03-21 Richard Henderson <rth@redhat.com>
1567
1568 * config/rs6000/rs6000.c (rs6000_select_rtx_section): Put symbolic
1569 constants in .data when -fpic.
1570
e05af335
GP
15712002-03-21 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
1572
1573 * doc/contrib.texi (Contributors): Use GNU/Linux instead of Linux
1574 where appropriate.
1575
60ffc997
TT
15762002-03-21 Tom Tromey <tromey@redhat.com>
1577
1578 * config/i386/sol2.h (ASM_QUAD): Undef. Fixes PR bootstrap/5948.
1579
75897075
RK
1580Thu Mar 21 09:50:48 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1581
a73afd69 1582 * config/ia64/ia64.c (hfa_element_mode, case ARRAY_TYPE): Recurse.
46399021 1583
75897075
RK
1584 * expr.c (emit_group_store): Don't copy const0_rtx to a CONCAT.
1585
312687cf
EB
15862002-03-21 Eric Botcazou <ebotcazou@multimania.com>
1587 Richard Henderson <rth@redhat.com>
1588
1589 PR c/5354
1590 * c-common.c (c_expand_expr): Preserve result of a statement
1591 expression if needed.
1592
f0e1f482
JJ
15932002-03-21 Jakub Jelinek <jakub@redhat.com>
1594
1595 PR bootstrap/4195
1596 * genrecog.c (maybe_both_true_mode): Remove.
1597 (maybe_both_true_2, write_switch): Revert 2001-07-17 changes.
1598 * machmode.def (Pmode): Likewise.
1599
c14b9960
JW
1600Thu Mar 21 01:55:06 EST 2002 John Wehle (john@feith.com)
1601
1602 * alias.c: (nonlocal_mentioned_p): Use for_each_rtx.
1603 (nonlocal_mentioned_p_1): New function.
1604 (nonlocal_referenced_p, nonlocal_referenced_p_1): Likewise.
1605 (nonlocal_set_p, nonlocal_set_p_1): Likewise.
1606 (mark_constant_function): Recognize pure functions.
1607 * rtl.h (global_reg_mentioned_p): New prototype.
1608 * rtlanal.c (global_reg_mentioned_p,
1609 global_reg_mentioned_p_1): New function.
1610
aaa4d130
RO
16112002-03-21 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1612
1613 * fixinc/inclhack.def (alpha_assert): Fix assert macro in Tru64
1614 UNIX assert.h.
1615 * fixinc/fixincl.x: Regenerate.
1616
e5c4bd1b
JM
16172002-03-20 Jason Merrill <jason@redhat.com>
1618
1619 * config/i386/cygwin.h (DWARF2_UNWIND_INFO): Define to 0.
1620
852b81bb
MM
16212002-03-20 Michael Meissner <meissner@redhat.com>
1622
1623 * doc/invoke.texi (Optimize Options): Document that -O2 sets
1624 -fstrict-aliasing.
1625
86d8c251
BW
16262002-03-20 Bob Wilson <bob.wilson@acm.org>
1627
1628 * config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Emit a
1629 ".literal_position" directive before the constant pool.
1630
0a39c350
GP
16312002-03-20 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
1632
1633 * doc/contrib.texi (Contributors): Update Geoffrey Keating.
1634 Add Craig Rodrigues.
1635 Add Brad Lucier to testers.
1636
71a83373
JJ
16372002-03-20 Jakub Jelinek <jakub@redhat.com>
1638
1639 PR target/4792
1640 * config/arc/arc.md (movsicc, movdicc, movsfcc, movdfcc): Add mode
1641 to if_then_else.
1642 (movsicc_insn, movdicc_insn, movsfcc_insn, movdfcc_insn): Likewise.
1643 * config/arc/arc.c (arc_final_prescan_insn): Use extract_insn_cached
1644 instead of insn_extract.
1645
a29b099d
JJ
16462002-03-20 Jakub Jelinek <jakub@redhat.com>
1647
1648 PR bootstrap/4192
71a83373 1649 * config/fr30/fr30.md (jump): Remove clobber of fixed register.
a29b099d
JJ
1650
1651 * genemit.c (output_added_clobbers_hard_reg_p): Only output return
1652 stmt if some case has been output.
1653
048b1c95
JJ
16542002-03-20 Jakub Jelinek <jakub@redhat.com>
1655
1656 PR c/5972
1657 * config/i386/i386.md (movdicc_c_rex64, movsicc_noc, movhicc_noc,
1658 movsfcc_1, movdfcc_1): Add %O2.
1659 * config/i386/i386.c (print_operand): Handle %ON.
1660 Print . before float condition codes in Sun as cmov syntax.
1661 * config/i386/sol2.h (CMOV_SUN_AS_SYNTAX): Define for Sun as.
1662 * config.gcc (i[34567]86-*-solaris2*): Remove comment which is
1663 no longer true.
1664
f4864588
PB
16652002-03-20 Philip Blundell <pb@nexus.co.uk>
1666
1667 * config/arm/arm.c (arm_output_epilogue): Don't generate separate
1668 return instruction if PC was popped.
1669
3a307de4
BW
16702002-03-20 Bob Wilson <bob.wilson@acm.org>
1671
1672 * config/xtensa/xtensa.md: Remove unused type attributes.
1673 (adddi_carry, subddi_carry): Change type attribute to "multi".
1674
048b1c95 16752002-03-19 Dale Johannesen <dalej@apple.com>
ed7d44bc
DJ
1676
1677 PR optimization/5999, middle-end/5731
1678 * expr.c (expand_expr) [RDIV_EXPR]: Only convert real divisions into
1679 multiplications by reciprocals.
1680
7afff7cf
NB
16812002-03-20 Neil Booth <neil@daikokuya.demon.co.uk>
1682
1683 * Makefile.in: Update.
1684 * c-common.c: Include langhooks.h.
1685 (inline_forbidden_p): Use new hook.
1686 * diagnostic.c: Include langhooks.h.
1687 (format_with_decl, announce_function,
1688 default_print_error_function): Use new hook.
1689 * dwarf2out.c (dwarf2_name): Use new hook.
1690 * function.c: Include langhooks.h.
1691 (init_function_start): Use new hook.
1692 * langhooks-def.h (lhd_decl_printable_name): New.
1693 (LANGHOOKS_DECL_PRINTABLE_NAME): New.
1694 (LANGHOOKS_INITIALIZER): Update.
1695 * langhooks.c (lhd_decl_printable_name): New.
1696 * langhooks.h (struct lang_hooks): New hook.
1697 * toplev.c (decl_name, decl_printable_name): Remove.
1698 (open_dump_file): Use new hook.
1699 (process_options): Remove old hook.
1700 * tree.h (decl_printable_name): Remove.
1701objc:
1702 * objc-act.c (objc_init): Remove old hook.
1703 (objc_printable_name): Export.
1704 * objc-act.h (objc_printable_name): New.
1705 * objc-lang.c (LANG_HOOKS_DECL_PRINTABLE_NAME): Redefine.
1706
f78ce0b7
JB
17072002-03-19 Jim Blandy <jimb@redhat.com>
1708
1709 * c-lex.c (cb_file_change): Pass the #inclusion's line number to
1710 the start_source_file debug hook, not the current line number.
1711
15b5aef3
RH
17122002-03-19 Richard Henderson <rth@redhat.com>
1713
1714 * flow.c (EH_USES): Provide default.
1715 (calculate_global_regs_live): Use it for EH edges and noreturn calls.
1716 * doc/tm.texi (EH_USES): New.
1717
1718 * config/ia64/ia64.c (ia64_eh_uses): New.
1719 * config/ia64/ia64-protos.h: Update.
1720 * config/ia64/ia64.h (EH_USES): New.
1721
02a7a3fd
RH
17222002-03-19 Richard Henderson <rth@redhat.com>
1723
1724 * varasm.c (output_constant_def): Fix stupid typo.
1725
93f82d60
RH
17262002-03-19 Richard Henderson <rth@redhat.com>
1727
2842be05 1728 PR 5879
93f82d60
RH
1729 * except.c (current_function_has_exception_handlers): New.
1730 * except.h: Declare it.
1731 * sibcall.c (optimize_sibling_and_tail_recursive_call): Use it.
1732 Combine tests that disable all sibcalls for the function.
1733
ed4fbfa0
OH
17342002-03-19 Olivier Hainque <hainque@act-europe.fr>
1735
1736 * varasm.c (output_constant_def): Don't call ENCODE_SECTION_INFO
1737 for INTEGER_CST.
1738
ebf0e888
RH
17392002-03-19 Richard Henderson <rth@redhat.com>
1740
1e82682b 1741 PR 5977, 5991
ebf0e888
RH
1742 * config/ia64/ia64.c: Revert 2002-03-01 patch.
1743 * config/ia64/ia64.h (INIT_EXPANDERS): New.
1744
e37b38d7
JB
17452002-03-19 Jim Blandy <jimb@redhat.com>
1746
1747 * cppmacro.c (cpp_macro_definition): Emit a space after the macro
1748 name, even if the replacement list contains no tokens, as required
1749 by Dwarf.
1750
2a4ea326
JM
17512002-03-19 Jason Merrill <jason@redhat.com>
1752
f9d09ae5
JM
1753 * varasm.c (globalize_decl): Get the name from the RTL, not
1754 DECL_ASSEMBLER_NAME.
1755
2a4ea326
JM
1756 * Makefile.in (LIBGCC2_DEBUG_CFLAGS): Set to -g.
1757
99b96edb
BW
17582002-03-19 Bob Wilson <bob.wilson@acm.org>
1759
1760 * config/xtensa/xtensa.md (adddi3, adddi_carry, subdi3,
1761 subdi_carry): Define.
1762
3774b567
DE
17632002-03-19 David Edelsohn <edelsohn@gnu.org>
1764
1765 * config/rs6000/rs6000.c (rs6000_override_options): Only warn
1766 about -fpic/-fPIC if extra_warnings set.
1767
21ef78aa
DE
17682002-03-19 David Edelsohn <edelsohn@gnu.org>
1769
1770 * expr.c (expand_expr): Sign-extend CONST_INT generated from
1771 TREE_STRING_POINTER.
0c2fdcdf 1772 * fold-const.c (fold): Delete #if 0 ARRAY_REF case.
21ef78aa 1773
91d4b3fd
RK
1774Tue Mar 19 14:12:32 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1775
1776 * config/sparc/sparc.h (CAN_ELMINIATE): Can only eliminate FP
1777 in favor of SP if FRAME_POINTER_REQUIRED is false.
1778
2496c7bd
LB
17792002-03-19 Lars Brinkhoff <lars@nocrew.org>
1780
1781 * emit-rtl.c (gen_int_mode): New function.
1782 * rtl.h: Prototype for it.
1783 * combine.c (make_extraction, simplify_comparison), expmed.c
1784 (store_bit_field, expand_mult_highpart, expand_divmod), expr.c
1785 (convert_modes, store_field), optabs.c (expand_fix),
1786 simplify-rtx.c (neg_const_int, simplify_unary_real),
1787
1788 * config/rs6000/rs6000.c, config/rs6000/rs6000.md:
1789 Use it instead of GEN_INT (trunc_int_for_mode (...)).
1790
f735a153
JJ
17912002-03-19 Jakub Jelinek <jakub@redhat.com>
1792
1793 PR c/5656
1794 * langhooks.h (struct lang_hooks_for_tree_inlining): Add
1795 convert_parm_for_inlining.
1796 * c-lang.c (LANG_HOOKS_TREE_INLINING_CONVERT_PARM_FOR_INLINING):
1797 Define.
1798 * langhooks-def.h: Likewise.
1799 * objc/objc-lang.c: Likewise.
1800 * langhooks.c (lhd_tree_inlining_convert_parm_for_inlining): New
1801 function.
1802 * tree-inline.c (initialize_inlined_parameters):
1803 Call convert_parm_for_inlining lang hook if needed.
1804 * c-typeck.c (c_convert_parm_for_inlining): New function.
1805 * c-tree.h (c_convert_parm_for_inlining): Add prototype.
1806
1929c971
MM
18072002-03-18 Mark Mitchell <mark@codesourcery.com>
1808
b216cd4a 1809 * calls.c (precompute_arguments): Do not assume that temporaries
1929c971
MM
1810 can be destroyed after expanding the argument.
1811 (expand_call): Likewise.
1812
c79ca0ac
EC
18132002-03-15 Eric Christopher <echristo@redhat.com>
1814
1815 * config/mips/mips.md (movdf_internal2): Add two new move constraints.
1816 Fix register preference on last change.
1817 * config/mips/mips.c (mips_return_in_memory): New function.
1818 * config/mips/mips.h (RETURN_IN_MEMORY): Use.
1819 * config/mips/mips-protos.h: Declare.
1820 * config/mips/abi64.h (RETURN_IN_MEMORY): Remove. Add to above.
1821 * config/mips/elf64.h: Add #ifndef/#endif brackets around defaults.
1822
07e2e444
AO
18232002-03-18 Alexandre Oliva <aoliva@redhat.com>
1824
1bfbbbcf
AO
1825 * config/mips/mips.md (andsi3) [TARGET_MIPS16]: Force operand 1 to
1826 a register too.
1827 (anddi3, iorsi3): Likewise.
1828
c066429e
AO
1829 * config/mips/mips.h (ENCODE_SECTION_INFO) [TARGET_MIPS16]: Don't
1830 use %gprel for symbols that are going to be placed in linkonce
1831 sections.
1832
07e2e444
AO
1833 * config/mips/mips.h (ELIMINABLE_REGS): Can't eliminate
1834 RETURN_ADDRESS_POINTER_REGNUM to $ra.
1835 (CAN_ELIMINATE): Only eliminate it to $sp if a frame pointer is
1836 not needed. Disregard leaf_function_p().
1837 (INITIAL_ELIMINATION_OFFSET): Adjust for elimination of rap to
1838 mips16 frame pointer.
1839 * config/mips/mips.md (store ra): Only to small SP offsets.
1840 2001-08-22 Graham Stott <grahams@redhat.com>
1841 * config/mips/mips.h (RETURN_ADDR_RTX): For a leaf function
1842 return a REG rtx for the return address register.
1843
eb8e00ea
BW
18442002-03-18 Bob Wilson <bob.wilson@acm.org>
1845
1846 * config/xtensa/xtensa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Treat
1847 constant-pool addresses as "mode-dependent".
1848 (GO_IF_LEGITIMATE_ADDRESS): Rename macro arguments.
1849
cbb92744
JJ
18502002-03-18 Jakub Jelinek <jakub@redhat.com>
1851
1852 PR target/5740
1853 * expr.c (emit_group_load): Use extract_bit_field if
1854 needed for CONCAT arguments.
1855
657d9449
RE
18562002-03-18 Richard Earnshaw <rearnsha@arm.com>
1857
91f3a802 1858 PR target/4863
657d9449
RE
1859 * arm.md (tablejump): Make this a define_expand. For PIC add the
1860 offset to the base of the table.
1861 (thumb_tablejump): Matcher for Thumb tablejump insn.
1862 * config/arm/aout.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output thumb entries
1863 as the difference of two labels.
1864 * config/arm/aof.h (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
1865 * config/arm/elf.h (JUMP_TABLES_IN_TEXT_SECTION): Only put ARM jump
1866 tables in the code.
1867 * config/arm/coff.h (JUMP_TABLES_IN_TEXT_SECTION): Likewise.
1868 * arm.c (get_jump_table_size): If the table is not in the text
1869 section, return zero.
c79ca0ac 1870
5d5603e2
BS
18712002-03-18 Bernd Schmidt <bernds@redhat.com>
1872
1873 * config/arm/arm.c (arm_gen_movstrqi): Use gen_lowpart instead
1874 of gen_rtx_SUBREG.
1875 (arm_reload_out_hi): Use gen_lowpart instead of
1876 gen_rtx_SUBREG to access QImode components.
1877 * config/arm/arm.md: Disable zero_extend split for QImode
1878 subregs in BIG_ENDIAN mode.
1879 (storehi_bigend): Match use of least significant byte.
1880 (storeinthi): Remove extraneous SUBREG.
66c17b64 1881 Add missing construction of operands[2].
5d5603e2
BS
1882 (movhi): Use gen_lowpart in place of gen_rtx_SUBREG.
1883 (movqi): Use gen_lowpart in place of gen_rtx_SUBREG.
1884 Replace gen_rtx (SUBREG) with gen_rtx_SUBREG.
1885
df15fbc7
AH
18862002-03-18 Aldy Hernandez <aldyh@redhat.com>
1887
2496c7bd
LB
1888 * config/rs6000/rs6000.h (PREDICATE_CODES): Add PARALLEL to
1889 any_operand.
df15fbc7 1890
b83b7fa3
RH
18912002-03-17 Richard Henderson <rth@redhat.com>
1892
1893 * config/alpha/alpha.c (alpha_emit_set_const_1): Build add insns
1894 explicitly.
1895
6f7c00fe
HPN
18962002-03-17 Hans-Peter Nilsson <hp@bitrange.com>
1897
1898 * config/mmix/mmix.md ("fixuns_truncdfdi2"): Use (unsigned_fix:DI
1899 (unsigned_fix:DF op1)), not (unsigned_fix:DI (fix:DF op1)).
1900
155038f2
KG
19012002-03-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1902
720d42fa
KG
1903 * ifcvt.c (dead_or_predicable): Fix uninitialized variable.
1904
155038f2
KG
1905 * predict.c (estimate_bb_frequencies): Delete unused variables.
1906
e6542f4e
RH
19072002-03-17 Richard Henderson <rth@redhat.com>
1908
1909 * config/ia64/ia64.c (ia64_attribute_table): Move before
1910 targetm definition. Make static.
1911
52dabb6c
NB
19122002-03-17 Neil Booth <neil@daikokuya.demon.co.uk>
1913
1914 * c-common.h (yyparse, c_common_parse_file): New.
1915 * c-lang.c: Include c-common.h.
1916 (LANG_HOOKS_PARSE_FILE): Redefine.
1917 * c-lex.c: Include c-common.h.
1918 (yyparse): Rename c_common_parse_file. Call yyparse.
1919 * c-parse.in (yyparse): Remove macro.
1920 * c-tree.h (yyparse_1): Remove.
1921 * langhooks-def.h (LANG_HOOKS_PARSE_FILE): New.
1922 (LANG_HOOKS_INITIALIZER): Update.
1923 * langhooks.h (struct lang_hoooks): New hook parse_file.
1924 * toplev.c (compile_file): Use parse_file hook.
1925 * tree.h (yyparse): Remove.
e6542f4e 1926 * objc/objc-lang.c (LANG_HOOKS_PARSE_FILE): Redefine.
52dabb6c 1927
b5ffe606
HPN
19282002-03-17 Hans-Peter Nilsson <hp@bitrange.com>
1929
ba82f58b
HPN
1930 * config/mmix/mmix.md ("truncdfsf2"): Correct operator is
1931 float_truncate, not fix.
1932 ("*truncdfsf2_real"): Ditto.
1933 ("*nonlocal_goto_receiver_expanded"): Fix output template formatting.
1934
b5ffe606
HPN
1935 * config/mmix/mmix.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Don't define.
1936
c8d1b2b7
AO
19372002-03-16 Alexandre Oliva <aoliva@redhat.com>
1938
cfb773f9
AO
1939 * config/mips/mips.h (CAN_ELIMINATE): Don't eliminate rap to $fp
1940 (s8), but rather HARD_FRAME_POINTER_REGNUM. Add parentheses
1941 where appropriate. Make the second reference to
1942 leaf_function_p a function call, as intended. Reindented.
1943
4dffef52
AO
1944 * config/mips/mips.h (ISA_HAS_COND_TRAP): Not available on MIPS16.
1945 * config/mips/mips.md (trap) [TARGET_MIPS16]: Emit `break 0'.
1946
4f5bd6d7
AO
1947 * config/mips/mips.md (addsi3, adddi3): Use scratch register to
1948 add register to non-constant into sp.
1949
c8d1b2b7
AO
1950 * config/mips/mips-protos.h (embedded_pic_fnaddr_reg): New.
1951 * config/mips/mips.h (embedded_pic_fnaddr_rtx): Lose.
1952 (mips16_gp_pseudo_rtx): Lose.
1953 (INIT_EXPANDERS): Deleted.
1954 * config/mips/mips.c (mips_init_machine_status): New.
1955 (mips_free_machine_status): New.
1956 (mips_mark_machine_status): New.
1957 (override_options): Set them.
1958 (embedded_pic_fnaddr_rtx, mips16_gp_pseudo_rtx): Moved to...
1959 (struct machine_function): ... new. Replaced all references.
1960 (mips_add_gc_roots): Don't mark them.
1961 (embedded_pic_fnaddr_reg): New, extracted from...
1962 (embedded_pic_offset): ... here.
1963 * config/mips/mips.md (movdi): Call embedded_pic_fnaddr_reg.
1964 (movsi): Likewise.
1965
b3124fac
NB
19662002-03-16 Neil Booth <neil@daikokuya.demon.co.uk>
1967
1968 * cppinit.c: Revert -MD removal.
1969
121449b6
SC
19702002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
1971
1972 * config/m68hc11/m68hc11.c (m68hc11_override_options): Don't use
1973 soft registers by default for 68HC12.
1974 (m68hc11_conditional_register_usage): Don't use Z register for 68HC12
1975 when compiling with -fomit-frame-pointer.
1976 (expand_prologue): Use push/pop to allocate 4-bytes of locals on 68HC12.
1977 (expand_epilogue): Likewise.
1978 (m68hc11_gen_rotate): Use exg when rotating by 8.
1979
840e2ff1
SC
19802002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
1981
1982 * config/m68hc11/m68hc11-protos.h (ix_reg): Declare.
1983 * config/m68hc11/m68hc11.md ("addsi3"): Use general_operand for sources.
1984 (splits): Remove unused add splits.
1985 ("*addhi3_68hc12"): Tune constraints.
1986 ("addhi_sp"): Try to use X instead of Y in all cases and if the
1987 constant fits in 8-bits and D is dead use abx/aby instructions.
1988 ("*addhi3"): Remove extern declaration of ix_reg.
1989 ("*subsi3"): Optimize and provide new split.
1990 ("subhi3"): Cleanup.
1991 ("*subhi3_sp"): Avoid saving X if we know it is dead.
1992 (arith splits): For 68hc12 save the address register on the stack
1993 and do the arithmetic operation with a pop.
1994
3c9a5efe
SC
19952002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
1996
1997 * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Fix constraints, avoid
1998 allocating QImode in address registers.
1999 ("*movqi_m68hc11"): Likewise.
2000
e41f3392
JH
2001Sat Mar 16 12:57:28 CET 2002 Jan HUbicka <jh@suse.cz>
2002
2003 * cfgcleanup.c (cleanup_cfg): Fix updating of liveness.
2004
576786b0
NB
20052002-03-16 Neil Booth <neil@daikokuya.demon.co.uk>
2006
2007 * cppinit.c (print_help): Display -MD and -MMD.
2008 Don't display usage string. Update assertion syntax and
2009 typo.
2010 (COMMAND_LINE_OPTIONS): Remove OPT_MD, OPT_MMD.
2011 (cpp_handle_option): Update.
2012
1ac458d4
CD
20132002-03-15 Chris Demetriou <cgd@broadcom.com>
2014
2015 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Provide an
2016 MEABI case for each definition of SUBTARGET_CPP_SIZE_SPEC,
2017 and define it so that regardless of target CPU size,
2018 __SIZE_TYPE__ and __PTRDIFF_TYPE__ are defined in terms
2019 of "int" rather than "long."
2020
1fcd592b
RH
20212002-03-15 Richard Henderson <rth@redhat.com>
2022
2023 * config/alpha/alpha.c (alpha_va_arg): Manipulate the type
2024 size as a tree.
2025
a0df6910
SC
20262002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
2027
2028 * config/m68hc11/m68hc11.md ("tstqi_1"): Try to use ldab instead of tst.
2029 ("tstqi" split): Avoid using memory for tstqi on address register.
2030 (splits): Remove constraints.
2031 ("cmphi_1_hc12"): New from "cmphi_1" and tuned for 68HC12.
2032 ("cmpdf", "cmpsf"): Remove since not used.
2033 ("*tbeq", "*tbne", "*tbeq8", "*tbne8"): Also look in cc_status.value2.
2034 (peephole2): New peepholes to optimize tstqi and pre inc/dec addressing.
2035
015a2e59
SC
20362002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
2037
2038 * config/m68hc11/m68hc11.md ("negsi2"): Optimize inline case.
2039 ("neghi2"): Tighten constraints.
2040 ("one_cmplsi2"): Optimize and simplify split.
2041 * config/m68hc11/larith.asm (__negsi2): Likewise for library.
2042
cd28557c
SC
20432002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
2044
2045 * config/m68hc11/m68hc11.md ("logicalsi3_zexthi"): Fix constraints
2046 and split of AND operation to clear the upper bits.
2047 ("*logicalsi3_zextqi"): Likewise.
2048 ("*logicallhi3_zexthi_ashift8"): Likewise.
2049 ("*logicalsi3_silshr16"): Likewise.
2050 ("logicalsi3_silshl16"): Likewise.
2051 ("anddi3", "iordi3", "xordi3" splits): Remove constraints.
2052
932657df
SC
20532002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
2054
2055 * config/m68hc11/m68hc11.c (m68hc11_symbolic_p): New function.
2056 (m68hc11_indirect_p): New function.
2057 (m68hc11_override_options): Must set MASK_NO_DIRECT_MODE for 68HC12.
2058 (m68hc11_gen_highpart): Use TARGET_NO_DIRECT_MODE instead of
2059 TARGET_M6812.
2060 (asm_print_register): Likewise.
2061 * config/m68hc11/m68hc11-protos.h (m68hc11_symbolic_p): Declare.
2062 (m68hc11_indirect_p): Declare.
2063 * config/m68hc11/m68hc11.h (EXTRA_CONSTRAINT): New constraint 'R', 'Q'.
2064 (TARGET_NO_DIRECT_MODE, TARGET_RELAX): New.
2065 (TARGET_SWITCHES): New option -mrelax.
2066 * config/m68hc11/m68hc11.md ("andsi3"): Allow soft register for
2067 destination.
2068 ("iorsi3", "xorsi3"): Likewise.
2069 ("andhi3", "andqi3", "iorhi3", "iorqi3"): Use a define_expand.
2070 ("*andhi3_mem"): New to handle destination in memory with bclr
2071 and a scratch register.
2072 ("*andqi3_mem", "*iorhi3_mem", "*iorqi3_mem"): Likewise.
2073 ("*andhi3_const"): New when operand2 is constant.
2074 ("*andqi3_const", "*iorhi3_const", "*iorqi3_const"): Likewise.
2075 ("*andhi3_gen"): Cleanup of the old "andhi3".
2076 ("*andqi3_gen", "*iorhi3_gen", "*iorqi3_gen"): Likewise.
2077 ("xorqi3"): Update constraints.
2078
fdffea1a
SC
20792002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
2080
2081 * config/m68hc11/m68hc11.c (m68hc11_small_indexed_indirect_p): Look
2082 for reg_equiv_memory_loc when the operand is a register that does
2083 not get a hard register (stack location).
2084 (tst_operand): After reload, accept all memory operand.
2085 (symbolic_memory_operand): Fix detection of symbolic references.
2086 * config/m68hc11/m68hc11.h (VALID_CONSTANT_OFFSET_P): For 68HC12
2087 accept symbols and any constant.
2088
6272bc68
SC
20892002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
2090
2091 * config/m68hc11/m68hc11.c (emit_move_after_reload): Add a REG_INC
2092 note on the insn that sets the soft frame register.
2093 (must_parenthesize): ix and iy are also reserved names.
2094 (print_operand_address): One more place where parenthesis are required
2095 to avoid confusion with register names.
2096 (m68hc11_gen_movhi): Allow push of stack pointer.
2097 (m68hc11_check_z_replacement): Fix handling of parallel with a
2098 clobber.
2099 (m68hc11_z_replacement): Must update the REG_INC notes to tell what
2100 the replacement register is.
2101 * config/m68hc11/m68hc11.h (REG_CLASS_CONTENTS): Switch Z_REGS
2102 and D8_REGS classes.
2103 (MODES_TIEABLE_P): All modes are tieable except QImode.
2104
1d2d9def
SC
21052002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
2106
2107 * config/m68hc11/larith.asm (___adddi3): Optimize saving of result.
2108 (___subdi3): Likewise.
2109 (__mulsi3, __mulhi32): Avoid using _.tmp scratch location.
2110 (__map_data_section): Optimize 68hc11 case.
2111
a0ccf503
SC
21122002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
2113
2114 * config/m68hc11/m68hc11.c (m6812_cost): Make cost of add higher
2115 than a shift to avoid adding a register with itself.
2116 (m68hc11_memory_move_cost): Take into account NO_REGS.
2117 (m68hc11_register_move_cost): Update and use memory move cost
2118 for soft registers.
2119 (m68hc11_address_cost): Make cost of valid offset not 0 so that
2120 it gives more opportunities to cse to optimize.
2121 * config/m68hc11/m68hc11.h (REGISTER_MOVE_COST): Pass the mode.
2122 * config/m68hc11/m68hc11-protos.h (m68hc11_register_move_cost): Update.
2123
6e4ae815
MM
21242002-03-15 Mark Mitchell <mark@codesourcery.com>
2125
2126 * c-common.c (statement_code_p): Handle CLEANUP_STMT.
2127 * c-common.def (CLEANUP_STMT): New tree node.
2128 * c-common.h (CLEANUP_DECL): New macro.
2129 (CLEANUP_EXPR): Likewise.
2130 * c-semantics.c (expand_stmt): Handle CLEANUP_STMT.
2131 * expr.c (expand_expr): Tidy.
2132 * tree-dump.c (dequeue_and_dump): Handle CLEANUP_STMT.
2133 * tree-inline.c (initialize_inlined_parameters): Clean up
2134 new local variables.
2135
a42519be
JJ
21362002-03-15 Jakub Jelinek <jakub@redhat.com>
2137
2138 PR bootstrap/4128
2139 * config/sparc/sparc.c (gen_v9_scc): Move early clobber test
2140 before movrXX only, use reg_overlap_mentioned_p.
2141 Only special case NE if just one insn can be generated.
2142
15409448
JM
21432002-03-15 Jason Merrill <jason@redhat.com>
2144
2145 * varasm.c (assemble_variable): Call resolve_unique_section before
2146 checking DECL_SECTION_NAME. Use zeros for a decl with DECL_INITIAL
2147 of error_mark_node.
2148
3a4edb44
RE
21492002-03-15 Richard Earnshaw <rearnsha@arm.com>
2150
2151 PR target/5170
2152 * arm.md (split pattern for thumb shiftable immediates): Add comment
2153 explaining non-obvious test.
2154
32defa36
RE
21552002-03-15 Richard Earnshaw <rearnsha@arm.com>
2156
2157 PR target/5712
2158 * arm.md (movaddr, movaddr_insn): Delete.
2159
5cc90635
JM
21602002-03-15 Jason Merrill <jason@redhat.com>
2161
2162 * toplev.c (wrapup_global_declarations): Clarify variable handling.
2163 -fkeep-static-consts doesn't apply to comdats.
2164
ecb0eece
RH
21652002-03-14 Richard Henderson <rth@redhat.com>
2166
2167 * c-decl.c: Include c-pragma.h.
2168 (start_decl, start_function): Invoke maybe_apply_pragma_weak.
2169 (finish_function): Tidy.
2170 * c-pragma.c: Include c-common.h.
2171 (pending_weaks, apply_pragma_weak, maybe_apply_pragma_weak): New.
2172 (handle_pragma_weak): Use them.
2173 (init_pragma): Register pending_weaks.
2174 * c-pragma.h (maybe_apply_pragma_weak): Declare.
2175 * print-tree.c (print_node): Print DECL_WEAK.
2176 * varasm.c (mark_weak_decls): Remove.
2177 (remove_from_pending_weak_list): Remove.
2178 (add_weak): Remove.
2179 (asm_emit_uninitialised): Call globalize_decl for weak commons.
2180 (weak_decls): Make a tree_list.
2181 (declare_weak): Cons weak_decls directly.
2182 (globalize_decl): Remove weak_decls elements directly.
2183 (weak_finish): Simplify weak_decls walk. Don't weaken unused
2184 symbols. Don't pretend to handle aliases.
2185 (init_varasm_once): Update weak_decls registry.
2186 * Makefile.in: Update dependencies.
2187
98d2b17e
RH
21882002-03-14 Richard Henderson <rth@redhat.com>
2189
2190 PR target/5312
2191 * config/ia64/ia64.c: Include tm_p.h last.
2192 (gen_nop_type): Remove duplicate definition.
2193 (cycle_end_fill_slots): Set sched_data for second L slot.
2194 (maybe_rotate): Call cycle_end_fill_slots to fill in nop slots.
2195 (nop_cycles_until): Fix typos.
2196
f2f4927e
JJ
21972002-03-15 Jakub Jelinek <jakub@redhat.com>
2198
2199 PR optimization/5891
2200 * unroll.c (copy_loop_body) [CALL_INSN]: Copy SIBLING_CALL_P flag.
2201
5025a549
DM
22022002-03-14 David Mosberger <davidm@hpl.hp.com>, Hans Boehm <Hans_Boehm@hp.com>
2203
2204 * config/ia64/unwind-ia64.c: Handle copy_state and label_state
2205 descriptors correctly.
2206
03e9dbc9
MM
22072002-03-14 Michael Meissner <meissner@redhat.com>
2208
2209 * params.def (PARAM_MAX_UNROLLED_INSNS): New macro, default to
2210 100, allowing MAX_UNROLLED_INSNS to be overridden.
2211
2212 * params.h (MAX_UNROLLED_INSNS): Define so it can be overridden by
2213 --param.
2214
2215 * unroll.c (params.h): Include.
2216 (MAX_UNROLLED_INSNS): Delete, now in params.h.
2217
2218 * doc/invoke.texi (--param max-unroll-insns): Document.
2219
2220 * Makefile.in (unroll.o): Add $(PARAMS_H) dependency.
2221
12249385
RE
22222002-03-14 Richard Earnshaw <rearnsha@arm.com>
2223
2224 * arm.md: Fix warnings about constraints in peepholes and splits.
2225
f0cce04a
ZW
22262002-03-14 Zack Weinberg <zack@codesourcery.com>
2227
2228 * cpphash.h (struct lexer_state): Remove line_extension member.
2229 * cpplib.c (dequote_string, do_linemarker): New functions.
2230 (linemarker_dir): New data object.
2231 (DIRECTIVE_TABLE): No longer need to interpret #line in
2232 preprocessed source. Delete obsolete comment about return
2233 values of handlers.
2234 (end_directive, directive_diagnostics, _cpp_handle_directive):
2235 Don't muck with line_extension.
2236 (directive_diagnostics): No need to issue warnings for
2237 linemarkers here.
2238 (_cpp_handle_directive): Issue warnings for linemarkers here,
2239 when appropriate. Dispatch linemarkers to do_linemarker, not
2240 do_line.
2241 (do_line): Code to handle linemarkers split out to do_linemarker.
2242 Convert escape sequences in filename argument, both places.
2243
2244 * cppmacro.c (quote_string): Rename cpp_quote_string and
2245 export. All callers changed.
2246 * cpplib.h (cpp_quote_string): Prototype.
2247 * cppmain.c (print_line): Call cpp_quote_string on to_file
2248 before printing it.
2249
2250 * doc/cpp.texi: Document that escapes are now interpreted in
2251 #line and in linemarkers, and that non-printing characters are
2252 converted to octal escapes when linemarkers are generated.
2253
2254Thu Mar 14 19:04:29 CET 2002 Jan Hubicka <jh@suse.cz>
83a49407
JH
2255
2256 * emit-rtl.c (try_split): Use delete_insns.
2257 * recog.c (split_all_insns): Fix terminating condition.
2258
c882c7ac
RE
22592002-03-14 Richard Earnshaw <rearnsha@arm.com>
2260 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
2261
2262 PR target/5828
2263 * arm.c (arm_output_epilogue): Fix floating-point register save
2264 adjustment when using a frame pointer.
2265
3f26edaa
RS
22662002-03-14 Richard Sandiford <rsandifo@redhat.com>
2267
2268 * config/mips/mips.h (FP_INC, UNITS_PER_FPVALUE): New macros.
2269 * config/mips/mips.c (compute_frame_size): Retrofit them here.
2270 (save_restore_insns, mips_expand_epilogue): And here.
2271 (build_mips16_call_stub): And here.
2272 (mips_function_value): Use the new macros to decide whether a single
2273 or complex float can be returned in floating-point registers. Return
2274 a parallel rtx in the complex case.
2275
1e3881c2
JH
2276Thu Mar 14 11:03:12 CET 2002 Jan Hubicka <jh@suse.cz>
2277
2278 * toplev.c (rest_of_compilation): Add CLEANUP_UPDATE_LIFE to cfg_cleanup
2279 call after liveness analysis.
2280
2281 * recog.c (split_insn): Use delete_insn_and_edges.
2282
2283 * cfgrtl.c (verify_flow_info): Be permisive about non-any_condjump
2284 instructions to have branch prediction notes.
2285 * ia64reorg.c (ia64_reorg): Do not rebuild CFG.
2286
200ef634
GK
22872002-03-14 Geoffrey Keating <geoffk@redhat.com>
2288
2289 * configure.in: Don't pass -Wno-long-long to a ADA compiler
2290 that doesn't support it.
2291 * configure: Regenerate.
2292
0b82d204
JJ
22932002-03-13 Jakub Jelinek <jakub@redhat.com>
2294
2295 PR target/5626
2296 * config/sparc/sparc.md (normal_branch, inverted_branch,
2297 normal_fp_branch, inverted_fp_branch, normal_fpe_branch,
2298 inverted_fp_branch): Adjust calls to output_cbranch.
2299 Set length attribute.
2300 (normal_int_branch_sp64, inverted_int_branch_sp64): Adjust calls to
2301 output_v9branch. Set length attribute.
2302 * config/sparc/sparc.c (fcc0_reg_operand, noov_compare64_op): New
2303 predicates.
2304 (noov_compare_op): Handle CCX_NOOVmode the same way as CC_NOOVmode.
2305 (output_cbranch): Likewise. Handle far branches.
2306 (output_v9branch): Handle far branches.
2307 * config/sparc/sparc-protos.h (output_cbranch, output_v9branch):
2308 Adjust prototypes.
2309 * config/sparc/sparc.h (PREDICATE_CODES): Add fcc0_reg_operand and
2310 noov_compare64_op predicates.
2311
7a8de19b
JM
23122002-03-13 Jason Merrill <jason@redhat.com>
2313
2314 * gthr-posix.h (__gthread_active_p): Move __gthread_active_ptr
2315 into the function and constify it.
2316 * gthr-dce.h, gthr-solaris.h: Likewise.
2317
2a55fd42
DE
23182002-03-13 David Edelsohn <edelsohn@gnu.org>
2319
2320 * config/rs6000/rs6000.h (PAD_VARARGS_DOWN): Define.
2321 * config/rs6000/rs6000.c (rs6000_va_arg): Use
2322 std_expand_builtin_va_arg if not ABI_V4.
2323
19c5b1cf
JM
23242002-03-13 Jason Merrill <jason@redhat.com>
2325
2326 * varasm.c (globalize_decl): New fn.
2327 (assemble_start_function): Use it.
2328 (asm_emit_uninitialized): Use it.
2329 (assemble_alias): Use it.
2330 (assemble_variable): Use it.
2331
2a15f5e1
HPN
23322002-03-13 Hans-Peter Nilsson <hp@axis.com>
2333
2334 * config/cris/cris.c (cris_target_asm_function_prologue): Revert
f0cce04a 2335 2002-03-12 internal visibility change.
2a15f5e1
HPN
2336 (cris_encode_section_info): Consider MODULE_LOCAL_P when encoding
2337 visibility into SYMBOL_REF_FLAG.
2338
c0a3eeac
UW
23392002-03-13 Ulrich Weigand <uweigand@de.ibm.com>
2340
2341 * expr.c (expand_expr, case NE_EXPR): Do not call copy_to_reg with
2342 VOIDmode operand. Add compile-time optimization for constant results.
2343
a1652cee
JM
23442002-03-12 Jason Merrill <jason@redhat.com>
2345
2346 * c-typeck.c (convert_for_assignment): Don't allow conversions
2347 between pointers and references. Only allow lvalues to convert to
2348 reference.
2349
c52a375d
HP
23502002-03-13 Hartmut Penner <hpenner@de.ibm.com>
2351
f0cce04a
ZW
2352 * config/s390/s390.h (PROFILE_BEFORE_PROLOGUE): Emit profile code
2353 before prologue, to avoid scheduling problems.
c52a375d 2354
e387e99b
JJ
23552002-03-13 Jakub Jelinek <jakub@redhat.com>
2356
2357 * config/sparc/sparc.h (INITIAL_FRAME_POINTER_OFFSET): Remove.
2358 (ELIMINABLE_REGS): Add sfp->sp.
2359 (INITIAL_ELIMINATION_OFFSET): Compute sfp->sp offset too.
2360
23612002-03-13 Jakub Jelinek <jakub@redhat.com>
09948ece
JJ
2362
2363 PR optimization/5892
2364 * config/ia64/ia64.c (rotate_one_bundle): Update current packet.
2365
4061c1a3
JJ
23662002-03-13 Jakub Jelinek <jakub@redhat.com>
2367
2368 * loop.c (basic_induction_var): Don't call convert_modes if mode
2369 classes are different.
2370
5b43fed1
RH
23712002-03-12 Richard Henderson <rth@redhat.com>
2372
9f53e965
RH
2373 PR optimization/5901
2374 * function.c (reposition_prologue_and_epilogue_notes): Position
2375 the markers after/before the last/first insn not deleted.
2376
23772002-03-12 Richard Henderson <rth@redhat.com>
2378
2379 PR optimization/5878
5b43fed1
RH
2380 * config/arc/arc.h, config/cris/cris.h, config/i386/i386.h,
2381 config/m68k/m68k.h, config/s390/s390.h, config/sparc/sparc.h
2382 (PIC_OFFSET_TABLE_REGNUM): Conditionalize on flag_pic.
2383
2384 * config/arm/arm.h config/i386/i386.h, config/m68k/m68k.h,
2385 config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Set
2386 PIC_OFFSET_TABLE_REGNUM based on INVALID_REGNUM not flag_pic.
2387
2388 * config/arc/arc.h (CONDITIONAL_REGISTER_USAGE): New.
2389 * config/arm/arm.c (arm_pic_register): Init to INVALID_REGNUM.
2390 (arm_override_options): Set arm_pic_register if TARGET_APCS_STACK
2391 also. Don't set it if not flag_pic.
2392 * config/i386/i386.c (ix86_save_reg): Trust PIC_OFFSET_TABLE_REGNUM
2393 to be INVALID_REGNUM when not used.
2394
4e9bb42b
AH
23952002-03-13 Aldy Hernandez <aldyh@redhat.com>
2396
5b43fed1
RH
2397 * expmed.c (store_bit_field): Reset alias set for memory.
2398 (extract_bit_field): Same.
4e9bb42b 2399
2f9834e8
KG
24002002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2401
2402 * c-common.c (c_tree_code_type, c_tree_code_length,
2403 c_tree_code_name, add_c_tree_codes): Delete.
2404 * c-common.h (add_c_tree_codes): Delete.
2405 * c-lang.c (tree_code_type, tree_code_length, tree_code_name):
2406 Define.
2407 * c-objc-common.c (c_objc_common_init): Don't call
2408 add_c_tree_codes, instead set lang_unsafe_for_reeval.
2409 * objc/objc-act.c (objc_tree_code_type, objc_tree_code_length,
2410 objc_tree_code_name, add_objc_tree_codes): Delete.
2411 (objc_init): Don't call add_objc_tree_codes.
2412 * objc/objc-lang.c (tree_code_type, tree_code_length,
2413 tree_code_name): Define.
2414 * toplev.c (lang_independent_init): Don't set
2415 tree_code_length[IDENTIFIER_NODE].
2416 * tree.c (tree_code_type, tree_code_length, tree_code_name):
2417 Delete definitions, moved to language front-ends.
2418 * tree.def (IDENTIFIER_NODE): Hardwire the length.
2419 * tree.h (tree_code_type, tree_code_length, tree_code_name):
2420 Const-ify.
2421 (tree_code_length): Change type to unsigned char.
2422
36ad2436
RH
24232002-03-12 Richard Henderson <rth@redhat.com>
2424
2425 * config/i386/i386.c (ix86_expand_prologue): Revert 2002-03-03
2426 internal visibility change.
2427
0ae02efa
BW
24282002-03-12 Bob Wilson <bob.wilson@acm.org>
2429
2430 * config/xtensa/xtensa.c (xtensa_expand_block_move): Use
2431 validize_mem() instead of change_address to avoid clobbering
2432 memory attributes.
2433
35bb2bee
NB
24342002-03-12 Neil Booth <neil@daikokuya.demon.co.uk>
2435
2436 * c-lex.h (position_after_whitespace): Remove.
2437
62ae2529
JJ
24382002-03-12 Jakub Jelinek <jakub@redhat.com>
2439
2440 * c-lex.c (cb_ident, c_lex): Remove unnecessary cast.
2441 (lex_string): Use unsigned char pointers.
2442
6a45951f
UW
24432002-03-12 Ulrich Weigand <uweigand@de.ibm.com>
2444
2445 * reload1.c (reload): Ignore MEM REG_EQUIV notes if the equivalent
2446 is not a valid memory_operand.
2447
e2fb85da
BW
24482002-03-12 Bob Wilson <bob.wilson@acm.org>
2449
2450 * config/xtensa/xtensa-config.h: Define XCHAL_HAVE_LOOPS.
2451 * config/xtensa/lib1funcs.asm: Fix copyright to include
2452 special case for libgcc files.
2453 (__udivsi3): Avoid loop instructions when XCHAL_HAVE_LOOPS is 0.
2454 (__divsi3): Likewise.
2455 (__umodsi3): Likewise.
2456 (__modsi3): Likewise.
2457 * config/xtensa/lib2funcs.S: Fix copyright to include
2458 special case for libgcc files.
2459
5b8619f8
TR
24602002-03-12 Tom Rix <trix@redhat.com>
2461
2462 * collect2.c (resolve_lib_name): Move outside of
f0cce04a 2463 OBJECT_FORMAT_COFF ifdef.
5b8619f8
TR
2464 (ignore_library): Same.
2465
089c8f97
BW
24662002-03-12 Bob Wilson <bob.wilson@acm.org>
2467
2468 * config/xtensa/t-xtensa (CRTSTUFF_T_CFLAGS_S): Define.
2469
958c70ff
BW
24702002-03-12 Bob Wilson <bob.wilson@acm.org>
2471
2472 * config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Switch
2473 to function_section before writing out the constant pool.
2474
a65c591c
DE
24752002-03-12 David Edelsohn <edelsohn@gnu.org>
2476
2477 * config/rs6000/rs6000.h (PREDICATE_CODES): Add any_operand and
2478 zero_constant.
2479 * config/rs6000/rs6000.c (easy_fp_constant): Fix formatting.
2480
24812002-03-12 Alan Modra <amodra@bigpond.net.au>
2482
2483 * config/rs6000/rs6000.md (addsi3): Optimize sign extension.
2484 (adddi3): Likewise.
2485 (movdf): Likewise.
2486 (movdi): Likewise.
2487 (cmpsi splitter): Likewise.
2488 (modsi3): Fail if <= 0.
2489 * config/rs6000/rs6000.c (reg_or_add_cint64_operand): Remove
2490 redundant test when HOST_BITS_PER_WIDE_INT != 32.
2491 (reg_or_sub_cint64_operand): Likewise.
2492 (num_insns_constant_wide): Optimize sign extension.
2493 (rs6000_legitimize_address): Likewise.
2494
17720332
AM
24952002-03-12 Andrew MacLeod <amacleod@redhat.com>
2496
2497 * config/sparc/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
2498 * config/sparc/linux64.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
2499
cd49f073
AM
25002002-03-12 Andrew MacLeod <amacleod@redhat.com>
2501
2502 * config/sparc/sparc.h (RETURN_ADDR_RTX): Include v9 stack bias in
2503 address calculation.
2504
6a4e49c1
UW
25052002-03-12 Ulrich Weigand <uweigand@de.ibm.com>
2506
2507 * config/s390/s390.md (reload_insi, reload_indi): Change mode of
2508 scratch register to DImode / TImode.
2509 config/s390/s390.c (s390_expand_plus_operand): Make sure scratch
2510 register used does not overlap the target.
2511
54b6670a
KG
25122002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2513
2514 * Makefile.in (debug.o): Depend on debug.h.
2515 * dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Const-ify.
2516 * debug.c (do_nothing_debug_hooks): Likewise.
2517 * debug.h (debug_hooks, do_nothing_debug_hooks, dbx_debug_hooks,
2518 sdb_debug_hooks, xcoff_debug_hooks, dwarf_debug_hooks,
2519 dwarf2_debug_hooks, vmsdbg_debug_hooks): Likewise.
2520 * dwarf2out.c (dwarf2_debug_hooks): Likewise.
2521 * dwarfout.c (dwarf_debug_hooks): Likewise.
2522 * integrate.c (output_inline_function): Likewise.
2523 * objc/objc-act.c (synth_module_prologue): Likewise.
2524 * sdbout.c (sdb_debug_hooks): Likewise.
2525 * toplev.c (debug_hooks): Likewise.
2526 * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
2527
2465bf76
KG
25282002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2529
2530 * 1750a.h, a29k.h, arc.h, arm.h, c4x.h, clipper.h, cris.h, d30v.h,
2531 dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i860.h, i960.h,
2532 m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mmix.h, mn10300.h,
2533 ns32k.h, pa.h, pdp11.h, pj.h, romp.h, s390.h, stormy16.h,
2534 v850.h, vax.h, we32k.h, xtensa.h (POINTER_SIZE): Delete.
2535 * defaults.h (POINTER_SIZE): Define.
2536 * doc/tm.texi (POINTER_SIZE): Document default.
2537
53f3e9ca
KG
25382002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2539
2540 * mn10200.h (PTRDIFF_TYPE): Change it to a signed type.
2541
44d3eb5b
RH
25422002-03-11 Richard Henderson <rth@redhat.com>
2543
2544 * toplev.c (rest_of_compilation): Call purge_all_dead_edges
2545 if rebuild_label_notes_after_reload.
2546
4a085d2e
HPN
25472002-03-12 Hans-Peter Nilsson <hp@axis.com>
2548
2549 * config/cris/cris.c (cris_target_asm_function_prologue): Do not
2550 emit pic register load if "internal" visibility.
2551 (cris_print_operand): Avoid traditional-warning for 0xffffffff.
2552 (cris_expand_builtin_va_arg): Do all computations on trees.
2553
bc204393
RH
25542002-03-11 Richard Henderson <rth@redhat.com>
2555
2556 * rtlanal.c: Include recog.h.
2557 (keep_with_call_p): Fix thinko.
2558 * Makefile.in (rtlanal.o): Update dependencies.
2559
6b8b9d7b
CM
25602002-03-11 Chris Meyer <cmeyer@gatan.com>
2561
2562 * genflags.c (gen_insn): Use IS_VSPACE.
2563 * genoutput.c (output_insn_data): Likewise.
2564 (process_template): Likewise.
2565
6c40858f
RH
25662002-03-11 Richard Henderson <rth@redhat.com>
2567
2568 * toplev.c (rest_of_compilation): Don't compile if we've had errors.
2569
40adaa27
NB
25702002-03-11 Neil Booth <neil@daikokuya.demon.co.uk>
2571
2572 * Makefile.in: Update.
6c40858f 2573 * doc/cppenv.texi, cppopts.texi: Split out of cpp.texi and gcc.texi.
40adaa27 2574 Update documentation.
6c40858f
RH
2575 * doc/gcc.texi: Include cppopts.texi and cppenv.texi.
2576 * doc/cpp.texi: Include cppopts.texi and cppenv.texi.
40adaa27 2577
049b03f4
ZW
25782002-03-11 Zack Weinberg <zack@codesourcery.com>
2579
2580 * Makefile.in: Give texi2pod its input file as a command line
2581 argument, not on stdin.
2582
61eece67
DN
25832002-03-11 Dan Nicolaescu <dann@ics.uci.edu>
2584 Daniel Berlin <dan@dberlin.org>
2585
2586 C++ alias analysis improvement.
f0cce04a 2587 * alias.c (record_component_aliases): Record aliases for base
61eece67
DN
2588 classes too.
2589
a65c591c
DE
25902002-03-11 Ulrich Weigand <uweigand@de.ibm.com>
2591
ff080aba
UW
2592 * config/s390/s390.h (REG_ALLOC_ORDER): Add missing register.
2593
1682dbb1
DR
25942002-03-11 Douglas B Rupp <rupp@gnat.com>
2595
fa2d765a
DR
2596 * toplev.c (vms_fopen): Remove, not needed.
2597
6f1fd286
DR
2598 * vmsdbgout.c (lookup_filename): Adjust creation date for GMT.
2599
b230e057
DR
2600 * config/alpha/xm-vms.h (__UNIX_FWRITE): Define.
2601
cb9a8e97
DR
2602 * config/alpha/alpha.c (alpha_sa_size, VMS): Don't reserve space
2603 for FP, already done later.
2604
1682dbb1
DR
2605 * toplev.c (debug_args): Add entry for VMS_DEBUG.
2606 * vmsdbgout.c (vmsdbgout_init): Fix typo in call to xmalloc.
2607
3fcaac1d
RS
26082002-03-11 Richard Sandiford <rsandifo@redhat.com>
2609
2610 * defaults.h (LARGEST_EXPONENT_IS_NORMAL, ROUND_TOWARDS_ZERO): New.
2611 (MODE_HAS_NANS, MODE_HAS_INFINITIES): Evaluate to false if
2612 LARGEST_EXPONENT_IS_NORMAL for the given mode.
2613 (MODE_HAS_SIGN_DEPENDENT_ROUNDING): False when ROUND_TOWARDS_ZERO.
2614 * real.c (eadd1): Make rounding dependent on !ROUND_TOWARDS_ZERO.
2615 (ediv, emul, eldexp, esqrt): Likewise.
2616 (etoe113, etoe64, etoe53, etoe24, etodec, etoibm, etoc4x): Likewise.
2617 (e24toe): Only check NaNs & infinities if !LARGEST_EXPONENT_IS_NORMAL.
2618 (saturate): New function.
2619 (toe53, toe24): Saturate on overflow if LARGEST_EXPONENT_IS_NORMAL.
2620 (make_nan): Use a saturation value instead of a NaN if
2621 LARGEST_EXPONENT_IS_NORMAL. Warn when this happens.
2622 * fp-bit.c (pack_d): Saturate on NaN, infinite or overflowing
2623 inputs if LARGEST_EXPONENT_IS_NORMAL. Represent subnormals as
2624 zero if NO_DENORMALS. Only round to nearest if !ROUND_TOWARDS_ZERO.
2625 (unpack_d): No NaNs or infinities if LARGEST_EXPONENT_IS_NORMAL.
2626 (_fpmul_parts, _fpdiv_parts): Only round to nearest if
2627 !ROUND_TOWARDS_ZERO.
2628 * doc/tm.texi (LARGEST_EXPONENT_IS_NORMAL): Document.
2629 (ROUND_TOWARDS_ZERO): Document.
2630
d25558be
AJ
26312002-03-11 Andreas Jaeger <aj@suse.de>
2632
2633 * cfg.c (dump_flow_info): Remove unused variable.
2634
c71f9ae7
HPN
26352002-03-11 Hans-Peter Nilsson <hp@bitrange.com>
2636
2637 * config/mmix/mmix.c (mmix_expand_builtin_va_arg): Do all
2638 computations on trees.
2639
561c9153
RH
26402002-03-10 Richard Henderson <rth@redhat.com>
2641
932b4e3e 2642 PR 5693:
561c9153
RH
2643 * reload.c (copy_replacements_1): New.
2644 (copy_replacements): Use it to recurse through the rtx.
2645
26b738be
RH
26462002-03-10 Richard Henderson <rth@redhat.com>
2647
2648 * loop.c (strength_reduce): Compute number of iterations as
2649 unsigned HOST_WIDE_INT.
2650
8d8a083e
RH
26512002-03-10 Richard Henderson <rth@redhat.com>
2652
2653 * sched-rgn.c (add_branch_dependences): Don't allow insns that throw
2654 to move away from the end of the block.
2655
32810ba3
NB
26562002-03-10 Neil Booth <neil@daikokuya.demon.co.uk>
2657
2658 PR preprocessor/5899
2659 * cppinit.c (init_dependency_output): Don't ignore -dM etc.
d25558be 2660
2b03d201
KG
26612002-03-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2662
f90c544c
KG
2663 * mbchar.c (JIS_state_table, JIS_action_table): Const-ify.
2664
2b03d201
KG
2665 * attribs.c (decl_attributes): Fix signed/unsigned warning.
2666
3ec1b4cb
HPN
26672002-03-10 Hans-Peter Nilsson <hp@bitrange.com>
2668
2669 * config/mmix/mmix.c: Improve comments.
2670 (mmix_target_asm_function_prologue): Drop variable
2671 empty_stack_frame. Don't allocate unused slot above fp.
2672 (mmix_target_asm_function_epilogue): Mirror prologue changes.
2673 * config/mmix/mmix.h (MMIX_GNU_ABI_REG_ALLOC_ORDER): Don't have
2674 brace in first column.
2675 (enum reg_class): Ditto.
2676 (FIRST_PARM_OFFSET): Now 0.
2677 (USER_LABEL_PREFIX): Remove #if 0:d definition.
2678
27e486c5
KG
26792002-03-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2680
2681 * combine.c (make_extraction): Fix error in last change.
2682
0139adca
KG
26832002-03-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2684
2685 * c4x.c (c4x_fp_reglist): Const-ify.
2686 * cris.c (cris_print_operand): Likewise.
2687 * i386.c (ix86_va_arg): Likewise.
2688 * ia64/unwind-ia64.c (unw_decode_table): Likewise.
2689 * m32r.c (m32r_hard_regno_mode_ok): Likewise.
2690 * m32r.h (m32r_hard_regno_mode_ok): Likewise.
2691 * mcore.c (regno_reg_class, mcore_unique_section): Likewise.
2692 * mcore.h (regno_reg_class): Likewise.
2693 * mips.c (gen_int_relational): Likewise.
2694 * ns32k.c (ns32k_reg_class_contents, regclass_map): Likewise.
2695 * ns32k.h (ns32k_reg_class_contents, regclass_map): Likewise.
a4334c36 2696 * pdp11.c (move_costs): Likewise.
0139adca
KG
2697 * pj.h (INITIALIZE_TRAMPOLINE): Likewise.
2698 * s390.c (s390_branch_condition_mnemonic, regclass_map):
2699 Likewise.
2700 * s390.h (regclass_map): Likewise.
2701 * sh.c (shift_amounts): Likewise.
a4334c36 2702 * sh.md (rotlsi3): Likewise.
0139adca 2703
889b90a1
GK
27042002-03-09 Geoffrey Keating <geoffk@redhat.com>
2705
2706 * config/rs6000/rs6000.md (ne0+4): Add extra CLOBBER.
2707 (ne0+5): Use new clobber to generate proper shift pattern.
2708 Patch by Michael Matz <matz@kde.org>.
2709
2877e0ae
AS
27102002-03-09 Andreas Schwab <schwab@suse.de>
2711
2712 * gcc.c (validate_all_switches): Also handle `%W{...}'.
2713
79b51cd7
GK
27142002-03-09 Geoffrey Keating <geoffk@redhat.com>
2715
2716 * config/rs6000/sysv4.h (BIGGEST_ALIGNMENT): Don't define.
2717
e0f1be5c
JJ
27182002-03-09 Jakub Jelinek <jakub@redhat.com>
2719
2720 PR middle-end/5877
2721 * expr.c (highest_pow2_factor): Check TREE_INT_CST_LOW
2722 even for non-representable constants.
2723
0a7ec763
RK
2724Sat Mar 9 07:20:01 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2725
93fe8e92
RK
2726 * emit-rtl.c (copy_most_rtx): Accept EXPR_LIST for may_share.
2727 * function.c (fixup_var_refs): Add MAY_SHARE parameter.
2728 (fixup_var_refs_insns, fixup_var_refs_insns_with_has): Likewise.
2729 (fixup_var_refs_insn, fixup_var_refs_1): Likewise.
2730 (pop_function_context): Compute MAY_SHARE parameter for
2731 fixup_var_refs.
2732 (fixup_var_refs_1, case MEM): Pass MAY_SHARE to copy_most_rtx, not VAR.
2733 (gen_mem_addressof): Call fixup_var_refs with new parm.
2734
0a7ec763
RK
2735 * combine.c (make_extraction): Don't make extension of CONST_INT.
2736
a85cd407
AO
27372002-03-09 Alexandre Oliva <aoliva@redhat.com>
2738
9445b814
AO
2739 * config/mips/mips.c (function_arg_pass_by_reference): Force to 0
2740 in o32 and o64 ABIs.
2741 * config/mips/abi64.h (MUST_PASS_IN_STACK): Define as in expr.h,
2742 but getting fixed-size structs passed in registers regardless of
2743 padding in o32 and o64 ABIs.
2744
a85cd407
AO
2745 * config/mips/mips.c (mips_va_arg): Apply big-endianness address
2746 offset before loading address of argument passed by transparent
2747 reference.
2748
c51fbe40
JDA
27492002-03-08 John David Anglin <dave@hiauly1.hia.nrc.ca>
2750
2751 * t-pa64 (LIB1ASMFUNCS, LIB1ASMSRC): Delete.
2752
918e70dd
AO
27532002-03-09 Alexandre Oliva <aoliva@redhat.com>
2754
2755 * config/mips/mips.c (mips_expand_prologue): Set regno of vararg
2756 marker such that registers after it are saved.
2757
3070dd00
KG
27582002-03-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2759
2760 * sparc.c (arith_4096_operand): Fix error in last change.
2761
e25d11b0
AO
27622002-03-08 Alexandre Oliva <aoliva@redhat.com>
2763
2764 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Remove duplicate
2765 defaults for MEABI.
2766
41daaf0e
AH
27672002-03-08 Aldy Hernandez <aldyh@redhat.com>
2768
5b43fed1
RH
2769 * config/rs6000/rs6000.c (rs6000_va_arg): Fix alignment for
2770 vectors.
41daaf0e 2771
fa139b00
AH
27722002-03-08 Aldy Hernandez <aldyh@redhat.com>
2773
5b43fed1 2774 * config/rs6000/sysv4.h (BIGGEST_ALIGNMENT): Change for altivec.
fa139b00 2775
c51d95ec
JH
2776Fri Mar 8 21:27:49 CET 2002 Jan Hubicka <jh@suse.cz>
2777
2778 * cfgrtl.c (purge_dead_edges): Set BB_DRITY flags if edge has been
2779 removed; fix return value.
2780 * combine.c (combine_instructions): Dirtify blocks where we failed to
2781 update liveness; purge dead edges; use update_life_info_in_dirty_blocks.
2782 * toplev.c (rest_of_compilation): Do not purge_dead_edges after combine.
2783
3b25fbfe
KG
27842002-03-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2785
2786 * gcse.c (insert_insn_end_bb): Fix typo in last change.
2787
189ae0f4
JH
2788Fri Mar 8 21:08:52 CET 2002 Jan Hubicka <jh@suse.cz>
2789
2790 * recog.c (peephole2_optimize): Re-distribute EH edges.
2791
24965e7a
NB
27922002-03-08 Neil Booth <neil@daikokuya.demon.co.uk>
2793
2794 * expr.c (expand_expr): Use unsave lang hook.
2795 * langhooks-def.h (LANG_HOOKS_UNSAVE): New.
2796 (LANG_HOOKS_INITIALIZER): Update.
2797 * langhooks.h (struct lang_hooks): New hook unsave.
2798 * tree.c (lang_unsave, lang_unsave_expr_now): Remove.
2799 (unsave_expr_1): Remove unused lang_unsave_expr_now.
2800 (unsave_expr_now_r): Rename lhd_unsave. Update. Return input.
2801 (unsave_expr_now): Remove.
2802 * tree.h (unsave_expr_now, lang_unsave,
2803 lang_unsave_expr_now): Remove.
2804 (lhd_unsave): New.
2805
1e4e95d6
AJ
28062002-03-08 Andreas Jaeger <aj@suse.de>
2807
2808 * flow.c (propagate_block_delete_insn): Remove unused variable.
2809
054ef905
KH
28102002-03-08 Kazu Hirata <kazu@hxi.com>
2811
2812 * config/h8300/h8300.c (h8300_adjust_insn_length): Tighten
2813 insn length for memory load/store.
2814
5304400d 28152002-03-08 Craig Rodrigues <rodrigc@gcc.gnu.org>
1e4e95d6 2816
5304400d
CR
2817 * doc/install.texi (--with-libiconv-prefix): Document.
2818
81034129
MB
28192002-03-08 Michael Y. Brukman <myb2@cornell.edu>
2820
2821 * doc/sourcebuild.texi: Fix typo.
2822
71db7d03
JJ
28232002-03-08 Jakub Jelinek <jakub@redhat.com>
2824
2825 PR c/3711
2826 * builtins.c (std_expand_builtin_va_arg): Do all computations on
2827 trees.
2828
127c1ba5
RK
2829Fri Mar 8 06:48:45 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2830
2831 * rtl.c (copy_most_rtx): Move from here ...
2832 * emit-rtl.c (copy_most_rtx): ... to here.
2833
8a13c092
AO
28342002-03-08 Alexandre Oliva <aoliva@redhat.com>
2835
5faae4f7
AO
2836 * config/mips/mips.h (LONG_MAX_SPEC): Rewrite, along with
2837 SUBTARGET_CPP_SIZE_SPEC.
2838 * config/mips/abi64.h (LONG_MAX_SPEC): Delete.
2839
8a13c092
AO
2840 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Simplify.
2841
4ec59de2
MH
28422002-03-07 Matt Hiller <hiller@redhat.com>
2843
2844 * gensupport.c (first_dir_md_include): Renamed from include;
2845 change all references.
2846 (last_dir_md_include): Renamed from last_include; change all
2847 references.
2848 (init_md_reader): Unconditionally initialize base_dir whether or
2849 not filename is a relative path.
2850
12f61e77
AO
28512002-03-07 Alexandre Oliva <aoliva@redhat.com>
2852
95356058
AO
2853 * config/fp-bit.c (_unord_f2): Compile it in even if
2854 US_SOFTWARE_GOFAST is enabled.
2855
12f61e77
AO
2856 * config/gofast.h (GOFAST_RENAME_LIBCALLS): Set gt and ge as
2857 NULL_RTX. Set all HFmode operations as NULL_RTX.
2858 * optabs.c (prepare_float_lib_cmp) <GT, GE, LT, LE>: If libfunc is
2859 NULL_RTX, try reversing the comparison and the operands.
2860
6d7a1c4c
UW
28612002-03-06 Ulrich Weigand <uweigand@de.ibm.com>
2862
2863 * genextract.c (walk_rtx): Recurse into MATCH_PAR_DUP.
2864 genoutput.c (scan_operands): Recurse into MATCH_PAR_DUP
2865 and MATCH_OP_DUP.
2866
66d54344
JH
2867Thu Mar 7 16:54:10 CET 2002 Jan Hubicka <jh@suse.cz>
2868
2869 * reload1.c (reload_cse_delete_noop_set): Purge dead edges.
2870
068473ec
JH
2871Thu Mar 7 16:33:54 CET 2002 Jan Hubicka <jh@suse.cz>
2872
2873 * basic-block.h (fixup_abnormal_edges): Declare.
2874 * reload1.c (fixup_abnormal_edges): New function.
2875 * reg-stack.c (convert_regs): Use it.
2876
2877 * gcse.c (insert_insn_end_bb): Handle trapping insns.
2878
2879 * gcse.c (hash_scan_set): Refuse instructions with EH edges.
2880
71925bc0
RS
28812002-03-07 Richard Sandiford <rsandifo@redhat.com>
2882
2883 * defaults.h (MODE_HAS_NANS, MODE_HAS_INFINITIES): New.
2884 (MODE_HAS_SIGNED_ZEROS, MODE_HAS_SIGN_DEPENDENT_ROUNDING): New.
2885 * flags.h (HONOR_NANS, HONOR_INFINITIES, HONOR_SIGNED_ZEROS): New.
2886 (HONOR_SIGN_DEPENDENT_ROUNDING): New.
2887 * builtins.c (expand_builtin_mathfn): Use HONOR_NANS.
2888 * c-common.c (truthvalue_conversion): Reduce x - y != 0 to x != y
2889 unless x and y could be infinite.
2890 (expand_unordered_cmp): New, mostly split from expand_tree_builtin.
2891 Check that the common type of both arguments is a real, even for
2892 targets without unordered comparisons. Allow an integer argument
2893 to be compared against a real.
2894 (expand_tree_builtin): Use expand_unordered_cmp.
2895 * combine.c (combine_simplify_rtx): Use the new HONOR_... macros.
2896 * cse.c (fold_rtx): Likewise. Fix indentation.
2897 * fold-const.c (fold_real_zero_addition_p): New.
2898 (fold): Use it, and the new HONOR_... macros.
2899 * ifcvt.c (noce_try_minmax): Use the new HONOR_... macros.
2900 * jump.c (reversed_comparison_code_parts): After searching for
2901 the true comparison mode, use HONOR_NANS to decide whether it
2902 can be safely reversed.
2903 (reverse_condition_maybe_unordered): Remove IEEE check.
2904 * simplify-rtx.c (simplify_binary_operation): Use the new macros
2905 to decide which simplifications are valid. Allow the following
2906 simplifications for IEEE: (-a + b) to (b - a), (a + -b) to (a - b),
2907 and (a - -b) to (a + b).
2908 (simplify_relational_operation): Use HONOR_NANS.
2909 * doc/tm.texi: Document the MODE_HAS_... macros.
2910
145d3bf2
RE
29112002-03-07 Richard Earnshaw <rearnsha@arm.com>
2912
2913 * combine.c (simplify_comparison): If simplifying a logical shift
2914 right and compare with constant, force the comparison to unsigned.
2915
76a773f3
AH
29162002-03-07 Aldy Hernandez <aldyh@redhat.com>
2917
5b43fed1 2918 * doc/invoke.texi: Add documentation for -mabi=no-altivec.
76a773f3 2919
5b43fed1
RH
2920 * config/rs6000/rs6000.c (rs6000_parse_abi_options): Add
2921 -mabi=no-altivec
2922 (alt_reg_names): Remove % for vrsave.
76a773f3 2923
ab55f58c
RH
29242002-03-06 Richard Henderson <rth@redhat.com>
2925
5ddec02e 2926 PR optimization/5844
ab55f58c
RH
2927 * genemit.c (gen_exp): New argument used. Invoke copy_rtx
2928 if used indicates we've already emitted one copy of an operand.
2929 (gen_insn, gen_expand, output_add_clobbers): Supply a null used.
2930 (gen_split): Supply a non-null used.
2931
e16e3291
UW
29322002-03-06 Ulrich Weigand <uweigand@de.ibm.com>
2933
5b43fed1 2934 * reload1.c (reload): Unshare all rtl after reload is done.
e16e3291 2935
1e4e95d6 2936 * simplify-rtx.c (simplify_plus_minus): Do not abort,
e16e3291
UW
2937 but simply fail if the expression is too complex to simplify.
2938 (simplify_gen_binary): Handle simplify_plus_minus failures.
2939
2ca6672b
JH
2940Wed Mar 6 20:32:09 CET 2002 Jan Hubicka <jh@suse.cz>
2941
2942 * toplev.c (rest_of_compilation): Do jump threading before SSA path;
2943 consistently call delete_trivially_dead_insns after CSE and GCSE;
2944 fix DFI_life dumping; do jump threading after liveness; do crossjumping
2945 after liveness2; update comment in last crossjumping.
2946 * cfgcleanup.c (try_crossjump_to_edge): Dirtify block.
2947
31d0dd4f
JL
2948Wed Mar 6 12:27:10 2002 Jeffrey A Law (law@redhat.com)
2949
d094b0b3
JL
2950 * ssa-ccp.c (ssa_fast_dce): Update the DF def-use chains
2951 after completing fast dead code elimination.
2952
31d0dd4f
JL
2953 * m68k.h (CONST_COSTS): Lower cost of 0.0 when used inside a
2954 COMPARE operator.
1e4e95d6 2955
f2b958b1
PE
29562002-03-06 Phil Edwards <pme@gcc.gnu.org>
2957
2958 * version.c: Fix misplaced leading blanks on first line.
2959
a2877a09
JH
2960Wed Mar 6 19:08:03 CET 2002 Jan Hubicka <jh@suse.cz>
2961
2962 * cfgrtl.c (verify_flow_info): Accept RESX as EH edge source.
2963
fe477d8b
JH
2964Wed Mar 6 18:14:43 CET 2002 Jan Hubicka <jh@suse.cz>
2965
2966 * cfgcleanup.c (mentions_nonequal_regs): New function.
2967 (thread_jump): Use it.
2968 * toplev.c (rest_of_compilation): Run jump threading after
2969 liveness.
2970
2041cde4
JJ
29712002-03-06 Jakub Jelinek <jakub@redhat.com>
2972
2973 * ssa-ccp.c (ssa_ccp_substitute_constants): Backout 2002-03-05
2974 patch.
2975
82d68d46
JH
2976Wed Mar 6 11:28:19 CET 2002 Jan Hubicka <jh@suse.cz>
2977
2978 * predict.c (estimate_bb_frequencies): Do not reload the
2979 frequencies from notes.
2980
3dec4024
JH
2981Wed Mar 6 10:59:39 CET 2002 Jan Hubicka <jh@suse.cz>
2982
2983 * cfgrtl.c (delete_insn_and_edges, delete_insn_chain_and_edges): New.
2984 * rtl.h (delete_insn_and_edges, delete_insn_chain_and_edges): Declare
2985
2986 * basic-block.h (update_life_info, update_life_info_in_dirty_blocks,
2987 delete_noop_moves): Return indeger.
2988 * flow.c (ndead): New variable.
2989 (propagate_block_delete_insn): Use delete_insn_and_edges; remove
2990 BB argument; update callers.
2991 (propagate_block_delete_libcall): Use delete_insn_chain_and_edges.
2992 (life_analysis): Do not call purge_all_dead_edges.
2993 (update_life_info): Return number of deleted insns; print statistics.
2994 (update_life_info_in_dirty_blocks): likewise.
2995 (delete_noop_moves): Use delete_insn_and_edges; print statistics;
2996 return number of insns deleted.
2997
2998 * cse.c: Include timevar.h
2999 (delete_trivially_dead_insns): Kill preserve_basic_blocks argument;
3000 iterate until stabilizes; print statistics; return number of killed
3001 insns.
3002 * Makefile.in: (cse.o): Add timevar.h dependency
3003 * rtl.h (delete_trivially_dead_insns): New.
3004 * timever.def: Add TV_DELETE_TRIVIALLY_DEAD timer.
3005 * toplev.c (rest_of_compilation): Update callers.
3006
3007 * cfgcleanup.c (try_optimize_cfg): Kill blocks.
3008 (try_optimize_cfg): Do not update liveness.
3009 (cleanup-cfg): Loop until try_optimize_cfg and dead code
3010 removal stabilizes; use delete_trivially_dead_insns.
3011
3012 * cfgrtl.c (verify_flow_info): Sanity check outgoing edges.
3013
c7544dd8
ZW
30142002-03-05 Zack Weinberg <zack@codesourcery.com>
3015
3016 * cppmain.c (setup_callbacks): Disable #pragma and #ident
3017 callbacks when processing assembly language.
3018
50b424a9
JDA
30192002-03-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
3020
3021 * pa.h (ASM_FILE_END): Define.
3022 * som.h (ASM_FILE_END): Delete.
3023
3024 * pa.c (function_arg): Don't pass floats in general registers in
3025 indirect calls if TARGET_ELF32.
3026
6185f217
RH
30272002-03-05 Richard Henderson <rth@redhat.com>
3028
3029 * config/i386/i386.md (floatsidf2): Conditionalize on hard-float.
3030
3020a4b2
DS
30312002-03-05 Danny Smith <dannysmith@users.sourceforge.net>
3032
3033 * gthr-win32.h (__GTHREAD_MUTEX_INIT_DEFAULT): Define.
3034
65649daa
JJ
30352002-03-05 Jakub Jelinek <jakub@redhat.com>
3036
3037 * mklibgcc.in: Prepend a tab before .hidden, add $flags to gcc
3038 -r command line. Don't hide any symbols if not building
3039 shared libgcc.
3040
5a1a3e5e
JH
3041Tue Mar 5 18:31:27 CET 2002 Jan Hubicka <jh@suse.cz>
3042
3043 * cfg.c (dump_flow_info): Warn about profile mismatches.
3044 * cfgrtl.c (verify_flow_info): Few aditional sanity checks.
3045 (purge_dead_edges): Remove REG_BR_PROB notes on simplejumps.
3046
170c56da
JJ
30472002-03-05 Jakub Jelinek <jakub@redhat.com>
3048
3049 * expmed.c (emit_store_flag): Don't test BITS_PER_WORD * 2
3050 wide volatile memory by parts.
3051
6d051694
JJ
30522002-03-05 Jakub Jelinek <jakub@redhat.com>
3053
3054 * ssa-ccp.c (ssa_ccp_substitute_constants): Don't crash if def
3055 is NULL.
3056
28bcfd4d
RH
30572002-03-05 Richard Henderson <rth@redhat.com>
3058
5b43fed1 3059 * rs6000.h (TOTAL_ALTIVEC_REGS): Fix off-by-one error.
28bcfd4d 3060
75227a33
GK
30612002-03-04 Geoffrey Keating <geoffk@redhat.com>
3062
3063 * toplev.c (documented_lang_options): Document more
3064 language-specific options.
3065 * doc/invoke.texi (Warning Options): Correct documentation for
3066 -Wno-multichar, -Wno-div-by-zero, and -Wsystem-headers.
3067 * c-decl.c (c_decode_option): Use a table to handle warning options.
3068
4f1aac42
HPN
30692002-03-05 Hans-Peter Nilsson <hp@bitrange.com>
3070
3071 * config/mmix/mmix.h (ENCODE_SECTION_INFO): Pass on new second
3072 parameter to mmix_encode_section_info.
3073 (LINK_SPEC): Don't defsym __.MMIX.start..text if linking
3074 relocatably. Always produce ELF, not mmo if linking relocatably.
3075 * config/mmix/mmix.c (mmix_encode_section_info): If new parameter
3076 first is non-zero, don't add symbol prefix.
3077 * config/mmix/mmix-protos.h (mmix_encode_section_info): Tweak
3078 prototype accordingly.
3079
12345543
KW
30802002-03-04 Krister Walfridsson <cato@df.lth.se>
3081
3082 * config.gcc (*-*-netbsd*): Add t-slibgcc-elf-ver to tmake_file.
3083
8e97db8f
JM
30842002-03-05 Joseph S. Myers <jsm28@cam.ac.uk>
3085
3086 * configure.in: Increase required makeinfo version to 4.1.
3087 * configure: Regenerate.
3088
06487868
GK
30892002-03-04 Geoffrey Keating <geoffk@redhat.com>
3090
3091 * .cvsignore: Remove *.info* and genrtl*; these files are generated
3092 elsewhere now.
3093
cff42170
JM
30942002-03-04 Joseph S. Myers <jsm28@cam.ac.uk>
3095
3096 * doc/include/texinfo.tex: Update to version 2002-03-01.06.
3097 * doc/invoke.texi: Fix @math uses.
3098
974a7f56
JH
3099Mon Mar 4 15:33:54 CET 2002 Jan Hubicka <jh@suse.cz>
3100
3101 * toplev.c (rest_of_compilation): Cleanup CFG after dead jumptables
3102 removal
3103
3b7d0e98
AH
31042002-03-03 Aldy Hernandez <aldyh@redhat.com>
3105
5b43fed1
RH
3106 * config.gcc (powerpc-*-eabialtivec*): Use t-ppcendian.
3107 (powerpc-*-eabisimaltivec*): Same.
3b7d0e98 3108
5b43fed1 3109 * config/rs6000/t-ppcendian: New.
3b7d0e98 3110
65f2f288
HB
31112002-03-04 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
3112
3113 * c4x-protos.h, c4x.h, c4x.c, c4x.md: Add new functions
3114 nonimmediate_src_operand and nonimmediate_lsrc_operand to
3115 disallow ZERO_EXTEND with CONST_INT or CONST_DOUBLE.
3116
8ce0a8a5
RH
31172002-03-03 Richard Henderson <rth@redhat.com>
3118
3119 * toplev.c (rest_of_decl_compilation): Revert last two changes.
3120
ba31d94e
ZW
31212002-03-03 Zack Weinberg <zack@codesourcery.com>
3122
3123 * emit-rtl.c, final.c, fold-const.c, gengenrtl.c, optabs.c,
3124 print-tree.c, real.c, real.h, recog.c, rtl.c, simplify-rtx.c,
3125 tree.c, config/m68k/m68k.c:
3126 Remove all #ifndef REAL_ARITHMETIC blocks, make all #ifdef
3127 REAL_ARITHMETIC blocks unconditional. Delete some further
3128 #ifdef blocks predicated on REAL_ARITHMETIC.
3129 * flags.h, toplev.c: Delete remaining references to
3130 flag_pretend_float.
3131
3132 * doc/invoke.texi: Remove documentation of -fpretend-float.
3133 * doc/tm.texi: Describe the various REAL_* macros as provided by
3134 real.h, not by the target configuration files.
3135
3136 * config/alpha/alpha.h, config/alpha/unicosmk.h, config/arm/arm.h,
3137 config/avr/avr.h, config/c4x/c4x.h, config/convex/convex.h,
3138 config/cris/cris.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
3139 config/h8300/h8300.h, config/i370/i370.h, config/i386/i386.h,
3140 config/i386/osf1elf.h, config/i960/i960.h, config/ia64/ia64.h,
3141 config/m32r/m32r.h, config/m68hc11/m68hc11.h, config/m68k/dpx2.h,
3142 config/m68k/linux-aout.h, config/m68k/linux.h, config/m68k/m68k.h,
3143 config/m68k/sun3.h, config/m68k/vxm68k.h, config/mcore/mcore.h,
3144 config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
3145 config/mn10300/mn10300.h, config/pa/pa.h, config/pj/pj.h,
3146 config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h,
3147 config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h,
3148 config/sparc/sol2.h, config/sparc/sparc.h, config/sparc/vxsim.h,
3149 config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vax.h,
3150 config/xtensa/xtensa.h:
3151 Do not define, undefine, or mention in comments any of
3152 REAL_ARITHMETIC, REAL_VALUE_ATOF, REAL_VALUE_HTOF,
3153 REAL_VALUE_ISNAN, REAL_VALUE_ISINF,
3154 REAL_VALUE_TO_TARGET_SINGLE, REAL_VALUE_TO_TARGET_DOUBLE,
3155 REAL_VALUE_TO_TARGET_LONG_DOUBLE, REAL_VALUE_TO_DECIMAL,
3156 REAL_VALUE_TYPE, REAL_VALUES_EQUAL, REAL_VALUES_LESS,
3157 REAL_VALUE_LDEXP, REAL_VALUE_FIX, REAL_VALUE_UNSIGNED_FIX,
3158 REAL_VALUE_RNDZINT, REAL_VALUE_UNSIGNED_RNDZINT,
3159 REAL_INFINITY, REAL_VALUE_NEGATE, REAL_VALUE_TRUNCATE,
3160 REAL_VALUE_TO_INT, or REAL_VALUE_FROM_INT.
3161
9a571cfd
KG
31622002-03-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3163
e81dd381
KG
3164 * 1750a.h, a29k.h, alpha.h, arc.h, arm.h, avr.h, c4x.h, clipper.h,
3165 convex.h, cris.h, d30v.h, dsp16xx.h, elxsi.h, fr30.h, h8300.h,
3166 i370.h, i386.h, i860.h, i960.h, ia64.h, m32r.h, m68hc11.h, m68k.h,
3167 m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h,
3168 pa.h, pdp11.h, pj.h, romp.h, rs6000.h, s390.h, sh.h, sparc.h,
3169 stormy16.h, v850.h, vax.h, we32k.h, xtensa.h (BITS_PER_WORD):
3170 Delete.
3171 * defaults.h (BITS_PER_WORD): Define.
ba31d94e 3172 * doc/tm.texi (BITS_PER_WORD): Document default value.
e81dd381 3173
9a571cfd
KG
3174 * 1750a.h, avr.h, convex.h, d30v.h, dsp16xx.h, fr30.h, ia64.h,
3175 m68hc11.h, m88k.h, mips.h, pdp11.h, rs6000.h, sparc.c,
3176 stormy16.h, xtensa.h, vmsdbgout.c (CHAR_TYPE_SIZE): Delete.
3177
ca7558fc
KG
31782002-03-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3179
3180 * attribs.c (init_attributes, decl_attributes): Use ARRAY_SIZE in
3181 lieu of explicit sizeof/sizeof.
3182 * i386.c (override_options, ix86_init_mmx_sse_builtins,
3183 ix86_expand_builtin): Likewise.
3184 * mips.c (mips_add_gc_roots): Likewise.
3185 * mmix.c (mmix_output_condition): Likewise.
3186 * rs6000.c (rs6000_override_options, altivec_expand_builtin,
3187 altivec_init_builtins): Likewise.
3188 * sparc.c (mark_ultrasparc_pipeline_state): Likewise.
3189 * cppexp.c (Nsuff, parse_number): Likewise.
3190 * cppinit.c (builtin_array_end): Likewise.
3191 * gcc.c (n_default_compilers, process_command): Likewise.
3192 * genpreds.c (output_predicate_decls): Likewise.
3193 * ggc-page.c (NUM_EXTRA_ORDERS): Likewise.
3194 * lcm.c (N_ENTITIES): Likewise.
3195 * stor-layout.c (set_sizetype): Likewise.
ba31d94e 3196
41c78c88
RH
31972002-03-03 Richard Henderson <rth@redhat.com>
3198
3199 * toplev.c (rest_of_decl_compilation): Do not invoke make_decl_rtl
3200 for types or labels.
3201
9e9b71e6
RH
32022002-03-03 Richard Henderson <rth@redhat.com>
3203
3204 * c-decl.c (start_decl): Initialized variables are not common.
3205
c26a6db8
PB
32062002-03-02 Per Bothner <per@bothner.com>
3207
3208 * gcc.c (option_map): Suport new --bootclasspath option.
3209 --CLASSPATH is now just an alias for --classpath.
3210
9e8aab55
RH
32112002-03-02 Richard Henderson <rth@redhat.com>
3212
3213 * config/i386/i386.h (ix86_expand_prologue): Do not emit pic register
3214 load if "internal" visibility.
3215 * doc/extend.texi: Document visibility meanings.
3216
b3bbd220
RH
32172002-03-02 Richard Henderson <rth@redhat.com>
3218
3219 * config/i386/i386.h (ENCODE_SECTION_INFO): MODULE_LOCAL_P applies
3220 to functions as well.
3221
b14707c3
RH
32222002-03-02 Richard Henderson <rth@redhat.com>
3223
3224 * attribs.c (handle_alias_attribute): Don't call assemble_alias.
3225 (handle_visibility_attribute): Don't call assemble_visibility.
3226 * toplev.c (rest_of_decl_compilation): Invoke make_decl_rtl even
3227 without asmspec. Invoke assemble_alias when needed.
3228 * varasm.c (maybe_assemble_visibility): New.
3229 (assemble_start_function, assemble_variable, assemble_alias): Use it.
3230
b2003250
RH
32312002-03-02 Richard Henderson <rth@redhat.com>
3232
3233 * varasm.c (make_decl_rtl): Remove call to REDO_SECTION_INFO_P;
3234 invoke ENCODE_SECTION_INFO with first call flag.
3235
3236 * config/darwin-protos.h, config/darwin.c, config/darwin.h,
3237 config/a29k/a29k.h, config/alpha/alpha-protos.h, config/alpha/alpha.c,
ba31d94e 3238 config/alpha/alpha.h, config/arc/arc.h, config/arm/arm-protos.h,
b2003250
RH
3239 config/arm/arm.h, config/arm/pe.c, config/arm/pe.h,
3240 config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
3241 config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
3242 config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
3243 config/d30v/d30v.h, config/h8300/h8300.h, config/i370/i370.h,
3244 config/i386/cygwin.h, config/i386/i386-interix.h, config/i386/i386.h,
3245 config/i386/osfrose.h, config/i386/win32.h, config/i386/winnt.c,
3246 config/ia64/ia64-protos.h, config/ia64/ia64.c, config/ia64/ia64.h,
3247 config/m32r/m32r-protos.h, config/m32r/m32r.c, config/m32r/m32r.h,
ba31d94e
ZW
3248 config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
3249 config/m68hc11/m68hc11.h, config/m88k/m88k.h,
b2003250
RH
3250 config/mcore/mcore-protos.h, config/mcore/mcore.c,
3251 config/mcore/mcore.h, config/mips/mips.h, config/ns32k/ns32k.h,
3252 config/pa/pa.h, config/romp/romp.h, config/rs6000/linux64.h,
ba31d94e 3253 config/rs6000/rs6000-protos.h, config/rs6000/rs6000.c,
b2003250
RH
3254 config/rs6000/sysv4.h, config/rs6000/xcoff.h, config/s390/s390.h,
3255 config/sh/sh.h, config/sparc/sparc.h,
3256 config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
3257 config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vms.h,
3258 config/xtensa/xtensa.h, doc/tm.texi: ENCODE_SECTION_INFO now takes
3259 FIRST argument. As needed, examine it and do nothing.
3260
ba31d94e 3261 * config/darwin.h, config/alpha/alpha.h, config/arm/pe.h,
b2003250
RH
3262 config/i386/cygwin.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h,
3263 config/mcore/mcore.h: Remove REDO_SECTION_INFO_P.
3264
3265 * config/arm/t-pe (pe.o): Add dependencies.
3266
5c60f03d
KG
32672002-03-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3268
3269 * a29k.h, alpha.h, arc.h, arm.h, avr.h, clipper.h, convex.h,
3270 cris.h, d30v.h, elxsi.h, fr30.h, h8300.h, i370.h, i386.h, i860.h,
3271 i960.h, ia64.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h,
3272 mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h, pa.h, pdp11.h,
3273 pj.h, romp.h, rs6000.h, s390.h, sh.h, sparc.h, stormy16.h, v850.h,
3274 vax.h, we32k.h, xtensa.h: (BITS_PER_UNIT): Delete.
3275 * defaults.h (BITS_PER_UNIT): Define.
3276 * doc/tm.texi (BITS_PER_UNIT): Document default value.
3277
86855e8c
KH
32782002-03-02 Kazu Hirata <kazu@hxi.com>
3279
3280 * config/h8300/h8300-protos.h: Add a prototype for
3281 compute_a_shift_length.
3282 * config/h8300/h8300.c (h8300_asm_insn_count): New.
3283 (compute_a_shift_length): Likewise.
3284 (h8300_adjust_insn_length): Do not adjust insn length of shift
3285 insns.
3286 * config/h8300/h8300.md (anonymous shift patterns): Use
3287 compute_a_shift_length.
3288
f6041ed8
RK
3289Sat Mar 2 06:30:14 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3290
35aa3c1c
RK
3291 * config/sparc/sparc.c (sparc_initialize_trampoline): Use
3292 trunc_int_for_mode.
3293
f6041ed8
RK
3294 * emit-rtl.c (offset_address): Call update_temp_slot_address.
3295
27b41650
KG
32962002-03-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3297
3298 * Makefile.in (CRTSTUFF_CFLAGS): Add -fno-zero-initialized-in-bss.
3299 * doc/invoke.texi (-fno-zero-initialized-in-bss): Document.
3300 * flags.h (flag_zero_initialized_in_bss): Declare.
3301 * toplev.c (flag_zero_initialized_in_bss): New flag.
3302 (lang_independent_options): Add flag_zero_initialized_in_bss.
3303 * tree.c (initializer_zerop): New function.
3304 * tree.h (initializer_zerop): Declare.
3305 * varasm.c (assemble_variable): If we can emit bss, put zero
3306 initializers in the bss section.
3307
ca734b39
AM
33082002-03-02 Alan Modra <amodra@bigpond.net.au>
3309
3310 * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): AIX assembler doesn't
3311 like more than one symbol per .weak directive.
3312
49b72306
RH
33132002-03-01 Richard Henderson <rth@redhat.com>
3314
3315 * config/ia64/ia64.c (ia64_initial_elimination_offset): Do not
3316 adjust argument_pointer by pretend_args_size.
3317 (ia64_va_start): Adjust va_start address by -pretend_args_size.
3318
fbf0fe41
KH
33192002-03-01 Kazu Hirata <kazu@hxi.com>
3320
3321 * config/h8300/h8300.c (h8300_adjust_insn_length): Clean up.
3322
0010687d
JH
3323Fri Mar 1 20:59:14 CET 2002 Jan Hubicka <jh@suse.cz>
3324
3325 * toplev.c (rest_of_compilation): Delete dead jumptables before
3326 loop.
3327 * flow.c (delete_dead_jumptables): Make global.
3328 * rtl.h (delete_dead_jumptables): Declare.
3329
9429c84c
DE
33302002-03-01 David Edelsohn <edelsohn@gnu.org>
3331
3332 * config/rs6000/rs6000.h (HANDLE_PRAGMA_PACK): Delete.
3333 * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Define.
0c2fdcdf 3334 * config/rs6000/xcoff.h (COLLECT_EXPORT_LIST): Delete.
9429c84c 3335
f0b6f9a6
KH
33362002-03-01 Kazu Hirata <kazu@hxi.com>
3337
3338 * config/h8300/h8300-protos.h: Fix formatting.
3339 * config/h8300/h8300.c: Likewise.
3340 * config/h8300/h8300.h: Likewise.
3341
bc8db8a1
KH
33422002-03-01 Kazu Hirata <kazu@hxi.com>
3343
3344 * config/h8300/h8300.c (print_operand): Support 16-bit
3345 constant addresses.
3346 * config/h8300/h8300.h (TINY_CONSTANT_ADDRESS_P): New.
3347
32b069d3
RH
33482002-02-28 Richard Henderson <rth@redhat.com>
3349
3350 * expmed.c (store_bit_field): Prevent generation of CONCATs;
3351 pun complex values as integers; use gen_lowpart instead of
3352 gen_rtx_SUBREG.
3353 (extract_bit_field): Likewise.
3354
79c4e63f
AM
33552002-03-01 Alan Modra <amodra@bigpond.net.au>
3356 David Edelsohn <edelsohn@gnu.org>
3357
3358 * doc/tm.texi (ASM_WEAKEN_DECL): Document.
3359 (ASM_WEAKEN_LABEL): Mention ASM_WEAKEN_DECL.
3360 (SUPPORTS_WEAK): Likewise.
3361 * output.h (add_weak): Add tree param.
3362 * varasm.c (add_weak): Likewise. Save decl.
3363 (struct weak_syms): Add decl field.
3364 (mark_weak_decls): New function.
3365 (init_varasm_once): ggc_add_root mark_weak_decls.
3366 (assemble_start_function): Use ASM_WEAKEN_DECL.
3367 (assemble_variable): Likewise.
3368 (assemble_alias): Likewise.
3369 (declare_weak): Pass decl to add_weak.
3370 (weak_finish): Use ASM_WEAKEN_DECL. Try to find decl.
3371 (remove_from_pending_weak_list): Declare and define for
3372 ASM_WEAKEN_DECL.
3373 * c-pragma.c (handle_pragma_weak): Adjust add_weak call.
3374 * c-pragma.h (HANDLE_PRAGMA_WEAK): Define if ASM_WEAKEN_DECL too.
3375 * defaults.h (SUPPORTS_WEAK): Likewise.
3376 * config/rs6000/linux64.h (ASM_DECLARE_FUNCTION_NAME): Don't emit
3377 .weak for code sym. Do emit .size for descriptor sym.
3378 (ASM_DECLARE_FUNCTION_SIZE): Define.
3379 * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): Define.
3380 (ASM_OUTPUT_DEF_FROM_DECLS): Don't emit .weak here. Don't output
3381 .lglobl unless TARGET_XCOFF. Formatting fixes.
3382 * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't emit
3383 .weak for code sym.
3384 (HANDLE_PRAGMA_WEAK): Remove.
3385 (ASM_WEAKEN_LABEL): Remove.
3386 * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Define.
3387
6f30f1f1
JM
33882002-03-01 Jason Merrill <jason@redhat.com>
3389
3390 * tree.h (TARGET_EXPR_SLOT, TARGET_EXPR_INITIAL): New macros.
3391 (TARGET_EXPR_CLEANUP): New macro.
3392
7879b81e
SE
33932002-02-28 Steve Ellcey <sje@cup.hp.com>
3394
3395 * doc/rtl.texi (SUBREG_PROMOTED_UNSIGNED_P): Change definition
3396 to take ptr_extend into account as third type of extension.
3397 (SUBREG_PROMOTED_UNSIGNED_SET): Definition of new macro to set bit
3398 fields used by SUBREG_PROMOTED_UNSIGNED_P.
3399 * rtl.h (SUBREG_PROMOTED_UNSIGNED_SET): New macro.
3400 (SUBREG_PROMOTED_UNSIGNED_P): Change to return -1 as well as 0 or 1.
3401 * calls.c (precompute_arguments): Use new macro.
3402 (expand_call): Ditto.
3403 * combine.c (nonzero_bits): Ditto.
3404 (record_promoted_value): Ditto.
3405 * expr.c (store_expr): Ditto.
3406 (expand_expr): Ditto.
3407 * function.c (assign_parms): Ditto.
3408
42d579d8
AO
34092002-02-28 Alexandre Oliva <aoliva@redhat.com>
3410
3411 * gcc.c (init_gcc_specs): Get -static and -static-libgcc to
3412 override -shared and -shared-libgcc.
3413
e0054185
DB
34142002-02-28 David O'Brien <obrien@FreeBSD.org>
3415
3416 * config.gcc (sparc64-*-freebsd): Explicitly accept a cpu specification
3417 of "ultrasparc".
3418 * config/sparc/freebsd.h: Do not use MASK_FASTER_STRUCTS. It appears
3419 to be broken.
3420
abda4f1c
RH
34212002-02-28 Richard Henderson <rth@redhat.com>
3422
3423 * config/ia64/ia64.c (ia64_adjust_cost): All non-MM consumers have
3424 4 cycle latency from MM producers.
3425 (ia64_internal_sched_reorder): Likewise with pipeline flush.
3426
c0f08649
JJ
34272002-02-28 Jakub Jelinek <jakub@redhat.com>
3428
3429 * mklibgcc.in: Don't use GNU make extension.
3430
f79f2651
NB
34312002-02-28 Neil Booth <neil@daikokuya.demon.co.uk>
3432
3433 * c-parse.in (STATIC): New terminal.
3434 (scspec): New non-terminal. Update productions accordingly.
3435 (program): Remove bogus ifc / end ifc.
3436 (array_declarator): Simplify production using STATIC.
3437
001e3fee
JM
34382002-02-28 Jim Meyering <meyering@lucent.com>
3439
3440 * cpplex.c (cpp_parse_escape): Restore mistakenly-removed code:
3441 \a still means TARGET_BELL.
3442
89076bb3
RH
34432002-02-28 Richard Henderson <rth@redhat.com>
3444
3445 * haifa-sched.c (sched_emit_insn): New.
3446 (schedule_block): Use last_scheduled_insn to track last insn.
3447 * sched-int.h (sched_emit_insn): Prototype.
3448 * config/ia64/ia64.c (last_issued): Remove.
3449 (ia64_variable_issue): Don't set it.
3450 (nop_cycles_until): Use sched_emit_insn.
3451
e3aaacf4
AM
34522002-02-28 Andrew MacLeod <amacleod@redhat.com>
3453
3454 * config/sparc/sparc.c (sparc64_initialize_trampoline): Generate sign
3455 extended constants.
3456
7f473594
KH
34572002-02-28 Kazu Hirata <kazu@hxi.com>
3458
3459 * config/h8300/h8300.c: Fix formatting.
3460 * config/h8300/h8300.h: Likewise.
3461
b96c434c
MM
34622002-02-28 Marek Michalkiewicz <marekm@amelek.gda.pl>
3463
3464 * config/avr/avr.c (avr_hard_regno_mode_ok): Do not allow r29
3465 which may overwrite the high byte of the frame pointer.
3466
9b420a6a
BT
34672002-02-28 Bo Thorsen <bo@suse.de>
3468
3469 * config/i386/linux64.h (LINK_SPEC): Fix 32/64 bit compilation.
3470 (STARTFILE_SPEC): Add 64 bit files.
3471 (ENDFILE_SPEC): Likewise.
3472
6f30f1f1 34732002-02-28 Jason Merrill <jason@redhat.com>
46cfb101
JM
3474
3475 * c-decl.c (finish_function): Only warn about missing return
3476 statement with -Wreturn-type.
3477
70da1d03
JH
3478Don Feb 28 11:24:30 CET 2002 Jan Hubicka <jh@suse.cz>
3479
3480 * cfgrtl.c (purge_dead_edges): Fix handling of EH edges.
3481
3482 * i386.h (CONDITIONAL_REGISTER_USAGE): Do not write to
3483 PIC_OFFSET_TABLE_REGNUM when it is INVALID_REGNUM
3484
38c1593d
JH
3485Don Feb 28 11:07:36 CET 2002 Jan Hubicka <jh@suse.cz>
3486
3487 * basic-block.h (BB_REACHABLE): Renumber.
3488 (BB_DIRTY, BB_NEW): New flags.
3489 (clear_bb_flags): Declare.
3490 (update_life_info_in_dirty_blocks): Declare.
3491 * cfg.c (clear_bb_flags): New function.
3492 * cfgrtl.c (create_basic_block_structure): Set flags to BB_NEW.
3493 * emit-rtl.c (add_insn_after, add_insn_before, remove_insn,
3494 reorder_insns, emit_insn_after): Mark block as dirty.
3495 * flow.c (update_life_info): Fix clearing of PROP_LOG_LINKS.
3496 (update_life_info_in_dirty_blocks): New function.
3497 * recog.c (apply_change_group): Dirtify block.
3498
3499 * cse.c (cse_insn): Reorder emitting of jump insn to keep
3500 cfg consistent.
3501 * gcse.c (delete_null_pointer_checks): Likewise.
3502
3503 * toplev.c (dump_file_index): Move cse2 after bp,
3504 add DFI_null
3505 (dump_file_info): Similary.
3506 (rest_of_compilation): Avoid most of CFG rebuilds;
3507 do first if converision after null pointer checks, do cse2
3508 after branch prediction; avoid full liveness rebuild after
3509 initializing subregs.
3510 * invoke.texi (-d options): Document -du, renumber.
3511
3512 * cfgcleanup.c (bb_flags): Remove BB_UPDATE_LIFE.
3513 (notice_new_block): Do not set BB_UPDATE_LIFE.
3514 (try_forward_edges, merge_blocks_move_predecessor_nojumps,
3515 merge_blocks_move_successor_nojumps, merge_blocks,
3516 try_crossjump_to_edge): Likewise.
3517 (try_optimize_cfg): Likewise; use update_life_info_in_dirty_blocks.
3518 * cfgrtl.c (merge_blocks_nomove): Copy b's flags to a.
3519 * ifcvt.c (SET_UPDATE_LIFE, UPDATE_LIFE): Kill.
3520 (merge_of_block): Do not use life_data_ok.
3521 (find_if_case_1): Do not use SET_UPDATE_LIFE.
3522 (if_convert): Use BB_DIRTY mechanizm to update life.
3523 * lcm.c (optimize_mode_switching): Update
3524 update_life_info_in_dirty_blocks
3525
63e1b1c4
NB
35262002-02-28 Neil Booth <neil@daikokuya.demon.co.uk>
3527
3528 * Makefile.in (integrate.o): Update.
3529 * c-decl.c (copy_lang_decl): Rename.
3530 * c-lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine.
3531 * integrate.c: Include langhooks.h.
3532 (copy_decl_for_inlining): Update to use langhook.
3533 * langhooks-def.h (lhd_do_nothing_t,
3534 LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): New.
3535 (LANG_HOOKS_INITIALIZER): Update.
3536 * langhooks.c (lhd_do_nothing_t): New.
3537 * langhooks.h (struct lang_hooks): Add dup_lang_specific_decl.
3538 * tree.h (copy_lang_decl): Remove.
3539objc:
3540 * objc-lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine.
3541
f472fa29
AM
35422002-02-27 Andrew MacLeod <amacleod@redhat.com>
3543
ba31d94e 3544 * dwarf2out.c (stack_adjust_offset): Add support for POST_INC,
f472fa29
AM
3545 POST_DEC, and POST_MODIFY.
3546
273cf2e4
ZW
35472002-02-27 Zack Weinberg <zack@codesourcery.com>
3548
3549 * c-typeck.c (digest_init): Remove unused parameter; all
3550 callers changed.
3551
4e07d762
GK
35522002-02-27 Geoffrey Keating <geoffk@redhat.com>
3553
3554 * expmed.c (expand_shift): Correctly test for low part of a
3555 subreg.
3556
6bc627b3
UW
35572002-02-27 Ulrich Weigand <uweigand@de.ibm.com>
3558
3559 * config/s390/s390.c (s390_chunkify_pool): Do not confuse
3560 insn UIDs with insn addresses.
3561
f458d1d5
ZW
35622002-02-27 Zack Weinberg <zack@codesourcery.com>
3563
3564 * c-common.c, c-common.h, c-decl.c, c-lex.c, c-parse.in,
3565 c-tree.h, c-typeck.c, cppexp.c, cpplex.c, cpplib.c, cpplib.h,
3566 cppmacro.c, objc/lang-specs.h, objc/objc-act.c,
3567 builtin-types.def, builtins.def, dwarf2out.c, dwarfout.c,
3568 gcc.c, toplev.c: Delete code implementing -traditional mode.
3569
3570 * doc/bugreport.texi, doc/cpp.texi, doc/extend.texi,
3571 doc/invoke.texi, doc/standards.texi, doc/trouble.texi:
3572 Document removal of -traditional mode for compilation, and
3573 remove documentation only relevant to that mode.
3574
3575 * config/nextstep.h, config/ptx4.h, config/svr4.h,
3576 config/convex/convex.h, config/d30v/d30v.h,
3577 config/i386/dgux.h, config/i386/osf1elf.h,
3578 config/i386/osfelf.h, config/i386/osfrose.h,
3579 config/i386/sco5.h, config/i386/sol2.h, config/m68k/a-ux.h,
3580 config/m68k/hp310.h, config/m88k/dgux.h,
3581 config/m88k/dguxbcs.h, config/m88k/luna.h, config/m88k/m88k.c,
3582 config/m88k/m88k.h, config/m88k/openbsd.h,
3583 config/mips/abi64.h, config/mips/osfrose.h,
3584 config/mips/svr4-5.h, config/mips/svr4-t.h,
3585 config/sparc/sol2-sld-64.h, config/sparc/sol2.h,
3586 config/stormy16/stormy16.h: Remove all references to
3587 -traditional from target specs. Delete all mention of the
3588 no-longer-necessary TRADITIONAL_RETURN_FLOAT macro. Also
3589 delete a couple of commented-out definitions of
3590 DOLLARS_IN_IDENTIFIERS, with (incorrect) commentary referring
3591 to -traditional.
3592
3593 * system.h: Poison TRADITIONAL_RETURN_FLOAT.
3594 * doc/tm.texi: Remove mention of TRADITIONAL_RETURN_FLOAT macro.
3595
e0b3a8ff
ZW
35962002-02-27 Zack Weinberg <zack@codesourcery.com>
3597
3598 * mklibgcc.in: Don't use \n in a line subject to
3599 interpretation by echo.
3600
5c6a85b7
GS
36012002-02-27 Graham Stott <grahams@redhat.com>
3602
72b05af1
GS
3603 * config/rs6000/rs6000.h (ASM_OUTPUT_DEF_FROM_DELC):
3604 Constify NAME.
3605
7d104885
GS
3606 * loop.c (prescan_loop): Handle PARALLEL.
3607
8ed805d2
GS
3608 * unroll.c (loop_iterations): Return 0 if the add_val for
3609 a BIV is REG.
3610
fd478a0a
GS
3611 * final.c (output_operand_lossage): Constify PFX_STR.
3612
5c6a85b7
GS
3613 * df.c (df_insn_refs_record): Use XEXP (x, 0) for USE.
3614
cd98ad03
JH
3615Wed Feb 27 10:45:19 CET 2002 Jan Hubicka <jh@suse.cz>
3616
3617 * linux64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Remove.
3618 * x86-64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Allways define.
3619
639ae55b
JH
3620Wed Feb 27 10:39:20 CET 2002 Jan Hubicka <jh@suse.cz>
3621
3622 * linux64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
3623
e808ec9c
NB
36242002-02-27 Neil Booth <neil@daikokuya.demon.co.uk>
3625
3626 * cpplex.c (_cpp_lex_token): Handle directives in macro
3627 arguments.
3628 * cpplib.c (_cpp_handle_directive): Save and restore state
3629 if parsing macro args when entering a directive.
3630 * cppmacro.c (collect_args): No need to handle directives
3631 in macro arguments.
3632 (enter_macro_context, replace_args): Use the original macro
3633 definition in case it was redefined whilst collecting arguments.
3634doc:
3635 * cpp.texi: Update.
3636
f585a356
DE
36372002-02-26 David Edelsohn <edelsohn@gnu.org>
3638
3639 * config/rs6000/aix43.h (THREAD_MODEL_SPEC): Delete.
3640 * config/rs6000/aix51.h (THREAD_MODEL_SPEC): Delete.
3641 * config/rs6000/rs6000.c (rs6000_return_addr): Use efficient
3642 method on AIX.
3643 * config/rs6000/rs6000.md (movsi_low): Use gpc_reg_operand.
3644 (movsi_low_st, movdf_low, movdf_low_st, movsf_low, movsf_low_st): Same.
3645 (load_toc_v4_PIC_2): Same.
3646
36472002-02-26 Alan Modra <amodra@bigpond.net.au>
3648
3649 * config/rs6000/rs6000.md (load_toc_aix_di): Handle TARGET_RELOCATABLE.
3650
d699058e
RH
36512002-02-26 Richard Henderson <rth@redhat.com>
3652
3653 * config/alpha/alpha.md (ashldi_se): Re-enable.
3654
eadccfbb
RH
36552002-02-26 Richard Henderson <rth@redhat.com>
3656
3657 * config/alpha/alpha.c (alpha_encode_section_info): Examine
3658 MODULE_LOCAL_P; improve commentary.
3659
7080ada1
ZW
36602002-02-26 Zack Weinberg <zack@codesourcery.com>
3661
3662 * doc/cpp.texi: Clarify documentation of relationship between
3663 #line and #include.
3664
b42cff6b
KH
36652002-02-26 Kazu Hirata <kazu@hxi.com>
3666
3667 * config/h8300/h8300-protos.h: Update the prototype for
3668 compute_logical_op_length. Add the prototype for
3669 compute_logical_op_cc.
3670 * config/h8300/h8300.c (compute_logical_op_length): Figure out
3671 code from operands.
3672 (compute_logical_op_cc): New.
3673 * config/h8300/h8300.md: Combine all the logical op patterns
3674 in HImode and SImode. Use compute_logical_op_cc.
3675
831c4e87
KC
36762002-02-26 Kelley Cook <kelleycook@comcast.net>
3677
3678 * config/i386/i386.c (print_operand): Don't append ATT-style
3679 length suffixs to x87 opcodes when in Intel mode.
3680
ff88fe10
RS
36812002-02-26 Ryan T. Sammartino <ryants@shaw.ca>
3682
3683 * emit-rtl.c (gen_const_vector_0): Remove TYPE argument.
3684 (init_emit_once): Update calls.
3685 * fixinc/gnu-regex.c (_GNU_SOURCE): Remove.
3686 (init_syntax_once): Prototype.
3687
d4108589
JDA
36882002-02-26 John David Anglin <dave@hiauly1.hia.nrc.ca>
3689
3690 * pa-linux.h (LIB_SPEC): Update definition.
3691 * pa32-linux.h (LINK_COMMAND_SPEC): Delete.
3692
e013f3c7
RH
36932002-02-26 Richard Henderson <rth@redhat.com>
3694
3695 * config/ia64/ia64.c (nop_cycles_until): Do init_insn_group_barriers
3696 if we emitted a stop bit.
3697
9e944a16
JJ
36982002-02-26 Jakub Jelinek <jakub@redhat.com>
3699
3700 * configure.in (libgcc_visibility): Substitute.
3701 * configure: Rebuilt.
3702 * mklibgcc.in: If libgcc_visibility = yes, make libgcc.a global
3703 defined symbols .hidden.
3704
47bd70b5
JJ
37052002-02-26 Jakub Jelinek <jakub@redhat.com>
3706
3707 * attribs.c (c_common_attribute_table): Add visibility.
3708 (handle_visibility_attribute): New function.
3709 * varasm.c (assemble_visibility): New function.
3710 * output.h (assemble_visibility): Add prototype.
3711 * tree.h (MODULE_LOCAL_P): Define.
3712 * crtstuff.c (__dso_handle): Use visibility attribute.
3713 * config/i386/i386.h (ENCODE_SECTION_INFO): Set SYMBOL_REF_FLAG
3714 for MODULE_LOCAL_P symbols too.
3715 * config/ia64/ia64.c (ia64_encode_section_info): Handle
3716 MODULE_LOCAL_P symbols the same way as local symbols.
3717 Add SDATA_NAME_FLAG_CHAR even if decl was explicitely forced
3718 into .sdata/.sbss by the user.
3719 * doc/extend.texi (Function Attributes): Document visibility
3720 attribute.
3721
6d73371a
JJ
37222002-02-26 Jakub Jelinek <jakub@redhat.com>
3723
3724 PR debug/5770
3725 * dwarf2out.c (rtl_for_decl_location): Return CONST_STRING for
3726 STRING_CST initializer spanning the whole variable without
3727 embedded zeros.
3728 If expand_expr returned MEM, don't use it.
3729
06e224f7
AO
37302002-02-26 Alexandre Oliva <aoliva@redhat.com>
3731
3732 * dwarf2out.c (gen_inlined_subroutine_die): If block is abstract,
3733 generate a die for the lexical block.
3734
40367e2d
KH
37352002-02-26 Kazu Hirata <kazu@hxi.com>
3736
3737 * config/h8300/h8300-protos.h: Add a prototype for
3738 compute_logical_op_length.
3739 * config/h8300/h8300.c (compute_logical_op_length): New.
3740 * config/h8300/h8300.md (anonymous logical patterns): Use
3741 compute_logical_op_length for length.
3742
0e98f924
AH
37432002-02-26 Aldy Hernandez <aldyh@redhat.com>
3744
831c4e87
KC
3745 * dwarf2out.c (modified_type_die): Do not call type_main_variant
3746 for vectors.
3747 (gen_type_die): Same.
0e98f924 3748
831c4e87 3749 * attribs.c (handle_vector_size_attribute): Set debug information.
0e98f924 3750
a50cfd52
DE
37512002-02-26 Daniel Egger <degger@fhm.edu>
3752
831c4e87
KC
3753 * config/rs6000/rs6000.md: Swap define_insn attributes to
3754 fix incorrect generation of merge high instructions instead
3755 of merge low.
a50cfd52 3756
b7997284
AH
37572002-02-26 Aldy Hernandez <aldyh@redhat.com>
3758
831c4e87
KC
3759 * c-typeck.c (really_start_incremental_init): Use
3760 bitsize_zero_node for vectors.
b7997284 3761
376aec5d
AH
37622002-02-26 Aldy Hernandez <aldyh@redhat.com>
3763
831c4e87
KC
3764 * config/rs6000/rs6000.md (get_vrsave_internal): Fix typo.
3765 ("*set_vrsave_internal"): Same.
376aec5d 3766
3b40e71b
RH
37672002-02-25 Richard Henderson <rth@redhat.com>
3768
3769 * expr.c (expand_expr) [MULT_EXPR]: Do not apply distributive law
3770 in EXPAND_SUM case. Use host_integerp/tree_low_cst.
3771
232b8f52
JJ
37722002-02-25 Jakub Jelinek <jakub@redhat.com>
3773
3774 PR target/5755
3775 * config/i386/i386.c (ix86_return_pops_args): Only pop
3776 fake structure return argument if it was passed on the stack.
3777
67282790
JM
37782002-02-25 Jason Merrill <jason@redhat.com>
3779
3780 * attribs.c (decl_attributes): Also re-layout PARM_DECL and
3781 RESULT_DECL.
3782
5c181756
AO
37832002-02-25 Alexandre Oliva <aoliva@redhat.com>
3784
3785 * gcc.c (init_gcc_specs): Get -shared-libgcc along with -shared to
3786 link with shared_name only.
3787 * doc/invoke.texi (Link Options): Document new behavior.
3788
6786d201
AH
37892002-02-25 Aldy Hernandez <aldyh@redhat.com>
3790
831c4e87 3791 * c-typeck.c (push_init_level): Handle vectors.
6786d201 3792
7d6040e8
AO
37932002-02-25 Alexandre Oliva <aoliva@redhat.com>
3794
3795 * config/sparc/sparc.c (const64_high_operand): Zero-extend
3796 operands of SPARC_SETHI_P.
3797 (input_operand): Likewise.
3798 (sparc_emit_set_const32): Likewise.
3799 * config/sparc/sparc.h (SPARC_SETHI_P): Disregard TARGET_ARCH64.
3800 (SPARC_SETHI32_P): Zero-extend operand from 32 bits.
3801 (CONST_OK_FOR_LETTER_P): Use SETHI32 for `K'. Add `N' as SETHI.
3802 * config/sparc/sparc.md (movdi_insn_sp64_novis): Use `N'.
3803 (movdi_insn_sp64_vis): Likewise.
3804 (movdi split, movdf split): Use SETHI32.
3805 * doc/md.texi: Document SPARC constraints L, M and N.
3806
b188f760
AH
38072002-02-25 Aldy Hernandez <aldyh@redhat.com>
3808
831c4e87
KC
3809 * config/rs6000/rs6000.md ("get_vrsave_internal"): New.
3810 ("*set_vrsave_internal"): use mfspr for Darwin.
b188f760 3811
831c4e87
KC
3812 * config/rs6000/rs6000.c (rs6000_emit_prologue): Call
3813 gen_get_vrsave_internal.
b188f760 3814
8041889f
RK
3815Sun Feb 24 16:38:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3816
3817 * optabs.c (widen_operand): Properly handle CONST_INT for NO_EXTEND.
3818
a47ed310
NB
38192002-02-24 Neil Booth <neil@daikokuya.demon.co.uk>
3820
3821 * cpplex.c (cpp_interpret_charconst): Get signedness or
3822 otherwise of wide character constants correct.
3823 * cppexp.c (lex): Get signedness of wide charconsts correct.
3824
cb8f73be
RK
3825Sun Feb 24 07:41:31 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3826
3827 * optabs.c (widen_operand): Only call convert_modes for
3828 promoted SUBREG if signedness matches.
3829 * config/alpha/alpha.md (*addsi_se2, *subsi_se2): New patterns.
3830
2450e0b8
NB
38312002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
3832
3833 * cpplib.c (glue_header_name): Use local buffer to build up
3834 header name.
3835
70b6aaed
NB
38362002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
3837
3838 * doc/cpp.texi, doc/invoke.texi: Update documentation for -MM.
3839
6be580c7
KH
38402002-02-23 Kazu Hirata <kazu@hxi.com>
3841
3842 * config/h8300/h8300.c (output_simode_bld): Handle H8/300 and
3843 H8/300[HS] separately.
3844 * config/h8300/h8300.md: Remove the early clobber constraint
3845 from bit field patterns.
3846
35dad9f1
KH
38472002-02-23 Kazu Hirata <kazu@hxi.com>
3848
3849 * config/h8300/h8300.md (mulqihi3): Tighten predicates to
3850 register_operand.
3851 (mulhisi3): Likewise.
3852 (umulqisi3): Likewise.
3853 (umulhisi3): Likewise.
3854
ab8e2228
NB
38552002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
3856
3857 * cppinit.c (output_deps): Correct test for stdout output.
3858 (init_dependency_output): Cure warning.
3859
ac6f8a15
RK
3860Sat Feb 23 08:42:47 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3861
3862 * expr.c (store_expr): When converting expression to promoted
3863 equivalent type, allow using SUBREG_REG of TARGET as the target
3864 of the expansion of EXP.
3865 * loop.c (basic_induction_var, case SUBREG): Always look inside.
3866 * config/alpha/alpha.c (rtx_equiv_function_matters): Delete decl.
3867 (alpha_emit_set_const): Handle SImode when can't make new pseudos.
3868 (alpha_emit_set_const_1, alpha_sa_mask): Use no_new_pseudos.
3869 * config/alpha/alpha.md (addsi3, subsi3): Don't use if optimizing.
3870
f282ffb3
JM
38712002-02-23 Joseph S. Myers <jsm28@cam.ac.uk>
3872
3873 * doc/contribute.texi, doc/extend.texi, doc/install.texi,
3874 doc/invoke.texi, doc/md.texi, doc/passes.texi, doc/rtl.texi,
3875 doc/standards.texi, doc/tm.texi: Remove trailing whitespace.
3876
44c5edc0
JJ
38772002-02-23 Jakub Jelinek <jakub@redhat.com>
3878
3879 PR optimization/5747
3880 * loop.c (scan_loop): Update reg info if move_movables created new
3881 pseudos.
3882
f98e43c0
DE
38832002-02-23 David Edelsohn <edelsohn@gnu.org>
3884
3885 * gcc.c (init_gcc_spec): Revert last change.
3886
e72247f4
DE
38872002-02-23 David Edelsohn <edelsohn@gnu.org>
3888
3889 * config/rs6000/rs6000.md (load_toc_aix_{si,di}): Use
3890 gpc_reg_operand constraint.
3891
38922002-02-23 Alan Modra <amodra@bigpond.net.au>
3893
3894 * config/rs6000/rs6000.c (num_insns_constant): Fix formatting.
3895 Simplify comparison of `low'.
3896 (add_operand): Fix formatting.
3897 (non_add_cint_operand): Use CONST_OK_FOR_LETTER_P.
57deb3a1 3898 (mask_operand): Disallow mask to wrap in 64-bit mode.
e72247f4
DE
3899 (rs6000_stack_info): Remove redundant test setting push_p.
3900 (output_toc): Fix formatting.
3901 * config/rs6000/rs6000.md (boolsi3, boolcsi3 splitters): Use
3902 cc_reg_not_cr0_operand constraint.
3903 (booldi3, boolcdi3 splitters): Same.
3904
a5c30531
AH
39052002-02-23 Aldy Hernandez <aldyh@redhat.com>
3906
831c4e87 3907 * config/rs6000/altivec.h: Add extra level of parentheses on casts.
a5c30531 3908
43710f9f
DE
39092002-02-22 David Edelsohn <edelsohn@gnu.org>
3910
3911 * gcc.c (init_gcc_spec): Do not link with static libgcc.a if
3912 gcc invoked with -shared-libgcc.
3913
3256b817
JJ
39142002-02-22 Jakub Jelinek <jakub@redhat.com>
3915
3916 PR c++/5748
3917 * stmt.c (expand_anon_union_decl): Set TREE_USED on the anon union
3918 decl if any of elements was TREE_USED.
3919
9e0625a3
AO
39202002-02-22 Alexandre Oliva <aoliva@redhat.com>
3921
3922 * config/sparc/sol2.h: Don't include sys/mman.h.
3923 * config/sparc/sparc.c (arith_operand): Use SMALL_INT32.
3924 (arith_4096_operand): Don't throw high bits away.
3925 (const64_operand): Take sign extension of CONST_INTs into account.
3926 (const64_high_operand, sparc_emit_set_const32): Likewise.
3927 (GEN_HIGHINT64): Likewise.
3928 (sparc_emit_set_const64_quick1): Likewise.
3929 (const64_is_2insns): Likewise.
3930 (print_operand): Use trunc_int_for_mode for sign extension.
3931 * config/sparc/sparc.h (SMALL_INT32): Likewise.
3932 * config/sparc/sparc.md (movqi): Sign-extend CONST_DOUBLE
3933 chars. Assume CONST_INT is already properly sign-extended.
3934 (movdi split): Sign-extend each SImode part.
3935 (andsi3 split): Don't mask high bits off, so that result
3936 remains properly sign-extend.
3937 (iorsi3 split): Likewise.
3938 (xorsi3 split): Likewise.
3939
54fec3d5
RS
39402002-02-22 Richard Sandiford <rsandifo@redhat.com>
3941
3942 * fold-const.c (fold): Fix typo in comments.
3943
667ada9b
DN
39442002-02-21 Diego Novillo <dnovillo@redhat.com>
3945
3946 * Makefile.in (langhooks.o): Update dependencies.
3947
29ac78d5
DN
39482002-02-21 Diego Novillo <dnovillo@redhat.com>
3949
3950 * langhooks.c: Include flags.h.
3951
6aa77e6c
AH
39522002-02-21 Aldy Hernandez <aldyh@redhat.com>
3953
3954 * testsuite/gcc.dg/attr-alwaysinline.c: New.
3955
3956 * c-common.c (c_common_post_options): Set inline trees by
3957 default.
3958
3959 * doc/extend.texi (Function Attributes): Document always_inline
3960 attribute.
3961 Update documentation about inlining when not optimizing.
3962
3963 * cp/decl.c (duplicate_decls): Merge always_inline attribute.
3964
3965 * cp/tree.c (cp_cannot_inline_tree_fn): Do not inline at -O0
3966 unless DECL_ALWAYS_INLINE.
3967
3968 * c-objc-common.c (c_cannot_inline_tree_fn): Do not inline at -O0
3969 unless DECL_ALWAYS_INLINE.
3970 (c_disregard_inline_limits): Disregard if always_inline set.
3971
3972 * langhooks.c (lhd_tree_inlining_disregard_inline_limits):
3973 Disregard if always_inline set.
3974 (lhd_tree_inlining_cannot_inline_tree_fn): Do not inline at -O0
3975 unless DECL_ALWAYS_INLINE.
3976
3977 * attribs.c (handle_always_inline_attribute): New.
3978 (c_common_attribute_table): Add always_inline.
3979
3980 * config/rs6000/altivec.h: Add prototypes for builtins
3981 requiring the always_inline attribute.
3982
c410d49e
EC
39832002-02-21 Eric Christopher <echristo@redhat.com>
3984
3985 * expmed.c (store_bit_field): Try to simplify the subreg
3986 before generating a new one when when the mode size of
3987 value is less than maxmode.
3988
e3c8ea67
RH
39892002-02-21 Richard Henderson <rth@redhat.com>
3990
3991 * emit-rtl.c (offset_address): Use simplify_gen_binary rather
3992 than gen_rtx_PLUS to form the sum.
3993 * explow.c (force_reg): Rearrange to not allocate new pseudo
3994 when force_operand returns a register.
3995 * expr.c (expand_assignment): Allow offset_rtx expansion to
3996 return a sum. Do not force addresses into registers.
3997 (expand_expr): Likewise.
3998 * simplify-rtx.c (simplify_gen_binary): Use simplify_plus_minus
3999 to canonicalize arithmetic that didn't simpify.
4000 (simplify_plus_minus): New argument force; update
4001 all callers. Don't split CONST unless we can do something with it,
4002 and wouldn't lose the constness of the operands.
4003
4004 * config/i386/i386.c (legitimize_pic_address): Recognize UNSPECs
4005 that we generated earlier.
4006
c1a046e5
TT
40072002-02-21 Tom Tromey <tromey@redhat.com>
4008
4009 * dwarf2out.c (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
4010 (output_line_info): Use constant `1', with a long explanatory
4011 comment.
4012 * system.h (DWARF_LINE_MIN_INSTR_LENGTH): Poison.
4013
31fbaad4
R
4014Thu Feb 21 22:43:44 2002 J"orn Rennecke <joern.rennecke@superh.com>
4015
4016 * jump.c (redirect_jump): If old label has no UID, don't try to
4017 delete it.
4018
a7f52356
R
4019Thu Feb 21 21:17:21 2002 J"orn Rennecke <joern.rennecke@superh.com>
4020
4021 * sh.md (insv): Provide byte offsets for gen_rtx_SUBREG.
4022 If input is constant, do shifts at compile time.
4023
924fcc4e
JM
40242002-02-21 Joseph S. Myers <jsm28@cam.ac.uk>
4025
4026 * doc/extend.texi: Fix some more overfull hboxes.
4027
e5a20888
JJ
40282002-02-21 Jakub Jelinek <jakub@redhat.com>
4029
4030 PR optimization/4994
4031 * config/i386/i386.md (movsi_1, movsf_1): Support MMX -> MMX
4032 register moves.
4033
40342002-02-21 Jakub Jelinek <jakub@redhat.com>
22273300
JJ
4035
4036 PR c++/4574
4037 * expr.h (expand_and): Add mode argument.
4038 * expmed.c (expand_and): Add mode argument.
4039 (expand_mult_highpart_adjust, emit_store_flag): Adjust callers.
4040 * expr.c (store_field, expand_expr, do_store_flag): Likewise.
4041 * except.c (expand_builtin_extract_return_addr): Likewise.
4042 * config/alpha/alpha.c (alpha_initialize_trampoline): Likewise.
4043 * config/sparc/sparc.c (sparc_initialize_trampoline): Likewise.
4044 * config/c4x/c4x.h (INITIALIZE_TRAMPOLINE): Likewise.
4045 Use GEN_INT (x) instead of gen_rtx (CONST_INT, VOIDmode, x).
4046 * config/c4x/c4x.md: Use GEN_INT (x) instead of
4047 gen_rtx (CONST_INT, VOIDmode, x).
4048
7133e992
JJ
40492002-02-21 Jakub Jelinek <jakub@redhat.com>
4050
4051 PR c/4697:
4052 * stmt.c (warn_if_unused_value): Move side effects test once more.
4053
e2ec05a6
TG
40542002-02-20 Torbjorn Granlund <tege@swox.com>
4055
4056 * config/avr/avr.md: Add more patterns for mized-mode add and subtract
831c4e87 4057 (addsi3_zero_extend, subhi3_zero_extend1, subsi3_zero_extend).
e2ec05a6 4058
9dd791c8
AO
4059Thu Feb 21 16:20:46 2002 Alexandre Oliva <aoliva@redhat.com>
4060
4061 * rtlanal.c (replace_rtx): Don't make a CONST_INT the operand of
4062 SUBREG or ZERO_EXTEND.
4063
7ab56274
R
4064Thu Feb 21 15:35:46 2002 J"orn Rennecke <joern.rennecke@superh.com>
4065
4066 * sh.h (current_function_anonymous_args): Remove.
4067 (SETUP_INCOMING_VARARGS): Don't set it - just check that one
4068 of current_function_varargs and current_function_stdarg is set.
4069 * sh.c (sh_expand_prologue): Check current_function_varargs /
4070 current_function_stdarg / TARGET_SH5 instead of
4071 current_function_anonymous_args.
4072
4073 * sh64.h (TARGET_VERSION): Define.
4074
b1765bde
DE
40752002-02-20 David Edelsohn <edelsohn@gnu.org>
4076
4077 * config/rs6000/rs6000.h (EPILOGUE_USES): Conditionalize
4078 VRSAVE_REGNO on TARGET_ALTIVEC.
4079
40802002-02-20 Alan Modra <amodra@bigpond.net.au>
4081
4082 * config/rs6000/rs6000.c (includes_lshift_p): Mask irrelevant
4083 bits of SImode const_int.
4084 (includes_rshift_p): Likewise.
4085 (print_operand): Call mask_operand and mask64_operand with correct
c410d49e 4086 mode.
b1765bde
DE
4087 (rs6000_output_function_epilogue): Pad traceback table to word.
4088 * config/rs6000/rs6000.h (MASK_64BIT): Correct comment.
4089 (EXTRA_CONSTRAINT, 'S' and 'T'): Call mask_operand and
4090 mask64_operand with correct mode.
b1765bde
DE
4091 (FUNCTION_ARG_REGNO_P): Correct parentheses.
4092
149d6f9e
JJ
40932002-02-20 Jakub Jelinek <jakub@redhat.com>
4094
4095 PR debug/4461
4096 * varasm.c (get_pool_constant_mark): New.
4097 * rtl.h (get_pool_constant_mark): Add prototype.
4098 * dwarf2out.c (mem_loc_descriptor): A pool constant cannot
4099 be represented if it has not been output.
4100
4161da12
AO
41012002-02-20 Alexandre Oliva <aoliva@redhat.com>
4102
4103 * combine.c (do_SUBST): Sanity check substitutions of
4104 CONST_INTs, and reject them in SUBREGs and ZERO_EXTENDs.
4105 (subst): Simplify SUBREG or ZERO_EXTEND instead of SUBSTing a
4106 CONST_INT into its operand.
4107 (known_cond): Likewise, for ZERO_EXTEND.
4108 * simplify-rtx.c (simplify_unary_operation): Fix condition to
4109 allow for simplification of wide modes. Reject CONST_INTs in
4110 ZERO_EXTEND when their actual mode is not given.
4111
3704ef74
AO
41122002-02-20 Alexandre Oliva <aoliva@redhat.com>
4113
4114 * c-decl.c (pushdecl): If no global declaration is found for an
4115 extern declaration in block scope, try a limbo one.
4116
7552da58
JJ
41172002-02-20 Jakub Jelinek <jakub@redhat.com>
4118
4119 PR c++/4401
4120 * c-common.c (pointer_int_sum): Moved from...
4121 * c-typeck.c (pointer_int_sum): ...here.
4122 * c-common.h (pointer_int_sum): Add prototype.
4123
00fae85d
JJ
41242002-02-20 Jakub Jelinek <jakub@redhat.com>
4125
4126 PR c++/5713
4127 * c-decl.c (duplicate_decls): Return 0 if issued error about
4128 redeclaration.
4129
4636c87e
JJ
41302002-02-20 Roger Sayle <roger@eyesopen.com>
4131 Jakub Jelinek <jakub@redhat.com>
4132
4133 PR c/4389
4134 * tree.c (host_integerp): Ensure that the constant integer is
4135 representable in a HOST_WIDE_INT or an unsigned HOST_WIDE_INT
4136 when pos is zero or non-zero respectively. Clarify comment.
4137 * c-format.c (check_format_info_recurse): Fix host_integerp
4138 usage; the pos argument should be zero when assigning to a
4139 signed HOST_WIDE_INT.
4140
59bef189
RH
41412002-02-20 Richard Henderson <rth@redhat.com>
4142
4143 * config/i386/i386.c (ix86_expand_vector_move): Use the mode
4144 of the operand, rather than assuming TImode.
4145 (ix86_expand_binop_builtin): Cope with commutative patterns
4146 using nonimmediate_operand for both operands.
4147 (ix86_expand_timode_binop_builtin): Likewise.
4148 (ix86_expand_store_builtin): Validate operand 1.
4149 (ix86_expand_unop1_builtin): Likewise.
4150
9338ffe6 41512002-02-20 Philip Blundell <philb@gnu.org>
c410d49e 4152
9338ffe6
PB
4153 PR 5705
4154 * config/arm/arm.h (HARD_REGNO_RENAME_OK): New macro.
4155
f322b423
RH
41562002-02-20 Richard Henderson <rth@redhat.com>
4157
4158 PR c/5615
4159 * expr.h (ARGS_SIZE_TREE): Convert size.var to ssizetype.
4160
d94084f7
TT
41612002-02-20 Tom Tromey <tromey@redhat.com>
4162
4163 * config/fr30/fr30.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
4164 * config/sh/sh.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
4165 * config/pj/pj.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
4166 * config/cris/cris.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
4167 * dwarf2out.c (DWARF_LINE_MIN_INSTR_LENGTH): Define
4168 unconditionally.
4169
37fa124a
AM
4170Wed Feb 20 00:03:25 EST 2002 Alan Matsuoka <alanm@redhat.com>
4171
4172 * config/rs6000/rs6000.h (LEGITIMATE_OFFSET_ADDRESS_P): Look
4173 for (const_int 0) in X not just INTVAL.
4174
6e5bb5ad
JM
41752002-02-20 Joseph S. Myers <jsm28@cam.ac.uk>
4176
4177 * doc/extend.texi: Avoid or reduce overfull hboxes.
4178
420e7dfa
DN
41792002-02-20 Diego Novillo <dnovillo@redhat.com>
4180
4181 * expmed.c (store_bit_field): Do not store bit fields using SUBREG
4182 operations if the field does not start at a mode boundary.
4183
1b7a2af6
JS
41842001-02-20 Joel Sherrill <joel@OARcorp.com>
4185
4186 * config/a29k/rtems.h, config/arm/rtems-elf.h, config/h8300/rtems.h,
4187 config/mips/rtems.h: Use new style of -Asystem= rather than -Asystem().
4188 Also done for -Acpu and -Amachine.
4189
56cd5b95
NB
41902002-02-20 Neil Booth <neil@daikokuya.demon.co.uk>
4191
4192 * cppinit.c (init_dependency_output): Take deps output file
4193 from -o if none given with -MF. Suppress normal output.
c410d49e 4194 * gcc.c (cpp_unique_options): Have -M and -MM imply -E.
56cd5b95
NB
4195 * doc/cpp.texi, doc/invoke.texi: Update.
4196
042cdf71
ZW
41972002-02-19 Zack Weinberg <zack@codesourcery.com>
4198
4199 * toplev.c (output_quoted_string): Write unprintable
4200 characters with octal escapes.
4201
c1f11548
DE
42022002-02-19 David Edelsohn <edelsohn@gnu.org>
4203
4204 * config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Set
4205 really_call_used[VRSAVE_REGNO] if not Altivec.
4206
42072002-02-19 Alan Modra <amodra@bigpond.net.au>
c410d49e 4208
c1f11548
DE
4209 * config/rs6000/rs6000.c (u_short_cint_operand): Mask op with
4210 MODE_MASK.
4211 (constant_pool_expr_1): Fix formatting.
4212 (rs6000_legitimize_reload_address): Likewise.
4213
c964d90e
RK
4214Tue Feb 19 20:13:57 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4215
4216 * config/sparc/sparc.md (nonlocal_goto): Use hard_frame_pointer_rtx
4217 now that we have one.
4218
ae34ac46
ZW
42192002-02-19 Zack Weinberg <zack@codesourcery.com>
4220
4221 * tree.h (struct tree_common): Remove aux. Add unused_0 at
4222 end of first block of bitfields (which was only seven bits);
4223 rename dummy to unused_1; remove comment which is no longer true.
4224
293c28ee
GS
42252002-02-19 Gaute B Strokkenes <gs234@cam.ac.uk>
4226
4227 * doc/c-tree.texi (Classes, TYPE_BINFO): Fix typo.
4228
7b8781c8
PB
42292002-02-19 Philip Blundell <pb@nexus.co.uk>
4230
0cb6c58d 4231 PR 5399
7b8781c8
PB
4232 * config/arm/arm.h (THUMB_LEGITIMATE_CONSTANT_P): Accept anything
4233 if generating PIC.
4234
4235 PR 5054
4236 * config/arm/arm.md (call_insn) [TARGET_THUMB]: Use
4237 arm_is_longcall_p rather than inspecting call-type cookie
4238 directly.
4239 (call_value_insn) [TARGET_THUMB]: Likewise.
4240
5c464583
GS
42412002-02-19 Graham Stott <grahams@redhat.com>
4242
4243 * config/i386/i386.c (ix86_expand_builtin): Fix typo.
4244
71c061e6
DE
42452002-02-19 David Edelsohn <edelsohn@gnu.org>
4246
4247 * config/rs6000/linux64.h (LINK_OS_LINUX_SPEC): Look in /lib64.
4248 ({STARTFILE,ENDFILE}_LINUX_SPEC): Define.
6d1def5c 4249 (FP_SAVE_INLINE): Delete.
71c061e6
DE
4250
4251 * config/rs6000/sysv4.h (ENDFILE_SPEC): Add crtsaveres.o.
4252 * config/rs6000/eabi.asm: Remove ABI save restore routines.
4253 * config/rs6000/t-ppccomm: Build crtsavres.o.
4254 * config/rs6000/crtsavres.asm: New file.
4255
3a7731fd
PB
42562002-02-19 Philip Blundell <philb@gnu.org>
4257
4258 * config/arm/arm.c (use_return_insn): Don't reject interrupt
4259 functions.
4260 (arm_compute_save_reg_mask): Save LR for interrupt functions too.
4261 (output_return_instruction): Allow interrupt functions to return with
4262 ldmfd sp!, {... pc}^. Use LDR to restore any single register.
4263 (arm_expand_prologue): Subtract 4 before stacking LR in an
4264 interrupt function.
4265
14f583b8
PB
42662002-02-19 Philip Blundell <pb@nexus.co.uk>
4267
4268 * config/arm/arm.c (arm_encode_call_attribute): Operate on any
4269 decl, not just FUNCTION_DECL.
4270 (legitimize_pic_address): Handle local SYMBOL_REF like LABEL_REF.
4271 (arm_assemble_integer): Likewise.
4272 * config/arm/arm.h (ARM_ENCODE_CALL_TYPE): Allow any decl to be
4273 marked local.
c410d49e 4274
4cb7482c
MG
42752002-02-19 matthew green <mrg@eterna.com.au>
4276
4277 * config.gcc (sparc-*-netbsdelf*): Enable target.
4278 (sparc64-*-netbsd*): New target.
4279 * config/sparc/netbsd-elf.h: New file.
4280 * config/sparc/t-netbsd64: New file.
4281
2df3a718
GS
42822002-02-19 Gaute B Strokkenes <gs234@cam.ac.uk>
4283
4284 * doc/rtl.texi (Flags, MEM_SCALAR_P): Fix typo.
4285
77f6c1eb
RS
42862002-02-19 Ryan T. Sammartino <ryants@shaw.ca>
4287
4288 * doc/invoke.texi: explicitly list the style guidelines that
4289 -Weffc++ checks for.
4290
fd973d56
JH
4291Tue Feb 19 12:37:23 CET 2002 Jan Hubicka <jh@suse.cz>
4292
4293 * regmove.c (regmove_optimize): Avoid increasing of register pressure.
4294
30518e45
NB
42952002-02-19 Neil Booth <neil@daikokuya.demon.co.uk>
4296
4297 PR other/5718
4298 * gcc.c (cpp_unique_options): Treat -o as indicating object file
4299 only if not -E. If -E, pass -o through to the preprocessor.
4300
39ea5704
KH
43012002-02-19 Kazu Hirata <kazu@hxi.com>
4302
4303 * config/h8300/h8300.h (REGNO_REG_CLASS): Replace a literal
4304 register number with an appropriate macro.
4305
7355dba7
BM
43062002-02-19 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
4307
4308 * doc/rtl.texi (Constants): Close @code tag.
4309
91c8aa9e
AH
43102002-02-19 Aldy Hernandez <aldyh@redhat.com>
4311
4312 * config/i386/i386.md ("mmx_uavgv8qi3"): Use const_vector.
4313 ("mmx_uavgv4hi3"): Same.
4314 ("pmulhrwv4hi3"): Same.
4315
4316 * tree-inline.c (walk_tree): Handle vectors.
4317
4318 * c-common.c (constant_expression_warning): Handle vectors.
4319 (overflow_warning): Same.
4320
4321 * sched-deps.c (sched_analyze_2): Handle vectors.
4322
4323 * rtlanal.c (rtx_unstable_p): Handle vectors.
4324 (rtx_varies_p): Same.
4325 (count_occurrences): Same.
4326 (regs_set_between_p): Same.
4327 (modified_between_p): Same.
4328 (modified_in_p): Same.
4329 (volatile_insn_p): Same.
4330 (volatile_refs_p): Same.
4331 (side_effects_p): Same.
4332 (may_trap_p): Same.
4333 (inequality_comparisons_p): Same.
4334 (replace_regs): Same.
4335 (computed_jump_p_1): Same.
4336
4337 * rtl.c (DEF_MACHMODE): Change all definitions to accept 8th
4338 argument.
4339 (inner_mode_array): New.
4340 (copy_rtx): Handle vectors.
4341 (copy_most_rtx): Same.
4342 (rtx_equal_p): Same.
4343 (get_mode_alignment): Adjust for vectors.
4344
4345 * resource.c (mark_referenced_resources): Handle vectors.
4346 (mark_set_resources): Same.
4347
4348 * reload1.c (eliminate_regs): Handle vectors.
4349 (elimination_effects): Same.
4350 (scan_paradoxical_subregs): Same.
4351
4352 * reload.c (subst_reg_equivs): Handle vectors.
4353
4354 * regrename.c (scan_rtx): Handle vectors.
4355
4356 * regclass.c (reg_scan_mark_refs): Handle vectors.
4357
4358 * recog.c (find_single_use_1): Handle vectors.
4359
4360 * local-alloc.c (equiv_init_varies_p): Handle vectors.
4361 (contains_replace_regs): Same.
4362 (memref_referenced_p): Same.
4363
4364 * integrate.c (copy_rtx_and_substitute): Handle vectors.
4365 (subst_constants): Same.
4366
4367 * genattrtab.c (attr_copy_rtx): Handle vectors.
4368 (encode_units_mask): Same.
4369 (clear_struct_flag): Same.
4370 (count_sub_rtxs): Same.
4371
4372 * gcse.c (want_to_gcse_p): Handle vectors.
4373 (oprs_unchanged_p): Same.
4374 (hash_expr_1): Same.
4375 (oprs_not_set_p): Same.
4376 (expr_killed_p): Same.
4377 (compute_transp): Same.
4378 (store_ops_ok): Same.
4379
4380 * function.c (purge_addressof_1): Do not allow paradoxical subregs
4381 of vectors.
4382 (fixup_var_refs_1): Same.
4383 (instantiate_virtual_regs_1): Same.
4384
4385 * fold-const.c (operand_equal_p): Handle vectors.
4386 (fold): Same.
4387 (rtl_expr_nonnegative_p): Same.
4388
4389 * flow.c (mark_used_regs): Handle vectors.
4390
4391 * df.c (df_uses_record): Handle vectors.
4392
4393 * cselib.c (cselib_subst_to_values): Handle vectors.
4394 (cselib_mem_conflict_p): Same.
4395 (hash_rtx): Same.
4396
4397 * cse.c (canon_reg): Handle vectors.
4398 (fold_rt): Same.
4399 (cse_process_notes): Same.
4400 (count_reg_usage): Same.
4401 (canon_hash): Same.
4402
4403 * alias.c (nonlocal_mentioned_p): Add case for CONST_VECTOR.
4404
4405 * combine.c (mark_used_regs_combine): Add case for CONST_VECTOR.
4406
4407 * emit-rtl.c (init_emit_once): Generate const0_rtx for vectors.
4408 (gen_rtx): Handle CONST_VECTOR.
4409 (gen_const_vector_0): New.
4410 (copy_rtx_if_shared): CONST_VECTORs can be shared.
4411 (reset_used_flags): Same.
4412 (copy_insn_1): Same.
4413 (initializer_constant_valid_p): Handle VECTOR_CST.
4414
4415 * doc/c-tree.texi (Expression trees): Document VECTOR_CST.
4416
4417 * doc/rtl.texi (Constants): Document const_vector.
4418 (CONST0_RTX): Update for vectors.
4419 (RTL sharing): Same.
4420
4421 * print-tree.c (print_node): Add case for VECTOR_CST.
4422
4423 * tree.h (TREE_VECTOR_CST_ELTS): New.
4424 (struct tree_vector): New.
4425 (union tree_node): Add vector node.
4426 (build_vector): Add prototype.
4427
4428 * tree.def (VECTOR_CST): New.
4429
4430 * tree.c (build_vector): New.
4431
4432 * expmed.c (make_tree): Handle CONST_VECTOR.
4433
4434 * rtl.h (CONSTANT_P): CONST_VECTORs are constants too.
4435 (CONST_VECTOR_ELT): New.
4436 (CONST_VECTOR_NUNITS): New.
4437
4438 * machmode.h (GET_MODE_INNER): New.
4439 (DEF_MACHMODE): Accept 8th arg.
4440
4441 * machmode.def: Add 8th argument for vector inner mode.
4442 Add inner vector modes for vectors.
4443
4444 * rtl.def (VEC_CONST): Remove.
4445 (CONST_VECTOR): New.
4446
4447 * expr.c (clear_storage): Allow vectors.
4448 (is_zeros_p): Handle VECTOR_CST.
4449
4450 * varasm.c (output_constant_pool): Handle vectors.
4451 (rtx_const): Add veclo and vechi fields.
4452 (kind): Add RTX_VECTOR.
4453 (decode_rtx_const): Add case for vector.
4454
4455 * config/rs6000/rs6000-protos.h: Add zero_constant.
c410d49e 4456
91c8aa9e
AH
4457 * config/rs6000/rs6000.c (rs6000_emit_move): Handle vector
4458 constants. Force easy vector constants into memory.
4459 (easy_vector_constant): New.
4460 (emit_easy_vector_constant): New.
4461 (rs6000_legitimize_reload_address): Do not generate bad reloads on
4462 darwin.
4463
4464 * config/rs6000/rs6000.md ("altivec_lvx"): Reflect what
4465 instruction does.
4466 ("altivec_lvxl"): Same.
4467 (altivec_lvebx): Same.
4468 (altivec_lvehx): Same.
4469 (altivec_lvewx): Same.
4470 ("*movv4si_const0"): New.
4471 ("*movv4sf_const0"): New.
4472 ("*movv8hi_const0"): New.
4473 ("*movv16qi_const0"): New.
4474
d4d6d0ce
KH
44752002-02-18 Kazu Hirata <kazu@hxi.com>
4476
4477 * config/h8300/h8300.c (notice_update_cc): Use
4478 cc_status.value2.
4479
4915d3aa
KH
44802002-02-18 Kazu Hirata <kazu@hxi.com>
4481
4482 * config/h8300/h8300.md (divmod patterns): Change the
4483 constraints for operands[1] to register_operand.
4484
82be00ee
KH
44852002-02-18 Kazu Hirata <kazu@hxi.com>
4486
4487 * config/h8300/h8300-protos.h: Remove the prototype for
4488 p_operand.
4489 * config/h8300/h8300.c (p_operand): Remove.
4490 * config/h8300/h8300.md: Replace p_operand with
4491 const_int_operand.
4492
1768c26f
PB
44932002-02-18 Philip Blundell <pb@nexus.co.uk>
4494
4495 * config/arm/arm.c (arm_compute_save_reg_mask): Fix typo in
4496 comment.
4497 (output_return_instruction): Allow use of LDR to unstack
4498 return addresss even for interrupt handlers or when
4499 interworking. If compiling for ARMv5, use interworking-safe
4500 return instructions by default. Remove duplicated code and
4501 lengthy "strcat" sequences.
4502
ccd84f51
FS
45032002-02-18 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
4504
4505 * config/rs6000/sysv4.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
4506 (LINK_EH_SPEC): Define.
4507 * config/rs6000/t-ppccomm (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
4508
2c153108
UW
45092002-02-18 Ulrich Weigand <uweigand@de.ibm.com>
4510
4511 * config/s390/s390.c (s390_emit_prologue): Do not set the
4512 frame_related flag for call-clobbered registers.
4513
e95d6b23
JH
4514Mon Feb 18 15:07:35 CET 2002 Jan Hubicka <jh@suse.cz>
4515
4516 * i386.c (classify_argument): Properly classify SSE/MMX modes and VOIDmode.
4517 (construct_container): Fix handling of SSE operands.
4518 (ix86_expand_builtin): Fix handling of 64bit pointers.
4519 (mmx_maskmovq_rex): New pattern.
4520
c43a12b5
JH
4521Mon Feb 18 11:55:55 CET 2002 Jan Hubicka <jh@suse.cz>
4522
4523 * regrename.c (kill_set_value): Handle subregs properly.
4524
aeb85a15
DB
45252002-02-18 David Billinghurst <David.Billinghurst@riotinto.com>
4526
4527 * objc/objc-act.c (handle_impent): Remove leading '*'
c410d49e 4528 from objc_class_name.
aeb85a15 4529
a615ca3e
RH
45302002-02-17 Richard Henderson <rth@redhat.com>
4531
4532 * config/alpha/alpha.c (some_small_symbolic_operand,
4533 some_small_symbolic_operand_1, split_small_symbolic_operand,
4534 split_small_symbolic_operand_1): Rename from *symbolic_mem_op*.
4535 Handle small SYMBOL_REFs anywhere, not just inside memories.
4536 * config/alpha/alpha-protos.h: Update.
4537 * config/alpha/alpha.h (PREDICATE_CODES): Update.
4538 * config/alpha/alpha.md (small symbolic operand splitter): Update.
4539
ddb28441
RM
45402002-02-17 Roland McGrath <roland@frob.com>
4541
4542 * config.gcc (powerpc-*-gnu-gnualtivec*,
4543 powerpc-*-gnu*, powerpc64-*-gnu*): New configurations.
4544 * config/rs6000/gnu.h: New file.
4545 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS):
4546 Grok "gnu" in rs6000_abi_name.
4547 (ASM_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC,
4548 CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC, LIB_SPEC, ENDFILE_SPEC):
4549 Grok -mcall-gnu analogous to -mcall-linux et al.
4550 (LIB_GNU_SPEC, STARTFILE_GNU_SPEC, ENDFILE_GNU_SPEC,
4551 LINK_START_GNU_SPEC, LINK_OS_GNU_SPEC, CPP_OS_GNU_SPEC): New macros.
4552 (SUBTARGET_EXTRA_SPECS): Add *_os_gnu specs using them.
4553
f6f8ada3
JJ
45542002-02-17 Jakub Jelinek <jakub@redhat.com>
4555
4556 PR c/3444:
4557 * c-typeck.c (build_binary_op) [BIT_XOR_EXPR]: Remove explicit
4558 shortening.
4559
e16b32fc
PT
45602002-02-17 Philipp Thomas <pthomas@suse.de>
4561
4562 * config/cris/cris.h: Undefine STARTFILE_SPEC and
4563 ENDFILE_SPEC before (re)defining them.
4564
f9477efd
KH
45652002-02-17 Kazu Hirata <kazu@hxi.com>
4566
4567 * config/h8300/h8300.c: Fix formatting.
4568 * config/h8300/h8300.h: Likewise.
4569
404ae494
PT
45702002-02-17 Philipp Thomas <pthomas@suse.de>
4571
4572 * doc/tm.texi: Explain why empty strings should not be
4573 marked for translation.
4574
a52453cc
PT
45752002-02-17 Philipp Thomas <pthomas@suse.de>
4576
4577 * final.c (output_operand_lossage): Changed to accept
4578 printf style arguments. Change calls where necessary.
4579 * output.h (output_operand_lossage): Change declaration
4580 accordingly. Update copyright.
4581 * config/arc/arc.c config/fr30/fr30.c config/m32r/m32r.c
4582 config/m88k/m88k.c : Adapt all calls to output_operand_lossage.
4583 Update copyright date where necessary.
c410d49e 4584
a52453cc
PT
4585 * config/i386/i386.c (print_operand): Likewise. Remove use of
4586 sprintf.
4587
4588 * config/cris/cris.c (cris_operand_lossage): Likewise.
4589 Rename parameter so that exgettext recognizes it as
4590 translatable message.
4591 (LOSE_AND_RETURN): Rename parameter to msgid.
4592
1c11abc4
KH
45932002-02-17 Kazu Hirata <kazu@hxi.com>
4594
4595 * config/h8300/h8300.h (CONDITIONAL_REGISTER_USAGE): Replace a
4596 hard coded register number with an appropriate macro.
4597 (HARD_REGNO_MODE_OK): Likewise.
4598 (ARG_POINTER_REGNUM): Likewise.
4599 (STATIC_CHAIN_REGNUM): Likewise.
4600 (RETURN_ADDRESS_POINTER_REGNUM): Likewise.
4601 * config/h8300/h8300.md (define_constants): Define more
4602 register numbers.
4603
a5d17ff3
PT
46042002-02-17 Philipp Thomas <pthomas@suse.de>
4605
4606 * config/i386/i386.h: Don't mark empty strings for translation.
4607
1a7289c4
L
46082002-02-16 H.J. Lu <hjl@gnu.org>
4609
4610 * config/mips/linux.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
4611
afb58288
ZW
46122002-02-16 Zack Weinberg <zack@codesourcery.com>
4613
4614 * cppinit.c (merge_include_chains): Check for brack being
4615 NULL before attempting to merge it with qtail.
4616
d2af4dbd
AC
46172002-02-16 Andrew Cagney <ac131313@redhat.com>
4618
4619 * config/rs6000/netbsd.h (PREFERRED_DEBUGGING_TYPE): Set to
4620 DBX_DEBUG.
4621
2e1ed1e3
JDA
46222002-02-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
4623
4624 * pa/t-pa, pa/t-pro, som.h: Revert last patch.
4625
604c75b2
JDA
46262002-02-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
4627
4628 * pa/t-pa (LIB2FUNCS_EXTRA): Don't build lib2funcs.asm.
4629 * pa/t-pro (LIB2FUNCS_EXTRA): Likewise.
4630 * som.h (DO_GLOBAL_DTORS_BODY): Delete define.
4631
1a42b072
RK
4632Sat Feb 16 13:48:50 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4633
7303604f 4634 * config/alpha/alpha.md (*movsi_nt_vms_nofix): Was *movsi_nt_vms;
1a42b072
RK
4635 now only if !TARGET_FIX.
4636 (*movsi_nt_vms_fix): New pattern.
4637
c2ea1ac6
DR
46382002-02-16 Douglas B Rupp <rupp@gnat.com>
4639
4640 * config/alpha/alpha.c: Implement null frame procedure types on VMS.
4641 (alpha_procedure_type): Replaces alpha_is_stack_procedure.
4642 (alpha_sa_mask, alpha_sa_size): Reflect above change.
4643 (alpha_pv_save_size, alpha_expand_prologue): Likewise.
4644 (alpha_start_function, alpha_expand_epilogue): Likewise.
4645 (unicosmk_gen_dsib): Likewise.
4646
725e58b1
RK
4647Sat Feb 16 13:39:09 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4648
4649 * expr.c (store_constructor): Handle target REG case for ARRAY_TYPE.
4650
13e58269
UW
46512002-02-16 Ulrich Weigand <uweigand@de.ibm.com>
4652
c410d49e 4653 * config/s390/s390.c (pool_stop_uid, other_chunk, far_away,
13e58269
UW
4654 check_and_change_labels, s390_final_chunkify): Delete.
4655 (s390_split_branches, s390_chunkify_pool): New functions.
4656 (s390_function_prologue): Call them.
c410d49e 4657
13e58269
UW
4658 * config/s390/s390.h (S390_REL_MAX): Delete.
4659 (S390_CHUNK_MAX, S390_CHUNK_OV): Adjust values.
4660
c410d49e 4661 * config/s390/s390.md (cjump, icjump, jump): Fix length
13e58269
UW
4662 attribute calculation.
4663
4664
34d1b01d
DE
46652002-02-15 David Edelsohn <edelsohn@gnu.org>
4666
4667 * config/rs6000/linux64.h (STRIP_NAME_ENCODING): Delete.
4668 * config/rs6000/ppc-asm.h (JUMP_TARGET): Define for powerpc64.
4669
be5cc51a
JDA
46702002-02-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
4671
4672 * gcc.c (init_gcc_specs): Revert patch from 2002-02-15.
4673 * config/pa/pa-linux.h (LIB_SPEC): Likewise.
4674 * config/pa/pa32-linux.h (LINK_COMMAND_SPEC): Likewise.
4675
ee96ce90
RS
46762002-02-15 Richard Sandiford <rsandifo@redhat.com>
4677
4678 * c-decl.c (grokdeclarator): Prevent a segfault on unnamed decls.
4679
05fa709d
RS
46802002-02-15 Richard Sandiford <rsandifo@redhat.com>
4681
4682 * reload.c (find_dummy_reload): Check that an output register
4683 is valid for its mode.
4684
4606272b
AO
46852002-02-14 Alexandre Oliva <aoliva@redhat.com>
4686
9a360704
AO
4687 * combine.c (known_cond): After replacing the REG of a SUBREG, try
4688 to simplify it.
4689
4606272b
AO
4690 * function.c (assign_parms): Demote promoted argument passed by
4691 transparent reference.
4692
e62d89a1
JS
46932001-02-14 Joel Sherrill <joel@OARcorp.com>
4694
4695 * config/arm/rtems-elf.h, config/h8300/rtems.h: Removed redundant
4696 -Acpu() and -Amachine() to eliminate warnings.
4697
6c4cf695
UW
46982002-02-14 Ulrich Weigand <uweigand@de.ibm.com>
4699
4700 * config/s390/linux.h (ASM_OUTPUT_ALIGNED_BSS): New.
4701
037f11ef
KH
47022002-02-14 Kazu Hirata <kazu@hxi.com>
4703
4704 * config/h8300/h8300-protos.h: Update the prototype for
4705 const_costs.
4706 * config/h8300/h8300.c (const_costs): Treat SET as a little
4707 more expensive operation.
4708 * config/h8300/h8300.h (DEFAULT_RTX_COSTS): Update the
4709 reference to const_costs.
4710
fdc76b09
HPN
47112002-02-14 Hans-Peter Nilsson <hp@axis.com>
4712
4713 * config.gcc (c4x-*-rtems*): Fix typo in tm_file setting.
4714
d76e6800
JJ
47152002-02-14 Jakub Jelinek <jakub@redhat.com>
4716
4717 PR c/5503:
4718 * c-decl.c (duplicate_decls): If builtin type has TYPE_ARG_TYPES NULL,
4719 use arguments from newtype.
4720
5ae590d7
EC
47212002-02-13 Eric Christopher <echristo@redhat.com>
4722
4723 * config/mips/mips.c (override_options): Add check for march/mipsX
4724 on the same command line. Fix error message in cpu processing.
4725 Remove architecture and ISA checks.
4726
b8513691
AH
47272002-02-14 Aldy Hernandez <aldyh@redhat.com>
4728
831c4e87 4729 * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Adjust for vectors.
b8513691 4730
831c4e87 4731 * config/rs6000/sysv4.h (ROUND_TYPE_ALIGN): Add MAX.
b8513691 4732
78c875e8
AH
47332002-02-14 Aldy Hernandez <aldyh@redhat.com>
4734
831c4e87
KC
4735 * config/rs6000/rs6000.md ("*movv4si_internal"): Add m<-r and r<-r
4736 alternatives.
4737 ("*movv8hi_internal1"): Same.
4738 ("*movv16qi_internal1"): Same.
4739 ("*movv4sf_internal1"): Same.
78c875e8 4740
831c4e87
KC
4741 * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Do
4742 not push_reload for altivec modes.
78c875e8 4743
d76e6800 47442002-02-13 Joel Sherrill <joel@OARcorp.com>
f22b4bc4
JS
4745
4746 * config.gcc (a29k-*-rtems), config/a29k/rtems.h: General cleanup across
4747 all RTEMS targets including removal of #includes from config/*/rtems*.h
4748 file and adding them to tm_file setting. Added xm_defines=POSIX to
4749 many targets.
4750 * config.gcc (c4x-*-rtems), config/c4x/rtems.h: Ditto.
4751 * config.gcc (h8300-*-rtems), config/h8300/rtems.h: Ditto.
4752 * config.gcc (hppa1.1-*-rtems), config/pa/rtems.h: Ditto.
4753 * config.gcc (i960-*-rtems), config/i960/rtems.h: Ditto.
4754 * config.gcc (m68k-*-rtems*), config/m68k/rtems.h,
4755 config/m68k/rtemself.h: Ditto.
4756 * config.gcc (mips*-*-rtems*), config/mips/rtems.h,
4757 config/mips/rtems64.h: Ditto.
4758 * config.gcc (powerpc-*-rtems*), config/rs6000/rtems.h: Ditto.
4759 * config.gcc (sh-*-rtems*), config/sh/rtems.h, config/sh/rtemself.h:
4760 Ditto.
4761 * config.gcc (sparc-*-rtems*), config/sparc/rtems.h,
4762 config/sparc/rtemself.h: Ditto.
4763 * config.gcc (v850-*-rtems*), config/v850/rtems.h: Ditto.
4764 * config.gcc (arm-rtems), config/arm/rtems-elf.h: Ditto plus moved
4765 arm-rtems stanza closer to other arm-elf targets and made arm-rtems
4766 more like arm-elf.
4767 * config.gcc (i[34567]86-*-rtems*), config/i386/djgpp-rtems.h,
4768 config/i386/rtems.h, config/i386/rtemself.h: Ditto plus i386-rtemself
4769 target made more similar to i386-elf.
4770 * config/i386/t-rtems-i386: Added soft float support and multilibs.
4771 * config/m68k/t-m68kbare: Add 68040 and 68060 as multilib alternatives to
4772 be similar to config/m68k/t-m68kelf.
4773 * gthr-rtems.h: Encapsulate with extern "C" for C++.
4774
8686336f
JH
4775Wed Feb 13 23:41:15 CET 2002 Jan Hubicka <jh@suse.cz>
4776
4777 * regmove.c (kill_value): Handle subregs.
4778
558740bf
JH
4779Wed Feb 13 23:34:30 CET 2002 Jan Hubicka <jh@suse.cz>
4780
4781 * i386.md (mul patterns): Allow memory operand to be first;
4782 add expanders where needed; fix constraints.
4783 (min?f_nonieee, max?f_nonieee, SSE TImode patterns):
4784 Allow memory operand to be the first.
4785
4786 * i386.c (ix86_prepare_fp_compare_args): Fix condition for swapping
4787 operands.
4788
21117a17
JJ
47892002-02-13 Jakub Jelinek <jakub@redhat.com>
4790
4791 PR c/5681:
4792 * expr.c (safe_from_p): Pass VOIDmode to true_dependence instead of
4793 GET_MODE (x).
4794
ec65b2e3
JJ
47952002-02-13 Jakub Jelinek <jakub@redhat.com>
4796
4797 PR optimization/5547:
4798 * config/i386/i386.c (i386_simplify_dwarf_addr): Simplify
4799 all valid IA-32 address modes involving non-scaled %ebx and
4800 GOT/GOTOFF as displacement.
4801
ce50cae8
UW
48022002-02-13 Ulrich Weigand <uweigand@de.ibm.com>
4803
4804 * config/s390/s390.c (s390_final_chunkify): Re-run shorten_branches
4805 after emitting ltorg insns.
4806
4807 * config/s390/s390.md (*cmpdf_ccs_0, *cmpdf_ccs, *cmpsf_ccs_0,
4808 *cmpsf_ccs, truncdfsf2_ieee, *adddf3, *addsf3, *subdf3, *subsf3,
4809 *muldf3, *mulsf3, *divdf3, *divsf3, *negdf2, *negsf2, *absdf2,
4810 *abssf2): Fix "op_type" attribute.
4811
09eb789b
DR
48122002-02-13 Douglas B Rupp <rupp@gnat.com>
4813
2dbe67bb
DR
4814 * mkconfig.sh: Avoid using a subshell redirect.
4815 ($output.T): Change to $(output)T.
4816 (ENABLE_NLS): Remove unneeded undef.
4817
ea5b9a1f
DR
4818 * config/alpha/vms.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Define.
4819 * config/alpha/x-vms (libsubdir): Define.
4820
3deb00ce
DR
4821 * config/alpha/vms.h (MD_FALLBACK_FRAME_STATE_FOR): Handle
4822 register frame procedures. Optimize retrieving context.
4823
09eb789b
DR
4824 * config/alpha/t-vms (MULTILIB_OPTIONS): Define.
4825 (MULTILIB_DIRNAME, LIBGCC, INSTALL_LIBGCC): Likewise.
4826 * config/alpha/vms.h (ASM_FILE_START): Write .arch directive.
4827
1abade85
RK
4828Wed Feb 13 09:45:08 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4829
4830 * alias.c (find_base_term, case ZERO_EXTEND, case SIGN_EXTEND):
4831 Make same change as for find_base_value.
4832
c283e63f
KH
48332002-02-13 Kazu Hirata <kazu@hxi.com>
4834
4835 * config/h8300/h8300.h (MODES_TIEABLE_P): Accept a combination
4836 of QImode and SImode.
4837
86039100
KH
48382002-02-13 Kazu Hirata <kazu@hxi.com>
4839
4840 * config/h8300/h8300.c (h8300_adjust_insn_length): Correct the
4841 length computation of movsi.
4842 * config/h8300/h8300.md (movsi_h8300hs): Correct the length.
4843
e1429da0
KH
48442002-02-13 Kazu Hirata <kazu@hxi.com>
4845
4846 * config/h8300/h8300.md (subqi3): Tighten the predicate for
4847 operands[2] to register_operand.
4848
aebfea10
JH
4849Wed Feb 13 10:35:56 CET 2002 Jan Hubicka <jh@suse.cz>
4850
4851 * i386.md (fop_*_comm_*): allow nonimmediate in the first operand.
4852
0ec4e2a8
AH
48532002-02-12 Aldy Hernandez <aldyh@redhat.com>
4854
831c4e87
KC
4855 * config/rs6000/rs6000.md: Use predicate altivec_register_operand
4856 for altivec_lvx* and altivec_stvx*.
4857 ("*movv4si_internal"): Add constraint for loading from GPRs.
4858 ("*movv8hi_internal1"): Same.
4859 ("*movv16qi_internal1"): Same.
4860 ("*movv4sf_internal1"): Same.
0ec4e2a8 4861
831c4e87 4862 * config/rs6000/rs6000.c (altivec_register_operand): New.
0ec4e2a8 4863
831c4e87
KC
4864 * config/rs6000/rs6000.h (PREDICATE_CODES): Add
4865 altivec_register_operand.
0ec4e2a8 4866
b007569d
HPN
48672002-02-13 Hans-Peter Nilsson <hp@bitrange.com>
4868
4869 * config/mmix/mmix.c (mmix_assemble_integer) <case 4>: Don't
4870 handle SYMBOL_REF.
4871
e6834654
SS
48722002-02-13 Stan Shebs <shebs@apple.com>
4873
831c4e87
KC
4874 * c-typeck.c (digest_init): Handle vectors.
4875 (really_start_incremental_init): Same.
4876 (pop_init_level): Same.
4877 (process_init_element): Same.
e6834654 4878
831c4e87 4879 * varasm.c (output_constant): Same.
e6834654 4880
831c4e87
KC
4881 * expr.c (clear_storage): Same.
4882 (store_constructor): Same.
e6834654 4883
d9b3eb63
EC
48842002-02-12 Eric Christopher <echristo@redhat.com>
4885
4886 * explow.c (hard_function_value): Add comment explaining
4887 signed/unsigned comparison.
4888
56d44285
JJ
48892002-02-12 Jakub Jelinek <jakub@redhat.com>
4890
4891 * jump.c (never_reached_warning): Add finish argument.
4892 If finish is NULL, stop on CODE_LABEL, otherwise stop before first
4893 real insn after end.
4894 * rtl.h (never_reached_warning): Adjust prototype.
4895 * cse.c (cse_insn): Pass NULL as finish to never_reached_warning.
4896 * cfgrtl.c (flow_delete_block): Pass b->end as finish to
4897 never_reached_warning.
4898
fc209487
GS
48992002-02-12 Graham Stott <grahams@redhat.com>
4900
4901 * config/hp/pa.h (GO_IF_LEGITIMATE_ADDRESS): Fix typos.
4902
1e41e866
KH
49032002-02-12 Kazu Hirata <kazu@hxi.com>
4904
4905 * config/h8300/h8300.c (shift_alg_hi): Improve the 15-bit
4906 logical shifts on H8/300.
4907 (shift_alg_si): Improve several shifts on H8/300.
4908 (get_shift_alg): Likewise.
4909
a36a47ad
GS
49102002-02-12 Graham Stott <grahams@redhat.com>
4911
4912 * config/pa/pa.c (compute_movstrsi_length): Fix typos.
4913
0aacc8ed
RK
4914Tue Feb 12 10:12:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4915
4916 * alias.c (find_base_value, case ZERO_EXTEND, case SIGN_EXTEND):
4917 Handle #ifdef POINTERS_EXTEND_UNSIGNED.
4918
a02ac966
HPN
49192002-02-11 Hans-Peter Nilsson <hp@bitrange.com>
4920
4921 * config/mmix/mmix.c (mmix_assemble_integer) <case 1, 2>: Handle
4922 non-CONST_INT through default_assemble_integer.
4923 <case 4>: Likewise, for non-CONST_INT, non-SYMBOL_REF.
4924 <case 8>: Abort for CONST_DOUBLE.
4925
d6e06ddc
JDA
49262002-02-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
4927
4928 * gcc.c (init_gcc_specs): Add static libgcc to link when "-shared"
4929 is specified.
4930 * config/pa/pa-linux.h (LIB_SPEC): Delete.
4931 * config/pa/pa32-linux.h (LINK_COMMAND_SPEC): Delete.
4932
515342a8
AH
49332002-02-11 Andrew Haley <aph@cambridge.redhat.com>
4934
4935 * config/stormy16/stormy16.md (zero_extendqihi2): New.
4936
cddd8b72
AO
49372002-02-11 Alexandre Oliva <aoliva@redhat.com>
4938
66df7a98
AO
4939 * regrename.c (regrename_optimize): Don't accept a
4940 part-clobbered register if the replaced register is not part
4941 clobbered.
4942
841404cd
AO
4943 * calls.c (store_one_arg): In the non-BLKmode non-partial case,
4944 take padding into account when computing the argument value.
4945
1d1ade42
AO
4946 * config/sh/sh.h (FUNCTION_ARG_REGNO_P): Fix parenthesizing error.
4947
cddd8b72
AO
4948 * combine.c (try_combine): Apply substitutions in
4949 CALL_INSN_FUNCTION_USAGE too.
4950
5c665b88
AH
49512002-02-11 Aldy Hernandez <aldyh@redhat.com>
4952
77f6c1eb
RS
4953 * config/rs6000/rs6000.c (altivec_init_builtins): Handle
4954 __builtin_altivec_abs*.
4955 (bdesc_abs): New.
5c665b88 4956
77f6c1eb
RS
4957 * config/rs6000/rs6000.h (rs6000_builtins): Add
4958 ALTIVEC_BUILTIN_ABS*.
5c665b88 4959
77f6c1eb
RS
4960 * config/rs6000/altivec.h: Use const char for builtins expecting
4961 literals.
4962 (vec_abs): New versions for C and C++.
4963 (vec_abss): Same.
5c665b88 4964
3494f1b4
KH
49652002-02-10 Kazu Hirata <kazu@hxi.com>
4966
4967 * config/h8300/h8300.h (INITIALIZE_TRAMPOLINE): Simplify by
4968 using Pmode.
4969
72431aef
KH
49702002-02-10 Kazu Hirata <kazu@hxi.com>
4971
4972 * config/h8300/h8300.h (STACK_POINTER_REGNUM): Use the
4973 constant definition from h8300.md.
4974 (FRAME_POINTER_REGNUM): Likewise.
4975 * config/h8300/h8300.md (define_constants): Add FP_REG.
4976
87e4ee91
KH
49772002-02-10 Kazu Hirata <kazu@hxi.com>
4978
4979 * config/h8300/h8300.c (print_operand): Remove redundant code.
4980
9c188705
KH
49812002-02-10 Kazu Hirata <kazu@hxi.com>
4982
4983 * config/h8300/h8300-protos.h: Remove the prototype for byte_reg.
4984 * config/h8300/h8300.c (byte_reg): Make it static.
4985
fba78abb
RH
49862002-02-10 Richard Henderson <rth@redhat.com>
4987
4988 PR c/5623
4989 * c-typeck.c (incomplete_type_error): Handle flexible array members.
4990
65739e62
RH
49912002-02-10 Richard Henderson <rth@redhat.com>
4992
4993 PR c++/5624
4994 * tree.c (append_random_chars): Don't abort if main_input_filename
4995 does not exist.
4996
247cb9df
HPN
49972002-02-10 Hans-Peter Nilsson <hp@bitrange.com>
4998
4999 * config/mmix/t-mmix (MULTILIB_EXTRA_OPTS): Disable.
5000
232bd029
KH
50012002-02-10 Kazu Hirata <kazu@hxi.com>
5002
65739e62 5003 * config/h8300/h8300.md (pushhi1_h8300): Correct the mode used.
232bd029
KH
5004 (pushhi1): Likewise.
5005
276ef573
JDA
50062002-02-10 John David Anglin <dave@hiauly1.hia.nrc.ca>
5007
5008 * pa.c (reg_before_reload_operand): Don't accept a SUBREG operand.
5009 * pa.h (PREDICATE_CODES): Adjust codes for reg_before_reload_operand.
5010
617e9ee5
DB
50112002-02-09 David O'Brien <obrien@FreeBSD.org>
5012
5013 * config/sparc/freebsd.h(TARGET_DEFAULT): Add MASK_EPILOGUE setting and
5014 remove MASK_VIS.
5015 (ASM_CPU_DEFAULT_SPEC): Remove. Default setting is fine.
5016
6dfa4005
KH
50172002-02-09 Kazu Hirata <kazu@hxi.com>
5018
5019 * config/h8300/h8300.c (output_logical_op): Use sub.w to clear
5020 a half of an SImode register on H8/300.
5021
749e7b80
JH
5022Sat Feb 9 18:28:02 CET 2002 Jan Hubicka <jh@suse.cz>
5023
5024 * i386.md (movdi_2): Add missing '!'.
5025
ca77d87c
KH
50262002-02-09 Kazu Hirata <kazu@hxi.com>
5027
5028 * config/h8300/h8300.h: Fix formatting. Remove commented-out
5029 definitions.
5030
16c96304
KH
50312002-02-09 Kazu Hirata <kazu@hxi.com>
5032
5033 * config/h8300/h8300.md (length): Correct the distance valid
5034 for the short branch.
5035
a364bc90
KH
50362002-02-09 Kazu Hirata <kazu@hxi.com>
5037
5038 * config/h8300/h8300.md (iorhi3): Tighten the predicates.
5039
e4ec2cac
AO
50402002-02-09 Alexandre Oliva <aoliva@redhat.com>
5041
a138247b
AO
5042 * config/sh/sh.h (REGISTER_NATURAL_MODE): Save part-clobbered
5043 registers in SImode.
5044 (HARD_REGNO_CALL_PART_CLOBBERED) [TARGET_SHMEDIA32]: Set r18 as
5045 part-clobbered.
5046
2b1fd83f
AO
5047 * config/sh/sh.c (expand_prologue): Fix mis-applied 2001-11-09's
5048 patch.
d9b3eb63 5049
fa5322fa
AO
5050 Contribute sh64-elf.
5051 2002-02-09 Alexandre Oliva <aoliva@redhat.com>
5052 * config/sh/sh.c (TARGET_CANNOT_MODIFY_JUMPS_P): Define to...
5053 (sh_cannot_modify_jumps_p): New function.
5054 2002-02-05 Alexandre Oliva <aoliva@redhat.com>
5055 * config/sh/sh.c (TARGET_MS_BITFIELD_LAYOUT_P): Define to...
5056 (sh_ms_bitfield_layout_p): New function.
5057 2002-02-04 Alexandre Oliva <aoliva@redhat.com>
5058 Zack Weinberg <zack@codesourcery.com>
5059 * config/sh/sh.h (TRAMPOLINE_ADJUST_ADDRESS): Use
5060 expand_simple_binop instead of expand_binop.
5061 2002-02-03 Alexandre Oliva <aoliva@redhat.com>
5062 * config/sh/sh.h (OVERRIDE_OPTIONS) [! TARGET_SH5]: Disable
5063 use of .quad and .uaquad.
5064 * config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP,
5065 TARGET_ASM_ALIGNED_DI_OP): Add comment pointing to the above.
5066 2002-01-24 Alexandre Oliva <aoliva@redhat.com>
5067 * config/sh/sh.md (movdi_const, movdi_const_32bit,
5068 movdi_const_16bit): Make sure all CONSTs have modes.
5069 (sym2PIC): Ditto, but by adjusting all callers.
5070 * config/sh/sh.c (calc_live_regs) [TARGET_SHCOMPACT]: Set pr_live
5071 if the prologue calls the SHmedia argument decoder or register
5072 saver.
5073 2002-01-24 Alexandre Oliva <aoliva@redhat.com>
5074 * config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP): Define.
5075 (TARGET_ASM_ALIGNED_DI_OP): Likewise.
5076 (sh_expand_epilogue): Don't emit USE of return target register.
5077 (prepare_move_operands): Legitimize DImode PIC addresses.
5078 (sh_media_register_for_return): Skip tr0, used to initialize the
5079 PIC register.
5080 (sh_expand_prologue): Remove explicit USE of return register.
5081 (nonpic_symbol_mentioned_p): PC is non-PIC. Don't recurse in
5082 CONST_DOUBLEs. UNSPEC_GOTPLT is PIC.
5083 * config/sh/sh.h (ASM_OUTPUT_DOUBLE_INT): Removed, obsolete.
5084 (OVERRIDE_OPTIONS): Don't disable PIC on SH5.
5085 (EXTRA_CONSTRAINT_S): Use MOVI_SHORI_BASE_OPERAND_P instead of
5086 EXTRA_CONSTRAINT_T.
5087 (GOT_ENTRY_P, GOTPLT_ENTRY_P, GOTOFF_P, PIC_ADDR_P): New.
5088 (MOVI_SHORI_BASE_OPERAND_P): New.
5089 (NON_PIC_REFERENCE_P, PIC_REFERENCE_P): New.
5090 (EXTRA_CONSTRAINT_T): Define in terms of them.
5091 (OUTPUT_ADDR_CONST_EXTRA): Handle UNSPEC_GOTPLT.
5092 * config/sh/sh.md (movsi_media, movsi_media_nofpu,
5093 movdi_media, movdi_media_nofpu): Add SIBCALL_REGS class to
5094 alternatives supporting TARGET_REGS.
5095 (UNSPEC_GOTPLT): New constant.
5096 (movdi split): Move incrementing of LABEL_NUSES...
5097 (movdi_const, movdi_const_32bit): Here. Use
5098 MOVI_SHORI_BASE_OPERAND_P instead of EXTRA_CONSTRAINT_T.
5099 (movdi_const_16bit): New.
5100 (call, call_value) [flag_pic]: Use GOTPLT.
5101 (call_pop, call_value_pop): New expands.
5102 (call_pop_compact, call_pop_rettramp): New insns.
5103 (call_value_pop_compact, call_value_pop_rettramp): New insns.
5104 (sibcall) [flag_pic]: Use GOT.
5105 (builtint_setjmp_receiver): Remove bogus, unused expand.
5106 (GOTaddr2picreg): Implement for SHcompact and SHmedia.
5107 (*pt, *ptb, ptrel): New insns.
5108 (sym2GOT): Handle DImode GOT.
5109 (sym2GOTPLT, symGOTPLT2reg): New expands.
5110 (sym2PIC): New expand.
5111 (shcompact_return_tramp): Use GOTPLT to return trampoline.
5112 (shcompact_return_tramp_i): Use return register explicitly.
5113 * config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SHMEDIA]: Don't
5114 disable flag_reorder_blocks.
5115 2002-01-19 Alexandre Oliva <aoliva@redhat.com>
5116 * config/sh/sh.md (sibcall_compact): Reorder return, uses and
5117 clobbers, for clarity.
5118 (sibcall_epilogue) [TARGET_SHCOMPACT]: Mark saving and
5119 restoring of r0 in macl as MAYBE_DEAD.
5120 2002-01-18 Alexandre Oliva <aoliva@redhat.com>
5121 * config/sh/sh.h (LONG_DOUBLE_TYPE_SIZE): Define.
5122 * config/sh/sh.md (movv4sf_i, movv16sf_i): Fix uses of
5123 alter_subreg all over.
5124 (jump) [TARGET_SHMEDIA]: FAIL to create new jumps after
5125 reload, instead of emitting instructions that would require
5126 reloading.
5127 (casesi_load_media): Add missing modes.
5128 2001-11-09 Alexandre Oliva <aoliva@redhat.com>
5129 * config/sh/sh.c (sh_expand_prologue): Mark the PIC register
5130 as used if the argument decoder is called.
5131 2001-08-28 Alexandre Oliva <aoliva@redhat.com>
5132 * config/sh/sh.md (udivsi3, divsi3): Load libcall symbol name in
5133 Pmode, then extend it to DImode if necessary.
5134 2001-08-28 Stephen Clarke <Stephen.Clarke@st.com>
5135 * config/sh/sh.h (LEGITIMATE_CONSTANT_P): Don't accept DFmode
5136 constants in FPU-enabled SHmedia, let them be loaded from memory.
5137 2001-08-28 Alexandre Oliva <aoliva@redhat.com>
5138 * config/sh/sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media):
5139 Adjust whitespace in assembly output templates.
5140 2001-08-28 Stephen Clarke <Stephen.Clarke@st.com>
5141 * config/sh/sh.md (movdicc_false, movdicc_true, movdicc): Adjust
5142 mode of if_then_else.
5143 2001-08-04 Alexandre Oliva <aoliva@redhat.com>
5144 * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): Override definition in
5145 sh.h.
5146 2001-07-26 Andrew Haley <aph@cambridge.redhat.com>
5147 Joern Rennecke <amylaar@redhat.com>
5148 * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): New.
5149 (SUBTARGET_CPP_PTR_SPEC): New.
5150 (SUBTARGET_CPP_SPEC): Remove.
5151 2001-07-06 Chandrakala Chavva <cchavva@redhat.com>
5152 * config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1):
5153 Fix typo in previous checkin.
5154 2001-07-11 Chandrakala Chavva <cchavva@redhat.com>
5155 * config/sh/sh.h (MODES_TIEABLE_P): Fix redact indentations.
5156 2001-07-10 Chandrakala Chavva <cchavva@cygnus.com>
5157 Alexandre Oliva <aoliva@redhat.com>
5158 * config/sh/sh.h (MODES_TIEABLE_P): Don't tie modes wider than
5159 what single FP register can hold for SHmedia target.
5160 2001-07-06 Chandrakala Chavva <cchavva@redhat.com>
5161 Alexandre Oliva <aoliva@redhat.com>
5162 * config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1):
5163 Do not split into SUBREG.
5164 2001-06-14 Alexandre Oliva <aoliva@redhat.com>
5165 * config/sh/ushmedia.h, config/sh/sshmedia.h: Updated signatures
5166 and added new functions as specified in SH5 ABI r9.
5167 2001-06-04 Alexandre Oliva <aoliva@redhat.com>
5168 * config/sh/lib1funcs.asm (GCC_nested_trampoline): Align to an
5169 8-byte boundary.
5170 2001-06-03 Alexandre Oliva <aoliva@redhat.com>
5171 * config/sh/sh.c (dump_table): Add const0_rtx in calls of
5172 gen_consttable_4 and gen_consttable_8. Emit multiple labels
5173 and consttable_window_ends.
5174 2001-06-03 Graham Stott <grahams@redhat,com>
5175 * config/sh/sh.md (movdi split): Remove unused variable last_insn.
5176 2001-05-16 Alexandre Oliva <aoliva@redhat.com>
5177 * config/sh/sh.c (print_operand): Handle floating-point pair,
5178 vector and matrix registers.
5179 * config/sh/sh.h (REGISTER_MOVE_COST): Take floating-pointer
5180 vector modes into account.
5181 * config/sh/sh.md (movv2sf): Split move between registers into
5182 movdf.
5183 (movv4sf, movv16sf): Introduce insns that get split only after
5184 reload.
5185 * config/sh/shmedia.h: Fix Copyright dates.
5186 * config/sh/ushmedia.h: Likewise. Move loop counter
5187 declarations into conditionals that uses them.
5188 (sh_media_FVADD_S, sh_media_FVSUB_S): Fix off-by-one error in
5189 loop boundary.
5190 * config/sh/sshmedia.h: Fix Copyright dates.
5191 (sh_media_PUTCFG): Fix constraints.
5192 2001-05-12 Alexandre Oliva <aoliva@redhat.com>
5193 * config/sh/sh.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define to
5194 ptrmemfunc_vbit_in_delta for SH5.
5195 2001-05-08 Alexandre Oliva <aoliva@redhat.com>
5196 * config/sh/sh.h (TARGET_SWITCHES): Document -m5-*.
5197 * invoke.texi: Likewise.
5198 2001-04-14 Alexandre Oliva <aoliva@redhat.com>
5199 * config/sh/lib1funcs.asm (GCC_push_shmedia_regs,
5200 GCC_push_shmedia_regs_nofpu, GCC_pop_shmedia_regs,
5201 GCC_pop_shmedia_regs_nofpu): New global symbols.
5202 * config/sh/t-sh64 (LIB1ASMFUNCS): Add them.
5203 * config/sh/sh.h (SHMEDIA_REGS_STACK_ADJUST): New macro.
5204 * config/sh/sh.c (calc_live_regs): Account for PR's saving in
5205 compact function with nonlocal labels.
5206 (sh_expand_prologue) [SHcompact]: Push SHmedia regs if needed.
5207 (sh_expand_epilogue) [SHcompact]: Pop them when appropriate.
5208 (initial_elimination_offset): Account for their stack space.
5209 * config/sh/sh.md (shmedia_save_restore_regs_compact): New insn.
5210 * config/sh/sh.md (movsi_media, movsi_media_nofpu, movqi_media,
5211 movhi_media, movdi_media, movdi_media_nofpu, movdf_media,
5212 movdf_media_nofpu, movsf_media, movsf_media_nofpu): Require at
5213 least one of the operands to be a register.
5214 (movv2sf): Likewise. Renamed to movv2sf_i.
5215 (movdi, movdf, movv2sf, movv4sf, movv16sf, movsf):
5216 prepare_move_operands() before emitting SHmedia insns.
5217 2001-04-03 Alexandre Oliva <aoliva@redhat.com>
5218 * config/sh/crti.asm (init, fini) [__SH5__ && ! __SHMEDIA__]:
5219 Don't save nor initialize r12. Don't mis-align the stack.
5220 Pad the code with a nop.
5221 * config/sh/crti.asm: Don't restore r12. Don't mis-align the
5222 stack.
5223 2001-03-13 Alexandre Oliva <aoliva@redhat.com>
5224 * gcc/longlong.h (__umulsidi3, count_leading_zeros)
5225 [__SHMEDIA__]: Implement.
5226 2001-03-11 Alexandre Oliva <aoliva@redhat.com>
5227 * config/sh/sh.md: Set latency of `pt' closer to reality.
5228 (movsi_media, movsi_media_nofpu, movdi_media, movdi_media_nofpu,
5229 movdf_media, movdf_media_nofpu, movsf_media, movsf_media_nofpu):
5230 Set move, load and store type attributes.
5231 * config/sh/sh.c (sh_loop_align) [TARGET_SH5]: Set to 3.
5232 * config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SH5]: Disable
5233 profiling.
5234 * config/sh/sh.h (PROMOTE_MODE): Sign-extend SImode to DImode.
5235 * config/sh/sh-protos.h (sh_media_register_for_return): Declare.
5236 * config/sh/sh.c (sh_media_register_for_return): New function.
5237 (sh_expand_prologue) [TARGET_SHMEDIA]: Copy r18 to an available
5238 branch-target register.
5239 (sh_expand_epilogue) [TARGET_SHMEDIA]: Explicitly USE it.
5240 * config/sh/sh.md (return_media_i): Use any call-clobbered
5241 branch-target register.
5242 (return_media): If r18 wasn't copied in the prologue, copy it
5243 here.
5244 * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE) [TARGET_SHMEDIA]:
5245 Clear class FP0_REGS.
5246 * config/sh/sh64.h (LINK_SPEC): Removed incorrect default copied
5247 from elf.h.
5248 2001-03-08 DJ Delorie <dj@redhat.com>
5249 * config/sh/sh.h (OVERRIDE_OPTIONS): Disable relaxing for SHMEDIA.
5250 2001-02-09 Alexandre Oliva <aoliva@redhat.com>
5251 * config/sh/sh.md (sibcall_compact): Set fp_mode to single.
5252 2001-02-07 Alexandre Oliva <aoliva@redhat.com>
5253 * config/sh/sh.h (INT_ASM_OP) [SHMEDIA64]: Use `.quad'.
5254 2001-02-03 Alexandre Oliva <aoliva@redhat.com>
5255 * config/sh/sh.h (INIT_CUMULATIVE_ARGS): Compute size of BLKmode
5256 return value correctly for call_cookie.
5257 2001-02-01 Alexandre Oliva <aoliva@redhat.com>
5258 * config/sh/crt1.asm (start): Modified so as to call
5259 ___setup_argv_and_call_main.
5260 2001-01-26 Alexandre Oliva <aoliva@redhat.com>
5261 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't count stack_regs in
5262 SHmedia mode.
5263 2001-01-20 Alexandre Oliva <aoliva@redhat.com>
5264 * config/sh/sh.h (STRIP_DATALABEL_ENCODING): New macro.
5265 (STRIP_NAME_ENCODING): Use it.
5266 (ASM_OUTPUT_LABELREF): Likewise. Don't call assemble_name().
5267 2001-01-19 Alexandre Oliva <aoliva@redhat.com>
5268 * config/sh/sh.md (sgeu) [! SHMEDIA]: Fix invocation of
5269 prepare_scc_operands().
5270 * config/sh/sh.h (SH_DATALABEL_ENCODING): Change to "#"...
5271 (DATALABEL_SYMNAME_P): ... so that we don't need memcmp here.
5272 2001-01-17 Alexandre Oliva <aoliva@redhat.com>
5273 * config/sh/sh.h (STRIP_NAME_ENCODING): Strip leading `*'.
5274 2001-01-13 Alexandre Oliva <aoliva@redhat.com>
5275 * config/sh/sh.md (shcompact_incoming_args): Use R0_REG.
5276 * config/sh/sh.md (R7_REG, R8_REG, R9_REG): Define as constants,
5277 used in shcompact_incoming_args.
5278 * config/sh/sh.c (sh_expand_epilogue): Fix thinko in previous
5279 change.
5280 * config/sh/crt1.asm (start) [SH5]: Switch to single-precision
5281 mode.
5282 * config/sh/lib1funcs.asm (sdivsi3_i4, udivsi3_i4, set_fpscr):
5283 Adjust accordingly.
5284 * config/sh/sh.c (sh_expand_prologue, sh_expand_epilogue):
5285 Simplify. Adjust. Add sanity check.
5286 * config/sh/sh.h (TARGET_SWITCHES) [5-compact]: Set
5287 FPU_SINGLE_BIT.
5288 * config/sh/sh.md (udivsi3_i4_single, divsi3_i4_single): Match
5289 TARGET_SHCOMPACT.
5290 (udivsi3, divsi3): Use them.
5291 (force_mode_for_call): New insn.
5292 (call, call_value, sibcall_value): Emit it before SHcompact
5293 calls.
5294 2001-01-11 Alexandre Oliva <aoliva@redhat.com>
5295 * config/sh/sh.md (call, call_value, sibcall): Make sure the
5296 call cookie is non-NULL before taking its value.
5297 2001-01-10 Alexandre Oliva <aoliva@redhat.com>
5298 * config.gcc (sh64): Set target_requires_64bit_host_wide_int.
5299 2001-01-09 Alexandre Oliva <aoliva@redhat.com>
5300 * config/sh/sh.md (shcompact_incoming_args): Set argument memory
5301 block.
5302 * config/sh/sh.h (STATIC_CHAIN_REGNUM) [SH5]: Use r1.
5303 * config/sh/sh.c (sh_expand_prologue) [SH5]: Use r0 as
5304 temporary for stack adjusts. Use MACL and MACH to pass
5305 arguments to shcompact_incoming_args.
5306 * config/sh/sh.md (shcompact_incoming_args): Adjust. Don't
5307 clobber r1.
5308 * config/sh/lib1funcs.asm (shcompact_incoming_args): Likewise.
5309 (nested_trampoline): Load static chain address into r1.
5310 * config/sh/sh.md (movdi_media splits): Fix sign-extension.
5311 2001-01-07 Alexandre Oliva <aoliva@redhat.com
5312 * config/sh/sh.c (fpul_operand) [SHMEDIA]: Just call
5313 fp_arith_reg_operand().
5314 2001-01-06 Alexandre Oliva <aoliva@redhat.com>
5315 * config/sh/sh.md (casesi): Sign-extend the first two operands,
5316 and use signed compares for them.
5317 * config/sh/sh.c (dump_table): Don't emit 8-byte constants after
5318 4-byte ones. Instead, inter-leave them, maintaining the 8-byte
5319 ones properly aligned.
5320 (find_barrier): Account for extra alignment needed for 8-byte wide
5321 constants.
5322 (machine_dependent_reorg): Require a label for the second 4-byte
5323 constant after an 8-byte one.
5324 * config/sh/lib1funcs.asm (sdivsi3): Fix typo in yesterday's
5325 change.
5326 2001-01-05 Alexandre Oliva <aoliva@redhat.com>
5327 * config/sh/sh.c (machine_dependent_reorg) [SHCOMPACT]: Reset
5328 last_float when switching float modes.
5329 * config/sh/sh.md (movdf) [SH5]: Don't use stack-pointer
5330 auto-increment for general-purpose registers.
5331 * config/sh/lib1funcs.asm (sdivsi3) [SHMEDIA]: Sign-extend the
5332 result.
5333 * config/sh/sh.c (sh_expand_prologue) [SH5]: Use r1 as temporary
5334 for stack adjust.
5335 * config/sh/sh.c (sh_builtin_saveregs): Support using all
5336 registers for varargs.
5337 2001-01-01 Alexandre Oliva <aoliva@redhat.com>
5338 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Simplify.
5339 * config/sh/sh.h (CALL_COOKIE_STACKSEQ,
5340 CALL_COOKIE_STACKSEQ_SHIFT, CALL_COOKIE_STACKSEQ_GET): New macros.
5341 (CALL_COOKIE_INT_REG_SHIFT): Adjust.
5342 (FUNCTION_ARG_ADVANCE): Use SHCOMPACT_FORCE_ON_STACK. Adjust
5343 call_cookie accordingly.
5344 (FUNCTION_ARG): Test SHCOMPACT_FORCE_ON_STACK.
5345 (SHCOMPACT_BYREF): Likewise.
5346 (SHCOMPACT_FORCE_ON_STACK): New macro.
5347 * config/sh/sh.c (sh_expand_prologue): Use new call_cookie format.
5348 (sh_builtin_saveregs): Likewise.
5349 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
5350 shcompact_incoming_args): Use new shift values. Support
5351 sequences of consecutive and non-consecutive pushes/pops.
5352 * config/sh/sh.md (return): Don't explicitly use PR_REG.
5353 2001-01-05 Hans-Peter Nilsson <hpn@cygnus.com>
5354 * config/sh/sh.h (TEXT_SECTION): Define.
5355 * config/sh/elf.h (ASM_FILE_START): Output TEXT_SECTION_ASM_OP.
5356 2001-01-05 Alexandre Oliva <aoliva@redhat.com>
5357 * config/sh/sh.h (INIT_CUMULATIVE_LIBCALL_ARGS): New macro.
5358 * config/sh/sh.h (BASE_RETURN_VALUE_REG): Use FP regs for
5359 return values on FPU-enabled SHmedia.
5360 (FUNCTION_VALUE_REGNO_P): Mark FIRST_FP_RET_REG as used on
5361 FPU-enabled SHmedia.
5362 (INIT_CUMULATIVE_ARGS): Set up return trampoline only if
5363 value is returned in a non-FP reg and is not returned by
5364 reference.
5365 * config/sh/sh.md (shcompact_return_tramp_i): Change type to
5366 jump_ind.
5367 2000-01-04 Alexandre Oliva <aoliva@redhat.com>
5368 * config/sh/sh.h (SH_MIN_ALIGN_FOR_CALLEE_COPY): New.
5369 (FUNCTION_ARG_CALLEE_COPIES): Require argument to be
5370 quad-aligned to be passed by callee-copy reference.
5371 2001-01-03 Alexandre Oliva <aoliva@redhat.com>
5372 * config/sh/elf.h (MAX_WCHAR_TYPE_SIZE): Define.
5373 * config/sh/sh64.h (MAX_WCHAR_TYPE_SIZE): Undefine.
5374 2001-01-02 Alexandre Oliva <aoliva@redhat.com>
5375 * config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix error in
5376 copying low-numbered FP regs to r7 and r8.
5377 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't request copying of
5378 FP regs to general-purpose regs only if the copy was passed on the
5379 stack.
5380 * config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix typo in
5381 copying FP reg to r9.
5382 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Use trampoline to
5383 copy FP regs to general-purpose regs only in outgoing calls.
5384 * config/sh/sh.md (movdf_media, movsf_media): Revert incorrect
1e4e95d6 5385 change from 2000-10-30. Adjust for 64-bit (or 32-bit)
fa5322fa
AO
5386 HOST_WIDE_INT.
5387 * config/sh/sh.h (struct sh_args): Document all fields.
5388 (FUNCTION_OK_FOR_SIBCALL): Functions that receive arguments
5389 passed partially on the stack should not consider making
5390 sibcalls.
5391 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Add byref regs to
5392 stack_regs only for incoming calls. When passing FP args,
5393 make sure there are FP regs available before modifying
5394 call_cookie.
5395 (SHCOMPACT_BYREF): Pass double args in general-purpose
5396 registers by reference.
5397 2000-12-30 Alexandre Oliva <aoliva@redhat.com>
5398 * config/sh/sh.h (FUNCTION_OK_FOR_SIBCALL) [SHCOMPACT]: Don't
5399 attempt to generate sibcalls if the caller got any arguments
5400 by reference.
5401 * config/sh/lib1funcs.asm (set_fpscr) [SH5]: Default to double.
5402 * config/sh/sh.c (dump_table) [SHCOMPACT]: Align DImode and DFmode
5403 to 8-byte boundaries.
5404 * config/sh/sh.md (shcompact_preserve_incoming_args): New insn.
5405 * config/sh/sh.h (CALL_COOKIE_INT_REG_GET): New macro.
5406 * config/sh/sh.c (sh_expand_prologue): Preserve args that will be
5407 stored in the stack.
5408 * config/sh/lib1funcs.asm (ct_main_table, ia_main_table): Arrange
5409 for the offsets to have the ISA bit set.
5410 (shcompact_call_trampoline): Document. Swap r0 and r1, to match
5411 invocation. Use beq instead of bgt to mark end of sequence of
5412 loads.
5413 (shcompact_incoming_args): Fix store of r2. Use beq instead of
5414 bgt to mark end of sequence of stores.
5415 * config/sh/sh.c (arith_operand): Don't check whether
5416 CONST_OK_FOR_J for now.
5417 * config/sh/sh.md (movdf_media, movsf_media): Use HOST_WIDE_INT
5418 instead of long for conversion.
5419 2000-12-29 Alexandre Oliva <aoliva@redhat.com>
5420 * config/sh/sh.c (print_operand_address): Convert INTVAL to int
5421 before passing it to fprintf.
5422 2000-12-28 Alexandre Oliva <aoliva@redhat.com>
5423 * config/sh/crt1.asm (start): Reset SR.FD, to enable the FP unit.
5424 Call set_fpscr before reading/writing SR.
5425 * config/sh/crt1.asm (start): Set SR.SZ and SR.PR, but not SR.FR.
5426 Call set_fpscr.
5427 * config/sh/lib1funcs.asm: Add `.align 2' directives before
5428 SHmedia code.
5429 (FMOVD_WORKS): Define on SH5 with FPU.
5430 (set_fpscr): Define on SH5. Remove separate _fpscr_values
5431 setting.
5432 * config/sh/t-sh64 (LIB1ASMFUNCS): Add _set_fpscr instead of
5433 _fpscr_values.
5434 2000-12-28 Hans-Peter Nilsson <hpn@cygnus.com>
5435 * config/sh/lib1funcs.asm (ct_main_table): Align contents to even
5436 address.
5437 (ia_main_table): Ditto.
5438 2000-12-27 Alexandre Oliva <aoliva@redhat.com>
5439 * config/sh/sh.h (MAX_WCHAR_TYPE_SIZE): Don't define.
5440 * config/sh/sh64.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Reinstate
5441 the definitions from sh.h.
5442 * config/sh/sh.h (PTRDIFF_TYPE): Define as conditional on
5443 TARGET_SH5.
5444 (SUBTARGET_CPP_SPEC): Arrange for __PTRDIFF_TYPE__ to be defined.
5445 * config/sh/elf.h (PTRDIFF_TYPE): Likewise.
5446 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Likewise.
5447 2000-12-26 Alexandre Oliva <aoliva@redhat.com>
5448 * config/sh/sh.md (movdi_media split): Don't add REG_LABEL notes.
5449 Increment LABEL_NUSES.
d9b3eb63 5450
fa5322fa
AO
5451 * config/sh/sh.h (SIZE_TYPE): Define as conditional on
5452 TARGET_SH5.
5453 (SUBTARGET_CPP_SPEC): Arrange for __SIZE_TYPE__ to be always
5454 defined.
5455 * config/sh/elf.h (SIZE_TYPE): Likewise.
5456 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Likewise.
5457 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
5458 shcompact_incoming_args): Load switch table addresses using
5459 datalabel.
5460 * config/sh/sh.h (SUBTARGET_CPP_SPEC): Define __SIZE_TYPE__.
5461 (NO_BUILTIN_SIZE_TYPE): Define.
5462 (SIZE_TYPE): Don't define.
5463 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Define __SIZE_TYPE__.
5464 * config/sh/sh.h (CPP_SPEC): Fixed typo that prevented the
5465 definition of __SH5__=32 for -m5-compact-nofpu.
5466 * config/sh/sh.c (barrier_align): Ensure 32-bit alignment after
5467 ADDR_DIFF_VEC.
5468 2000-12-24 Alexandre Oliva <aoliva@redhat.com>
5469 * config/sh/sh.h (FUNCTION_ARG_PADDING): Removed.
5470 2000-12-23 Alexandre Oliva <aoliva@redhat.com>
5471 * config/sh/sh.h (TARGET_CACHE32): Enable on SH5.
5472 (FUNCTION_BOUNDARY): Ensure 32-bit alignment for SHmedia.
5473 (INSN_LENGTH_ALIGNMENT): Likewise.
5474 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
5475 * config/sh/sh.md (call, call_value, sibcall): Simplify
5476 copying of non-branch-target register.
5477 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
1e4e95d6 5478 * glimits.h (__LONG_MAX__): Revert 2000-12-13's patch.
fa5322fa
AO
5479 * config/sh/sh.h (CPP_SPEC): Define it here for 64-bit SHmedia.
5480 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
5481 * config/sh/sh.h (GET_SH_ARG_CLASS): Handle complex
5482 floating-point values as structs.
5483 (FUNCTION_ARG): Use SH5_PROTOTYPED_FLOAT_ARG.
5484 (SH5_PROTOTYPELESS_FLOAT_ARG): List FP registers before
5485 general-purpose register.
5486 (SH5_PROTOTYPED_FLOAT_ARG): New macro.
5487 2000-12-20 Alexandre Oliva <aoliva@redhat.com>
5488 * config/sh/sh.md (addsi3): Force operand1 to reg for SHmedia.
5489 * config/sh/sh.md (movsi_media): Split CONST_DOUBLE loads too.
5490 * config/sh/sh.h (DATALABEL_REF_P): Don't require the CONST.
5491 (ENCODE_SECTION_INFO): Enclose variables and constants in
5492 DATALABEL unspecs.
5493 (SH_DATALABEL_ENCODING, DATALABEL_SYMNAME_P): Define.
5494 (STRIP_NAME_ENCODING): Strip SH_DATALABEL_ENCODING off.
5495 (ASM_OUTPUT_LABELREF, AMS_OUTPUT_SYMBOL_REF): Define.
5496 * config/sh/sh.c (gen_datalabel_ref): Use UNSPEC_DATALABEL
5497 only for LABEL_REFs. For SYMBOL_REFs, prepend
5498 SH_DATALABEL_ENCODING to the symbol name.
5499 * config/sh/sh.md (indirect_jump): Use SUBREG instead of
5500 convert_mode().
5501 2000-12-20 Alexandre Oliva <aoliva@redhat.com>
5502 * config/sh/sh.md (casesi): Enclose ADDR_DIFF_VEC address in
5503 UNSPEC_DATALABEL.
5504 * config/sh/sh.c (gen_datalabel_ref): Accept LABEL_REFs.
5505 * config/sh/sh.h (DATALABEL_REF_NO_CONST_P): Likewise.
5506 (DATALABEL_REF_P): Don't require CONST.
5507 (ASM_OUTPUT_ADDR_DIFF_ELT): On SH5, output datalabel before
5508 REL label.
5509 2000-12-19 Alexandre Oliva <aoliva@redhat.com>
5510 * config/sh/sh.md (extendhidi2, extendqidi2): Use arithmetic shift
5511 right.
5512 2000-12-18 Alexandre Oliva <aoliva@redhat.com>
5513 * config/sh/sh.md (movsi_media, call, call_value, sibcall):
5514 Use shallow_copy_rtx and PUT_MODE to change the mode of
5515 SYMBOL_REFs, LABEL_REFs, CONSTs, etc.
5516 * config/sh/sh.h (PREFERRED_RELOAD_CLASS): Reload SYMBOL_REFs
5517 on SHmedia using GENERAL_REGs.
5518 * config/sh/sh.md (ble_media_i, blt_media_i, bleu_media_i,
5519 bltu_media_i): Fix reversion of conditions.
5520 2000-12-18 Alexandre Oliva <aoliva@redhat.com>
5521 * config/sh/sh.md (zero_extendhidi2): Use logical shift right.
5522 * config/sh/sh.c (output_far_jump): Save r13 in macl.
5523 2000-12-17 Alexandre Oliva <aoliva@redhat.com>
5524 * config/sh/sh.c (gen_datalabel_ref): Fix mode of the UNSPEC.
5525 2000-12-16 Alexandre Oliva <aoliva@redhat.com>
5526 * config/sh/lib1funcs.asm (ic_invalidate): Define for SH5.
5527 (GCC_nested_trampoline): Likewise.
5528 * config/sh/sh-protos.h (gen_datalabel_ref): Declare.
5529 * config/sh/sh.c (gen_datalabel_ref): Define.
5530 * config/sh/sh.h (TRAMPOLINE_SIZE): Adjust for SH5.
5531 (INITIALIZE_TRAMPOLINE): Likewise.
5532 (TRAMPOLINE_ADJUST_ADDRESS): Define.
5533 (DATALABEL_REF_NO_CONST_P, DATALABEL_REF_P): Define.
5534 (EXTRA_CONSTRAINT_T): Match DATALABEL unspecs.
5535 (OUTPUT_ADDR_CONST_EXTRA): Handle DATALABEL unspecs.
5536 * config/sh/sh.md (UNSPEC_DATALABEL): New constant.
5537 (ic_invalidate): Adjust for SH5.
5538 (ic_invalidate_line_media, ic_invalidate_line_compact): New insns.
5539 * config/sh/t-sh64 (LIB1ASMFUNCS): Added _ic_invalidate and
5540 _nested_trampoline.
5541 2000-12-15 Alexandre Oliva <aoliva@redhat.com>
5542 * config/sh/sh.h (MOVE_MAX): Set to 8 for SHmedia, 4 elsewhere.
5543 (MOVE_MAX_PIECES): Set to 8 on SHmedia too.
5544 2000-12-14 Alexandre Oliva <aoliva@redhat.com>
5545 * config/sh/sh.h (DBX_REGISTER_NUMBER): Adjust for sh64-elf-gdb.
5546 * config/sh/elf.h (DBX_REGISTER_NUMBER): Likewise.
5547 2000-12-14 Alexandre Oliva <aoliva@redhat.com>
5548 * config/sh/sh.c (target_reg_operand): Match only target-branch
5549 registers and pseudos that aren't virtual registers.
5550 * config/sh/sh.md (call, call_value, sibcall) [TARGET_SHMEDIA]:
5551 Copy operands that don't match target_reg_operand to pseudos.
5552 (call_media, call_value_media, sibcall_media): Use
5553 target_reg_operand instead of target_operand.
5554 2000-12-13 Alexandre Oliva <aoliva@redhat.com>
d9b3eb63 5555 * glimits.h (__LONG_MAX__) [SH5 == 64]: Adjust for 64 bits.
fa5322fa
AO
5556 * config/sh/sh.c (target_reg_operand): Match hardware registers
5557 other than branch-target registers.
5558 * config/sh/sh.md (zero_extendqidi2): Input operand is %1.
5559 * config/sh/lib1funcs.asm (sdivsi3) [SH5]: Make it global.
5560 (fpscr_values) [SH5 == 32]: Define.
5561 * config/sh/t-sh64 (LIB1ASMFUNCS): Add fpscr_values.
5562 * config/sh/sh.md (call, call_value, sibcall) [TARGET_SHMEDIA]:
5563 Handle function addresses coming in SUBREGs.
5564 2000-12-12 Alexandre Oliva <aoliva@redhat.com>
5565 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
5566 shcompact_return_trampoline): Use datalabel where appropriate.
5567 2000-12-09 Alexandre Oliva <aoliva@redhat.com>
5568 * config/sh/sh.h (SECONDARY_OUTPUT_RELOAD_CLASS): Use a
5569 general-purpose register to copy one branch-target register to
5570 another.
5571 2000-12-06 Alexandre Oliva <aoliva@redhat.com>
5572 * config/sh/sh.c (target_operand): Accept LABEL_REFs and
5573 SYMBOL_REFs with VOIDmode.
5574 * config/sh/sh.md (ble_media_i, blt_media_i, bleu_media_i,
5575 bltu_media_i): New insns.
5576 2000-12-06 Alexandre Oliva <aoliva@redhat.com>
5577 * config/sh/sh.h (RETURN_IN_MEMORY): Adjust for SH5 ABI.
5578 (INIT_CUMULATIVE_ARGS): Likewise.
5579 2000-12-01 Alexandre Oliva <aoliva@redhat.com>
5580 * machmode.def (V16SFmode): New mode.
5581 * c-common.c (type_for_mode): Support V2SF and V16SF.
5582 * tree.c (build_common_tree_nodes_2): Likewise.
5583 * tree.h (tree_index): Likewise.
5584 * calls.c (emit_call_1): Take args_so_far. Adjust all
5585 callers. Introduce CALL_POPS_ARGS.
5586 * tm.texi (CALL_POPS_ARGS): Document.
5587 * config/sh/crt1.asm: Implement in SHmedia mode.
5588 * config/sh/crti.asm, config/sh/crtn.asm: Likewise
5589 * config/sh/elf.h (ASM_SPEC, LINK_SPEC): Support SH5 flags.
5590 (DBX_REGISTER_NUMBER): Renumber registers for SH5.
5591 * config/sh/lib1funcs.asm: Disable functions unused in SH5.
5592 Implement divsi and udivsi in SHmedia mode. Introduce
5593 SHcompact trampolines.
5594 * config/sh/sh.c (GEN_MOV, GEN_ADD3, GEN_SUB3): Use DImode
5595 only in SHmedia64.
5596 (regno_reg_class): Rewrite.
5597 (fp_reg_names): Remove.
5598 (sh_register_names, sh_additional_register_names): New.
5599 (print_operand): Added `u'. Support SUBREGs in addresses.
5600 Add parentheses around shifted CONSTs.
5601 (output_file_start): Output .mode and .abi directives.
5602 (shiftcosts, addsubcosts, multcosts): Adjust.
5603 (output_stack_adjust): Compute alignment. Sanity-check SIZE.
5604 (push_regs): Take array of HOST_WIDE_INTs. Adjust callers.
5605 (calc_live_regs): Output to array of HOST_WIDE_INTs. Count
5606 bytes, not registers. Take into account the need for the
5607 SHcompact incoming args trampoline. Adjust all callers.
5608 (sh_expand_prologue): Take stack_regs into account. Call
5609 incoming args trampoline. Keep stack aligned as per SH5 ABI.
5610 (sh_expand_epilogue): Take stack_regs into accoutn. Keep
5611 stack aligned as per SH5 ABI.
5612 (sh_builtin_saveregs): Support SH5 ABI.
5613 (sh_build_va_list, sh_va_start): Likewise.
5614 (initial_elimination_offset): Take alignment into account.
5615 Compute location of PR according to the SH5 stack frame.
5616 (arith_reg_operand): Reject branch-target registers.
5617 (shmedia_6bit_operand): New.
5618 (logical_operand): Use CONST_OK_FOR_P on SHmedia.
5619 (target_reg_operand): Match DImode only. Accept SUBREGs.
5620 (target_operand): New.
5621 * config/sh/sh.h (CPP_SPEC, SUBTARGET_CPP_SPEC): Support SH5 flags.
5622 (CONDITIONAL_REGISTER_USAGE): Implement SH5 ABI. Initialize
5623 SIBCALL_REGS for SHmedia.
5624 (TARGET_SH3E, TARGET_SH4): Only if SH1_BIT is set too.
5625 (TARGET_FPU_DOUBLE, TARGET_FPU_ANY): New.
5626 (TARGET_SHMEDIA32, TARGET_SHMEDIA64): New.
5627 (TARGET_SWITCHES): New SH5 flags.
5628 (OVERRIDE_OPTIONS): Set SH5-specific options. Use
5629 VALID_REGISTER_P to disable unsupported registers.
5630 (LONG_TYPE_SIZE, LONG_LONG_TYPE_SIZE): Set.
5631 (POINTER_SIZE, PARM_BOUNDARY): Adjust.
5632 (FUNCTION_ARG_PADDING): Define.
5633 (FASTEST_ALIGNMENT): Adjust.
5634 (SH_REGISTER_NAMES_INITIALIZER): New.
5635 (sh_register_names): Declare.
5636 (DEBUG_REGISTER_NAMES): Define.
5637 (REGISTER_NAMES): Define based on sh_register_names.
5638 (SH_ADDITIONAL_REGISTER_NAMES_INITIALIZER): New.
5639 (sh_additional_register_names): Declare.
5640 (LAST_GENERAL_REG, LAST_FP_REG, LAST_XD_REG): Adjust for SHmedia.
5641 (FIRST_TARGET_REG, LAST_TARGET_REG): Define.
5642 (TARGET_REGISTER_P, SHMEDIA_REGISTER_P, VALID_REGISTER_P): Define.
5643 (REGISTER_NATURAL_MODE): Define.
5644 (FIRST_PSEUDO_REGISTER): Adjust.
5645 (FIXED_REGISTERS, CALL_USED_REGISTERS): Adjust.
5646 (HARD_REGNO_CALL_PART_CLOBBERED): Define.
5647 (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK): Adjust.
5648 (VECTOR_MODE_SUPPORTED_P): Define.
5649 (REG_CLASS_CONTENTS): Adjust.
5650 (SMALL_REGISTER_CLASSES): Adjust.
5651 (REG_ALLOC_ORDER): Adjust.
5652 (INDEX_REG_CLASS): Adjust.
5653 (CONST_OK_FOR_O, CONST_OK_FOR_P): New.
5654 (CONST_OK_FOR_LETTER_P): Adjust.
5655 (PREFERRED_RELOAD_CLASS): Adjust.
5656 (SECONDARY_OUTPUT_RELOAD_CLASS): Adjust.
5657 (SECONDARY_INPUT_RELOAD_CLASS): Adjust.
5658 (NPARM_REGS, FIRST_PARM_REG, FIRST_RET_REG): Adjust.
5659 (FIRST_FP_PARM_REG): Adjust.
5660 (CALL_POPS_ARGS): Define.
5661 (FUNCTION_ARG_REGNO_P): Adjust.
5662 (struct sh_args): New fields.
5663 (GET_SH_ARG_CLASS): Adjust.
5664 (INIT_CUMULATIVE_ARGS): Adjust.
5665 (INIT_CUMULATIVE_INCOMING_ARGS): Define.
5666 (FUNCTION_ARG_ADVANCE): Adjust.
5667 (FUNCTION_ARG): Adjust.
5668 (FUNCTION_ARG_PASS_BY_REFERENCE, SHCOMPACT_BYREF): Define.
5669 (FUNCTION_ARG_CALLEE_COPIES): Define.
5670 (SH5_PROTOTYPELESS_FLOAT_ARG): Define.
5671 (STRICT_ARGUMENT_NAMING): Define.
5672 (PRETEND_OUTGOING_VARARGS_NAMED): Adjust.
5673 (FUNCTION_ARG_PARTIAL_NREGS): Adjust.
5674 (SH5_WOULD_BE_PARTIAL_NREGS): Define.
5675 (SETUP_INCOMING_VARARGS): Adjust.
5676 (HAVE_POST_INCREMENT, HAVE_PRE_DECREMENT): Adjust.
5677 (USE_LOAD_POST_INCREMENT, USE_STORE_PRE_DECREMENT): Adjust.
5678 (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Adjust.
5679 (SUBREG_OK_FOR_INDEX_P): Adjust.
5680 (EXTRA_CONSTRAINT_S): Update.
5681 (EXTRA_CONSTRAINT_T): New.
5682 (EXTRA_CONSTRAINT): Adjust.
5683 (GO_IF_LEGITIMATE_INDEX): Adjust.
5684 (GO_IF_LEGITIMATE_ADDRESS): Adjust.
5685 (LEGITIMIZE_ADDRESS, LEGITIMIZE_RELOAD_ADDRESS): Adjust.
5686 (MOVE_MAX): Adjust.
5687 (MAX_MOVE_MAX): Define.
5688 (Pmode): Adjust.
5689 (CONST_COSTS): Adjust.
5690 (REGISTER_MOVE_COST): Adjust.
5691 (BRANCH_COST): Adjust.
5692 (TEXT_SECTION_ASM_OP): Adjust.
5693 (DBX_REGISTER_NUMBER): Adjust.
5694 (ASM_OUTPUT_DOUBLE_INT): New.
5695 (UNALIGNED_DOUBLE_INT_ASM_OP): New.
5696 (PREDICATE_CODES): Adjust.
5697 (PROMOTE_MODE): Adjust.
5698 (CRT_CALL_STATIC_FUNCTION): Do not define for SHmedia.
5699 * config/sh/sh.md (AP_REG, PR_REG, T_REG, GBR_REG): Renumber.
5700 (MACH_REG, MACL_REG, FPUL_REG, RAP_REG, FPSCR_REG): Renumber.
5701 (PR_MEDIA_REG, T_MEDIA_REG, R10_REG): New.
5702 (DR0_REG, DR2_REG, DR4_REG): Renumber.
5703 (TR0_REG, TR1_REG, TR2_REG): New.
5704 (XD0_REG): Renumber.
5705 (UNSPEC_COMPACT_ARGS): New.
5706 (type): Added pt and ptabs.
5707 (length): Default to 4 on SHmedia. Default pt length to 12
1e4e95d6 5708 and 20 on SHmedia32 and SHmedia64, respectively.
fa5322fa
AO
5709 (pt): New function unit.
5710 (movdi, movsi): Add types pt and ptabs. Don't increment LABEL_NUSES.
5711 Add whitespace between operands of SHmedia instructions.
5712 (movdicc): Fix.
5713 (adddi3_media, addsi3_media): Adjust constraints.
5714 (subsi3) [SHmedia]: Force operand 1 into a register.
5715 (udivsi3_i1_media, udivsi3_i4_media): New.
5716 (udivsi3): Support SHmedia.
5717 (divsi3_i1_media, divsi3_i4_media): New.
5718 (divsi3): Support SHmedia.
5719 (anddi3, iordi3, xordi3): Adjust constraints.
5720 (zero_extendhidi2, zero_extendqidi2): New.
5721 (extendsidi2, extendhidi2, extendqidi2): New.
5722 (push, pop, push_e, push_fpul, push_4): Disable on SH5.
5723 (pop_e, pop_fpul, pop_4): Likewise.
5724 (movsi_media): Support FP and BT registers.
5725 (movsi_media_nofpu): New. Adjust splits to DImode.
5726 (lduw, ldub): Renamed to zero_extend* above.
5727 (movqi_media): Fix typo.
5728 (movdi_media): Support FP and BT registers.
5729 (movdi_media_nofpu): New. Adjust splits for SHmedia32.
5730 (movdi_const_32bit): New.
5731 (shori_media): Require immediate operand. Use `u' for output.
5732 (movdf_media, movsf_media): Simplified.
5733 (movdf_media_nofpu, movsf_media_nofpu): New.
5734 (movdf, movsf): Adjust
5735 (movv2sf, movv2sf, movv16sf): New.
5736 (beq_media, beq_media_i): Adjust constraints. Don't use
5737 scratch BT register.
5738 (bne_media, bne_media_i): Likewise.
5739 (bgt_media, bgt_media_i): Likewise.
5740 (bge_media, bge_media_i): Likewise.
5741 (bgtu_media, bgtu_media_i): Likewise.
5742 (bgeu_media, bgeu_media_i): Likewise.
5743 (beq, bne, bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu,
5744 bunordered): Emit jump insn. Force operands to registers when
5745 needed.
5746 (jump_media, jump): Simplify.
5747 (call_compact, call_compact_rettramp): New.
5748 (call_value_compact, call_value_compact_rettramp): New.
5749 (call_media, call_value_media): Simplify.
5750 (sibcall_compact, sibcall_media): New.
5751 (call, call_value): Adjust for SHmedia and SHcompact.
5752 (sibcall, sibcall_value, untyped_call): Likewise.
5753 (sibcall_epilogue): Preserve r0 across epilogue for SHcompact.
5754 (indirect_jump): Adjust for SHmedia.
5755 (casesi_jump_media): New.
5756 (nop): Re-enable for SHmedia.
5757 (call_site): Restrict to SH1.
5758 (casesi): Adjust for SHmedia.
5759 (casesi_shift_media, casesi_load_media): New.
5760 (return): Explicitly use PR register. Call return trampoline
5761 on SHcompact.
5762 (return_i): Explicitly use PR register.
5763 (shcompact_return_tramp, shcompact_return_tramp_i): New.
5764 (return_media): Adjust.
5765 (shcompact_incoming_args): New.
5766 (epilogue): Adjust.
5767 (seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu, sne): Adjust.
5768 (movstrsi): Disable on SH5.
5769 (fpu_switch0, fpu_switch1, movpsi): Enable on SH4.
5770 (addsf3, addsf3_media): Test TARGET_SHMEDIA_FPU.
5771 (subsf3, subsf3_media): Likewise.
5772 (mulsf3, mulsf3_media, mac_media): Likewise.
5773 (divsf3, divsf3_media): Likewise.
5774 (floatdisf2, floatsisf2_media): Likewise. Adjust constraints.
5775 (floatsisf2, fux_truncsfsi2): Likewise.
5776 (fix_truncsfdi2, fix_truncsfsi2_media): Likewise. Adjust
5777 constraints.
5778 (cmpeqsf_media, cmpgtsf_media, cmpgesf_media): Likewise.
5779 (cmpunsf_media, cmpsf): Likewise.
5780 (negsf2, negsf2_media, sqrtsf2, sqrtsf2_media): Likewise.
5781 (abssf2, abssf2_media): Likewise.
5782 (adddf3, adddf3_media, subdf3, subdf3_media): Likewise.
5783 (muldf3, muldf3_media, divdf3, divdf3_media): Likewise.
5784 (floatdidf2, floatsidf2_media): Likewise. Adjust constraints.
5785 (floatsidf2, fix_truncdfsi2): Likewise.
5786 (fix_truncdfdi2, fix_truncdfsi2_media): Likewise. Adjust
5787 constraints.
5788 (cmpeqdf_media, cmpgtdf_media): Likewise.
5789 (cmpgedf_media, cmpundf_media, cmpdf): Likewise.
5790 (negdf2, negdf2_media, sqrtdf2, sqrtdf2_media): Likewise.
5791 (absdf2, absdf2_media): Likewise.
5792 (extendsfdf2, extendsfdf2_media): Likewise.
5793 (truncsfdf2, truncsfdf2_media): Likewise.
5794 * config/sh/sh64.h: New file.
5795 * config/sh/t-sh64: New file.
5796 * config/sh/shmedia.h: New file.
5797 * config/sh/ushmedia.h: New file.
5798 * config/sh/sshmedia.h: New file.
5799 * configure.in: Added sh64-*-elf.
5800 * configure: Rebuilt.
5801 2000-10-10 Alexandre Oliva <aoliva@redhat.com>
5802 * config/sh/sh.c (GEN_MOV, GEN_ADD3, GEN_SUB3): New macros.
5803 (reg_class_from_letter): Use `b' for TARGET_REGS.
5804 (print_operand): Support `%M', `%m', `AND' and
5805 `ASHIFTRT'. Do not precede constants with `#' on SHmedia.
5806 (andcosts): Adjust for SHmedia.
5807 (output_stack_adjust, sh_expand_prologue, sh_expand_epilogue):
5808 Likewise.
5809 (target_reg_operand): New function.
5810 * config/sh/sh-protos.h (target_reg_operand): Declare.
5811 * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Don't disable
5812 FP registers on SH5.
5813 (HARD_REGNO_MODE_OK): Accept them whenever they're acceptable
5814 on SH4.
5815 (TARGET_REGISTER_P): New macro.
5816 (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Added TARGET_REGS.
5817 (FUNCTION_VALUE): Use DImode for promoted types on SHmedia.
5818 (EXTRA_CONSTRAINT_S): New macro.
5819 (EXTRA_CONSTRAINT): Adjust.
5820 (FLOAT_TYPE_SIZE): Define to 32.
5821 (Pmode): DImode on SHmedia.
5822 (CONST_COSTS): Adjust for SHmedia literals.
5823 (PREDICATE_CODES): Added target_reg_operand.
5824 (PROMOTE_MODE): Promote signed types to DImode on SHmedia.
5825 * config/sh/sh.md: Remove all attrs from SHmedia insns.
5826 (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): New insns.
5827 (cmpdi): Accept SHmedia.
5828 (movdicc_false, movdicc_true): New insns.
5829 (movdicc): New expand.
5830 (adddi3): Accept arith_operand for op2, but FAIL on SH1 if
5831 no_new_pseudos.
5832 (addsi3_media): Match `S' constraint.
5833 (anddi3, andcdi3, iordi3, xordi3, negdi_media): New insns.
5834 (negdi2): Expand for SHmedia.
5835 (one_cmpldi2): New expand.
5836 (zero_extendsidi2): Change from expand to insn.
5837 (extendsidi2): Add constraints.
5838 (movdi_media, movsi_media): Change `%x' to `%M'. Use `%m' for
5839 LD/ST address. Fix SI immediate loading split.
5840 (movhi_media, movqi_media, lduw, ldub): New insns.
5841 (movhi, movqi): Accept SHmedia.
5842 (shori_media, movdi_media): Relax input constraints. Split
5843 symbolic constants.
5844 (movdf_media, movsf_media): New insn. New split to movdi.
5845 (movdf, movsf): Match on SHmedia.
5846 (beq_media, bne_media, bgt_media, bge_media, bgtu_media,
5847 bgeu_media): New insns and splits. New insns with `_i' suffix.
5848 (beq, bne, bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Adjust.
5849 (bunordered): New expand.
5850 (jump_compact): Renamed from `jump'.
5851 (jump_media): New insn.
5852 (jump): New expand.
5853 (call_media, call_value_media): New insns.
5854 (call, call_value): Adjust.
5855 (indirect_jump_compact): Renamed from `indirect_jump'.
5856 (indirect_jump_media): New insn.
5857 (indirect_jump): New expand.
5858 (untyped_call, return): Accept SHmedia.
5859 (return_media): New insn.
5860 (prologue, epilogue, blockage): Accept SHmedia.
5861 (seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu, sne): Adjust.
5862 (sunordered): New expand.
5863 (addsf3, subsf3, mulsf3, divsf3, floatsisf2, fix_truncsfsi2,
5864 cmpsf, negsf2, sqrtsf2, abssf2): Adjust for SHmedia.
5865 (addsf3_media, subsf3_media, mulsf3_media, mac_media,
5866 divsf3_media, floatdisf2, floatsisf2_media, fix_truncsfdi2,
5867 fix_truncsfsi2_media, cmpeqsf_media, cmpgtsf_media,
5868 cmpgesf_media, cmpunsf_media, negsf2_media, sqrtsf2_media,
5869 abssf2_media): New insns.
5870 (adddf3, subdf3, muldf3, divdf3, floatsidf2, fix_truncdfsi2,
5871 cmpdf, negdf2, sqrtdf2, absdf2): Adjust for SHmedia.
5872 (adddf3_media, subdf3_media, muldf3_media, divdf3_media,
5873 floatdidf2, floatsidf2_media, fix_truncdfdi2,
5874 fix_truncdfsi2_media, cmpeqdf_media, cmpgtdf_media,
5875 cmpgedf_media, cmpundf_media, negdf2_media, sqrtdf2_media,
5876 absdf2_media): New insns.
5877 (extendsfdf2, truncdfsf2): Adjust for SHmedia.
5878 (extendsfdf2_media, truncdfsf2_media): New insns.
5879 2000-09-14 Alexandre Oliva <aoliva@redhat.com>
5880 * config/sh/sh.c (machine_dependent_reorg): On shmedia, skip for now.
5881 * config/sh/sh.h (CONST_OK_FOR_J): Document.
5882 (LEGITIMATE_CONSTANT_P): Accept CONST_DOUBLEs on shmedia.
5883 * config/sh/sh.md (adddi3): New expand.
5884 (adddi3_media, adddi3z_media): New insns.
5885 (adddi3_compact): Renamed from adddi3.
5886 (addsi3_media): Use add.l r63 to add constant zero.
5887 (subdi3): New expand.
5888 (subdi3_media): New insn.
5889 (subdi3_compact): Renamed from subdi3.
5890 (mulsidi3): New expand.
5891 (mulsidi3_media): New insn.
5892 (mulsidi3_compact): Renamed from mulsidi3.
5893 (umulsidi3): New expand.
5894 (umulsidi3_media): New insn.
5895 (umulsidi3_compact): Renamed from umulsidi3.
5896 (ashlsi3_media, ashrsi3_media, lshrsi3_media): New insns.
5897 (ashlsi3, ashrsi3, lshrsi3): Use them.
5898 (ashldi3_media, ashrdi3_media, lshrdi3_media): New insns.
5899 (ashldi3, ashrdi3, lshrdi3): Use them.
5900 (zero_extendsidi2): New expand.
5901 (extendsidi2): New insn.
5902 (movsi_media): New insn. Split to movdi to load constants.
5903 (movsi): Enable for shmedia.
5904 (movdi_media): New insn. Use shori_media to load wide constants.
5905 (short_media): New insn.
5906 (movdi): Enable for shmedia.
5907 2000-09-08 Alexandre Oliva <aoliva@redhat.com>
5908 * config/sh/sh.h (CPP_SPEC): Added `m5'.
5909 (SUBTARGET_CPP_SPEC): Added `!m5'.
5910 (SH5_BIT, TARGET_SH5, TARGET_SHMEDIA, TARGET_SHCOMPACT): New macros.
5911 (TARGET_SWITCHES): Added `5' and `5-compact'. Added SH1_BIT
5912 to all other SH variants.
5913 (TARGET_DEFAULT): Set to SH1_BIT.
5914 (OVERRIDE_OPTIONS): Recognize sh5 CPU.
5915 (BITS_PER_WORD): Raise to 64 on shmedia.
5916 (MAX_BITS_PER_WORD): Change to 64.
5917 (MAX_LONG_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): Set to MAX_BITS_PER_WORD.
5918 (INT_TYPE_SIZE): Keep as 32.
5919 (UNITS_PER_WORD): Raise to 8 on shmedia.
5920 (MIN_UNITS_PER_WORD): Keep as 4.
5921 (POINTER_SIZE): Raise to 64 on shmedia.
5922 (CONST_OK_FOR_J): New macro.
5923 (CONST_OK_FOR_LETTER_P): Use it.
5924 (processor_type): Add PROCESSOR_SH5.
5925 * config/sh/sh.md: Conditionalize all expands, insns and
5926 splits to TARGET_SH1.
5927 (cpu): Added sh5.
5928 (addsi3_compact): Renamed from...
5929 (addsi3): Now an expand.
5930 (addsi3_media, subsi3_media): New insns.
5931 (subsi3): Don't negate constants with SHmedia.
5932
e4ec2cac
AO
5933 * hooks.c: New file.
5934 * hooks.h: New file.
5935 * Makefile.in (HOOKS_H): New.
5936 (TARGET_DEF_H): Added $(HOOKS_H).
5937 (OBJS): Added hooks.o.
5938 (cfgcleanup.o, bb-reorder.o): Added target.h.
5939 (hooks.o): Added dependencies.
5940 * target-def.h (TARGET_CANNOT_MODIFY_JUMPS_P): New, added to...
5941 (TARGET_INITIALIZER): this.
5942 * doc/tm.texi (TARGET_CANNOT_MODIFY_JUMPS_P): Document.
5943 * target.h (struct gcc_target): Added cannot_modify_jumps_p.
5944 * bb-reorder.c: Include target.h.
5945 (reorder_basic_blocks): Skip if cannot modify jumps.
5946 * cfgcleanup.c: Include target.h.
5947 (try_optimize_cfg): Skip merge blocking if cannot modify jumps.
5948
246a46e0
CD
59492002-02-08 Chris Demetriou <cgd@broadcom.com>
5950
831c4e87
KC
5951 * config/mips/mips.md (casesi_internal, casesi_internal_di):
5952 Protect jump delay slot instructions with .set noreorder and
5953 .set nomacro.
246a46e0
CD
5954
59552002-02-08 Chris Demetriou <cgd@broadcom.com>
6a5ea3f4
CD
5956
5957 * config/mips/mips.md (casesi_internal_di): Calculate
5958 the index into the target offset table correctly.
5959
fdf473ae
RH
59602002-02-08 Richard Henderson <rth@redhat.com>
5961
5962 * expr.c (expand_expr): Mind EXPAND_INITIALIZER for truncation also.
5963 * final.c (output_addr_const): Accept and discard SUBREG.
5964 * varasm.c (decode_addr_const): Don't abort on unknown expressions --
5965 mark them unknown instead.
5966 (simplify_subtraction): Handle RTX_UNKNOWN.
5967 (initializer_constant_valid_p): Strip NOP_EXPRs that narrow the mode.
5968
c50503ac
DE
59692002-02-08 David Edelsohn <edelsohn@gnu.org>
5970
5971 * doc/invoke.texi (RS/6000 and PowerPC Options): Fix typo.
5972
3660d217
RH
59732002-02-08 Richard Henderson <rth@redhat.com>
5974
5975 * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_BSS): New.
5976
56547299
AJ
59772002-02-08 Andreas Jaeger <aj@suse.de>
5978
5979 * config.gcc (x86_64-*-linux): Add t-linux64 makefile fragment.
5980 * config/i386/t-linux64: New file.
5981
1cf537c5
JJ
59822002-02-08 Jakub Jelinek <jakub@redhat.com>
5983
5984 * c-common.c (c_expand_expr): Revert 2002-02-06 patch.
5985 * c-parse.in (compstmt): Clear last_expr_type.
5986
5c7f5a5f
RH
59872002-02-07 Richard Henderson <rth@redhat.com>
5988
5989 * loop.c (strength_reduce): Sink final_value when not
5990 eliminating a biv.
5991
b1138bf3
DB
59922002-02-07 David O'Brien <obrien@FreeBSD.org>
5993
5994 * config/sparc/freebsd.h: Fix mismatched spec {.
5995
b6878a45
RH
59962002-02-07 Richard Henderson <rth@redhat.com>
5997
5998 * cfgrtl.c: Include recog.h and insn-config.h.
5999 (keep_with_call_p): Fix general_operand invocation.
6000 * Makefile.in (cfgrtl.o): Update dependencies.
6001
ae19f5ef
KH
60022002-02-07 Kazu Hirata <kazu@hxi.com>
6003
6004 * config/h8300/h8300.c (two_insn_adds_subs_operand): Revise a
6005 comment. Accept HImode only if TARGET_H8300.
6006
b137f9fc
EC
60072002-02-07 Eric Christopher <echristo@redhat.com>
6008
6009 * config/mips/crtn.asm: Cleanup #ifdefs.
6010
60112002-02-07 Eric Christopher <echristo@redhat.com>
6012
6013 * config/mips/crti.asm: Add changes for mips16. mips16 uses
6014 register 7 as RA instead of $31.
6015 * config/mips/crtn.asm: Ditto.
6016 * config/mips/mips.c (mips_move_2words): Add case for
6017 TARGET_MIPS16 when HOST_BITS_PER_WIDE_INT >= 64.
6018 (compute_frame_size): Fix typo.
6019 (save_restore_insns): Ditto. Make documentation about using
6020 register $7 as return register more precise.
6021 (mips_expand_epilogue): Fix comment. Add code to work around not
6022 being able to add to the stack pointer directly.
6023 * config/mips/mips.h (EH_RETURN_DATA_REGNO): Change register number
6024 to 2 for TARGET_MIPS16 as we need 6 and 7 as clobbers in the
6025 epilogue.
6026
768070a0
TR
60272002-02-07 Tom Rix <trix@redhat.com>
6028
b137f9fc 6029 * config/rs6000/rs6000.c (reg_or_aligned_short_operand): New. For
768070a0
TR
6030 immediates in ldu and stdu DS opcode field.
6031 * config/rs6000/rs6000.md (movdi_update, movdi_update1): Use.
6032 * config/rs6000/rs6000-protos.h: Add reg_or_aligned_short_operand.
6033 * config/rs6000/rs6000.h (PREDICATE_CODES): Same.
6034
225909c3
JS
60352002-02-07 Jeff Sturm <jsturm@one-point.com>
6036
6037 * config/sparc/sparc.c (compute_frame_size): Don't correct frame
6038 offset for stack bias.
6039
15fae023
L
60402002-02-07 H.J. Lu <hjl@gnu.org>
6041
6042 * config/mips/linux.h (SUBTARGET_ASM_DEBUGGING_SPEC): Defined.
6043
fde5badd
UW
60442002-02-07 Ulrich Weigand <uweigand@de.ibm.com>
6045
6046 * testsuite/gcc.dg/cpp/charconst-2.c: Add -fsigned-char option.
6047
162f023b
JH
6048Thu Feb 7 12:14:17 CET 2002 Jan Hubicka <jh@suse.cz>
6049
6050 * i386-protos.h (x86_order_regs_for_local_alloc): Declare
6051 * i386.c (x86_order_regs_for_local_alloc): New global function.
6052 * i386.h (REG_ALLOC_ORDER): CLeanup.
6053 (ORDER_REGS_FOR_LOCAL_ALLOC): New.
6054
9b462c42
RH
60552002-02-07 Richard Henderson <rth@redhat.com>
6056
85aa876c 6057 PR optimization/2463
9b462c42
RH
6058 * alias.c (find_base_value): Recall base values for fixed hard regs.
6059 * loop.c (loop_regs_update): Don't use single_set on non-insns.
6060
06e455a9
AO
60612002-02-07 Alexandre Oliva <aoliva@redhat.com>
6062
6063 * config/mips/mips.md (define_delay) [mips16]: Adjust required
6064 length.
6065
edd1967d
RH
60662002-02-06 Richard Henderson <rth@redhat.com>
6067
6068 PR c/5609
6069 * stmt.c (resolve_operand_name_1): Take more care with mixed
6070 named and unnamed operands.
6071
a2cd028f
JJ
60722002-02-06 Janis Johnson <janis187@us.ibm.com>
6073 Jan Hubicka <jh@suse.cz>
6074
6075 * loop.c (remove_constant_addition): Avoid clobbering a shared
6076 CONST expression.
6077
e8487c04
UW
60782002-02-06 Ulrich Weigand <uweigand@de.ibm.com>
6079
6080 * config.gcc (s390x-*-linux*): Add t-linux64 makefile fragment.
6081 * config/s390/t-linux64: New file.
6082 * config/s390/libgcc-glibc.ver: New file.
6083
58d10f89
UW
60842002-02-06 Ulrich Weigand <uweigand@de.ibm.com>
6085
6086 * config/s390/linux64.h: Delete file.
6087 * config/s390/s390x.h: New file.
6088 * config.gcc (s390x-*-linux*): Use s390x.h instead of linux64.h
6089 as target header file.
6090 * config/s390/linux.h (TARGET_VERSION): Define depending on
6091 DEFAULT_TARGET_64BIT.
6092 (CPP_SPEC, ASM_SPEC, LINK_SPEC): Likewise.
6093 (SIZE_TYPE, PTRDIFF_TYPE): Likewise.
6094 (NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define.
6095 (CPP_ARCH31_SPEC, CPP_ARCH64_SPEC): New defines.
6096 (LINK_ARCH31_SPEC, LINK_ARCH64_SPEC): New defines.
6097 (EXTRA_SPEC): New define.
6098 * config/s390/s390.h (TARGET_VERSION): Define depending on
6099 DEFAULT_TARGET_64BIT.
6100 (MASK_RETURN_ADDR): Add run-time check for TARGET_64BIT.
6101
5ce89b2e
JM
61022002-02-06 Jason Merrill <jason@redhat.com>
6103
6104 * c-decl.c (finish_function): Warn about a non-void function with
6105 no return statement and no abnormal exit.
6106 (current_function_returns_abnormally): New variable.
6107 (start_function): Clear it.
6108 (struct c_language_function): Add returns_abnormally.
6109 (push_c_function_context): Save it.
6110 (pop_c_function_context): Restore it.
6111 (builtin_function): Set TREE_THIS_VOLATILE on return fns.
6112 (grokdeclarator): Set C_FUNCTION_IMPLICIT_INT on functions without
6113 an explicit return type.
6114 * c-tree.h: Declare current_function_returns_abnormally.
6115 (C_FUNCTION_IMPLICIT_INT): New macro.
6116 * c-typeck.c (build_function_call): Set it.
6117 (c_expand_return): Set current_function_returns_value even if the
6118 value is erroneous.
6119
caaf2272
JJ
61202002-02-06 Jakub Jelinek <jakub@redhat.com>
6121
6122 PR c/5420:
6123 * c-common.c (c_unsafe_for_reeval): Make COMPOUND_LITERAL_EXPR
6124 unsafe for reevaluation.
6125
d5129288
JJ
61262002-02-06 Jakub Jelinek <jakub@redhat.com>
6127
6128 PR c/5482:
6129 * c-common.c (c_expand_expr) [STMT_EXPR]: If last expression is not
6130 EXPR_STMT, but COMPOUND_STMT, recurse into it.
6131
7fb75099
RH
61322002-02-06 Richard Henderson <rth@redhat.com>
6133
6134 * cfganal.c (keep_with_call_p): Source for fixed_reg dest must
6135 be a general_operand. Dest for function value must be a pseudo.
6136
d3a8b6a6
NC
61372002-02-06 Nick Clifton <nickc@cambridge.redhat.com>
6138
6139 * dbxout.c (dbxout_symbol_location): Accept LABEL_REFs as well
6140 as SYMBOL_REFs from the constant pool.
6141
3c1299c5
AO
61422002-02-06 Alexandre Oliva <aoliva@redhat.com>
6143
6144 * dbxout.c (dbxout_parms): Apply DEBUGGER_ARG_OFFSET to parameters
6145 passed by invisible reference.
6146
c2c9f6c9
RH
61472002-02-05 Richard Henderson <rth@redhat.com>
6148
6149 * config/sparc/sparc.h (ARG_POINTER_CFA_OFFSET): No stack bias.
6150
a824924d
HPN
61512002-02-06 Hans-Peter Nilsson <hp@bitrange.com>
6152
6153 Implement using "base addresses" in insn operands as default.
6154 * config/mmix/mmix.c (mmix_conditional_register_usage): if
6155 -mabi=gnu, modify fixed_regs to fit the GNU ABI.
6156 (mmix_extra_constraint): Use 'R' to indicate that GETA should be
6157 used to read the rtx value.
6158 (mmix_target_asm_function_epilogue): Fix spacing.
6159 (mmix_constant_address_p): Handle TARGET_BASE_ADDRESSES.
6160 (mmix_legitimate_address): Ditto.
6161 (mmix_encode_section_info): Set SYMBOL_REF_FLAG on rtx:es that
6162 should be loaded with a GETA insn. Don't allocate needless extra
6163 char for nul termination and fix misleading comment.
6164 (mmix_print_operand_address): Handle constants if
6165 TARGET_BASE_ADDRESSES.
6166 (mmix_output_register_setting): Use base addressing if
6167 TARGET_BASE_ADDRESSES and the number of insns is 3.
6168 * config/mmix/t-mmix (MULTILIB_EXTRA_OPTS): New.
6169 * config/mmix/mmix.md ("movdi"): Change the alternative with GETA
6170 to use R as constraint, add LDA to match s.
6171 * config/mmix/mmix.h (TARGET_BASE_ADDRESSES): New.
6172 (TARGET_DEFAULT): Add TARGET_MASK_BASE_ADDRESSES.
6173 (TARGET_SWITCHES): Add -mbase-addresses, -mno-base-addresses.
6174 (FIXED_REGISTERS): Make registers $231..$246 fixed by default.
6175 (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Move $231..$246 last, in
6176 order with other fixed registers.
6177 (MMIX_GNU_ABI_REG_ALLOC_ORDER): Put forward $231, in order with
6178 other parameter/call-clobbered registers.
6179 * doc/invoke.texi (Option Summary) <MMIX Options>: Add
6180 -mbase-addresses, -mno-base-addresses.
6181 (MMIX Options): Ditto.
6182
73c342b9
JDA
61832002-02-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
6184
6185 * pa.h (PREDICATE_CODES): Add reg_before_reload_operand.
6186
ef238c58
AH
61872002-02-06 Aldy Hernandez <aldyh@redhat.com>
6188
831c4e87 6189 * config/rs6000/altivec.h: Change elem to _S_elem.
ef238c58 6190
ad08e60e
JT
61912002-02-05 Jason Thorpe <thorpej@wasabisystems.com>
6192
6193 * config/netbsd.h (WCHAR_TYPE): Define.
6194 (WCHAR_TYPE_SIZE): Ditto.
6195 (WINT_TYPE): Ditto.
6196 * config/alpha/netbsd.h (WCHAR_TYPE): Remove.
6197 (WCHAR_UNSIGNED): Ditto.
6198 (WCHAR_TYPE_SIZE): Ditto.
6199 (WINT_TYPE): Ditto.
6200 * config/arm/netbsd.h: Likewise.
6201 * config/i386/netbsd-elf.h: Likewise.
6202 * config/i386/netbsd.h: Likewise.
6203 * config/m68k/netbsd-elf.h: Likewise.
6204 * config/m68k/netbsd.h: Likewise.
6205 * config/ns32k/netbsd.h: Likewise.
6206 * config/sparc/netbsd.h: Likewise.
6207 * config/vax/netbsd.: Likewise.
6208
f913c102
AO
62092002-02-05 Alexandre Oliva <aoliva@redhat.com>
6210
6211 * target.h (struct gcc_target): Added ms_bitfield_layout_p.
6212 * target-def.h (TARGET_MS_BITFIELD_LAYOUT_P): New. Added to...
6213 (TARGET_INITIALIZER): this.
6214 * doc/tm.texi (TARGET_MS_BITFIELD_LAYOUT_P): Document.
6215 (BITFIELD_NBYTES_LIMITED): Markup fix.
6216 * tree.h (default_ms_bitfield_layout_p): Declare.
6217 (record_layout_info): Added prev_field.
6218 * tree.c (default_ms_bitfield_layout_p): New fn.
6219 * c-decl.c (finish_struct): Disregard EMPTY_FIELD_BOUNDARY and
6220 PCC_BITFIELD_TYPE_MATTERS for MS bit-field layout.
6221 * stor-layout.c: Include target.h.
6222 (start_record_layout): Initialize prev_field.
6223 (place_field): Handle MS bit-field layout, and disregard
6224 EMPTY_FIELD_BOUNDARY, BITFIELD_NBYTES_LIMITED and
6225 PCC_BITFIELD_TYPE_MATTERS in this case. Update prev_field.
6226 * Makefile.in (stor-layout.o): Adjust dependencies.
6227
c13db5d1
JM
62282002-02-05 Jason Merrill <jason@redhat.com>
6229
c13db5d1
JM
6230 * collect2.c (dump_file): Pass DMGL_VERBOSE to cplus_demangle.
6231
4505024e
AJ
62322002-02-05 Andreas Jaeger <aj@suse.de>
6233
6234 * crtstuff.c: Fix comments.
6235
794ad79d
RH
62362002-02-05 Richard Henderson <rth@redhat.com>
6237
2e279a9b
RH
6238 PR fortran/3393
6239 * loop.c (loop_iv_add_mult_emit_before): Copy multiplier as well.
6240 (loop_iv_add_mult_sink, loop_iv_add_mult_hoist): Likewise.
6241
794ad79d
RH
6242 PR fortran/3392
6243 * config/mips/mips.c (function_arg): Handle TImode.
6244 (function_arg_advance): Likewise.
6245
8f909017
AH
62462002-02-05 Aldy Hernandez <aldyh@redhat.com>
6247
c13db5d1
JM
6248 * config/rs6000/altivec.h (vec_step_help): Rename to
6249 __vec_step_help.
8f909017 6250
66daa9e3
AH
62512002-02-05 Aldy Hernandez <aldyh@redhat.com>
6252
c13db5d1 6253 * config/rs6000/altivec.h: Fix typos.
66daa9e3 6254
2696e97b
JT
62552002-02-05 Jason Thorpe <thorpej@wasabisystems.com>
6256
6257 * config/arm/netbsd.h: Correct a comment.
6258
3deb2758
AH
62592002-02-05 Aldy Hernandez <aldyh@redhat.com>
6260
c13db5d1
JM
6261 * config/rs6000/rs6000.c (altivec_init_builtins): Fix typo
6262 building void typed builtins.
3deb2758 6263
c13db5d1
JM
6264 * config/rs6000/altivec.h (vec_ld*): Fix typos.
6265 (vec_step): Implement for C++.
3deb2758 6266
c13db5d1 6267Mon Feb 4 19:23:19 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2c79137a
RK
6268
6269 * final.c (final_scan_insn): Add case for NOTE_INSN_LOOP_END_TOP_COND.
6270
ebbb0a63
RH
62712002-02-04 Richard Henderson <rth@redhat.com>
6272
6273 * combine.c (nonzero_bits): Re-introduce special case for
6274 sp/fp/ap wrt REGNO_POINTER_ALIGN.
6275
ae4b4a02
AH
62762002-02-05 Aldy Hernandez <aldyh@redhat.com>
6277
c13db5d1
JM
6278 * doc/extend.texi: Warn about unsupported usage of altivec
6279 builtins.
ae4b4a02 6280
c13db5d1
JM
6281 * config/rs6000/rs6000.md (altivec_vcmp*_p): Remove.
6282 (altivec_predicate_*): New.
ae4b4a02 6283
c13db5d1
JM
6284 * config/rs6000/altivec.h: Rewrite predicates to use new builtins.
6285 Add C++ version of vec_*() functions.
ae4b4a02 6286
c13db5d1
JM
6287 * config/rs6000/rs6000.c (bdesc_altivec_preds): New.
6288 (bdesc_2arg): Remove altivec predicates.
6289 (altivec_expand_builtin): Handle predicates.
6290 (altivec_init_builtins): Handle predicates.
6291 (altivec_expand_predicate_builtin): New.
ae4b4a02 6292
f6bcf44c
JDA
62932002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
6294
6295 * pa.c (DO_FRAME_NOTES): Move forward.
6296 (store_reg): Revise handling of frame notes.
6297 (load_reg): Likewise.
6298 (set_reg_plus_d): Likewise.
6299 (hppa_expand_prologue): Likewise.
6300 (hppa_expand_epilogue): Likewise.
b137f9fc 6301
703b0080
JDA
63022002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
6303
6304 * unwind-dw2-fde-glibc.c: Define _GNU_SOURCE if not defined.
6305
6f9fdf4d
JJ
63062002-02-04 Jakub Jelinek <jakub@redhat.com>
6307
6308 PR c/4475, c++/3780:
6309 * c-common.def (SWITCH_STMT): Add SWITCH_TYPE operand.
6310 * c-common.h (SWITCH_TYPE): Define.
6311 * c-typeck.c (c_start_case): Set SWITCH_TYPE.
6312 * stmt.c (all_cases_count): Set lastval to thisval at end of loop.
6313 Rename spareness variable to sparseness.
6314 (expand_end_case_type): Renamed from expand_end_case, use orig_type
6315 if non-NULL instead of TREE_TYPE (orig_index).
6316 * tree.h (expand_end_case_type): Renamed from expand_end_case.
6317 (expand_end_case): Define using expand_end_case_type.
6318 * c-semantics.c (genrtl_switch_stmt): Pass SWITCH_TYPE
6319 to expand_end_case_type.
6320 * doc/c-tree.texi (SWITCH_STMT): Document SWITCH_TYPE.
6321
79109502
JDA
63222002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
6323
6324 * pa.h (PREFERRED_STACK_BOUNDARY): Define to match standard rounding.
6325 (BIGGEST_ALIGNMENT): Change to 128.
6326
e62a5987
JDA
63272002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
6328
6329 * pa32-linux.h (LINK_COMMAND_SPEC): Define.
6330
219f24a4
JDA
63312002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
6332
6333 * pa.md (call_internal_reg_64bit): Remove unused variable.
6334
3cb66fd7
NC
63352002-02-04 Nick Clifton <nickc@cambridge.redhat.com>
6336
6337 * config/arm/arm.h (machine_function): Add uses_anonymous_args
6338 field.
831c4e87 6339 (SETUP_INCOMING_VARARGS): Set uses_anonymous_args.
3cb66fd7 6340 * config/arm/arm.c (current_function_anonymous_args): Delete,
831c4e87
KC
6341 replace uses with cfun->machine->uses_anonymous_args.
6342 (arm_reorg): Do not reset uses_anonymous_args.
3cb66fd7
NC
6343
6344 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow any value in
6345 any geenral register.
b137f9fc 6346
5d5603e2 63472001-02-04 Bernd Schmidt <bernds@redhat.com>s
24c545ff
BS
6348
6349 * cfgrtl.c (force_nonfallthru_and_redirect): Don't try to redirect
6350 the entry block.
6351
563c12b0
RH
63522002-02-04 Richard Henderson <rth@redhat.com>
6353
6354 * combine.c (force_to_mode): Remove STACK_BIAS code.
6355 (nonzero_bits): Likewise. Replace sp/fp special case with
6356 REGNO_POINTER_ALIGN.
6357
6358 * config/sparc/sparc.h (FRAME_POINTER_REGNUM): Change to SFP.
6359 (HARD_FRAME_POINTER_REGNUM): New.
6360 (FIRST_PSEUDO_REGISTER, REG_CLASS_CONTENTS): Update.
6361 (FIXED_REGS, CALL_USED_REGS): Update.
6362 (REG_ALLOC_ORDER, REGISTER_NAMES): Update.
6363 (CONDITIONAL_REGISTER_USAGE): Update for HFP.
6364 (HARD_REGNO_NREGS): Update for SFP.
6365 (STACK_POINTER_OFFSET): Include bias here ...
6366 (FIRST_PARM_OFFSET): ... not here.
6367 (STACK_BIAS): Remove.
6368 (INIT_EXPANDERS): New.
6369 (STARTING_FRAME_OFFSET): Do not include bias.
6370 (ELIMINABLE_REGS, CAN_ELIMINATE, INITIAL_ELIMINATION_OFFSET): New.
6371 (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P): Update for SFP.
6372 (REG_OK_FOR_INDEX_P, REG_OK_FOR_BASE_P): Likewise.
6373 * config/sparc/aout.h (DBX_REGISTER_NUMBER): Update for HFP.
6374 * config/sparc/litecoff.h, config/sparc/sol2.h: Likewise.
6375 * config/sparc/sparc.c (mem_min_alignment): Update for HFP.
6376 (sparc_nonflat_function_prologue, epilogue_renumber): Likewise.
6377 (MUST_SAVE_REGISTER): Likewise.
6378 (sparc_flat_function_prologue): Likewise.
6379 (sparc_flat_function_epilogue): Likewise.
6380 (HARD_FRAME_POINTER_MASK): Rename from FRAME_POINTER_MASK.
6381 (sparc_init_modes): SFP is GENERAL_REGS.
6382 (sparc_builtin_saveregs): SFP does not have bias applied.
6383
14691f8d
RH
63842002-02-04 Richard Henderson <rth@redhat.com>
6385
6386 * config/alpha/alpha.c (current_function_is_thunk): Don't check
6387 current_function_is_thunk.
6388 (alpha_sa_mask): Distinguish between current_function_is_thunk
6389 called from ASM_OUTPUT_MI_THUNK and not.
6390 (alpha_does_function_need_gp): Thunks always need gp.
6391 (alpha_start_function, alpha_output_function_end_prologue): Likewise.
6392 (alpha_output_mi_thunk_osf): New.
6393 * config/alpha/alpha-protos.h: Update.
6394 * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): New.
6395
af702de8
RS
63962002-02-04 Richard Sandiford <rsandifo@redhat.com>
6397
6398 * c-typeck.c (build_c_cast): Warn when qualifiers are added to
6399 function types, not when they're taken away.
6400
5b1cacd8
JL
6401Mon Feb 4 09:05:58 2002 Jeffrey A Law (law@redhat.com)
6402
6403 * cfgrtl.c (try_redirect_by_replacing_jump): Remove associated
6404 CODE_LABEL and jump table when replacing a table jump with a
6405 simple jump.
6406
f3e9edff
UW
64072002-02-04 Ulrich Weigand <uweigand@de.ibm.com>
6408
6409 * config/s390/s390-protos.h (legitimize_la_operand,
6410 s390_secondary_input_reload_class, s390_plus_operand,
6411 s390_expand_plus_operand): Add prototypes.
6412
6413 config/s390/s390.c (s390_secondary_input_reload_class,
6414 s390_plus_operand, s390_expand_plus_operand): New functions.
6415
6416 (struct s390_address): New member 'pointer'.
6417 (s390_decompose_address): Compute it.
6418 (legitimate_la_operand_p): Use it.
6419 (legitimize_la_operand): New function.
6420 (movti, movdi, movdf splitters): Call it.
6421
6422 config/s390/s390.h (SECONDARY_INPUT_RELOAD_CLASS): Define.
6423 (PREDICATE_CODES): Add s390_plus_operand.
6424
6425 config/s390/s390.md (adddi3_inv_64, addaddr_ccclobber): Delete.
6426 (la_ccclobber): Allow GENERAL_REGS as output operand.
6427
6428 (reload_load_address, *reload_load_address_reg_0, *la, *do_la_reg_0,
6429 *reload_la_64, *reload_la_31 and splitters): Delete, replace by ...
6430 (*la_64, *la_31, reload_indi, reload_insi): ... these.
6431
3c9a08ec
UW
64322002-02-04 Ulrich Weigand <uweigand@de.ibm.com>
6433
6434 * gcc/config/s390/s390.h (CRT_CALL_STATIC_FUNCTION): Fixed
6435 register names for regular asm () construct.
6436
ac300a45
JJ
64372002-02-04 Jakub Jelinek <jakub@redhat.com>
6438
6439 * config/i386/i386.md (movsf_1): Allow moving SF values in MMX
6440 registers.
6441
fa852403
JJ
64422002-02-04 Jakub Jelinek <jakub@redhat.com>
6443
6444 * combine.c (recog_for_combine): Create a dummy insn with PATTERN
6445 pat for recog.
6446
fecaac37
HP
64472002-02-04 Hartmut Penner <hpenner@de.ibm.com>
6448
831c4e87
KC
6449 * varasm.c (decode_rtx_const): Allow unspec (symbol_ref) in
6450 constant pool to be identical by string address and index.
fecaac37 6451
10c45943
AG
64522002-02-04 Anthony Green <green@redhat.com>
6453
6454 * output.h (SECTION_OVERRIDE): Define.
6455 * varasm.c (named_section): Obey SECTION_OVERRIDE.
6456
69474c3c
JT
64572002-02-03 Jason Thorpe <thorpej@wasabisystems.com>
6458
6459 * config.gcc (arm*-*-netbsdelf*): Placeholder to prevent match
6460 by existing arm*-*-netbsd* (a.out) target.
6461 (ns32k-*-netbsdelf*): Likewise.
6462 (sparc-*-netbsdelf*): Likewise.
6463 (vax-*-netbsdelf*): Likewise.
6464
939a46f6 64652002-02-03 Danny Smith <dannysmith@users.sourceforge.net>
3b56934f
CF
6466
6467 * gthr-win32.h: Protect against conflicting typedef for BOOL in windows
6468 headers and libobjc headers.
6469
64702002-02-03 Mumit Khan <khan@nanotech.wisc.edu>
6471
6472 * gthr-win32.h (__mingwthr_key_dtor): Use extern "C" linkage for C++.
6473 (_mingw.h): Remove duplicate include.
6474
2fd95d71
JT
64752002-02-03 Jason Thorpe <thorpej@wasabisystems.com>
6476
6477 * config.gcc: Set cpu_type to m68k for 68010, as well.
6478 (m68010-*-netbsdelf*): New...
6479 (m68k*-*-netbsdelf*): ...targets.
6480 * config/m68k/netbsd-elf.h: New file.
6481
0ea6f6a0
KH
64822002-02-02 Kazu Hirata <kazu@hxi.com>
6483
6484 * config/h8300/h8300.c (hand_list): Move inside function_arg.
6485
cbf1b2da
KH
64862002-02-02 Kazu Hirata <kazu@hxi.com>
6487
6488 * config/h8300/h8300.c (h8_push_ops): Move inside
6489 h8300_init_once.
6490 (h8_pop_ops): Likewise.
6491 (h8_move_ops): Likewise.
6492
0869f126
KH
64932002-02-02 Kazu Hirata <kazu@hxi.com>
6494
6495 * config/h8300/h8300.c (os_task): Make it static.
6496 (monitor): Likewise.
6497 (pragma_saveall): Likewise.
6498
90e65b70
AO
64992002-02-02 Alexandre Oliva <aoliva@redhat.com>
6500
6501 * config/sh/sh.md (ic_invalidate_line): Make sure the immediate
6502 constant is a valid sign-extension for Pmode.
6503
9cbcd983
KH
65042002-02-02 Kazu Hirata <kazu@hxi.com>
6505
6506 * config/h8300/h8300.c: Fix formatting.
6507
7a27efc4
KH
65082002-02-02 Kazu Hirata <kazu@hxi.com>
6509
6510 * config/h8300/h8300.md: Fix formatting.
6511
54175a44
KH
65122002-02-02 Kazu Hirata <kazu@hxi.com>
6513
6514 * config/h8300/h8300.md (one_cmpl patterns): Tighten the
6515 predicates of operands[1]. Split the patterns for each
6516 processor variant.
6517
eceb1755
KH
65182002-02-02 Kazu Hirata <kazu@hxi.com>
6519
6520 * config/h8300/h8300.md (xor patterns): Tighten the predicates
6521 of operands[1] to register_operand.
6522
0fef3fd0
NB
65232002-02-02 Neil Booth <neil@daikokuya.demon.co.uk>
6524
6525 * cpphash.h (struct spec_nodes): Remove n__CHAR_UNSIGNED__.
6526 * cpphash.c (_cpp_init_hashtable): Similarly.
6527 * cppinit.c (cpp_create_reader): Default the signed_char flag.
6528 (init_builtins): Define __CHAR_UNSIGNED__ appropriately.
6529 (COMMAND_LINE_OPTIONS): Recognise -f{un,}signed-char.
6530 (cpp_handle_option): Handle the new options.
6531 * cpplex.c (cpp_interpret_charconst): Use new flag.
6532 * cpplib.h (struct cpp_options): New member signed_char.
6533 * gcc.c (cpp_unique_options): Remove %c spec and documentation.
6534 (cpp_options): Handle -fsigned-char and -funsigned-char.
6535 (static_specs): Remove signed_char_spec.
6536 (do_spec1): Don't handle %c.
6537 * system.h: Poison SIGNED_CHAR_SPEC.
6538 * tradcif.y (yylex): Use flag_signed_char.
6539 * tradcpp.h (flag_signed_char): New.
6540 * tradcpp.c (flag_signed_char): New.
6541 (main): Handle new command-line options.
6542 (initialize_builtins): Define __CHAR_UNSIGNED__ if appropriate.
6543config:
6544 * alpha/alpha.h (SIGNED_CHAR_SPEC): Remove.
6545 * avr/avr.h: Remove old comments.
6546 * i960/i960.h (CPP_SPEC): Pass -fsigned-char if -mic*.
6547 (CC1_SPEC): Pass -fsigned-char if -mic*.
6548 (SIGNED_CHAR_SPEC): Remove.
6549doc:
6550 * tm.texi (SIGNED_CHAR_SPEC): Remove documentation.
6551
0617ed52
EC
65522002-02-01 Eric Christopher <echristo@redhat.com>
6553
6554 From Daniel Jacobowitz <dmj+@andrew.cmu.edu>
6555 * config/mips/mips.h (FUNCTION_PROFILER): Fix function profiling.
6556 * config/mips/linux.h (ASM_OUTPUT_REG_PUSH): Undefine.
6557 (ASM_OUTPUT_REG_POP): Ditto.
6558
dfd48d76
NB
65592002-02-02 Neil Booth <neil@daikokuya.demon.co.uk>
6560
6561 * c-decl.c, tree.c, tree.h, objc/objc-act.c: Revert bitfield
6562 patch.
6563
4a23409e
JJ
65642002-02-02 Jakub Jelinek <jakub@redhat.com>
6565
6566 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Add missing | separators.
6567
d3c52658
JJ
65682002-02-02 Jakub Jelinek <jakub@redhat.com>
6569
6570 PR c/5304:
6571 * expmed.c (expand_mult_highpart): Use immed_double_const for wide_op1
6572 unconditionally.
6573
02c5a3bd
JJ
65742002-02-01 Janis Johnson <janis187@us.ibm.com>
6575
6576 * cfganal.c: Include tm_p.h.
6577 (keep_with_call_p): Fix the test that determines if a register holds
6578 the return value of a call.
6579
3968de80
DD
65802002-02-01 DJ Delorie <dj@redhat.com>
6581
6582 * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): If
6583 we are given conflicting registers, switch to the other one we
6584 had allocated for us.
6585 * config/sparc/sparc.md (reload_indi, reload_outdi): Pass op[2]
6586 as TImode so we know when the "other" register is available.
6587
1338ea6c
DB
65882002-02-01 David O'Brien <obrien@FreeBSD.org>
6589
6590 * config/sparc/sol2-sld-64.h: Include sparc/biarch64.h rather than
6591 sparc/sparc_bi.h.
6592
f015be23
JJ
65932002-02-01 Janis Johnson <janis187@us.ibm.com>
6594
6595 * cfganal.c (keep_with_call_p): New function.
6596 (flow_call_edges_add): Prevent splitting a block between a call and
6597 a single-set instruction that should be kept in the same block.
6598
63708ffc
CR
65992002-02-01 Craig Rodrigues <rodrigc@gcc.gnu.org>
6600
6601 * doc/install.texi (avr): Update outdated URL.
6602
5ee4950e
AH
66032002-01-30 Andrew Haley <aph@cambridge.redhat.com>
6604
831c4e87
KC
6605 * config/stormy16/stormy16.md (pushqi): New.
6606 (popqi): New.
6607 (pushhi): New.
6608 (pophi): New.
6609 (movhi): Remove stack operands.
6610 (movqi): Likewise.
6611 * config/stormy16/stormy16.h (PREDICATE_CODES): Add
6612 nonimmediate_nonstack_operand.
6613 * config/stormy16/stormy16.c (nonimmediate_nonstack_operand):
6614 New.
6615 * config/stormy16/stormy16-protos.h (nonimmediate_nonstack_operand)
6616 New.
5ee4950e 6617
b88c0704
JM
66182002-01-31 Jason Merrill <jason@redhat.com>
6619
6620 * Makefile.in (c-parse.c): Handle .output file.
6621 * objc/Make-lang.in (objc-parse.c): Likewise.
6622
ac282977
AO
66232002-02-01 Alexandre Oliva <aoliva@redhat.com>
6624
6625 * config/mips/mips.h (ENDIAN_SPEC): Output the endianness flag if
6626 the -me[lb] option is given. Don't output the default flag
6627 twice.
6628
bebc7e8b
ZW
66292002-01-31 Zack Weinberg <zack@codesourcery.com>
6630
6631 * c-lex.c (yyparse): Call debug_hooks->start_source_file for
6632 the primary source file; this has not been done yet.
6633 * c-decl.c (c_expand_body): Reset input_filename from
6634 DECL_SOURCE_FILE (fndecl) before calling init_function_start.
6635
5809eb5f
KH
66362002-01-31 Kazu Hirata <kazu@hxi.com>
6637
6638 * rtlanal.c (subreg_regno_offset): Do not use
6639 SUBREG_REGNO_OFFSET.
6640 * system.h: Add SUBREG_REGNO_OFFSET to the GCC poison list.
6641 * doc/tm.texi (SUBREG_REGNO_OFFSET): Remove.
6642
8512bbd7
JM
66432002-01-31 Joseph S. Myers <jsm28@cam.ac.uk>
6644
6645 * gccbug.in: Follow GNU Coding Standards for --version. Use GCC
6646 version rather than GNATS version in --version output.
6647
74cb3cc8
RS
66482002-01-31 Richard Sandiford <rsandifo@redhat.com>
6649
6650 * ifcvt.c (noce_process_if_block): Make a copy of the destination
6651 when copying back from a temporary.
6652
874b5b14
RH
66532002-01-30 Richard Henderson <rth@redhat.com>
6654
6655 * ifcvt.c (dead_or_predicable): Handling merging when other_bb
6656 and new_dest are the same.
6657
e803a64b
RH
66582002-01-30 Richard Henderson <rth@redhat.com>
6659
89cf7be5 6660 PR opt/5076
e803a64b
RH
6661 * rtl.h (NOTE_INSN_LOOP_END_TOP_COND): New.
6662 * rtl.c (note_insn_name): Update.
6663 * emit-rtl.c (remove_unnecessary_notes): Kill it.
6664 * stmt.c (expand_end_loop): Kill jump opt code. Use LOOP_END_TOP_COND
6665 to perform loop rotation.
6666 (expand_exit_loop_top_cond): New.
6667 * tree.h (expand_exit_loop_top_cond): Declare it.
6668 * c-semantics.c (genrtl_while_stmt): Use it.
6669 (genrtl_for_stmt): Likewise.
6670
0b51254d
AO
66712002-01-30 Alexandre Oliva <aoliva@redhat.com>
6672
6673 * config/mips/mips.h (PARM_BOUNDARY): Guarantee alignment of
6674 arguments to 64-bit boundaries on 64-bit ABIs.
6675
71cef493
SE
66762002-01-30 Steve Ellcey <sje@cup.hp.com>
6677
6678 * loop.c (loop_invariant_p): Special case pic_offset_table_rtx.
6679
6169e5fd
JM
66802002-01-31 Joseph S. Myers <jsm28@cam.ac.uk>
6681
6682 * c-decl.c (grokdeclarator): Handle type being a typedef for an
6683 invalid type.
6684
86f808dc
DB
66852002-01-30 David O'Brien <obrien@FreeBSD.org>
6686
6687 * config.gcc: Include sparc/biarch64.h rather than sparc/sparc_bi.h.
6688 * config/sparc/sparc_bi.h: Remove file.
6689 * config/sparc/biarch64.h: New file (rename of sparc_bi.h).
6690
5748ebeb
RH
66912002-01-30 Richard Henderson <rth@redhat.com>
6692
6693 * sched-deps.c (sched_analyze): Make a call read the frame pointer.
6694
20d32cc2
ZW
66952002-01-30 Zack Weinberg <zack@codesourcery.com>
6696
6697 * expmed.c (emit_store_flag): Call protect_from_queue on op0 and op1.
6698
b88c0704 66992002-01-30 Jason Merrill <jason@redhat.com>
6bb28965
JM
6700
6701 * dwarf2out.c (dwarf_cfi_name): Add other DWARF 3 codes.
6702 (output_cfi): Likewise. Disable DW_CFA_GNU_negative_offset_extended.
6703 (reg_save): Use DW_CFA_offset_extended_sf instead.
6704
6705 * dwarf2out.c (dwarf2out_finish): Don't abort if there were errors.
6706
37060e78
JJ
67072002-01-29 Jakub Jelinek <jakub@redhat.com>
6708
6709 * cselib.c (cselib_record_sets): Use IF_THEN_ELSE result
6710 in cselib_lookup.
6711
d18dba68
AH
67122002-01-29 Aldy Hernandez <aldyh@redhat.com>
6713
bebc7e8b
ZW
6714 * rs6000.md ("*call_value_local32"): Remove constraints.
6715 ("*call_value_local64"): Same.
6716 ("*call_value_indirect_nonlocal_aix32"): Same.
6717 ("*call_value_nonlocal_aix32"): Same.
6718 ("*call_value_indirect_nonlocal_aix64"): Same.
6719 ("*call_value_nonlocal_aix64"): Same.
6720 ("*call_value_nonlocal_sysv"): Same.
d18dba68 6721
80a8aac6
RH
67222002-01-29 Richard Henderson <rth@redhat.com>
6723
6724 * config/alpha/elf.h (SDB_DEBUGGING_INFO): Undef.
6725
12beba6f
RH
67262002-01-29 Richard Henderson <rth@redhat.com>
6727
6728 * expr.c (force_operand): Ignore flag_pic for detecting pic
6729 address loads.
6730 * regclass.c (init_reg_sets_1): Test fixed_regs not flag_pic
6731 for determining if PIC_OFFSET_TABLE_REGNUM is call-clobbered.
6732 * resource.c (mark_target_live_regs): Use regs_invalidated_by_call
6733 instead of open-coded loop.
6734 * doc/tm.texi (PIC_OFFSET_TABLE_REGNUM): Clarify that it must
6735 be fixed when in use.
6736
2583081e
RH
67372002-01-29 Richard Henderson <rth@redhat.com>
6738
6739 * sched-int.h (struct deps_reg): Add uses_length, clobbers_length.
6740 * sched-rgn.c (propagate_deps): Update them.
6741 * sched-deps.c (sched_analyze_insn): Update them. Flush the
6742 clobbers list when either gets too long.
6743
3b8d200e
JJ
67442002-01-29 Jakub Jelinek <jakub@redhat.com>
6745
6746 * config/i386/i386.h (LIMIT_RELOAD_CLASS): Handle LEGACY_REGS
6747 and INDEX_REGS the same as GENERAL_REGS.
6748 (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.
6749
2d3115eb
NB
67502002-01-29 Neil Booth <neil@daikokuya.demon.co.uk>
6751
bebc7e8b 6752 * tree.c (build_nonstandard_integer_type): Correct prototype.
2d3115eb 6753
ecbe845e
UW
67542002-01-29 Ulrich Weigand <uweigand@de.ibm.com>
6755
bebc7e8b 6756 * config/s390/s390.md (movstrsico, movstrdix_64,
ecbe845e 6757 movstrsix_31): Remove, replace by ...
bebc7e8b 6758 (movstrdi_short, movstrsi_short, movstrdi_long,
ecbe845e
UW
6759 movstrsi_long): ... these. New.
6760 (movstrdi, movstrsi): Adapt.
6761
6762 (rotldi3, rotlsi3, ashldi3, *ashldi3_31, *ashldi3_64,
bebc7e8b 6763 ashlsi3, lshrdi3, *lshrdi3_31, *lshrdi3_64, lshrsi3):
ecbe845e
UW
6764 Remove unnecessary CC clobber.
6765 (*ashrdi3_cc_31, *ashrdi3_cconly_31, *ashrdi3_cc_64,
6766 *ashrdi3_cconly_64, *ashrsi3_cc, *ashrsi3_cconly): New.
6767
6768 (divmoddi4): Don't partially initialize TImode register.
6769
0b32fca5
GK
67702002-01-29 Geoffrey Keating <geoffk@redhat.com>
6771
6772 * doc/sourcebuild.texi (C Tests): Document gcc.dg/debug directory.
6773
08ef5437
RH
67742002-01-29 Richard Henderson <rth@redhat.com>
6775
6776 * flow.c (print_rtl_and_abort): Remove.
6777 (print_rtl_and_abort_fcn): Remove.
6778 (verify_local_live_at_start): Use dump_bb instead.
6779 (verify_wide_reg): Likewise. Take a basic_block, not rtl endpoints.
6780 (verify_wide_reg_1): Return 2 on mode test failure.
6781
8469e54e
NB
67822002-01-29 Neil Booth <neil@daikokuya.demon.co.uk>
6783
6784 PR c/3325, c/3326, c/2511, c/3347
6785 * c-decl.c (enum_decl_context): Remove BITFIELD.
6786 (grokdeclarator): Take bitfield width as an input.
6787 Ensure bitfields are given the correct type. Perform
6788 bitfield width validation with build_bitfield_integer_type
6789 rather than waiting for finish_struct.
6790 (grok_typename, grok_typename_in_parm_context, start_decl,
6791 push_parmdecl, grokfield, start_function): Update calls to
6792 grokdeclarator.
6793 (build_bitfield_integer_type): New function.
6794 (finish_struct): Move bitfield validation to grokdeclarator
bebc7e8b 6795 and build_bitfield_integer_type.
8469e54e
NB
6796 * tree.c (build_nonstandard_integer_type): New function.
6797 * tree.h (build_nonstandard_integer_type): New prototype.
6798objc:
6799 * objc-act.c (objc_copy_list): Remove DECL_INITIAL kludge.
6800
ffdeea47
JJ
68012002-01-29 Jakub Jelinek <jakub@redhat.com>
6802
6803 PR other/1502:
6804 * cppinit.c (cpp_handle_option): Add ignore argument, if it is zero,
6805 don't ignore unrecognized -W* options.
6806 (cpp_handle_options): Pass 1 as last argument to cpp_handle_option.
6807 * cpplib.h (cpp_handle_option): Adjust prototype.
6808 * c-decl.c (c_decode_options): Pass 0 as last argument to
6809 cpp_handle_option.
6810
6811 PR c/2896:
6812 * gcc.c (cpp_unique_options): Split from cpp_options.
6813 (cpp_options): Source cpp_unique_options.
6814 (default_compilers): Use cpp_unique_options instead of cpp_options
6815 when used together with cc1_options.
6816 (static_specs): Add cpp_unique_options.
6817 * objc/lang-specs.h: Use cpp_unique_options instead of cpp_options
6818 when used together with cc1_options.
6819
1a275226
KH
68202002-01-29 Kazu Hirata <kazu@hxi.com>
6821
6822 * config/h8300/h8300-protos.h: Update the prototype of
6823 output_a_shift.
6824 * config/h8300/h8300.c (output_a_shift): Remove an unused
6825 argument 'insn'. Remove redundant code.
6826 * config/h8300/h8300.md: Adust to the new prototype of
6827 output_a_shift.
6828
a11d9dfc
KH
68292002-01-29 Kazu Hirata <kazu@hxi.com>
6830
6831 * config/h8300/h8300-protos.h: Update the prototypes of
6832 emit_a_rotate and expand_a_rotate.
6833 * config/h8300/h8300.c (emit_a_rotate): Change the type of the
6834 first argument to 'enum rtx_code'.
6835 (expand_a_rotate): Likewise.
6836
871f73e3
KH
68372002-01-28 Kazu Hirata <kazu@hxi.com>
6838
6839 * config/h8300/h8300-protos.h: Update the prototype of
6840 output_simode_bld.
6841 * config/h8300/h8300.c (output_simode_bld): Remove an argumen
6842 'log2'.
6843 * config/h8300/h8300.md: Adjust to the new prototype.
6844
5fc4b751
KH
68452002-01-28 Kazu Hirata <kazu@hxi.com>
6846
6847 * conifg/h8300/h8300.c (h8300_adjust_insn_length): Remove
6848 redundant code.
6849
2d67bd7b
JDA
68502002-01-28 John David Anglin <dave@hiauly1.hia.nrc.ca>
6851
6852 * emit-rtl.c (gen_rtx_REG): Check that the PIC_OFFSET_TABLE_REGNUM
6853 is a fixed register before returning pic_offset_table_rtx.
6854 * loop.c (scan_loop): Don't hoist insns that set pic_offset_table_rtx
6855 when PIC_OFFSET_TABLE_REG_CALL_CLOBBERED is defined.
6856
5a852b3e
JM
68572002-01-28 Jason Merrill <jason@redhat.com>
6858
6bb28965 6859 * dwarf2.h: Sync with src version.
5a852b3e 6860
3bca17dd
PK
68612002-01-28 Paul Koning <pkoning@equallogic.com>
6862
6863 * builtin-types.def (BT_FN_VOID_CONST_PTR_VAR): Replace
6864 BT_FN_VOID_PTR_VAR.
6865 * builtins.def (BUILT_IN_PREFETCH): Change first argument to be const.
6866 * doc/extend.texi (__builtin_prefetch): Update documentation:
6867 first argument is now const void ptr.
6868
7dc3f8c0
KH
68692002-01-28 Kazu Hirata <kazu@hxi.com>
6870
6871 * config/h8300/h8300-protos.h: Remove an unused prototype.
6872
e83cb5f0
RZ
68732002-01-28 Roman Zippel <zippel@linux-m68k.org>
6874
6875 * toplev.c (lang_independent_init): Round up identifier size.
6876
5721cd84
RE
68772002-01-28 Richard Earnshaw <rearnsha@arm.com>
6878
6879 * config.gcc: Revert previous change.
6880
d534119e
AP
68812002-01-28 Andris Pavenis <pavenis@latnet.lv>
6882
6883 * config/i386/djgpp.h: Use STRIP_NAME_ENCODING in macro UNIQUE_SECTION
6884
5a721dab
RE
68852002-01-28 Richard Earnshaw <rearnsha@arm.com>
6886
6887 * config.gcc (*-*-netbsdelf*): Set up generic parameters.
6888 (*-*-netbsd*): Always use collect2. Remove collect2 settings from
6889 other non-elf netbsd config frags.
6890 * config/netbsd-aout.h (STARTFILE_SPEC): Don't pull in c++rt0 since
6891 collect2 will does that.
6892 * config/netbsd.h (LIBGCC_SPEC): Add white space before -lgcc, so that
6893 shared-lib frobbing will work.
6894
da1775d6
KH
68952002-01-28 Kazu Hirata <kazu@hxi.com>
6896
6897 * config/h8300/h8300.h: Fix formatting.
6898 * config/h8300/h8300.md: Likewise.
6899
8f2e963b
LR
69002002-01-28 Loren J. Rittle <ljrittle@acm.org>
6901
6902 * fixinc/inclhack.def (strict_ansi_not): Add a bypass based on
6903 the old, removed AAA_standards fix.
6904 * fixinc/fixincl.x: Rebuilt.
6905
fdae5767
HPN
69062002-01-28 Hans-Peter Nilsson <hp@axis.com>
6907
6908 * config/cris/cris.h (CRT_CALL_STATIC_FUNCTION): Change to emit
6909 atexit call in crtbegin, hooked in after call to frame_dummy;
6910 register EH before registering __fini__start.
6911
2a2ecb63
AH
69122002-01-28 Aldy Hernandez <aldyh@redhat.com>
6913
6914 * config/rs6000/altivec.h: Remove spurious semicolons.
6915
8ed43adf
KH
69162002-01-27 Kazu Hirata <kazu@hxi.com>
6917
6918 * config/h8300/h8300.md: Replace dead bit extraction patterns
6919 with ones that work.
6920
917afb0c
RK
6921Sun Jan 27 13:23:40 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6922
6923 * emit-rtl.c (get_mem_attrs): Don't default alignment for non-BLKmode
6924 if not STRICT_ALIGNMENT.
6925 * rtl.h (MEM_ALIGN): Likewise.
6926
f70a54cb
CR
69272002-01-27 Craig Rodrigues <rodrigc@gcc.gnu.org>
6928
6929 * doc/invoke.texi (-fdump-translation-unit): Revert this
6930 patch: 2001-10-21 Craig Rodrigues <rodrigc@gcc.gnu.org>
6931
d8fd4914
KH
69322002-01-27 Kazu Hirata <kazu@hxi.com>
6933
6934 * config/h8300/h8300.md (define_constants): New.
6935 (anonymous patterns) Use defined constants appropriately.
6936
15e0e275
KH
69372002-01-27 Kazu Hirata <kazu@hxi.com>
6938
6939 * config/h8300/h8300.c (function_arg): Remove redundant code.
6940
37a0f8a5
RH
69412002-01-26 Richard Henderson <rth@redhat.com>
6942
6943 * sched-deps.c (reg_pending_uses_head): New.
6944 (reg_pending_barrier): Rename from reg_pending_sets_all.
6945 (find_insn_list): Don't mark inline.
6946 (find_insn_mem_list): Remove.
6947 (add_dependence_list, add_dependence_list_and_free): New.
6948 (flush_pending_lists): Replace only_write param with separate
6949 for_read and for_write parameters. Update all callers. Use
6950 add_dependence_list_and_free.
6951 (sched_analyze_1): Do not add reg dependencies here; just set
6952 the pending bits. Use add_dependence_list.
6953 (sched_analyze_2): Likewise.
6954 (sched_analyze_insn): Replace schedule_barrier_found with
6955 reg_pending_barrier. Add all dependencies for pending reg
6956 uses, sets, and clobbers.
6957 (sched_analyze): Don't add reg dependencies for calls, just
6958 set pending bits. Use regs_invalidated_by_call. Treat
6959 sched_before_next_call as a normal list, not a fake insn.
6960 (init_deps): No funny init for sched_before_next_call.
6961 (free_deps): Free pending mems lists. Don't zero reg_last.
6962 (init_deps_global): Init reg_pending_uses.
6963 (finish_deps_global): Free it.
6964 * sched-int.h (deps): Make in_post_call_group_p boolean. Update docs.
6965 (find_insn_mem_list): Remove.
6966 * sched-rgn.c (concat_INSN_LIST, concat_insn_mem_list): New.
6967 (propagate_deps): Use them. Zero temp mem lists.
6968
cea3bd3e
RH
69692002-01-26 Richard Henderson <rth@redhat.com>
6970
6971 * Makefile.in (CRTSTUFF_CFLAGS): New.
6972 (crtbegin.o, crtend.o, crtbeginS.o, crtendS.o, crtbeginT.o): Use it.
6973 * config.gcc (alpha-linux, alpha-freebsd, alpha-netbsd): Use plain
6974 crtstuff.c instead of alpha assembly version.
6975 * crtstuff.c (CRT_CALL_STATIC_FUNCTION): Rewrite to assume the
6976 entire dummy function sequence. Use FORCE_CODE_SECTION_ALIGN
6977 not FORCE_{INIT,FINI}_SECTION_ALIGN.
6978 (__do_global_dtors_aux): Mark used.
6979 (frame_dummy, __do_global_ctors_aux): Mark used.
6980 (fini_dummy, init_dummy): Remove.
6981
6982 * config/alpha/crtbegin.asm: Remove file.
6983 * config/alpha/crtend.asm: Remove file.
6984 * config/alpha/t-crtbe: Remove file.
6985 * config/alpha/elf.h (CRT_CALL_STATIC_FUNCTION): New.
6986 (LINK_EH_SPEC): New.
6987
6988 * config/cris/cris.h (CRT_CALL_STATIC_FUNCTION): Rewrite old
6989 FORCE_INIT_SECTION_ALIGN hack. Register __fini_start before
6990 calling constructors.
6991 * config/cris/linux.h (CRT_CALL_STATIC_FUNCTION): Undef.
6992
6993 * config/i386/i386.h (CRT_CALL_STATIC_FUNCTION): New.
6994 * config/i386/linux.h (CRT_CALL_STATIC_FUNCTION): Replace old
6995 CRT_END_INIT_DUMMY hack.
6996 * config/i386/sol2.h (FORCE_CODE_SECTION_ALIGN): Replace
6997 FORCE_{INIT,FINI}_SECTION_ALIGN.
6998
6999 * config/mcore/mcore-elf.h (FORCE_CODE_SECTION_ALIGN): Replace
7000 FORCE_{INIT,FINI}_SECTION_ALIGN.
7001
7002 * config/s390/s390.h (CRT_CALL_STATIC_FUNCTION): Update for new
7003 invocation sequence.
7004 * config/sh/sh.h (CRT_CALL_STATIC_FUNCTION): Likewise.
7005
7006 * doc/tm.texi (CRT_CALL_STATIC_FUNCTION): Update.
7007 (FORCE_CODE_SECTION_ALIGN): New.
7008
60ffa0e5
RH
70092002-01-26 Richard Henderson <rth@redhat.com>
7010
7011 * config/cris/cris.c (cris_print_operand): Handle 64-bit CONST_INT.
7012
61334ebe
RH
70132002-01-26 Richard Henderson <rth@redhat.com>
7014
7015 * config/alpha/alpha.c (alpha_sa_mask): Mark RA for unicos here too.
7016 (alpha_sa_size): Use alpha_sa_mask to compute size of saved regs.
7017
1d788fb6
KH
70182002-01-26 Kazu Hirata <kazu@hxi.com>
7019
7020 * config/h8300/h8300.md: Remove bit extraction patterns that
7021 cannot be triggered.
7022 Restrict each bit extraction pattern to a variant on which the
7023 pattern is tested.
7024
87611f88
JM
70252002-01-26 Joseph S. Myers <jsm28@cam.ac.uk>
7026
7027 * doc/include/texinfo.tex: Update to version 2002-01-04.07.
7028
cd74ec59
KH
70292002-01-26 Kazu Hirata <kazu@hxi.com>
7030
7031 * config/h8300/h8300.md: Remove bit test patterns that cannot
7032 be triggered.
7033 Restrict each bit test pattern to a variant on which the
7034 pattern is tested.
7035
93051e0f
KG
70362002-01-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7037
7038 * builtins.c (expand_builtin_strncat): Remove redundant check for
7039 INTEGER_CST.
7040
216c995f
DB
70412002-01-25 David O'Brien <obrien@FreeBSD.org>
7042
7043 * config/i386/x86-64.h (DEFAULT_PCC_STRUCT_RETURN): Do not overide
7044 default setting.
7045 * config/i386/freebsd64.h (DEFAULT_PCC_STRUCT_RETURN): Do not override
7046 existing setting.
7047
33c7f925
GK
70482002-01-25 Geoffrey Keating <geoffk@redhat.com>
7049
7050 * dbxout.c (dbxout_init): Use assemble_name rather than just
7051 stripping off the first character.
7052 (dbxout_source_file): Likewise.
7053
6cd444b4
DD
70542002-01-25 DJ Delorie <dj@redhat.com>
7055
7056 * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): Compare
7057 using rtx_equal_p, not by comparing pointers.
7058
751551d5
SE
70592002-01-25 Steve Ellcey <sje@cup.hp.com>
7060
7061 * emit-rtl.c (gen_rtx_REG): Always return the same rtx
7062 for PIC_OFFSET_TABLE_REGNUM.
7063 (init_emit_once): Use gen_raw_REG to initialize pic_offset_table_rtx.
7064
e564e618
DB
70652002-01-25 David O'Brien <obrien@FreeBSD.org>
7066
7067 * config.gcc (x86_64-*-freebsd*): New target.
7068 (x86_64-*-netbsd*,x86_64-*-linux*): Use ${tm_file} rather than its
7069 value.
7070 (i[34567]86-*-freebsd*): Don't include svr4.h.
7071 * config/i386/freebsd64.h: New file.
7072
ff3aaf17
DR
70732002-01-25 Douglas B Rupp <rupp@gnat.com>
7074
4857d29d
DR
7075 * config/alpha/x-vms (version): Make static.
7076
7077 * config/alpha/vms.h (MD_FALLBACK_FRAME_STATE_FOR): Fix error
7078 in previous checkin.
7079
ff3aaf17
DR
7080 * Makefile.in (install-headers-cp): New target.
7081 * config.gcc (alpha-dec-*vms*): Install headers with
7082 install-headers-cp
7083
48d79c43
JH
7084Fri Jan 25 22:42:49 CET 2002 Jan Hubicka <jh@suse.cz>
7085
7086 * unroll.c (unroll_loop): Lower final_value to nonmemory operand;
7087 avoid it's copies.
7088
995b5904
RK
7089Fri Jan 25 08:26:19 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7090
7091 * builtins.c (expand_builtin_strncpy): Use integer_zerop instead
7092 of compare_tree_int.
7093 (expand_builtin_strncat): Likewise.
7094 * c-decl.c (finish_struct): Use tree_low_cst.
7095 * tree.h (compare_tree_int): Arg is unsigned HOST_WIDE_INT.
7096 * tree.c (compare_tree_int): Likewise.
7097
75eefe3f
UW
70982002-01-25 Ulrich Weigand <uweigand@de.ibm.com>
7099
7100 * reload1.c (eliminate_regs_in_insn): Recognize frame pointer
7101 adjustments even if they are implemented by more than two insns.
7102
5a133afd
JH
7103Fri Jan 25 20:43:56 CET 2002 Jan Hubicka <jh@suse.cz>
7104
995b5904 7105 * df.c (df_ref_create, df_ref_record_1, df_ref_record): Kill BB arg.
5a133afd
JH
7106 * df.h (struct ref): Kill B.
7107 (DF_REF_BB, DF_REF_BBNO): Use BLOCK_FOR_INSN.
7108
7109 * basic-block.h (PROP_EQUAL_NOTES): New flag.
7110 * flow.c (propagate_one_insn): Use it.
7111 (mark_used_regs): Handle NIL.
7112
ead39bdf 71132002-01-25 Geoffrey Keating <geoffk@redhat.com>
3d8dd3c0
GK
7114
7115 * config/stormy16/stormy16.md (tablejump_pcrel): Use a MEM
7116 to help folding.
7117
01a2ccd0
DE
71182002-01-25 David Edelsohn <edelsohn@gnu.org>
7119
7120 * rs6000.md (prefetch): Make address V4SI mode so that the address
7121 is restricted to legitimate form for instruction.
7122
fd29f6ea
BW
71232002-01-25 Bob Wilson <bob.wilson@acm.org>
7124
7125 * doc/install.texi (xtensa-*-elf): New target.
7126 (xtensa-*-linux*): New target.
7127 * doc/contrib.texi: Add myself.
7128
55492b32
NC
71292002-01-25 Nick Clifton <nickc@cambridge.redhat.com>
7130
7131 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow any general
7132 purpose register to hold an SImode (or smaller) value.
7133
72c7c913
JJ
71342002-01-25 Jakub Jelinek <jakub@redhat.com>
7135
7136 * unwind-dw2-fde-glibc.c: If inhibit_libc, use __register_frame*
7137 registry only.
7138 * crtstuff.c: Likewise.
7139
c4df4ceb
KH
71402002-01-25 Kazu Hirata <kazu@hxi.com>
7141
7142 * config/h8300/h8300.md (negation patterns): Tighten
7143 predicates to register_operand.
7144
70e531f5
AH
71452002-01-24 Aldy Hernandez <aldyh@redhat.com>
7146
3bca17dd
PK
7147 * loop.c (emit_prefetch_instructions): Use the prefetch insn's
7148 mode, not Pmode.
70e531f5 7149
3bca17dd 7150 * builtins.c (expand_builtin_prefetch): Same.
70e531f5 7151
a4f76ef9
AO
71522002-01-24 Alexandre Oliva <aoliva@redhat.com>
7153
7154 * config/sh/sh.md (sym_label2reg): Make sure all CONSTs have
7155 modes.
7156
9bf25b09
KH
71572002-01-24 Kazu Hirata <kazu@hxi.com>
7158
7159 * config/h8300/h8300.c (print_operand): Remove support for
7160 operand character 'A'.
7161 * config/h8300/h8300.md (three anonymous patterns): Replace
7162 operand character 'A' with either 'T' or 'S'.
7163
974af6a5
KH
71642002-01-24 Kazu Hirata <kazu@hxi.com>
7165
7166 * config/h8300/h8300.c (print_operand): Remove support for
7167 operand character 'U'.
7168
7a5bb7b8
AP
71692002-01-24 Andris Pavenis <pavenis@latnet.lv>
7170
3bca17dd 7171 * config/i386/t-djgpp: Use NATIVE_SYSTEM_HEADER_DIR.
7a5bb7b8 7172
92a4639e
NC
71732002-01-24 Nick Clifton <nickc@cambridge.redhat.com>
7174
7175 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow SImode
7176 values to be assigned to the stack pointer.
7177
467cb2da
HP
71782002-01-14 Hartmut Penner <hpenner@de.ibm.com>
7179
bebc7e8b 7180 * emit_rtl.c (gen_lowpart_common): Conversion from const_int
467cb2da
HP
7181 to const_double needs to be done right for big-endian systems.
7182
3b6cb920
JM
71832002-01-24 Jason Merrill <jason@redhat.com>
7184
b08dd119 7185 PR c++/2432
3b6cb920
JM
7186 * config/sparc/sparc.md (call-jump peepholes): Pass the right insn
7187 to can_throw_internal.
7188
f3077311
RH
71892002-01-23 Richard Henderson <rth@redhat.com>
7190
7191 * fold-const.c (fold): Change UINT_MAX test to check vs precision
7192 rather than TYPE_MAX_VALUE. Fix indentation and a bogus negation.
7193
e1d71275
AO
71942002-01-24 Alexandre Oliva <aoliva@redhat.com>
7195
7196 * config/sh/sh.md (symGOT_load, sym2GOT, sym2GOTOFF): New expands.
7197 (symGOT2reg): Use them, then set as GOT value as unchanging.
7198 (symGOTOFF2reg): Set REG_EQUAL note. Use a different pseudo
7199 as a temporary, if possible.
7200 (symPLT_label2reg): Enclose (pc) in UNSPEC_PIC. Emit
7201 sym@PLT-(.LPCS#+2-.) instead of sym@PLT+.-(.LPCS#+2).
7202
dc271dbe
KH
72032002-01-23 Kazu Hirata <kazu@hxi.com>
7204
7205 * config/h8300/h8300.md: Fix xorqi and xorqi so that they will
7206 accept to accept 0x80 as operands[2].
7207
1a9017f9
AO
72082002-01-24 Alexandre Oliva <aoliva@redhat.com>
7209
7210 * config/sparc/sparc.md (fix_trunctfdi2): Correct typo in mode.
7211
6932f033
RH
72122002-01-23 Richard Henderson <rth@redhat.com>
7213
7214 * config/alpha/alpha.md (call_value_osf_1_er peepholes): Fix typo.
7215
709619d9
AH
72162002-01-23 Aldy Hernandez <aldyh@redhat.com>
7217
3bca17dd
PK
7218 * c-parse.in (parmlist_or_identifiers): Add maybe_attribute.
7219 (parmlist_or_identifiers_1): Verify that only a parmlist follows
7220 an attribute.
709619d9 7221
3d709fd3
RH
72222002-01-23 Richard Henderson <rth@redhat.com>
7223
7224 * expr.c (move_by_pieces_1): Extend size before negation.
7225
88a446c0
RH
7226 * config/m68k/t-m68kbare (MULTILIB_OPTIONS): Add 68040 and 68060.
7227 (MULTILIB_MATCHES): Remove 68040 and 68060 aliases.
7228 (MULTILIB_EXCEPTIONS): Ignore 68881 and soft-float for 68040 and 68060.
7229 * config/m68k/t-m68kelf: Likewise.
7230
03984308
BW
72312002-01-23 Bob Wilson <bob.wilson@acm.org>
7232
7233 * config/xtensa/elf.h: New file.
7234 * config/xtensa/lib1funcs.asm: New file.
7235 * config/xtensa/lib2funcs.S: New file.
7236 * config/xtensa/linux.h: New file.
7237 * config/xtensa/t-xtensa: New file.
7238 * config/xtensa/xtensa-config.h: New file.
7239 * config/xtensa/xtensa-protos.h: New file.
7240 * config/xtensa/xtensa.c: New file.
7241 * config/xtensa/xtensa.h: New file.
7242 * config/xtensa/xtensa.md: New file.
7243 * config.gcc (xtensa-*-elf*): New target.
7244 (xtensa-*-linux*): New target.
7245 * cse.c (canon_hash): Compare rtx pointers instead of register
7246 numbers. This is required for the Xtensa port.
7247 * integrate.c (copy_insn_list): Handle case where the static
7248 chain is in memory and the memory address has to be copied to
7249 a register.
7250 * doc/invoke.texi (Option Summary): Add Xtensa options.
7251 (Xtensa Options): New node.
7252 * doc/md.texi (Machine Constraints): Add Xtensa machine constraints.
7253
c3d5c3fa
ZW
72542002-01-23 Zack Weinberg <zack@codesourcery.com>
7255
a63bea75
ZW
7256 * diagnostic.c (internal_error): Do ICE suppression only
7257 when ENABLE_CHECKING is not defined.
7258
c3d5c3fa
ZW
7259 * c-typeck.c (require_complete_type): Return error_mark_node
7260 if type is error_mark_node.
7261
1398974c
JJ
72622002-01-23 Janis Johnson <janis187@us.ibm.com>
7263
7264 * toplev.c (process_options): Disable -fprefetch-loop-arrays with
7265 -Os and issue a warning.
7266
807633e5
ZW
72672002-01-23 Zack Weinberg <zack@codesourcery.com>
7268
7269 * doc/fragments.texi, doc/hostconfig.texi: Update to reflect
7270 current (lack of) need for host configuration by hand.
7271
7272 * doc/gccint.texi, doc/rtl.texi, doc/tm.texi: Adjust cross
7273 references. Documentation of some target macros moved from
7274 hostconfig.texi to tm.texi.
7275
cf8002d0
WC
72762002-01-23 Will Cohen <wcohen@redhat.com>
7277
7278 * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Define if not currently
7279 defined.
7280
d1e76310
KH
72812002-01-23 Kazu Hirata <kazu@hxi.com>
7282
7283 * config/h8300/h8300.md (*andorhi3): Accept 0x8000 as an
7284 operand[3].
7285
b2115575
JM
72862002-01-23 Jason Merrill <jason@redhat.com>
7287
f893c16e
JM
7288 * tree.c (build1): Don't set TREE_READONLY on INDIRECT_REF.
7289
b2115575
JM
7290 * function.c (assign_parms): Don't put args of inline functions
7291 into registers when not optimizing.
7292
6bacc7b0
NC
72932002-01-23 Nick Clifton <nickc@cambridge.redhat.com>
7294
7295 * config/arm/arm.md (UNSPEC_PROLOGUE_USE): New unspec constant.
7296 (prologue_use): New pattern.
7297 * config/arm/arm.c (expand_prologue): Use gen_prologue_use in
7298 preference to gen_rtx_USE.
7299 (thumb_expand_prologue): Use gen_prologue_use in preference to
7300 gen_rtx_USE.
7301 (thumb_expand_epilogue): Use gen_prologue_use in preference to
7302 gen_rtx_USE.
7303
a415f7bc
HPN
73042002-01-23 Hans-Peter Nilsson <hp@bitrange.com>
7305
7306 * loop.c [!HAVE_prefetch] (CODE_FOR_prefetch): Define to 0.
7307
5372b3fb
NB
73082002-01-23 Neil Booth <neil@daikokuya.demon.co.uk>
7309
7310 PR c/3504
7311 * doc/extend.texi: Correct documentation of __alignof__.
7312
bd571ffc
ZW
73132002-01-22 Zack Weinberg <zack@codesourcery.com>
7314
7315 * params.h: Rename arguments of DEFPARAM so that it will be
7316 recognized as a translation keyword.
7317
333c8841
AH
73182002-01-22 Aldy Hernandez <aldyh@redhat.com>
7319
bd571ffc
ZW
7320 * extend.texi: Document altivec functions.
7321 Fix N-bit adjectives in X86 builtin documentation.
333c8841 7322
38979c65
AO
73232002-01-22 Alexandre Oliva <aoliva@redhat.com>
7324
7325 * reload.c (reg_overlap_mentioned_for_reload_p): Handle PLUS and
7326 auto_inc_dec values.
7327
7458a9f0
RE
73282002-01-22 Richard Earnshaw <rearnsha@arm.com>
7329
7330 * config/netbsd-aout.h (SWITCH_TAKES_ARG): Remove bogus white space
7331 after backslash.
7332 (ASM_DECLARE_OBJECT_NAME): Add missing backslash before final line.
7333
129bd0c4
AO
73342002-01-22 Alexandre Oliva <aoliva@redhat.com>
7335
7336 * config/i386/freebsd-aout.h (ASM_QUAD): Undefine.
7337
8b9b74a9
RH
73382002-01-22 Richard Henderson <rth@redhat.com>
7339
7340 * config/alpha/alpha.c (split_small_symbolic_mem_operand): Use
7341 copy_insn not copy_rtx.
7342
d0c9db30
AM
73432002-01-23 Alan Modra <amodra@bigpond.net.au>
7344
7345 * combine.c (simplify_and_const_int): Don't trunc_int_for_mode
7346 "nonzero" as that might add "1" bits. Ensure "constop" is
7347 properly sign extened.
7348 (force_to_mode): Tweak for sign extended constop.
7349
1e7e480e
RH
73502002-01-22 Richard Henderson <rth@redhat.com>
7351
7352 * config/alpha/alpha.c (some_small_symbolic_mem_operand) Use
7353 for_each_rtx instead of assuming we're already looking at the MEM.
7354 (split_small_symbolic_mem_operand): Likewise.
7355 * config/alpha/alpha.h (PREDICATE_CODES): Update.
7356 * config/alpha/alpha.md (small symbolic memory splitters): Update.
7357
73582002-01-22 Richard Henderson <rth@redhat.com>
2e271932
RH
7359
7360 * config/alpha/alpha.md (divmodsi_internal_er): Generate lituse
7361 sequence number for the literal.
7362 (divmoddi_internal_er): Likewise.
7363
b7f2fb96
CR
73642002-01-22 Craig Rodrigues <rodrigc@gcc.gnu.org>
7365
7366 PR java/4972
7367 * aclocal.m4 (AM_ICONV): Put linking flags for libiconv
7368 in LIBICONV variable.
7369 * configure: Regenerated.
7370
f66a0046
KW
73712002-01-22 Krister Walfridsson <cato@df.lth.se>
7372
7373 * dependence.c (build_def_use): Remove array_idx.
7374
e3b0efd1
KW
7375 * dwarfout.c (last_filename): Remove.
7376 (output_compile_unit_die): Remove last_filename.
7377
d8086cbb
RS
73782002-01-22 Roger Sayle <roger@eyesopen.com>
7379 Richard Henderson <rth@redhat.com>
7380
7381 PR opt/3640
7382 * fold-const.c (fold): Optimize unsigned comparisons against
7383 UINT_MAX (and similar unsigned constants).
7384
e8d52ba0
JJ
73852002-01-22 Janis Johnson <janis187@us.ibm.com>
7386
d8086cbb 7387 * Makefile.in (loop.o): Depend on OPTABS_H.
1398974c 7388 * loop.c (emit_prefetch_instructions): Check the prefetch operand
d8086cbb 7389 against the predicate.
11303d15 7390
e8d52ba0
JJ
7391 PR target/5379
7392 * config/i386/i386.md (prefetch_sse): Specify "p" as a constraint
7393 for the address operand.
7394
cc7b420e
RH
73952002-01-22 Richard Henderson <rth@redhat.com>
7396
7397 * config/alpha/freebsd.h (FUNCTION_PROFILER): Remove.
7398
816e265a
CR
73992002-01-22 Craig Rodrigues <rodrigc@gcc.gnu.org>
7400
7401 PR other/5450
cc7b420e
RH
7402 * config/i386/sysv4.h (CPP_SPEC): Define, and add CPU
7403 preprocessor flags.
816e265a 7404
7c884404
JT
74052002-01-22 Jason Thorpe <thorpej@wasabisystems.com>
7406
7407 * config.gcc (x86_64-*-netbsd*): New target.
7408 * config/i386/netbsd64.h: New file.
7409
2b672c08
AH
74102002-01-22 Aldy Hernandez <aldyh@redhat.com>
7411
d8086cbb 7412 * regrename.c (kill_value): Fix typo.
2b672c08
AH
7413
74142002-01-22 Aldy Hernandez <aldyh@redhat.com>
7415
d8086cbb 7416 * doc/tm.texi: Remove STARTING_FRAME_PHASE.
2b672c08 7417
d8086cbb 7418 * config/rs6000/rs6000.h: Same.
2b672c08 7419
d8086cbb
RS
7420 * function.c (instantiate_virtual_regs): Remove
7421 STARTING_FRAME_PHASE.
7422 (assign_stack_local_1): Same.
7423 Calculate frame phase.
2b672c08 7424
4b02997f
NC
74252002-01-22 Nick Clifton <nickc@redhat.com>
7426
7427 * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Move 'regno'
7428 variable declaration to outer scope in order to simplify
7429 future extensions.
7430 (HARD_REGNO_MODE_OK): Replace macro body with a with a call to
7431 arm_hard_regno_mode_ok.
7432 * config/arm/arm-protos.h: Add a prototype for
7433 arm_hard_regno_mode_ok.
7434 * config/arm/arm.c (soft_df_operand): Remove now redundant
7435 check for DImode values using IP_REGNUM.
7436 (nonimmediate_soft_df_operand): Remove now redundant check for
7437 DImode values using IP_REGNUM.
7438 (arm_hard_regno_mode_ok): New function. New check: make sure
7439 that DImode values are not stored in IP_REGNUM.
c14a3a45
NC
7440
7441 * config/arm/arm.c (arm_expand_prologue): Replace REG_MAYBE_DEAD
7442 note with a USE.
7443 (thumb_expand_prologue): Replace REG_MAYBE_DEAD note with a USE.
7444
8a827ab2
JM
74452002-01-22 Jason Merrill <jason@redhat.com>
7446
7447 * c-semantics.c (genrtl_compound_stmt): Only check nesting
7448 consistency if this COMPOUND_STMT is scoped.
7449
cf403648
KH
74502002-01-22 Kazu Hirata <kazu@hxi.com>
7451
7452 * predict.c: Fix formatting.
7453 * print-tree.c: Likewise.
7454 * protoize.c: Likewise.
7455 * real.h: Likewise.
7456 * rtl.h: Likewise.
7457 * sbitmap.h: Likewise.
7458 * scan.c: Likewise.
7459 * sched-deps.c: Likewise.
7460 * sched-vis.c: Likewise.
7461 * sdbout.c: Likewise.
7462 * sibcall.c: Likewise.
7463 * ssa.c: Likewise.
7464 * ssa-ccp.c: Likewise.
7465 * ssa-dce.c: Likewise.
7466 * stmt.c: Likewise.
7467 * stor-layout.c: Likewise.
7468 * system.h: Likewise.
7469
aea9695c
RK
7470Tue Jan 22 06:26:33 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7471
a8765ae7
RK
7472 * tree.c (int_fits_type_p): If bounds of a subtype are variable, see
7473 if fits in bounds of base type.
7474
aea9695c
RK
7475 * dwarf2out.c (equate_decl_number_to_die): Add "int" to decls.
7476 (loc_descriptor_from_tree, case CALL_EXPR, case ADDR_EXPR): New.
7477 (add_bound_info, default): If can't find a context, make a
7478 SAVE_EXPR.
7479 (dwarf2out_finish): Check for SAVE_EXPR in node->created_for.
7480
58bf601b
HPN
74812002-01-22 Hans-Peter Nilsson <hp@axis.com>
7482
7483 * c-typeck.c (parser_build_binary_op): If result from
7484 build_binary_op is ERROR_MARK just return error_mark_node without
7485 further processing.
7486
f982f805
JT
74872002-01-21 Jason Thorpe <thorpej@wasabisystems.com>
7488
7489 * config/netbsd.h (TARGET_HAS_F_SETLKW): define.
7490 Split a.out-specific bits into...
7491 * config/netbsd-aout.h: ...this.
7492 * config/netbsd-elf.h: New file.
7493 * config/alpha/netbsd-elf.h: Remove.
7494 * config/alpha/netbsd.h: Rewrite for a NetBSD/alpha ELF target.
7495 * config/i386/netbsd-elf.h (LIB_SPEC): Remove.
bd571ffc 7496 (STARTFILE_SPEC): Remove redundant definition.
f982f805
JT
7497 (ENDFILE_SPEC): Likewise.
7498 (LINK_SPEC): Likewise.
7499 (CPP_SPEC): Likewise.
7500 (ASM_SPEC): Likewise.
7501 (LIB_SPEC): Likewise.
7502 (SWITCH_TAKES_ARG): Likewise.
7503 (TARGET_MEM_FUNCTIONS): Likewise.
7504 (CPP_PREDEFINES): Redefine.
7505 (ASM_FINAL_SPEC): Remove redefinition.
7506 (ASM_COMMENT_START): Redefine.
7507 (FUNCTION_PROFILER): Define.
7508 (TARGET_VERSION): Redefine.
7509 Comment and formatting cleanup.
7510 * config/i386/netbsd.h: Include <netbsd-aout.h>.
7511 * config/m68k/netbsd.h: Include <netbsd-aout.h>.
7512 * config/mips/netbsd.h: Rewrite for NetBSD/mips ELF target,
7513 big- or little-endian.
7514 * config/ns32k/netbsd.h: Include <netbsd-aout.h>.
7515 * config.gcc (*-*-netbsd*): Add definitions common to all
7516 NetBSD configs.
7517 (alpha*-*-netbsd*): Remove redundant xm_defines, gas, and
7518 gnu_ld definitions. Add netbsd-elf.h to and remove
7519 alpha/netbsd-elf.h from tm_file. Remove alpha/t-crtfm from
7520 tmake_file, and don't lose previous tmake_file contents.
7521 (arm*-*-netbsd*): Add netbsd-aout.h to tm_file.
7522 (i[34567]86-*-netbsdelf*): Remove redundant xm_defines, gas, and
7523 gnu_ld definitions. Add netbsd-elf.h to tm_file.
7524 (mips-dec-netbsd*): Remove as alias for mipsel-*-netbsd*.
7525 (mipsel-*-netbsd*): Rename this to...
7526 (mips*-*-netbsd*): ...this. Add elfos.h to tm_file. Add
7527 mips/little.h to tm_file for mips*el-*.
7528 (powerpc-*-netbsd*): Remove redundant xm_defines definition.
7529 (sparc-*-netbsd*): Add netbsd-aout.h to tm_file.
7530 (vax-*-netbsd*): Add netbsd-aout.h to tm_file.
7531
2e396476
JDA
75322002-01-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
7533
7534 * pa-protos.h (reg_before_reload_operand): New function prototype.
7535 * pa.c (reg_before_reload_operand): New function implementation.
7536 * pa.md (decrement_and_branch_until_zero, movb): Use it. Change "!*m"
7537 contraints to "*m".
7538
3b5708e7
FS
75392002-01-21 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
7540
7541 * combine.c (simplify_and_const_int): Properly sign-extend CONSTOP.
7542
85e79f96
JDA
75432002-01-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
7544
7545 * pa64-hpux.h (MD_EXEC_PREFIX): Set to "/usr/ccs/bin".
7546 (MD_STARTFILE_PREFIX): Set to "/usr/ccs/lib/pa20_64/".
7547 (MD_STARTFILE_PREFIX_1): Set to "/opt/langtools/lib/pa20_64/".
7548 (EH_FRAME_IN_DATA_SECTION): Define and update comment on init sections.
7549 (ENDFILE_SPEC): Undefine.
7550 (STARTFILE_SPEC): Redefine for PA.
7551
38abadee
FS
75522002-01-21 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
7553
7554 * config/rs6000/t-ppccomm (CRTSTUFF_T_CFLAGS_S): Re-add -fPIC.
7555
94f1d97c
DJ
75562002-01-21 Daniel Jacobowitz <drow@mvista.com>
7557
7558 * config.gcc: Add entries to supported PowerPC --with-cpu
7559 types.
7560
0333394e
JJ
75612002-01-21 Jakub Jelinek <jakub@redhat.com>
7562
7563 * config/i386/i386.c (ix86_function_arg_regno_p): Never return
7564 true for 64-bit mode only SSE registers in 32-bit mode.
7565
e9d1b155
KH
75662002-01-21 Kazu Hirata <kazu@hxi.com>
7567
7568 * unwind-dw2.c: Fix formatting.
7569 * unwind-dw2-fde.c: Likewise.
7570 * unwind-dw2-fde.h: Likewise.
7571 * unwind-pe.h: Likewise.
7572 * varasm.c: Likewise.
7573 * varray.h: Likewise.
7574
07338cf8
HPN
75752002-01-21 Hans-Peter Nilsson <hp@bitrange.com>
7576
7577 Remove workaround for register stack overwrite bug in mmix.
7578 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Remove
7579 support for TARGET_REG_STACK_FILL_BUG.
7580 * config/mmix/mmix.h: Remove member has_call_without_parameters.
7581 (TARGET_MASK_REG_STACK_FILL_BUG, TARGET_REG_STACK_FILL_BUG):
7582 Delete.
7583 (TARGET_DEFAULT): Remove TARGET_MASK_REG_STACK_FILL_BUG.
7584 (TARGET_SWITCHES): Remove -mreg-stack-fill-bug-workaround and
7585 -mno-reg-stack-fill-bug-workaround.
7586 * config/mmix/mmix.md ("call", "call_value"): Don't set struct
7587 machine member has_call_without_parameters.
7588 * doc/invoke.texi (Option Summary) <MMIX Options>: Remove
7589 -mreg-stack-fill-bug-workaround and
7590 -mno-reg-stack-fill-bug-workaround.
7591 (MMIX Options): Ditto.
7592
7192cbf1
KH
75932002-01-21 Kazu Hirata <kazu@hxi.com>
7594
7595 * config/h8300/h8300.c (function_arg): Replace 0 with NULL_RTX
7596 as appropriate.
7597 Remove redundant code.
7598
d1552d7b
JM
75992002-01-21 Joseph S. Myers <jsm28@cam.ac.uk>
7600
7601 * config/alpha/alpha.h, config/arc/arc.h, config/avr/avr.h,
7602 config/c4x/c4x.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
7603 config/fr30/fr30.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h,
7604 config/mips/mips.h, config/rs6000/rs6000.h, config/sparc/sparc.h,
7605 config/stormy16/stormy16.h, config/v850/v850.h: Remove commented
7606 out target macro definitions and non-target-specific comments
7607 mostly taken from old versions of the manual.
7608
ed168e45
KH
76092002-01-20 Kazu Hirata <kazu@hxi.com>
7610
7611 * config/h8300/h8300.h: Fix comment formatting.
7612 * config/ia64/aix.h: Likewise.
7613 * config/ia64/ia64-protos.h: Likewise.
7614 * config/ia64/ia64.c: Likewise.
7615 * config/ia64/ia64.h: Likewise.
7616 * config/ia64/ia64intrin.h: Likewise.
7617 * config/ia64/linux.h: Likewise.
7618 * config/ia64/unwind-aix.c: Likewise.
7619 * config/ia64/unwind-ia64.c: Likewise.
7620
005e3e05
KH
76212002-01-20 Kazu Hirata <kazu@hxi.com>
7622
7623 * config/h8300/h8300.c: Revise comments about shift code.
7624
64bead4c
KH
76252002-01-20 Kazu Hirata <kazu@hxi.com>
7626
7627 * config/h8300/h8300.c (function_arg): Update a comment.
7628
ed863595
KH
76292002-01-20 Kazu Hirata <kazu@hxi.com>
7630
7631 * config/h8300/h8300.md: Update the comments at the beginning
7632 of the file.
7633
5904dc87
KH
76342002-01-20 Kazu Hirata <kazu@hxi.com>
7635
7636 * config/i370/i370.c: Fix comment formatting.
7637 * config/i370/i370.h: Likewise.
7638 * config/i370/i370.md: Likewise.
7639 * config/i370/linux.h: Likewise.
7640
9702143f
RK
7641Sun Jan 20 18:40:14 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7642
cbafacd1
RK
7643 * reg-stack.c (subst_stack_regs): Properly check for deleted insn.
7644
9702143f
RK
7645 * dwarf2out.c (loc_descriptor_from_tree): Add TRUTH_*_EXPR cases.
7646 (gen_struct_or_union_type_die): Don't SIGSEGV if no TYPE_STUB_DECL
7647 in incomplete case.
7648
6b6996b8
GS
76492002-01-20 Graham Stott <grahams@redhat.com>
7650
7651 * cfgloop.c (flow_loop_preheader_scan): Fix typo.
7652
eab854f6
JDA
76532002-01-19 John David Anglin <dave@hiauly1.hia.nrc.ca>
7654
7655 * config.gcc (hppa*64*-*-hpux11*): Fix tmake_file.
7656
5b029315
TR
76572002-01-19 Tom Rix <trix@redhat.com>
7658
7659 * config/rs6000/rs6000.md: Fix DF split for 64 bit hosts.
7660
1d690052
AH
76612002-01-18 Aldy Hernandez <aldyh@redhat.com>
7662
d8086cbb 7663 * doc/tm.texi (STARTING_FRAME_PHASE): Document.
1d690052 7664
d8086cbb
RS
7665 * function.c (assign_stack_local_1): Adjust x_frame_offset with
7666 STARTING_FRAME_PHASE.
7667 (STARTING_FRAME_PHASE): New.
7668 (instantiate_virtual_regs): Check saneness of
7669 STARTING_FRAME_PHASE.
1d690052 7670
d8086cbb 7671 * config/rs6000/rs6000.h (STARTING_FRAME_PHASE): New.
1d690052 7672
4dd8c093
AO
76732002-01-19 Alexandre Oliva <aoliva@redhat.com>
7674
7675 * config/sh/sh.md (movdf_i4 split): Fix alter_subreg calls.
7676
6f2a28d7
CR
76772002-01-18 Craig Rodrigues <rodrigc@gcc.gnu.org>
7678
7679 * doc/install.texi (hppa*-hp-hpux11): Clarify that GCC 2.95.x cannot
7680 be used for bootstrapping GCC 3.0.
7681
8763a465
KH
76822002-01-18 Kazu Hirata <kazu@hxi.com>
7683
7684 * config/h8300/h8300.md: Fix an insn length.
7685
3ef42a0c
KH
76862002-01-18 Kazu Hirata <kazu@hxi.com>
7687
7688 * bitmap.h: Fix comment formatting.
7689 * combine.c: Likewise.
7690 * cppfiles.c: Likewise.
7691 * c-pragma.h: Likewise.
7692 * c-typeck.c: Likewise.
7693 * df.c: Likewise.
7694 * dwarf2out.c: Likewise.
7695 * function.c: Likewise.
7696 * gcc.c: Likewise.
7697 * genattrtab.c: Likewise.
7698 * gthr-win32.h: Likewise.
7699 * haifa-sched.c: Likewise.
7700 * predict.c: Likewise.
7701 * rtlanal.c: Likewise.
7702 * rtl.h: Likewise.
7703 * unwind-dw2-fde.h: Likewise.
7704 * unwind-pe.h: Likewise.
7705 * vmsdbgout.c: Likewise.
7706
dd4dc3cd
RK
7707Thu Jan 17 15:28:26 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7708
7709 * attribs.c (decl_attributes): Clear ATTR_FLAG_TYPE_IN_PLACE
7710 if type_required and passed decl.
7711
5fb4cf24
AH
77122002-01-17 Aldy Hernandez <aldyh@redhat.com>
7713
d8086cbb
RS
7714 * config.gcc (cpu_type): Include altivec.h in powerpc
7715 extra_headers.
7716 Same for darwin.
5fb4cf24 7717
d8086cbb 7718 * config/rs6000/altivec.h: New.
5fb4cf24 7719
2705baf5
DE
77202002-01-17 David Edelsohn <edelsohn@gnu.org>
7721
7722 * doc/install.texi (*-ibm-aix*): Update assembler and exception
7723 handling information.
7724 * doc/trouble.texi (Interoperation): Add libstdc++ information
7725 for AIX.
7726 (Misunderstandings): Add template instantiation and static template
7727 member information for AIX.
7728
dbd680e1
JM
77292002-01-17 Jason Merrill <jason@redhat.com>
7730
821adc5e
JM
7731 * dbxout.c (dbxout_type): Support const and volatile.
7732
dbd680e1
JM
7733 * except.c (add_partial_entry): Remove backwards compatibility code.
7734 (end_protect_partials): Likewise.
7735
d0e82870
JJ
77362002-01-17 Jakub Jelinek <jakub@redhat.com>
7737
7738 * config/ia64/ia64.md (prologue_use): New.
7739 * config/ia64/ia64.c (ia64_expand_prologue): Use
7740 gen_prologue_use instead of gen_rtx_USE.
7741 (group_barrier_needed_p): Handle CODE_FOR_prologue_use the same way
7742 as CODE_FOR_pred_rel_mutex.
7743 (ia64_sched_reorder2): Likewise.
7744
f9f45c65
EC
77452002-01-16 Eric Christopher <echristo@redhat.com>
7746
7747 * config/mips/r3900.h: Reformat.
7748 (SUBTARGET_CPP_SIZE_SPEC): Remove.
7749 * config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Ditto.
7750 * config/mips/mips.h (ABI_GAS_ASM_SPEC): Default to "".
7751 (SUBTARGET_CPP_SIZE_SPEC): Rewrite.
7752 * config/mips/t-elf: Remove mips3 multilib.
7753
c66c8b0e
L
77542002-01-16 H.J. Lu <hjl@gnu.org>
7755
7756 * config/mips/linux.h: Include "mips/abi64.h".
7757
5f083b72
L
77582002-01-16 H.J. Lu <hjl@gnu.org>
7759
7760 * config/mips/t-linux: New.
7761
7762 * config.gcc: Add mips/t-linux to tmake_file for mips*-*-linux*.
7763
7764 * config/mips/linux.h: Don't include "gofast.h".
7765 (INIT_SUBTARGET_OPTABS): Removed.
7766
af3c90a6
KH
77672002-01-16 Kazu Hirata <kazu@hxi.com>
7768
7769 * config/h8300/h8300-protos.h: Replace emit_a_shift with
7770 output_a_shift.
7771 * config/h8300/h8300.c: Likewise.
7772 * config/h8300/h8300.md: Likewise.
7773
a1bf0a16
KH
77742002-01-16 Kazu Hirata <kazu@hxi.com>
7775
7776 * config/h8300/h8300.md (pushqi1_h8300): Use a tab instead of
7777 spaces after an opcode name.
7778 (pushqi1_h8300hs): Likewise.
7779 (pushhi1_h8300hs): Likewise.
7780
88ab0d1c
KH
77812002-01-16 Kazu Hirata <kazu@hxi.com>
7782
7783 * doc/extend.texi: Replace "option" with "attribute"
7784 appropriately.
7785
51c561e3
JJ
77862002-01-16 Jakub Jelinek <jakub@redhat.com>
7787
7788 * config/alpha/alpha.c (some_small_symbolic_mem_operand): Look into
7789 (and:DI () (const_int -8)).
7790 (split_small_symbolic_mem_operand): Split
7791 (mem (and:DI () (const_int -8)).
7792
b8c1a6b8
JJ
77932002-01-16 Jakub Jelinek <jakub@redhat.com>
7794
7795 PR target/5309:
d8086cbb 7796 * config/sparc/sparc.c (ultrasparc_adjust_cost): Handle TYPE_IDIV the
b8c1a6b8
JJ
7797 same way as TYPE_IMUL.
7798 (ultrasparc_sched_reorder): Likewise.
7799 * config/sparc/sparc.md (type): Add comment to update
7800 ultrasparc_sched_reorder when making changes.
7801
1e4e4df2
KH
78022002-01-16 Kazu Hirata <kazu@hxi.com>
7803
7804 * doc/invoke.texi: Change the dump file name of block
7805 reordering pass from 28.bbro to 29.bbro.
7806 Mention -dk option.
7807
14d920c0
JH
7808Wed Jan 16 17:54:22 CET 2002 Jan Hubicka <jh@suse.cz>
7809
7810 * i386.md (minsf splitter): Fix pasto.
7811
2e99323f
NC
78122002-01-16 Nick Clifton <nickc@cambridge.redhat.com>
7813
7814 * config/arm/arm.c (arm_expand_prologue): Add REG_MAYBE_DEAD note
7815 to frame pointer initialisation instruction.
7816 (thumb_expand_prologue): Add REG_MAYBE_DEAD note to frame pointer
7817 initialisation instruction.
ab8081c1
NC
7818 (soft_df_operand): Do not accept the IP register.
7819 (nonimmediate_soft_df_operand): Do not accept the IP register.
2e99323f 7820
c4031a04
JJ
78212002-01-16 Jakub Jelinek <jakub@redhat.com>
7822
7823 PR target/5357:
7824 * config/sparc/sparc.c (sparc_override_options): Avoid MASK_V9 and
7825 MASK_V8 being both set.
7826
44b8152b
UW
78272002-01-16 Ulrich Weigand <uweigand@de.ibm.com>
7828
7829 * config/s390/s390.c (s390_emit_prologue): Do not emit USE
7830 insn for GOT register; add REG_MAYBE_DEAD notes instead.
7831 config/s390/s390.md (call, call_value): Add GOT register to
7832 CALL_INSN_FUNCTION_USAGE where needed.
7833 (call_exp, call_value_exp): New.
7834
1d6e90ac
NC
78352002-01-16 Nick Clifton <nickc@cambridge.redhat.com>
7836
7837 * config/arm/arm.c: General formatting tidy up.
7838
78392002-01-16 Graham Stott <grahams@redhat.com>
60e8b9f0
GS
7840
7841 * calls.c (try_to_integrate): Use "(size_t)" intermediate
7842 cast and when casting an integer literal to "rtx" pointer.
7843 (expand_call): Likewise.
7844 * flow.c (try_pre_increment): Likewise.
7845 (find_use_as_address): Likewise.
7846 * integrate.c (expand_iline_function): Likewise.
7847 * regmove.c (try_auto_increment): Likewise.
7848
1d6e90ac 78492002-01-16 Graham Stott <grahams@redhat.com>
7b25b076
GS
7850
7851 * sched-rgn.c (passed): Use sbitmap_free.
7852 (header): Likewise.
7853 (inner): Likewise.
7854 (in_queue): Likewise.
7855 (in_stack): Likewise.
7856
31fce3c4
EC
78572002-01-15 Eric Christopher <echristo@redhat.com>
7858
7859 * flow.c (propagate_one_insn): Change to use fatal_insn.
7860
c99d986a
KH
78612002-01-15 Kazu Hirata <kazu@hxi.com>
7862
7863 * expmed.c (extract_fixed_bit_field): Remove unused code.
7864 * system.h: Poison SLOW_ZERO_EXTEND.
7865 * doc/tm.texi: Remove.
7866 * config/1750a/1750a.h (SLOW_ZERO_EXTEND): Remove.
7867 * config/arm/arm.h: Likewise.
7868 * config/avr/avr.h: Likewise.
7869 * config/clipper/clipper.h: Likewise.
7870 * config/convex/convex.h: Likewise.
7871 * config/d30v/d30v.h: Likewise.
7872 * config/dsp16xx/dsp16xx.h: Likewise.
7873 * config/elxsi/elxsi.h: Likewise.
7874 * config/fr30/fr30.h: Likewise.
7875 * config/h8300/h8300.h: Likewise.
7876 * config/i370/i370.h: Likewise.
7877 * config/i386/i386.h: Likewise.
7878 * config/m68k/m68k.h: Likewise.
7879 * config/mips/mips.h: Likewise.
7880 * config/ns32k/ns32k.h: Likewise.
7881 * config/pdp11/pdp11.h: Likewise.
7882 * config/pj/pj.h: Likewise.
7883 * config/s390/s390.h: Likewise.
7884 * config/sh/sh.h: Likewise.
7885 * config/stormy16/stormy16.h: Likewise.
7886 * config/v850/v850.h: Likewise.
7887 * config/vax/vax.h: Likewise.
7888 * config/we32k/we32k.h: Likewise.
7889
acfab996
AH
78902002-01-15 Aldy Hernandez <aldyh@redhat.com>
7891
d8086cbb
RS
7892 * config/rs6000/rs6000.md (altivec_stvx): Add parallels to stvx.
7893 (altivec_lvsl): Change constraint to b.
7894 (altivec_lvsr): Same.
7895 (altivec_lvebx): Same.
7896 (altivec_lvehx): Same.
7897 (altivec_lvewx): Same.
7898 (altivec_lvxl): Same.
7899 (altivec_lvx): Same.
7900 (altivec_stvx): Add parallel.
7901 (altivec_stvxl): Same.
7902 (altivec_stvehx): Same.
7903 (altivec_stvebx): Same.
7904 (altivec_stvebx): Same.
acfab996 7905
5e505bc9
AH
79062002-01-15 Aldy Hernandez <aldyh@redhat.com>
7907
d8086cbb 7908 * config.gcc: Change altivec.h to altivec-defs.h.
5e505bc9 7909
d8086cbb 7910 * config/rs6000/altivec.h: Delete.
5e505bc9 7911
d8086cbb 7912 * config/rs6000/altivec-defs.h: Add.
5e505bc9 7913
5c41fdfb
JDA
79142002-01-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
7915
7916 * vax.c (vax_rtx_cost): Return MAX_COST for unsupported MULT, UDIV
7917 and UMOD modes.
7918
7919 * vax.h (INDEX_TERM_P): Restrict indexing to modes which have a size
7920 less than or equal to eight bytes.
7921
7922 * vax.md (andsi3): Remove constraints and change SET destination
7923 operand type to nonimmediate_operand.
7924 (andhi3, andqi3): Likewise. Don't clear high order bits of operand 1
7925 when it is a CONST_INT.
7926
de097a2d
JM
79272002-01-15 Jason Merrill <jason@redhat.com>
7928
7929 * c-common.def (FILE_STMT): New code.
7930 * c-common.c (statement_code_p): It's a statement.
7931 * c-common.h (stmt_tree_s): Add x_last_filename.
7932 (FILE_STMT_FILENAME_NODE, FILE_STMT_FILENAME): New macros.
7933 (last_expr_filename): New macro.
7934 * c-semantics.c (begin_stmt_tree): Initialize it.
7935 (add_stmt): If the filename changed, also insert a
7936 FILE_STMT.
7937 (expand_stmt): Handle seeing one.
7938
4a913dd6
EC
79392002-01-15 Eric Christopher <echristo@redhat.com>
7940
7941 * flow.c (propagate_one_insn): Add error message and print out
7942 insn for debugging.
7943
006946e4
JM
79442002-01-15 Joseph S. Myers <jsm28@cam.ac.uk>
7945
7946 * system.h (ASM_IDENTIFY_GCC, STDC_VALUE, TRAMPOLINE_ALIGN,
7947 ASM_IDENTIFY_GCC_AFTER_SOURCE): Poison.
7948 * config/pdp11/pdp11.h (TRAMPOLINE_ALIGN): Rename to
7949 TRAMPOLINE_ALIGNMENT.
7950 * config/arm/arm.h, config/mcore/mcore.h: Likewise. Change value
7951 to be in bits.
7952 * config/i386/cygwin.h (PCC_BITFIELDS_TYPE_MATTERS): Rename to
7953 PCC_BITFIELD_TYPE_MATTERS.
7954 * config/interix.h (STDC_VALUE): Remove. Use
7955 STDC_0_IN_SYSTEM_HEADERS.
7956 * config/darwin.h (ASM_IDENTIFY_GCC), config/dsp16xx/dsp16xx.h
7957 (ASM_IDENTIFY_GCC), config/stormy16/stormy16.h (ASM_IDENTIFY_GCC,
7958 ASM_IDENTIFY_GCC_AFTER_SOURCE): Remove.
7959
751a1458
CR
79602002-01-15 Craig Rodrigues <rodrigc@gcc.gnu.org>
7961
7962 * doc/install.texi (hppa*-hp-hpux11): --enable-threads does
7963 not work on this platform currently.
7964
57771fe8
JM
79652002-01-15 Joseph S. Myers <jsm28@cam.ac.uk>
7966
7967 * c-typeck.c (build_unary_op): Don't wrap msgid argument of
7968 readonly_warning in _().
7969
0e83ceb1 79702002-01-15 Douglas B Rupp <rupp@gnat.com>
9a52433e 7971
0e83ceb1 7972 * gcc.c (delete_if_ordinary): Backout previous change.
9a52433e 7973
8e2e89f7
KH
79742002-01-15 Kazu Hirata <kazu@hxi.com>
7975
0e83ceb1
DR
7976 * config/h8300/h8300.c (print_operand): Remove support for
7977 unused operand characters.
7978
8e2e89f7
KH
7979 * read-rtl.c: Fix formatting.
7980 * real.c: Likewise.
7981 * recog.c: Likewise.
7982 * regclass.c: Likewise.
7983 * regmove.c: Likewise.
7984 * reg-stack.c: Likewise.
7985 * reload1.c: Likewise.
7986 * rtlanal.c: Likewise.
7987
b531087a
KH
79882002-01-15 Kazu Hirata <kazu@hxi.com>
7989
7990 * config/i386/i386.c: Fix formatting.
7991
7c94ce7f
JJ
79922002-01-15 Jakub Jelinek <jakub@redhat.com>
7993
7994 * c-typeck.c (process_init_element): Don't save_expr
7995 COMPOUND_LITERAL_EXPR if just its initializer will be used.
7996
6041bf2f
DE
79972002-01-15 David Edelsohn <edelsohn@gnu.org>
7998
7999 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Do not
8000 emit optional traceback table if optimize_size or TARGET_ELF.
8001 * config/rs6000/rs6000.md (prefetch): New.
8002
8559c8c0
AJ
80032002-01-15 Andreas Jaeger <aj@suse.de>
8004
8005 * config.gcc (x86_64-*-*): Install mmintrin.h and xmmintrin.h.
8006
70f122f2
KH
80072002-01-15 Kazu Hirata <kazu@hxi.com>
8008
8009 * mips-tfile.c: Fix formatting.
8010
6a7b4ca6
JH
8011Tue Jan 15 00:56:11 CET 2002 Jan Hubicka <jh@suse.cz>
8012
8013 * unroll.c (final_reg_note_copy): Fix previous commit.
8014
e7afe229
KH
80152002-01-14 Kazu Hirata <kazu@hxi.com>
8016
8017 * config/h8300/h8300-protos.h: Remove the prototype for
8018 eq_operator.
8019 * config/h8300/h8300.c (eq_operator): Remove.
8020
7d378549
RH
80212002-01-14 Richard Henderson <rth@redhat.com>
8022
8023 * config/i386/i386.md (prefetch): Tidy.
8024 (prefetch_3dnow): Fix locality operand.
8025
ab093b81
RH
80262002-01-14 Richard Henderson <rth@redhat.com>
8027
8028 * config/mips/mips.h (HI_AND_FP_REGS): New register class.
8029 (CLASS_CANNOT_CHANGE_MODE): Disallow HI in little-endian mode.
8030
d300f51f
HPN
80312002-01-14 Hans-Peter Nilsson <hp@bitrange.com>
8032
8033 * reload1.c (reload_combine): Pass reg_sum replacement through
8034 copy_rtx in loop performing multiple changes.
8035
655dd289
JJ
80362002-01-14 Jakub Jelinek <jakub@redhat.com>
8037
8038 * except.c (remove_unreachable_regions): New.
8039 (free_eh_status): Clear exception_handler_labels.
8040 (convert_from_eh_region_ranges): Call remove_unreachable_regions.
8041 (find_exception_handler_labels): Don't add the same label more than
8042 once.
8043 (remove_exception_handler_label): Don't die if
8044 find_exception_handler_labels hasn't been called for the current
8045 function yet.
8046
1fba46a7
JH
8047Mon Jan 14 21:26:13 CET 2002 Jan Hubicka <jh@suse.cz>
8048
8049 * toplev.c (rest_of_compilation): Rebuild jump labels after
8050 gcse.
8051
0975678f
JM
80522002-01-14 Joseph S. Myers <jsm28@cam.ac.uk>
8053
8054 * doc/extend.texi: Move documentation of X86 built-in functions
8055 here.
8056 * doc/invoke.texi: From here.
8057 * doc/sourcebuild.texi: Document location of documentation for
8058 machine built-in functions.
8059
969815c7
CF
80602002-01-13 Christopher Faylor <cgf@redhat.com>
8061
8062 * cppfiles.c (TEST_THRESHOLD): New macro.
8063 (SHOULD_MMAP): Ditto.
8064 (read_include_file): Use SHOULD_MMAP macro to decide when mmap should
8065 be used.
8066
494c950b
JH
8067Mon Jan 14 20:23:34 CET 2002 Jan Hubicka <jh@suse.cz>
8068
8069 * unroll.c (final_reg_note_copy): Properly handle
8070 REG_LABEL
8071 (unroll_loops): Fix LOOP_CONDITION heuristics.
8072
69a0611f
GK
80732002-01-14 Geoffrey Keating <geoffk@redhat.com>
8074
8075 * doc/invoke.texi (Xstormy16 Options): Add xstormy16 option.
8076 * doc/md.texi (Machine Constraints): Use @minus{} where appropriate.
8077
b90e45ae
JH
8078Mon Jan 14 20:18:19 CET 2002 Jan Hubicka <jh@suse.cz>
8079
8080 * cfgcleanup.c (try_forward_edges): Avoid infinite loop at infinite
8081 threaded loop.
8082
8377288b
TR
80832002-01-14 Tom Rix <trix@redhat.com>
8084
8085 * config/rs6000/rs6000.md: Fix typo with sradi.
8086
9f37ccb1
UW
80872002-01-14 Ulrich Weigand <uweigand@de.ibm.com>
8088
8089 * config/s390/s390.md (movstrdix_64, movstrsix_31, movstrdi_64,
8090 movstrsi_31, clrstrsi_64, clrstrsi_31): Improve RTL templates.
8091 (clrstrdi, clrstrsi): Adapt callers.
8092
8093 (extendsidi2, zero_extendsidi2): Remove no-conflict blocks.
8094
8559c8c0 8095 (movti splitter): Never use register 0 as base register.
9f37ccb1 8096
6c2d03d0
HP
80972002-01-14 Hartmut Penner <hpenner@de.ibm.com>
8098
8559c8c0
AJ
8099 * combine.c (simplify_shift_const): Always generate new rtx
8100 for shift expression instead of reusing given expression.
6c2d03d0 8101
d3e98208
RK
8102Mon Jan 14 07:08:55 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8103
8104 * config/alpha/alpha.c (alpha_expand_mov): Don't call
8105 alpha_legitimize_address unless mode is Pmode.
8106
9f339dde
GK
81072002-01-13 Geoffrey Keating <geoffk@redhat.com>
8108
8109 * doc/md.texi (Modifiers): Document the '*' constraint for the
8110 user.
8111
8112 * doc/md.texi (Machine Constraints): Add constraints for xstormy16.
8113 * doc/extend.texi (Function Attributes): 'interrupt' is valid
8114 for xstormy16 too.
8115
02a10130
RH
81162002-01-13 Richard Henderson <rth@redhat.com>
8117
8118 * reload.c (find_reloads): Use a hard reg destination as reload reg
8119 for an input reload of the source.
8120
61d47787
GP
81212002-01-13 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
8122
8123 * doc/install.texi (Binaries): Make link to ftp.writtenword.com
8124 more generic.
8125
f0df8029
DR
8126Sun Jan 13 07:23:01 2002 Douglas B Rupp <rupp@gnat.com>
8127
8128 * Makefile.in (LIB2FUNCS): Split into LIB2FUNCS_1 and LIB2FUNCS_2.
8129 * mklibgcc.in (LIB2FUNCS): Split into LIB2FUNCS_1 and LIB2FUNCS_2.
8130
d2a37256
DR
8131 * config/alpha/x-vms (USE_COLLECT2): Set to empty.
8132
a9e8a5ee
RK
8133Sun Jan 13 06:55:31 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8134
8135 * dwarf2out.c (mem_loc_descriptor, case ADDRESSOF): New case.
8136
bc06712d
TR
81372002-01-12 Tom Rix <trix@redhat.com>
8138
8559c8c0 8139 * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Use ior for
bc06712d
TR
8140 TARGET_POWERPC64.
8141
7cbe9bb7
RH
81422002-01-12 Richard Henderson <rth@redhat.com>
8143
38b29e64
RH
8144 * config/i386/i386.c (bdesc_2arg): Mark psadbw MASK_3DNOW_A.
8145
58605ba0
RH
8146 * doc/invoke.texi: Update Alpha options.
8147
7cbe9bb7
RH
8148 * doc/invoke.texi: Update i386 built-in function lists.
8149
9d560860
JH
8150Sat Jan 12 17:38:11 CET 2002 Jan Hubicka <jh@suse.cz>
8151
8152 * unroll.c (final_reg_note_copy): Avoid crash on REG_LABEL note
8153 referencing outside.
8154
bb93b973
RK
8155Sat Jan 12 08:54:51 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8156
8157 * diagnostic.c (warn_deprecated_use): Rework to lower indentation.
8158 * expr.c (emit_move_insn_1): Remove warning, use HOST_WIDE_INT for
8159 offsets, and change line folding.
8160 * optabs.c (expand_binop): Remove warnings.
8161 * sdbout.c (sdbout_record_type_name): Constify NAME to avoid warning.
8559c8c0 8162
f9f6b7df
GS
81632002-01-12 Graham Stott <grahams@redhat.com>
8164
8165 * attribs.c (handle_deprecated_attribute): constify WHAT.
8166 * diagnostic.c (warn_deprecated_use): Add braces, fixes
8167 dangling else warning and constify WHAT.
8168 * except.h (struct function, struct inline_remap): Move
8169 struct tag forward defs before all prototypes.
8170 (duplicate_eh_regions): Whitespace.
8171
4a692617
NC
81722002-01-12 Nick Clifton <nickc@cambridge.redhat.com>
8173
8174 * config/arm/arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Use
8175 MODE_BASE_REG_CLASS.
8176 (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Use MODE_BASE_REG_CLASS.
8177
e37af218
RH
81782002-01-12 Richard Henderson <rth@redhat.com>
8179
8180 * config/i386/i386.c (override_options): If SSE, enable sse prefetch.
8181 (ix86_expand_vector_move): New.
8182 (bdesc_2arg): Remove andps, andnps, orps, xorps.
8183 (ix86_init_mmx_sse_builtins): Make static. Remove composite builtins.
8184 Remove old prefetch builtins. Special case the logicals removed above.
8185 (ix86_expand_builtin): Likewise.
8186 (safe_vector_operand): Use V4SFmode, not TImode.
8187 (ix86_expand_store_builtin): Remove shuffle arg. Update callers.
8188 (ix86_expand_timode_binop_builtin): New.
8189 * config/i386/i386-protos.h: Update.
8190 * config/i386/i386.h (enum ix86_builtins): Update.
8191 * config/i386/i386.md: Correct predicates on MMX/SSE patterns.
8192 Use ix86_expand_vector_move in vector move expanders.
8193 (movti_internal, movti_rex64): Add xorps alternative.
8194 (sse_clrv4sf): Rename and adjust from sse_clrti.
8195 (prefetch): Don't work so hard.
8196 (prefetch_sse, prefetch_3dnow): Use PREFETCH rtx, not UNSPEC.
8197 * config/i386/xmmintrin.h (__m128): Use V4SFmode.
8198 (_mm_getcsr, _mm_setcsr): Fix typo in builtin name.
8199
6f1a6c5b
RH
82002002-01-11 Richard Henderson <rth@redhat.com>
8201
8202 * config/i386/mmintrin.h: New file.
8203 * config/i386/xmmintrin.h: New file.
8204 * config.gcc (i?86-*-*): Add extra_headers.
8205 * simplify-rtx.c (simplify_unary_operation): Handle saturating
8206 truncation codes.
8207 (simplify_binary_operation): Handle saturating arithmetic codes.
8208 * config/i386/i386.c (ix86_expand_sse_comi): Return the full result,
8209 not the lowpart subreg.
8210 (ix86_expand_builtin): Return a TImode dummy register instead of 0
8211 on error.
8212 * config/i386/i386.md (mmx_clrdi): Override memory attribute.
8213
cdb574d3
MH
82142002-01-12 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
8215
8216 * conflict.c (conflict_graph_compute): Free regsets when finished.
8217 * ssa.c (compute_coalesced_reg_partition): Likewise.
8559c8c0 8218
cf11ac55
HB
82192002-01-12 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
8220
8221 * global.c (find_reg): Check for HARD_REGNO_CALL_PART_CLOBBERED
8222 every where we allocate a register.
8223
76ac938b
MH
82242002-01-12 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
8225
8226 * gcse.c (compute_pre_data, pre_gcse): Use sbitmap_free.
8227 * lcm.c (compute_earliest, compute_farthest): Likewise.
8228
a84b4898
JJ
82292002-01-11 Janis Johnson <janis187@us.ibm.com>
8230
8231 * expr.c (expand_assignment): Fix misuse of MEM_KEEP_ALIAS_SET.
8232
aaef1c12
JJ
82332002-01-11 Janis Johnson <janis187@us.ibm.com>
8234
8235 * doc/rtl.texi (Insns): Fix 2 typos.
8236
5d22c1a5
JM
82372002-01-11 Joseph S. Myers <jsm28@cam.ac.uk>
8238
8239 * doc/invoke.texi: Avoid overfull hboxes. Add summary of D30V
8240 options. Use @table @gcctabopt for MMIX options. Add index
8241 entries for MMIX options. Start new paragraph with first
8242 heading of the machine-dependent options.
8243
3e92902c
CR
82442002-01-11 Craig Rodrigues <rodrigc@gcc.gnu.org>
8245
8246 PR other/5299
8247 * config/ns32k/ns32k.md: Fix spelling mistake of "than" in comments.
8248 * combine.c (force_to_mode): Same.
8249 * reload1.c (clear_reload_reg_in_use): Same.
8250
96ae8197
NC
82512002-01-11 Nick Clifton <nickc@cambridge.redhat.com>
8252
8253 * config/arm/arm.c (arm_gen_constant): Correct test of 'remainder'
8254 and 'subtargets'.
8255
9b780582
AJ
82562002-01-11 Andreas Jaeger <aj@suse.de>,
8257 Brad Lucier <lucier@math.purdue.edu>
8258
8259 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Remove wrong
8260 mcpu.
8261
12300dad
DR
8262Fri Jan 11 07:35:12 2002 Douglas B Rupp <rupp@gnat.com>
8263
8264 * config/alpha/vms.h: (MD_FALLBACK_FRAME_STATE_FOR): Fix errors.
8265 Protect with IN_LIBGCC.
8266 (LINK_EH_SPEC): Add required trailing space.
8267
27511a9a
NP
8268Fri Jan 11 09:25:05 2002 Nicola Pero <n.pero@mi.flashnet.it>
8269
9b780582 8270 * c-tree.h: Move function declarations so that they are listed
27511a9a
NP
8271 under the filename which contains them.
8272 (check_identifier, finish_decl_top_level,
8273 lookup_name_current_level_global, shadow_record_fields): Remove.
8274
4daeab16
AJ
82752002-01-11 Andreas Jaeger <aj@suse.de>
8276
8277 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Remove duplicated
8278 march.
8279
40571d67
RH
82802002-01-10 Richard Henderson <rth@redhat.com>
8281
8282 * config/alpha/alpha.c (print_operand): Add 'J'.
8283 * config/alpha/alpha.md (call_osf_1_er, call_value_osf_1_er): Take a
8284 new operand with the sequence number for the lituse. When splitting
8285 the insns, use gen_movdi_er_high_g and generate a sequence number.
8286 (gen_movdi_er_high_g): Print the sequence number if non-zero.
8287
6525c0e7
AH
82882002-01-10 Aldy Hernandez <aldyh@redhat.com>
8289
d8086cbb
RS
8290 * config/rs6000/rs6000.c (altivec_init_builtins): Add support for
8291 lvebx, lvehx, lvewx, lvxl, lvx, stvx, stvebx, stvehx, stvewx,
8292 stvxl.
8293 (altivec_expand_builtin): Same.
8294 (altivec_expand_stv_builtin): New.
8295
8296 * config/rs6000/rs6000.h (rs6000_builtins): Same.
8297
8298 * config/rs6000/rs6000.md ("altivec_lvebx"): New.
8299 ("altivec_lvehx"): New.
8300 ("altivec_lvewx"): New.
8301 ("altivec_lvxl"): New.
8302 ("altivec_lvx"): New.
8303 ("altivec_stvx"): New.
8304 ("altivec_stvebx"): New.
8305 ("altivec_stvehx"): New.
8306 ("altivec_stvewx"): New.
8307 ("altivec_stvxl"): New.
6525c0e7 8308
cda94cbb
RH
83092002-01-10 Richard Henderson <rth@redhat.com>
8310
8311 * cfgrtl.c (delete_insn): Assert insn hasn't been deleted yet.
8312 * reload1.c (delete_output_reload): Zap spill_reg_store. Take
8313 care not to delete instructions twice.
8314
df2c9a44
ZW
83152002-01-10 Zack Weinberg <zack@codesourcery.com>
8316
8317 * toplev.c: Don't declare environ (it's not used anywhere).
8318 * configure.in: Don't check for declaration of environ.
8319 * config/i386/xm-mingw32.h: Don't #define environ.
8320 * config.in, configure: Regenerate.
8321
5dd8a9b1
ZW
83222002-01-10 Zack Weinberg <zack@codesourcery.com>
8323
8324 * configure.in: Set stage1_cflags for powerpc-*-darwin*.
8325 * configure: Regenerate.
8326
8327 * config/interix.h: Set DO_GLOBAL_CTORS_BODY and
8328 DO_GLOBAL_DTORS_BODY here, not in xm-interix.h.
8329 * config/alpha/vms.h: Set INCLUDE_DEFAULTS here, not in
8330 alpha/xm-vms.h.
8331 * config/m68k/t-next: Set OTHER_FIXINCLUDES_DIRS and
8332 LIMITS_H_TEST here, not in m68k/x-next.
8333 * config/rs6000/beos.h: Set STANDARD_INCLUDE_DIR and
8334 SYSTEM_INCLUDE_DIR here, not in rs6000/xm-beos.h.
8335
8336 * config/x-interix: Don't set RANLIB, RANLIB_TEST, SHELL,
8337 LIBGCC2_INCLUDES, or SYSTEM_HEADER_DIR.
8338 * config/alpha/x-vms: Don't set USE_COLLECT2. Add comments.
8339
8340 * config/i386/x-djgpp: Renamed i386/t-djgpp.
8341 * config/m88k/x-dolph: Renamed m88k/t-dolph.
8342 * config/m88k/x-texXD88: Renamed m88k/t-texXD88.
8343 * config/pa/x-pa-mpeix: Renamed pa/t-mpeix. Update for
8344 replacement of quadlib.asm with quadlib.c.
8345
8346 * config/x-interix3, config/xm-interix.h, config/i386/x-beos,
8347 config/i386/xm-osf1elf.h, config/rs6000/x-darwin,
8348 config/rs6000/xm-beos.h: Delete file.
8349
8350 * config.gcc: Update to match above changes.
8351
d10dd44c
KH
83522002-01-10 Kazu Hirata <kazu@hxi.com>
8353
8354 * config/h8300/h8300.h: Fix comment typos.
8355 * config/h8300/h8300.md: Likewise.
8356 * config/h8300/lib1funcs.asm: Likewise.
8357
04894c5a
DJ
83582002-01-10 Dale Johannesen <dalej@apple.com>
8359
8360 PR optimization/5269
8361 * unroll.c (precondition_loop_p): Make *increment be the correct
8362 sign when n_iterations known, to avoid confusing caller.
8363
adc9fe67
KH
83642002-01-10 Kazu Hirata <kazu@hxi.com>
8365
8366 * doc/extend.texi (deprecated): Fix a typo.
8367
b446e5a2
JH
8368Thu Jan 10 22:35:54 CET 2002 Jan Hubicka <jh@suse.cz>
8369
8370 * basic-block.h (update_br_prob_note): Declare.
8371 * cfgcleanup.c (try_simplify_condjump): Call update_br_prob_note.
8372 (try_forward_edges): Care negative frequencies and update note.
8373 (outgoing_edges_match): Tweek conditional merging heuristics.
8374 (try_crossjump_to_edge): use update_br_prob_note.
8375 * cfglayout.c (fixup_reorder_chain): Likewise.
8376 * cfrtl.c (update_br_prob_note): New.
8377 * ifcvt.c (dead_or_predicable): Call update_br_prob_note.
8378
8379 * i386.c (ix86_decompose_address): Return -1 if address contains
8380 shift.
8381 (legitimate_address_p): Require ix86_decompose_address to return 1.
8382
8383 * gcse.c (hash_scan_set): Use CONSTANT_INSN_P.
8384 (cprop_insn): Likewise.
8385
a01da83b
KH
83862002-01-10 Kazu Hirata <kazu@hxi.com>
8387
8388 * toplev.c: Fix formatting.
8389 * tree.c: Likewise.
8390 * tree-dump.c: Likewise.
8391 * unroll.c: Likewise.
8392 * unwind-dw2.c: Likewise.
8393 * unwind-dw2-fde.c: Likewise.
8394 * unwind-dw2-fde-glibc.c: Likewise.
8395 * unwind-sjlj.c: Likewise.
8396
9f85bca7
JM
83972002-01-10 Joseph S. Myers <jsm28@cam.ac.uk>
8398
8399 * doc/invoke.texi: Document PDP-11 options.
8400
f48f56b1
KH
84012002-01-10 Kazu Hirata <kazu@hxi.com>
8402
8403 * config/h8300/h8300.h: Fix formatting.
8404
ead39bdf 84052002-01-10 Ira Ruben <ira@apple.com>
7f180628
IR
8406
8407 Add __attribute__ ((deprecated)).
8408 * extend.texi: Document __attribute__ ((deprecated)).
8409 * invoke.texi: Document -Wno-deprecated-declarations.
8410 * testsuite/g++.dg/other/deprecated.C: New C++ test.
8411 * testsuite/gcc.dg/deprecated.c: New C test.
8412 * attribs.c (enum attrs): Declare handle_deprecated_attribute().
8413 (c_common_attribute_table): Add "deprecated" entry.
8414 (handle_deprecated_attribute): New function.
8415 * c-decl.c (deprecated_states): New enum.
8416 deprecated_state: State of "deprecated" handling.
8417 (start_decl): Set deprecated_state based on attributes.
8418 (grokdeclarator): Test for deprecated uses, propagate attribute.
8419 * c-typeck.c (build_component_ref): Test for deprecated fields.
8420 (build_external_ref): Test for deprecated primaries.
8421 * diagnostic.c (warn_deprecated_use) New function to issue
8422 warnings about __attribute__ ((depricated)) references.
8423 * flags.h (warn_deprecated_decl): Extern declared for
8424 -W[no-]deprecated-declarations option.
8425 * print-tree.c (print_node): Show deprecated flag status.
8426 * toplev.c (warn_deprecated_decl): Defined.
8427 (W_options): Added "deprecated-declaration".
8428 * toplev.h (warn_deprecated_use): Extern declared.
8429 * tree.h (struct tree_common): Define deprecated_flag.
8430 (TREE_DEPRECATED): New macro to access flag.
8431 * cp/call.c (build_call): Test for deprecated calls.
8432 * cp/class.c (add_implicitly_declared_members): Set global
8433 flag to tell grokdeclarator to not issue deprecated warnings.
8434 * cp/cp-tree.h: Add extern for adding_implicit_members.
8435 * cp/decl.c (deprecated_states): New enum.
8436 (start_decl): Set deprecated_state based on attributes.
8437 (grokdeclarator): Test for deprecated uses, propagate attribute.
8438 * cp/lex.c (do_identifier): Test for deprecated primaries.
8439 * cp/typeck.c (build_component_ref): Test for deprecated fields.
8440
ead39bdf 84412002-01-10 Ira Ruben <ira@apple.com>
7f180628
IR
8442
8443 Fix to assign attributes to inline member functions.
8444 * cp/decl.c (start_method): Handle attrlist.
8445
47073a38
KH
84462002-01-10 Kazu Hirata <kazu@hxi.com>
8447
8448 * combine.c (expand_field_assignment): Use subreg_lsb().
8449
d288e53d
DE
84502002-01-10 David Edelsohn <edelsohn@gnu.org>
8451
8452 * alias.c (find_base_value): Add cases for HIGH, PRE_INC, PRE_DEC,
8453 POST_INC, POST_DEC, PRE_MODIFY, and POST_MODIFY.
8454 (find_base_term): Add cases for TRUNCATE, PRE_MODIFY, and POST_MODIFY.
8455 Recurse for any operand of AND as long as constant is non-zero.
8456
08a02ffa
KH
84572002-01-10 Kazu Hirata <kazu@hxi.com>
8458
8459 * config/h8300/h8300.md: Remove constraints from expanders.
8460
c203e7fe
KH
84612002-01-10 Kazu Hirata <kazu@hxi.com>
8462
8463 * varasm.c: Fix formatting.
8464 * varray.c: Likewise.
8465 * vmsdbgout.c: Likewise.
8466 * xcoffout.c: Likewise.
8467
bcb3bc6d
JH
8468Thu Jan 10 17:19:12 CET 2002 Jan Hubicka <jh@suse.cz>
8469
8470 * cfgcleanup.c (try_forward_edges): Properly initialize nthreaded_edges;
cda94cbb 8471 update edge probabilities to match.
bcb3bc6d 8472
0a553c7e
JM
84732002-01-10 Joseph S. Myers <jsm28@cam.ac.uk>
8474
8475 * Makefile.in ($(docdir)/gccint.info, gccint.dvi): Add additional
8476 dependencies.
8477 * doc/languages.texi, doc/sourcebuild.texi: New files.
8478 * doc/configfiles.texi: Make a subsubsection. Update.
8479 * doc/configterms.texi: Add @node. Remove warning that this isn't
8480 instructions for building GCC.
8481 * doc/makefile.texi: Make a subsection.
8482 * doc/gccint.texi: Update.
8483
adc7fcb8
JH
8484Thu Jan 10 16:39:58 CET 2002 Jan Hubicka <jh@suse.cz>
8485
8486 * i386.md (sse_mov?fcc_const0_?): Fix constraints.
8487
5a4dd0b3
NP
8488Thu Jan 10 12:45:50 2002 Nicola Pero <n.pero@mi.flashnet.it>
8489
8490 * doc/cpp.texi: Document the __OBJC__ preprocessor macro.
8491
3987b9db
JH
8492Thu Jan 10 11:19:18 CET 2002 Jan Hubicka <jh@suse.cz>
8493
8494 * optabs.c (expand_fix): Look for wider integer modes first.
8495
8496 * i386.md (mov?f): Avoid the fake const double trick for medium
8497 memory model.
8498 (min?f*/max?f*): Prohibit memory operands for i387 variant.
8499 (fop_df_4): Disable for SSE compilation.
8500
ceb15948 85012002-01-10 Graham Stott <grahams@redhat.com>
117f9d28
GS
8502
8503 * dwarf2out.c (indirect_string_alloc, output_indirect_string):
cda94cbb 8504 Move prototype into DWARF2_DEBUGGING_INFO conditional block.
117f9d28 8505
e1623399
RH
85062002-01-10 Richard Henderson <rth@redhat.com>
8507
8508 * config/alpha/alpha.md (extendsidi2_fix): Penalize f/f alternative.
8509
c4abb293
RH
85102002-01-10 Richard Henderson <rth@redhat.com>
8511
8512 * regrename.c (find_oldest_value_reg): Fix typo in mode change check.
8513 (copyprop_hardreg_forward_1): Likewise. Use mode_change_ok.
8514
d2604ae9
KH
85152002-01-10 Kazu Hirata <kazu@hxi.com>
8516
8517 * combine.c (can_combine_p): Fix a comment typo.
8518
766c7ad1
ZW
85192002-01-09 Zack Weinberg <zack@codesourcery.com>
8520
8521 * Makefile.in (s-gencheck, s-options, s-specs): Handle an
8522 empty list correctly. Change loop index $t to $f for
8523 consistency with rest of Makefile.
8524
95385cbb
AH
85252002-01-08 Aldy Hernandez <aldyh@redhat.com>
8526
8527 * testuite/gcc.dg/altivec-4.c: Add test for mtvscr, dssall,
8528 mfvscr, dss, lvsl, lvsr, dstt, dstst, dststt, dst.
8529
8530 * config/rs6000/rs6000.c (altivec_expand_builtin): Add support for
8531 mtvscr, dssall, mfvscr, dss, lvsl, lvsr, dstt, dst, dstst, dststt.
8532 (altivec_init_builtins): Same.
8533 (altivec_expand_unop_builtin): Return NULL_RTX on error.
8534 (altivec_expand_binop_builtin): Same.
8535 (altivec_expand_ternop_builtin): Same.
8536 (bdesc_dst): New.
8537
8538 * config/rs6000/rs6000.md ("altivec_mtvscr"): New.
8539 ("altivec_vctuxs"): Fix typo.
8540 ("altivec_vnmsubfp"): Same.
8541 ("altivec_dssall"): New.
8542 ("altivec_mfvscr"): New.
8543 ("altivec_dss"): New.
8544 ("altivec_lvsl"): New.
8545 ("altivec_lvsr"): New.
8546 ("altivec_dstt"): New.
8547 ("altivec_dstst"): New.
8548 ("altivec_dststt"): New.
8549 ("altivec_dst"): New.
8550
8551 * config/rs6000/rs6000.h (rs6000_builtins): Add mtvscr, dssall,
8552 mfvscr, dss, lvsl, lvsr, dstt, dstst, dststt, dst.
8553
e4ac76b4
RH
85542002-01-09 Richard Henderson <rth@redhat.com>
8555
8556 * config/alpha/alpha.md (prologue_mcount): Remove lituse_jsr reloc.
8557
c893e4a4
HPN
85582002-01-10 Hans-Peter Nilsson <hp@bitrange.com>
8559
8560 * config/mmix/mmix.c (mmix_asm_identify_gcc): Remove unused
8561 function.
8562 * config/mmix/mmix-protos.h (mmix_asm_identify_gcc): Don't
8563 prototype.
7387c700 8564 * config/mmix/mmix.h (ASM_IDENTIFY_GCC): Remove unused macro.
c893e4a4 8565
f4f4d0f8
KH
85662002-01-09 Kazu Hirata <kazu@hxi.com>
8567
8568 * read-rtl.c: Fix formatting.
8569 * real.c: Likewise.
8570 * regclass.c: Likewise.
8571 * regrename.c: Likewise.
8572 * reg-stack.c: Likewise.
8573 * reload1.c: Likewise.
8574 * reload.c: Likewise.
8575 * rtl.c: Likewise.
8576
cc863bea
KH
85772002-01-09 Kazu Hirata <kazu@hxi.com>
8578
8579 * rtlanal.c (find_reg_fusage): Use XEXP instead of SET_DEST
8580 to extract items in the expr_list chain.
8581
7b4dfe3d
RH
85822002-01-09 Richard Henderson <rth@redhat.com>
8583
8584 * config/vax/vax.c (vax_rtx_cost): Never abort.
8585
1d969638
RH
8586 * config/vax/vax.h (REAL_ARITHMETIC): Define.
8587
7d5ab30e
JH
85882002-01-09 Jan Hubicka <jh@suse.cz>
8589
8590 * gcse.c (cprop_jump): Delete insn if simplified jump is no-op.
8591
9503f3d1
RH
85922002-01-09 Richard Henderson <rth@redhat.com>
8593
8594 * config/arm/arm.c (arm_gen_constant): Use trunc_int_for_mode.
8595 Unify code from various alternatives.
8596
42bd17b7
RH
85972002-01-09 Richard Henderson <rth@redhat.com>
8598
8599 * regrename.c (copy_value): Ignore the copy if the source register
8600 is present in the value chain with a narrower mode.
8601
bdca3c33
HB
86022002-01-09 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
8603
cda94cbb
RH
8604 * real.c (c4xtoe, toc4x): Do some special conversion on long doubles
8605 for the c4x target. Also improve layout.
bdca3c33 8606
c73a5e94
RH
86072002-01-09 Richard Henderson <rth@redhat.com>
8608
8609 * config/m32r/m32r.c (move_src_operand): Fix 32-bit int test.
8610 * config/m32r/m32r.md (and ior xor splitters): Swap operands
8611 to match insn patterns.
8612
dd0a18c0
RH
86132002-01-09 Richard Henderson <rth@redhat.com>
8614
8615 * regrename.c (find_oldest_value_reg): Use gen_rtx_raw_REG.
8616 (copyprop_hardreg_forward_1): Likewise.
8617
1fd9ac1e
JDA
86182002-01-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
8619
8620 * pa.md (decrement_and_branch_until_zero): Change predicate for
8621 operand 0 from register_operand to reg_or_nonsymb_mem_operand.
8622
5cb265ec
BM
86232002-01-09 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
8624
8625 * ginclude/stddef.h: Define _BSD_WCHAR_T_DEFINED_ if _BSD_WCHAR_T_
8626 gets undefined. For Darwin.
8627
fcd8fa8b
HB
86282002-01-09 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
8629
8630 * config/c4x/c4x.h: Use PUSH_ARGS and PUSH_ROUNDING for stack passing.
8631
bd3ab23a
MH
86322002-01-09 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
8633
8634 * config/c4x/c4x/md: Remove extraneous constraints from define_splits.
8635
21e16bd6
RH
86362002-01-08 Richard Henderson <rth@redhat.com>
8637
8638 * regrename.c (copy_value): Ignore overlapping copies.
8639
a5376276
RH
86402002-01-08 Richard Henderson <rth@redhat.com>
8641
8642 * config/alpha/alpha.c (alpha_split_conditional_move): Call copy_rtx
8643 as needed to avoid shared structure.
8644
18cf8dda
KH
86452002-01-08 Kazu Hirata <kazu@hxi.com>
8646
8647 * config/h8300/h8300.c (get_shift_alg): Fix 15-bit LSHIFTRT on
8648 H8/300H and H8/S.
8649
16c484c7
JM
86502002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
8651
8652 * doc/tm.texi (EASY_DIV_EXPR, IMPLICIT_FIX_EXPR,
8653 LONGJMP_RESTORE_FROM_STACK, MAX_INT_TYPE_SIZE): Remove
8654 documentation of obsolete macros.
8655 * system.h: Poison these macros.
8656 * config/1750a/1750a.h, config/a29k/a29k.h, config/alpha/alpha.h,
8657 config/arc/arc.h, config/arm/arm.h, config/avr/avr.h,
8658 config/c4x/c4x.h, config/clipper/clipper.h,
8659 config/convex/convex.h, config/cris/cris.h, config/d30v/d30v.h,
8660 config/dsp16xx/dsp16xx.h, config/elxsi/elxsi.h,
8661 config/fr30/fr30.h, config/h8300/h8300.h, config/i370/i370.h,
8662 config/i386/i386.h, config/i860/i860.h, config/i960/i960.h,
8663 config/ia64/ia64.h, config/m32r/m32r.h, config/m68hc11/m68hc11.h,
8664 config/m68k/m68k.h, config/m88k/m88k.h, config/mcore/mcore.h,
8665 config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
8666 config/mn10300/mn10300.h, config/ns32k/ns32k.h, config/pa/pa.h,
8667 config/pdp11/pdp11.h, config/pj/pj.h, config/romp/romp.h,
8668 config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h,
8669 config/sparc/sparc.h, config/stormy16/stormy16.h,
8670 config/v850/v850.h, config/vax/vax.h, config/we32k/we32k.h: Remove
8671 definitions and commented out definitions of obsolete macros.
8672 * config/mips/iris5.h (MAX_WCHAR_TYPE_SIZE): Don't define in terms
8673 of MAX_INT_TYPE_SIZE.
8674
14b3e8ef
UW
86752002-01-08 Ulrich Weigand <uweigand@de.ibm.com>
8676
8677 * config/s390/s390.c (s390_preferred_reload_class): Never
8678 return ADDR_REGS if it isn't a subset of the given class.
8679 * config/s390/s390.h (REGISTER_MOVE_COST): Penalize not just
8680 FP_REGS, but all superclasses as well.
8681
8682 * config/s390/s390.c (s390_function_profiler): Fix thinko.
8683
8684 * config/s390/s390.md (cmpdi_ccu_mem, cmpsi_ccu_mem,
8685 cmphi_ccu_mem, cmpqi_ccu_mem): First operand of compare
8686 must not be a const_int.
8687
a693284d
RH
86882002-01-08 Richard Henderson <rth@redhat.com>
8689
8690 * Makefile.in (toplev.o): Depend on options.h.
8691 (gcc.o): Depend on specs.h.
8692
b3ca30df
JJ
86932002-01-08 Jakub Jelinek <jakub@redhat.com>
8694
8695 * expr.c (store_expr): Convert VOIDmode constants back to target's
8696 mode.
8697
24dbb440
GP
86982002-01-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
8699
8700 * doc/invoke.texi: Markup gcc as @command. Refer to
8701 http://gcc.gnu.org/onlinedocs/gcc/Contributors.html instead
8702 of http://gcc.gnu.org/thanks.html.
8703
234e114c
DJ
87042002-01-08 Dale Johannesen <dalej@apple.com>
8705
8706 * config/rs6000/rs6000.md: Add missing int register
8707 target case to movdf_low.
8708
0d24f4d1
ZW
87092002-01-08 Zack Weinberg <zack@codesourcery.com>
8710
8711 * Makefile.in (cs-tconfig.h): Don't depend on $(CONFIG_H) or
8712 except.h. Remove commands to define USING_SJLJ_EXCEPTIONS.
8713 (cppinit.o): Depend on except.h.
8714 (gencheck.h, options.h, specs.h, s-gencheck, s-options,
8715 s-specs): New rules.
8716
8717 * configure.in: Don't AC_DEFINE_UNQUOTED PACKAGE or VERSION.
8718 Don't create specs.h/options.h/gencheck.h here. Remove
8719 unnecessary variable settings from last argument of AC_OUTPUT.
8720 * config.in, configure: Regenerate.
8721 * intl.c: Hardcode package name as "gcc".
8722
8723 * cppinit.c: Include except.h.
8724 (builtin_array): Define __USING_SJLJ_EXCEPTIONS__ when
8725 appropriate.
8726 * unwind-dw2.c, unwind-sjlj.c, config/ia64/unwind-ia64.c:
8727 Use #if(n)def __USING_SJLJ_EXCEPTIONS, not #if
8728 (!)USING_SJLJ_EXCEPTIONS.
8729 * doc/cpp.texi: Document __USING_SJLJ_EXCEPTIONS__.
8730
ed722f66
JM
87312002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
8732
8733 * doc/tm.texi (ASM_OUTPUT_EH_REGION_BEG, ASM_OUTPUT_EH_REGION_END,
8734 ASM_OUTPUT_LABELREF_AS_INT, DOESNT_NEED_UNWINDER, EH_TABLE_LOOKUP,
8735 OBJC_SELECTORS_WITHOUT_LABELS, OMIT_EH_TABLE): Remove
8736 documentation of obsolete macros.
8737 * system.h: Poison these macros.
8738 * config/d30v/d30v.h, config/ns32k/encore.h,
8739 config/stormy16/stormy16.h: Remove definitions and commented out
8740 definitions of obsolete macros.
8741
31e5e29a
NP
8742Tue Jan 8 15:56:41 2002 Nicola Pero <nicola@brainstorm.co.uk>
8743
8744 * objc/objc-act.c (handle_class_ref): Mark the declaration of
8745 %sobjc_class_ref_%s as used - to prevent unwanted compiler
8746 warnings.
8747
bc1fa59c
UW
87482002-01-08 Ulrich Weigand <uweigand@de.ibm.com>
8749
8750 * config/s390/linux.h (ASM_OUTPUT_LABELREF): Remove.
8751 * config/s390/s390.c (s390_emit_epilog): Add REG_FRAME_RELATED_EXPR
8752 to insn adjusting stack/frame pointer.
0d24f4d1 8753 * config/s390/s390.md (reload_la_64, reload_la_31): Do not
bc1fa59c
UW
8754 accept operands that cause the insn to be non-splittable.
8755
a8086abf
GS
87562002-01-08 Graham Stott <grahams@redhat.com>
8757
8758 * c-tree.h (C_TYPE_FIELDS_READONLY): Uppercase macro parameter.
8759 (C_TYPE_FIELDS_VOLATILE): Likewise.
8760 (C_TYPE_BEING_DEFINED): Likewise.
8761 (C_IS_RESERVED_WORD): Likewise.
8762 (C_TYPE_VARIABLE_SIZE): Likewise.
8763 (C_DECL_VARIABLE_SIZE): Likewise.
8764 (C_MISSING_PROTOTYPE_WARNED): Likewise.
8765 (C_SET_EXP_ORIGINAL_CODE): Likewise.
8766 (C_TYPEDEF_EXPLICITLY_SIGNED): Uppercase macro parameter and remove
8767 parenthesis.
8768 (C_DECL_ANTICIPATED): Likewise.
8769 (c_build_type_variant): Add parenthesis.
8770
3f595aa1
JM
87712002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
8772
8773 * gcc.c (option_map): Remove --version.
8774 (process_command): Handle -fversion following the GNU Coding
8775 Standards. Partially addresses PR other/704.
8776
5bc5a8f9
GS
87772002-01-08 Graham Stott <grahams@redhat.com>
8778
8779 * combine.c (combine_instructions): Fix typo.
8780
16ec4ebf
GS
87812002-01-08 Graham Stott <grahams@redhat.com>
8782
8783 * debug.h: Use "tree" and "rtx" throughout.
8784
8785 * debug.c: Likewise.
8786
4b69f385
NC
87872002-01-08 Nick Clifton <nickc@cambridge.redhat.com>
8788
8789 * dbxout.c (dbxout_symbol_location): If a symbol ref is in the
8790 constant pool, use the pool's version of the symbol instead.
8791
57d1019b
RH
87922002-01-07 Richard Henderson <rth@redhat.com>
8793
8794 * regrename.c (find_oldest_value_reg): Ignore the value chain if
8795 the original register was copied in a mode with a fewer number of
8796 hard registers than the desired mode.
8797 (copyprop_hardreg_forward_1): Likewise.
8798 (debug_value_data): Fix loop test.
8799 * toplev.c (parse_options_and_default_flags): Reenable
8800 -fcprop-registers at -O1.
8801
88022002-01-07 Aldy Hernandez <aldyh@redhat.com>
fa066a23 8803
0d24f4d1
ZW
8804 * config/rs6000/rs6000.c (bdesc_2arg): Add altivec predicates.
8805 (altivec_init_builtins): New node v4si_ftype_v16qi_v16qi.
fa066a23 8806
0d24f4d1
ZW
8807 * config/rs6000/rs6000.h (rs6000_builtins): Add enums for altivec
8808 predicates.
fa066a23 8809
0d24f4d1 8810 * config/rs6000/rs6000.md: Add altivec predicate patterns.
fa066a23 8811
8f949e7e
JDA
88122002-01-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
8813
8814 * pa.c (FUNC_BEGIN_PROLOG_LABEL, current_function_number): Define.
8815 (pa_output_function_prologue): Output local label at the beginning of
8816 the prologue when profiling.
8817 (hppa_profile_hook): Use the local label rather than the function label.
8818 * pa.h (PROFILE_BEFORE_PROLOGUE): Define.
8819
c62f2db5
AH
88202002-01-07 Aldy Hernandez <aldyh@redhat.com>
8821
0d24f4d1
ZW
8822 * config/rs6000/rs6000.c (print_operand): Remove extra space.
8823 (altivec_expand_unop_builtin): Fix thinko.
8824 (altivec_expand_binop_builtin): Same.
8825 (altivec_expand_ternop_builtin): Same.
8826 (altivec_expand_builtin): Same.
c62f2db5 8827
b5235ba7
RH
88282002-01-07 Richard Henderson <rth@redhat.com>
8829
8830 * config/rs6000/xcoff.h (ASM_FILE_START): Reverted to profile_flag.
8831
7d8ac293
JM
88322002-01-07 Jason Merrill <jason@redhat.com>
8833
8834 * unwind-dw2.c (execute_cfa_program): Use < again.
8835
571a03b8
JJ
88362002-01-07 Jakub Jelinek <jakub@redhat.com>
8837
8838 * predict.c (combine_predictions_for_insn): Avoid division by zero.
8839
2e951384
JJ
88402002-01-07 Jakub Jelinek <jakub@redhat.com>
8841
8842 * simplify-rtx.c (simplify_plus_minus): Bump n_ops for NOT.
8843 Don't allow -1 - x -> ~x simplifications in the first pass.
8844
20e26713
AH
88452002-01-07 Aldy Hernandez <aldyh@redhat.com>
8846
0d24f4d1
ZW
8847 * rs6000.c (altivec_expand_ternop_builtin): Don't die on invalid
8848 arguments.
8849 (altivec_expand_binop_builtin): Same.
8850 (altivec_expand_unop_builtin): Same.
8851 (print_operand): Fix typo.
8852 (bdesc_1arg): Add vupk* variants.
20e26713 8853
0d24f4d1 8854 * rs6000.h (rs6000_builtins): Add vupk* enums.
20e26713 8855
0d24f4d1 8856 * rs6000.md: Add altivec_vupk* variants.
20e26713 8857
4dd57c18
JM
88582002-01-07 Joseph S. Myers <jsm28@cam.ac.uk>
8859
8860 * doc/gcc.texi, doc/gccint.texi, doc/cppinternals.texi,
8861 doc/install.texi, doc/invoke.texi, doc/rtl.texi: Update copyright
8862 and last update dates.
8863
0341c5d2
JJ
88642002-01-07 Janis Johnson <janis187@us.ibm.com>
8865
8866 * doc/rtl.texi (Flags): Clean up documentation of RTL flags
8867
c7f3e0b0
MM
88682002-01-07 Marek Michalkiewicz <marekm@amelek.gda.pl>
8869
8870 * config/avr/avr.c (avr_mcu_types): Add new MCU types.
8871 * config/avr/avr.h (CPP_SPEC): Likewise.
8872 (LINK_SPEC): Likewise.
8873 (CRT_BINUTILS_SPECS): Likewise.
8874 * config/avr/t-avr (MULTILIB_MATCHES): Likewise.
8875 * doc/invoke.texi (AVR Options): Document them.
8876
6ba4d630
JH
8877Mon Jan 7 11:59:34 CET 2002 Jan Hubicka <jh@suse.cz>
8878
8879 * unroll.c (copy_loop_body): Always properly update JUMP_LABEL and
8880 LABEL_NUSES.
8881
6253d571
GS
88822002-01-07 Graham Stott <grahams@redhat.com>
8883
0d24f4d1
ZW
8884 * config/i386/i386.h: Update copyright date.
8885 (HALF_PIC_PTR): Add parenthesis.
8886 (OPTIMIZATION_OPTIONS): Whitespace, add parenthesis and wrap.
8887 (CONSTANT_ALIGNMENT): Add parenthesis.
8888 (DATA_ALIGNMENT): Likewise.
8889 (LOCAL_ALIGNMENT): Likewise.
8890 (FUNCTION_ARG_BOUNDARY): Whitespace, add parenthesis and wrap.
8891 (IS_STACK_MODE): Uppercase macro parameter, add parenthesis and wrap.
8892 (CONDITIONAL_REGISTER_USAGE): Wrap in do {...} while (0).
8893 (HARD_REGNO_NREGS): Add paranethesis.
8894 (VALID_SSE_REG_MODE): Whitespace.
8895 (VALID_MMX_REG_MODE): Whitespace.
8896 (VALID_FP_MODE_P): Uppercase macros parameter and whitespace.
8897 (ix86_hard_regno_mode_ok): Add parenthesis.
8898 (HARD_REGNO_CALLER_SAVE_MODE): Whitespace.
8899 (RETURN_IN_MEMORY): Whitespace.
8900 (N_REG_CLASSES): Add parenthesis.
8901 (INTEGER_CLASS_P): Add parenthesis and wrap.
8902 (FLOAT_CLASS_P): Likewise.
8903 (SSE_CLASS_P): Likewise.
8904 (MMX_CLASS_P): Likewise.
8905 (MAYBE_INTEGER_CLASS_P): Likewise.
8906 (MAYBE_FLOAT_CLASS_P): Likewise.
8907 (MAYBE_SSE_CLASS_P): Likewise.
8908 (MAYBE_MMX_CLASS_P): Likewise.
8909 (Q_CLASS_P): Likewise.
8910 (GENERAL_REGNO_P): Uppercase macro parameter.
8911 (REX_INT_REGNO_P): Uppercase macro parameter and wrap.
8912 (FP_REGNO_P): Likewise.
8913 (ANY_FP_REGNO_P): Uppercase macro parameter.
8914 (SSE_REGNO_P): Likewise.
8915 (SSE_REGNO): Likewise.
8916 (SSE_REG_P): Likewise.
8917 (SSE_FLOAT_MODE_P): Likewise.
8918 (MMX_REGNO_P): Likewise.
8919 (MMX_REG_P):Likewise.
8920 (STACK_REG_P): Likewise.
8921 (NON_STACK_REG_P): Likewise.
8922 (STACK_TOP_P): Likewise.
8923 (CONVERT_HARD_REGISTER_TO_SSA_P): Add parenthesis.
8924 (PREFERRED_RELOAD_CLASS): Add parenthesis and whitespace.
8925 (SECONDARY_MEMORY_NEEDED): Likewise.
8926 (SECONDARY_OUTPUT_RELOAD_CLASS): Whitespace.
8927 (MD_ASM_CLOBBERS): Whitespace and wrap.
8928 (MUST_PASS_IN_STACK): Whitespace and wrap.
8929 (RETURN_POPS_ARGS): Add parenthesis.
8930 (INIT_CUMULATIVE_ARGS): Likewise.
8931 (FUNCTION_ARG): Likewise.
8932 (FUNCTION_OK_FOR_SIBCALL): Add parenthesis and whitespace.
8933 (SETUP_INCOMING_VARARGS): Likewise.
8934 (BUILD_VA_LIST_TYPE): Add parenthesis.
8935 (EXPAND_BUILTIN_VA_START): Uppercase macro paremeters and add
8936 parenthsis.
8937 (EXPAND_BUILTIN_VA_ARG): Likewise.
8938 (FUNCTION_PROFILER): Wrap in do { ... } while (0) and add parenthesis.
8939 (INITIALIZE_TRAMPOLINE): Add parenthesis.
8940 (INITIAL_ELIMINATION_OFFSET): Likewise.
8941 (REGNO_OK_FOR_INDEX_P): Add parenthesis.
8942 (REGNO_OK_FOR_BASE_P): Likewise.
8943 (REGNO_OK_FOR_SIREG_P): Add parenthesis and wrap.
8944 (REGNO_OK_FOR_DIREG_P): Likewise.
8945 (REG_OK_FOR_INDEX_P): Whitespace.
8946 (REG_OK_FOR_BASE_P): Whitespace.
8947 (GO_IF_LEGITIMATE_ADDRESS): Wrap in do { ... } while (0) and add
8948 parenthesis.
8949 (FIND_BASE_TERM): Fix typo.
8950 (LEGITIMIZE_ADDRESS): Wrap in { .. } while (0) and add parenthesis.
8951 (REWRITE_ADDRESS): Uppercase macro parameter and whitespace.
8952 (SYMBOLIC_CONST; Whitespace.
8953 (GO_IF_MODE_DEPENDENT_ADDRESS):Wrap in { .. } while (0) and wrap.
8954 (ENCODE_SECTION_INFO): Whitespace.
8955 (FINALIZE_PIC): Remove do { ... } while (0).
8956 (PROMOTE_MODE): Wrap in do { ... } while (0).
8957 (CONST_COSTS): Whitespace.
8958 (RTX_COSTS): Add paramethesis, whitespace and wrap.
8959 (REGISTER_MOVE_COST): Add parenthesis.
8960 (MEMORY_MOVE_COST): Likewise.
8961 (EXTRA_CC_MODES): Whitespace.
8962 (SELECT_CC_MODE): Add parenthesis and whitespace.
8963 (DBX_REGISTER_NUMBER): Uppercase macro parameter and add parenthsis.
8964 (ASM_PREFERRED_EH_DATA_FORMAT): Add parenthesis and whitespace.
8965 (ASM_OUTPUT_LABEL): Add paramethesis.
8966 (ASM_OUTPUT_REG_PUSH): Add parenthesis and whitespace.
8967 (ASM_OUTPUT_REG_POP): Likewise.
8968 (ASM_OUTPUT_ADDR_VEC_ELT): Add parenthesis.
8969 (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
d9a5f180 8970
07933f72
GS
8971 * config/i386/i386.c: Update copyright.
8972 (CHECK_STACK_LIMIT): Add parenthesis.
8973 (AT_BP): Uppercase macro parameter.
8974 (x86_64_int_parameter_registers): Constify.
8975 (x86_64_int_return_registers): Likewise.
8976 (ix86_compare_op0): Use rtx.
8977 (construct_container): Constify INTREG parameter.
8978 (function_arg): Use rtx.
8979
0b4d32c9
GS
8980 * diagnostic.h: Update copyright date.
8981 (output_buffer_state): Add parenthesis.
8982 (output_buffer_format_args): Likewise.
8983
6253d571
GS
8984 * combine.c (combine_instructions): Replace XEXP (links, 0)
8985 with link.
8986
68f3f6f1
L
89872002-01-06 H.J. Lu <hjl@gnu.org>
8988
8989 * cfgcleanup.c (thread_jump): Fix 2 typos.
8990
89912002-01-06 Aldy Hernandez <aldyh@redhat.com>
480f7f3a 8992
0d24f4d1 8993 * config.gcc: Add support for --enable-altivec.
480f7f3a 8994
13b8c631
CR
89952002-01-06 Craig Rodrigues <rodrigc@gcc.gnu.org>
8996
8997 * emit-rtl.c (gen_highpart): Add check for NULL_RTX.
8998
58ad89b1
JJ
89992002-01-06 Jakub Jelinek <jakub@redhat.com>
9000
9001 * objc/objc-act.c (handle_impent): Use assemble_variable to emit
9002 __objc_class_name_*.
9003
e403b4bc
CR
90042002-01-06 Craig Rodrigues <rodrigc@gcc.gnu.org>
9005
9006 * doc/install.texi (sparcv9-*-solaris2*): Add documentation.
9007
e41c7831
RH
90082002-01-06 Richard Henderson <rth@redhat.com>
9009
9010 * reorg.c (emit_delay_sequence): Remove death notes, not merely
9011 nop them out. Increment label reference count for REG_LABEL.
9012 (fill_slots_from_thread): Frob label reference count around
9013 delete_related_insns.
9014
3b3b1e32
RH
90152002-01-05 Richard Henderson <rth@redhat.com>
9016
9017 * cfgcleanup.c (try_forward_edges): Detect infinite loops while
9018 jump threading.
9019
c28abdf0
RH
90202002-01-05 Richard Henderson <rth@redhat.com>
9021
9022 * c-decl.c (c_expand_body): Don't call outlining_inline_function.
9023 * integrate.c (output_inline_function): Likewise.
9024 * toplev.c (rest_of_compilation): Do it here instead. Move call
9025 to remove_unnecessary_notes after emitting abstract instance.
9026 Force an emitted nested function to have its parent emited as well.
9027 * dwarf2out.c (loc_descriptor_from_tree): Read mode after checking
9028 for null.
9029 (rtl_for_decl_location): Do not look at reload data structures
9030 before reload has run.
9031
c4f2c499
KH
90322002-01-05 Kazu Hirata <kazu@hxi.com>
9033
9034 * cse.c: Fix formatting.
9035 * dwarf2asm.c: Likewise.
9036 * dwarf2out.c: Likewise.
9037 * explow.c: Likewise.
9038 * expmed.c: Likewise.
9039 * function.c: Likewise.
9040 * gcov.c: Likewise.
9041 * gencheck.c: Likewise.
9042 * genrecog.c: Likewise.
9043 * ggc-common.c: Likewise.
9044 * ggc-page.c: Likewise.
9045 * global.c: Likewise.
9046
cf0d9408
KH
90472002-01-05 Kazu Hirata <kazu@hxi.com>
9048
9049 * combine.c: Fix formatting.
9050
bedca03a
CR
90512002-01-05 Craig Rodrigues <crodrigu@bbn.com>
9052
9053 PR middle-end/1557
9054 * config/ia64/ia64.h (RENAME_EXTENDED_BLOCKS): Remove.
9055
0134bf2d
DE
90562002-01-05 David Edelsohn <edelsohn@gnu.org>
9057
9058 * config/rs6000/rs6000.h (TARGET_POWERPC): For IN_LIBGCC2, define
9059 as 1 for __powerpc64__ as well.
9060
9061 * config/rs6000/t-aix43 (T_ADAFLAGS): Define.
9062
9063 * alias.c (find_base_value, PLUS/MINUS): If we found a base,
9064 return it.
9065
9ca88d5a
DB
90662002-01-05 Daniel Berlin <dan@dberlin.org>
9067
9068 * lcm.c: Revert change, due to performance regression it causes on
9069 SPEC because it's slightly more conservative (sigh, I hate
9070 edge-based LCM).
0d24f4d1 9071
1c570418
JH
9072Sat Jan 5 11:52:05 CET 2002 Jan Hubicka <jh@suse.cz>
9073
9074 * cfgcleanup.c (try_forward_edges): Allow multiple jump threading.
9075
d83bb9f7
NB
90762002-01-05 Neil Booth <neil@daikokuya.demon.co.uk>
9077
9078 * doc/cppinternals.texi: Update.
9079
3e0f61ac
HPN
90802002-01-05 Hans-Peter Nilsson <hp@bitrange.com>
9081
9082 * doc/invoke.texi (Option Summary) <MMIX Options>: Document
9083 -mbranch-predict, -mreg-stack-fill-bug-workaround and their
9084 negatives.
9085 (MMIX Options): Ditto. Fix item/itemx typo for -mno-zero-extend.
9086 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Rework
9087 kludge for pre-october-14th mmix versions to handle new-found bug
9088 with PUSHJ/PUSHGO and the register stack.
9089 * config/mmix/mmix.h (struct machine_function): Rename member
9090 has_call_value_without_parameters to has_call_without_parameters.
9091 All referers changed.
9092 (TARGET_MASK_REG_STACK_FILL_BUG, TARGET_DEFAULT
9093 TARGET_MASK_BRANCH_PREDICT): New macros.
9094 (TARGET_SWITCHES): New options -mreg-stack-fill-bug-workaround,
9095 -mno-reg-stack-fill-bug-workaround.
9096 * config/mmix/mmix.md ("call"): Set struct machine member
9097 has_call_without_parameters.
9098
4deaa2f8
JH
9099Sat Jan 5 02:20:22 CET 2002 Jan Hubicka <jh@suse.cz>
9100
9101 * cfgcleanup.c (thread_jump): Fix handling of reversed branches.
9102
9f16e871
JH
9103Sat Jan 5 01:35:29 CET 2002 Jan Hubicka <jh@suse.cz>
9104
9105 * cfgcleanup.c: Include tm_p.h
9106 (mark_effect): Fix handling of hard register; fix handling of SET
9107
96eb1157
KH
91082002-01-04 Kazu Hirata <kazu@hxi.com>
9109
9110 * config/h8300/h8300.md (anonymous patterns): Check that
9111 operands are registers before using REGNO on them.
9112
48180d68
RM
91132002-01-03 Roland McGrath <roland@frob.com>
9114
9115 * doc/invoke.texi (RS/6000 and PowerPC Options): Add -mcall-gnu.
9116
b0832fe1
JJ
91172002-01-04 Jakub Jelinek <jakub@redhat.com>
9118
9119 * tree.h (expand_expr_stmt_value): Add maybe_last argument.
9120 * c-common.h (genrtl_expr_stmt_value): Likewise.
9121 * stmt.c (expand_expr_stmt): Pass 1 as maybe_last.
9122 (expand_expr_stmt_value): Add maybe_last argument.
9123 Don't warn about statement with no effect if it is the last statement
9124 in expression statement.
9125 * c-semantics.c (genrtl_expr_stmt): Pass 1 as maybe_last.
9126 (genrtl_expr_stmt_value): Add maybe_last argument, pass it down to
9127 expand_expr_stmt_value.
9128 (expand_stmt) [EXPR_STMT]: Pass 1 as maybe_last to
9129 genrtl_expr_stmt_value if t is the last EXPR_STMT in its scope.
9130 * expr.c (expand_expr) [LABELED_BLOCK_EXPR, LOOP_EXPR]: Pass 1
9131 as maybe_last to expand_expr_stmt_value.
9132
c1e14513
JL
9133Fri Jan 4 11:45:05 2002 Jeffrey A Law (law@redhat.com)
9134
0d24f4d1
ZW
9135 * c-common.c (c_expand_start_cond): Expect the IF_STMT node to
9136 be passed in, do not build it.
9137 (c_begin_if_stmt): New function.
9138 (c_begin_while_stmt, c_finish_while_stmt_cond): Likewise.
9139 * c-common.h (c_expand_start_cond): Update prototype.
9140 (c_begin_if_stmt): Prototype new function.
9141 (c_begin_while_stmt, c_finish_while_stmt_cond): Likewise.
9142 * c-parse.in (if_prefix): Use c_begin_if_stmt,
9143 c_begin_while_stmt and c_finish_while_stmt_cond.
c1e14513 9144
b6ec437a
WC
91452002-01-04 William Cohen <wcohen@redhat.com>
9146
9147 * config/pa/elf.h (ASM_FILE_START): Reverted to profile_flag.
9148 * config/pa/pa-linux.h (ASM_FILE_START): Likewise.
9149 * config/pa/pa64-hpux.h (ASM_FILE_START): Likewise.
9150 * config/pa/som.h (ASM_FILE_START): Likewise.
9151
ead39bdf 91522002-01-04 Daniel Berlin <dan@cgsoftware.com>
517b711f
DB
9153
9154 * lcm.c: Include df.h.
9155 Add available_transfer_function prototype.
9156 (compute_available): Rework to use iterative dataflow framework.
9157 (struct bb_info): s/bb_info/lcm_bb_info/g to avoid conflict
9158 with bb_info in df.h
9159 (available_transfer_function): New function.
9160
9161 * Makefile.in (lcm.o): add df.h to dependencies.
9162
551cc6fd
RH
91632002-01-04 Richard Henderson <rth@redhat.com>
9164
9165 * config/alpha/alpha.c (some_operand): Accept HIGH.
9166 (input_operand): Likewise; accept simple references to globals.
9167 (alpha_const_ok_for_letter_p): New, outlined from alpha.h.
9168 (alpha_const_double_ok_for_letter_p): Likewise.
9169 (alpha_extra_constraint): Likewise.
9170 (alpha_preferred_reload_class): Likewise. Do not force
9171 symbolic constants to memory.
9172 (alpha_legitimate_address_p): Accept simple references
9173 to small_symbolic_operand.
9174 (alpha_legitimize_address): New arg scratch. Be prepared to be
9175 called when no_new_pseudos. Emit simple symbolic references.
9176 Split integers into low, high, and rest.
9177 (alpha_expand_mov): Use alpha_legitimize_address.
9178 (some_small_symbolic_mem_operand): New.
9179 (split_small_symbolic_mem_operand): New.
9180 * config/alpha/alpha-protos.h: Update.
9181 * config/alpha/alpha.h (CONST_OK_FOR_LETTER_P): Out-line.
9182 (CONST_DOUBLE_OK_FOR_LETTER_P): Likewise.
9183 (EXTRA_CONSTRAINT): Likewise.
9184 (PREFERRED_RELOAD_CLASS): Likewise.
9185 (LEGITIMIZE_ADDRESS): Update for alpha_legitimize_address change.
9186 (PREDICATE_CODES): Update.
9187 * config/alpha/alpha.md: New post-reload splitters to convert
9188 simplfied symbolic operands to the form that references $29.
9189 (divide expanders): Use emit_move_insn, not gen_movdi_er_high_g.
9190 (movdi_er_nofix, movdi_er_fix): Accept any symbolic operand.
9191
1eaea054
RH
91922002-01-03 Richard Henderson <rth@redhat.com>
9193
9194 * local-alloc.c (function_invariant_p): Update commentary.
9195
c4cc12b7
L
91962002-01-04 H.J. Lu <hjl@gnu.org>
9197
9198 * toplev.c (rest_of_compilation): Fix a typo when calling
9199 cleanup_cfg.
9200
173bf5be
KH
92012002-01-03 Kazu Hirata <kazu@hxi.com>
9202
9203 * c-common.c: Fix formatting.
9204 * diagnostic.c: Likewise.
9205 * doloop.c: Likewise.
9206 * dwarf2out.c: Likewise.
9207
187462ac
KH
92082002-01-03 Kazu Hirata <kazu@hxi.com>
9209
9210 * config/h8300/h8300.c (output_logical_op): Use 'not.w' instead
9211 of 'neg.w' when xoring with 0x0000ffff or 0xffff0000.
9212
5d8ebbd8
NB
92132002-01-03 Neil Booth <neil@daikokuya.demon.co.uk>
9214
9215 * cpperror.c: Update comments and copyright.
9216 * cppexp.c, cppfiles.c, cpphash.c, cpphash.h, cppinit.c,
9217 cpplex.c, cpplib.c, cpplib.h, cppmacro.c, cppmain.c: Similarly.
9218
518c1311
JDA
92192002-01-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
9220
9221 * collect2.c (main): Use strcmp when testing for "-shared".
9222
d15a58c0
NB
92232002-01-03 Neil Booth <neil@daikokuya.demon.co.uk>
9224
9225 * cppmacro.c: Don't include intl.h. Update comments.
9226 (new_number_token): Allocate enough buffer for 64-bit unsigned
9227 integers; update prototype.
9228 * cppmain.c: Update comments.
9229
70f4f91c
WC
92302002-01-03 William Cohen <wcohen@redhat.com>
9231
9232 * function.h (struct function): Add profile.
9233 (current_function_profile): New.
9234 doc/extend.texi: Update documentation.
9235 * final.c (final_start_function): Use current_function_profile
9236 instead of profile_flag.
9237 (profile_after_prologue): Likewise.
9238 * function.c (expand_function_start): Likewise.
9239 (expand_function_start): Likewise.
c4cc12b7 9240 * config/alpha/alpha.c (direct_call_operand):
70f4f91c
WC
9241 (alpha_does_function_need_gp): Likewise.
9242 (alpha_expand_prologue): Likewise.
9243 * config/arm/arm.c (arm_expand_prologue): Likewise.
9244 thumb_expand_prologue: Likewise.
9245 * config/d30v/d30v.c (d30v_stack_info): Likewise.
9246 * config/fr30/fr30.c (MUST_SAVE_RETURN_POINTER): Likewise.
9247 (fr30_expand_prologue): Likewise.
9248 * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Likewise.
9249 * config/i386/i386.c (ix86_osf_output_function_prologue): Likewise.
9250 * config/i386/i386.h (FINALIZE_PIC): Likewise.
9251 * config/i386/win32.h (SUBTARGET_PROLOGUE): Likewise.
9252 * config/i960/i960.c (i960_output_function_prologue): Likewise.
9253 * config/ia64/ia64.c (ia64_compute_frame_size): Likewise.
9254 * config/m32r/m32r.c (MUST_SAVE_RETURN_ADDR): Likewise.
9255 (m32r_expand_prologue): Likewise.
9256 * config/m88k/m88k.c (m88k_layout_frame): Likewise.
9257 (m88k_expand_prologue): Likewise.
9258 * config/m88k/m88k.h (ADJUST_INSN_LENGTH): Likewise.
9259 * config/mips/mips.c (compute_frame_size): Likewise.
9260 (mips_expand_prologue): Likewise.
9261 (mips_can_use_return_insn): Likewise.
9262 * config/pa/elf.h (ASM_FILE_START): Likewise.
9263 * config/pa/pa-linux.h (ASM_FILE_START): Likewise.
9264 * config/pa/pa64-hpux.h (ASM_FILE_START): Likewise.
9265 * config/pa/som.h (ASM_FILE_START): Likewise.
9266 * config/romp/romp.c (romp_using_r14): Likewise.
9267 * config/rs6000/rs6000.c (first_reg_to_save): Likewise.
9268 (rs6000_stack_info): Likewise.
9269 * config/rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
2fd17409 9270 * config/rs6000/xcoff.h (ASM_FILE_START): Likewise.
70f4f91c
WC
9271 * config/v850/v850.c (compute_register_save_size): Likewise.
9272
cb1ac742
JJ
92732002-01-03 Jakub Jelinek <jakub@redhat.com>
9274
9275 * simplify-rtx.c (simplify_binary_operation) [DIV]: If
9276 gen_lowpart_common fails, use gen_lowpart_SUBREG.
9277
61d951df 92782002-01-03 Turly O'Connor <turly@apple.com>
cb1ac742 9279
61d951df
TC
9280 * darwin.c (machopic_output_possible_stub_label): Don't generate
9281 stub routines for pseudo-stubs which we've just defined.
9282
505ddab6
KH
92832002-01-03 Kazu Hirata <kazu@hxi.com>
9284
9285 * builtins.c: Fix formatting.
9286 * c-typeck.c: Likewise.
9287 * combine.c: Likewise.
9288 * expr.c: Likewise.
9289 * loop.c: Likewise.
9290
b7e30d8a
AS
92912002-01-03 Andreas Schwab <schwab@suse.de>
9292
9293 * cppfiles.c (_cpp_pop_file_buffer): Change return type to bool
9294 and return true if _cpp_push_next_buffer pushed a new include
9295 file.
9296 * cpplib.c (_cpp_pop_buffer): Only call obstack_free if
9297 _cpp_pop_file_buffer did not push a new file.
9298 * cpphash.h (_cpp_pop_file_buffer): Update declaration.
9299
ff81832f
EC
93002002-01-02 Eric Christopher <echristo@redhat.com>
9301
9302 * final.c (final_scan_insn): Change 0 -> NULL_RTX in
9303 FIND_REG_INC_NOTE call. Update copyright.
9304 * loop.c (canonicalize_condition): Ditto.
9305 * reorg.c (delete_scheduled_jump): Ditto.
9306
8e42ace1
KH
93072002-01-03 Kazu Hirata <kazu@hxi.com>
9308
9309 * gcse.c: Fix formatting.
9310
fb2bf631
GS
93112002-01-03 Graham Stott <grahams@redhat.com>
9312
9313 * mkconfig.sh: Output to config.h, hconfig.h and tconfig.h
9314 forward defs for struct tags rtx_def, union_tree, rtvec_def
6253d571 9315 also output corresponding typedefs for rtx, tree, and rtvec.
fb2bf631
GS
9316
9317 * system.h: Move forward defs for struct tags rtx_def, union_tree,
9318 rtvec_def along with corresponding typedefs for rtx, tree, and
6253d571 9319 rtvec to config.h, hconfig.h, tconfig.h.
fb2bf631
GS
9320
93212002-01-03 Graham Stott <grahams@redhat.com>
b9daac31
GS
9322
9323 * tree.h: Update copyright date.
9324 (IS_EXPR_CODE_CLASS): Add parenthesis.
9325 (TREE_SET_CODE): Add whitespace.
9326 (TREE_CHECK): Add parenthesis.
9327 (TREE_CLASS_CODE): Add parenthesis and wrap long line.
9328 (CST_OR_CONSTRUCTOR_CHECK):
9329 (EXPR_CHECK): Add parenthis, whitespace and wrap line.
9330 (TREE_SYMBOL_REFERENCED): Whitespace.
9331 (INT_CST_LT): Likewise.
9332 (INT_CST_LT_UNSIGNED): Likewise.
9333 (tree_real_cst): Unwrap comment.
9334 (tree_string): Likewise.
9335 (tree_complex): Likewise.
9336 (IDENTIFIER_POINTER): correct cast.
9337 (SAVE_EXPR_CONTEXT): Whitespace.
9338 (EXPR_WFL_FILENAME_NODE): Likewise.
9339 (EXPR_WFL_FILENAME): Remove parenthesis.
9340 (DECL_ORIGIN): Add parenthesis.
9341 (DECL_FROM_INLINE): Use NULL_TREE.
9342 (build_int_2): Whitespace.
9343 (build_type_variant): Add parenthesis.
9344
9345 * gcc/jcf-parse.c: Update copyright date.
9346 (yyparse): Constify resource_filename.
9347
f52eda29
GS
93482002-01-03 Graham Stott <grahams@redhat.com>
9349
9350 * rtl.h: Update copyright date.
9351 (RTL_CHECK1): Wrap long line.
9352 (RTL_CHECK2): Likewise.
9353 (RTL_CHECKC1): Wrap long line and whitespace.
9354 (RTL_CHECKC2): Likewise.
9355 (XWINT): Whitespace.
9356 (XINT): Likewise.
9357 (XSTR): Likewise.
9358 (XEXP): Likewise.
9359 (XVEC): Likewise.
9360 (XMODE): Likewise.
9361 (XBITMAP): Likewise.
9362 (XTREE): Likewise.
9363 (XBBDEF): Likewise.
9364 (XTMPL): Likewise.
9365 (X0WINT): Likewise.
9366 (X0INT):Likewise.
9367 (X0UINT): Likewise.
9368 (X0STR): Likewise.
9369 (X0EXP): Likewise.
9370 (X0VEC): Likewise.
9371 (X0MODE): Likewise.
9372 (X0BITMAP): Likewise.
9373 (X0TREE): Likewise.
9374 (X0BBDEF): Likewise.
9375 (X0ADVFLAGS): Likewise.
9376 (X0CSELIB): Likewise.
9377 (X0MEMATTR): Likewise.
9378 (XCWINT): Likewise.
9379 (XCINT): Likewise.
9380 (XCUINT): Likewise.
9381 (XCSTR): Likewise.
9382 (XCEXP): Likewise.
9383 (XCVEC): Likewise.
9384 (XCMODE): Likewise.
9385 (XCBITMAP): Likewise.
9386 (XCTREE): Likewise.
9387 (XCBBDEF): Likewise.
9388 (XCADVFLAGS): Likewise.
9389 (XCCSELIB): Likewise.
9390 (XC2EXP): Likewise.
9391 (INSN_UID): Likewise.
9392 (PREV_INSN): Likewise.
9393 (PATTERN): Likewise.
9394 (INSN_CODE): Likewise.
9395 (PUT_REG_NOTE_KIND): Likewise.
9396 (CODE_LABEL_NUMBER): Likewise.
9397 (NOTE_SOURCE_FILE): Likewise.
9398 (NOTE_BLOCK): Likewise.
9399 (NOTE_EH_HANDLER): Likewise.
9400 (NOTE_RANGE_INFO): Likewise.
9401 (NOTE_LIVE_INFO): Likewise.
9402 (NOTE_BASIC_BLOCK): Likewise.
9403 (NOTE_EXPECTED_VALUE): Likewise.
9404 (NOTE_LINE_NUMBER): Likewise.
9405 (LABEL_NAME): Likewise.
9406 (LABEL_NUSES): Likewise.
9407 (LABEL_ALTERNATE_NAME): Likewise.
9408 (ADDRESSOF_DECL): Likewise.
9409 (JUMP_LABEL): Likewise.
9410 (LABEL_NEXTREF): Likewise.
9411 (REGNO): Likewise.
9412 (ORIGINAL_REGNO: Likewise.
9413 (HARD_REGISTER_NUM_P): Add parenthesis.
9414 (SUBREG_REG): Whitespace.
9415 (SUBREG_BYTE): Likewise.
9416 (ASM_OPERANDS_TEMPLATE): Remove parenthesis.
9417 (ASM_OPERANDS_OUTPUT_CONSTRAINT): Likewise.
9418 (ASM_OPERANDS_OUTPUT_IDX): Likewise.
9419 (ASM_OPERANDS_INPUT_VEC): Likewise.
9420 (ASM_OPERANDS_INPUT_CONSTRAINT_VEC): Likewise.
9421 (ASM_OPERANDS_INPUT): Likewise.
9422 (ASM_OPERANDS_INPUT_LENGTH): Likewise.
9423 (ASM_OPERANDS_INPUT_CONSTRAINT_EXP): Likewise.
9424 (ASM_OPERANDS_INPUT_CONSTRAINT): Likewise.
9425 (ASM_OPERANDS_INPUT_MODE): Likewise.
9426 (ASM_OPERANDS_SOURCE_FILE): Likewise.
9427 (ASM_OPERANDS_SOURCE_LINE): Likewise.
9428 (MEM_SET_IN_STRUCT_P): Minor reformat.
9429 (TRAP_CONDITION): Whitespace.
9430 (TRAP_CODE): Likewise.
9431 (COND_EXEC_TEST): Likewise.
9432 (COND_EXEC_CODE): Likewise.
9433 (FIND_REG_INC_NOTE): Uppercase macro args and add parenthesis.
9434 (PHI_NODE_P): Add parenthesis.
9435 (plus_constant): Whitespace and add parenthesis.
9436
e03f5d43
KH
94372002-01-03 Kazu Hirata <kazu@hxi.com>
9438
9439 * config/avr/avr.c: Fix comment typos.
9440 * config/c4x/c4x.md: Likewise.
9441 * config/dsp16xx/dsp16xx.h: Likewise.
9442 * config/dsp16xx/dsp16xx.md: Likewise.
9443 * config/i386/i386.md: Likewise.
9444 * config/ia64/ia64.c: Likewise.
9445 * config/m32r/m32r.h: Likewise.
9446 * config/m68hc11/m68hc11.md: Likewise.
9447 * config/mmix/mmix.c: Likewise.
9448 * config/mn10200/mn10200.c: Likewise.
9449 * config/romp/romp.c: Likewise.
9450 * config/sh/sh.c: Likewise.
9451 * config/stormy16/stormy16.c: Likewise.
9452 * config/stormy16/stormy16.h: Likewise.
9453 * config/stormy16/stormy16.md: Likewise.
9454
97e300e9
GS
94552002-01-03 Graham Stott <grahams@redhat.com>
9456
9457 * loop.h: Update copyright date.
0d24f4d1
ZW
9458 (LOOP_MOVABLES): Fix typo.
9459 (LOOP_REGS): Likewise.
9460 (LOOP_IVS): Likewise.
ff81832f 9461
745b26b3
GS
94622002-01-03 Graham Stott <grahams@redhat.com>
9463
9464 * cppinit.c: Update copyright date.
9465 Don't include output.h
9466 * Makefile.in: Update copyright date.
9467 Update dependency.
9468
0a379b7a
CR
94692002-01-02 Craig Rodrigues <rodrigc@gcc.gnu.org>
9470
9471 PR c/5226
9472 * invoke.texi (-mthreads): Remove from documented RS/6000 options.
9473 (-pthread) Add to RS/6000 options.
9474
a8154559
KH
94752002-01-02 Kazu Hirata <kazu@hxi.com>
9476
9477 * except.c: Fix comment typos.
9478 * loop.c: Likewise.
9479 * varasm.c: Likewise.
9480 * doc/tm.texi: Fix a typo.
9481
e6ecc89b
JJ
94822002-01-02 Jakub Jelinek <jakub@redhat.com>
9483
9484 * c-typeck.c (output_init_element): Allow initializing static storage
9485 duration objects with compound literals.
9486
d1094b40
RH
94872002-01-02 Richard Henderson <rth@redhat.com>
9488
9489 * objc/objc-act.c (hack_method_prototype): Clear current_function_decl
9490 after abusing it.
9491
0c5d8c82
KG
94922002-01-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9493
5e65297b
KG
9494 * gcc.c (default_compilers): Const-ify.
9495 * mips-tdump.c (stab_names): Likewise.
9496 * mips-tfile.c (map_coff_types, map_coff_storage,
9497 map_coff_sym_type, map_coff_derived_type, stabs_symbol,
9498 pseudo_ops_t, pseudo_ops): Likewise.
9499 * protoize.c (default_include): Likewise
9500
0c5d8c82
KG
9501 * real.c (GET_REAL, PUT_REAL): Don't cast away const-ness.
9502 (ezero, ehalf, eone, etwo, e32, elog2, esqrt2, epi): Const-ify.
9503 Add array size in declaration.
9504 (endian, emov, eisneg, eisinf, eisnan, eiisnan, eiisneg, emovi,
9505 emovo, emovz, eiisinf, ecmpm, eaddm, esubm, m16m, edivm, emulm,
9506 esub, eadd, eadd1, ediv, emul, e53toe, e64toe, e113toe, e24toe,
9507 etoe113, etoe64, etoe53, etoe24, ecmp, eround, ltoe, ultoe,
9508 eifrac, euifrac, e24toasc, e53toasc, e64toasc, e113toasc, etoasc,
9509 efloor, efrexp, eldexp, eremain, dectoe, etodec, ibmtoe, etoibm,
9510 c4xtoe, etoc4x, uditoe, ditoe, etoudi, etodi, esqrt, etens,
9511 emtens, make_nan): Const-ify.
9512 (TFbignan, TFlittlenan, XFbignan, XFlittlenan, DFbignan,
9513 DFlittlenan, SFbignan, SFlittlenan): Make static and const-ify.
9514
817e13c4
JM
95152002-01-02 Joseph S. Myers <jsm28@cam.ac.uk>
9516
9517 * config.gcc (ia64-*-*): Set extra_headers.
9518 (alpha*-dec-osf*): Likewise. Don't use alpha/t-osf.
9519 * config/alpha/t-osf: Remove.
9520 * config/ia64/t-ia64 (EXTRA_HEADERS): Remove.
9521
98095e2b
DE
95222002-01-02 David Edelsohn <edelsohn@gnu.org>
9523
9524 * config/rs6000/t-aix43: Revert previous change.
9525
a4200657
JM
95262002-01-02 Jason Merrill <jason@redhat.com>
9527
9528 * c-decl.c (c_expand_body): Call outlining_inline_function when
9529 emitting an inline function out of line.
9530
54ba1f0d
RH
95312002-01-02 Richard Henderson <rth@redhat.com>
9532
9533 * dwarf2out.c (limbo_die_node): Add created_for member.
9534 (new_die): New argument created_for. Update all callers.
9535 (mark_limbo_die_list): New.
9536 (dwarf2out_init): Register limbo_die_list as a root.
9537 (dwarf2out_finish): Force insert limbo dies into their function
9538 context.
9539
323728aa
NS
95402002-01-02 Nathan Sidwell <nathan@codesourcery.com>
9541
9542 PR c++/5089
9543 * doc/invoke.texi (-Wold-style-cast): Only warn about non-void casts.
9544
aefc5826
KH
95452002-01-02 Kazu Hirata <kazu@hxi.com>
9546
9547 * config/h8300/fixunssfsi.c: Update copyright.
9548 Fix comment typos.
9549 Fix formatting.
9550 * config/h8300/h8300.c: Update copyright.
9551 Eliminate warnings.
9552
b1c9bc51
KH
95532002-01-02 Kazu Hirata <kazu@hxi.com>
9554
9555 * config/romp/romp.c: Fix comment formatting.
9556 * config/romp/romp.h: Likewise.
9557 * config/romp/romp.md: Likewise.
9558 * config/s390/s390.c: Likewise.
9559 * config/stormy16/stormy16.c: Likewise.
9560 * config/stormy16/stormy16.h: Likewise.
9561
1574ef13
AO
95622002-01-02 Alexandre Oliva <aoliva@redhat.com>
9563
9564 * c-common.h (genrtl_expr_stmt_value): Declare.
9565 * c-semantics.c (genrtl_goto_stmt): Redirect to...
9566 (genrtl_goto_stmt_value): ... this new function. Pass new
9567 argument down to expand_expr_stmt_value, taking
9568 TREE_ADDRESSABLE into account.
9569 * c-common.c (c_expand_expr): Mark the last EXPR_STMT of a
9570 STMT_EXPR as addressable, i.e., one whose result we want.
9571 * expr.c (expand_expr): Don't save expression statement value
9572 of labeled_blocks or loop_exprs.
9573 * stmt.c (expand_expr_stmt): Redirect to...
9574 (expand_expr_stmt_value): ... this new function. Use new
9575 argument to tell whether to save expression value.
9576 (expand_end_stmt_expr): Reset last_expr_type and
9577 last_expr_value if we don't have either.
9578 * tree-inline.c (declare_return_variable): Mark its use
9579 statement as addressable.
9580 * tree.h: Document new use of TREE_ADDRESSABLE.
9581 (expand_expr_stmt_value): Declare.
9582
252b88f7
TR
95832002-01-01 Tom Rix <trix@redhat.com>
9584
9585 * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Fix for use by
9586 rs6000_emit_allocate_stack.
9587
29f7a208
JM
95882002-01-01 Joseph S. Myers <jsm28@cam.ac.uk>
9589
9590 * configure.in: Prepend ${srcdir}/config/${cpu_type}/ instead of
9591 ${srcdir}/ginclude/ to every entry in extra_headers.
9592 * configure: Regenerate.
9593 * ginclude/math-3300.h: Rename to config/m68k/math-3300.h.
9594 * ginclude/math-68881.h: Rename to config/m68k/math-68881.h.
9595 * ginclude/ppc-asm.h: Rename to config/rs6000/ppc-asm.h.
9596 * ginclude/proto.h: Rename to config/convex/proto.h.
9597
2cc2d4bb
RK
9598Tue Jan 1 17:12:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9599
9600 * attribs.c (handle_vector_size_attribute): Use host_integerp
9601 and tree_int_cst; remove warnings.
9602 * caller-save.c (insert_restore): Add cast to get rid of warning.
9603 (insert_save): Likewise.
9604 * emit-rtl.c (adjust_address_1, offset_address): Likewise.
9605 * regmove.c (find_matches): Add temporary var to kill a warning.
9606
f01c9bcd
DR
96072002-01-01 Douglas B Rupp <rupp@gnat.com>
9608
16b61764
DR
9609 * config/alpha/vms.h (DWARF2_UNWIND_INFO, EH_RETURN_HANDLER_RTX,
9610 LINK_EH_SPEC, MD_FALLBACK_FRAME_STATE_FOR): Define.
9611 * config/alpha/t-vms (EXTRA_PARTS): Add vms-dwarf2eh.o
9612 (vms-dwarf2eh.o): Add Makefile rule.
9613 * config/alpha/vms-ld.c (main): Handle vms-dwarf2eh.o.
9614 * config/alpha/vms-dwarf2eh.asm: New file.
9615
f01c9bcd
DR
9616 * gcc.c (delete_if_ordinary): Delete all versions.
9617
91312b81
HPN
96182002-01-01 Hans-Peter Nilsson <hp@bitrange.com>
9619
9620 * config/mmix/mmix.md: Update FIXME to not mention
9621 define_constants.
9622 (MMIX_rJ_REGNUM): New define_constants constant.
9623 ("movqi", "movsi", "movdi", "*movdicc_real_foldable",
9624 "*movdicc_real"): Adjust contraints formatting.
9625 ("*bCC_foldable"): Add %+ for P in output format and delete FIXME
9626 for branch prediction.
9627 ("*bCC", "*bCC_inverted_foldable", "*bCC_inverted"): Add %+ in
9628 output template.
9629 ("*call_real", "*call_value_real", "nonlocal_goto_receiver",
9630 "*nonlocal_goto_receiver_expanded"): Use MMIX_rJ_REGNUM instead of
9631 number. Delete related FIXMEs.
9632 * config/mmix/mmix.h (MMIX_INCOMING_RETURN_ADDRESS_REGNUM): Change
9633 from number to MMIX_rJ_REGNUM.
9634 (TARGET_MASK_BRANCH_PREDICT): New.
9635 (TARGET_DEFAULT): Change to TARGET_MASK_BRANCH_PREDICT.
9636 (TARGET_SWITCHES): Update comment. Correct -mno-toplevel-symbols
9637 value. Add -mbranch-predict and -mno-branch-predict.
9638 (TARGET_VERSION): Drop date.
9639 (ADDITIONAL_REGISTER_NAMES): Use MMIX_rJ_REGNUM, not number.
9640 * config/mmix/mmix.c (mmix_encode_section_info): Correct condition
9641 for finding out global symbols.
9642 (mmix_asm_output_labelref): Revert condition for global symbol.
9643 (mmix_print_operand): <case '+'>: Emit P for a likely branch.
9644 (mmix_print_operand_punct_valid_p): A '+' is valid.
9645
619acae7 9646See ChangeLog.6 for earlier changes.