OSDN Git Service

2002-02-23 David Edelsohn <edelsohn@gnu.org>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2002-02-23  David Edelsohn  <edelsohn@gnu.org>
2
3         * config/rs6000/rs6000.md (load_toc_aix_{si,di}): Use
4         gpc_reg_operand constraint.
5
6 2002-02-23  Alan Modra  <amodra@bigpond.net.au>
7
8         * config/rs6000/rs6000.c (num_insns_constant): Fix formatting.
9         Simplify comparison of `low'.
10         (add_operand): Fix formatting.
11         (non_add_cint_operand): Use CONST_OK_FOR_LETTER_P.
12         (rs6000_stack_info): Remove redundant test setting push_p.
13         (output_toc): Fix formatting.
14         * config/rs6000/rs6000.md (boolsi3, boolcsi3 splitters): Use
15         cc_reg_not_cr0_operand constraint.
16         (booldi3, boolcdi3 splitters): Same.
17
18 2002-02-23  Aldy Hernandez  <aldyh@redhat.com>
19
20         * config/rs6000/altivec.h: Add extra level of parentheses on casts.
21
22 2002-02-22  David Edelsohn  <edelsohn@gnu.org>
23
24         * gcc.c (init_gcc_spec): Do not link with static libgcc.a if
25         gcc invoked with -shared-libgcc.
26
27 2002-02-22  Jakub Jelinek  <jakub@redhat.com>
28
29         PR c++/5748
30         * stmt.c (expand_anon_union_decl): Set TREE_USED on the anon union
31         decl if any of elements was TREE_USED.
32
33 2002-02-22  Alexandre Oliva  <aoliva@redhat.com>
34
35         * config/sparc/sol2.h: Don't include sys/mman.h.
36         * config/sparc/sparc.c (arith_operand): Use SMALL_INT32.
37         (arith_4096_operand): Don't throw high bits away.
38         (const64_operand): Take sign extension of CONST_INTs into account.
39         (const64_high_operand, sparc_emit_set_const32): Likewise.
40         (GEN_HIGHINT64): Likewise.
41         (sparc_emit_set_const64_quick1): Likewise.
42         (const64_is_2insns): Likewise.
43         (print_operand): Use trunc_int_for_mode for sign extension.
44         * config/sparc/sparc.h (SMALL_INT32): Likewise.
45         * config/sparc/sparc.md (movqi): Sign-extend CONST_DOUBLE
46         chars.  Assume CONST_INT is already properly sign-extended.
47         (movdi split): Sign-extend each SImode part.
48         (andsi3 split): Don't mask high bits off, so that result
49         remains properly sign-extend.
50         (iorsi3 split): Likewise.
51         (xorsi3 split): Likewise.
52
53 2002-02-22  Richard Sandiford  <rsandifo@redhat.com>
54
55         * fold-const.c (fold): Fix typo in comments.
56
57 2002-02-21  Diego Novillo  <dnovillo@redhat.com>
58
59         * Makefile.in (langhooks.o): Update dependencies.
60
61 2002-02-21  Diego Novillo  <dnovillo@redhat.com>
62
63         * langhooks.c: Include flags.h.
64
65 2002-02-21  Aldy Hernandez  <aldyh@redhat.com>
66
67         * testsuite/gcc.dg/attr-alwaysinline.c: New.
68
69         * c-common.c (c_common_post_options): Set inline trees by
70         default.
71
72         * doc/extend.texi (Function Attributes): Document always_inline
73         attribute.
74         Update documentation about inlining when not optimizing.
75
76         * cp/decl.c (duplicate_decls): Merge always_inline attribute.
77
78         * cp/tree.c (cp_cannot_inline_tree_fn): Do not inline at -O0
79         unless DECL_ALWAYS_INLINE.
80
81         * c-objc-common.c (c_cannot_inline_tree_fn): Do not inline at -O0
82         unless DECL_ALWAYS_INLINE.
83         (c_disregard_inline_limits): Disregard if always_inline set.
84
85         * langhooks.c (lhd_tree_inlining_disregard_inline_limits):
86         Disregard if always_inline set.
87         (lhd_tree_inlining_cannot_inline_tree_fn): Do not inline at -O0
88         unless DECL_ALWAYS_INLINE.
89
90         * attribs.c (handle_always_inline_attribute): New.
91         (c_common_attribute_table): Add always_inline.
92
93         * config/rs6000/altivec.h: Add prototypes for builtins
94         requiring the always_inline attribute.
95
96 2002-02-21  Eric Christopher  <echristo@redhat.com>
97
98         * expmed.c (store_bit_field): Try to simplify the subreg
99         before generating a new one when when the mode size of
100         value is less than maxmode.
101
102 2002-02-21  Richard Henderson  <rth@redhat.com>
103
104         * emit-rtl.c (offset_address): Use simplify_gen_binary rather
105         than gen_rtx_PLUS to form the sum.
106         * explow.c (force_reg): Rearrange to not allocate new pseudo
107         when force_operand returns a register.
108         * expr.c (expand_assignment): Allow offset_rtx expansion to
109         return a sum.  Do not force addresses into registers.
110         (expand_expr): Likewise.
111         * simplify-rtx.c (simplify_gen_binary): Use simplify_plus_minus
112         to canonicalize arithmetic that didn't simpify.
113         (simplify_plus_minus): New argument force; update
114         all callers.  Don't split CONST unless we can do something with it,
115         and wouldn't lose the constness of the operands.
116
117         * config/i386/i386.c (legitimize_pic_address): Recognize UNSPECs
118         that we generated earlier.
119
120 2002-02-21  Tom Tromey  <tromey@redhat.com>
121
122         * dwarf2out.c (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
123         (output_line_info): Use constant `1', with a long explanatory
124         comment.
125         * system.h (DWARF_LINE_MIN_INSTR_LENGTH): Poison.
126
127 Thu Feb 21 22:43:44 2002  J"orn Rennecke <joern.rennecke@superh.com>
128
129         * jump.c (redirect_jump): If old label has no UID, don't try to
130         delete it.
131
132 Thu Feb 21 21:17:21 2002  J"orn Rennecke <joern.rennecke@superh.com>
133
134         * sh.md (insv): Provide byte offsets for gen_rtx_SUBREG.
135         If input is constant, do shifts at compile time.
136
137 2002-02-21  Joseph S. Myers  <jsm28@cam.ac.uk>
138
139         * doc/extend.texi: Fix some more overfull hboxes.
140
141 2002-02-21  Jakub Jelinek  <jakub@redhat.com>
142
143         PR optimization/4994
144         * config/i386/i386.md (movsi_1, movsf_1): Support MMX -> MMX
145         register moves.
146
147 2002-02-21  Jakub Jelinek  <jakub@redhat.com>
148
149         PR c++/4574
150         * expr.h (expand_and): Add mode argument.
151         * expmed.c (expand_and): Add mode argument.
152         (expand_mult_highpart_adjust, emit_store_flag): Adjust callers.
153         * expr.c (store_field, expand_expr, do_store_flag): Likewise.
154         * except.c (expand_builtin_extract_return_addr): Likewise.
155         * config/alpha/alpha.c (alpha_initialize_trampoline): Likewise.
156         * config/sparc/sparc.c (sparc_initialize_trampoline): Likewise.
157         * config/c4x/c4x.h (INITIALIZE_TRAMPOLINE): Likewise.
158         Use GEN_INT (x) instead of gen_rtx (CONST_INT, VOIDmode, x).
159         * config/c4x/c4x.md: Use GEN_INT (x) instead of
160         gen_rtx (CONST_INT, VOIDmode, x).
161
162 2002-02-21  Jakub Jelinek  <jakub@redhat.com>
163
164         PR c/4697:
165         * stmt.c (warn_if_unused_value): Move side effects test once more.
166
167 2002-02-20  Torbjorn Granlund  <tege@swox.com>
168
169         * config/avr/avr.md: Add more patterns for mized-mode add and subtract
170         (addsi3_zero_extend, subhi3_zero_extend1, subsi3_zero_extend).
171
172 Thu Feb 21 16:20:46 2002  Alexandre Oliva  <aoliva@redhat.com>
173
174         * rtlanal.c (replace_rtx): Don't make a CONST_INT the operand of
175         SUBREG or ZERO_EXTEND.
176
177 Thu Feb 21 15:35:46 2002  J"orn Rennecke <joern.rennecke@superh.com>
178
179         * sh.h (current_function_anonymous_args): Remove.
180         (SETUP_INCOMING_VARARGS): Don't set it - just check that one
181         of current_function_varargs and current_function_stdarg is set.
182         * sh.c (sh_expand_prologue): Check current_function_varargs /
183         current_function_stdarg / TARGET_SH5 instead of
184         current_function_anonymous_args.
185
186         * sh64.h (TARGET_VERSION): Define.
187
188 2002-02-20  David Edelsohn  <edelsohn@gnu.org>
189
190         * config/rs6000/rs6000.h (EPILOGUE_USES): Conditionalize
191         VRSAVE_REGNO on TARGET_ALTIVEC.
192
193 2002-02-20  Alan Modra  <amodra@bigpond.net.au>
194
195         * config/rs6000/rs6000.c (includes_lshift_p): Mask irrelevant
196         bits of SImode const_int.
197         (includes_rshift_p): Likewise.
198         (print_operand): Call mask_operand and mask64_operand with correct
199         mode.
200         (rs6000_output_function_epilogue): Pad traceback table to word.
201         * config/rs6000/rs6000.h (MASK_64BIT): Correct comment.
202         (EXTRA_CONSTRAINT, 'S' and 'T'): Call mask_operand and
203         mask64_operand with correct mode.
204         (FUNCTION_ARG_REGNO_P): Correct parentheses.
205
206 2002-02-20  Jakub Jelinek  <jakub@redhat.com>
207
208         PR debug/4461
209         * varasm.c (get_pool_constant_mark): New.
210         * rtl.h (get_pool_constant_mark): Add prototype.
211         * dwarf2out.c (mem_loc_descriptor): A pool constant cannot
212         be represented if it has not been output.
213
214 2002-02-20  Alexandre Oliva  <aoliva@redhat.com>
215
216         * combine.c (do_SUBST): Sanity check substitutions of
217         CONST_INTs, and reject them in SUBREGs and ZERO_EXTENDs.
218         (subst): Simplify SUBREG or ZERO_EXTEND instead of SUBSTing a
219         CONST_INT into its operand.
220         (known_cond): Likewise, for ZERO_EXTEND.
221         * simplify-rtx.c (simplify_unary_operation): Fix condition to
222         allow for simplification of wide modes.  Reject CONST_INTs in
223         ZERO_EXTEND when their actual mode is not given.
224
225 2002-02-20  Alexandre Oliva  <aoliva@redhat.com>
226
227         * c-decl.c (pushdecl): If no global declaration is found for an
228         extern declaration in block scope, try a limbo one.
229
230 2002-02-20  Jakub Jelinek  <jakub@redhat.com>
231
232         PR c++/4401
233         * c-common.c (pointer_int_sum): Moved from...
234         * c-typeck.c (pointer_int_sum): ...here.
235         * c-common.h (pointer_int_sum): Add prototype.
236
237 2002-02-20  Jakub Jelinek  <jakub@redhat.com>
238
239         PR c++/5713
240         * c-decl.c (duplicate_decls): Return 0 if issued error about
241         redeclaration.
242
243 2002-02-20  Roger Sayle  <roger@eyesopen.com>
244             Jakub Jelinek  <jakub@redhat.com>
245
246         PR c/4389
247         * tree.c (host_integerp): Ensure that the constant integer is
248         representable in a HOST_WIDE_INT or an unsigned HOST_WIDE_INT
249         when pos is zero or non-zero respectively.  Clarify comment.
250         * c-format.c (check_format_info_recurse): Fix host_integerp
251         usage; the pos argument should be zero when assigning to a
252         signed HOST_WIDE_INT.
253
254 2002-02-20  Richard Henderson  <rth@redhat.com>
255
256         * config/i386/i386.c (ix86_expand_vector_move): Use the mode
257         of the operand, rather than assuming TImode.
258         (ix86_expand_binop_builtin): Cope with commutative patterns
259         using nonimmediate_operand for both operands.
260         (ix86_expand_timode_binop_builtin): Likewise.
261         (ix86_expand_store_builtin): Validate operand 1.
262         (ix86_expand_unop1_builtin): Likewise.
263
264 2002-02-20  Philip Blundell  <philb@gnu.org>
265
266         PR 5705
267         * config/arm/arm.h (HARD_REGNO_RENAME_OK): New macro.
268
269 2002-02-20  Richard Henderson  <rth@redhat.com>
270
271         PR c/5615
272         * expr.h (ARGS_SIZE_TREE): Convert size.var to ssizetype.
273
274 2002-02-20  Tom Tromey  <tromey@redhat.com>
275
276         * config/fr30/fr30.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
277         * config/sh/sh.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
278         * config/pj/pj.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
279         * config/cris/cris.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
280         * dwarf2out.c (DWARF_LINE_MIN_INSTR_LENGTH): Define
281         unconditionally.
282
283 Wed Feb 20 00:03:25 EST 2002 Alan Matsuoka <alanm@redhat.com>
284
285         * config/rs6000/rs6000.h (LEGITIMATE_OFFSET_ADDRESS_P): Look
286           for (const_int 0) in X not just INTVAL.
287
288 2002-02-20  Joseph S. Myers  <jsm28@cam.ac.uk>
289
290         * doc/extend.texi: Avoid or reduce overfull hboxes.
291
292 2002-02-20  Diego Novillo  <dnovillo@redhat.com>
293
294         * expmed.c (store_bit_field): Do not store bit fields using SUBREG
295         operations if the field does not start at a mode boundary.
296
297 2001-02-20      Joel Sherrill <joel@OARcorp.com>
298
299         * config/a29k/rtems.h, config/arm/rtems-elf.h, config/h8300/rtems.h,
300         config/mips/rtems.h: Use new style of -Asystem= rather than -Asystem().
301         Also done for -Acpu and -Amachine.
302
303 2002-02-20  Neil Booth  <neil@daikokuya.demon.co.uk>
304
305         * cppinit.c (init_dependency_output): Take deps output file
306         from -o if none given with -MF.  Suppress normal output.
307         * gcc.c (cpp_unique_options): Have -M and -MM imply -E.
308         * doc/cpp.texi, doc/invoke.texi: Update.
309
310 2002-02-19  Zack Weinberg  <zack@codesourcery.com>
311
312         * toplev.c (output_quoted_string): Write unprintable
313         characters with octal escapes.
314
315 2002-02-19  David Edelsohn  <edelsohn@gnu.org>
316
317         * config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Set
318         really_call_used[VRSAVE_REGNO] if not Altivec.
319
320 2002-02-19  Alan Modra  <amodra@bigpond.net.au>
321
322         * config/rs6000/rs6000.c (u_short_cint_operand): Mask op with
323         MODE_MASK.
324         (constant_pool_expr_1): Fix formatting.
325         (rs6000_legitimize_reload_address): Likewise.
326
327 Tue Feb 19 20:13:57 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
328
329         * config/sparc/sparc.md (nonlocal_goto): Use hard_frame_pointer_rtx
330         now that we have one.
331
332 2002-02-19  Zack Weinberg  <zack@codesourcery.com>
333
334         * tree.h (struct tree_common): Remove aux.  Add unused_0 at
335         end of first block of bitfields (which was only seven bits);
336         rename dummy to unused_1; remove comment which is no longer true.
337
338 2002-02-19  Gaute B Strokkenes <gs234@cam.ac.uk>
339
340         * doc/c-tree.texi (Classes, TYPE_BINFO): Fix typo.
341
342 2002-02-19  Philip Blundell  <pb@nexus.co.uk>
343
344         PR 5399
345         * config/arm/arm.h (THUMB_LEGITIMATE_CONSTANT_P): Accept anything
346         if generating PIC.
347
348         PR 5054
349         * config/arm/arm.md (call_insn) [TARGET_THUMB]: Use
350         arm_is_longcall_p rather than inspecting call-type cookie
351         directly.
352         (call_value_insn) [TARGET_THUMB]: Likewise.
353
354 2002-02-19  Graham Stott  <grahams@redhat.com>
355
356         * config/i386/i386.c (ix86_expand_builtin): Fix typo.
357
358 2002-02-19  David Edelsohn  <edelsohn@gnu.org>
359
360         * config/rs6000/linux64.h (LINK_OS_LINUX_SPEC): Look in /lib64.
361         ({STARTFILE,ENDFILE}_LINUX_SPEC): Define.
362         (FP_SAVE_INLINE): Delete.
363
364         * config/rs6000/sysv4.h (ENDFILE_SPEC): Add crtsaveres.o.
365         * config/rs6000/eabi.asm: Remove ABI save restore routines.
366         * config/rs6000/t-ppccomm: Build crtsavres.o.
367         * config/rs6000/crtsavres.asm: New file.
368
369 2002-02-19  Philip Blundell  <philb@gnu.org>
370
371         * config/arm/arm.c (use_return_insn): Don't reject interrupt
372         functions.
373         (arm_compute_save_reg_mask): Save LR for interrupt functions too.
374         (output_return_instruction): Allow interrupt functions to return with
375         ldmfd sp!, {... pc}^.  Use LDR to restore any single register.
376         (arm_expand_prologue): Subtract 4 before stacking LR in an
377         interrupt function.
378
379 2002-02-19  Philip Blundell  <pb@nexus.co.uk>
380
381         * config/arm/arm.c (arm_encode_call_attribute): Operate on any
382         decl, not just FUNCTION_DECL.
383         (legitimize_pic_address): Handle local SYMBOL_REF like LABEL_REF.
384         (arm_assemble_integer): Likewise.
385         * config/arm/arm.h (ARM_ENCODE_CALL_TYPE): Allow any decl to be
386         marked local.
387
388 2002-02-19  matthew green  <mrg@eterna.com.au>
389
390         * config.gcc (sparc-*-netbsdelf*): Enable target.
391         (sparc64-*-netbsd*): New target.
392         * config/sparc/netbsd-elf.h: New file.
393         * config/sparc/t-netbsd64: New file.
394
395 2002-02-19  Gaute B Strokkenes <gs234@cam.ac.uk>
396
397         * doc/rtl.texi (Flags, MEM_SCALAR_P): Fix typo.
398
399 2002-02-19  Ryan T. Sammartino <ryants@shaw.ca>
400
401         * doc/invoke.texi: explicitly list the style guidelines that
402         -Weffc++ checks for.
403
404 Tue Feb 19 12:37:23 CET 2002  Jan Hubicka  <jh@suse.cz>
405
406         * regmove.c (regmove_optimize): Avoid increasing of register pressure.
407
408 2002-02-19  Neil Booth  <neil@daikokuya.demon.co.uk>
409
410         PR other/5718
411         * gcc.c (cpp_unique_options): Treat -o as indicating object file
412         only if not -E.  If -E, pass -o through to the preprocessor.
413
414 2002-02-19  Kazu Hirata  <kazu@hxi.com>
415
416         * config/h8300/h8300.h (REGNO_REG_CLASS): Replace a literal
417         register number with an appropriate macro.
418
419 2002-02-19  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
420
421         * doc/rtl.texi (Constants): Close @code tag.
422
423 2002-02-19  Aldy Hernandez  <aldyh@redhat.com>
424
425         * config/i386/i386.md ("mmx_uavgv8qi3"): Use const_vector.
426         ("mmx_uavgv4hi3"): Same.
427         ("pmulhrwv4hi3"): Same.
428
429         * tree-inline.c (walk_tree): Handle vectors.
430
431         * c-common.c (constant_expression_warning): Handle vectors.
432         (overflow_warning): Same.
433
434         * sched-deps.c (sched_analyze_2): Handle vectors.
435
436         * rtlanal.c (rtx_unstable_p): Handle vectors.
437         (rtx_varies_p): Same.
438         (count_occurrences): Same.
439         (regs_set_between_p): Same.
440         (modified_between_p): Same.
441         (modified_in_p): Same.
442         (volatile_insn_p): Same.
443         (volatile_refs_p): Same.
444         (side_effects_p): Same.
445         (may_trap_p): Same.
446         (inequality_comparisons_p): Same.
447         (replace_regs): Same.
448         (computed_jump_p_1): Same.
449
450         * rtl.c (DEF_MACHMODE): Change all definitions to accept 8th
451         argument.
452         (inner_mode_array): New.
453         (copy_rtx): Handle vectors.
454         (copy_most_rtx): Same.
455         (rtx_equal_p): Same.
456         (get_mode_alignment): Adjust for vectors.
457
458         * resource.c (mark_referenced_resources): Handle vectors.
459         (mark_set_resources): Same.
460
461         * reload1.c (eliminate_regs): Handle vectors.
462         (elimination_effects): Same.
463         (scan_paradoxical_subregs): Same.
464
465         * reload.c (subst_reg_equivs): Handle vectors.
466
467         * regrename.c (scan_rtx): Handle vectors.
468
469         * regclass.c (reg_scan_mark_refs): Handle vectors.
470
471         * recog.c (find_single_use_1): Handle vectors.
472
473         * local-alloc.c (equiv_init_varies_p): Handle vectors.
474         (contains_replace_regs): Same.
475         (memref_referenced_p): Same.
476
477         * integrate.c (copy_rtx_and_substitute): Handle vectors.
478         (subst_constants): Same.
479
480         * genattrtab.c (attr_copy_rtx): Handle vectors.
481         (encode_units_mask): Same.
482         (clear_struct_flag): Same.
483         (count_sub_rtxs): Same.
484
485         * gcse.c (want_to_gcse_p): Handle vectors.
486         (oprs_unchanged_p): Same.
487         (hash_expr_1): Same.
488         (oprs_not_set_p): Same.
489         (expr_killed_p): Same.
490         (compute_transp): Same.
491         (store_ops_ok): Same.
492
493         * function.c (purge_addressof_1): Do not allow paradoxical subregs
494         of vectors.
495         (fixup_var_refs_1): Same.
496         (instantiate_virtual_regs_1): Same.
497
498         * fold-const.c (operand_equal_p): Handle vectors.
499         (fold): Same.
500         (rtl_expr_nonnegative_p): Same.
501
502         * flow.c (mark_used_regs): Handle vectors.
503
504         * df.c (df_uses_record): Handle vectors.
505
506         * cselib.c (cselib_subst_to_values): Handle vectors.
507         (cselib_mem_conflict_p): Same.
508         (hash_rtx): Same.
509
510         * cse.c (canon_reg): Handle vectors.
511         (fold_rt): Same.
512         (cse_process_notes): Same.
513         (count_reg_usage): Same.
514         (canon_hash): Same.
515
516         * alias.c (nonlocal_mentioned_p): Add case for CONST_VECTOR.
517
518         * combine.c (mark_used_regs_combine): Add case for CONST_VECTOR.
519
520         * emit-rtl.c (init_emit_once): Generate const0_rtx for vectors.
521         (gen_rtx): Handle CONST_VECTOR.
522         (gen_const_vector_0): New.
523         (copy_rtx_if_shared): CONST_VECTORs can be shared.
524         (reset_used_flags): Same.
525         (copy_insn_1): Same.
526         (initializer_constant_valid_p): Handle VECTOR_CST.
527
528         * doc/c-tree.texi (Expression trees): Document VECTOR_CST.
529
530         * doc/rtl.texi (Constants): Document const_vector.
531         (CONST0_RTX): Update for vectors.
532         (RTL sharing): Same.
533
534         * print-tree.c (print_node): Add case for VECTOR_CST.
535
536         * tree.h (TREE_VECTOR_CST_ELTS): New.
537         (struct tree_vector): New.
538         (union tree_node): Add vector node.
539         (build_vector): Add prototype.
540
541         * tree.def (VECTOR_CST): New.
542
543         * tree.c (build_vector): New.
544
545         * expmed.c (make_tree): Handle CONST_VECTOR.
546
547         * rtl.h (CONSTANT_P): CONST_VECTORs are constants too.
548         (CONST_VECTOR_ELT): New.
549         (CONST_VECTOR_NUNITS): New.
550
551         * machmode.h (GET_MODE_INNER): New.
552         (DEF_MACHMODE): Accept 8th arg.
553
554         * machmode.def: Add 8th argument for vector inner mode.
555         Add inner vector modes for vectors.
556
557         * rtl.def (VEC_CONST): Remove.
558         (CONST_VECTOR): New.
559
560         * expr.c (clear_storage): Allow vectors.
561         (is_zeros_p): Handle VECTOR_CST.
562
563         * varasm.c (output_constant_pool): Handle vectors.
564         (rtx_const): Add veclo and vechi fields.
565         (kind): Add RTX_VECTOR.
566         (decode_rtx_const): Add case for vector.
567
568         * config/rs6000/rs6000-protos.h: Add zero_constant.
569
570         * config/rs6000/rs6000.c (rs6000_emit_move): Handle vector
571         constants.  Force easy vector constants into memory.
572         (easy_vector_constant): New.
573         (emit_easy_vector_constant): New.
574         (rs6000_legitimize_reload_address): Do not generate bad reloads on
575         darwin.
576
577         * config/rs6000/rs6000.md ("altivec_lvx"): Reflect what
578         instruction does.
579         ("altivec_lvxl"): Same.
580         (altivec_lvebx): Same.
581         (altivec_lvehx): Same.
582         (altivec_lvewx): Same.
583         ("*movv4si_const0"): New.
584         ("*movv4sf_const0"): New.
585         ("*movv8hi_const0"): New.
586         ("*movv16qi_const0"): New.
587
588 2002-02-18  Kazu Hirata  <kazu@hxi.com>
589
590         * config/h8300/h8300.c (notice_update_cc): Use
591         cc_status.value2.
592
593 2002-02-18  Kazu Hirata  <kazu@hxi.com>
594
595         * config/h8300/h8300.md (divmod patterns): Change the
596         constraints for operands[1] to register_operand.
597
598 2002-02-18  Kazu Hirata  <kazu@hxi.com>
599
600         * config/h8300/h8300-protos.h: Remove the prototype for
601         p_operand.
602         * config/h8300/h8300.c (p_operand): Remove.
603         * config/h8300/h8300.md: Replace p_operand with
604         const_int_operand.
605
606 2002-02-18 Philip Blundell <pb@nexus.co.uk>
607
608         * config/arm/arm.c (arm_compute_save_reg_mask): Fix typo in
609         comment.
610         (output_return_instruction): Allow use of LDR to unstack
611         return addresss even for interrupt handlers or when
612         interworking.  If compiling for ARMv5, use interworking-safe
613         return instructions by default.  Remove duplicated code and
614         lengthy "strcat" sequences.
615
616 2002-02-18  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
617
618         * config/rs6000/sysv4.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
619         (LINK_EH_SPEC): Define.
620         * config/rs6000/t-ppccomm (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
621
622 2002-02-18  Ulrich Weigand  <uweigand@de.ibm.com>
623
624         * config/s390/s390.c (s390_emit_prologue): Do not set the
625         frame_related flag for call-clobbered registers.
626
627 Mon Feb 18 15:07:35 CET 2002  Jan Hubicka  <jh@suse.cz>
628
629         * i386.c (classify_argument): Properly classify SSE/MMX modes and VOIDmode.
630         (construct_container): Fix handling of SSE operands.
631         (ix86_expand_builtin): Fix handling of 64bit pointers.
632         (mmx_maskmovq_rex): New pattern.
633
634 Mon Feb 18 11:55:55 CET 2002  Jan Hubicka  <jh@suse.cz>
635
636         * regrename.c (kill_set_value): Handle subregs properly.
637
638 2002-02-18  David Billinghurst <David.Billinghurst@riotinto.com>
639
640         * objc/objc-act.c (handle_impent): Remove leading '*'
641         from objc_class_name.
642
643 2002-02-17  Richard Henderson  <rth@redhat.com>
644
645         * config/alpha/alpha.c (some_small_symbolic_operand,
646         some_small_symbolic_operand_1, split_small_symbolic_operand,
647         split_small_symbolic_operand_1): Rename from *symbolic_mem_op*.
648         Handle small SYMBOL_REFs anywhere, not just inside memories.
649         * config/alpha/alpha-protos.h: Update.
650         * config/alpha/alpha.h (PREDICATE_CODES): Update.
651         * config/alpha/alpha.md (small symbolic operand splitter): Update.
652
653 2002-02-17  Roland McGrath  <roland@frob.com>
654
655         * config.gcc (powerpc-*-gnu-gnualtivec*,
656         powerpc-*-gnu*, powerpc64-*-gnu*): New configurations.
657         * config/rs6000/gnu.h: New file.
658         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS):
659         Grok "gnu" in rs6000_abi_name.
660         (ASM_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC,
661         CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC, LIB_SPEC, ENDFILE_SPEC):
662         Grok -mcall-gnu analogous to -mcall-linux et al.
663         (LIB_GNU_SPEC, STARTFILE_GNU_SPEC, ENDFILE_GNU_SPEC,
664         LINK_START_GNU_SPEC, LINK_OS_GNU_SPEC, CPP_OS_GNU_SPEC): New macros.
665         (SUBTARGET_EXTRA_SPECS): Add *_os_gnu specs using them.
666
667 2002-02-17  Jakub Jelinek  <jakub@redhat.com>
668
669         PR c/3444:
670         * c-typeck.c (build_binary_op) [BIT_XOR_EXPR]: Remove explicit
671         shortening.
672
673 2002-02-17  Philipp Thomas  <pthomas@suse.de>
674
675         * config/cris/cris.h: Undefine STARTFILE_SPEC and
676         ENDFILE_SPEC before (re)defining them.
677
678 2002-02-17  Kazu Hirata  <kazu@hxi.com>
679
680         * config/h8300/h8300.c: Fix formatting.
681         * config/h8300/h8300.h: Likewise.
682
683 2002-02-17  Philipp Thomas  <pthomas@suse.de>
684
685         * doc/tm.texi: Explain why empty strings should not be
686         marked for translation.
687
688 2002-02-17  Philipp Thomas  <pthomas@suse.de>
689
690         * final.c (output_operand_lossage): Changed to accept
691         printf style arguments. Change calls where necessary.
692         * output.h (output_operand_lossage): Change declaration
693         accordingly. Update copyright.
694         * config/arc/arc.c config/fr30/fr30.c config/m32r/m32r.c
695         config/m88k/m88k.c : Adapt all calls to output_operand_lossage.
696         Update copyright date where necessary.
697
698         * config/i386/i386.c (print_operand): Likewise. Remove use of
699         sprintf.
700
701         * config/cris/cris.c (cris_operand_lossage): Likewise.
702         Rename parameter so that exgettext recognizes it as
703         translatable message.
704         (LOSE_AND_RETURN): Rename parameter to msgid.
705
706 2002-02-17  Kazu Hirata  <kazu@hxi.com>
707
708         * config/h8300/h8300.h (CONDITIONAL_REGISTER_USAGE): Replace a
709         hard coded register number with an appropriate macro.
710         (HARD_REGNO_MODE_OK): Likewise.
711         (ARG_POINTER_REGNUM): Likewise.
712         (STATIC_CHAIN_REGNUM): Likewise.
713         (RETURN_ADDRESS_POINTER_REGNUM): Likewise.
714         * config/h8300/h8300.md (define_constants): Define more
715         register numbers.
716
717 2002-02-17  Philipp Thomas  <pthomas@suse.de>
718
719         * config/i386/i386.h: Don't mark empty strings for translation.
720
721 2002-02-16  H.J. Lu <hjl@gnu.org>
722
723         * config/mips/linux.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
724
725 2002-02-16  Zack Weinberg  <zack@codesourcery.com>
726
727         * cppinit.c (merge_include_chains): Check for brack being
728         NULL before attempting to merge it with qtail.
729
730 2002-02-16  Andrew Cagney  <ac131313@redhat.com>
731
732         * config/rs6000/netbsd.h (PREFERRED_DEBUGGING_TYPE): Set to
733         DBX_DEBUG.
734
735 2002-02-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
736
737         * pa/t-pa, pa/t-pro, som.h: Revert last patch.
738
739 2002-02-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
740
741         * pa/t-pa (LIB2FUNCS_EXTRA): Don't build lib2funcs.asm.
742         * pa/t-pro (LIB2FUNCS_EXTRA): Likewise.
743         * som.h (DO_GLOBAL_DTORS_BODY): Delete define.
744
745 Sat Feb 16 13:48:50 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
746
747         * config/alpha/alpha.md (*movsi_nt_vms_nofix): Was *movsi_nt_vms;
748         now only if !TARGET_FIX.
749         (*movsi_nt_vms_fix): New pattern.
750
751 2002-02-16  Douglas B Rupp  <rupp@gnat.com>
752
753         * config/alpha/alpha.c: Implement null frame procedure types on VMS.
754         (alpha_procedure_type): Replaces alpha_is_stack_procedure.
755         (alpha_sa_mask, alpha_sa_size): Reflect above change.
756         (alpha_pv_save_size, alpha_expand_prologue): Likewise.
757         (alpha_start_function, alpha_expand_epilogue): Likewise.
758         (unicosmk_gen_dsib): Likewise.
759
760 Sat Feb 16 13:39:09 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
761
762         * expr.c (store_constructor): Handle target REG case for ARRAY_TYPE.
763
764 2002-02-16  Ulrich Weigand  <uweigand@de.ibm.com>
765
766         * config/s390/s390.c (pool_stop_uid, other_chunk, far_away,
767         check_and_change_labels, s390_final_chunkify): Delete.
768         (s390_split_branches, s390_chunkify_pool): New functions.
769         (s390_function_prologue): Call them.
770
771         * config/s390/s390.h (S390_REL_MAX): Delete.
772         (S390_CHUNK_MAX, S390_CHUNK_OV): Adjust values.
773
774         * config/s390/s390.md (cjump, icjump, jump): Fix length
775         attribute calculation.
776
777
778 2002-02-15  David Edelsohn  <edelsohn@gnu.org>
779
780         * config/rs6000/linux64.h (STRIP_NAME_ENCODING): Delete.
781         * config/rs6000/ppc-asm.h (JUMP_TARGET): Define for powerpc64.
782
783 2002-02-15  John David Anglin  <dave@hiauly1.hia.nrc.ca>
784
785         * gcc.c (init_gcc_specs): Revert patch from 2002-02-15.
786         * config/pa/pa-linux.h (LIB_SPEC): Likewise.
787         * config/pa/pa32-linux.h (LINK_COMMAND_SPEC): Likewise.
788
789 2002-02-15  Richard Sandiford  <rsandifo@redhat.com>
790
791         * c-decl.c (grokdeclarator): Prevent a segfault on unnamed decls.
792
793 2002-02-15  Richard Sandiford  <rsandifo@redhat.com>
794
795         * reload.c (find_dummy_reload): Check that an output register
796         is valid for its mode.
797
798 2002-02-14  Alexandre Oliva  <aoliva@redhat.com>
799
800         * combine.c (known_cond): After replacing the REG of a SUBREG, try
801         to simplify it.
802
803         * function.c (assign_parms): Demote promoted argument passed by
804         transparent reference.
805
806 2001-02-14      Joel Sherrill <joel@OARcorp.com>
807
808         * config/arm/rtems-elf.h, config/h8300/rtems.h: Removed redundant
809         -Acpu() and -Amachine() to eliminate warnings.
810
811 2002-02-14  Ulrich Weigand  <uweigand@de.ibm.com>
812
813         * config/s390/linux.h (ASM_OUTPUT_ALIGNED_BSS): New.
814
815 2002-02-14  Kazu Hirata  <kazu@hxi.com>
816
817         * config/h8300/h8300-protos.h: Update the prototype for
818         const_costs.
819         * config/h8300/h8300.c (const_costs): Treat SET as a little
820         more expensive operation.
821         * config/h8300/h8300.h (DEFAULT_RTX_COSTS): Update the
822         reference to const_costs.
823
824 2002-02-14  Hans-Peter Nilsson  <hp@axis.com>
825
826         * config.gcc (c4x-*-rtems*): Fix typo in tm_file setting.
827
828 2002-02-14  Jakub Jelinek  <jakub@redhat.com>
829
830         PR c/5503:
831         * c-decl.c (duplicate_decls): If builtin type has TYPE_ARG_TYPES NULL,
832         use arguments from newtype.
833
834 2002-02-13  Eric Christopher  <echristo@redhat.com>
835
836         * config/mips/mips.c (override_options): Add check for march/mipsX
837         on the same command line. Fix error message in cpu processing.
838         Remove architecture and ISA checks.
839
840 2002-02-14  Aldy Hernandez  <aldyh@redhat.com>
841
842         * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Adjust for vectors.
843
844         * config/rs6000/sysv4.h (ROUND_TYPE_ALIGN): Add MAX.
845
846 2002-02-14  Aldy Hernandez  <aldyh@redhat.com>
847
848         * config/rs6000/rs6000.md ("*movv4si_internal"): Add m<-r and r<-r
849         alternatives.
850         ("*movv8hi_internal1"): Same.
851         ("*movv16qi_internal1"): Same.
852         ("*movv4sf_internal1"): Same.
853
854         * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Do
855         not push_reload for altivec modes.
856
857 2002-02-13  Joel Sherrill  <joel@OARcorp.com>
858
859         * config.gcc (a29k-*-rtems), config/a29k/rtems.h: General cleanup across
860         all RTEMS targets including removal of #includes from config/*/rtems*.h
861         file and adding them to tm_file setting. Added xm_defines=POSIX to
862         many targets.
863         * config.gcc (c4x-*-rtems), config/c4x/rtems.h: Ditto.
864         * config.gcc (h8300-*-rtems), config/h8300/rtems.h: Ditto.
865         * config.gcc (hppa1.1-*-rtems), config/pa/rtems.h: Ditto.
866         * config.gcc (i960-*-rtems), config/i960/rtems.h: Ditto.
867         * config.gcc (m68k-*-rtems*), config/m68k/rtems.h,
868         config/m68k/rtemself.h: Ditto.
869         * config.gcc (mips*-*-rtems*), config/mips/rtems.h,
870         config/mips/rtems64.h: Ditto.
871         * config.gcc (powerpc-*-rtems*), config/rs6000/rtems.h: Ditto.
872         * config.gcc (sh-*-rtems*), config/sh/rtems.h, config/sh/rtemself.h:
873         Ditto.
874         * config.gcc (sparc-*-rtems*), config/sparc/rtems.h,
875         config/sparc/rtemself.h: Ditto.
876         * config.gcc (v850-*-rtems*), config/v850/rtems.h: Ditto.
877         * config.gcc (arm-rtems), config/arm/rtems-elf.h: Ditto plus moved
878         arm-rtems stanza closer to other arm-elf targets and made arm-rtems
879         more like arm-elf.
880         * config.gcc (i[34567]86-*-rtems*), config/i386/djgpp-rtems.h,
881         config/i386/rtems.h, config/i386/rtemself.h: Ditto plus i386-rtemself
882         target made more similar to i386-elf.
883         * config/i386/t-rtems-i386: Added soft float support and multilibs.
884         * config/m68k/t-m68kbare: Add 68040 and 68060 as multilib alternatives to
885         be similar to config/m68k/t-m68kelf.
886         * gthr-rtems.h: Encapsulate with extern "C" for C++.
887
888 Wed Feb 13 23:41:15 CET 2002  Jan Hubicka  <jh@suse.cz>
889
890         * regmove.c (kill_value): Handle subregs.
891
892 Wed Feb 13 23:34:30 CET 2002  Jan Hubicka  <jh@suse.cz>
893
894         * i386.md (mul patterns): Allow memory operand to be first;
895         add expanders where needed; fix constraints.
896         (min?f_nonieee, max?f_nonieee, SSE TImode patterns):
897         Allow memory operand to be the first.
898
899         * i386.c (ix86_prepare_fp_compare_args): Fix condition for swapping
900         operands.
901
902 2002-02-13  Jakub Jelinek  <jakub@redhat.com>
903
904         PR c/5681:
905         * expr.c (safe_from_p): Pass VOIDmode to true_dependence instead of
906         GET_MODE (x).
907
908 2002-02-13  Jakub Jelinek  <jakub@redhat.com>
909
910         PR optimization/5547:
911         * config/i386/i386.c (i386_simplify_dwarf_addr): Simplify
912         all valid IA-32 address modes involving non-scaled %ebx and
913         GOT/GOTOFF as displacement.
914
915 2002-02-13  Ulrich Weigand  <uweigand@de.ibm.com>
916
917         * config/s390/s390.c (s390_final_chunkify): Re-run shorten_branches
918         after emitting ltorg insns.
919
920         * config/s390/s390.md (*cmpdf_ccs_0, *cmpdf_ccs, *cmpsf_ccs_0,
921         *cmpsf_ccs, truncdfsf2_ieee, *adddf3, *addsf3, *subdf3, *subsf3,
922         *muldf3, *mulsf3, *divdf3, *divsf3, *negdf2, *negsf2, *absdf2,
923         *abssf2): Fix "op_type" attribute.
924
925 2002-02-13  Douglas B Rupp  <rupp@gnat.com>
926
927         * mkconfig.sh: Avoid using a subshell redirect.
928         ($output.T): Change to $(output)T.
929         (ENABLE_NLS): Remove unneeded undef.
930
931         * config/alpha/vms.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Define.
932         * config/alpha/x-vms (libsubdir): Define.
933
934         * config/alpha/vms.h (MD_FALLBACK_FRAME_STATE_FOR): Handle
935         register frame procedures. Optimize retrieving context.
936
937         * config/alpha/t-vms (MULTILIB_OPTIONS): Define.
938         (MULTILIB_DIRNAME, LIBGCC, INSTALL_LIBGCC): Likewise.
939         * config/alpha/vms.h (ASM_FILE_START): Write .arch directive.
940
941 Wed Feb 13 09:45:08 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
942
943         * alias.c (find_base_term, case ZERO_EXTEND, case SIGN_EXTEND):
944         Make same change as for find_base_value.
945
946 2002-02-13  Kazu Hirata  <kazu@hxi.com>
947
948         * config/h8300/h8300.h (MODES_TIEABLE_P): Accept a combination
949         of QImode and SImode.
950
951 2002-02-13  Kazu Hirata  <kazu@hxi.com>
952
953         * config/h8300/h8300.c (h8300_adjust_insn_length): Correct the
954         length computation of movsi.
955         * config/h8300/h8300.md (movsi_h8300hs): Correct the length.
956
957 2002-02-13  Kazu Hirata  <kazu@hxi.com>
958
959         * config/h8300/h8300.md (subqi3): Tighten the predicate for
960         operands[2] to register_operand.
961
962 Wed Feb 13 10:35:56 CET 2002  Jan Hubicka  <jh@suse.cz>
963
964         * i386.md (fop_*_comm_*): allow nonimmediate in the first operand.
965
966 2002-02-12  Aldy Hernandez  <aldyh@redhat.com>
967
968         * config/rs6000/rs6000.md: Use predicate altivec_register_operand
969         for altivec_lvx* and altivec_stvx*.
970         ("*movv4si_internal"): Add constraint for loading from GPRs.
971         ("*movv8hi_internal1"): Same.
972         ("*movv16qi_internal1"): Same.
973         ("*movv4sf_internal1"): Same.
974
975         * config/rs6000/rs6000.c (altivec_register_operand): New.
976
977         * config/rs6000/rs6000.h (PREDICATE_CODES): Add
978         altivec_register_operand.
979
980 2002-02-13  Hans-Peter Nilsson  <hp@bitrange.com>
981
982         * config/mmix/mmix.c (mmix_assemble_integer) <case 4>: Don't
983         handle SYMBOL_REF.
984
985 2002-02-13  Stan Shebs  <shebs@apple.com>
986
987         * c-typeck.c (digest_init): Handle vectors.
988         (really_start_incremental_init): Same.
989         (pop_init_level): Same.
990         (process_init_element): Same.
991
992         * varasm.c (output_constant): Same.
993
994         * expr.c (clear_storage): Same.
995         (store_constructor): Same.
996
997 2002-02-12  Eric Christopher  <echristo@redhat.com>
998
999         * explow.c (hard_function_value): Add comment explaining
1000         signed/unsigned comparison.
1001
1002 2002-02-12  Jakub Jelinek  <jakub@redhat.com>
1003
1004         * jump.c (never_reached_warning): Add finish argument.
1005         If finish is NULL, stop on CODE_LABEL, otherwise stop before first
1006         real insn after end.
1007         * rtl.h (never_reached_warning): Adjust prototype.
1008         * cse.c (cse_insn): Pass NULL as finish to never_reached_warning.
1009         * cfgrtl.c (flow_delete_block): Pass b->end as finish to
1010         never_reached_warning.
1011
1012 2002-02-12  Graham Stott  <grahams@redhat.com>
1013
1014         * config/hp/pa.h (GO_IF_LEGITIMATE_ADDRESS): Fix typos.
1015
1016 2002-02-12  Kazu Hirata  <kazu@hxi.com>
1017
1018         * config/h8300/h8300.c (shift_alg_hi): Improve the 15-bit
1019         logical shifts on H8/300.
1020         (shift_alg_si): Improve several shifts on H8/300.
1021         (get_shift_alg): Likewise.
1022
1023 2002-02-12  Graham Stott  <grahams@redhat.com>
1024
1025         * config/pa/pa.c (compute_movstrsi_length): Fix typos.
1026
1027 Tue Feb 12 10:12:56 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1028
1029         * alias.c (find_base_value, case ZERO_EXTEND, case SIGN_EXTEND):
1030         Handle #ifdef POINTERS_EXTEND_UNSIGNED.
1031
1032 2002-02-11  Hans-Peter Nilsson  <hp@bitrange.com>
1033
1034         * config/mmix/mmix.c (mmix_assemble_integer) <case 1, 2>: Handle
1035         non-CONST_INT through default_assemble_integer.
1036         <case 4>: Likewise, for non-CONST_INT, non-SYMBOL_REF.
1037         <case 8>: Abort for CONST_DOUBLE.
1038
1039 2002-02-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1040
1041         * gcc.c (init_gcc_specs): Add static libgcc to link when "-shared"
1042         is specified.
1043         * config/pa/pa-linux.h (LIB_SPEC): Delete.
1044         * config/pa/pa32-linux.h (LINK_COMMAND_SPEC): Delete.
1045
1046 2002-02-11  Andrew Haley  <aph@cambridge.redhat.com>
1047
1048         * config/stormy16/stormy16.md (zero_extendqihi2): New.
1049
1050 2002-02-11  Alexandre Oliva  <aoliva@redhat.com>
1051
1052         * regrename.c (regrename_optimize): Don't accept a
1053         part-clobbered register if the replaced register is not part
1054         clobbered.
1055
1056         * calls.c (store_one_arg): In the non-BLKmode non-partial case,
1057         take padding into account when computing the argument value.
1058
1059         * config/sh/sh.h (FUNCTION_ARG_REGNO_P): Fix parenthesizing error.
1060
1061         * combine.c (try_combine): Apply substitutions in
1062         CALL_INSN_FUNCTION_USAGE too.
1063
1064 2002-02-11  Aldy Hernandez  <aldyh@redhat.com>
1065
1066         * config/rs6000/rs6000.c (altivec_init_builtins): Handle
1067         __builtin_altivec_abs*.
1068         (bdesc_abs): New.
1069
1070         * config/rs6000/rs6000.h (rs6000_builtins): Add
1071         ALTIVEC_BUILTIN_ABS*.
1072
1073         * config/rs6000/altivec.h: Use const char for builtins expecting
1074         literals.
1075         (vec_abs): New versions for C and C++.
1076         (vec_abss): Same.
1077
1078 2002-02-10  Kazu Hirata  <kazu@hxi.com>
1079
1080         * config/h8300/h8300.h (INITIALIZE_TRAMPOLINE): Simplify by
1081         using Pmode.
1082
1083 2002-02-10  Kazu Hirata  <kazu@hxi.com>
1084
1085         * config/h8300/h8300.h (STACK_POINTER_REGNUM): Use the
1086         constant definition from h8300.md.
1087         (FRAME_POINTER_REGNUM): Likewise.
1088         * config/h8300/h8300.md (define_constants): Add FP_REG.
1089
1090 2002-02-10  Kazu Hirata  <kazu@hxi.com>
1091
1092         * config/h8300/h8300.c (print_operand): Remove redundant code.
1093
1094 2002-02-10  Kazu Hirata  <kazu@hxi.com>
1095
1096         * config/h8300/h8300-protos.h: Remove the prototype for byte_reg.
1097         * config/h8300/h8300.c (byte_reg): Make it static.
1098
1099 2002-02-10  Richard Henderson  <rth@redhat.com>
1100
1101         PR c/5623
1102         * c-typeck.c (incomplete_type_error): Handle flexible array members.
1103
1104 2002-02-10  Richard Henderson  <rth@redhat.com>
1105
1106         PR c++/5624
1107         * tree.c (append_random_chars): Don't abort if main_input_filename
1108         does not exist.
1109
1110 2002-02-10  Hans-Peter Nilsson  <hp@bitrange.com>
1111
1112         * config/mmix/t-mmix (MULTILIB_EXTRA_OPTS): Disable.
1113
1114 2002-02-10  Kazu Hirata  <kazu@hxi.com>
1115
1116         * config/h8300/h8300.md (pushhi1_h8300): Correct the mode used.
1117         (pushhi1): Likewise.
1118
1119 2002-02-10  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1120
1121         * pa.c (reg_before_reload_operand): Don't accept a SUBREG operand.
1122         * pa.h (PREDICATE_CODES): Adjust codes for reg_before_reload_operand.
1123
1124 2002-02-09  David O'Brien  <obrien@FreeBSD.org>
1125
1126         * config/sparc/freebsd.h(TARGET_DEFAULT): Add MASK_EPILOGUE setting and
1127         remove MASK_VIS.
1128         (ASM_CPU_DEFAULT_SPEC): Remove.  Default setting is fine.
1129
1130 2002-02-09  Kazu Hirata  <kazu@hxi.com>
1131
1132         * config/h8300/h8300.c (output_logical_op): Use sub.w to clear
1133         a half of an SImode register on H8/300.
1134
1135 Sat Feb  9 18:28:02 CET 2002  Jan Hubicka  <jh@suse.cz>
1136
1137         * i386.md (movdi_2): Add missing '!'.
1138
1139 2002-02-09  Kazu Hirata  <kazu@hxi.com>
1140
1141         * config/h8300/h8300.h: Fix formatting.  Remove commented-out
1142         definitions.
1143
1144 2002-02-09  Kazu Hirata  <kazu@hxi.com>
1145
1146         * config/h8300/h8300.md (length): Correct the distance valid
1147         for the short branch.
1148
1149 2002-02-09  Kazu Hirata  <kazu@hxi.com>
1150
1151         * config/h8300/h8300.md (iorhi3): Tighten the predicates.
1152
1153 2002-02-09  Alexandre Oliva  <aoliva@redhat.com>
1154
1155         * config/sh/sh.h (REGISTER_NATURAL_MODE): Save part-clobbered
1156         registers in SImode.
1157         (HARD_REGNO_CALL_PART_CLOBBERED) [TARGET_SHMEDIA32]: Set r18 as
1158         part-clobbered.
1159
1160         * config/sh/sh.c (expand_prologue): Fix mis-applied 2001-11-09's
1161         patch.
1162
1163         Contribute sh64-elf.
1164         2002-02-09  Alexandre Oliva  <aoliva@redhat.com>
1165         * config/sh/sh.c (TARGET_CANNOT_MODIFY_JUMPS_P): Define to...
1166         (sh_cannot_modify_jumps_p): New function.
1167         2002-02-05  Alexandre Oliva  <aoliva@redhat.com>
1168         * config/sh/sh.c (TARGET_MS_BITFIELD_LAYOUT_P): Define to...
1169         (sh_ms_bitfield_layout_p): New function.
1170         2002-02-04  Alexandre Oliva  <aoliva@redhat.com>
1171                     Zack Weinberg  <zack@codesourcery.com>
1172         * config/sh/sh.h (TRAMPOLINE_ADJUST_ADDRESS): Use
1173         expand_simple_binop instead of expand_binop.
1174         2002-02-03  Alexandre Oliva  <aoliva@redhat.com>
1175         * config/sh/sh.h (OVERRIDE_OPTIONS) [! TARGET_SH5]: Disable
1176         use of .quad and .uaquad.
1177         * config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP,
1178         TARGET_ASM_ALIGNED_DI_OP): Add comment pointing to the above.
1179         2002-01-24  Alexandre Oliva  <aoliva@redhat.com>
1180         * config/sh/sh.md (movdi_const, movdi_const_32bit,
1181         movdi_const_16bit): Make sure all CONSTs have modes.
1182         (sym2PIC): Ditto, but by adjusting all callers.
1183         * config/sh/sh.c (calc_live_regs) [TARGET_SHCOMPACT]: Set pr_live
1184         if the prologue calls the SHmedia argument decoder or register
1185         saver.
1186         2002-01-24  Alexandre Oliva  <aoliva@redhat.com>
1187         * config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP): Define.
1188         (TARGET_ASM_ALIGNED_DI_OP): Likewise.
1189         (sh_expand_epilogue): Don't emit USE of return target register.
1190         (prepare_move_operands): Legitimize DImode PIC addresses.
1191         (sh_media_register_for_return): Skip tr0, used to initialize the
1192         PIC register.
1193         (sh_expand_prologue): Remove explicit USE of return register.
1194         (nonpic_symbol_mentioned_p): PC is non-PIC.  Don't recurse in
1195         CONST_DOUBLEs.  UNSPEC_GOTPLT is PIC.
1196         * config/sh/sh.h (ASM_OUTPUT_DOUBLE_INT): Removed, obsolete.
1197         (OVERRIDE_OPTIONS): Don't disable PIC on SH5.
1198         (EXTRA_CONSTRAINT_S): Use MOVI_SHORI_BASE_OPERAND_P instead of
1199         EXTRA_CONSTRAINT_T.
1200         (GOT_ENTRY_P, GOTPLT_ENTRY_P, GOTOFF_P, PIC_ADDR_P): New.
1201         (MOVI_SHORI_BASE_OPERAND_P): New.
1202         (NON_PIC_REFERENCE_P, PIC_REFERENCE_P): New.
1203         (EXTRA_CONSTRAINT_T): Define in terms of them.
1204         (OUTPUT_ADDR_CONST_EXTRA): Handle UNSPEC_GOTPLT.
1205         * config/sh/sh.md (movsi_media, movsi_media_nofpu,
1206         movdi_media, movdi_media_nofpu): Add SIBCALL_REGS class to
1207         alternatives supporting TARGET_REGS.
1208         (UNSPEC_GOTPLT): New constant.
1209         (movdi split): Move incrementing of LABEL_NUSES...
1210         (movdi_const, movdi_const_32bit): Here.  Use
1211         MOVI_SHORI_BASE_OPERAND_P instead of EXTRA_CONSTRAINT_T.
1212         (movdi_const_16bit): New.
1213         (call, call_value) [flag_pic]: Use GOTPLT.
1214         (call_pop, call_value_pop): New expands.
1215         (call_pop_compact, call_pop_rettramp): New insns.
1216         (call_value_pop_compact, call_value_pop_rettramp): New insns.
1217         (sibcall) [flag_pic]: Use GOT.
1218         (builtint_setjmp_receiver): Remove bogus, unused expand.
1219         (GOTaddr2picreg): Implement for SHcompact and SHmedia.
1220         (*pt, *ptb, ptrel): New insns.
1221         (sym2GOT): Handle DImode GOT.
1222         (sym2GOTPLT, symGOTPLT2reg): New expands.
1223         (sym2PIC): New expand.
1224         (shcompact_return_tramp): Use GOTPLT to return trampoline.
1225         (shcompact_return_tramp_i): Use return register explicitly.
1226         * config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SHMEDIA]: Don't
1227         disable flag_reorder_blocks.
1228         2002-01-19  Alexandre Oliva  <aoliva@redhat.com>
1229         * config/sh/sh.md (sibcall_compact): Reorder return, uses and
1230         clobbers, for clarity.
1231         (sibcall_epilogue) [TARGET_SHCOMPACT]: Mark saving and
1232         restoring of r0 in macl as MAYBE_DEAD.
1233         2002-01-18  Alexandre Oliva  <aoliva@redhat.com>
1234         * config/sh/sh.h (LONG_DOUBLE_TYPE_SIZE): Define.
1235         * config/sh/sh.md (movv4sf_i, movv16sf_i): Fix uses of
1236         alter_subreg all over.
1237         (jump) [TARGET_SHMEDIA]: FAIL to create new jumps after
1238         reload, instead of emitting instructions that would require
1239         reloading.
1240         (casesi_load_media): Add missing modes.
1241         2001-11-09  Alexandre Oliva  <aoliva@redhat.com>
1242         * config/sh/sh.c (sh_expand_prologue): Mark the PIC register
1243         as used if the argument decoder is called.
1244         2001-08-28  Alexandre Oliva  <aoliva@redhat.com>
1245         * config/sh/sh.md (udivsi3, divsi3): Load libcall symbol name in
1246         Pmode, then extend it to DImode if necessary.
1247         2001-08-28  Stephen Clarke  <Stephen.Clarke@st.com>
1248         * config/sh/sh.h (LEGITIMATE_CONSTANT_P): Don't accept DFmode
1249         constants in FPU-enabled SHmedia, let them be loaded from memory.
1250         2001-08-28  Alexandre Oliva  <aoliva@redhat.com>
1251         * config/sh/sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media):
1252         Adjust whitespace in assembly output templates.
1253         2001-08-28  Stephen Clarke  <Stephen.Clarke@st.com>
1254         * config/sh/sh.md (movdicc_false, movdicc_true, movdicc): Adjust
1255         mode of if_then_else.
1256         2001-08-04  Alexandre Oliva  <aoliva@redhat.com>
1257         * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): Override definition in
1258         sh.h.
1259         2001-07-26  Andrew Haley  <aph@cambridge.redhat.com>
1260                     Joern Rennecke <amylaar@redhat.com>
1261         * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): New.
1262         (SUBTARGET_CPP_PTR_SPEC): New.
1263         (SUBTARGET_CPP_SPEC): Remove.
1264         2001-07-06  Chandrakala Chavva  <cchavva@redhat.com>
1265         * config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1):
1266         Fix typo in previous checkin.
1267         2001-07-11  Chandrakala Chavva  <cchavva@redhat.com>
1268         * config/sh/sh.h (MODES_TIEABLE_P): Fix redact indentations.
1269         2001-07-10  Chandrakala Chavva  <cchavva@cygnus.com>
1270                     Alexandre Oliva  <aoliva@redhat.com>
1271         * config/sh/sh.h (MODES_TIEABLE_P): Don't tie modes wider than
1272         what single FP register can hold for SHmedia target.
1273         2001-07-06  Chandrakala Chavva  <cchavva@redhat.com>
1274                     Alexandre Oliva  <aoliva@redhat.com>
1275         * config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1):
1276         Do not split into SUBREG.
1277         2001-06-14  Alexandre Oliva  <aoliva@redhat.com>
1278         * config/sh/ushmedia.h, config/sh/sshmedia.h: Updated signatures
1279         and added new functions as specified in SH5 ABI r9.
1280         2001-06-04  Alexandre Oliva  <aoliva@redhat.com>
1281         * config/sh/lib1funcs.asm (GCC_nested_trampoline): Align to an
1282         8-byte boundary.
1283         2001-06-03  Alexandre Oliva  <aoliva@redhat.com>
1284         * config/sh/sh.c (dump_table): Add const0_rtx in calls of
1285         gen_consttable_4 and gen_consttable_8.  Emit multiple labels
1286         and consttable_window_ends.
1287         2001-06-03  Graham Stott  <grahams@redhat,com>
1288         * config/sh/sh.md (movdi split): Remove unused variable last_insn.
1289         2001-05-16  Alexandre Oliva  <aoliva@redhat.com>
1290         * config/sh/sh.c (print_operand): Handle floating-point pair,
1291         vector and matrix registers.
1292         * config/sh/sh.h (REGISTER_MOVE_COST): Take floating-pointer
1293         vector modes into account.
1294         * config/sh/sh.md (movv2sf): Split move between registers into
1295         movdf.
1296         (movv4sf, movv16sf): Introduce insns that get split only after
1297         reload.
1298         * config/sh/shmedia.h: Fix Copyright dates.
1299         * config/sh/ushmedia.h: Likewise.  Move loop counter
1300         declarations into conditionals that uses them.
1301         (sh_media_FVADD_S, sh_media_FVSUB_S): Fix off-by-one error in
1302         loop boundary.
1303         * config/sh/sshmedia.h: Fix Copyright dates.
1304         (sh_media_PUTCFG): Fix constraints.
1305         2001-05-12  Alexandre Oliva  <aoliva@redhat.com>
1306         * config/sh/sh.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define to
1307         ptrmemfunc_vbit_in_delta for SH5.
1308         2001-05-08  Alexandre Oliva  <aoliva@redhat.com>
1309         * config/sh/sh.h (TARGET_SWITCHES): Document -m5-*.
1310         * invoke.texi: Likewise.
1311         2001-04-14  Alexandre Oliva  <aoliva@redhat.com>
1312         * config/sh/lib1funcs.asm (GCC_push_shmedia_regs,
1313         GCC_push_shmedia_regs_nofpu, GCC_pop_shmedia_regs,
1314         GCC_pop_shmedia_regs_nofpu): New global symbols.
1315         * config/sh/t-sh64 (LIB1ASMFUNCS): Add them.
1316         * config/sh/sh.h (SHMEDIA_REGS_STACK_ADJUST): New macro.
1317         * config/sh/sh.c (calc_live_regs): Account for PR's saving in
1318         compact function with nonlocal labels.
1319         (sh_expand_prologue) [SHcompact]: Push SHmedia regs if needed.
1320         (sh_expand_epilogue) [SHcompact]: Pop them when appropriate.
1321         (initial_elimination_offset): Account for their stack space.
1322         * config/sh/sh.md (shmedia_save_restore_regs_compact): New insn.
1323         * config/sh/sh.md (movsi_media, movsi_media_nofpu, movqi_media,
1324         movhi_media, movdi_media, movdi_media_nofpu, movdf_media,
1325         movdf_media_nofpu, movsf_media, movsf_media_nofpu): Require at
1326         least one of the operands to be a register.
1327         (movv2sf): Likewise.  Renamed to movv2sf_i.
1328         (movdi, movdf, movv2sf, movv4sf, movv16sf, movsf):
1329         prepare_move_operands() before emitting SHmedia insns.
1330         2001-04-03  Alexandre Oliva  <aoliva@redhat.com>
1331         * config/sh/crti.asm (init, fini) [__SH5__ && ! __SHMEDIA__]:
1332         Don't save nor initialize r12.  Don't mis-align the stack.
1333         Pad the code with a nop.
1334         * config/sh/crti.asm: Don't restore r12.  Don't mis-align the
1335         stack.
1336         2001-03-13  Alexandre Oliva  <aoliva@redhat.com>
1337         * gcc/longlong.h (__umulsidi3, count_leading_zeros)
1338         [__SHMEDIA__]: Implement.
1339         2001-03-11  Alexandre Oliva  <aoliva@redhat.com>
1340         * config/sh/sh.md: Set latency of `pt' closer to reality.
1341         (movsi_media, movsi_media_nofpu, movdi_media, movdi_media_nofpu,
1342         movdf_media, movdf_media_nofpu, movsf_media, movsf_media_nofpu):
1343         Set move, load and store type attributes.
1344         * config/sh/sh.c (sh_loop_align) [TARGET_SH5]: Set to 3.
1345         * config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SH5]: Disable
1346         profiling.
1347         * config/sh/sh.h (PROMOTE_MODE): Sign-extend SImode to DImode.
1348         * config/sh/sh-protos.h (sh_media_register_for_return): Declare.
1349         * config/sh/sh.c (sh_media_register_for_return): New function.
1350         (sh_expand_prologue) [TARGET_SHMEDIA]: Copy r18 to an available
1351         branch-target register.
1352         (sh_expand_epilogue) [TARGET_SHMEDIA]: Explicitly USE it.
1353         * config/sh/sh.md (return_media_i): Use any call-clobbered
1354         branch-target register.
1355         (return_media): If r18 wasn't copied in the prologue, copy it
1356         here.
1357         * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE) [TARGET_SHMEDIA]:
1358         Clear class FP0_REGS.
1359         * config/sh/sh64.h (LINK_SPEC): Removed incorrect default copied
1360         from elf.h.
1361         2001-03-08  DJ Delorie  <dj@redhat.com>
1362         * config/sh/sh.h (OVERRIDE_OPTIONS): Disable relaxing for SHMEDIA.
1363         2001-02-09  Alexandre Oliva  <aoliva@redhat.com>
1364         * config/sh/sh.md (sibcall_compact): Set fp_mode to single.
1365         2001-02-07  Alexandre Oliva  <aoliva@redhat.com>
1366         * config/sh/sh.h (INT_ASM_OP) [SHMEDIA64]: Use `.quad'.
1367         2001-02-03  Alexandre Oliva  <aoliva@redhat.com>
1368         * config/sh/sh.h (INIT_CUMULATIVE_ARGS): Compute size of BLKmode
1369         return value correctly for call_cookie.
1370         2001-02-01  Alexandre Oliva  <aoliva@redhat.com>
1371         * config/sh/crt1.asm (start): Modified so as to call
1372         ___setup_argv_and_call_main.
1373         2001-01-26  Alexandre Oliva  <aoliva@redhat.com>
1374         * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't count stack_regs in
1375         SHmedia mode.
1376         2001-01-20  Alexandre Oliva  <aoliva@redhat.com>
1377         * config/sh/sh.h (STRIP_DATALABEL_ENCODING): New macro.
1378         (STRIP_NAME_ENCODING): Use it.
1379         (ASM_OUTPUT_LABELREF): Likewise.  Don't call assemble_name().
1380         2001-01-19  Alexandre Oliva  <aoliva@redhat.com>
1381         * config/sh/sh.md (sgeu) [! SHMEDIA]: Fix invocation of
1382         prepare_scc_operands().
1383         * config/sh/sh.h (SH_DATALABEL_ENCODING): Change to "#"...
1384         (DATALABEL_SYMNAME_P): ... so that we don't need memcmp here.
1385         2001-01-17  Alexandre Oliva  <aoliva@redhat.com>
1386         * config/sh/sh.h (STRIP_NAME_ENCODING): Strip leading `*'.
1387         2001-01-13  Alexandre Oliva  <aoliva@redhat.com>
1388         * config/sh/sh.md (shcompact_incoming_args): Use R0_REG.
1389         * config/sh/sh.md (R7_REG, R8_REG, R9_REG): Define as constants,
1390         used in shcompact_incoming_args.
1391         * config/sh/sh.c (sh_expand_epilogue): Fix thinko in previous
1392         change.
1393         * config/sh/crt1.asm (start) [SH5]: Switch to single-precision
1394         mode.
1395         * config/sh/lib1funcs.asm (sdivsi3_i4, udivsi3_i4, set_fpscr):
1396         Adjust accordingly.
1397         * config/sh/sh.c (sh_expand_prologue, sh_expand_epilogue):
1398         Simplify.  Adjust.  Add sanity check.
1399         * config/sh/sh.h (TARGET_SWITCHES) [5-compact]: Set
1400         FPU_SINGLE_BIT.
1401         * config/sh/sh.md (udivsi3_i4_single, divsi3_i4_single): Match
1402         TARGET_SHCOMPACT.
1403         (udivsi3, divsi3): Use them.
1404         (force_mode_for_call): New insn.
1405         (call, call_value, sibcall_value): Emit it before SHcompact
1406         calls.
1407         2001-01-11  Alexandre Oliva  <aoliva@redhat.com>
1408         * config/sh/sh.md (call, call_value, sibcall): Make sure the
1409         call cookie is non-NULL before taking its value.
1410         2001-01-10  Alexandre Oliva  <aoliva@redhat.com>
1411         * config.gcc (sh64): Set target_requires_64bit_host_wide_int.
1412         2001-01-09  Alexandre Oliva  <aoliva@redhat.com>
1413         * config/sh/sh.md (shcompact_incoming_args): Set argument memory
1414         block.
1415         * config/sh/sh.h (STATIC_CHAIN_REGNUM) [SH5]: Use r1.
1416         * config/sh/sh.c (sh_expand_prologue) [SH5]: Use r0 as
1417         temporary for stack adjusts.  Use MACL and MACH to pass
1418         arguments to shcompact_incoming_args.
1419         * config/sh/sh.md (shcompact_incoming_args): Adjust.  Don't
1420         clobber r1.
1421         * config/sh/lib1funcs.asm (shcompact_incoming_args): Likewise.
1422         (nested_trampoline): Load static chain address into r1.
1423         * config/sh/sh.md (movdi_media splits): Fix sign-extension.
1424         2001-01-07  Alexandre Oliva  <aoliva@redhat.com
1425         * config/sh/sh.c (fpul_operand) [SHMEDIA]: Just call
1426         fp_arith_reg_operand().
1427         2001-01-06  Alexandre Oliva  <aoliva@redhat.com>
1428         * config/sh/sh.md (casesi): Sign-extend the first two operands,
1429         and use signed compares for them.
1430         * config/sh/sh.c (dump_table): Don't emit 8-byte constants after
1431         4-byte ones.  Instead, inter-leave them, maintaining the 8-byte
1432         ones properly aligned.
1433         (find_barrier): Account for extra alignment needed for 8-byte wide
1434         constants.
1435         (machine_dependent_reorg): Require a label for the second 4-byte
1436         constant after an 8-byte one.
1437         * config/sh/lib1funcs.asm (sdivsi3): Fix typo in yesterday's
1438         change.
1439         2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
1440         * config/sh/sh.c (machine_dependent_reorg) [SHCOMPACT]: Reset
1441         last_float when switching float modes.
1442         * config/sh/sh.md (movdf) [SH5]: Don't use stack-pointer
1443         auto-increment for general-purpose registers.
1444         * config/sh/lib1funcs.asm (sdivsi3) [SHMEDIA]: Sign-extend the
1445         result.
1446         * config/sh/sh.c (sh_expand_prologue) [SH5]: Use r1 as temporary
1447         for stack adjust.
1448         * config/sh/sh.c (sh_builtin_saveregs): Support using all
1449         registers for varargs.
1450         2001-01-01  Alexandre Oliva  <aoliva@redhat.com>
1451         * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Simplify.
1452         * config/sh/sh.h (CALL_COOKIE_STACKSEQ,
1453         CALL_COOKIE_STACKSEQ_SHIFT, CALL_COOKIE_STACKSEQ_GET): New macros.
1454         (CALL_COOKIE_INT_REG_SHIFT): Adjust.
1455         (FUNCTION_ARG_ADVANCE): Use SHCOMPACT_FORCE_ON_STACK.  Adjust
1456         call_cookie accordingly.
1457         (FUNCTION_ARG): Test SHCOMPACT_FORCE_ON_STACK.
1458         (SHCOMPACT_BYREF): Likewise.
1459         (SHCOMPACT_FORCE_ON_STACK): New macro.
1460         * config/sh/sh.c (sh_expand_prologue): Use new call_cookie format.
1461         (sh_builtin_saveregs): Likewise.
1462         * config/sh/lib1funcs.asm (shcompact_call_trampoline,
1463         shcompact_incoming_args): Use new shift values.  Support
1464         sequences of consecutive and non-consecutive pushes/pops.
1465         * config/sh/sh.md (return): Don't explicitly use PR_REG.
1466         2001-01-05  Hans-Peter Nilsson  <hpn@cygnus.com>
1467         * config/sh/sh.h (TEXT_SECTION): Define.
1468         * config/sh/elf.h (ASM_FILE_START): Output TEXT_SECTION_ASM_OP.
1469         2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
1470         * config/sh/sh.h (INIT_CUMULATIVE_LIBCALL_ARGS): New macro.
1471         * config/sh/sh.h (BASE_RETURN_VALUE_REG): Use FP regs for
1472         return values on FPU-enabled SHmedia.
1473         (FUNCTION_VALUE_REGNO_P): Mark FIRST_FP_RET_REG as used on
1474         FPU-enabled SHmedia.
1475         (INIT_CUMULATIVE_ARGS): Set up return trampoline only if
1476         value is returned in a non-FP reg and is not returned by
1477         reference.
1478         * config/sh/sh.md (shcompact_return_tramp_i): Change type to
1479         jump_ind.
1480         2000-01-04  Alexandre Oliva  <aoliva@redhat.com>
1481         * config/sh/sh.h (SH_MIN_ALIGN_FOR_CALLEE_COPY): New.
1482         (FUNCTION_ARG_CALLEE_COPIES): Require argument to be
1483         quad-aligned to be passed by callee-copy reference.
1484         2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
1485         * config/sh/elf.h (MAX_WCHAR_TYPE_SIZE): Define.
1486         * config/sh/sh64.h (MAX_WCHAR_TYPE_SIZE): Undefine.
1487         2001-01-02  Alexandre Oliva  <aoliva@redhat.com>
1488         * config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix error in
1489         copying low-numbered FP regs to r7 and r8.
1490         * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't request copying of
1491         FP regs to general-purpose regs only if the copy was passed on the
1492         stack.
1493         * config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix typo in
1494         copying FP reg to r9.
1495         * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Use trampoline to
1496         copy FP regs to general-purpose regs only in outgoing calls.
1497         * config/sh/sh.md (movdf_media, movsf_media): Revert incorrect
1498         change from     2000-10-30.  Adjust for 64-bit (or 32-bit)
1499         HOST_WIDE_INT.
1500         * config/sh/sh.h (struct sh_args): Document all fields.
1501         (FUNCTION_OK_FOR_SIBCALL): Functions that receive arguments
1502         passed partially on the stack should not consider making
1503         sibcalls.
1504         * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Add byref regs to
1505         stack_regs only for incoming calls.  When passing FP args,
1506         make sure there are FP regs available before modifying
1507         call_cookie.
1508         (SHCOMPACT_BYREF): Pass double args in general-purpose
1509         registers by reference.
1510         2000-12-30  Alexandre Oliva  <aoliva@redhat.com>
1511         * config/sh/sh.h (FUNCTION_OK_FOR_SIBCALL) [SHCOMPACT]: Don't
1512         attempt to generate sibcalls if the caller got any arguments
1513         by reference.
1514         * config/sh/lib1funcs.asm (set_fpscr) [SH5]: Default to double.
1515         * config/sh/sh.c (dump_table) [SHCOMPACT]: Align DImode and DFmode
1516         to 8-byte boundaries.
1517         * config/sh/sh.md (shcompact_preserve_incoming_args): New insn.
1518         * config/sh/sh.h (CALL_COOKIE_INT_REG_GET): New macro.
1519         * config/sh/sh.c (sh_expand_prologue): Preserve args that will be
1520         stored in the stack.
1521         * config/sh/lib1funcs.asm (ct_main_table, ia_main_table): Arrange
1522         for the offsets to have the ISA bit set.
1523         (shcompact_call_trampoline): Document.  Swap r0 and r1, to match
1524         invocation.  Use beq instead of bgt to mark end of sequence of
1525         loads.
1526         (shcompact_incoming_args): Fix store of r2.  Use beq instead of
1527         bgt to mark end of sequence of stores.
1528         * config/sh/sh.c (arith_operand): Don't check whether
1529         CONST_OK_FOR_J for now.
1530         * config/sh/sh.md (movdf_media, movsf_media): Use HOST_WIDE_INT
1531         instead of long for conversion.
1532         2000-12-29  Alexandre Oliva  <aoliva@redhat.com>
1533         * config/sh/sh.c (print_operand_address): Convert INTVAL to int
1534         before passing it to fprintf.
1535         2000-12-28  Alexandre Oliva  <aoliva@redhat.com>
1536         * config/sh/crt1.asm (start): Reset SR.FD, to enable the FP unit.
1537         Call set_fpscr before reading/writing SR.
1538         * config/sh/crt1.asm (start): Set SR.SZ and SR.PR, but not SR.FR.
1539         Call set_fpscr.
1540         * config/sh/lib1funcs.asm: Add `.align 2' directives before
1541         SHmedia code.
1542         (FMOVD_WORKS): Define on SH5 with FPU.
1543         (set_fpscr): Define on SH5.  Remove separate _fpscr_values
1544         setting.
1545         * config/sh/t-sh64 (LIB1ASMFUNCS): Add _set_fpscr instead of
1546         _fpscr_values.
1547         2000-12-28  Hans-Peter Nilsson  <hpn@cygnus.com>
1548         * config/sh/lib1funcs.asm (ct_main_table): Align contents to even
1549         address.
1550         (ia_main_table): Ditto.
1551         2000-12-27  Alexandre Oliva  <aoliva@redhat.com>
1552         * config/sh/sh.h (MAX_WCHAR_TYPE_SIZE): Don't define.
1553         * config/sh/sh64.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Reinstate
1554         the definitions from sh.h.
1555         * config/sh/sh.h (PTRDIFF_TYPE): Define as conditional on
1556         TARGET_SH5.
1557         (SUBTARGET_CPP_SPEC): Arrange for __PTRDIFF_TYPE__ to be defined.
1558         * config/sh/elf.h (PTRDIFF_TYPE): Likewise.
1559         * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Likewise.
1560         2000-12-26  Alexandre Oliva  <aoliva@redhat.com>
1561         * config/sh/sh.md (movdi_media split): Don't add REG_LABEL notes.
1562         Increment LABEL_NUSES.
1563
1564         * config/sh/sh.h (SIZE_TYPE): Define as conditional on
1565         TARGET_SH5.
1566         (SUBTARGET_CPP_SPEC): Arrange for __SIZE_TYPE__ to be always
1567         defined.
1568         * config/sh/elf.h (SIZE_TYPE): Likewise.
1569         * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Likewise.
1570         * config/sh/lib1funcs.asm (shcompact_call_trampoline,
1571         shcompact_incoming_args): Load switch table addresses using
1572         datalabel.
1573         * config/sh/sh.h (SUBTARGET_CPP_SPEC): Define __SIZE_TYPE__.
1574         (NO_BUILTIN_SIZE_TYPE): Define.
1575         (SIZE_TYPE): Don't define.
1576         * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Define __SIZE_TYPE__.
1577         * config/sh/sh.h (CPP_SPEC): Fixed typo that prevented the
1578         definition of __SH5__=32 for -m5-compact-nofpu.
1579         * config/sh/sh.c (barrier_align): Ensure 32-bit alignment after
1580         ADDR_DIFF_VEC.
1581         2000-12-24  Alexandre Oliva  <aoliva@redhat.com>
1582         * config/sh/sh.h (FUNCTION_ARG_PADDING): Removed.
1583         2000-12-23  Alexandre Oliva  <aoliva@redhat.com>
1584         * config/sh/sh.h (TARGET_CACHE32): Enable on SH5.
1585         (FUNCTION_BOUNDARY): Ensure 32-bit alignment for SHmedia.
1586         (INSN_LENGTH_ALIGNMENT): Likewise.
1587         2000-12-22  Alexandre Oliva  <aoliva@redhat.com>
1588         * config/sh/sh.md (call, call_value, sibcall): Simplify
1589         copying of non-branch-target register.
1590         2000-12-22  Alexandre Oliva  <aoliva@redhat.com>
1591         * glimits.h (__LONG_MAX__): Revert      2000-12-13's patch.
1592         * config/sh/sh.h (CPP_SPEC): Define it here for 64-bit SHmedia.
1593         2000-12-22  Alexandre Oliva  <aoliva@redhat.com>
1594         * config/sh/sh.h (GET_SH_ARG_CLASS): Handle complex
1595         floating-point values as structs.
1596         (FUNCTION_ARG): Use SH5_PROTOTYPED_FLOAT_ARG.
1597         (SH5_PROTOTYPELESS_FLOAT_ARG): List FP registers before
1598         general-purpose register.
1599         (SH5_PROTOTYPED_FLOAT_ARG): New macro.
1600         2000-12-20  Alexandre Oliva  <aoliva@redhat.com>
1601         * config/sh/sh.md (addsi3): Force operand1 to reg for SHmedia.
1602         * config/sh/sh.md (movsi_media): Split CONST_DOUBLE loads too.
1603         * config/sh/sh.h (DATALABEL_REF_P): Don't require the CONST.
1604         (ENCODE_SECTION_INFO): Enclose variables and constants in
1605         DATALABEL unspecs.
1606         (SH_DATALABEL_ENCODING, DATALABEL_SYMNAME_P): Define.
1607         (STRIP_NAME_ENCODING): Strip SH_DATALABEL_ENCODING off.
1608         (ASM_OUTPUT_LABELREF, AMS_OUTPUT_SYMBOL_REF): Define.
1609         * config/sh/sh.c (gen_datalabel_ref): Use UNSPEC_DATALABEL
1610         only for LABEL_REFs.  For SYMBOL_REFs, prepend
1611         SH_DATALABEL_ENCODING to the symbol name.
1612         * config/sh/sh.md (indirect_jump): Use SUBREG instead of
1613         convert_mode().
1614         2000-12-20  Alexandre Oliva  <aoliva@redhat.com>
1615         * config/sh/sh.md (casesi): Enclose ADDR_DIFF_VEC address in
1616         UNSPEC_DATALABEL.
1617         * config/sh/sh.c (gen_datalabel_ref): Accept LABEL_REFs.
1618         * config/sh/sh.h (DATALABEL_REF_NO_CONST_P): Likewise.
1619         (DATALABEL_REF_P): Don't require CONST.
1620         (ASM_OUTPUT_ADDR_DIFF_ELT): On SH5, output datalabel before
1621         REL label.
1622         2000-12-19  Alexandre Oliva  <aoliva@redhat.com>
1623         * config/sh/sh.md (extendhidi2, extendqidi2): Use arithmetic shift
1624         right.
1625         2000-12-18  Alexandre Oliva  <aoliva@redhat.com>
1626         * config/sh/sh.md (movsi_media, call, call_value, sibcall):
1627         Use shallow_copy_rtx and PUT_MODE to change the mode of
1628         SYMBOL_REFs, LABEL_REFs, CONSTs, etc.
1629         * config/sh/sh.h (PREFERRED_RELOAD_CLASS): Reload SYMBOL_REFs
1630         on SHmedia using GENERAL_REGs.
1631         * config/sh/sh.md (ble_media_i, blt_media_i, bleu_media_i,
1632         bltu_media_i): Fix reversion of conditions.
1633         2000-12-18  Alexandre Oliva  <aoliva@redhat.com>
1634         * config/sh/sh.md (zero_extendhidi2): Use logical shift right.
1635         * config/sh/sh.c (output_far_jump): Save r13 in macl.
1636         2000-12-17  Alexandre Oliva  <aoliva@redhat.com>
1637         * config/sh/sh.c (gen_datalabel_ref): Fix mode of the UNSPEC.
1638         2000-12-16  Alexandre Oliva  <aoliva@redhat.com>
1639         * config/sh/lib1funcs.asm (ic_invalidate): Define for SH5.
1640         (GCC_nested_trampoline): Likewise.
1641         * config/sh/sh-protos.h (gen_datalabel_ref): Declare.
1642         * config/sh/sh.c (gen_datalabel_ref): Define.
1643         * config/sh/sh.h (TRAMPOLINE_SIZE): Adjust for SH5.
1644         (INITIALIZE_TRAMPOLINE): Likewise.
1645         (TRAMPOLINE_ADJUST_ADDRESS): Define.
1646         (DATALABEL_REF_NO_CONST_P, DATALABEL_REF_P): Define.
1647         (EXTRA_CONSTRAINT_T): Match DATALABEL unspecs.
1648         (OUTPUT_ADDR_CONST_EXTRA): Handle DATALABEL unspecs.
1649         * config/sh/sh.md (UNSPEC_DATALABEL): New constant.
1650         (ic_invalidate): Adjust for SH5.
1651         (ic_invalidate_line_media, ic_invalidate_line_compact): New insns.
1652         * config/sh/t-sh64 (LIB1ASMFUNCS): Added _ic_invalidate and
1653         _nested_trampoline.
1654         2000-12-15  Alexandre Oliva  <aoliva@redhat.com>
1655         * config/sh/sh.h (MOVE_MAX): Set to 8 for SHmedia, 4 elsewhere.
1656         (MOVE_MAX_PIECES): Set to 8 on SHmedia too.
1657         2000-12-14  Alexandre Oliva  <aoliva@redhat.com>
1658         * config/sh/sh.h (DBX_REGISTER_NUMBER): Adjust for sh64-elf-gdb.
1659         * config/sh/elf.h (DBX_REGISTER_NUMBER): Likewise.
1660         2000-12-14  Alexandre Oliva  <aoliva@redhat.com>
1661         * config/sh/sh.c (target_reg_operand): Match only target-branch
1662         registers and pseudos that aren't virtual registers.
1663         * config/sh/sh.md (call, call_value, sibcall) [TARGET_SHMEDIA]:
1664         Copy operands that don't match target_reg_operand to pseudos.
1665         (call_media, call_value_media, sibcall_media): Use
1666         target_reg_operand instead of target_operand.
1667         2000-12-13  Alexandre Oliva  <aoliva@redhat.com>
1668         * glimits.h (__LONG_MAX__) [SH5 == 64]: Adjust for 64 bits.
1669         * config/sh/sh.c (target_reg_operand): Match hardware registers
1670         other than branch-target registers.
1671         * config/sh/sh.md (zero_extendqidi2): Input operand is %1.
1672         * config/sh/lib1funcs.asm (sdivsi3) [SH5]: Make it global.
1673         (fpscr_values) [SH5 == 32]: Define.
1674         * config/sh/t-sh64 (LIB1ASMFUNCS): Add fpscr_values.
1675         * config/sh/sh.md (call, call_value, sibcall) [TARGET_SHMEDIA]:
1676         Handle function addresses coming in SUBREGs.
1677         2000-12-12  Alexandre Oliva  <aoliva@redhat.com>
1678         * config/sh/lib1funcs.asm (shcompact_call_trampoline,
1679         shcompact_return_trampoline): Use datalabel where appropriate.
1680         2000-12-09  Alexandre Oliva  <aoliva@redhat.com>
1681         * config/sh/sh.h (SECONDARY_OUTPUT_RELOAD_CLASS): Use a
1682         general-purpose register to copy one branch-target register to
1683         another.
1684         2000-12-06  Alexandre Oliva  <aoliva@redhat.com>
1685         * config/sh/sh.c (target_operand): Accept LABEL_REFs and
1686         SYMBOL_REFs with VOIDmode.
1687         * config/sh/sh.md (ble_media_i, blt_media_i, bleu_media_i,
1688         bltu_media_i): New insns.
1689         2000-12-06  Alexandre Oliva  <aoliva@redhat.com>
1690         * config/sh/sh.h (RETURN_IN_MEMORY): Adjust for SH5 ABI.
1691         (INIT_CUMULATIVE_ARGS): Likewise.
1692         2000-12-01  Alexandre Oliva  <aoliva@redhat.com>
1693         * machmode.def (V16SFmode): New mode.
1694         * c-common.c (type_for_mode): Support V2SF and V16SF.
1695         * tree.c (build_common_tree_nodes_2): Likewise.
1696         * tree.h (tree_index): Likewise.
1697         * calls.c (emit_call_1): Take args_so_far.  Adjust all
1698         callers.  Introduce CALL_POPS_ARGS.
1699         * tm.texi (CALL_POPS_ARGS): Document.
1700         * config/sh/crt1.asm: Implement in SHmedia mode.
1701         * config/sh/crti.asm, config/sh/crtn.asm: Likewise
1702         * config/sh/elf.h (ASM_SPEC, LINK_SPEC): Support SH5 flags.
1703         (DBX_REGISTER_NUMBER): Renumber registers for SH5.
1704         * config/sh/lib1funcs.asm: Disable functions unused in SH5.
1705         Implement divsi and udivsi in SHmedia mode.  Introduce
1706         SHcompact trampolines.
1707         * config/sh/sh.c (GEN_MOV, GEN_ADD3, GEN_SUB3): Use DImode
1708         only in SHmedia64.
1709         (regno_reg_class): Rewrite.
1710         (fp_reg_names): Remove.
1711         (sh_register_names, sh_additional_register_names): New.
1712         (print_operand): Added `u'.  Support SUBREGs in addresses.
1713         Add parentheses around shifted CONSTs.
1714         (output_file_start): Output .mode and .abi directives.
1715         (shiftcosts, addsubcosts, multcosts): Adjust.
1716         (output_stack_adjust): Compute alignment.  Sanity-check SIZE.
1717         (push_regs): Take array of HOST_WIDE_INTs.  Adjust callers.
1718         (calc_live_regs): Output to array of HOST_WIDE_INTs.  Count
1719         bytes, not registers.  Take into account the need for the
1720         SHcompact incoming args trampoline.  Adjust all callers.
1721         (sh_expand_prologue): Take stack_regs into account.  Call
1722         incoming args trampoline.  Keep stack aligned as per SH5 ABI.
1723         (sh_expand_epilogue): Take stack_regs into accoutn.  Keep
1724         stack aligned as per SH5 ABI.
1725         (sh_builtin_saveregs): Support SH5 ABI.
1726         (sh_build_va_list, sh_va_start): Likewise.
1727         (initial_elimination_offset): Take alignment into account.
1728         Compute location of PR according to the SH5 stack frame.
1729         (arith_reg_operand): Reject branch-target registers.
1730         (shmedia_6bit_operand): New.
1731         (logical_operand): Use CONST_OK_FOR_P on SHmedia.
1732         (target_reg_operand): Match DImode only.  Accept SUBREGs.
1733         (target_operand): New.
1734         * config/sh/sh.h (CPP_SPEC, SUBTARGET_CPP_SPEC): Support SH5 flags.
1735         (CONDITIONAL_REGISTER_USAGE): Implement SH5 ABI.  Initialize
1736         SIBCALL_REGS for SHmedia.
1737         (TARGET_SH3E, TARGET_SH4): Only if SH1_BIT is set too.
1738         (TARGET_FPU_DOUBLE, TARGET_FPU_ANY): New.
1739         (TARGET_SHMEDIA32, TARGET_SHMEDIA64): New.
1740         (TARGET_SWITCHES): New SH5 flags.
1741         (OVERRIDE_OPTIONS): Set SH5-specific options.  Use
1742         VALID_REGISTER_P to disable unsupported registers.
1743         (LONG_TYPE_SIZE, LONG_LONG_TYPE_SIZE): Set.
1744         (POINTER_SIZE, PARM_BOUNDARY): Adjust.
1745         (FUNCTION_ARG_PADDING): Define.
1746         (FASTEST_ALIGNMENT): Adjust.
1747         (SH_REGISTER_NAMES_INITIALIZER): New.
1748         (sh_register_names): Declare.
1749         (DEBUG_REGISTER_NAMES): Define.
1750         (REGISTER_NAMES): Define based on sh_register_names.
1751         (SH_ADDITIONAL_REGISTER_NAMES_INITIALIZER): New.
1752         (sh_additional_register_names): Declare.
1753         (LAST_GENERAL_REG, LAST_FP_REG, LAST_XD_REG): Adjust for SHmedia.
1754         (FIRST_TARGET_REG, LAST_TARGET_REG): Define.
1755         (TARGET_REGISTER_P, SHMEDIA_REGISTER_P, VALID_REGISTER_P): Define.
1756         (REGISTER_NATURAL_MODE): Define.
1757         (FIRST_PSEUDO_REGISTER): Adjust.
1758         (FIXED_REGISTERS, CALL_USED_REGISTERS): Adjust.
1759         (HARD_REGNO_CALL_PART_CLOBBERED): Define.
1760         (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK): Adjust.
1761         (VECTOR_MODE_SUPPORTED_P): Define.
1762         (REG_CLASS_CONTENTS): Adjust.
1763         (SMALL_REGISTER_CLASSES): Adjust.
1764         (REG_ALLOC_ORDER): Adjust.
1765         (INDEX_REG_CLASS): Adjust.
1766         (CONST_OK_FOR_O, CONST_OK_FOR_P): New.
1767         (CONST_OK_FOR_LETTER_P): Adjust.
1768         (PREFERRED_RELOAD_CLASS): Adjust.
1769         (SECONDARY_OUTPUT_RELOAD_CLASS): Adjust.
1770         (SECONDARY_INPUT_RELOAD_CLASS): Adjust.
1771         (NPARM_REGS, FIRST_PARM_REG, FIRST_RET_REG): Adjust.
1772         (FIRST_FP_PARM_REG): Adjust.
1773         (CALL_POPS_ARGS): Define.
1774         (FUNCTION_ARG_REGNO_P): Adjust.
1775         (struct sh_args): New fields.
1776         (GET_SH_ARG_CLASS): Adjust.
1777         (INIT_CUMULATIVE_ARGS): Adjust.
1778         (INIT_CUMULATIVE_INCOMING_ARGS): Define.
1779         (FUNCTION_ARG_ADVANCE): Adjust.
1780         (FUNCTION_ARG): Adjust.
1781         (FUNCTION_ARG_PASS_BY_REFERENCE, SHCOMPACT_BYREF): Define.
1782         (FUNCTION_ARG_CALLEE_COPIES): Define.
1783         (SH5_PROTOTYPELESS_FLOAT_ARG): Define.
1784         (STRICT_ARGUMENT_NAMING): Define.
1785         (PRETEND_OUTGOING_VARARGS_NAMED): Adjust.
1786         (FUNCTION_ARG_PARTIAL_NREGS): Adjust.
1787         (SH5_WOULD_BE_PARTIAL_NREGS): Define.
1788         (SETUP_INCOMING_VARARGS): Adjust.
1789         (HAVE_POST_INCREMENT, HAVE_PRE_DECREMENT): Adjust.
1790         (USE_LOAD_POST_INCREMENT, USE_STORE_PRE_DECREMENT): Adjust.
1791         (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Adjust.
1792         (SUBREG_OK_FOR_INDEX_P): Adjust.
1793         (EXTRA_CONSTRAINT_S): Update.
1794         (EXTRA_CONSTRAINT_T): New.
1795         (EXTRA_CONSTRAINT): Adjust.
1796         (GO_IF_LEGITIMATE_INDEX): Adjust.
1797         (GO_IF_LEGITIMATE_ADDRESS): Adjust.
1798         (LEGITIMIZE_ADDRESS, LEGITIMIZE_RELOAD_ADDRESS): Adjust.
1799         (MOVE_MAX): Adjust.
1800         (MAX_MOVE_MAX): Define.
1801         (Pmode): Adjust.
1802         (CONST_COSTS): Adjust.
1803         (REGISTER_MOVE_COST): Adjust.
1804         (BRANCH_COST): Adjust.
1805         (TEXT_SECTION_ASM_OP): Adjust.
1806         (DBX_REGISTER_NUMBER): Adjust.
1807         (ASM_OUTPUT_DOUBLE_INT): New.
1808         (UNALIGNED_DOUBLE_INT_ASM_OP): New.
1809         (PREDICATE_CODES): Adjust.
1810         (PROMOTE_MODE): Adjust.
1811         (CRT_CALL_STATIC_FUNCTION): Do not define for SHmedia.
1812         * config/sh/sh.md (AP_REG, PR_REG, T_REG, GBR_REG): Renumber.
1813         (MACH_REG, MACL_REG, FPUL_REG, RAP_REG, FPSCR_REG): Renumber.
1814         (PR_MEDIA_REG, T_MEDIA_REG, R10_REG): New.
1815         (DR0_REG, DR2_REG, DR4_REG): Renumber.
1816         (TR0_REG, TR1_REG, TR2_REG): New.
1817         (XD0_REG): Renumber.
1818         (UNSPEC_COMPACT_ARGS): New.
1819         (type): Added pt and ptabs.
1820         (length): Default to 4 on SHmedia.  Default pt length to 12
1821         and     20 on SHmedia32 and SHmedia64, respectively.
1822         (pt): New function unit.
1823         (movdi, movsi): Add types pt and ptabs.  Don't increment LABEL_NUSES.
1824         Add whitespace between operands of SHmedia instructions.
1825         (movdicc): Fix.
1826         (adddi3_media, addsi3_media): Adjust constraints.
1827         (subsi3) [SHmedia]: Force operand 1 into a register.
1828         (udivsi3_i1_media, udivsi3_i4_media): New.
1829         (udivsi3): Support SHmedia.
1830         (divsi3_i1_media, divsi3_i4_media): New.
1831         (divsi3): Support SHmedia.
1832         (anddi3, iordi3, xordi3): Adjust constraints.
1833         (zero_extendhidi2, zero_extendqidi2): New.
1834         (extendsidi2, extendhidi2, extendqidi2): New.
1835         (push, pop, push_e, push_fpul, push_4): Disable on SH5.
1836         (pop_e, pop_fpul, pop_4): Likewise.
1837         (movsi_media): Support FP and BT registers.
1838         (movsi_media_nofpu): New.  Adjust splits to DImode.
1839         (lduw, ldub): Renamed to zero_extend* above.
1840         (movqi_media): Fix typo.
1841         (movdi_media): Support FP and BT registers.
1842         (movdi_media_nofpu): New.  Adjust splits for SHmedia32.
1843         (movdi_const_32bit): New.
1844         (shori_media): Require immediate operand.  Use `u' for output.
1845         (movdf_media, movsf_media): Simplified.
1846         (movdf_media_nofpu, movsf_media_nofpu): New.
1847         (movdf, movsf): Adjust
1848         (movv2sf, movv2sf, movv16sf): New.
1849         (beq_media, beq_media_i): Adjust constraints.  Don't use
1850         scratch BT register.
1851         (bne_media, bne_media_i): Likewise.
1852         (bgt_media, bgt_media_i): Likewise.
1853         (bge_media, bge_media_i): Likewise.
1854         (bgtu_media, bgtu_media_i): Likewise.
1855         (bgeu_media, bgeu_media_i): Likewise.
1856         (beq, bne, bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu,
1857         bunordered): Emit jump insn.  Force operands to registers when
1858         needed.
1859         (jump_media, jump): Simplify.
1860         (call_compact, call_compact_rettramp): New.
1861         (call_value_compact, call_value_compact_rettramp): New.
1862         (call_media, call_value_media): Simplify.
1863         (sibcall_compact, sibcall_media): New.
1864         (call, call_value): Adjust for SHmedia and SHcompact.
1865         (sibcall, sibcall_value, untyped_call): Likewise.
1866         (sibcall_epilogue): Preserve r0 across epilogue for SHcompact.
1867         (indirect_jump): Adjust for SHmedia.
1868         (casesi_jump_media): New.
1869         (nop): Re-enable for SHmedia.
1870         (call_site): Restrict to SH1.
1871         (casesi): Adjust for SHmedia.
1872         (casesi_shift_media, casesi_load_media): New.
1873         (return): Explicitly use PR register.  Call return trampoline
1874         on SHcompact.
1875         (return_i): Explicitly use PR register.
1876         (shcompact_return_tramp, shcompact_return_tramp_i): New.
1877         (return_media): Adjust.
1878         (shcompact_incoming_args): New.
1879         (epilogue): Adjust.
1880         (seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu, sne): Adjust.
1881         (movstrsi): Disable on SH5.
1882         (fpu_switch0, fpu_switch1, movpsi): Enable on SH4.
1883         (addsf3, addsf3_media): Test TARGET_SHMEDIA_FPU.
1884         (subsf3, subsf3_media): Likewise.
1885         (mulsf3, mulsf3_media, mac_media): Likewise.
1886         (divsf3, divsf3_media): Likewise.
1887         (floatdisf2, floatsisf2_media): Likewise.  Adjust constraints.
1888         (floatsisf2, fux_truncsfsi2): Likewise.
1889         (fix_truncsfdi2, fix_truncsfsi2_media): Likewise.  Adjust
1890         constraints.
1891         (cmpeqsf_media, cmpgtsf_media, cmpgesf_media): Likewise.
1892         (cmpunsf_media, cmpsf): Likewise.
1893         (negsf2, negsf2_media, sqrtsf2, sqrtsf2_media): Likewise.
1894         (abssf2, abssf2_media): Likewise.
1895         (adddf3, adddf3_media, subdf3, subdf3_media): Likewise.
1896         (muldf3, muldf3_media, divdf3, divdf3_media): Likewise.
1897         (floatdidf2, floatsidf2_media): Likewise.  Adjust constraints.
1898         (floatsidf2, fix_truncdfsi2): Likewise.
1899         (fix_truncdfdi2, fix_truncdfsi2_media): Likewise.  Adjust
1900         constraints.
1901         (cmpeqdf_media, cmpgtdf_media): Likewise.
1902         (cmpgedf_media, cmpundf_media, cmpdf): Likewise.
1903         (negdf2, negdf2_media, sqrtdf2, sqrtdf2_media): Likewise.
1904         (absdf2, absdf2_media): Likewise.
1905         (extendsfdf2, extendsfdf2_media): Likewise.
1906         (truncsfdf2, truncsfdf2_media): Likewise.
1907         * config/sh/sh64.h: New file.
1908         * config/sh/t-sh64: New file.
1909         * config/sh/shmedia.h: New file.
1910         * config/sh/ushmedia.h: New file.
1911         * config/sh/sshmedia.h: New file.
1912         * configure.in: Added sh64-*-elf.
1913         * configure: Rebuilt.
1914         2000-10-10  Alexandre Oliva  <aoliva@redhat.com>
1915         * config/sh/sh.c (GEN_MOV, GEN_ADD3, GEN_SUB3): New macros.
1916         (reg_class_from_letter): Use `b' for TARGET_REGS.
1917         (print_operand): Support `%M', `%m', `AND' and
1918         `ASHIFTRT'.  Do not precede constants with `#' on SHmedia.
1919         (andcosts): Adjust for SHmedia.
1920         (output_stack_adjust, sh_expand_prologue, sh_expand_epilogue):
1921         Likewise.
1922         (target_reg_operand): New function.
1923         * config/sh/sh-protos.h (target_reg_operand): Declare.
1924         * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Don't disable
1925         FP registers on SH5.
1926         (HARD_REGNO_MODE_OK): Accept them whenever they're acceptable
1927         on SH4.
1928         (TARGET_REGISTER_P): New macro.
1929         (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Added TARGET_REGS.
1930         (FUNCTION_VALUE): Use DImode for promoted types on SHmedia.
1931         (EXTRA_CONSTRAINT_S): New macro.
1932         (EXTRA_CONSTRAINT): Adjust.
1933         (FLOAT_TYPE_SIZE): Define to 32.
1934         (Pmode): DImode on SHmedia.
1935         (CONST_COSTS): Adjust for SHmedia literals.
1936         (PREDICATE_CODES): Added target_reg_operand.
1937         (PROMOTE_MODE): Promote signed types to DImode on SHmedia.
1938         * config/sh/sh.md: Remove all attrs from SHmedia insns.
1939         (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): New insns.
1940         (cmpdi): Accept SHmedia.
1941         (movdicc_false, movdicc_true): New insns.
1942         (movdicc): New expand.
1943         (adddi3): Accept arith_operand for op2, but FAIL on SH1 if
1944         no_new_pseudos.
1945         (addsi3_media): Match `S' constraint.
1946         (anddi3, andcdi3, iordi3, xordi3, negdi_media): New insns.
1947         (negdi2): Expand for SHmedia.
1948         (one_cmpldi2): New expand.
1949         (zero_extendsidi2): Change from expand to insn.
1950         (extendsidi2): Add constraints.
1951         (movdi_media, movsi_media): Change `%x' to `%M'.  Use `%m' for
1952         LD/ST address.  Fix SI immediate loading split.
1953         (movhi_media, movqi_media, lduw, ldub): New insns.
1954         (movhi, movqi): Accept SHmedia.
1955         (shori_media, movdi_media): Relax input constraints.  Split
1956         symbolic constants.
1957         (movdf_media, movsf_media): New insn.  New split to movdi.
1958         (movdf, movsf): Match on SHmedia.
1959         (beq_media, bne_media, bgt_media, bge_media, bgtu_media,
1960         bgeu_media): New insns and splits.  New insns with `_i' suffix.
1961         (beq, bne, bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Adjust.
1962         (bunordered): New expand.
1963         (jump_compact): Renamed from `jump'.
1964         (jump_media): New insn.
1965         (jump): New expand.
1966         (call_media, call_value_media): New insns.
1967         (call, call_value): Adjust.
1968         (indirect_jump_compact): Renamed from `indirect_jump'.
1969         (indirect_jump_media): New insn.
1970         (indirect_jump): New expand.
1971         (untyped_call, return): Accept SHmedia.
1972         (return_media): New insn.
1973         (prologue, epilogue, blockage): Accept SHmedia.
1974         (seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu, sne): Adjust.
1975         (sunordered): New expand.
1976         (addsf3, subsf3, mulsf3, divsf3, floatsisf2, fix_truncsfsi2,
1977         cmpsf, negsf2, sqrtsf2, abssf2): Adjust for SHmedia.
1978         (addsf3_media, subsf3_media, mulsf3_media, mac_media,
1979         divsf3_media, floatdisf2, floatsisf2_media, fix_truncsfdi2,
1980         fix_truncsfsi2_media, cmpeqsf_media, cmpgtsf_media,
1981         cmpgesf_media, cmpunsf_media, negsf2_media, sqrtsf2_media,
1982         abssf2_media): New insns.
1983         (adddf3, subdf3, muldf3, divdf3, floatsidf2, fix_truncdfsi2,
1984         cmpdf, negdf2, sqrtdf2, absdf2): Adjust for SHmedia.
1985         (adddf3_media, subdf3_media, muldf3_media, divdf3_media,
1986         floatdidf2, floatsidf2_media, fix_truncdfdi2,
1987         fix_truncdfsi2_media, cmpeqdf_media, cmpgtdf_media,
1988         cmpgedf_media, cmpundf_media, negdf2_media, sqrtdf2_media,
1989         absdf2_media): New insns.
1990         (extendsfdf2, truncdfsf2): Adjust for SHmedia.
1991         (extendsfdf2_media, truncdfsf2_media): New insns.
1992         2000-09-14  Alexandre Oliva  <aoliva@redhat.com>
1993         * config/sh/sh.c (machine_dependent_reorg): On shmedia, skip for now.
1994         * config/sh/sh.h (CONST_OK_FOR_J): Document.
1995         (LEGITIMATE_CONSTANT_P): Accept CONST_DOUBLEs on shmedia.
1996         * config/sh/sh.md (adddi3): New expand.
1997         (adddi3_media, adddi3z_media): New insns.
1998         (adddi3_compact): Renamed from adddi3.
1999         (addsi3_media): Use add.l r63 to add constant zero.
2000         (subdi3): New expand.
2001         (subdi3_media): New insn.
2002         (subdi3_compact): Renamed from subdi3.
2003         (mulsidi3): New expand.
2004         (mulsidi3_media): New insn.
2005         (mulsidi3_compact): Renamed from mulsidi3.
2006         (umulsidi3): New expand.
2007         (umulsidi3_media): New insn.
2008         (umulsidi3_compact): Renamed from umulsidi3.
2009         (ashlsi3_media, ashrsi3_media, lshrsi3_media): New insns.
2010         (ashlsi3, ashrsi3, lshrsi3): Use them.
2011         (ashldi3_media, ashrdi3_media, lshrdi3_media): New insns.
2012         (ashldi3, ashrdi3, lshrdi3): Use them.
2013         (zero_extendsidi2): New expand.
2014         (extendsidi2): New insn.
2015         (movsi_media): New insn.  Split to movdi to load constants.
2016         (movsi): Enable for shmedia.
2017         (movdi_media): New insn.  Use shori_media to load wide constants.
2018         (short_media): New insn.
2019         (movdi): Enable for shmedia.
2020         2000-09-08  Alexandre Oliva  <aoliva@redhat.com>
2021         * config/sh/sh.h (CPP_SPEC): Added `m5'.
2022         (SUBTARGET_CPP_SPEC): Added `!m5'.
2023         (SH5_BIT, TARGET_SH5, TARGET_SHMEDIA, TARGET_SHCOMPACT): New macros.
2024         (TARGET_SWITCHES): Added `5' and `5-compact'.  Added SH1_BIT
2025         to all other SH variants.
2026         (TARGET_DEFAULT): Set to SH1_BIT.
2027         (OVERRIDE_OPTIONS): Recognize sh5 CPU.
2028         (BITS_PER_WORD): Raise to 64 on shmedia.
2029         (MAX_BITS_PER_WORD): Change to 64.
2030         (MAX_LONG_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): Set to MAX_BITS_PER_WORD.
2031         (INT_TYPE_SIZE): Keep as 32.
2032         (UNITS_PER_WORD): Raise to 8 on shmedia.
2033         (MIN_UNITS_PER_WORD): Keep as 4.
2034         (POINTER_SIZE): Raise to 64 on shmedia.
2035         (CONST_OK_FOR_J): New macro.
2036         (CONST_OK_FOR_LETTER_P): Use it.
2037         (processor_type): Add PROCESSOR_SH5.
2038         * config/sh/sh.md: Conditionalize all expands, insns and
2039         splits to TARGET_SH1.
2040         (cpu): Added sh5.
2041         (addsi3_compact): Renamed from...
2042         (addsi3): Now an expand.
2043         (addsi3_media, subsi3_media): New insns.
2044         (subsi3): Don't negate constants with SHmedia.
2045
2046         * hooks.c: New file.
2047         * hooks.h: New file.
2048         * Makefile.in (HOOKS_H): New.
2049         (TARGET_DEF_H): Added $(HOOKS_H).
2050         (OBJS): Added hooks.o.
2051         (cfgcleanup.o, bb-reorder.o): Added target.h.
2052         (hooks.o): Added dependencies.
2053         * target-def.h (TARGET_CANNOT_MODIFY_JUMPS_P): New, added to...
2054         (TARGET_INITIALIZER): this.
2055         * doc/tm.texi (TARGET_CANNOT_MODIFY_JUMPS_P): Document.
2056         * target.h (struct gcc_target): Added cannot_modify_jumps_p.
2057         * bb-reorder.c: Include target.h.
2058         (reorder_basic_blocks): Skip if cannot modify jumps.
2059         * cfgcleanup.c: Include target.h.
2060         (try_optimize_cfg): Skip merge blocking if cannot modify jumps.
2061
2062 2002-02-08  Chris Demetriou  <cgd@broadcom.com>
2063
2064         * config/mips/mips.md (casesi_internal, casesi_internal_di):
2065         Protect jump delay slot instructions with .set noreorder and
2066         .set nomacro.
2067
2068 2002-02-08  Chris Demetriou  <cgd@broadcom.com>
2069
2070         * config/mips/mips.md (casesi_internal_di): Calculate
2071         the index into the target offset table correctly.
2072
2073 2002-02-08  Richard Henderson  <rth@redhat.com>
2074
2075         * expr.c (expand_expr): Mind EXPAND_INITIALIZER for truncation also.
2076         * final.c (output_addr_const): Accept and discard SUBREG.
2077         * varasm.c (decode_addr_const): Don't abort on unknown expressions --
2078         mark them unknown instead.
2079         (simplify_subtraction): Handle RTX_UNKNOWN.
2080         (initializer_constant_valid_p): Strip NOP_EXPRs that narrow the mode.
2081
2082 2002-02-08  David Edelsohn  <edelsohn@gnu.org>
2083
2084         * doc/invoke.texi (RS/6000 and PowerPC Options): Fix typo.
2085
2086 2002-02-08  Richard Henderson  <rth@redhat.com>
2087
2088         * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_BSS): New.
2089
2090 2002-02-08  Andreas Jaeger  <aj@suse.de>
2091
2092         * config.gcc (x86_64-*-linux): Add t-linux64 makefile fragment.
2093         * config/i386/t-linux64: New file.
2094
2095 2002-02-08  Jakub Jelinek  <jakub@redhat.com>
2096
2097         * c-common.c (c_expand_expr): Revert 2002-02-06 patch.
2098         * c-parse.in (compstmt): Clear last_expr_type.
2099
2100 2002-02-07  Richard Henderson  <rth@redhat.com>
2101
2102         * loop.c (strength_reduce): Sink final_value when not
2103         eliminating a biv.
2104
2105 2002-02-07  David O'Brien  <obrien@FreeBSD.org>
2106
2107         * config/sparc/freebsd.h: Fix mismatched spec {.
2108
2109 2002-02-07  Richard Henderson  <rth@redhat.com>
2110
2111         * cfgrtl.c: Include recog.h and insn-config.h.
2112         (keep_with_call_p): Fix general_operand invocation.
2113         * Makefile.in (cfgrtl.o): Update dependencies.
2114
2115 2002-02-07  Kazu Hirata  <kazu@hxi.com>
2116
2117         * config/h8300/h8300.c (two_insn_adds_subs_operand): Revise a
2118         comment.  Accept HImode only if TARGET_H8300.
2119
2120 2002-02-07  Eric Christopher  <echristo@redhat.com>
2121
2122         * config/mips/crtn.asm: Cleanup #ifdefs.
2123
2124 2002-02-07  Eric Christopher  <echristo@redhat.com>
2125
2126         * config/mips/crti.asm: Add changes for mips16. mips16 uses
2127         register 7 as RA instead of $31.
2128         * config/mips/crtn.asm: Ditto.
2129         * config/mips/mips.c (mips_move_2words): Add case for
2130         TARGET_MIPS16 when HOST_BITS_PER_WIDE_INT >= 64.
2131         (compute_frame_size): Fix typo.
2132         (save_restore_insns): Ditto.  Make documentation about using
2133         register $7 as return register more precise.
2134         (mips_expand_epilogue): Fix comment. Add code to work around not
2135         being able to add to the stack pointer directly.
2136         * config/mips/mips.h (EH_RETURN_DATA_REGNO): Change register number
2137         to 2 for TARGET_MIPS16 as we need 6 and 7 as clobbers in the
2138         epilogue.
2139
2140 2002-02-07  Tom Rix  <trix@redhat.com>
2141
2142         * config/rs6000/rs6000.c (reg_or_aligned_short_operand): New. For
2143         immediates in ldu and stdu DS opcode field.
2144         * config/rs6000/rs6000.md (movdi_update, movdi_update1): Use.
2145         * config/rs6000/rs6000-protos.h: Add reg_or_aligned_short_operand.
2146         * config/rs6000/rs6000.h (PREDICATE_CODES): Same.
2147
2148 2002-02-07  Jeff Sturm  <jsturm@one-point.com>
2149
2150         * config/sparc/sparc.c (compute_frame_size): Don't correct frame
2151         offset for stack bias.
2152
2153 2002-02-07  H.J. Lu <hjl@gnu.org>
2154
2155         * config/mips/linux.h (SUBTARGET_ASM_DEBUGGING_SPEC): Defined.
2156
2157 2002-02-07  Ulrich Weigand  <uweigand@de.ibm.com>
2158
2159         * testsuite/gcc.dg/cpp/charconst-2.c: Add -fsigned-char option.
2160
2161 Thu Feb  7 12:14:17 CET 2002  Jan Hubicka  <jh@suse.cz>
2162
2163         * i386-protos.h (x86_order_regs_for_local_alloc): Declare
2164         * i386.c (x86_order_regs_for_local_alloc): New global function.
2165         * i386.h (REG_ALLOC_ORDER): CLeanup.
2166         (ORDER_REGS_FOR_LOCAL_ALLOC): New.
2167
2168 2002-02-07  Richard Henderson  <rth@redhat.com>
2169
2170         PR optimization/2463
2171         * alias.c (find_base_value): Recall base values for fixed hard regs.
2172         * loop.c (loop_regs_update): Don't use single_set on non-insns.
2173
2174 2002-02-07  Alexandre Oliva  <aoliva@redhat.com>
2175
2176         * config/mips/mips.md (define_delay) [mips16]: Adjust required
2177         length.
2178
2179 2002-02-06  Richard Henderson  <rth@redhat.com>
2180
2181         PR c/5609
2182         * stmt.c (resolve_operand_name_1): Take more care with mixed
2183         named and unnamed operands.
2184
2185 2002-02-06  Janis Johnson  <janis187@us.ibm.com>
2186             Jan Hubicka  <jh@suse.cz>
2187
2188         * loop.c (remove_constant_addition): Avoid clobbering a shared
2189         CONST expression.
2190
2191 2002-02-06  Ulrich Weigand  <uweigand@de.ibm.com>
2192
2193         * config.gcc (s390x-*-linux*): Add t-linux64 makefile fragment.
2194         * config/s390/t-linux64: New file.
2195         * config/s390/libgcc-glibc.ver: New file.
2196
2197 2002-02-06  Ulrich Weigand  <uweigand@de.ibm.com>
2198
2199         * config/s390/linux64.h: Delete file.
2200         * config/s390/s390x.h: New file.
2201         * config.gcc (s390x-*-linux*): Use s390x.h instead of linux64.h
2202         as target header file.
2203         * config/s390/linux.h (TARGET_VERSION): Define depending on
2204         DEFAULT_TARGET_64BIT.
2205         (CPP_SPEC, ASM_SPEC, LINK_SPEC): Likewise.
2206         (SIZE_TYPE, PTRDIFF_TYPE): Likewise.
2207         (NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define.
2208         (CPP_ARCH31_SPEC, CPP_ARCH64_SPEC): New defines.
2209         (LINK_ARCH31_SPEC, LINK_ARCH64_SPEC): New defines.
2210         (EXTRA_SPEC): New define.
2211         * config/s390/s390.h (TARGET_VERSION): Define depending on
2212         DEFAULT_TARGET_64BIT.
2213         (MASK_RETURN_ADDR): Add run-time check for TARGET_64BIT.
2214
2215 2002-02-06  Jason Merrill  <jason@redhat.com>
2216
2217         * c-decl.c (finish_function): Warn about a non-void function with
2218         no return statement and no abnormal exit.
2219         (current_function_returns_abnormally): New variable.
2220         (start_function): Clear it.
2221         (struct c_language_function): Add returns_abnormally.
2222         (push_c_function_context): Save it.
2223         (pop_c_function_context): Restore it.
2224         (builtin_function): Set TREE_THIS_VOLATILE on return fns.
2225         (grokdeclarator): Set C_FUNCTION_IMPLICIT_INT on functions without
2226         an explicit return type.
2227         * c-tree.h: Declare current_function_returns_abnormally.
2228         (C_FUNCTION_IMPLICIT_INT): New macro.
2229         * c-typeck.c (build_function_call): Set it.
2230         (c_expand_return): Set current_function_returns_value even if the
2231         value is erroneous.
2232
2233 2002-02-06  Jakub Jelinek  <jakub@redhat.com>
2234
2235         PR c/5420:
2236         * c-common.c (c_unsafe_for_reeval): Make COMPOUND_LITERAL_EXPR
2237         unsafe for reevaluation.
2238
2239 2002-02-06  Jakub Jelinek  <jakub@redhat.com>
2240
2241         PR c/5482:
2242         * c-common.c (c_expand_expr) [STMT_EXPR]: If last expression is not
2243         EXPR_STMT, but COMPOUND_STMT, recurse into it.
2244
2245 2002-02-06  Richard Henderson  <rth@redhat.com>
2246
2247         * cfganal.c (keep_with_call_p): Source for fixed_reg dest must
2248         be a general_operand.  Dest for function value must be a pseudo.
2249
2250 2002-02-06  Nick Clifton  <nickc@cambridge.redhat.com>
2251
2252         * dbxout.c (dbxout_symbol_location): Accept LABEL_REFs as well
2253         as SYMBOL_REFs from the constant pool.
2254
2255 2002-02-06  Alexandre Oliva  <aoliva@redhat.com>
2256
2257         * dbxout.c (dbxout_parms): Apply DEBUGGER_ARG_OFFSET to parameters
2258         passed by invisible reference.
2259
2260 2002-02-05  Richard Henderson  <rth@redhat.com>
2261
2262         * config/sparc/sparc.h (ARG_POINTER_CFA_OFFSET): No stack bias.
2263
2264 2002-02-06  Hans-Peter Nilsson  <hp@bitrange.com>
2265
2266         Implement using "base addresses" in insn operands as default.
2267         * config/mmix/mmix.c (mmix_conditional_register_usage): if
2268         -mabi=gnu, modify fixed_regs to fit the GNU ABI.
2269         (mmix_extra_constraint): Use 'R' to indicate that GETA should be
2270         used to read the rtx value.
2271         (mmix_target_asm_function_epilogue): Fix spacing.
2272         (mmix_constant_address_p): Handle TARGET_BASE_ADDRESSES.
2273         (mmix_legitimate_address): Ditto.
2274         (mmix_encode_section_info): Set SYMBOL_REF_FLAG on rtx:es that
2275         should be loaded with a GETA insn.  Don't allocate needless extra
2276         char for nul termination and fix misleading comment.
2277         (mmix_print_operand_address): Handle constants if
2278         TARGET_BASE_ADDRESSES.
2279         (mmix_output_register_setting): Use base addressing if
2280         TARGET_BASE_ADDRESSES and the number of insns is 3.
2281         * config/mmix/t-mmix (MULTILIB_EXTRA_OPTS): New.
2282         * config/mmix/mmix.md ("movdi"): Change the alternative with GETA
2283         to use R as constraint, add LDA to match s.
2284         * config/mmix/mmix.h (TARGET_BASE_ADDRESSES): New.
2285         (TARGET_DEFAULT): Add TARGET_MASK_BASE_ADDRESSES.
2286         (TARGET_SWITCHES): Add -mbase-addresses, -mno-base-addresses.
2287         (FIXED_REGISTERS): Make registers $231..$246 fixed by default.
2288         (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Move $231..$246 last, in
2289         order with other fixed registers.
2290         (MMIX_GNU_ABI_REG_ALLOC_ORDER): Put forward $231, in order with
2291         other parameter/call-clobbered registers.
2292         * doc/invoke.texi (Option Summary) <MMIX Options>: Add
2293         -mbase-addresses, -mno-base-addresses.
2294         (MMIX Options): Ditto.
2295
2296 2002-02-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2297
2298         * pa.h (PREDICATE_CODES): Add reg_before_reload_operand.
2299
2300 2002-02-06  Aldy Hernandez  <aldyh@redhat.com>
2301
2302         * config/rs6000/altivec.h: Change elem to _S_elem.
2303
2304 2002-02-05  Jason Thorpe  <thorpej@wasabisystems.com>
2305
2306         * config/netbsd.h (WCHAR_TYPE): Define.
2307         (WCHAR_TYPE_SIZE): Ditto.
2308         (WINT_TYPE): Ditto.
2309         * config/alpha/netbsd.h (WCHAR_TYPE): Remove.
2310         (WCHAR_UNSIGNED): Ditto.
2311         (WCHAR_TYPE_SIZE): Ditto.
2312         (WINT_TYPE): Ditto.
2313         * config/arm/netbsd.h: Likewise.
2314         * config/i386/netbsd-elf.h: Likewise.
2315         * config/i386/netbsd.h: Likewise.
2316         * config/m68k/netbsd-elf.h: Likewise.
2317         * config/m68k/netbsd.h: Likewise.
2318         * config/ns32k/netbsd.h: Likewise.
2319         * config/sparc/netbsd.h: Likewise.
2320         * config/vax/netbsd.: Likewise.
2321
2322 2002-02-05  Alexandre Oliva  <aoliva@redhat.com>
2323
2324         * target.h (struct gcc_target): Added ms_bitfield_layout_p.
2325         * target-def.h (TARGET_MS_BITFIELD_LAYOUT_P): New.  Added to...
2326         (TARGET_INITIALIZER): this.
2327         * doc/tm.texi (TARGET_MS_BITFIELD_LAYOUT_P): Document.
2328         (BITFIELD_NBYTES_LIMITED): Markup fix.
2329         * tree.h (default_ms_bitfield_layout_p): Declare.
2330         (record_layout_info): Added prev_field.
2331         * tree.c (default_ms_bitfield_layout_p): New fn.
2332         * c-decl.c (finish_struct): Disregard EMPTY_FIELD_BOUNDARY and
2333         PCC_BITFIELD_TYPE_MATTERS for MS bit-field layout.
2334         * stor-layout.c: Include target.h.
2335         (start_record_layout): Initialize prev_field.
2336         (place_field): Handle MS bit-field layout, and disregard
2337         EMPTY_FIELD_BOUNDARY, BITFIELD_NBYTES_LIMITED and
2338         PCC_BITFIELD_TYPE_MATTERS in this case.  Update prev_field.
2339         * Makefile.in (stor-layout.o): Adjust dependencies.
2340
2341 2002-02-05  Jason Merrill  <jason@redhat.com>
2342
2343         * collect2.c (dump_file): Pass DMGL_VERBOSE to cplus_demangle.
2344
2345 2002-02-05  Andreas Jaeger  <aj@suse.de>
2346
2347         * crtstuff.c: Fix comments.
2348
2349 2002-02-05  Richard Henderson  <rth@redhat.com>
2350
2351         PR fortran/3393
2352         * loop.c (loop_iv_add_mult_emit_before): Copy multiplier as well.
2353         (loop_iv_add_mult_sink, loop_iv_add_mult_hoist): Likewise.
2354
2355         PR fortran/3392
2356         * config/mips/mips.c (function_arg): Handle TImode.
2357         (function_arg_advance): Likewise.
2358
2359 2002-02-05  Aldy Hernandez  <aldyh@redhat.com>
2360
2361         * config/rs6000/altivec.h (vec_step_help): Rename to
2362         __vec_step_help.
2363
2364 2002-02-05  Aldy Hernandez  <aldyh@redhat.com>
2365
2366         * config/rs6000/altivec.h: Fix typos.
2367
2368 2002-02-05  Jason Thorpe  <thorpej@wasabisystems.com>
2369
2370         * config/arm/netbsd.h: Correct a comment.
2371
2372 2002-02-05  Aldy Hernandez  <aldyh@redhat.com>
2373
2374         * config/rs6000/rs6000.c (altivec_init_builtins): Fix typo
2375         building void typed builtins.
2376
2377         * config/rs6000/altivec.h (vec_ld*): Fix typos.
2378         (vec_step): Implement for C++.
2379
2380 Mon Feb  4 19:23:19 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2381
2382         * final.c (final_scan_insn): Add case for NOTE_INSN_LOOP_END_TOP_COND.
2383
2384 2002-02-04  Richard Henderson  <rth@redhat.com>
2385
2386         * combine.c (nonzero_bits): Re-introduce special case for
2387         sp/fp/ap wrt REGNO_POINTER_ALIGN.
2388
2389 2002-02-05  Aldy Hernandez  <aldyh@redhat.com>
2390
2391         * doc/extend.texi: Warn about unsupported usage of altivec
2392         builtins.
2393
2394         * config/rs6000/rs6000.md (altivec_vcmp*_p): Remove.
2395         (altivec_predicate_*): New.
2396
2397         * config/rs6000/altivec.h: Rewrite predicates to use new builtins.
2398         Add C++ version of vec_*() functions.
2399
2400         * config/rs6000/rs6000.c (bdesc_altivec_preds): New.
2401         (bdesc_2arg): Remove altivec predicates.
2402         (altivec_expand_builtin): Handle predicates.
2403         (altivec_init_builtins): Handle predicates.
2404         (altivec_expand_predicate_builtin): New.
2405
2406 2002-02-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2407
2408         * pa.c (DO_FRAME_NOTES): Move forward.
2409         (store_reg): Revise handling of frame notes.
2410         (load_reg): Likewise.
2411         (set_reg_plus_d): Likewise.
2412         (hppa_expand_prologue): Likewise.
2413         (hppa_expand_epilogue): Likewise.
2414
2415 2002-02-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2416
2417         * unwind-dw2-fde-glibc.c: Define _GNU_SOURCE if not defined.
2418
2419 2002-02-04  Jakub Jelinek  <jakub@redhat.com>
2420
2421         PR c/4475, c++/3780:
2422         * c-common.def (SWITCH_STMT): Add SWITCH_TYPE operand.
2423         * c-common.h (SWITCH_TYPE): Define.
2424         * c-typeck.c (c_start_case): Set SWITCH_TYPE.
2425         * stmt.c (all_cases_count): Set lastval to thisval at end of loop.
2426         Rename spareness variable to sparseness.
2427         (expand_end_case_type): Renamed from expand_end_case, use orig_type
2428         if non-NULL instead of TREE_TYPE (orig_index).
2429         * tree.h (expand_end_case_type): Renamed from expand_end_case.
2430         (expand_end_case): Define using expand_end_case_type.
2431         * c-semantics.c (genrtl_switch_stmt): Pass SWITCH_TYPE
2432         to expand_end_case_type.
2433         * doc/c-tree.texi (SWITCH_STMT): Document SWITCH_TYPE.
2434
2435 2002-02-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2436
2437         * pa.h (PREFERRED_STACK_BOUNDARY): Define to match standard rounding.
2438         (BIGGEST_ALIGNMENT): Change to 128.
2439
2440 2002-02-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2441
2442         * pa32-linux.h (LINK_COMMAND_SPEC): Define.
2443
2444 2002-02-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2445
2446         * pa.md (call_internal_reg_64bit): Remove unused variable.
2447
2448 2002-02-04  Nick Clifton  <nickc@cambridge.redhat.com>
2449
2450         * config/arm/arm.h (machine_function): Add uses_anonymous_args
2451         field.
2452         (SETUP_INCOMING_VARARGS): Set uses_anonymous_args.
2453         * config/arm/arm.c (current_function_anonymous_args): Delete,
2454         replace uses with cfun->machine->uses_anonymous_args.
2455         (arm_reorg): Do not reset uses_anonymous_args.
2456
2457         * config/arm/arm.c (arm_hard_regno_mode_ok): Allow any value in
2458         any geenral register.
2459
2460 2001-02-04  Bernd Schmidt  <bernds@redhat.com>
2461
2462         * cfgrtl.c (force_nonfallthru_and_redirect): Don't try to redirect
2463         the entry block.
2464
2465 2002-02-04  Richard Henderson  <rth@redhat.com>
2466
2467         * combine.c (force_to_mode): Remove STACK_BIAS code.
2468         (nonzero_bits): Likewise.  Replace sp/fp special case with
2469         REGNO_POINTER_ALIGN.
2470
2471         * config/sparc/sparc.h (FRAME_POINTER_REGNUM): Change to SFP.
2472         (HARD_FRAME_POINTER_REGNUM): New.
2473         (FIRST_PSEUDO_REGISTER, REG_CLASS_CONTENTS): Update.
2474         (FIXED_REGS, CALL_USED_REGS): Update.
2475         (REG_ALLOC_ORDER, REGISTER_NAMES): Update.
2476         (CONDITIONAL_REGISTER_USAGE): Update for HFP.
2477         (HARD_REGNO_NREGS): Update for SFP.
2478         (STACK_POINTER_OFFSET): Include bias here ...
2479         (FIRST_PARM_OFFSET): ... not here.
2480         (STACK_BIAS): Remove.
2481         (INIT_EXPANDERS): New.
2482         (STARTING_FRAME_OFFSET): Do not include bias.
2483         (ELIMINABLE_REGS, CAN_ELIMINATE, INITIAL_ELIMINATION_OFFSET): New.
2484         (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P): Update for SFP.
2485         (REG_OK_FOR_INDEX_P, REG_OK_FOR_BASE_P): Likewise.
2486         * config/sparc/aout.h (DBX_REGISTER_NUMBER): Update for HFP.
2487         * config/sparc/litecoff.h, config/sparc/sol2.h: Likewise.
2488         * config/sparc/sparc.c (mem_min_alignment): Update for HFP.
2489         (sparc_nonflat_function_prologue, epilogue_renumber): Likewise.
2490         (MUST_SAVE_REGISTER): Likewise.
2491         (sparc_flat_function_prologue): Likewise.
2492         (sparc_flat_function_epilogue): Likewise.
2493         (HARD_FRAME_POINTER_MASK): Rename from FRAME_POINTER_MASK.
2494         (sparc_init_modes): SFP is GENERAL_REGS.
2495         (sparc_builtin_saveregs): SFP does not have bias applied.
2496
2497 2002-02-04  Richard Henderson  <rth@redhat.com>
2498
2499         * config/alpha/alpha.c (current_function_is_thunk): Don't check
2500         current_function_is_thunk.
2501         (alpha_sa_mask): Distinguish between current_function_is_thunk
2502         called from ASM_OUTPUT_MI_THUNK and not.
2503         (alpha_does_function_need_gp): Thunks always need gp.
2504         (alpha_start_function, alpha_output_function_end_prologue): Likewise.
2505         (alpha_output_mi_thunk_osf): New.
2506         * config/alpha/alpha-protos.h: Update.
2507         * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): New.
2508
2509 2002-02-04  Richard Sandiford  <rsandifo@redhat.com>
2510
2511         * c-typeck.c (build_c_cast): Warn when qualifiers are added to
2512         function types, not when they're taken away.
2513
2514 Mon Feb  4 09:05:58 2002  Jeffrey A Law  (law@redhat.com)
2515
2516         * cfgrtl.c (try_redirect_by_replacing_jump): Remove associated
2517         CODE_LABEL and jump table when replacing a table jump with a
2518         simple jump.
2519
2520 2002-02-04  Ulrich Weigand  <uweigand@de.ibm.com>
2521
2522         * config/s390/s390-protos.h (legitimize_la_operand,
2523         s390_secondary_input_reload_class, s390_plus_operand,
2524         s390_expand_plus_operand): Add prototypes.
2525
2526         config/s390/s390.c (s390_secondary_input_reload_class,
2527         s390_plus_operand, s390_expand_plus_operand): New functions.
2528
2529         (struct s390_address): New member 'pointer'.
2530         (s390_decompose_address): Compute it.
2531         (legitimate_la_operand_p): Use it.
2532         (legitimize_la_operand): New function.
2533         (movti, movdi, movdf splitters): Call it.
2534
2535         config/s390/s390.h (SECONDARY_INPUT_RELOAD_CLASS): Define.
2536         (PREDICATE_CODES): Add s390_plus_operand.
2537
2538         config/s390/s390.md (adddi3_inv_64, addaddr_ccclobber): Delete.
2539         (la_ccclobber): Allow GENERAL_REGS as output operand.
2540
2541         (reload_load_address, *reload_load_address_reg_0, *la, *do_la_reg_0,
2542         *reload_la_64, *reload_la_31 and splitters): Delete, replace by ...
2543         (*la_64, *la_31, reload_indi, reload_insi): ... these.
2544
2545 2002-02-04  Ulrich Weigand  <uweigand@de.ibm.com>
2546
2547         * gcc/config/s390/s390.h (CRT_CALL_STATIC_FUNCTION): Fixed
2548         register names for regular asm () construct.
2549
2550 2002-02-04  Jakub Jelinek  <jakub@redhat.com>
2551
2552         * config/i386/i386.md (movsf_1): Allow moving SF values in MMX
2553         registers.
2554
2555 2002-02-04  Jakub Jelinek  <jakub@redhat.com>
2556
2557         * combine.c (recog_for_combine): Create a dummy insn with PATTERN
2558         pat for recog.
2559
2560 2002-02-04  Hartmut Penner  <hpenner@de.ibm.com>
2561
2562         * varasm.c (decode_rtx_const): Allow unspec (symbol_ref) in
2563         constant pool to be identical by string address and index.
2564
2565 2002-02-04  Anthony Green  <green@redhat.com>
2566
2567         * output.h (SECTION_OVERRIDE): Define.
2568         * varasm.c (named_section): Obey SECTION_OVERRIDE.
2569
2570 2002-02-03  Jason Thorpe  <thorpej@wasabisystems.com>
2571
2572         * config.gcc (arm*-*-netbsdelf*): Placeholder to prevent match
2573         by existing arm*-*-netbsd* (a.out) target.
2574         (ns32k-*-netbsdelf*): Likewise.
2575         (sparc-*-netbsdelf*): Likewise.
2576         (vax-*-netbsdelf*): Likewise.
2577
2578 2002-02-03  Danny Smith <dannysmith@users.sourceforge.net>
2579
2580         * gthr-win32.h: Protect against conflicting typedef for BOOL in windows
2581         headers and libobjc headers.
2582
2583 2002-02-03  Mumit Khan  <khan@nanotech.wisc.edu>
2584
2585         * gthr-win32.h (__mingwthr_key_dtor): Use extern "C" linkage for C++.
2586         (_mingw.h): Remove duplicate include.
2587
2588 2002-02-03  Jason Thorpe  <thorpej@wasabisystems.com>
2589
2590         * config.gcc: Set cpu_type to m68k for 68010, as well.
2591         (m68010-*-netbsdelf*): New...
2592         (m68k*-*-netbsdelf*): ...targets.
2593         * config/m68k/netbsd-elf.h: New file.
2594
2595 2002-02-02  Kazu Hirata  <kazu@hxi.com>
2596
2597         * config/h8300/h8300.c (hand_list): Move inside function_arg.
2598
2599 2002-02-02  Kazu Hirata  <kazu@hxi.com>
2600
2601         * config/h8300/h8300.c (h8_push_ops): Move inside
2602         h8300_init_once.
2603         (h8_pop_ops): Likewise.
2604         (h8_move_ops): Likewise.
2605
2606 2002-02-02  Kazu Hirata  <kazu@hxi.com>
2607
2608         * config/h8300/h8300.c (os_task): Make it static.
2609         (monitor): Likewise.
2610         (pragma_saveall): Likewise.
2611
2612 2002-02-02  Alexandre Oliva  <aoliva@redhat.com>
2613
2614         * config/sh/sh.md (ic_invalidate_line): Make sure the immediate
2615         constant is a valid sign-extension for Pmode.
2616
2617 2002-02-02  Kazu Hirata  <kazu@hxi.com>
2618
2619         * config/h8300/h8300.c: Fix formatting.
2620
2621 2002-02-02  Kazu Hirata  <kazu@hxi.com>
2622
2623         * config/h8300/h8300.md: Fix formatting.
2624
2625 2002-02-02  Kazu Hirata  <kazu@hxi.com>
2626
2627         * config/h8300/h8300.md (one_cmpl patterns): Tighten the
2628         predicates of operands[1].  Split the patterns for each
2629         processor variant.
2630
2631 2002-02-02  Kazu Hirata  <kazu@hxi.com>
2632
2633         * config/h8300/h8300.md (xor patterns): Tighten the predicates
2634         of operands[1] to register_operand.
2635
2636 2002-02-02  Neil Booth  <neil@daikokuya.demon.co.uk>
2637
2638         * cpphash.h (struct spec_nodes): Remove n__CHAR_UNSIGNED__.
2639         * cpphash.c (_cpp_init_hashtable): Similarly.
2640         * cppinit.c (cpp_create_reader): Default the signed_char flag.
2641         (init_builtins): Define __CHAR_UNSIGNED__ appropriately.
2642         (COMMAND_LINE_OPTIONS): Recognise -f{un,}signed-char.
2643         (cpp_handle_option): Handle the new options.
2644         * cpplex.c (cpp_interpret_charconst): Use new flag.
2645         * cpplib.h (struct cpp_options): New member signed_char.
2646         * gcc.c (cpp_unique_options): Remove %c spec and documentation.
2647         (cpp_options): Handle -fsigned-char and -funsigned-char.
2648         (static_specs): Remove signed_char_spec.
2649         (do_spec1): Don't handle %c.
2650         * system.h: Poison SIGNED_CHAR_SPEC.
2651         * tradcif.y (yylex): Use flag_signed_char.
2652         * tradcpp.h (flag_signed_char): New.
2653         * tradcpp.c (flag_signed_char): New.
2654         (main): Handle new command-line options.
2655         (initialize_builtins): Define __CHAR_UNSIGNED__ if appropriate.
2656 config:
2657         * alpha/alpha.h (SIGNED_CHAR_SPEC): Remove.
2658         * avr/avr.h: Remove old comments.
2659         * i960/i960.h (CPP_SPEC): Pass -fsigned-char if -mic*.
2660         (CC1_SPEC): Pass -fsigned-char if -mic*.
2661         (SIGNED_CHAR_SPEC): Remove.
2662 doc:
2663         * tm.texi (SIGNED_CHAR_SPEC): Remove documentation.
2664
2665 2002-02-01  Eric Christopher  <echristo@redhat.com>
2666
2667         From Daniel Jacobowitz <dmj+@andrew.cmu.edu>
2668         * config/mips/mips.h (FUNCTION_PROFILER): Fix function profiling.
2669         * config/mips/linux.h (ASM_OUTPUT_REG_PUSH): Undefine.
2670         (ASM_OUTPUT_REG_POP): Ditto.
2671
2672 2002-02-02  Neil Booth  <neil@daikokuya.demon.co.uk>
2673
2674         * c-decl.c, tree.c, tree.h, objc/objc-act.c: Revert bitfield
2675         patch.
2676
2677 2002-02-02  Jakub Jelinek  <jakub@redhat.com>
2678
2679         * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Add missing | separators.
2680
2681 2002-02-02  Jakub Jelinek  <jakub@redhat.com>
2682
2683         PR c/5304:
2684         * expmed.c (expand_mult_highpart): Use immed_double_const for wide_op1
2685         unconditionally.
2686
2687 2002-02-01  Janis Johnson  <janis187@us.ibm.com>
2688
2689         * cfganal.c: Include tm_p.h.
2690         (keep_with_call_p): Fix the test that determines if a register holds
2691         the return value of a call.
2692
2693 2002-02-01  DJ Delorie  <dj@redhat.com>
2694
2695         * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): If
2696         we are given conflicting registers, switch to the other one we
2697         had allocated for us.
2698         * config/sparc/sparc.md (reload_indi, reload_outdi): Pass op[2]
2699         as TImode so we know when the "other" register is available.
2700
2701 2002-02-01  David O'Brien  <obrien@FreeBSD.org>
2702
2703         * config/sparc/sol2-sld-64.h: Include sparc/biarch64.h rather than
2704         sparc/sparc_bi.h.
2705
2706 2002-02-01  Janis Johnson  <janis187@us.ibm.com>
2707
2708         * cfganal.c (keep_with_call_p): New function.
2709         (flow_call_edges_add): Prevent splitting a block between a call and
2710         a single-set instruction that should be kept in the same block.
2711
2712 2002-02-01  Craig Rodrigues  <rodrigc@gcc.gnu.org>
2713
2714         * doc/install.texi (avr): Update outdated URL.
2715
2716 2002-01-30  Andrew Haley  <aph@cambridge.redhat.com>
2717
2718         * config/stormy16/stormy16.md (pushqi): New.
2719         (popqi): New.
2720         (pushhi): New.
2721         (pophi): New.
2722         (movhi): Remove stack operands.
2723         (movqi): Likewise.
2724         * config/stormy16/stormy16.h (PREDICATE_CODES): Add
2725         nonimmediate_nonstack_operand.
2726         * config/stormy16/stormy16.c (nonimmediate_nonstack_operand):
2727         New.
2728         * config/stormy16/stormy16-protos.h (nonimmediate_nonstack_operand)
2729         New.
2730
2731 2002-01-31  Jason Merrill  <jason@redhat.com>
2732
2733         * Makefile.in (c-parse.c): Handle .output file.
2734         * objc/Make-lang.in (objc-parse.c): Likewise.
2735
2736 2002-02-01  Alexandre Oliva  <aoliva@redhat.com>
2737
2738         * config/mips/mips.h (ENDIAN_SPEC): Output the endianness flag if
2739         the -me[lb] option is given.  Don't output the default flag
2740         twice.
2741
2742 2002-01-31  Zack Weinberg  <zack@codesourcery.com>
2743
2744         * c-lex.c (yyparse): Call debug_hooks->start_source_file for
2745         the primary source file; this has not been done yet.
2746         * c-decl.c (c_expand_body): Reset input_filename from
2747         DECL_SOURCE_FILE (fndecl) before calling init_function_start.
2748
2749 2002-01-31  Kazu Hirata  <kazu@hxi.com>
2750
2751         * rtlanal.c (subreg_regno_offset): Do not use
2752         SUBREG_REGNO_OFFSET.
2753         * system.h: Add SUBREG_REGNO_OFFSET to the GCC poison list.
2754         * doc/tm.texi (SUBREG_REGNO_OFFSET): Remove.
2755
2756 2002-01-31  Joseph S. Myers  <jsm28@cam.ac.uk>
2757
2758         * gccbug.in: Follow GNU Coding Standards for --version.  Use GCC
2759         version rather than GNATS version in --version output.
2760
2761 2002-01-31  Richard Sandiford  <rsandifo@redhat.com>
2762
2763         * ifcvt.c (noce_process_if_block): Make a copy of the destination
2764         when copying back from a temporary.
2765
2766 2002-01-30  Richard Henderson  <rth@redhat.com>
2767
2768         * ifcvt.c (dead_or_predicable): Handling merging when other_bb
2769         and new_dest are the same.
2770
2771 2002-01-30  Richard Henderson  <rth@redhat.com>
2772
2773         PR opt/5076
2774         * rtl.h (NOTE_INSN_LOOP_END_TOP_COND): New.
2775         * rtl.c (note_insn_name): Update.
2776         * emit-rtl.c (remove_unnecessary_notes): Kill it.
2777         * stmt.c (expand_end_loop): Kill jump opt code.  Use LOOP_END_TOP_COND
2778         to perform loop rotation.
2779         (expand_exit_loop_top_cond): New.
2780         * tree.h (expand_exit_loop_top_cond): Declare it.
2781         * c-semantics.c (genrtl_while_stmt): Use it.
2782         (genrtl_for_stmt): Likewise.
2783
2784 2002-01-30  Alexandre Oliva  <aoliva@redhat.com>
2785
2786         * config/mips/mips.h (PARM_BOUNDARY): Guarantee alignment of
2787         arguments to 64-bit boundaries on 64-bit ABIs.
2788
2789 2002-01-30  Steve Ellcey  <sje@cup.hp.com>
2790
2791         * loop.c (loop_invariant_p): Special case pic_offset_table_rtx.
2792
2793 2002-01-31  Joseph S. Myers  <jsm28@cam.ac.uk>
2794
2795         * c-decl.c (grokdeclarator): Handle type being a typedef for an
2796         invalid type.
2797
2798 2002-01-30  David O'Brien  <obrien@FreeBSD.org>
2799
2800         * config.gcc: Include sparc/biarch64.h rather than sparc/sparc_bi.h.
2801         * config/sparc/sparc_bi.h: Remove file.
2802         * config/sparc/biarch64.h: New file (rename of sparc_bi.h).
2803
2804 2002-01-30  Richard Henderson  <rth@redhat.com>
2805
2806         * sched-deps.c (sched_analyze): Make a call read the frame pointer.
2807
2808 2002-01-30  Zack Weinberg  <zack@codesourcery.com>
2809
2810         * expmed.c (emit_store_flag): Call protect_from_queue on op0 and op1.
2811
2812 2002-01-30  Jason Merrill  <jason@redhat.com>
2813
2814         * dwarf2out.c (dwarf_cfi_name): Add other DWARF 3 codes.
2815         (output_cfi): Likewise. Disable DW_CFA_GNU_negative_offset_extended.
2816         (reg_save): Use DW_CFA_offset_extended_sf instead.
2817
2818         * dwarf2out.c (dwarf2out_finish): Don't abort if there were errors.
2819
2820 2002-01-29  Jakub Jelinek  <jakub@redhat.com>
2821
2822         * cselib.c (cselib_record_sets): Use IF_THEN_ELSE result
2823         in cselib_lookup.
2824
2825 2002-01-29  Aldy Hernandez  <aldyh@redhat.com>
2826
2827         * rs6000.md ("*call_value_local32"): Remove constraints.
2828         ("*call_value_local64"): Same.
2829         ("*call_value_indirect_nonlocal_aix32"): Same.
2830         ("*call_value_nonlocal_aix32"): Same.
2831         ("*call_value_indirect_nonlocal_aix64"): Same.
2832         ("*call_value_nonlocal_aix64"): Same.
2833         ("*call_value_nonlocal_sysv"): Same.
2834
2835 2002-01-29  Richard Henderson  <rth@redhat.com>
2836
2837         * config/alpha/elf.h (SDB_DEBUGGING_INFO): Undef.
2838
2839 2002-01-29  Richard Henderson  <rth@redhat.com>
2840
2841         * expr.c (force_operand): Ignore flag_pic for detecting pic
2842         address loads.
2843         * regclass.c (init_reg_sets_1): Test fixed_regs not flag_pic
2844         for determining if PIC_OFFSET_TABLE_REGNUM is call-clobbered.
2845         * resource.c (mark_target_live_regs): Use regs_invalidated_by_call
2846         instead of open-coded loop.
2847         * doc/tm.texi (PIC_OFFSET_TABLE_REGNUM): Clarify that it must
2848         be fixed when in use.
2849
2850 2002-01-29  Richard Henderson  <rth@redhat.com>
2851
2852         * sched-int.h (struct deps_reg): Add uses_length, clobbers_length.
2853         * sched-rgn.c (propagate_deps): Update them.
2854         * sched-deps.c (sched_analyze_insn): Update them.  Flush the
2855         clobbers list when either gets too long.
2856
2857 2002-01-29  Jakub Jelinek  <jakub@redhat.com>
2858
2859         * config/i386/i386.h (LIMIT_RELOAD_CLASS): Handle LEGACY_REGS
2860         and INDEX_REGS the same as GENERAL_REGS.
2861         (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.
2862
2863 2002-01-29  Neil Booth  <neil@daikokuya.demon.co.uk>
2864
2865         * tree.c (build_nonstandard_integer_type): Correct prototype.
2866
2867 2002-01-29  Ulrich Weigand  <uweigand@de.ibm.com>
2868
2869         * config/s390/s390.md (movstrsico, movstrdix_64,
2870         movstrsix_31): Remove, replace by ...
2871         (movstrdi_short, movstrsi_short, movstrdi_long,
2872         movstrsi_long): ... these.  New.
2873         (movstrdi, movstrsi): Adapt.
2874
2875         (rotldi3, rotlsi3, ashldi3, *ashldi3_31, *ashldi3_64,
2876         ashlsi3, lshrdi3, *lshrdi3_31, *lshrdi3_64, lshrsi3):
2877         Remove unnecessary CC clobber.
2878         (*ashrdi3_cc_31, *ashrdi3_cconly_31, *ashrdi3_cc_64,
2879         *ashrdi3_cconly_64, *ashrsi3_cc, *ashrsi3_cconly): New.
2880
2881         (divmoddi4): Don't partially initialize TImode register.
2882
2883 2002-01-29  Geoffrey Keating  <geoffk@redhat.com>
2884
2885         * doc/sourcebuild.texi (C Tests): Document gcc.dg/debug directory.
2886
2887 2002-01-29  Richard Henderson  <rth@redhat.com>
2888
2889         * flow.c (print_rtl_and_abort): Remove.
2890         (print_rtl_and_abort_fcn): Remove.
2891         (verify_local_live_at_start): Use dump_bb instead.
2892         (verify_wide_reg): Likewise. Take a basic_block, not rtl endpoints.
2893         (verify_wide_reg_1): Return 2 on mode test failure.
2894
2895 2002-01-29  Neil Booth  <neil@daikokuya.demon.co.uk>
2896
2897         PR c/3325, c/3326, c/2511, c/3347
2898         * c-decl.c (enum_decl_context): Remove BITFIELD.
2899         (grokdeclarator): Take bitfield width as an input.
2900         Ensure bitfields are given the correct type.  Perform
2901         bitfield width validation with build_bitfield_integer_type
2902         rather than waiting for finish_struct.
2903         (grok_typename, grok_typename_in_parm_context, start_decl,
2904         push_parmdecl, grokfield, start_function): Update calls to
2905         grokdeclarator.
2906         (build_bitfield_integer_type): New function.
2907         (finish_struct): Move bitfield validation to grokdeclarator
2908         and build_bitfield_integer_type.
2909         * tree.c (build_nonstandard_integer_type): New function.
2910         * tree.h (build_nonstandard_integer_type): New prototype.
2911 objc:
2912         * objc-act.c (objc_copy_list): Remove DECL_INITIAL kludge.
2913
2914 2002-01-29  Jakub Jelinek  <jakub@redhat.com>
2915
2916         PR other/1502:
2917         * cppinit.c (cpp_handle_option): Add ignore argument, if it is zero,
2918         don't ignore unrecognized -W* options.
2919         (cpp_handle_options): Pass 1 as last argument to cpp_handle_option.
2920         * cpplib.h (cpp_handle_option): Adjust prototype.
2921         * c-decl.c (c_decode_options): Pass 0 as last argument to
2922         cpp_handle_option.
2923
2924         PR c/2896:
2925         * gcc.c (cpp_unique_options): Split from cpp_options.
2926         (cpp_options): Source cpp_unique_options.
2927         (default_compilers): Use cpp_unique_options instead of cpp_options
2928         when used together with cc1_options.
2929         (static_specs): Add cpp_unique_options.
2930         * objc/lang-specs.h: Use cpp_unique_options instead of cpp_options
2931         when used together with cc1_options.
2932
2933 2002-01-29  Kazu Hirata  <kazu@hxi.com>
2934
2935         * config/h8300/h8300-protos.h: Update the prototype of
2936         output_a_shift.
2937         * config/h8300/h8300.c (output_a_shift): Remove an unused
2938         argument 'insn'.  Remove redundant code.
2939         * config/h8300/h8300.md: Adust to the new prototype of
2940         output_a_shift.
2941
2942 2002-01-29  Kazu Hirata  <kazu@hxi.com>
2943
2944         * config/h8300/h8300-protos.h: Update the prototypes of
2945         emit_a_rotate and expand_a_rotate.
2946         * config/h8300/h8300.c (emit_a_rotate): Change the type of the
2947         first argument to 'enum rtx_code'.
2948         (expand_a_rotate): Likewise.
2949
2950 2002-01-28  Kazu Hirata  <kazu@hxi.com>
2951
2952         * config/h8300/h8300-protos.h: Update the prototype of
2953         output_simode_bld.
2954         * config/h8300/h8300.c (output_simode_bld): Remove an argumen
2955         'log2'.
2956         * config/h8300/h8300.md: Adjust to the new prototype.
2957
2958 2002-01-28  Kazu Hirata  <kazu@hxi.com>
2959
2960         * conifg/h8300/h8300.c (h8300_adjust_insn_length): Remove
2961         redundant code.
2962
2963 2002-01-28  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2964
2965         * emit-rtl.c (gen_rtx_REG): Check that the PIC_OFFSET_TABLE_REGNUM
2966         is a fixed register before returning pic_offset_table_rtx.
2967         * loop.c (scan_loop): Don't hoist insns that set pic_offset_table_rtx
2968         when PIC_OFFSET_TABLE_REG_CALL_CLOBBERED is defined.
2969
2970 2002-01-28  Jason Merrill  <jason@redhat.com>
2971
2972         * dwarf2.h: Sync with src version.
2973
2974 2002-01-28  Paul Koning  <pkoning@equallogic.com>
2975
2976         * builtin-types.def (BT_FN_VOID_CONST_PTR_VAR): Replace
2977         BT_FN_VOID_PTR_VAR.
2978         * builtins.def (BUILT_IN_PREFETCH): Change first argument to be const.
2979         * doc/extend.texi (__builtin_prefetch): Update documentation:
2980         first argument is now const void ptr.
2981
2982 2002-01-28  Kazu Hirata  <kazu@hxi.com>
2983
2984         * config/h8300/h8300-protos.h: Remove an unused prototype.
2985
2986 2002-01-28  Roman Zippel  <zippel@linux-m68k.org>
2987
2988         * toplev.c (lang_independent_init): Round up identifier size.
2989
2990 2002-01-28  Richard Earnshaw  <rearnsha@arm.com>
2991
2992         * config.gcc: Revert previous change.
2993
2994 2002-01-28  Andris Pavenis  <pavenis@latnet.lv>
2995
2996         * config/i386/djgpp.h: Use STRIP_NAME_ENCODING in macro UNIQUE_SECTION
2997
2998 2002-01-28  Richard Earnshaw  <rearnsha@arm.com>
2999
3000         * config.gcc (*-*-netbsdelf*): Set up generic parameters.
3001         (*-*-netbsd*): Always use collect2.  Remove collect2 settings from
3002         other non-elf netbsd config frags.
3003         * config/netbsd-aout.h (STARTFILE_SPEC): Don't pull in c++rt0 since
3004         collect2 will does that.
3005         * config/netbsd.h (LIBGCC_SPEC): Add white space before -lgcc, so that
3006         shared-lib frobbing will work.
3007
3008 2002-01-28  Kazu Hirata  <kazu@hxi.com>
3009
3010         * config/h8300/h8300.h: Fix formatting.
3011         * config/h8300/h8300.md: Likewise.
3012
3013 2002-01-28  Loren J. Rittle  <ljrittle@acm.org>
3014
3015         * fixinc/inclhack.def (strict_ansi_not): Add a bypass based on
3016         the old, removed AAA_standards fix.
3017         * fixinc/fixincl.x: Rebuilt.
3018
3019 2002-01-28  Hans-Peter Nilsson  <hp@axis.com>
3020
3021         * config/cris/cris.h (CRT_CALL_STATIC_FUNCTION): Change to emit
3022         atexit call in crtbegin, hooked in after call to frame_dummy;
3023         register EH before registering __fini__start.
3024
3025 2002-01-28  Aldy Hernandez  <aldyh@redhat.com>
3026
3027         * config/rs6000/altivec.h: Remove spurious semicolons.
3028
3029 2002-01-27  Kazu Hirata  <kazu@hxi.com>
3030
3031         * config/h8300/h8300.md: Replace dead bit extraction patterns
3032         with ones that work.
3033
3034 Sun Jan 27 13:23:40 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3035
3036         * emit-rtl.c (get_mem_attrs): Don't default alignment for non-BLKmode
3037         if not STRICT_ALIGNMENT.
3038         * rtl.h (MEM_ALIGN): Likewise.
3039
3040 2002-01-27  Craig Rodrigues  <rodrigc@gcc.gnu.org>
3041
3042         * doc/invoke.texi (-fdump-translation-unit): Revert this
3043         patch: 2001-10-21  Craig Rodrigues  <rodrigc@gcc.gnu.org>
3044
3045 2002-01-27  Kazu Hirata  <kazu@hxi.com>
3046
3047         * config/h8300/h8300.md (define_constants): New.
3048         (anonymous patterns) Use defined constants appropriately.
3049
3050 2002-01-27  Kazu Hirata  <kazu@hxi.com>
3051
3052         * config/h8300/h8300.c (function_arg): Remove redundant code.
3053
3054 2002-01-26  Richard Henderson  <rth@redhat.com>
3055
3056         * sched-deps.c (reg_pending_uses_head): New.
3057         (reg_pending_barrier): Rename from reg_pending_sets_all.
3058         (find_insn_list): Don't mark inline.
3059         (find_insn_mem_list): Remove.
3060         (add_dependence_list, add_dependence_list_and_free): New.
3061         (flush_pending_lists): Replace only_write param with separate
3062         for_read and for_write parameters.  Update all callers.  Use
3063         add_dependence_list_and_free.
3064         (sched_analyze_1): Do not add reg dependencies here; just set
3065         the pending bits.  Use add_dependence_list.
3066         (sched_analyze_2): Likewise.
3067         (sched_analyze_insn): Replace schedule_barrier_found with
3068         reg_pending_barrier.  Add all dependencies for pending reg
3069         uses, sets, and clobbers.
3070         (sched_analyze): Don't add reg dependencies for calls, just
3071         set pending bits.  Use regs_invalidated_by_call.  Treat
3072         sched_before_next_call as a normal list, not a fake insn.
3073         (init_deps): No funny init for sched_before_next_call.
3074         (free_deps): Free pending mems lists.  Don't zero reg_last.
3075         (init_deps_global): Init reg_pending_uses.
3076         (finish_deps_global): Free it.
3077         * sched-int.h (deps): Make in_post_call_group_p boolean.  Update docs.
3078         (find_insn_mem_list): Remove.
3079         * sched-rgn.c (concat_INSN_LIST, concat_insn_mem_list): New.
3080         (propagate_deps): Use them.  Zero temp mem lists.
3081
3082 2002-01-26  Richard Henderson  <rth@redhat.com>
3083
3084         * Makefile.in (CRTSTUFF_CFLAGS): New.
3085         (crtbegin.o, crtend.o, crtbeginS.o, crtendS.o, crtbeginT.o): Use it.
3086         * config.gcc (alpha-linux, alpha-freebsd, alpha-netbsd): Use plain
3087         crtstuff.c instead of alpha assembly version.
3088         * crtstuff.c (CRT_CALL_STATIC_FUNCTION): Rewrite to assume the
3089         entire dummy function sequence.  Use FORCE_CODE_SECTION_ALIGN
3090         not FORCE_{INIT,FINI}_SECTION_ALIGN.
3091         (__do_global_dtors_aux): Mark used.
3092         (frame_dummy, __do_global_ctors_aux): Mark used.
3093         (fini_dummy, init_dummy): Remove.
3094
3095         * config/alpha/crtbegin.asm: Remove file.
3096         * config/alpha/crtend.asm: Remove file.
3097         * config/alpha/t-crtbe: Remove file.
3098         * config/alpha/elf.h (CRT_CALL_STATIC_FUNCTION): New.
3099         (LINK_EH_SPEC): New.
3100
3101         * config/cris/cris.h (CRT_CALL_STATIC_FUNCTION): Rewrite old
3102         FORCE_INIT_SECTION_ALIGN hack.  Register __fini_start before
3103         calling constructors.
3104         * config/cris/linux.h (CRT_CALL_STATIC_FUNCTION): Undef.
3105
3106         * config/i386/i386.h (CRT_CALL_STATIC_FUNCTION): New.
3107         * config/i386/linux.h (CRT_CALL_STATIC_FUNCTION): Replace old
3108         CRT_END_INIT_DUMMY hack.
3109         * config/i386/sol2.h (FORCE_CODE_SECTION_ALIGN): Replace
3110         FORCE_{INIT,FINI}_SECTION_ALIGN.
3111
3112         * config/mcore/mcore-elf.h (FORCE_CODE_SECTION_ALIGN): Replace
3113         FORCE_{INIT,FINI}_SECTION_ALIGN.
3114
3115         * config/s390/s390.h (CRT_CALL_STATIC_FUNCTION): Update for new
3116         invocation sequence.
3117         * config/sh/sh.h (CRT_CALL_STATIC_FUNCTION): Likewise.
3118
3119         * doc/tm.texi (CRT_CALL_STATIC_FUNCTION): Update.
3120         (FORCE_CODE_SECTION_ALIGN): New.
3121
3122 2002-01-26  Richard Henderson  <rth@redhat.com>
3123
3124         * config/cris/cris.c (cris_print_operand): Handle 64-bit CONST_INT.
3125
3126 2002-01-26  Richard Henderson  <rth@redhat.com>
3127
3128         * config/alpha/alpha.c (alpha_sa_mask): Mark RA for unicos here too.
3129         (alpha_sa_size): Use alpha_sa_mask to compute size of saved regs.
3130
3131 2002-01-26  Kazu Hirata  <kazu@hxi.com>
3132
3133         * config/h8300/h8300.md: Remove bit extraction patterns that
3134         cannot be triggered.
3135         Restrict each bit extraction pattern to a variant on which the
3136         pattern is tested.
3137
3138 2002-01-26  Joseph S. Myers  <jsm28@cam.ac.uk>
3139
3140         * doc/include/texinfo.tex: Update to version 2002-01-04.07.
3141
3142 2002-01-26  Kazu Hirata  <kazu@hxi.com>
3143
3144         * config/h8300/h8300.md: Remove bit test patterns that cannot
3145         be triggered.
3146         Restrict each bit test pattern to a variant on which the
3147         pattern is tested.
3148
3149 2002-01-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3150
3151         * builtins.c (expand_builtin_strncat): Remove redundant check for
3152         INTEGER_CST.
3153
3154 2002-01-25  David O'Brien  <obrien@FreeBSD.org>
3155
3156         * config/i386/x86-64.h (DEFAULT_PCC_STRUCT_RETURN): Do not overide
3157         default setting.
3158         * config/i386/freebsd64.h (DEFAULT_PCC_STRUCT_RETURN): Do not override
3159         existing setting.
3160
3161 2002-01-25  Geoffrey Keating  <geoffk@redhat.com>
3162
3163         * dbxout.c (dbxout_init): Use assemble_name rather than just
3164         stripping off the first character.
3165         (dbxout_source_file): Likewise.
3166
3167 2002-01-25  DJ Delorie  <dj@redhat.com>
3168
3169         * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): Compare
3170         using rtx_equal_p, not by comparing pointers.
3171
3172 2002-01-25  Steve Ellcey  <sje@cup.hp.com>
3173
3174         * emit-rtl.c (gen_rtx_REG): Always return the same rtx
3175         for PIC_OFFSET_TABLE_REGNUM.
3176         (init_emit_once): Use gen_raw_REG to initialize pic_offset_table_rtx.
3177
3178 2002-01-25  David O'Brien  <obrien@FreeBSD.org>
3179
3180         * config.gcc (x86_64-*-freebsd*): New target.
3181         (x86_64-*-netbsd*,x86_64-*-linux*): Use ${tm_file} rather than its
3182         value.
3183         (i[34567]86-*-freebsd*): Don't include svr4.h.
3184         * config/i386/freebsd64.h: New file.
3185
3186 2002-01-25  Douglas B Rupp  <rupp@gnat.com>
3187
3188         * config/alpha/x-vms (version): Make static.
3189
3190         * config/alpha/vms.h (MD_FALLBACK_FRAME_STATE_FOR): Fix error
3191         in previous checkin.
3192
3193         * Makefile.in (install-headers-cp): New target.
3194         * config.gcc (alpha-dec-*vms*): Install headers with
3195         install-headers-cp
3196
3197 Fri Jan 25 22:42:49 CET 2002  Jan Hubicka  <jh@suse.cz>
3198
3199         * unroll.c (unroll_loop): Lower final_value to nonmemory operand;
3200         avoid it's copies.
3201
3202 Fri Jan 25 08:26:19 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3203
3204         * builtins.c (expand_builtin_strncpy): Use integer_zerop instead
3205         of compare_tree_int.
3206         (expand_builtin_strncat): Likewise.
3207         * c-decl.c (finish_struct): Use tree_low_cst.
3208         * tree.h (compare_tree_int): Arg is unsigned HOST_WIDE_INT.
3209         * tree.c (compare_tree_int): Likewise.
3210
3211 2002-01-25  Ulrich Weigand  <uweigand@de.ibm.com>
3212
3213         * reload1.c (eliminate_regs_in_insn): Recognize frame pointer
3214         adjustments even if they are implemented by more than two insns.
3215
3216 Fri Jan 25 20:43:56 CET 2002  Jan Hubicka  <jh@suse.cz>
3217
3218         * df.c (df_ref_create, df_ref_record_1, df_ref_record): Kill BB arg.
3219         * df.h (struct ref): Kill B.
3220         (DF_REF_BB, DF_REF_BBNO): Use BLOCK_FOR_INSN.
3221
3222         * basic-block.h (PROP_EQUAL_NOTES): New flag.
3223         * flow.c (propagate_one_insn): Use it.
3224         (mark_used_regs): Handle NIL.
3225
3226 2002-01-25  Geoffrey Keating  <geoffk@redhat.com>
3227
3228         * config/stormy16/stormy16.md (tablejump_pcrel): Use a MEM
3229         to help folding.
3230
3231 2002-01-25  David Edelsohn  <edelsohn@gnu.org>
3232
3233         * rs6000.md (prefetch): Make address V4SI mode so that the address
3234         is restricted to legitimate form for instruction.
3235
3236 2002-01-25  Bob Wilson  <bob.wilson@acm.org>
3237
3238         * doc/install.texi (xtensa-*-elf): New target.
3239         (xtensa-*-linux*): New target.
3240         * doc/contrib.texi: Add myself.
3241
3242 2002-01-25  Nick Clifton  <nickc@cambridge.redhat.com>
3243
3244         * config/arm/arm.c (arm_hard_regno_mode_ok): Allow any general
3245         purpose register to hold an SImode (or smaller) value.
3246
3247 2002-01-25  Jakub Jelinek  <jakub@redhat.com>
3248
3249         * unwind-dw2-fde-glibc.c: If inhibit_libc, use __register_frame*
3250         registry only.
3251         * crtstuff.c: Likewise.
3252
3253 2002-01-25  Kazu Hirata  <kazu@hxi.com>
3254
3255         * config/h8300/h8300.md (negation patterns): Tighten
3256         predicates to register_operand.
3257
3258 2002-01-24  Aldy Hernandez  <aldyh@redhat.com>
3259
3260         * loop.c (emit_prefetch_instructions): Use the prefetch insn's
3261         mode, not Pmode.
3262
3263         * builtins.c (expand_builtin_prefetch): Same.
3264
3265 2002-01-24  Alexandre Oliva  <aoliva@redhat.com>
3266
3267         * config/sh/sh.md (sym_label2reg): Make sure all CONSTs have
3268         modes.
3269
3270 2002-01-24  Kazu Hirata  <kazu@hxi.com>
3271
3272         * config/h8300/h8300.c (print_operand): Remove support for
3273         operand character 'A'.
3274         * config/h8300/h8300.md (three anonymous patterns): Replace
3275         operand character 'A' with either 'T' or 'S'.
3276
3277 2002-01-24  Kazu Hirata  <kazu@hxi.com>
3278
3279         * config/h8300/h8300.c (print_operand): Remove support for
3280         operand character 'U'.
3281
3282 2002-01-24  Andris Pavenis  <pavenis@latnet.lv>
3283
3284         * config/i386/t-djgpp: Use NATIVE_SYSTEM_HEADER_DIR.
3285
3286 2002-01-24  Nick Clifton  <nickc@cambridge.redhat.com>
3287
3288         * config/arm/arm.c (arm_hard_regno_mode_ok): Allow SImode
3289         values to be assigned to the stack pointer.
3290
3291 2002-01-14  Hartmut Penner  <hpenner@de.ibm.com>
3292
3293         * emit_rtl.c (gen_lowpart_common): Conversion from const_int
3294         to const_double needs to be done right for big-endian systems.
3295
3296 2002-01-24  Jason Merrill  <jason@redhat.com>
3297
3298         PR c++/2432
3299         * config/sparc/sparc.md (call-jump peepholes): Pass the right insn
3300         to can_throw_internal.
3301
3302 2002-01-23  Richard Henderson  <rth@redhat.com>
3303
3304         * fold-const.c (fold): Change UINT_MAX test to check vs precision
3305         rather than TYPE_MAX_VALUE.  Fix indentation and a bogus negation.
3306
3307 2002-01-24  Alexandre Oliva  <aoliva@redhat.com>
3308
3309         * config/sh/sh.md (symGOT_load, sym2GOT, sym2GOTOFF): New expands.
3310         (symGOT2reg): Use them, then set as GOT value as unchanging.
3311         (symGOTOFF2reg): Set REG_EQUAL note.  Use a different pseudo
3312         as a temporary, if possible.
3313         (symPLT_label2reg): Enclose (pc) in UNSPEC_PIC.  Emit
3314         sym@PLT-(.LPCS#+2-.) instead of sym@PLT+.-(.LPCS#+2).
3315
3316 2002-01-23  Kazu Hirata  <kazu@hxi.com>
3317
3318         * config/h8300/h8300.md: Fix xorqi and xorqi so that they will
3319         accept to accept 0x80 as operands[2].
3320
3321 2002-01-24  Alexandre Oliva  <aoliva@redhat.com>
3322
3323         * config/sparc/sparc.md (fix_trunctfdi2): Correct typo in mode.
3324
3325 2002-01-23  Richard Henderson  <rth@redhat.com>
3326
3327         * config/alpha/alpha.md (call_value_osf_1_er peepholes): Fix typo.
3328
3329 2002-01-23  Aldy Hernandez  <aldyh@redhat.com>
3330
3331         * c-parse.in (parmlist_or_identifiers): Add maybe_attribute.
3332         (parmlist_or_identifiers_1): Verify that only a parmlist follows
3333         an attribute.
3334
3335 2002-01-23  Richard Henderson  <rth@redhat.com>
3336
3337         * expr.c (move_by_pieces_1): Extend size before negation.
3338
3339         * config/m68k/t-m68kbare (MULTILIB_OPTIONS): Add 68040 and 68060.
3340         (MULTILIB_MATCHES): Remove 68040 and 68060 aliases.
3341         (MULTILIB_EXCEPTIONS): Ignore 68881 and soft-float for 68040 and 68060.
3342         * config/m68k/t-m68kelf: Likewise.
3343
3344 2002-01-23  Bob Wilson  <bob.wilson@acm.org>
3345
3346         * config/xtensa/elf.h: New file.
3347         * config/xtensa/lib1funcs.asm: New file.
3348         * config/xtensa/lib2funcs.S: New file.
3349         * config/xtensa/linux.h: New file.
3350         * config/xtensa/t-xtensa: New file.
3351         * config/xtensa/xtensa-config.h: New file.
3352         * config/xtensa/xtensa-protos.h: New file.
3353         * config/xtensa/xtensa.c: New file.
3354         * config/xtensa/xtensa.h: New file.
3355         * config/xtensa/xtensa.md: New file.
3356         * config.gcc (xtensa-*-elf*): New target.
3357         (xtensa-*-linux*): New target.
3358         * cse.c (canon_hash): Compare rtx pointers instead of register
3359         numbers.  This is required for the Xtensa port.
3360         * integrate.c (copy_insn_list): Handle case where the static
3361         chain is in memory and the memory address has to be copied to
3362         a register.
3363         * doc/invoke.texi (Option Summary): Add Xtensa options.
3364         (Xtensa Options): New node.
3365         * doc/md.texi (Machine Constraints): Add Xtensa machine constraints.
3366
3367 2002-01-23  Zack Weinberg  <zack@codesourcery.com>
3368
3369         * diagnostic.c (internal_error): Do ICE suppression only
3370         when ENABLE_CHECKING is not defined.
3371
3372         * c-typeck.c (require_complete_type): Return error_mark_node
3373         if type is error_mark_node.
3374
3375 2002-01-23  Janis Johnson  <janis187@us.ibm.com>
3376
3377         * toplev.c (process_options): Disable -fprefetch-loop-arrays with
3378         -Os and issue a warning.
3379
3380 2002-01-23  Zack Weinberg  <zack@codesourcery.com>
3381
3382         * doc/fragments.texi, doc/hostconfig.texi: Update to reflect
3383         current (lack of) need for host configuration by hand.
3384
3385         * doc/gccint.texi, doc/rtl.texi, doc/tm.texi: Adjust cross
3386         references.  Documentation of some target macros moved from
3387         hostconfig.texi to tm.texi.
3388
3389 2002-01-23  Will Cohen  <wcohen@redhat.com>
3390
3391         * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Define if not currently
3392         defined.
3393
3394 2002-01-23  Kazu Hirata  <kazu@hxi.com>
3395
3396         * config/h8300/h8300.md (*andorhi3): Accept 0x8000 as an
3397         operand[3].
3398
3399 2002-01-23  Jason Merrill  <jason@redhat.com>
3400
3401         * tree.c (build1): Don't set TREE_READONLY on INDIRECT_REF.
3402
3403         * function.c (assign_parms): Don't put args of inline functions
3404         into registers when not optimizing.
3405
3406 2002-01-23  Nick Clifton  <nickc@cambridge.redhat.com>
3407
3408         * config/arm/arm.md (UNSPEC_PROLOGUE_USE): New unspec constant.
3409         (prologue_use): New pattern.
3410         * config/arm/arm.c (expand_prologue): Use gen_prologue_use in
3411         preference to gen_rtx_USE.
3412         (thumb_expand_prologue): Use gen_prologue_use in preference to
3413         gen_rtx_USE.
3414         (thumb_expand_epilogue): Use gen_prologue_use in preference to
3415         gen_rtx_USE.
3416
3417 2002-01-23  Hans-Peter Nilsson  <hp@bitrange.com>
3418
3419         * loop.c [!HAVE_prefetch] (CODE_FOR_prefetch): Define to 0.
3420
3421 2002-01-23  Neil Booth  <neil@daikokuya.demon.co.uk>
3422
3423         PR c/3504
3424         * doc/extend.texi: Correct documentation of __alignof__.
3425
3426 2002-01-22  Zack Weinberg  <zack@codesourcery.com>
3427
3428         * params.h: Rename arguments of DEFPARAM so that it will be
3429         recognized as a translation keyword.
3430
3431 2002-01-22  Aldy Hernandez  <aldyh@redhat.com>
3432
3433         * extend.texi: Document altivec functions.
3434         Fix N-bit adjectives in X86 builtin documentation.
3435
3436 2002-01-22  Alexandre Oliva  <aoliva@redhat.com>
3437
3438         * reload.c (reg_overlap_mentioned_for_reload_p): Handle PLUS and
3439         auto_inc_dec values.
3440
3441 2002-01-22  Richard Earnshaw  <rearnsha@arm.com>
3442
3443         * config/netbsd-aout.h (SWITCH_TAKES_ARG): Remove bogus white space
3444         after backslash.
3445         (ASM_DECLARE_OBJECT_NAME): Add missing backslash before final line.
3446
3447 2002-01-22  Alexandre Oliva  <aoliva@redhat.com>
3448
3449         * config/i386/freebsd-aout.h (ASM_QUAD): Undefine.
3450
3451 2002-01-22  Richard Henderson  <rth@redhat.com>
3452
3453         * config/alpha/alpha.c (split_small_symbolic_mem_operand): Use
3454         copy_insn not copy_rtx.
3455
3456 2002-01-23  Alan Modra  <amodra@bigpond.net.au>
3457
3458         * combine.c (simplify_and_const_int): Don't trunc_int_for_mode
3459         "nonzero" as that might add "1" bits.  Ensure "constop" is
3460         properly sign extened.
3461         (force_to_mode): Tweak for sign extended constop.
3462
3463 2002-01-22  Richard Henderson  <rth@redhat.com>
3464
3465         * config/alpha/alpha.c (some_small_symbolic_mem_operand) Use
3466         for_each_rtx instead of assuming we're already looking at the MEM.
3467         (split_small_symbolic_mem_operand): Likewise.
3468         * config/alpha/alpha.h (PREDICATE_CODES): Update.
3469         * config/alpha/alpha.md (small symbolic memory splitters): Update.
3470
3471 2002-01-22  Richard Henderson  <rth@redhat.com>
3472
3473         * config/alpha/alpha.md (divmodsi_internal_er): Generate lituse
3474         sequence number for the literal.
3475         (divmoddi_internal_er): Likewise.
3476
3477 2002-01-22  Craig Rodrigues  <rodrigc@gcc.gnu.org>
3478
3479         PR java/4972
3480         * aclocal.m4 (AM_ICONV): Put linking flags for libiconv
3481         in LIBICONV variable.
3482         * configure: Regenerated.
3483
3484 2002-01-22  Krister Walfridsson  <cato@df.lth.se>
3485
3486         * dependence.c (build_def_use): Remove array_idx.
3487
3488         * dwarfout.c (last_filename): Remove.
3489         (output_compile_unit_die): Remove last_filename.
3490
3491 2002-01-22  Roger Sayle  <roger@eyesopen.com>
3492             Richard Henderson  <rth@redhat.com>
3493
3494         PR opt/3640
3495         * fold-const.c (fold): Optimize unsigned comparisons against
3496         UINT_MAX (and similar unsigned constants).
3497
3498 2002-01-22  Janis Johnson  <janis187@us.ibm.com>
3499
3500         * Makefile.in (loop.o): Depend on OPTABS_H.
3501         * loop.c (emit_prefetch_instructions): Check the prefetch operand
3502         against the predicate.
3503
3504         PR target/5379
3505         * config/i386/i386.md (prefetch_sse): Specify "p" as a constraint
3506         for the address operand.
3507
3508 2002-01-22  Richard Henderson  <rth@redhat.com>
3509
3510         * config/alpha/freebsd.h (FUNCTION_PROFILER): Remove.
3511
3512 2002-01-22  Craig Rodrigues  <rodrigc@gcc.gnu.org>
3513
3514         PR other/5450
3515         * config/i386/sysv4.h (CPP_SPEC): Define, and add CPU
3516         preprocessor flags.
3517
3518 2002-01-22  Jason Thorpe  <thorpej@wasabisystems.com>
3519
3520         * config.gcc (x86_64-*-netbsd*): New target.
3521         * config/i386/netbsd64.h: New file.
3522
3523 2002-01-22  Aldy Hernandez  <aldyh@redhat.com>
3524
3525         * regrename.c (kill_value): Fix typo.
3526
3527 2002-01-22  Aldy Hernandez  <aldyh@redhat.com>
3528
3529         * doc/tm.texi: Remove STARTING_FRAME_PHASE.
3530
3531         * config/rs6000/rs6000.h: Same.
3532
3533         * function.c (instantiate_virtual_regs): Remove
3534         STARTING_FRAME_PHASE.
3535         (assign_stack_local_1): Same.
3536         Calculate frame phase.
3537
3538 2002-01-22  Nick Clifton  <nickc@redhat.com>
3539
3540         * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Move 'regno'
3541         variable declaration to outer scope in order to simplify
3542         future extensions.
3543         (HARD_REGNO_MODE_OK): Replace macro body with a with a call to
3544         arm_hard_regno_mode_ok.
3545         * config/arm/arm-protos.h: Add a prototype for
3546         arm_hard_regno_mode_ok.
3547         * config/arm/arm.c (soft_df_operand): Remove now redundant
3548         check for DImode values using IP_REGNUM.
3549         (nonimmediate_soft_df_operand): Remove now redundant check for
3550         DImode values using IP_REGNUM.
3551         (arm_hard_regno_mode_ok): New function. New check: make sure
3552         that DImode values are not stored in IP_REGNUM.
3553
3554         * config/arm/arm.c (arm_expand_prologue): Replace REG_MAYBE_DEAD
3555         note with a USE.
3556         (thumb_expand_prologue): Replace REG_MAYBE_DEAD note with a USE.
3557
3558 2002-01-22  Jason Merrill  <jason@redhat.com>
3559
3560         * c-semantics.c (genrtl_compound_stmt): Only check nesting
3561         consistency if this COMPOUND_STMT is scoped.
3562
3563 2002-01-22  Kazu Hirata  <kazu@hxi.com>
3564
3565         * predict.c: Fix formatting.
3566         * print-tree.c: Likewise.
3567         * protoize.c: Likewise.
3568         * real.h: Likewise.
3569         * rtl.h: Likewise.
3570         * sbitmap.h: Likewise.
3571         * scan.c: Likewise.
3572         * sched-deps.c: Likewise.
3573         * sched-vis.c: Likewise.
3574         * sdbout.c: Likewise.
3575         * sibcall.c: Likewise.
3576         * ssa.c: Likewise.
3577         * ssa-ccp.c: Likewise.
3578         * ssa-dce.c: Likewise.
3579         * stmt.c: Likewise.
3580         * stor-layout.c: Likewise.
3581         * system.h: Likewise.
3582
3583 Tue Jan 22 06:26:33 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3584
3585         * tree.c (int_fits_type_p): If bounds of a subtype are variable, see
3586         if fits in bounds of base type.
3587
3588         * dwarf2out.c (equate_decl_number_to_die): Add "int" to decls.
3589         (loc_descriptor_from_tree, case CALL_EXPR, case ADDR_EXPR): New.
3590         (add_bound_info, default): If can't find a context, make a
3591         SAVE_EXPR.
3592         (dwarf2out_finish): Check for SAVE_EXPR in node->created_for.
3593
3594 2002-01-22  Hans-Peter Nilsson  <hp@axis.com>
3595
3596         * c-typeck.c (parser_build_binary_op): If result from
3597         build_binary_op is ERROR_MARK just return error_mark_node without
3598         further processing.
3599
3600 2002-01-21  Jason Thorpe  <thorpej@wasabisystems.com>
3601
3602         * config/netbsd.h (TARGET_HAS_F_SETLKW): define.
3603         Split a.out-specific bits into...
3604         * config/netbsd-aout.h: ...this.
3605         * config/netbsd-elf.h: New file.
3606         * config/alpha/netbsd-elf.h: Remove.
3607         * config/alpha/netbsd.h: Rewrite for a NetBSD/alpha ELF target.
3608         * config/i386/netbsd-elf.h (LIB_SPEC): Remove.
3609         (STARTFILE_SPEC): Remove redundant definition.
3610         (ENDFILE_SPEC): Likewise.
3611         (LINK_SPEC): Likewise.
3612         (CPP_SPEC): Likewise.
3613         (ASM_SPEC): Likewise.
3614         (LIB_SPEC): Likewise.
3615         (SWITCH_TAKES_ARG): Likewise.
3616         (TARGET_MEM_FUNCTIONS): Likewise.
3617         (CPP_PREDEFINES): Redefine.
3618         (ASM_FINAL_SPEC): Remove redefinition.
3619         (ASM_COMMENT_START): Redefine.
3620         (FUNCTION_PROFILER): Define.
3621         (TARGET_VERSION): Redefine.
3622         Comment and formatting cleanup.
3623         * config/i386/netbsd.h: Include <netbsd-aout.h>.
3624         * config/m68k/netbsd.h: Include <netbsd-aout.h>.
3625         * config/mips/netbsd.h: Rewrite for NetBSD/mips ELF target,
3626         big- or little-endian.
3627         * config/ns32k/netbsd.h: Include <netbsd-aout.h>.
3628         * config.gcc (*-*-netbsd*): Add definitions common to all
3629         NetBSD configs.
3630         (alpha*-*-netbsd*): Remove redundant xm_defines, gas, and
3631         gnu_ld definitions.  Add netbsd-elf.h to and remove
3632         alpha/netbsd-elf.h from tm_file.  Remove alpha/t-crtfm from
3633         tmake_file, and don't lose previous tmake_file contents.
3634         (arm*-*-netbsd*): Add netbsd-aout.h to tm_file.
3635         (i[34567]86-*-netbsdelf*): Remove redundant xm_defines, gas, and
3636         gnu_ld definitions.  Add netbsd-elf.h to tm_file.
3637         (mips-dec-netbsd*): Remove as alias for mipsel-*-netbsd*.
3638         (mipsel-*-netbsd*): Rename this to...
3639         (mips*-*-netbsd*): ...this.  Add elfos.h to tm_file.  Add
3640         mips/little.h to tm_file for mips*el-*.
3641         (powerpc-*-netbsd*): Remove redundant xm_defines definition.
3642         (sparc-*-netbsd*): Add netbsd-aout.h to tm_file.
3643         (vax-*-netbsd*): Add netbsd-aout.h to tm_file.
3644
3645 2002-01-21  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3646
3647         * pa-protos.h (reg_before_reload_operand): New function prototype.
3648         * pa.c (reg_before_reload_operand): New function implementation.
3649         * pa.md (decrement_and_branch_until_zero, movb): Use it.  Change "!*m"
3650         contraints to "*m".
3651
3652 2002-01-21  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3653
3654         * combine.c (simplify_and_const_int): Properly sign-extend CONSTOP.
3655
3656 2002-01-21  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3657
3658         * pa64-hpux.h (MD_EXEC_PREFIX): Set to "/usr/ccs/bin".
3659         (MD_STARTFILE_PREFIX): Set to "/usr/ccs/lib/pa20_64/".
3660         (MD_STARTFILE_PREFIX_1): Set to "/opt/langtools/lib/pa20_64/".
3661         (EH_FRAME_IN_DATA_SECTION): Define and update comment on init sections.
3662         (ENDFILE_SPEC): Undefine.
3663         (STARTFILE_SPEC): Redefine for PA.
3664
3665 2002-01-21  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3666
3667         * config/rs6000/t-ppccomm (CRTSTUFF_T_CFLAGS_S): Re-add -fPIC.
3668
3669 2002-01-21  Daniel Jacobowitz  <drow@mvista.com>
3670
3671         * config.gcc: Add entries to supported PowerPC --with-cpu
3672         types.
3673
3674 2002-01-21  Jakub Jelinek  <jakub@redhat.com>
3675
3676         * config/i386/i386.c (ix86_function_arg_regno_p): Never return
3677         true for 64-bit mode only SSE registers in 32-bit mode.
3678
3679 2002-01-21  Kazu Hirata  <kazu@hxi.com>
3680
3681         * unwind-dw2.c: Fix formatting.
3682         * unwind-dw2-fde.c: Likewise.
3683         * unwind-dw2-fde.h: Likewise.
3684         * unwind-pe.h: Likewise.
3685         * varasm.c: Likewise.
3686         * varray.h: Likewise.
3687
3688 2002-01-21  Hans-Peter Nilsson  <hp@bitrange.com>
3689
3690         Remove workaround for register stack overwrite bug in mmix.
3691         * config/mmix/mmix.c (mmix_target_asm_function_prologue): Remove
3692         support for TARGET_REG_STACK_FILL_BUG.
3693         * config/mmix/mmix.h: Remove member has_call_without_parameters.
3694         (TARGET_MASK_REG_STACK_FILL_BUG, TARGET_REG_STACK_FILL_BUG):
3695         Delete.
3696         (TARGET_DEFAULT): Remove TARGET_MASK_REG_STACK_FILL_BUG.
3697         (TARGET_SWITCHES): Remove -mreg-stack-fill-bug-workaround and
3698         -mno-reg-stack-fill-bug-workaround.
3699         * config/mmix/mmix.md ("call", "call_value"): Don't set struct
3700         machine member has_call_without_parameters.
3701         * doc/invoke.texi (Option Summary) <MMIX Options>: Remove
3702         -mreg-stack-fill-bug-workaround and
3703         -mno-reg-stack-fill-bug-workaround.
3704         (MMIX Options): Ditto.
3705
3706 2002-01-21  Kazu Hirata  <kazu@hxi.com>
3707
3708         * config/h8300/h8300.c (function_arg): Replace 0 with NULL_RTX
3709         as appropriate.
3710         Remove redundant code.
3711
3712 2002-01-21  Joseph S. Myers  <jsm28@cam.ac.uk>
3713
3714         * config/alpha/alpha.h, config/arc/arc.h, config/avr/avr.h,
3715         config/c4x/c4x.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
3716         config/fr30/fr30.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h,
3717         config/mips/mips.h, config/rs6000/rs6000.h, config/sparc/sparc.h,
3718         config/stormy16/stormy16.h, config/v850/v850.h: Remove commented
3719         out target macro definitions and non-target-specific comments
3720         mostly taken from old versions of the manual.
3721
3722 2002-01-20  Kazu Hirata  <kazu@hxi.com>
3723
3724         * config/h8300/h8300.h: Fix comment formatting.
3725         * config/ia64/aix.h: Likewise.
3726         * config/ia64/ia64-protos.h: Likewise.
3727         * config/ia64/ia64.c: Likewise.
3728         * config/ia64/ia64.h: Likewise.
3729         * config/ia64/ia64intrin.h: Likewise.
3730         * config/ia64/linux.h: Likewise.
3731         * config/ia64/unwind-aix.c: Likewise.
3732         * config/ia64/unwind-ia64.c: Likewise.
3733
3734 2002-01-20  Kazu Hirata  <kazu@hxi.com>
3735
3736         * config/h8300/h8300.c: Revise comments about shift code.
3737
3738 2002-01-20  Kazu Hirata  <kazu@hxi.com>
3739
3740         * config/h8300/h8300.c (function_arg): Update a comment.
3741
3742 2002-01-20  Kazu Hirata  <kazu@hxi.com>
3743
3744         * config/h8300/h8300.md: Update the comments at the beginning
3745         of the file.
3746
3747 2002-01-20  Kazu Hirata  <kazu@hxi.com>
3748
3749         * config/i370/i370.c: Fix comment formatting.
3750         * config/i370/i370.h: Likewise.
3751         * config/i370/i370.md: Likewise.
3752         * config/i370/linux.h: Likewise.
3753
3754 Sun Jan 20 18:40:14 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3755
3756         * reg-stack.c (subst_stack_regs): Properly check for deleted insn.
3757
3758         * dwarf2out.c (loc_descriptor_from_tree): Add TRUTH_*_EXPR cases.
3759         (gen_struct_or_union_type_die): Don't SIGSEGV if no TYPE_STUB_DECL
3760         in incomplete case.
3761
3762 2002-01-20  Graham Stott  <grahams@redhat.com>
3763
3764         * cfgloop.c (flow_loop_preheader_scan): Fix typo.
3765
3766 2002-01-19  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3767
3768         * config.gcc (hppa*64*-*-hpux11*): Fix tmake_file.
3769
3770 2002-01-19  Tom Rix  <trix@redhat.com>
3771
3772         * config/rs6000/rs6000.md: Fix DF split for 64 bit hosts.
3773
3774 2002-01-18  Aldy Hernandez  <aldyh@redhat.com>
3775
3776         * doc/tm.texi (STARTING_FRAME_PHASE): Document.
3777
3778         * function.c (assign_stack_local_1): Adjust x_frame_offset with
3779         STARTING_FRAME_PHASE.
3780         (STARTING_FRAME_PHASE): New.
3781         (instantiate_virtual_regs): Check saneness of
3782         STARTING_FRAME_PHASE.
3783
3784         * config/rs6000/rs6000.h (STARTING_FRAME_PHASE): New.
3785
3786 2002-01-19  Alexandre Oliva  <aoliva@redhat.com>
3787
3788         * config/sh/sh.md (movdf_i4 split): Fix alter_subreg calls.
3789
3790 2002-01-18  Craig Rodrigues  <rodrigc@gcc.gnu.org>
3791
3792         * doc/install.texi (hppa*-hp-hpux11): Clarify that GCC 2.95.x cannot
3793         be used for bootstrapping GCC 3.0.
3794
3795 2002-01-18  Kazu Hirata  <kazu@hxi.com>
3796
3797         * config/h8300/h8300.md: Fix an insn length.
3798
3799 2002-01-18  Kazu Hirata  <kazu@hxi.com>
3800
3801         * bitmap.h: Fix comment formatting.
3802         * combine.c: Likewise.
3803         * cppfiles.c: Likewise.
3804         * c-pragma.h: Likewise.
3805         * c-typeck.c: Likewise.
3806         * df.c: Likewise.
3807         * dwarf2out.c: Likewise.
3808         * function.c: Likewise.
3809         * gcc.c: Likewise.
3810         * genattrtab.c: Likewise.
3811         * gthr-win32.h: Likewise.
3812         * haifa-sched.c: Likewise.
3813         * predict.c: Likewise.
3814         * rtlanal.c: Likewise.
3815         * rtl.h: Likewise.
3816         * unwind-dw2-fde.h: Likewise.
3817         * unwind-pe.h: Likewise.
3818         * vmsdbgout.c: Likewise.
3819
3820 Thu Jan 17 15:28:26 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3821
3822         * attribs.c (decl_attributes): Clear ATTR_FLAG_TYPE_IN_PLACE
3823         if type_required and passed decl.
3824
3825 2002-01-17  Aldy Hernandez  <aldyh@redhat.com>
3826
3827         * config.gcc (cpu_type): Include altivec.h in powerpc
3828         extra_headers.
3829         Same for darwin.
3830
3831         * config/rs6000/altivec.h: New.
3832
3833 2002-01-17  David Edelsohn  <edelsohn@gnu.org>
3834
3835         * doc/install.texi (*-ibm-aix*): Update assembler and exception
3836         handling information.
3837         * doc/trouble.texi (Interoperation): Add libstdc++ information
3838         for AIX.
3839         (Misunderstandings): Add template instantiation and static template
3840         member information for AIX.
3841
3842 2002-01-17  Jason Merrill  <jason@redhat.com>
3843
3844         * dbxout.c (dbxout_type): Support const and volatile.
3845
3846         * except.c (add_partial_entry): Remove backwards compatibility code.
3847         (end_protect_partials): Likewise.
3848
3849 2002-01-17  Jakub Jelinek  <jakub@redhat.com>
3850
3851         * config/ia64/ia64.md (prologue_use): New.
3852         * config/ia64/ia64.c (ia64_expand_prologue): Use
3853         gen_prologue_use instead of gen_rtx_USE.
3854         (group_barrier_needed_p): Handle CODE_FOR_prologue_use the same way
3855         as CODE_FOR_pred_rel_mutex.
3856         (ia64_sched_reorder2): Likewise.
3857
3858 2002-01-16  Eric Christopher  <echristo@redhat.com>
3859
3860         * config/mips/r3900.h: Reformat.
3861         (SUBTARGET_CPP_SIZE_SPEC): Remove.
3862         * config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Ditto.
3863         * config/mips/mips.h (ABI_GAS_ASM_SPEC): Default to "".
3864         (SUBTARGET_CPP_SIZE_SPEC): Rewrite.
3865         * config/mips/t-elf: Remove mips3 multilib.
3866
3867 2002-01-16  H.J. Lu <hjl@gnu.org>
3868
3869         * config/mips/linux.h: Include "mips/abi64.h".
3870
3871 2002-01-16  H.J. Lu <hjl@gnu.org>
3872
3873         * config/mips/t-linux: New.
3874
3875         * config.gcc: Add mips/t-linux to tmake_file for mips*-*-linux*.
3876
3877         * config/mips/linux.h: Don't include "gofast.h".
3878         (INIT_SUBTARGET_OPTABS): Removed.
3879
3880 2002-01-16  Kazu Hirata  <kazu@hxi.com>
3881
3882         * config/h8300/h8300-protos.h: Replace emit_a_shift with
3883         output_a_shift.
3884         * config/h8300/h8300.c: Likewise.
3885         * config/h8300/h8300.md: Likewise.
3886
3887 2002-01-16  Kazu Hirata  <kazu@hxi.com>
3888
3889         * config/h8300/h8300.md (pushqi1_h8300): Use a tab instead of
3890         spaces after an opcode name.
3891         (pushqi1_h8300hs): Likewise.
3892         (pushhi1_h8300hs): Likewise.
3893
3894 2002-01-16  Kazu Hirata  <kazu@hxi.com>
3895
3896         * doc/extend.texi: Replace "option" with "attribute"
3897         appropriately.
3898
3899 2002-01-16  Jakub Jelinek  <jakub@redhat.com>
3900
3901         * config/alpha/alpha.c (some_small_symbolic_mem_operand): Look into
3902         (and:DI () (const_int -8)).
3903         (split_small_symbolic_mem_operand): Split
3904         (mem (and:DI () (const_int -8)).
3905
3906 2002-01-16  Jakub Jelinek  <jakub@redhat.com>
3907
3908         PR target/5309:
3909         * config/sparc/sparc.c (ultrasparc_adjust_cost): Handle TYPE_IDIV the
3910         same way as TYPE_IMUL.
3911         (ultrasparc_sched_reorder): Likewise.
3912         * config/sparc/sparc.md (type): Add comment to update
3913         ultrasparc_sched_reorder when making changes.
3914
3915 2002-01-16  Kazu Hirata  <kazu@hxi.com>
3916
3917         * doc/invoke.texi: Change the dump file name of block
3918         reordering pass from 28.bbro to 29.bbro.
3919         Mention -dk option.
3920
3921 Wed Jan 16 17:54:22 CET 2002  Jan Hubicka  <jh@suse.cz>
3922
3923         * i386.md (minsf splitter): Fix pasto.
3924
3925 2002-01-16  Nick Clifton  <nickc@cambridge.redhat.com>
3926
3927         * config/arm/arm.c (arm_expand_prologue): Add REG_MAYBE_DEAD note
3928         to frame pointer initialisation instruction.
3929         (thumb_expand_prologue): Add REG_MAYBE_DEAD note to frame pointer
3930         initialisation instruction.
3931         (soft_df_operand): Do not accept the IP register.
3932         (nonimmediate_soft_df_operand): Do not accept the IP register.
3933
3934 2002-01-16  Jakub Jelinek  <jakub@redhat.com>
3935
3936         PR target/5357:
3937         * config/sparc/sparc.c (sparc_override_options): Avoid MASK_V9 and
3938         MASK_V8 being both set.
3939
3940 2002-01-16  Ulrich Weigand  <uweigand@de.ibm.com>
3941
3942         * config/s390/s390.c (s390_emit_prologue): Do not emit USE
3943         insn for GOT register; add REG_MAYBE_DEAD notes instead.
3944         config/s390/s390.md (call, call_value): Add GOT register to
3945         CALL_INSN_FUNCTION_USAGE where needed.
3946         (call_exp, call_value_exp): New.
3947
3948 2002-01-16  Nick Clifton  <nickc@cambridge.redhat.com>
3949
3950         * config/arm/arm.c: General formatting tidy up.
3951
3952 2002-01-16  Graham Stott  <grahams@redhat.com>
3953
3954         * calls.c (try_to_integrate): Use "(size_t)" intermediate
3955         cast and when casting an integer literal to "rtx" pointer.
3956         (expand_call): Likewise.
3957         * flow.c (try_pre_increment): Likewise.
3958         (find_use_as_address): Likewise.
3959         * integrate.c (expand_iline_function): Likewise.
3960         * regmove.c (try_auto_increment): Likewise.
3961
3962 2002-01-16  Graham Stott  <grahams@redhat.com>
3963
3964         * sched-rgn.c (passed): Use sbitmap_free.
3965         (header): Likewise.
3966         (inner): Likewise.
3967         (in_queue): Likewise.
3968         (in_stack): Likewise.
3969
3970 2002-01-15  Eric Christopher  <echristo@redhat.com>
3971
3972         * flow.c (propagate_one_insn): Change to use fatal_insn.
3973
3974 2002-01-15  Kazu Hirata  <kazu@hxi.com>
3975
3976         * expmed.c (extract_fixed_bit_field): Remove unused code.
3977         * system.h: Poison SLOW_ZERO_EXTEND.
3978         * doc/tm.texi: Remove.
3979         * config/1750a/1750a.h (SLOW_ZERO_EXTEND): Remove.
3980         * config/arm/arm.h: Likewise.
3981         * config/avr/avr.h: Likewise.
3982         * config/clipper/clipper.h: Likewise.
3983         * config/convex/convex.h: Likewise.
3984         * config/d30v/d30v.h: Likewise.
3985         * config/dsp16xx/dsp16xx.h: Likewise.
3986         * config/elxsi/elxsi.h: Likewise.
3987         * config/fr30/fr30.h: Likewise.
3988         * config/h8300/h8300.h: Likewise.
3989         * config/i370/i370.h: Likewise.
3990         * config/i386/i386.h: Likewise.
3991         * config/m68k/m68k.h: Likewise.
3992         * config/mips/mips.h: Likewise.
3993         * config/ns32k/ns32k.h: Likewise.
3994         * config/pdp11/pdp11.h: Likewise.
3995         * config/pj/pj.h: Likewise.
3996         * config/s390/s390.h: Likewise.
3997         * config/sh/sh.h: Likewise.
3998         * config/stormy16/stormy16.h: Likewise.
3999         * config/v850/v850.h: Likewise.
4000         * config/vax/vax.h: Likewise.
4001         * config/we32k/we32k.h: Likewise.
4002
4003 2002-01-15  Aldy Hernandez  <aldyh@redhat.com>
4004
4005         * config/rs6000/rs6000.md (altivec_stvx): Add parallels to stvx.
4006         (altivec_lvsl): Change constraint to b.
4007         (altivec_lvsr): Same.
4008         (altivec_lvebx): Same.
4009         (altivec_lvehx): Same.
4010         (altivec_lvewx): Same.
4011         (altivec_lvxl): Same.
4012         (altivec_lvx): Same.
4013         (altivec_stvx): Add parallel.
4014         (altivec_stvxl): Same.
4015         (altivec_stvehx): Same.
4016         (altivec_stvebx): Same.
4017         (altivec_stvebx): Same.
4018
4019 2002-01-15  Aldy Hernandez  <aldyh@redhat.com>
4020
4021         * config.gcc: Change altivec.h to altivec-defs.h.
4022
4023         * config/rs6000/altivec.h: Delete.
4024
4025         * config/rs6000/altivec-defs.h: Add.
4026
4027 2002-01-15  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4028
4029         * vax.c (vax_rtx_cost): Return MAX_COST for unsupported MULT, UDIV
4030         and UMOD modes.
4031
4032         * vax.h (INDEX_TERM_P): Restrict indexing to modes which have a size
4033         less than or equal to eight bytes.
4034
4035         * vax.md (andsi3): Remove constraints and change SET destination
4036         operand type to nonimmediate_operand.
4037         (andhi3, andqi3): Likewise.  Don't clear high order bits of operand 1
4038         when it is a CONST_INT.
4039
4040 2002-01-15  Jason Merrill  <jason@redhat.com>
4041
4042         * c-common.def (FILE_STMT): New code.
4043         * c-common.c (statement_code_p): It's a statement.
4044         * c-common.h (stmt_tree_s): Add x_last_filename.
4045         (FILE_STMT_FILENAME_NODE, FILE_STMT_FILENAME): New macros.
4046         (last_expr_filename): New macro.
4047         * c-semantics.c (begin_stmt_tree): Initialize it.
4048         (add_stmt): If the filename changed, also insert a
4049         FILE_STMT.
4050         (expand_stmt): Handle seeing one.
4051
4052 2002-01-15  Eric Christopher  <echristo@redhat.com>
4053
4054         * flow.c (propagate_one_insn): Add error message and print out
4055         insn for debugging.
4056
4057 2002-01-15  Joseph S. Myers  <jsm28@cam.ac.uk>
4058
4059         * system.h (ASM_IDENTIFY_GCC, STDC_VALUE, TRAMPOLINE_ALIGN,
4060         ASM_IDENTIFY_GCC_AFTER_SOURCE): Poison.
4061         * config/pdp11/pdp11.h (TRAMPOLINE_ALIGN): Rename to
4062         TRAMPOLINE_ALIGNMENT.
4063         * config/arm/arm.h, config/mcore/mcore.h: Likewise.  Change value
4064         to be in bits.
4065         * config/i386/cygwin.h (PCC_BITFIELDS_TYPE_MATTERS): Rename to
4066         PCC_BITFIELD_TYPE_MATTERS.
4067         * config/interix.h (STDC_VALUE): Remove.  Use
4068         STDC_0_IN_SYSTEM_HEADERS.
4069         * config/darwin.h (ASM_IDENTIFY_GCC), config/dsp16xx/dsp16xx.h
4070         (ASM_IDENTIFY_GCC), config/stormy16/stormy16.h (ASM_IDENTIFY_GCC,
4071         ASM_IDENTIFY_GCC_AFTER_SOURCE): Remove.
4072
4073 2002-01-15  Craig Rodrigues  <rodrigc@gcc.gnu.org>
4074
4075         * doc/install.texi (hppa*-hp-hpux11): --enable-threads does
4076         not work on this platform currently.
4077
4078 2002-01-15  Joseph S. Myers  <jsm28@cam.ac.uk>
4079
4080         * c-typeck.c (build_unary_op): Don't wrap msgid argument of
4081         readonly_warning in _().
4082
4083 2002-01-15  Douglas B Rupp  <rupp@gnat.com>
4084
4085         * gcc.c (delete_if_ordinary): Backout previous change.
4086
4087 2002-01-15  Kazu Hirata  <kazu@hxi.com>
4088
4089         * config/h8300/h8300.c (print_operand): Remove support for
4090         unused operand characters.
4091
4092         * read-rtl.c: Fix formatting.
4093         * real.c: Likewise.
4094         * recog.c: Likewise.
4095         * regclass.c: Likewise.
4096         * regmove.c: Likewise.
4097         * reg-stack.c: Likewise.
4098         * reload1.c: Likewise.
4099         * rtlanal.c: Likewise.
4100
4101 2002-01-15  Kazu Hirata  <kazu@hxi.com>
4102
4103         * config/i386/i386.c: Fix formatting.
4104
4105 2002-01-15  Jakub Jelinek  <jakub@redhat.com>
4106
4107         * c-typeck.c (process_init_element): Don't save_expr
4108         COMPOUND_LITERAL_EXPR if just its initializer will be used.
4109
4110 2002-01-15  David Edelsohn  <edelsohn@gnu.org>
4111
4112         * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Do not
4113         emit optional traceback table if optimize_size or TARGET_ELF.
4114         * config/rs6000/rs6000.md (prefetch): New.
4115
4116 2002-01-15  Andreas Jaeger  <aj@suse.de>
4117
4118         * config.gcc (x86_64-*-*): Install mmintrin.h and xmmintrin.h.
4119
4120 2002-01-15  Kazu Hirata  <kazu@hxi.com>
4121
4122         * mips-tfile.c: Fix formatting.
4123
4124 Tue Jan 15 00:56:11 CET 2002  Jan Hubicka  <jh@suse.cz>
4125
4126         * unroll.c (final_reg_note_copy): Fix previous commit.
4127
4128 2002-01-14  Kazu Hirata  <kazu@hxi.com>
4129
4130         * config/h8300/h8300-protos.h: Remove the prototype for
4131         eq_operator.
4132         * config/h8300/h8300.c (eq_operator): Remove.
4133
4134 2002-01-14  Richard Henderson  <rth@redhat.com>
4135
4136         * config/i386/i386.md (prefetch): Tidy.
4137         (prefetch_3dnow): Fix locality operand.
4138
4139 2002-01-14  Richard Henderson  <rth@redhat.com>
4140
4141         * config/mips/mips.h (HI_AND_FP_REGS): New register class.
4142         (CLASS_CANNOT_CHANGE_MODE): Disallow HI in little-endian mode.
4143
4144 2002-01-14  Hans-Peter Nilsson  <hp@bitrange.com>
4145
4146         * reload1.c (reload_combine): Pass reg_sum replacement through
4147         copy_rtx in loop performing multiple changes.
4148
4149 2002-01-14  Jakub Jelinek  <jakub@redhat.com>
4150
4151         * except.c (remove_unreachable_regions): New.
4152         (free_eh_status): Clear exception_handler_labels.
4153         (convert_from_eh_region_ranges): Call remove_unreachable_regions.
4154         (find_exception_handler_labels): Don't add the same label more than
4155         once.
4156         (remove_exception_handler_label): Don't die if
4157         find_exception_handler_labels hasn't been called for the current
4158         function yet.
4159
4160 Mon Jan 14 21:26:13 CET 2002  Jan Hubicka  <jh@suse.cz>
4161
4162         * toplev.c (rest_of_compilation): Rebuild jump labels after
4163         gcse.
4164
4165 2002-01-14  Joseph S. Myers  <jsm28@cam.ac.uk>
4166
4167         * doc/extend.texi: Move documentation of X86 built-in functions
4168         here.
4169         * doc/invoke.texi: From here.
4170         * doc/sourcebuild.texi: Document location of documentation for
4171         machine built-in functions.
4172
4173 2002-01-13  Christopher Faylor  <cgf@redhat.com>
4174
4175         * cppfiles.c (TEST_THRESHOLD): New macro.
4176         (SHOULD_MMAP): Ditto.
4177         (read_include_file): Use SHOULD_MMAP macro to decide when mmap should
4178         be used.
4179
4180 Mon Jan 14 20:23:34 CET 2002  Jan Hubicka  <jh@suse.cz>
4181
4182         * unroll.c (final_reg_note_copy): Properly handle
4183         REG_LABEL
4184         (unroll_loops): Fix LOOP_CONDITION heuristics.
4185
4186 2002-01-14  Geoffrey Keating  <geoffk@redhat.com>
4187
4188         * doc/invoke.texi (Xstormy16 Options): Add xstormy16 option.
4189         * doc/md.texi (Machine Constraints): Use @minus{} where appropriate.
4190
4191 Mon Jan 14 20:18:19 CET 2002  Jan Hubicka  <jh@suse.cz>
4192
4193         * cfgcleanup.c (try_forward_edges): Avoid infinite loop at infinite
4194         threaded loop.
4195
4196 2002-01-14  Tom Rix  <trix@redhat.com>
4197
4198         * config/rs6000/rs6000.md: Fix typo with sradi.
4199
4200 2002-01-14  Ulrich Weigand  <uweigand@de.ibm.com>
4201
4202         * config/s390/s390.md (movstrdix_64, movstrsix_31, movstrdi_64,
4203         movstrsi_31, clrstrsi_64, clrstrsi_31): Improve RTL templates.
4204         (clrstrdi, clrstrsi): Adapt callers.
4205
4206         (extendsidi2, zero_extendsidi2): Remove no-conflict blocks.
4207
4208         (movti splitter): Never use register 0 as base register.
4209
4210 2002-01-14  Hartmut Penner  <hpenner@de.ibm.com>
4211
4212         * combine.c (simplify_shift_const): Always generate new rtx
4213         for shift expression instead of reusing given expression.
4214
4215 Mon Jan 14 07:08:55 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4216
4217         * config/alpha/alpha.c (alpha_expand_mov): Don't call
4218         alpha_legitimize_address unless mode is Pmode.
4219
4220 2002-01-13  Geoffrey Keating  <geoffk@redhat.com>
4221
4222         * doc/md.texi (Modifiers): Document the '*' constraint for the
4223         user.
4224
4225         * doc/md.texi (Machine Constraints): Add constraints for xstormy16.
4226         * doc/extend.texi (Function Attributes): 'interrupt' is valid
4227         for xstormy16 too.
4228
4229 2002-01-13  Richard Henderson  <rth@redhat.com>
4230
4231         * reload.c (find_reloads): Use a hard reg destination as reload reg
4232         for an input reload of the source.
4233
4234 2002-01-13  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
4235
4236         * doc/install.texi (Binaries): Make link to ftp.writtenword.com
4237         more generic.
4238
4239 Sun Jan 13 07:23:01 2002  Douglas B Rupp  <rupp@gnat.com>
4240
4241         * Makefile.in (LIB2FUNCS): Split into LIB2FUNCS_1 and LIB2FUNCS_2.
4242         * mklibgcc.in (LIB2FUNCS): Split into LIB2FUNCS_1 and LIB2FUNCS_2.
4243
4244         * config/alpha/x-vms (USE_COLLECT2): Set to empty.
4245
4246 Sun Jan 13 06:55:31 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4247
4248         * dwarf2out.c (mem_loc_descriptor, case ADDRESSOF): New case.
4249
4250 2002-01-12  Tom Rix  <trix@redhat.com>
4251
4252         * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Use ior for
4253         TARGET_POWERPC64.
4254
4255 2002-01-12  Richard Henderson  <rth@redhat.com>
4256
4257         * config/i386/i386.c (bdesc_2arg): Mark psadbw MASK_3DNOW_A.
4258
4259         * doc/invoke.texi: Update Alpha options.
4260
4261         * doc/invoke.texi: Update i386 built-in function lists.
4262
4263 Sat Jan 12 17:38:11 CET 2002  Jan Hubicka  <jh@suse.cz>
4264
4265         * unroll.c (final_reg_note_copy): Avoid crash on REG_LABEL note
4266         referencing outside.
4267
4268 Sat Jan 12 08:54:51 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4269
4270         * diagnostic.c (warn_deprecated_use): Rework to lower indentation.
4271         * expr.c (emit_move_insn_1): Remove warning, use HOST_WIDE_INT for
4272         offsets, and change line folding.
4273         * optabs.c (expand_binop): Remove warnings.
4274         * sdbout.c (sdbout_record_type_name): Constify NAME to avoid warning.
4275
4276 2002-01-12  Graham Stott <grahams@redhat.com>
4277
4278         * attribs.c (handle_deprecated_attribute): constify WHAT.
4279         * diagnostic.c (warn_deprecated_use): Add braces, fixes
4280         dangling else warning and constify WHAT.
4281         * except.h (struct function, struct inline_remap): Move
4282         struct tag forward defs before all prototypes.
4283         (duplicate_eh_regions): Whitespace.
4284
4285 2002-01-12  Nick Clifton  <nickc@cambridge.redhat.com>
4286
4287         * config/arm/arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Use
4288         MODE_BASE_REG_CLASS.
4289         (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Use MODE_BASE_REG_CLASS.
4290
4291 2002-01-12  Richard Henderson  <rth@redhat.com>
4292
4293         * config/i386/i386.c (override_options): If SSE, enable sse prefetch.
4294         (ix86_expand_vector_move): New.
4295         (bdesc_2arg): Remove andps, andnps, orps, xorps.
4296         (ix86_init_mmx_sse_builtins): Make static.  Remove composite builtins.
4297         Remove old prefetch builtins.  Special case the logicals removed above.
4298         (ix86_expand_builtin): Likewise.
4299         (safe_vector_operand): Use V4SFmode, not TImode.
4300         (ix86_expand_store_builtin): Remove shuffle arg.  Update callers.
4301         (ix86_expand_timode_binop_builtin): New.
4302         * config/i386/i386-protos.h: Update.
4303         * config/i386/i386.h (enum ix86_builtins): Update.
4304         * config/i386/i386.md: Correct predicates on MMX/SSE patterns.
4305         Use ix86_expand_vector_move in vector move expanders.
4306         (movti_internal, movti_rex64): Add xorps alternative.
4307         (sse_clrv4sf): Rename and adjust from sse_clrti.
4308         (prefetch): Don't work so hard.
4309         (prefetch_sse, prefetch_3dnow): Use PREFETCH rtx, not UNSPEC.
4310         * config/i386/xmmintrin.h (__m128): Use V4SFmode.
4311         (_mm_getcsr, _mm_setcsr): Fix typo in builtin name.
4312
4313 2002-01-11  Richard Henderson  <rth@redhat.com>
4314
4315         * config/i386/mmintrin.h: New file.
4316         * config/i386/xmmintrin.h: New file.
4317         * config.gcc (i?86-*-*): Add extra_headers.
4318         * simplify-rtx.c (simplify_unary_operation): Handle saturating
4319         truncation codes.
4320         (simplify_binary_operation): Handle saturating arithmetic codes.
4321         * config/i386/i386.c (ix86_expand_sse_comi): Return the full result,
4322         not the lowpart subreg.
4323         (ix86_expand_builtin): Return a TImode dummy register instead of 0
4324         on error.
4325         * config/i386/i386.md (mmx_clrdi): Override memory attribute.
4326
4327 2002-01-12  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
4328
4329         * conflict.c (conflict_graph_compute): Free regsets when finished.
4330         * ssa.c (compute_coalesced_reg_partition): Likewise.
4331
4332 2002-01-12  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
4333
4334         * global.c (find_reg): Check for HARD_REGNO_CALL_PART_CLOBBERED
4335         every where we allocate a register.
4336
4337 2002-01-12  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
4338
4339         * gcse.c (compute_pre_data, pre_gcse): Use sbitmap_free.
4340         * lcm.c (compute_earliest, compute_farthest): Likewise.
4341
4342 2002-01-11  Janis Johnson  <janis187@us.ibm.com>
4343
4344         * expr.c (expand_assignment): Fix misuse of MEM_KEEP_ALIAS_SET.
4345
4346 2002-01-11  Janis Johnson  <janis187@us.ibm.com>
4347
4348         * doc/rtl.texi (Insns): Fix 2 typos.
4349
4350 2002-01-11  Joseph S. Myers  <jsm28@cam.ac.uk>
4351
4352         * doc/invoke.texi: Avoid overfull hboxes.  Add summary of D30V
4353         options.  Use @table @gcctabopt for MMIX options.  Add index
4354         entries for MMIX options.  Start new paragraph with first
4355         heading of the machine-dependent options.
4356
4357 2002-01-11  Craig Rodrigues  <rodrigc@gcc.gnu.org>
4358
4359         PR other/5299
4360         * config/ns32k/ns32k.md: Fix spelling mistake of "than" in comments.
4361         * combine.c (force_to_mode): Same.
4362         * reload1.c (clear_reload_reg_in_use): Same.
4363
4364 2002-01-11  Nick Clifton  <nickc@cambridge.redhat.com>
4365
4366         * config/arm/arm.c (arm_gen_constant): Correct test of 'remainder'
4367         and 'subtargets'.
4368
4369 2002-01-11  Andreas Jaeger  <aj@suse.de>,
4370             Brad Lucier <lucier@math.purdue.edu>
4371
4372         * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Remove wrong
4373         mcpu.
4374
4375 Fri Jan 11 07:35:12 2002  Douglas B Rupp  <rupp@gnat.com>
4376
4377         * config/alpha/vms.h: (MD_FALLBACK_FRAME_STATE_FOR): Fix errors.
4378         Protect with IN_LIBGCC.
4379         (LINK_EH_SPEC): Add required trailing space.
4380
4381 Fri Jan 11 09:25:05 2002  Nicola Pero  <n.pero@mi.flashnet.it>
4382
4383         * c-tree.h: Move function declarations so that they are listed
4384         under the filename which contains them.
4385         (check_identifier, finish_decl_top_level,
4386         lookup_name_current_level_global, shadow_record_fields): Remove.
4387
4388 2002-01-11  Andreas Jaeger  <aj@suse.de>
4389
4390         * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Remove duplicated
4391         march.
4392
4393 2002-01-10  Richard Henderson  <rth@redhat.com>
4394
4395         * config/alpha/alpha.c (print_operand): Add 'J'.
4396         * config/alpha/alpha.md (call_osf_1_er, call_value_osf_1_er): Take a
4397         new operand with the sequence number for the lituse.  When splitting
4398         the insns, use gen_movdi_er_high_g and generate a sequence number.
4399         (gen_movdi_er_high_g): Print the sequence number if non-zero.
4400
4401 2002-01-10  Aldy Hernandez  <aldyh@redhat.com>
4402
4403         * config/rs6000/rs6000.c (altivec_init_builtins): Add support for
4404         lvebx, lvehx, lvewx, lvxl, lvx, stvx, stvebx, stvehx, stvewx,
4405         stvxl.
4406         (altivec_expand_builtin): Same.
4407         (altivec_expand_stv_builtin): New.
4408
4409         * config/rs6000/rs6000.h (rs6000_builtins): Same.
4410
4411         * config/rs6000/rs6000.md ("altivec_lvebx"): New.
4412         ("altivec_lvehx"): New.
4413         ("altivec_lvewx"): New.
4414         ("altivec_lvxl"): New.
4415         ("altivec_lvx"): New.
4416         ("altivec_stvx"): New.
4417         ("altivec_stvebx"): New.
4418         ("altivec_stvehx"): New.
4419         ("altivec_stvewx"): New.
4420         ("altivec_stvxl"): New.
4421
4422 2002-01-10  Richard Henderson  <rth@redhat.com>
4423
4424         * cfgrtl.c (delete_insn): Assert insn hasn't been deleted yet.
4425         * reload1.c (delete_output_reload): Zap spill_reg_store.  Take
4426         care not to delete instructions twice.
4427
4428 2002-01-10  Zack Weinberg  <zack@codesourcery.com>
4429
4430         * toplev.c: Don't declare environ (it's not used anywhere).
4431         * configure.in: Don't check for declaration of environ.
4432         * config/i386/xm-mingw32.h: Don't #define environ.
4433         * config.in, configure: Regenerate.
4434
4435 2002-01-10  Zack Weinberg  <zack@codesourcery.com>
4436
4437         * configure.in: Set stage1_cflags for powerpc-*-darwin*.
4438         * configure: Regenerate.
4439
4440         * config/interix.h: Set DO_GLOBAL_CTORS_BODY and
4441         DO_GLOBAL_DTORS_BODY here, not in xm-interix.h.
4442         * config/alpha/vms.h: Set INCLUDE_DEFAULTS here, not in
4443         alpha/xm-vms.h.
4444         * config/m68k/t-next: Set OTHER_FIXINCLUDES_DIRS and
4445         LIMITS_H_TEST here, not in m68k/x-next.
4446         * config/rs6000/beos.h: Set STANDARD_INCLUDE_DIR and
4447         SYSTEM_INCLUDE_DIR here, not in rs6000/xm-beos.h.
4448
4449         * config/x-interix: Don't set RANLIB, RANLIB_TEST, SHELL,
4450         LIBGCC2_INCLUDES, or SYSTEM_HEADER_DIR.
4451         * config/alpha/x-vms: Don't set USE_COLLECT2.  Add comments.
4452
4453         * config/i386/x-djgpp: Renamed i386/t-djgpp.
4454         * config/m88k/x-dolph: Renamed m88k/t-dolph.
4455         * config/m88k/x-texXD88: Renamed m88k/t-texXD88.
4456         * config/pa/x-pa-mpeix: Renamed pa/t-mpeix.  Update for
4457         replacement of quadlib.asm with quadlib.c.
4458
4459         * config/x-interix3, config/xm-interix.h, config/i386/x-beos,
4460         config/i386/xm-osf1elf.h, config/rs6000/x-darwin,
4461         config/rs6000/xm-beos.h: Delete file.
4462
4463         * config.gcc: Update to match above changes.
4464
4465 2002-01-10  Kazu Hirata  <kazu@hxi.com>
4466
4467         * config/h8300/h8300.h: Fix comment typos.
4468         * config/h8300/h8300.md: Likewise.
4469         * config/h8300/lib1funcs.asm: Likewise.
4470
4471 2002-01-10  Dale Johannesen  <dalej@apple.com>
4472
4473         PR optimization/5269
4474         * unroll.c (precondition_loop_p): Make *increment be the correct
4475         sign when n_iterations known, to avoid confusing caller.
4476
4477 2002-01-10  Kazu Hirata  <kazu@hxi.com>
4478
4479         * doc/extend.texi (deprecated): Fix a typo.
4480
4481 Thu Jan 10 22:35:54 CET 2002  Jan Hubicka  <jh@suse.cz>
4482
4483         * basic-block.h (update_br_prob_note): Declare.
4484         * cfgcleanup.c (try_simplify_condjump): Call update_br_prob_note.
4485         (try_forward_edges): Care negative frequencies and update note.
4486         (outgoing_edges_match): Tweek conditional merging heuristics.
4487         (try_crossjump_to_edge): use update_br_prob_note.
4488         * cfglayout.c (fixup_reorder_chain): Likewise.
4489         * cfrtl.c (update_br_prob_note): New.
4490         * ifcvt.c (dead_or_predicable): Call update_br_prob_note.
4491
4492         * i386.c (ix86_decompose_address): Return -1 if address contains
4493         shift.
4494         (legitimate_address_p): Require ix86_decompose_address to return 1.
4495
4496         * gcse.c (hash_scan_set): Use CONSTANT_INSN_P.
4497         (cprop_insn): Likewise.
4498
4499 2002-01-10  Kazu Hirata  <kazu@hxi.com>
4500
4501         * toplev.c: Fix formatting.
4502         * tree.c: Likewise.
4503         * tree-dump.c: Likewise.
4504         * unroll.c: Likewise.
4505         * unwind-dw2.c: Likewise.
4506         * unwind-dw2-fde.c: Likewise.
4507         * unwind-dw2-fde-glibc.c: Likewise.
4508         * unwind-sjlj.c: Likewise.
4509
4510 2002-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
4511
4512         * doc/invoke.texi: Document PDP-11 options.
4513
4514 2002-01-10  Kazu Hirata  <kazu@hxi.com>
4515
4516         * config/h8300/h8300.h: Fix formatting.
4517
4518 2002-01-10  Ira Ruben   <ira@apple.com>
4519
4520         Add __attribute__ ((deprecated)).
4521         * extend.texi: Document __attribute__ ((deprecated)).
4522         * invoke.texi: Document -Wno-deprecated-declarations.
4523         * testsuite/g++.dg/other/deprecated.C: New C++ test.
4524         * testsuite/gcc.dg/deprecated.c: New C test.
4525         * attribs.c (enum attrs): Declare handle_deprecated_attribute().
4526         (c_common_attribute_table): Add "deprecated" entry.
4527         (handle_deprecated_attribute): New function.
4528         * c-decl.c (deprecated_states): New enum.
4529         deprecated_state: State of "deprecated" handling.
4530         (start_decl): Set deprecated_state based on attributes.
4531         (grokdeclarator): Test for deprecated uses, propagate attribute.
4532         * c-typeck.c (build_component_ref): Test for deprecated fields.
4533         (build_external_ref): Test for deprecated primaries.
4534         * diagnostic.c (warn_deprecated_use) New function to issue
4535         warnings about __attribute__ ((depricated)) references.
4536         * flags.h (warn_deprecated_decl): Extern declared for
4537         -W[no-]deprecated-declarations option.
4538         * print-tree.c (print_node): Show deprecated flag status.
4539         * toplev.c (warn_deprecated_decl): Defined.
4540         (W_options): Added "deprecated-declaration".
4541         * toplev.h (warn_deprecated_use): Extern declared.
4542         * tree.h (struct tree_common): Define deprecated_flag.
4543         (TREE_DEPRECATED): New macro to access flag.
4544         * cp/call.c (build_call): Test for deprecated calls.
4545         * cp/class.c (add_implicitly_declared_members): Set global
4546         flag to tell grokdeclarator to not issue deprecated warnings.
4547         * cp/cp-tree.h: Add extern for adding_implicit_members.
4548         * cp/decl.c (deprecated_states): New enum.
4549         (start_decl): Set deprecated_state based on attributes.
4550         (grokdeclarator): Test for deprecated uses, propagate attribute.
4551         * cp/lex.c (do_identifier): Test for deprecated primaries.
4552         * cp/typeck.c (build_component_ref): Test for deprecated fields.
4553
4554 2002-01-10  Ira Ruben   <ira@apple.com>
4555
4556         Fix to assign attributes to inline member functions.
4557         * cp/decl.c (start_method): Handle attrlist.
4558
4559 2002-01-10  Kazu Hirata  <kazu@hxi.com>
4560
4561         * combine.c (expand_field_assignment): Use subreg_lsb().
4562
4563 2002-01-10  David Edelsohn  <edelsohn@gnu.org>
4564
4565         * alias.c (find_base_value): Add cases for HIGH, PRE_INC, PRE_DEC,
4566         POST_INC, POST_DEC, PRE_MODIFY, and POST_MODIFY.
4567         (find_base_term): Add cases for TRUNCATE, PRE_MODIFY, and POST_MODIFY.
4568         Recurse for any operand of AND as long as constant is non-zero.
4569
4570 2002-01-10  Kazu Hirata  <kazu@hxi.com>
4571
4572         * config/h8300/h8300.md: Remove constraints from expanders.
4573
4574 2002-01-10  Kazu Hirata  <kazu@hxi.com>
4575
4576         * varasm.c: Fix formatting.
4577         * varray.c: Likewise.
4578         * vmsdbgout.c: Likewise.
4579         * xcoffout.c: Likewise.
4580
4581 Thu Jan 10 17:19:12 CET 2002  Jan Hubicka  <jh@suse.cz>
4582
4583         * cfgcleanup.c (try_forward_edges): Properly initialize nthreaded_edges;
4584         update edge probabilities to match.
4585
4586 2002-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
4587
4588         * Makefile.in ($(docdir)/gccint.info, gccint.dvi): Add additional
4589         dependencies.
4590         * doc/languages.texi, doc/sourcebuild.texi: New files.
4591         * doc/configfiles.texi: Make a subsubsection.  Update.
4592         * doc/configterms.texi: Add @node.  Remove warning that this isn't
4593         instructions for building GCC.
4594         * doc/makefile.texi: Make a subsection.
4595         * doc/gccint.texi: Update.
4596
4597 Thu Jan 10 16:39:58 CET 2002  Jan Hubicka  <jh@suse.cz>
4598
4599         * i386.md (sse_mov?fcc_const0_?): Fix constraints.
4600
4601 Thu Jan 10 12:45:50 2002  Nicola Pero  <n.pero@mi.flashnet.it>
4602
4603         * doc/cpp.texi: Document the __OBJC__ preprocessor macro.
4604
4605 Thu Jan 10 11:19:18 CET 2002  Jan Hubicka  <jh@suse.cz>
4606
4607         * optabs.c (expand_fix): Look for wider integer modes first.
4608
4609         * i386.md (mov?f): Avoid the fake const double trick for medium
4610         memory model.
4611         (min?f*/max?f*): Prohibit memory operands for i387 variant.
4612         (fop_df_4): Disable for SSE compilation.
4613
4614 2002-01-10  Graham Stott  <grahams@redhat.com>
4615
4616         * dwarf2out.c (indirect_string_alloc, output_indirect_string):
4617         Move prototype into DWARF2_DEBUGGING_INFO conditional block.
4618
4619 2002-01-10  Richard Henderson  <rth@redhat.com>
4620
4621         * config/alpha/alpha.md (extendsidi2_fix): Penalize f/f alternative.
4622
4623 2002-01-10  Richard Henderson  <rth@redhat.com>
4624
4625         * regrename.c (find_oldest_value_reg): Fix typo in mode change check.
4626         (copyprop_hardreg_forward_1): Likewise.  Use mode_change_ok.
4627
4628 2002-01-10  Kazu Hirata  <kazu@hxi.com>
4629
4630         * combine.c (can_combine_p): Fix a comment typo.
4631
4632 2002-01-09  Zack Weinberg  <zack@codesourcery.com>
4633
4634         * Makefile.in (s-gencheck, s-options, s-specs): Handle an
4635         empty list correctly.  Change loop index $t to $f for
4636         consistency with rest of Makefile.
4637
4638 2002-01-08  Aldy Hernandez  <aldyh@redhat.com>
4639
4640         * testuite/gcc.dg/altivec-4.c: Add test for mtvscr, dssall,
4641         mfvscr, dss, lvsl, lvsr, dstt, dstst, dststt, dst.
4642
4643         * config/rs6000/rs6000.c (altivec_expand_builtin): Add support for
4644         mtvscr, dssall, mfvscr, dss, lvsl, lvsr, dstt, dst, dstst, dststt.
4645         (altivec_init_builtins): Same.
4646         (altivec_expand_unop_builtin): Return NULL_RTX on error.
4647         (altivec_expand_binop_builtin): Same.
4648         (altivec_expand_ternop_builtin): Same.
4649         (bdesc_dst): New.
4650
4651         * config/rs6000/rs6000.md ("altivec_mtvscr"): New.
4652         ("altivec_vctuxs"): Fix typo.
4653         ("altivec_vnmsubfp"): Same.
4654         ("altivec_dssall"): New.
4655         ("altivec_mfvscr"): New.
4656         ("altivec_dss"): New.
4657         ("altivec_lvsl"): New.
4658         ("altivec_lvsr"): New.
4659         ("altivec_dstt"): New.
4660         ("altivec_dstst"): New.
4661         ("altivec_dststt"): New.
4662         ("altivec_dst"): New.
4663
4664         * config/rs6000/rs6000.h (rs6000_builtins): Add mtvscr, dssall,
4665         mfvscr, dss, lvsl, lvsr, dstt, dstst, dststt, dst.
4666
4667 2002-01-09  Richard Henderson  <rth@redhat.com>
4668
4669         * config/alpha/alpha.md (prologue_mcount): Remove lituse_jsr reloc.
4670
4671 2002-01-10  Hans-Peter Nilsson  <hp@bitrange.com>
4672
4673         * config/mmix/mmix.c (mmix_asm_identify_gcc): Remove unused
4674         function.
4675         * config/mmix/mmix-protos.h (mmix_asm_identify_gcc): Don't
4676         prototype.
4677         * config/mmix/mmix.h (ASM_IDENTIFY_GCC): Remove unused macro.
4678
4679 2002-01-09  Kazu Hirata  <kazu@hxi.com>
4680
4681         * read-rtl.c: Fix formatting.
4682         * real.c: Likewise.
4683         * regclass.c: Likewise.
4684         * regrename.c: Likewise.
4685         * reg-stack.c: Likewise.
4686         * reload1.c: Likewise.
4687         * reload.c: Likewise.
4688         * rtl.c: Likewise.
4689
4690 2002-01-09  Kazu Hirata  <kazu@hxi.com>
4691
4692         * rtlanal.c (find_reg_fusage): Use XEXP instead of SET_DEST
4693         to extract items in the expr_list chain.
4694
4695 2002-01-09  Richard Henderson  <rth@redhat.com>
4696
4697         * config/vax/vax.c (vax_rtx_cost): Never abort.
4698
4699         * config/vax/vax.h (REAL_ARITHMETIC): Define.
4700
4701 2002-01-09  Jan Hubicka  <jh@suse.cz>
4702
4703         * gcse.c (cprop_jump): Delete insn if simplified jump is no-op.
4704
4705 2002-01-09  Richard Henderson  <rth@redhat.com>
4706
4707         * config/arm/arm.c (arm_gen_constant): Use trunc_int_for_mode.
4708         Unify code from various alternatives.
4709
4710 2002-01-09  Richard Henderson  <rth@redhat.com>
4711
4712         * regrename.c (copy_value): Ignore the copy if the source register
4713         is present in the value chain with a narrower mode.
4714
4715 2002-01-09  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
4716
4717         * real.c (c4xtoe, toc4x): Do some special conversion on long doubles
4718         for the c4x target. Also improve layout.
4719
4720 2002-01-09  Richard Henderson  <rth@redhat.com>
4721
4722         * config/m32r/m32r.c (move_src_operand): Fix 32-bit int test.
4723         * config/m32r/m32r.md (and ior xor splitters): Swap operands
4724         to match insn patterns.
4725
4726 2002-01-09  Richard Henderson  <rth@redhat.com>
4727
4728         * regrename.c (find_oldest_value_reg): Use gen_rtx_raw_REG.
4729         (copyprop_hardreg_forward_1): Likewise.
4730
4731 2002-01-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4732
4733         * pa.md (decrement_and_branch_until_zero): Change predicate for
4734         operand 0 from register_operand to reg_or_nonsymb_mem_operand.
4735
4736 2002-01-09  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
4737
4738         * ginclude/stddef.h: Define _BSD_WCHAR_T_DEFINED_ if _BSD_WCHAR_T_
4739         gets undefined. For Darwin.
4740
4741 2002-01-09  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
4742
4743         * config/c4x/c4x.h: Use PUSH_ARGS and PUSH_ROUNDING for stack passing.
4744
4745 2002-01-09  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
4746
4747         * config/c4x/c4x/md: Remove extraneous constraints from define_splits.
4748
4749 2002-01-08  Richard Henderson  <rth@redhat.com>
4750
4751         * regrename.c (copy_value): Ignore overlapping copies.
4752
4753 2002-01-08  Richard Henderson  <rth@redhat.com>
4754
4755         * config/alpha/alpha.c (alpha_split_conditional_move): Call copy_rtx
4756         as needed to avoid shared structure.
4757
4758 2002-01-08  Kazu Hirata  <kazu@hxi.com>
4759
4760         * config/h8300/h8300.c (get_shift_alg): Fix 15-bit LSHIFTRT on
4761         H8/300H and H8/S.
4762
4763 2002-01-08  Joseph S. Myers  <jsm28@cam.ac.uk>
4764
4765         * doc/tm.texi (EASY_DIV_EXPR, IMPLICIT_FIX_EXPR,
4766         LONGJMP_RESTORE_FROM_STACK, MAX_INT_TYPE_SIZE): Remove
4767         documentation of obsolete macros.
4768         * system.h: Poison these macros.
4769         * config/1750a/1750a.h, config/a29k/a29k.h, config/alpha/alpha.h,
4770         config/arc/arc.h, config/arm/arm.h, config/avr/avr.h,
4771         config/c4x/c4x.h, config/clipper/clipper.h,
4772         config/convex/convex.h, config/cris/cris.h, config/d30v/d30v.h,
4773         config/dsp16xx/dsp16xx.h, config/elxsi/elxsi.h,
4774         config/fr30/fr30.h, config/h8300/h8300.h, config/i370/i370.h,
4775         config/i386/i386.h, config/i860/i860.h, config/i960/i960.h,
4776         config/ia64/ia64.h, config/m32r/m32r.h, config/m68hc11/m68hc11.h,
4777         config/m68k/m68k.h, config/m88k/m88k.h, config/mcore/mcore.h,
4778         config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
4779         config/mn10300/mn10300.h, config/ns32k/ns32k.h, config/pa/pa.h,
4780         config/pdp11/pdp11.h, config/pj/pj.h, config/romp/romp.h,
4781         config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h,
4782         config/sparc/sparc.h, config/stormy16/stormy16.h,
4783         config/v850/v850.h, config/vax/vax.h, config/we32k/we32k.h: Remove
4784         definitions and commented out definitions of obsolete macros.
4785         * config/mips/iris5.h (MAX_WCHAR_TYPE_SIZE): Don't define in terms
4786         of MAX_INT_TYPE_SIZE.
4787
4788 2002-01-08  Ulrich Weigand  <uweigand@de.ibm.com>
4789
4790         * config/s390/s390.c (s390_preferred_reload_class): Never
4791         return ADDR_REGS if it isn't a subset of the given class.
4792         * config/s390/s390.h (REGISTER_MOVE_COST): Penalize not just
4793         FP_REGS, but all superclasses as well.
4794
4795         * config/s390/s390.c (s390_function_profiler): Fix thinko.
4796
4797         * config/s390/s390.md (cmpdi_ccu_mem, cmpsi_ccu_mem,
4798         cmphi_ccu_mem, cmpqi_ccu_mem): First operand of compare
4799         must not be a const_int.
4800
4801 2002-01-08  Richard Henderson  <rth@redhat.com>
4802
4803         * Makefile.in (toplev.o): Depend on options.h.
4804         (gcc.o): Depend on specs.h.
4805
4806 2002-01-08  Jakub Jelinek  <jakub@redhat.com>
4807
4808         * expr.c (store_expr): Convert VOIDmode constants back to target's
4809         mode.
4810
4811 2002-01-08  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
4812
4813         * doc/invoke.texi: Markup gcc as @command.  Refer to
4814         http://gcc.gnu.org/onlinedocs/gcc/Contributors.html instead
4815         of http://gcc.gnu.org/thanks.html.
4816
4817 2002-01-08  Dale Johannesen  <dalej@apple.com>
4818
4819         * config/rs6000/rs6000.md: Add missing int register
4820         target case to movdf_low.
4821
4822 2002-01-08  Zack Weinberg  <zack@codesourcery.com>
4823
4824         * Makefile.in (cs-tconfig.h): Don't depend on $(CONFIG_H) or
4825         except.h.  Remove commands to define USING_SJLJ_EXCEPTIONS.
4826         (cppinit.o): Depend on except.h.
4827         (gencheck.h, options.h, specs.h, s-gencheck, s-options,
4828         s-specs): New rules.
4829
4830         * configure.in: Don't AC_DEFINE_UNQUOTED PACKAGE or VERSION.
4831         Don't create specs.h/options.h/gencheck.h here.  Remove
4832         unnecessary variable settings from last argument of AC_OUTPUT.
4833         * config.in, configure: Regenerate.
4834         * intl.c: Hardcode package name as "gcc".
4835
4836         * cppinit.c: Include except.h.
4837         (builtin_array): Define __USING_SJLJ_EXCEPTIONS__ when
4838         appropriate.
4839         * unwind-dw2.c, unwind-sjlj.c, config/ia64/unwind-ia64.c:
4840         Use #if(n)def __USING_SJLJ_EXCEPTIONS, not #if
4841         (!)USING_SJLJ_EXCEPTIONS.
4842         * doc/cpp.texi: Document __USING_SJLJ_EXCEPTIONS__.
4843
4844 2002-01-08  Joseph S. Myers  <jsm28@cam.ac.uk>
4845
4846         * doc/tm.texi (ASM_OUTPUT_EH_REGION_BEG, ASM_OUTPUT_EH_REGION_END,
4847         ASM_OUTPUT_LABELREF_AS_INT, DOESNT_NEED_UNWINDER, EH_TABLE_LOOKUP,
4848         OBJC_SELECTORS_WITHOUT_LABELS, OMIT_EH_TABLE): Remove
4849         documentation of obsolete macros.
4850         * system.h: Poison these macros.
4851         * config/d30v/d30v.h, config/ns32k/encore.h,
4852         config/stormy16/stormy16.h: Remove definitions and commented out
4853         definitions of obsolete macros.
4854
4855 Tue Jan  8 15:56:41 2002  Nicola Pero  <nicola@brainstorm.co.uk>
4856
4857         * objc/objc-act.c (handle_class_ref): Mark the declaration of
4858         %sobjc_class_ref_%s as used - to prevent unwanted compiler
4859         warnings.
4860
4861 2002-01-08  Ulrich Weigand  <uweigand@de.ibm.com>
4862
4863         * config/s390/linux.h (ASM_OUTPUT_LABELREF): Remove.
4864         * config/s390/s390.c (s390_emit_epilog): Add REG_FRAME_RELATED_EXPR
4865         to insn adjusting stack/frame pointer.
4866         * config/s390/s390.md (reload_la_64, reload_la_31): Do not
4867         accept operands that cause the insn to be non-splittable.
4868
4869 2002-01-08  Graham Stott  <grahams@redhat.com>
4870
4871         * c-tree.h (C_TYPE_FIELDS_READONLY): Uppercase macro parameter.
4872         (C_TYPE_FIELDS_VOLATILE): Likewise.
4873         (C_TYPE_BEING_DEFINED): Likewise.
4874         (C_IS_RESERVED_WORD): Likewise.
4875         (C_TYPE_VARIABLE_SIZE): Likewise.
4876         (C_DECL_VARIABLE_SIZE): Likewise.
4877         (C_MISSING_PROTOTYPE_WARNED): Likewise.
4878         (C_SET_EXP_ORIGINAL_CODE): Likewise.
4879         (C_TYPEDEF_EXPLICITLY_SIGNED): Uppercase macro parameter and remove
4880         parenthesis.
4881         (C_DECL_ANTICIPATED): Likewise.
4882         (c_build_type_variant): Add parenthesis.
4883
4884 2002-01-08  Joseph S. Myers  <jsm28@cam.ac.uk>
4885
4886         * gcc.c (option_map): Remove --version.
4887         (process_command): Handle -fversion following the GNU Coding
4888         Standards.  Partially addresses PR other/704.
4889
4890 2002-01-08  Graham Stott  <grahams@redhat.com>
4891
4892         * combine.c (combine_instructions): Fix typo.
4893
4894 2002-01-08  Graham Stott  <grahams@redhat.com>
4895
4896         * debug.h: Use "tree" and "rtx" throughout.
4897
4898         * debug.c: Likewise.
4899
4900 2002-01-08  Nick Clifton  <nickc@cambridge.redhat.com>
4901
4902         * dbxout.c (dbxout_symbol_location): If a symbol ref is in the
4903         constant pool, use the pool's version of the symbol instead.
4904
4905 2002-01-07  Richard Henderson  <rth@redhat.com>
4906
4907         * regrename.c (find_oldest_value_reg): Ignore the value chain if
4908         the original register was copied in a mode with a fewer number of
4909         hard registers than the desired mode.
4910         (copyprop_hardreg_forward_1): Likewise.
4911         (debug_value_data): Fix loop test.
4912         * toplev.c (parse_options_and_default_flags): Reenable
4913         -fcprop-registers at -O1.
4914
4915 2002-01-07  Aldy Hernandez  <aldyh@redhat.com>
4916
4917         * config/rs6000/rs6000.c (bdesc_2arg): Add altivec predicates.
4918         (altivec_init_builtins): New node v4si_ftype_v16qi_v16qi.
4919
4920         * config/rs6000/rs6000.h (rs6000_builtins): Add enums for altivec
4921         predicates.
4922
4923         * config/rs6000/rs6000.md: Add altivec predicate patterns.
4924
4925 2002-01-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4926
4927         * pa.c (FUNC_BEGIN_PROLOG_LABEL, current_function_number): Define.
4928         (pa_output_function_prologue): Output local label at the beginning of
4929         the prologue when profiling.
4930         (hppa_profile_hook): Use the local label rather than the function label.
4931         * pa.h (PROFILE_BEFORE_PROLOGUE): Define.
4932
4933 2002-01-07  Aldy Hernandez  <aldyh@redhat.com>
4934
4935         * config/rs6000/rs6000.c (print_operand): Remove extra space.
4936         (altivec_expand_unop_builtin): Fix thinko.
4937         (altivec_expand_binop_builtin): Same.
4938         (altivec_expand_ternop_builtin): Same.
4939         (altivec_expand_builtin): Same.
4940
4941 2002-01-07  Richard Henderson  <rth@redhat.com>
4942
4943         * config/rs6000/xcoff.h (ASM_FILE_START): Reverted to profile_flag.
4944
4945 2002-01-07  Jason Merrill  <jason@redhat.com>
4946
4947         * unwind-dw2.c (execute_cfa_program): Use < again.
4948
4949 2002-01-07  Jakub Jelinek  <jakub@redhat.com>
4950
4951         * predict.c (combine_predictions_for_insn): Avoid division by zero.
4952
4953 2002-01-07  Jakub Jelinek  <jakub@redhat.com>
4954
4955         * simplify-rtx.c (simplify_plus_minus): Bump n_ops for NOT.
4956         Don't allow -1 - x -> ~x simplifications in the first pass.
4957
4958 2002-01-07  Aldy Hernandez  <aldyh@redhat.com>
4959
4960         * rs6000.c (altivec_expand_ternop_builtin): Don't die on invalid
4961         arguments.
4962         (altivec_expand_binop_builtin): Same.
4963         (altivec_expand_unop_builtin): Same.
4964         (print_operand): Fix typo.
4965         (bdesc_1arg): Add vupk* variants.
4966
4967         * rs6000.h (rs6000_builtins): Add vupk* enums.
4968
4969         * rs6000.md: Add altivec_vupk* variants.
4970
4971 2002-01-07  Joseph S. Myers  <jsm28@cam.ac.uk>
4972
4973         * doc/gcc.texi, doc/gccint.texi, doc/cppinternals.texi,
4974         doc/install.texi, doc/invoke.texi, doc/rtl.texi: Update copyright
4975         and last update dates.
4976
4977 2002-01-07  Janis Johnson  <janis187@us.ibm.com>
4978
4979         * doc/rtl.texi (Flags): Clean up documentation of RTL flags
4980
4981 2002-01-07  Marek Michalkiewicz  <marekm@amelek.gda.pl>
4982
4983         * config/avr/avr.c (avr_mcu_types): Add new MCU types.
4984         * config/avr/avr.h (CPP_SPEC): Likewise.
4985         (LINK_SPEC): Likewise.
4986         (CRT_BINUTILS_SPECS): Likewise.
4987         * config/avr/t-avr (MULTILIB_MATCHES): Likewise.
4988         * doc/invoke.texi (AVR Options): Document them.
4989
4990 Mon Jan  7 11:59:34 CET 2002  Jan Hubicka  <jh@suse.cz>
4991
4992         * unroll.c (copy_loop_body): Always properly update JUMP_LABEL and
4993         LABEL_NUSES.
4994
4995 2002-01-07  Graham Stott  <grahams@redhat.com>
4996
4997         * config/i386/i386.h: Update copyright date.
4998         (HALF_PIC_PTR): Add parenthesis.
4999         (OPTIMIZATION_OPTIONS): Whitespace, add parenthesis and wrap.
5000         (CONSTANT_ALIGNMENT): Add parenthesis.
5001         (DATA_ALIGNMENT): Likewise.
5002         (LOCAL_ALIGNMENT): Likewise.
5003         (FUNCTION_ARG_BOUNDARY): Whitespace, add parenthesis and wrap.
5004         (IS_STACK_MODE): Uppercase macro parameter, add parenthesis and wrap.
5005         (CONDITIONAL_REGISTER_USAGE): Wrap in do {...} while (0).
5006         (HARD_REGNO_NREGS): Add paranethesis.
5007         (VALID_SSE_REG_MODE): Whitespace.
5008         (VALID_MMX_REG_MODE): Whitespace.
5009         (VALID_FP_MODE_P): Uppercase macros parameter and whitespace.
5010         (ix86_hard_regno_mode_ok): Add parenthesis.
5011         (HARD_REGNO_CALLER_SAVE_MODE): Whitespace.
5012         (RETURN_IN_MEMORY): Whitespace.
5013         (N_REG_CLASSES): Add parenthesis.
5014         (INTEGER_CLASS_P): Add parenthesis and wrap.
5015         (FLOAT_CLASS_P): Likewise.
5016         (SSE_CLASS_P): Likewise.
5017         (MMX_CLASS_P): Likewise.
5018         (MAYBE_INTEGER_CLASS_P): Likewise.
5019         (MAYBE_FLOAT_CLASS_P): Likewise.
5020         (MAYBE_SSE_CLASS_P): Likewise.
5021         (MAYBE_MMX_CLASS_P): Likewise.
5022         (Q_CLASS_P): Likewise.
5023         (GENERAL_REGNO_P): Uppercase macro parameter.
5024         (REX_INT_REGNO_P): Uppercase macro parameter and wrap.
5025         (FP_REGNO_P): Likewise.
5026         (ANY_FP_REGNO_P): Uppercase macro parameter.
5027         (SSE_REGNO_P): Likewise.
5028         (SSE_REGNO): Likewise.
5029         (SSE_REG_P): Likewise.
5030         (SSE_FLOAT_MODE_P): Likewise.
5031         (MMX_REGNO_P): Likewise.
5032         (MMX_REG_P):Likewise.
5033         (STACK_REG_P): Likewise.
5034         (NON_STACK_REG_P): Likewise.
5035         (STACK_TOP_P): Likewise.
5036         (CONVERT_HARD_REGISTER_TO_SSA_P): Add parenthesis.
5037         (PREFERRED_RELOAD_CLASS): Add parenthesis and whitespace.
5038         (SECONDARY_MEMORY_NEEDED): Likewise.
5039         (SECONDARY_OUTPUT_RELOAD_CLASS): Whitespace.
5040         (MD_ASM_CLOBBERS): Whitespace and wrap.
5041         (MUST_PASS_IN_STACK): Whitespace and wrap.
5042         (RETURN_POPS_ARGS): Add parenthesis.
5043         (INIT_CUMULATIVE_ARGS): Likewise.
5044         (FUNCTION_ARG): Likewise.
5045         (FUNCTION_OK_FOR_SIBCALL): Add parenthesis and whitespace.
5046         (SETUP_INCOMING_VARARGS): Likewise.
5047         (BUILD_VA_LIST_TYPE):  Add parenthesis.
5048         (EXPAND_BUILTIN_VA_START): Uppercase macro paremeters and add
5049         parenthsis.
5050         (EXPAND_BUILTIN_VA_ARG): Likewise.
5051         (FUNCTION_PROFILER): Wrap in do { ... } while (0) and add parenthesis.
5052         (INITIALIZE_TRAMPOLINE): Add parenthesis.
5053         (INITIAL_ELIMINATION_OFFSET): Likewise.
5054         (REGNO_OK_FOR_INDEX_P): Add parenthesis.
5055         (REGNO_OK_FOR_BASE_P): Likewise.
5056         (REGNO_OK_FOR_SIREG_P): Add parenthesis and wrap.
5057         (REGNO_OK_FOR_DIREG_P): Likewise.
5058         (REG_OK_FOR_INDEX_P): Whitespace.
5059         (REG_OK_FOR_BASE_P): Whitespace.
5060         (GO_IF_LEGITIMATE_ADDRESS): Wrap in do { ... } while (0) and add
5061         parenthesis.
5062         (FIND_BASE_TERM): Fix typo.
5063         (LEGITIMIZE_ADDRESS): Wrap in  { .. } while (0) and add parenthesis.
5064         (REWRITE_ADDRESS): Uppercase macro parameter and whitespace.
5065         (SYMBOLIC_CONST; Whitespace.
5066         (GO_IF_MODE_DEPENDENT_ADDRESS):Wrap in  { .. } while (0) and wrap.
5067         (ENCODE_SECTION_INFO): Whitespace.
5068         (FINALIZE_PIC): Remove do { ... } while (0).
5069         (PROMOTE_MODE): Wrap in do { ... } while (0).
5070         (CONST_COSTS): Whitespace.
5071         (RTX_COSTS): Add paramethesis, whitespace and wrap.
5072         (REGISTER_MOVE_COST): Add parenthesis.
5073         (MEMORY_MOVE_COST): Likewise.
5074         (EXTRA_CC_MODES): Whitespace.
5075         (SELECT_CC_MODE): Add parenthesis and whitespace.
5076         (DBX_REGISTER_NUMBER): Uppercase macro parameter and add parenthsis.
5077         (ASM_PREFERRED_EH_DATA_FORMAT): Add parenthesis and whitespace.
5078         (ASM_OUTPUT_LABEL): Add paramethesis.
5079         (ASM_OUTPUT_REG_PUSH): Add parenthesis and whitespace.
5080         (ASM_OUTPUT_REG_POP): Likewise.
5081         (ASM_OUTPUT_ADDR_VEC_ELT): Add parenthesis.
5082         (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
5083
5084         * config/i386/i386.c: Update copyright.
5085         (CHECK_STACK_LIMIT): Add parenthesis.
5086         (AT_BP): Uppercase macro parameter.
5087         (x86_64_int_parameter_registers): Constify.
5088         (x86_64_int_return_registers): Likewise.
5089         (ix86_compare_op0): Use rtx.
5090         (construct_container): Constify INTREG parameter.
5091         (function_arg): Use rtx.
5092
5093         * diagnostic.h: Update copyright date.
5094         (output_buffer_state): Add parenthesis.
5095         (output_buffer_format_args): Likewise.
5096
5097         * combine.c (combine_instructions): Replace XEXP (links, 0)
5098         with link.
5099
5100 2002-01-06  H.J. Lu <hjl@gnu.org>
5101
5102         * cfgcleanup.c (thread_jump): Fix 2 typos.
5103
5104 2002-01-06  Aldy Hernandez  <aldyh@redhat.com>
5105
5106         * config.gcc: Add support for --enable-altivec.
5107
5108 2002-01-06  Craig Rodrigues  <rodrigc@gcc.gnu.org>
5109
5110         * emit-rtl.c (gen_highpart): Add check for NULL_RTX.
5111
5112 2002-01-06  Jakub Jelinek  <jakub@redhat.com>
5113
5114         * objc/objc-act.c (handle_impent): Use assemble_variable to emit
5115         __objc_class_name_*.
5116
5117 2002-01-06  Craig Rodrigues  <rodrigc@gcc.gnu.org>
5118
5119         * doc/install.texi (sparcv9-*-solaris2*): Add documentation.
5120
5121 2002-01-06  Richard Henderson  <rth@redhat.com>
5122
5123         * reorg.c (emit_delay_sequence): Remove death notes, not merely
5124         nop them out.  Increment label reference count for REG_LABEL.
5125         (fill_slots_from_thread): Frob label reference count around
5126         delete_related_insns.
5127
5128 2002-01-05  Richard Henderson  <rth@redhat.com>
5129
5130         * cfgcleanup.c (try_forward_edges): Detect infinite loops while
5131         jump threading.
5132
5133 2002-01-05  Richard Henderson  <rth@redhat.com>
5134
5135         * c-decl.c (c_expand_body): Don't call outlining_inline_function.
5136         * integrate.c (output_inline_function): Likewise.
5137         * toplev.c (rest_of_compilation): Do it here instead.  Move call
5138         to remove_unnecessary_notes after emitting abstract instance.
5139         Force an emitted nested function to have its parent emited as well.
5140         * dwarf2out.c (loc_descriptor_from_tree): Read mode after checking
5141         for null.
5142         (rtl_for_decl_location): Do not look at reload data structures
5143         before reload has run.
5144
5145 2002-01-05  Kazu Hirata  <kazu@hxi.com>
5146
5147         * cse.c: Fix formatting.
5148         * dwarf2asm.c: Likewise.
5149         * dwarf2out.c: Likewise.
5150         * explow.c: Likewise.
5151         * expmed.c: Likewise.
5152         * function.c: Likewise.
5153         * gcov.c: Likewise.
5154         * gencheck.c: Likewise.
5155         * genrecog.c: Likewise.
5156         * ggc-common.c: Likewise.
5157         * ggc-page.c: Likewise.
5158         * global.c: Likewise.
5159
5160 2002-01-05  Kazu Hirata  <kazu@hxi.com>
5161
5162         * combine.c: Fix formatting.
5163
5164 2002-01-05  Craig Rodrigues  <crodrigu@bbn.com>
5165
5166         PR middle-end/1557
5167         * config/ia64/ia64.h (RENAME_EXTENDED_BLOCKS): Remove.
5168
5169 2002-01-05  David Edelsohn  <edelsohn@gnu.org>
5170
5171         * config/rs6000/rs6000.h (TARGET_POWERPC): For IN_LIBGCC2, define
5172         as 1 for __powerpc64__ as well.
5173
5174         * config/rs6000/t-aix43 (T_ADAFLAGS): Define.
5175
5176         * alias.c (find_base_value, PLUS/MINUS): If we found a base,
5177         return it.
5178
5179 2002-01-05  Daniel Berlin  <dan@dberlin.org>
5180
5181         * lcm.c: Revert change, due to performance regression it causes on
5182         SPEC because it's slightly more conservative (sigh, I hate
5183         edge-based LCM).
5184
5185 Sat Jan  5 11:52:05 CET 2002  Jan Hubicka  <jh@suse.cz>
5186
5187         * cfgcleanup.c (try_forward_edges): Allow multiple jump threading.
5188
5189 2002-01-05  Neil Booth  <neil@daikokuya.demon.co.uk>
5190
5191         * doc/cppinternals.texi: Update.
5192
5193 2002-01-05  Hans-Peter Nilsson  <hp@bitrange.com>
5194
5195         * doc/invoke.texi (Option Summary) <MMIX Options>: Document
5196         -mbranch-predict, -mreg-stack-fill-bug-workaround and their
5197         negatives.
5198         (MMIX Options): Ditto.  Fix item/itemx typo for -mno-zero-extend.
5199         * config/mmix/mmix.c (mmix_target_asm_function_prologue): Rework
5200         kludge for pre-october-14th mmix versions to handle new-found bug
5201         with PUSHJ/PUSHGO and the register stack.
5202         * config/mmix/mmix.h (struct machine_function): Rename member
5203         has_call_value_without_parameters to has_call_without_parameters.
5204         All referers changed.
5205         (TARGET_MASK_REG_STACK_FILL_BUG, TARGET_DEFAULT
5206         TARGET_MASK_BRANCH_PREDICT): New macros.
5207         (TARGET_SWITCHES): New options -mreg-stack-fill-bug-workaround,
5208         -mno-reg-stack-fill-bug-workaround.
5209         * config/mmix/mmix.md ("call"): Set struct machine member
5210         has_call_without_parameters.
5211
5212 Sat Jan  5 02:20:22 CET 2002  Jan Hubicka  <jh@suse.cz>
5213
5214         * cfgcleanup.c (thread_jump): Fix handling of reversed branches.
5215
5216 Sat Jan  5 01:35:29 CET 2002  Jan Hubicka  <jh@suse.cz>
5217
5218         * cfgcleanup.c: Include tm_p.h
5219         (mark_effect): Fix handling of hard register; fix handling of SET
5220
5221 2002-01-04  Kazu Hirata  <kazu@hxi.com>
5222
5223         * config/h8300/h8300.md (anonymous patterns): Check that
5224         operands are registers before using REGNO on them.
5225
5226 2002-01-03  Roland McGrath  <roland@frob.com>
5227
5228         * doc/invoke.texi (RS/6000 and PowerPC Options): Add -mcall-gnu.
5229
5230 2002-01-04  Jakub Jelinek  <jakub@redhat.com>
5231
5232         * tree.h (expand_expr_stmt_value): Add maybe_last argument.
5233         * c-common.h (genrtl_expr_stmt_value): Likewise.
5234         * stmt.c (expand_expr_stmt): Pass 1 as maybe_last.
5235         (expand_expr_stmt_value): Add maybe_last argument.
5236         Don't warn about statement with no effect if it is the last statement
5237         in expression statement.
5238         * c-semantics.c (genrtl_expr_stmt): Pass 1 as maybe_last.
5239         (genrtl_expr_stmt_value): Add maybe_last argument, pass it down to
5240         expand_expr_stmt_value.
5241         (expand_stmt) [EXPR_STMT]: Pass 1 as maybe_last to
5242         genrtl_expr_stmt_value if t is the last EXPR_STMT in its scope.
5243         * expr.c (expand_expr) [LABELED_BLOCK_EXPR, LOOP_EXPR]: Pass 1
5244         as maybe_last to expand_expr_stmt_value.
5245
5246 Fri Jan  4 11:45:05 2002  Jeffrey A Law  (law@redhat.com)
5247
5248         * c-common.c (c_expand_start_cond): Expect the IF_STMT node to
5249         be passed in, do not build it.
5250         (c_begin_if_stmt): New function.
5251         (c_begin_while_stmt, c_finish_while_stmt_cond): Likewise.
5252         * c-common.h (c_expand_start_cond): Update prototype.
5253         (c_begin_if_stmt): Prototype new function.
5254         (c_begin_while_stmt, c_finish_while_stmt_cond): Likewise.
5255         * c-parse.in (if_prefix): Use c_begin_if_stmt,
5256         c_begin_while_stmt and c_finish_while_stmt_cond.
5257
5258 2002-01-04  William Cohen  <wcohen@redhat.com>
5259
5260         * config/pa/elf.h (ASM_FILE_START): Reverted to profile_flag.
5261         * config/pa/pa-linux.h (ASM_FILE_START): Likewise.
5262         * config/pa/pa64-hpux.h (ASM_FILE_START): Likewise.
5263         * config/pa/som.h (ASM_FILE_START): Likewise.
5264
5265 2002-01-04  Daniel Berlin  <dan@cgsoftware.com>
5266
5267         * lcm.c: Include df.h.
5268         Add available_transfer_function prototype.
5269         (compute_available): Rework to use iterative dataflow framework.
5270         (struct bb_info): s/bb_info/lcm_bb_info/g to avoid conflict
5271         with bb_info in df.h
5272         (available_transfer_function): New function.
5273
5274         * Makefile.in (lcm.o): add df.h to dependencies.
5275
5276 2002-01-04  Richard Henderson  <rth@redhat.com>
5277
5278         * config/alpha/alpha.c (some_operand): Accept HIGH.
5279         (input_operand): Likewise; accept simple references to globals.
5280         (alpha_const_ok_for_letter_p): New, outlined from alpha.h.
5281         (alpha_const_double_ok_for_letter_p): Likewise.
5282         (alpha_extra_constraint): Likewise.
5283         (alpha_preferred_reload_class): Likewise.  Do not force
5284         symbolic constants to memory.
5285         (alpha_legitimate_address_p): Accept simple references
5286         to small_symbolic_operand.
5287         (alpha_legitimize_address): New arg scratch.  Be prepared to be
5288         called when no_new_pseudos.  Emit simple symbolic references.
5289         Split integers into low, high, and rest.
5290         (alpha_expand_mov): Use alpha_legitimize_address.
5291         (some_small_symbolic_mem_operand): New.
5292         (split_small_symbolic_mem_operand): New.
5293         * config/alpha/alpha-protos.h: Update.
5294         * config/alpha/alpha.h (CONST_OK_FOR_LETTER_P): Out-line.
5295         (CONST_DOUBLE_OK_FOR_LETTER_P): Likewise.
5296         (EXTRA_CONSTRAINT): Likewise.
5297         (PREFERRED_RELOAD_CLASS): Likewise.
5298         (LEGITIMIZE_ADDRESS): Update for alpha_legitimize_address change.
5299         (PREDICATE_CODES): Update.
5300         * config/alpha/alpha.md: New post-reload splitters to convert
5301         simplfied symbolic operands to the form that references $29.
5302         (divide expanders): Use emit_move_insn, not gen_movdi_er_high_g.
5303         (movdi_er_nofix, movdi_er_fix): Accept any symbolic operand.
5304
5305 2002-01-03  Richard Henderson  <rth@redhat.com>
5306
5307         * local-alloc.c (function_invariant_p): Update commentary.
5308
5309 2002-01-04  H.J. Lu <hjl@gnu.org>
5310
5311         * toplev.c (rest_of_compilation): Fix a typo when calling
5312         cleanup_cfg.
5313
5314 2002-01-03  Kazu Hirata  <kazu@hxi.com>
5315
5316         * c-common.c: Fix formatting.
5317         * diagnostic.c: Likewise.
5318         * doloop.c: Likewise.
5319         * dwarf2out.c: Likewise.
5320
5321 2002-01-03  Kazu Hirata  <kazu@hxi.com>
5322
5323         * config/h8300/h8300.c (output_logical_op): Use 'not.w' instead
5324         of 'neg.w' when xoring with 0x0000ffff or 0xffff0000.
5325
5326 2002-01-03  Neil Booth  <neil@daikokuya.demon.co.uk>
5327
5328         * cpperror.c: Update comments and copyright.
5329         * cppexp.c, cppfiles.c, cpphash.c, cpphash.h, cppinit.c,
5330         cpplex.c, cpplib.c, cpplib.h, cppmacro.c, cppmain.c: Similarly.
5331
5332 2002-01-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5333
5334         * collect2.c (main): Use strcmp when testing for "-shared".
5335
5336 2002-01-03  Neil Booth  <neil@daikokuya.demon.co.uk>
5337
5338         * cppmacro.c: Don't include intl.h.  Update comments.
5339         (new_number_token): Allocate enough buffer for 64-bit unsigned
5340         integers; update prototype.
5341         * cppmain.c: Update comments.
5342
5343 2002-01-03  William Cohen  <wcohen@redhat.com>
5344
5345         * function.h (struct function): Add profile.
5346         (current_function_profile): New.
5347         doc/extend.texi: Update documentation.
5348         * final.c (final_start_function): Use current_function_profile
5349         instead of profile_flag.
5350         (profile_after_prologue): Likewise.
5351         * function.c (expand_function_start): Likewise.
5352         (expand_function_start): Likewise.
5353         * config/alpha/alpha.c (direct_call_operand):
5354         (alpha_does_function_need_gp): Likewise.
5355         (alpha_expand_prologue): Likewise.
5356         * config/arm/arm.c (arm_expand_prologue): Likewise.
5357         thumb_expand_prologue: Likewise.
5358         * config/d30v/d30v.c (d30v_stack_info): Likewise.
5359         * config/fr30/fr30.c (MUST_SAVE_RETURN_POINTER): Likewise.
5360         (fr30_expand_prologue): Likewise.
5361         * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Likewise.
5362         * config/i386/i386.c (ix86_osf_output_function_prologue): Likewise.
5363         * config/i386/i386.h (FINALIZE_PIC): Likewise.
5364         * config/i386/win32.h (SUBTARGET_PROLOGUE): Likewise.
5365         * config/i960/i960.c (i960_output_function_prologue): Likewise.
5366         * config/ia64/ia64.c (ia64_compute_frame_size): Likewise.
5367         * config/m32r/m32r.c (MUST_SAVE_RETURN_ADDR): Likewise.
5368         (m32r_expand_prologue): Likewise.
5369         * config/m88k/m88k.c (m88k_layout_frame): Likewise.
5370         (m88k_expand_prologue): Likewise.
5371         * config/m88k/m88k.h (ADJUST_INSN_LENGTH): Likewise.
5372         * config/mips/mips.c (compute_frame_size): Likewise.
5373         (mips_expand_prologue): Likewise.
5374         (mips_can_use_return_insn): Likewise.
5375         * config/pa/elf.h (ASM_FILE_START): Likewise.
5376         * config/pa/pa-linux.h (ASM_FILE_START): Likewise.
5377         * config/pa/pa64-hpux.h (ASM_FILE_START): Likewise.
5378         * config/pa/som.h (ASM_FILE_START): Likewise.
5379         * config/romp/romp.c (romp_using_r14): Likewise.
5380         * config/rs6000/rs6000.c (first_reg_to_save): Likewise.
5381         (rs6000_stack_info): Likewise.
5382         * config/rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
5383         * config/rs6000/xcoff.h (ASM_FILE_START): Likewise.
5384         * config/v850/v850.c (compute_register_save_size): Likewise.
5385
5386 2002-01-03  Jakub Jelinek  <jakub@redhat.com>
5387
5388         * simplify-rtx.c (simplify_binary_operation) [DIV]: If
5389         gen_lowpart_common fails, use gen_lowpart_SUBREG.
5390
5391 2002-01-03  Turly O'Connor  <turly@apple.com>
5392
5393         * darwin.c (machopic_output_possible_stub_label): Don't generate
5394         stub routines for pseudo-stubs which we've just defined.
5395
5396 2002-01-03  Kazu Hirata  <kazu@hxi.com>
5397
5398         * builtins.c: Fix formatting.
5399         * c-typeck.c: Likewise.
5400         * combine.c: Likewise.
5401         * expr.c: Likewise.
5402         * loop.c: Likewise.
5403
5404 2002-01-03  Andreas Schwab  <schwab@suse.de>
5405
5406         * cppfiles.c (_cpp_pop_file_buffer): Change return type to bool
5407         and return true if _cpp_push_next_buffer pushed a new include
5408         file.
5409         * cpplib.c (_cpp_pop_buffer): Only call obstack_free if
5410         _cpp_pop_file_buffer did not push a new file.
5411         * cpphash.h (_cpp_pop_file_buffer): Update declaration.
5412
5413 2002-01-02  Eric Christopher  <echristo@redhat.com>
5414
5415         * final.c (final_scan_insn): Change 0 -> NULL_RTX in
5416         FIND_REG_INC_NOTE call. Update copyright.
5417         * loop.c (canonicalize_condition): Ditto.
5418         * reorg.c (delete_scheduled_jump): Ditto.
5419
5420 2002-01-03  Kazu Hirata  <kazu@hxi.com>
5421
5422         * gcse.c: Fix formatting.
5423
5424 2002-01-03  Graham Stott  <grahams@redhat.com>
5425
5426         * mkconfig.sh: Output to config.h, hconfig.h and tconfig.h
5427         forward defs for struct tags rtx_def, union_tree, rtvec_def
5428         also output corresponding typedefs for rtx, tree, and rtvec.
5429
5430         * system.h: Move forward defs for struct tags rtx_def, union_tree,
5431         rtvec_def along with corresponding typedefs for rtx, tree, and
5432         rtvec to config.h, hconfig.h, tconfig.h.
5433
5434 2002-01-03  Graham Stott  <grahams@redhat.com>
5435
5436         * tree.h: Update copyright date.
5437         (IS_EXPR_CODE_CLASS): Add parenthesis.
5438         (TREE_SET_CODE): Add whitespace.
5439         (TREE_CHECK): Add parenthesis.
5440         (TREE_CLASS_CODE): Add parenthesis and wrap long line.
5441         (CST_OR_CONSTRUCTOR_CHECK):
5442         (EXPR_CHECK): Add parenthis, whitespace and wrap line.
5443         (TREE_SYMBOL_REFERENCED): Whitespace.
5444         (INT_CST_LT): Likewise.
5445         (INT_CST_LT_UNSIGNED): Likewise.
5446         (tree_real_cst): Unwrap comment.
5447         (tree_string): Likewise.
5448         (tree_complex): Likewise.
5449         (IDENTIFIER_POINTER): correct cast.
5450         (SAVE_EXPR_CONTEXT): Whitespace.
5451         (EXPR_WFL_FILENAME_NODE): Likewise.
5452         (EXPR_WFL_FILENAME): Remove parenthesis.
5453         (DECL_ORIGIN): Add parenthesis.
5454         (DECL_FROM_INLINE): Use NULL_TREE.
5455         (build_int_2): Whitespace.
5456         (build_type_variant): Add parenthesis.
5457
5458         * gcc/jcf-parse.c: Update copyright date.
5459         (yyparse): Constify resource_filename.
5460
5461 2002-01-03  Graham Stott  <grahams@redhat.com>
5462
5463         * rtl.h: Update copyright date.
5464         (RTL_CHECK1): Wrap long line.
5465         (RTL_CHECK2): Likewise.
5466         (RTL_CHECKC1): Wrap long line and whitespace.
5467         (RTL_CHECKC2): Likewise.
5468         (XWINT): Whitespace.
5469         (XINT): Likewise.
5470         (XSTR): Likewise.
5471         (XEXP): Likewise.
5472         (XVEC): Likewise.
5473         (XMODE): Likewise.
5474         (XBITMAP): Likewise.
5475         (XTREE): Likewise.
5476         (XBBDEF): Likewise.
5477         (XTMPL): Likewise.
5478         (X0WINT): Likewise.
5479         (X0INT):Likewise.
5480         (X0UINT): Likewise.
5481         (X0STR): Likewise.
5482         (X0EXP): Likewise.
5483         (X0VEC): Likewise.
5484         (X0MODE): Likewise.
5485         (X0BITMAP): Likewise.
5486         (X0TREE): Likewise.
5487         (X0BBDEF): Likewise.
5488         (X0ADVFLAGS): Likewise.
5489         (X0CSELIB): Likewise.
5490         (X0MEMATTR): Likewise.
5491         (XCWINT): Likewise.
5492         (XCINT): Likewise.
5493         (XCUINT): Likewise.
5494         (XCSTR): Likewise.
5495         (XCEXP): Likewise.
5496         (XCVEC): Likewise.
5497         (XCMODE): Likewise.
5498         (XCBITMAP): Likewise.
5499         (XCTREE): Likewise.
5500         (XCBBDEF): Likewise.
5501         (XCADVFLAGS): Likewise.
5502         (XCCSELIB): Likewise.
5503         (XC2EXP): Likewise.
5504         (INSN_UID): Likewise.
5505         (PREV_INSN): Likewise.
5506         (PATTERN): Likewise.
5507         (INSN_CODE): Likewise.
5508         (PUT_REG_NOTE_KIND): Likewise.
5509         (CODE_LABEL_NUMBER): Likewise.
5510         (NOTE_SOURCE_FILE): Likewise.
5511         (NOTE_BLOCK): Likewise.
5512         (NOTE_EH_HANDLER): Likewise.
5513         (NOTE_RANGE_INFO): Likewise.
5514         (NOTE_LIVE_INFO): Likewise.
5515         (NOTE_BASIC_BLOCK): Likewise.
5516         (NOTE_EXPECTED_VALUE): Likewise.
5517         (NOTE_LINE_NUMBER): Likewise.
5518         (LABEL_NAME): Likewise.
5519         (LABEL_NUSES): Likewise.
5520         (LABEL_ALTERNATE_NAME): Likewise.
5521         (ADDRESSOF_DECL): Likewise.
5522         (JUMP_LABEL): Likewise.
5523         (LABEL_NEXTREF): Likewise.
5524         (REGNO): Likewise.
5525         (ORIGINAL_REGNO: Likewise.
5526         (HARD_REGISTER_NUM_P): Add parenthesis.
5527         (SUBREG_REG): Whitespace.
5528         (SUBREG_BYTE): Likewise.
5529         (ASM_OPERANDS_TEMPLATE): Remove parenthesis.
5530         (ASM_OPERANDS_OUTPUT_CONSTRAINT): Likewise.
5531         (ASM_OPERANDS_OUTPUT_IDX): Likewise.
5532         (ASM_OPERANDS_INPUT_VEC): Likewise.
5533         (ASM_OPERANDS_INPUT_CONSTRAINT_VEC): Likewise.
5534         (ASM_OPERANDS_INPUT): Likewise.
5535         (ASM_OPERANDS_INPUT_LENGTH): Likewise.
5536         (ASM_OPERANDS_INPUT_CONSTRAINT_EXP): Likewise.
5537         (ASM_OPERANDS_INPUT_CONSTRAINT): Likewise.
5538         (ASM_OPERANDS_INPUT_MODE): Likewise.
5539         (ASM_OPERANDS_SOURCE_FILE): Likewise.
5540         (ASM_OPERANDS_SOURCE_LINE): Likewise.
5541         (MEM_SET_IN_STRUCT_P): Minor reformat.
5542         (TRAP_CONDITION): Whitespace.
5543         (TRAP_CODE): Likewise.
5544         (COND_EXEC_TEST): Likewise.
5545         (COND_EXEC_CODE): Likewise.
5546         (FIND_REG_INC_NOTE): Uppercase macro args and add parenthesis.
5547         (PHI_NODE_P): Add parenthesis.
5548         (plus_constant): Whitespace and add parenthesis.
5549
5550 2002-01-03  Kazu Hirata  <kazu@hxi.com>
5551
5552         * config/avr/avr.c: Fix comment typos.
5553         * config/c4x/c4x.md: Likewise.
5554         * config/dsp16xx/dsp16xx.h: Likewise.
5555         * config/dsp16xx/dsp16xx.md: Likewise.
5556         * config/i386/i386.md: Likewise.
5557         * config/ia64/ia64.c: Likewise.
5558         * config/m32r/m32r.h: Likewise.
5559         * config/m68hc11/m68hc11.md: Likewise.
5560         * config/mmix/mmix.c: Likewise.
5561         * config/mn10200/mn10200.c: Likewise.
5562         * config/romp/romp.c: Likewise.
5563         * config/sh/sh.c: Likewise.
5564         * config/stormy16/stormy16.c: Likewise.
5565         * config/stormy16/stormy16.h: Likewise.
5566         * config/stormy16/stormy16.md: Likewise.
5567
5568 2002-01-03  Graham Stott  <grahams@redhat.com>
5569
5570         * loop.h: Update copyright date.
5571         (LOOP_MOVABLES): Fix typo.
5572         (LOOP_REGS): Likewise.
5573         (LOOP_IVS): Likewise.
5574
5575 2002-01-03  Graham Stott  <grahams@redhat.com>
5576
5577         * cppinit.c: Update copyright date.
5578         Don't include output.h
5579         * Makefile.in: Update copyright date.
5580         Update dependency.
5581
5582 2002-01-02  Craig Rodrigues  <rodrigc@gcc.gnu.org>
5583
5584         PR c/5226
5585         * invoke.texi (-mthreads): Remove from documented RS/6000 options.
5586         (-pthread) Add to RS/6000 options.
5587
5588 2002-01-02  Kazu Hirata  <kazu@hxi.com>
5589
5590         * except.c: Fix comment typos.
5591         * loop.c: Likewise.
5592         * varasm.c: Likewise.
5593         * doc/tm.texi: Fix a typo.
5594
5595 2002-01-02  Jakub Jelinek  <jakub@redhat.com>
5596
5597         * c-typeck.c (output_init_element): Allow initializing static storage
5598         duration objects with compound literals.
5599
5600 2002-01-02  Richard Henderson  <rth@redhat.com>
5601
5602         * objc/objc-act.c (hack_method_prototype): Clear current_function_decl
5603         after abusing it.
5604
5605 2002-01-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5606
5607         * gcc.c (default_compilers): Const-ify.
5608         * mips-tdump.c (stab_names): Likewise.
5609         * mips-tfile.c (map_coff_types, map_coff_storage,
5610         map_coff_sym_type, map_coff_derived_type, stabs_symbol,
5611         pseudo_ops_t, pseudo_ops): Likewise.
5612         * protoize.c (default_include): Likewise
5613
5614         * real.c (GET_REAL, PUT_REAL): Don't cast away const-ness.
5615         (ezero, ehalf, eone, etwo, e32, elog2, esqrt2, epi): Const-ify.
5616         Add array size in declaration.
5617         (endian, emov, eisneg, eisinf, eisnan, eiisnan, eiisneg, emovi,
5618         emovo, emovz, eiisinf, ecmpm, eaddm, esubm, m16m, edivm, emulm,
5619         esub, eadd, eadd1, ediv, emul, e53toe, e64toe, e113toe, e24toe,
5620         etoe113, etoe64, etoe53, etoe24, ecmp, eround, ltoe, ultoe,
5621         eifrac, euifrac, e24toasc, e53toasc, e64toasc, e113toasc, etoasc,
5622         efloor, efrexp, eldexp, eremain, dectoe, etodec, ibmtoe, etoibm,
5623         c4xtoe, etoc4x, uditoe, ditoe, etoudi, etodi, esqrt, etens,
5624         emtens, make_nan): Const-ify.
5625         (TFbignan, TFlittlenan, XFbignan, XFlittlenan, DFbignan,
5626         DFlittlenan, SFbignan, SFlittlenan): Make static and const-ify.
5627
5628 2002-01-02  Joseph S. Myers  <jsm28@cam.ac.uk>
5629
5630         * config.gcc (ia64-*-*): Set extra_headers.
5631         (alpha*-dec-osf*): Likewise.  Don't use alpha/t-osf.
5632         * config/alpha/t-osf: Remove.
5633         * config/ia64/t-ia64 (EXTRA_HEADERS): Remove.
5634
5635 2002-01-02  David Edelsohn  <edelsohn@gnu.org>
5636
5637         * config/rs6000/t-aix43: Revert previous change.
5638
5639 2002-01-02  Jason Merrill  <jason@redhat.com>
5640
5641         * c-decl.c (c_expand_body): Call outlining_inline_function when
5642         emitting an inline function out of line.
5643
5644 2002-01-02  Richard Henderson  <rth@redhat.com>
5645
5646         * dwarf2out.c (limbo_die_node): Add created_for member.
5647         (new_die): New argument created_for.  Update all callers.
5648         (mark_limbo_die_list): New.
5649         (dwarf2out_init): Register limbo_die_list as a root.
5650         (dwarf2out_finish): Force insert limbo dies into their function
5651         context.
5652
5653 2002-01-02  Nathan Sidwell  <nathan@codesourcery.com>
5654
5655         PR c++/5089
5656         * doc/invoke.texi (-Wold-style-cast): Only warn about non-void casts.
5657
5658 2002-01-02  Kazu Hirata  <kazu@hxi.com>
5659
5660         * config/h8300/fixunssfsi.c: Update copyright.
5661         Fix comment typos.
5662         Fix formatting.
5663         * config/h8300/h8300.c: Update copyright.
5664         Eliminate warnings.
5665
5666 2002-01-02  Kazu Hirata  <kazu@hxi.com>
5667
5668         * config/romp/romp.c: Fix comment formatting.
5669         * config/romp/romp.h: Likewise.
5670         * config/romp/romp.md: Likewise.
5671         * config/s390/s390.c: Likewise.
5672         * config/stormy16/stormy16.c: Likewise.
5673         * config/stormy16/stormy16.h: Likewise.
5674
5675 2002-01-02  Alexandre Oliva  <aoliva@redhat.com>
5676
5677         * c-common.h (genrtl_expr_stmt_value): Declare.
5678         * c-semantics.c (genrtl_goto_stmt): Redirect to...
5679         (genrtl_goto_stmt_value): ... this new function.  Pass new
5680         argument down to expand_expr_stmt_value, taking
5681         TREE_ADDRESSABLE into account.
5682         * c-common.c (c_expand_expr): Mark the last EXPR_STMT of a
5683         STMT_EXPR as addressable, i.e., one whose result we want.
5684         * expr.c (expand_expr): Don't save expression statement value
5685         of labeled_blocks or loop_exprs.
5686         * stmt.c (expand_expr_stmt): Redirect to...
5687         (expand_expr_stmt_value): ... this new function.  Use new
5688         argument to tell whether to save expression value.
5689         (expand_end_stmt_expr): Reset last_expr_type and
5690         last_expr_value if we don't have either.
5691         * tree-inline.c (declare_return_variable): Mark its use
5692         statement as addressable.
5693         * tree.h: Document new use of TREE_ADDRESSABLE.
5694         (expand_expr_stmt_value): Declare.
5695
5696 2002-01-01  Tom Rix  <trix@redhat.com>
5697
5698         * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Fix for use by
5699         rs6000_emit_allocate_stack.
5700
5701 2002-01-01  Joseph S. Myers  <jsm28@cam.ac.uk>
5702
5703         * configure.in: Prepend ${srcdir}/config/${cpu_type}/ instead of
5704         ${srcdir}/ginclude/ to every entry in extra_headers.
5705         * configure: Regenerate.
5706         * ginclude/math-3300.h: Rename to config/m68k/math-3300.h.
5707         * ginclude/math-68881.h: Rename to config/m68k/math-68881.h.
5708         * ginclude/ppc-asm.h: Rename to config/rs6000/ppc-asm.h.
5709         * ginclude/proto.h: Rename to config/convex/proto.h.
5710
5711 Tue Jan  1 17:12:56 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5712
5713         * attribs.c (handle_vector_size_attribute): Use host_integerp
5714         and tree_int_cst; remove warnings.
5715         * caller-save.c (insert_restore): Add cast to get rid of warning.
5716         (insert_save): Likewise.
5717         * emit-rtl.c (adjust_address_1, offset_address): Likewise.
5718         * regmove.c (find_matches): Add temporary var to kill a warning.
5719
5720 2002-01-01  Douglas B Rupp  <rupp@gnat.com>
5721
5722         * config/alpha/vms.h (DWARF2_UNWIND_INFO, EH_RETURN_HANDLER_RTX,
5723         LINK_EH_SPEC, MD_FALLBACK_FRAME_STATE_FOR): Define.
5724         * config/alpha/t-vms (EXTRA_PARTS): Add vms-dwarf2eh.o
5725         (vms-dwarf2eh.o): Add Makefile rule.
5726         * config/alpha/vms-ld.c (main): Handle vms-dwarf2eh.o.
5727         * config/alpha/vms-dwarf2eh.asm: New file.
5728
5729         * gcc.c (delete_if_ordinary): Delete all versions.
5730
5731 2002-01-01  Hans-Peter Nilsson  <hp@bitrange.com>
5732
5733         * config/mmix/mmix.md: Update FIXME to not mention
5734         define_constants.
5735         (MMIX_rJ_REGNUM): New define_constants constant.
5736         ("movqi", "movsi", "movdi", "*movdicc_real_foldable",
5737         "*movdicc_real"): Adjust contraints formatting.
5738         ("*bCC_foldable"): Add %+ for P in output format and delete FIXME
5739         for branch prediction.
5740         ("*bCC", "*bCC_inverted_foldable", "*bCC_inverted"): Add %+ in
5741         output template.
5742         ("*call_real", "*call_value_real", "nonlocal_goto_receiver",
5743         "*nonlocal_goto_receiver_expanded"): Use MMIX_rJ_REGNUM instead of
5744         number.  Delete related FIXMEs.
5745         * config/mmix/mmix.h (MMIX_INCOMING_RETURN_ADDRESS_REGNUM): Change
5746         from number to MMIX_rJ_REGNUM.
5747         (TARGET_MASK_BRANCH_PREDICT): New.
5748         (TARGET_DEFAULT): Change to TARGET_MASK_BRANCH_PREDICT.
5749         (TARGET_SWITCHES): Update comment.  Correct -mno-toplevel-symbols
5750         value.  Add -mbranch-predict and -mno-branch-predict.
5751         (TARGET_VERSION): Drop date.
5752         (ADDITIONAL_REGISTER_NAMES): Use MMIX_rJ_REGNUM, not number.
5753         * config/mmix/mmix.c (mmix_encode_section_info): Correct condition
5754         for finding out global symbols.
5755         (mmix_asm_output_labelref): Revert condition for global symbol.
5756         (mmix_print_operand): <case '+'>: Emit P for a likely branch.
5757         (mmix_print_operand_punct_valid_p): A '+' is valid.
5758
5759 See ChangeLog.6 for earlier changes.