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