OSDN Git Service

PR target/5170
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2002-03-15  Richard Earnshaw  <rearnsha@arm.com>
2
3         PR target/5170
4         * arm.md (split pattern for thumb shiftable immediates): Add comment
5         explaining non-obvious test.
6
7 2002-03-15  Richard Earnshaw  <rearnsha@arm.com>
8
9         PR target/5712
10         * arm.md (movaddr, movaddr_insn): Delete.
11
12 2002-03-15  Jason Merrill  <jason@redhat.com>
13
14         * toplev.c (wrapup_global_declarations): Clarify variable handling.
15         -fkeep-static-consts doesn't apply to comdats.
16
17 2002-03-14  Richard Henderson  <rth@redhat.com>
18
19         * c-decl.c: Include c-pragma.h.
20         (start_decl, start_function): Invoke maybe_apply_pragma_weak.
21         (finish_function): Tidy.
22         * c-pragma.c: Include c-common.h.
23         (pending_weaks, apply_pragma_weak, maybe_apply_pragma_weak): New.
24         (handle_pragma_weak): Use them.
25         (init_pragma): Register pending_weaks.
26         * c-pragma.h (maybe_apply_pragma_weak): Declare.
27         * print-tree.c (print_node): Print DECL_WEAK.
28         * varasm.c (mark_weak_decls): Remove.
29         (remove_from_pending_weak_list): Remove.
30         (add_weak): Remove.
31         (asm_emit_uninitialised): Call globalize_decl for weak commons.
32         (weak_decls): Make a tree_list.
33         (declare_weak): Cons weak_decls directly.
34         (globalize_decl): Remove weak_decls elements directly.
35         (weak_finish): Simplify weak_decls walk.  Don't weaken unused
36         symbols.  Don't pretend to handle aliases.
37         (init_varasm_once): Update weak_decls registry.
38         * Makefile.in: Update dependencies.
39
40 2002-03-14  Richard Henderson  <rth@redhat.com>
41
42         PR target/5312
43         * config/ia64/ia64.c: Include tm_p.h last.
44         (gen_nop_type): Remove duplicate definition.
45         (cycle_end_fill_slots): Set sched_data for second L slot.
46         (maybe_rotate): Call cycle_end_fill_slots to fill in nop slots.
47         (nop_cycles_until): Fix typos.
48
49 2002-03-15  Jakub Jelinek  <jakub@redhat.com>
50
51         PR optimization/5891
52         * unroll.c (copy_loop_body) [CALL_INSN]: Copy SIBLING_CALL_P flag.
53
54 2002-03-14  David Mosberger <davidm@hpl.hp.com>, Hans Boehm <Hans_Boehm@hp.com>
55
56         * config/ia64/unwind-ia64.c: Handle copy_state and label_state
57           descriptors correctly.
58
59 2002-03-14  Michael Meissner  <meissner@redhat.com>
60
61         * params.def (PARAM_MAX_UNROLLED_INSNS): New macro, default to
62         100, allowing MAX_UNROLLED_INSNS to be overridden.
63
64         * params.h (MAX_UNROLLED_INSNS): Define so it can be overridden by
65         --param.
66
67         * unroll.c (params.h): Include.
68         (MAX_UNROLLED_INSNS): Delete, now in params.h.
69
70         * doc/invoke.texi (--param max-unroll-insns): Document.
71
72         * Makefile.in (unroll.o): Add $(PARAMS_H) dependency.
73
74 2002-03-14  Richard Earnshaw  <rearnsha@arm.com>
75
76         * arm.md: Fix warnings about constraints in peepholes and splits.
77
78 2002-03-14  Zack Weinberg  <zack@codesourcery.com>
79
80         * cpphash.h (struct lexer_state): Remove line_extension member.
81         * cpplib.c (dequote_string, do_linemarker): New functions.
82         (linemarker_dir): New data object.
83         (DIRECTIVE_TABLE): No longer need to interpret #line in
84         preprocessed source.  Delete obsolete comment about return
85         values of handlers.
86         (end_directive, directive_diagnostics, _cpp_handle_directive):
87         Don't muck with line_extension.
88         (directive_diagnostics): No need to issue warnings for
89         linemarkers here.
90         (_cpp_handle_directive): Issue warnings for linemarkers here,
91         when appropriate.  Dispatch linemarkers to do_linemarker, not
92         do_line.
93         (do_line): Code to handle linemarkers split out to do_linemarker.
94         Convert escape sequences in filename argument, both places.
95
96         * cppmacro.c (quote_string): Rename cpp_quote_string and
97         export.  All callers changed.
98         * cpplib.h (cpp_quote_string): Prototype.
99         * cppmain.c (print_line): Call cpp_quote_string on to_file
100         before printing it.
101
102         * doc/cpp.texi: Document that escapes are now interpreted in
103         #line and in linemarkers, and that non-printing characters are
104         converted to octal escapes when linemarkers are generated.
105
106 Thu Mar 14 19:04:29 CET 2002  Jan Hubicka  <jh@suse.cz>
107
108         * emit-rtl.c (try_split): Use delete_insns.
109         * recog.c (split_all_insns): Fix terminating condition.
110
111 2002-03-14  Richard Earnshaw  <rearnsha@arm.com>
112             Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
113
114         PR target/5828
115         * arm.c (arm_output_epilogue): Fix floating-point register save
116         adjustment when using a frame pointer.
117
118 2002-03-14  Richard Sandiford  <rsandifo@redhat.com>
119
120         * config/mips/mips.h (FP_INC, UNITS_PER_FPVALUE): New macros.
121         * config/mips/mips.c (compute_frame_size): Retrofit them here.
122         (save_restore_insns, mips_expand_epilogue): And here.
123         (build_mips16_call_stub): And here.
124         (mips_function_value): Use the new macros to decide whether a single
125         or complex float can be returned in floating-point registers.  Return
126         a parallel rtx in the complex case.
127
128 Thu Mar 14 11:03:12 CET 2002  Jan Hubicka  <jh@suse.cz>
129
130         * toplev.c (rest_of_compilation): Add CLEANUP_UPDATE_LIFE to cfg_cleanup
131         call after liveness analysis.
132
133         * recog.c (split_insn): Use delete_insn_and_edges.
134
135         * cfgrtl.c (verify_flow_info): Be permisive about non-any_condjump
136         instructions to have branch prediction notes.
137         * ia64reorg.c (ia64_reorg): Do not rebuild CFG.
138
139 2002-03-14  Geoffrey Keating  <geoffk@redhat.com>
140
141         * configure.in: Don't pass -Wno-long-long to a ADA compiler
142         that doesn't support it.
143         * configure: Regenerate.
144
145 2002-03-13  Jakub Jelinek  <jakub@redhat.com>
146
147         PR target/5626
148         * config/sparc/sparc.md (normal_branch, inverted_branch,
149         normal_fp_branch, inverted_fp_branch, normal_fpe_branch,
150         inverted_fp_branch): Adjust calls to output_cbranch.
151         Set length attribute.
152         (normal_int_branch_sp64, inverted_int_branch_sp64): Adjust calls to
153         output_v9branch.  Set length attribute.
154         * config/sparc/sparc.c (fcc0_reg_operand, noov_compare64_op): New
155         predicates.
156         (noov_compare_op): Handle CCX_NOOVmode the same way as CC_NOOVmode.
157         (output_cbranch): Likewise.  Handle far branches.
158         (output_v9branch): Handle far branches.
159         * config/sparc/sparc-protos.h (output_cbranch, output_v9branch):
160         Adjust prototypes.
161         * config/sparc/sparc.h (PREDICATE_CODES): Add fcc0_reg_operand and
162         noov_compare64_op predicates.
163
164 2002-03-13  Jason Merrill  <jason@redhat.com>
165
166         * gthr-posix.h (__gthread_active_p): Move __gthread_active_ptr
167         into the function and constify it.
168         * gthr-dce.h, gthr-solaris.h: Likewise.
169
170 2002-03-13  David Edelsohn  <edelsohn@gnu.org>
171
172         * config/rs6000/rs6000.h (PAD_VARARGS_DOWN): Define.
173         * config/rs6000/rs6000.c (rs6000_va_arg): Use
174         std_expand_builtin_va_arg if not ABI_V4.
175
176 2002-03-13  Jason Merrill  <jason@redhat.com>
177
178         * varasm.c (globalize_decl): New fn.
179         (assemble_start_function): Use it.
180         (asm_emit_uninitialized): Use it.
181         (assemble_alias): Use it.
182         (assemble_variable): Use it.
183
184 2002-03-13  Hans-Peter Nilsson  <hp@axis.com>
185
186         * config/cris/cris.c (cris_target_asm_function_prologue): Revert
187         2002-03-12 internal visibility change.
188         (cris_encode_section_info): Consider MODULE_LOCAL_P when encoding
189         visibility into SYMBOL_REF_FLAG.
190
191 2002-03-13  Ulrich Weigand  <uweigand@de.ibm.com>
192
193         * expr.c (expand_expr, case NE_EXPR): Do not call copy_to_reg with
194         VOIDmode operand.  Add compile-time optimization for constant results.
195
196 2002-03-12  Jason Merrill  <jason@redhat.com>
197
198         * c-typeck.c (convert_for_assignment): Don't allow conversions
199         between pointers and references.  Only allow lvalues to convert to
200         reference.
201
202 2002-03-13  Hartmut Penner  <hpenner@de.ibm.com>
203
204         * config/s390/s390.h (PROFILE_BEFORE_PROLOGUE): Emit profile code
205         before prologue, to avoid scheduling problems.
206
207 2002-03-13  Jakub Jelinek  <jakub@redhat.com>
208
209         * config/sparc/sparc.h (INITIAL_FRAME_POINTER_OFFSET): Remove.
210         (ELIMINABLE_REGS): Add sfp->sp.
211         (INITIAL_ELIMINATION_OFFSET): Compute sfp->sp offset too.
212
213 2002-03-13  Jakub Jelinek  <jakub@redhat.com>
214
215         PR optimization/5892
216         * config/ia64/ia64.c (rotate_one_bundle): Update current packet.
217
218 2002-03-13  Jakub Jelinek  <jakub@redhat.com>
219
220         * loop.c (basic_induction_var): Don't call convert_modes if mode
221         classes are different.
222
223 2002-03-12  Richard Henderson  <rth@redhat.com>
224
225         PR optimization/5901
226         * function.c (reposition_prologue_and_epilogue_notes): Position
227         the markers after/before the last/first insn not deleted.
228
229 2002-03-12  Richard Henderson  <rth@redhat.com>
230
231         PR optimization/5878
232         * config/arc/arc.h, config/cris/cris.h, config/i386/i386.h,
233         config/m68k/m68k.h, config/s390/s390.h, config/sparc/sparc.h
234         (PIC_OFFSET_TABLE_REGNUM): Conditionalize on flag_pic.
235
236         * config/arm/arm.h config/i386/i386.h, config/m68k/m68k.h,
237         config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Set
238         PIC_OFFSET_TABLE_REGNUM based on INVALID_REGNUM not flag_pic.
239
240         * config/arc/arc.h (CONDITIONAL_REGISTER_USAGE): New.
241         * config/arm/arm.c (arm_pic_register): Init to INVALID_REGNUM.
242         (arm_override_options): Set arm_pic_register if TARGET_APCS_STACK
243         also.  Don't set it if not flag_pic.
244         * config/i386/i386.c (ix86_save_reg): Trust PIC_OFFSET_TABLE_REGNUM
245         to be INVALID_REGNUM when not used.
246
247 2002-03-13  Aldy Hernandez  <aldyh@redhat.com>
248
249         * expmed.c (store_bit_field): Reset alias set for memory.
250         (extract_bit_field): Same.
251
252 2002-03-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
253
254         * c-common.c (c_tree_code_type, c_tree_code_length,
255         c_tree_code_name, add_c_tree_codes): Delete.
256         * c-common.h (add_c_tree_codes): Delete.
257         * c-lang.c (tree_code_type, tree_code_length, tree_code_name):
258         Define.
259         * c-objc-common.c (c_objc_common_init): Don't call
260         add_c_tree_codes, instead set lang_unsafe_for_reeval.
261         * objc/objc-act.c (objc_tree_code_type, objc_tree_code_length,
262         objc_tree_code_name, add_objc_tree_codes): Delete.
263         (objc_init): Don't call add_objc_tree_codes.
264         * objc/objc-lang.c (tree_code_type, tree_code_length,
265         tree_code_name): Define.
266         * toplev.c (lang_independent_init): Don't set
267         tree_code_length[IDENTIFIER_NODE].
268         * tree.c (tree_code_type, tree_code_length, tree_code_name):
269         Delete definitions, moved to language front-ends.
270         * tree.def (IDENTIFIER_NODE): Hardwire the length.
271         * tree.h (tree_code_type, tree_code_length, tree_code_name):
272         Const-ify.
273         (tree_code_length): Change type to unsigned char.
274
275 2002-03-12  Richard Henderson  <rth@redhat.com>
276
277         * config/i386/i386.c (ix86_expand_prologue): Revert 2002-03-03
278         internal visibility change.
279
280 2002-03-12  Bob Wilson  <bob.wilson@acm.org>
281
282         * config/xtensa/xtensa.c (xtensa_expand_block_move): Use
283         validize_mem() instead of change_address to avoid clobbering
284         memory attributes.
285
286 2002-03-12  Neil Booth  <neil@daikokuya.demon.co.uk>
287
288         * c-lex.h (position_after_whitespace): Remove.
289
290 2002-03-12  Jakub Jelinek  <jakub@redhat.com>
291
292         * c-lex.c (cb_ident, c_lex): Remove unnecessary cast.
293         (lex_string): Use unsigned char pointers.
294
295 2002-03-12  Ulrich Weigand  <uweigand@de.ibm.com>
296
297         * reload1.c (reload): Ignore MEM REG_EQUIV notes if the equivalent
298         is not a valid memory_operand.
299
300 2002-03-12  Bob Wilson  <bob.wilson@acm.org>
301
302         * config/xtensa/xtensa-config.h: Define XCHAL_HAVE_LOOPS.
303         * config/xtensa/lib1funcs.asm: Fix copyright to include
304         special case for libgcc files.
305         (__udivsi3): Avoid loop instructions when XCHAL_HAVE_LOOPS is 0.
306         (__divsi3): Likewise.
307         (__umodsi3): Likewise.
308         (__modsi3): Likewise.
309         * config/xtensa/lib2funcs.S: Fix copyright to include
310         special case for libgcc files.
311
312 2002-03-12  Tom Rix  <trix@redhat.com>
313
314         * collect2.c (resolve_lib_name): Move outside of
315         OBJECT_FORMAT_COFF ifdef.
316         (ignore_library): Same.
317
318 2002-03-12  Bob Wilson  <bob.wilson@acm.org>
319
320         * config/xtensa/t-xtensa (CRTSTUFF_T_CFLAGS_S): Define.
321
322 2002-03-12  Bob Wilson  <bob.wilson@acm.org>
323
324         * config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Switch
325         to function_section before writing out the constant pool.
326
327 2002-03-12  David Edelsohn  <edelsohn@gnu.org>
328
329         * config/rs6000/rs6000.h (PREDICATE_CODES): Add any_operand and
330         zero_constant.
331         * config/rs6000/rs6000.c (easy_fp_constant): Fix formatting.
332
333 2002-03-12  Alan Modra  <amodra@bigpond.net.au>
334
335         * config/rs6000/rs6000.md (addsi3): Optimize sign extension.
336         (adddi3): Likewise.
337         (movdf): Likewise.
338         (movdi): Likewise.
339         (cmpsi splitter): Likewise.
340         (modsi3): Fail if <= 0.
341         * config/rs6000/rs6000.c (reg_or_add_cint64_operand): Remove
342         redundant test when HOST_BITS_PER_WIDE_INT != 32.
343         (reg_or_sub_cint64_operand): Likewise.
344         (num_insns_constant_wide): Optimize sign extension.
345         (rs6000_legitimize_address): Likewise.
346
347 2002-03-12  Andrew MacLeod  <amacleod@redhat.com>
348
349         * config/sparc/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
350         * config/sparc/linux64.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
351
352 2002-03-12  Andrew MacLeod  <amacleod@redhat.com>
353
354         * config/sparc/sparc.h (RETURN_ADDR_RTX): Include v9 stack bias in
355         address calculation.
356
357 2002-03-12  Ulrich Weigand  <uweigand@de.ibm.com>
358
359         * config/s390/s390.md (reload_insi, reload_indi): Change mode of
360         scratch register to DImode / TImode.
361         config/s390/s390.c (s390_expand_plus_operand): Make sure scratch
362         register used does not overlap the target.
363
364 2002-03-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
365
366         * Makefile.in (debug.o): Depend on debug.h.
367         * dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Const-ify.
368         * debug.c (do_nothing_debug_hooks): Likewise.
369         * debug.h (debug_hooks, do_nothing_debug_hooks, dbx_debug_hooks,
370         sdb_debug_hooks, xcoff_debug_hooks, dwarf_debug_hooks,
371         dwarf2_debug_hooks, vmsdbg_debug_hooks): Likewise.
372         * dwarf2out.c (dwarf2_debug_hooks): Likewise.
373         * dwarfout.c (dwarf_debug_hooks): Likewise.
374         * integrate.c (output_inline_function): Likewise.
375         * objc/objc-act.c (synth_module_prologue): Likewise.
376         * sdbout.c (sdb_debug_hooks): Likewise.
377         * toplev.c (debug_hooks): Likewise.
378         * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
379
380 2002-03-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
381
382         * 1750a.h, a29k.h, arc.h, arm.h, c4x.h, clipper.h, cris.h, d30v.h,
383         dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i860.h, i960.h,
384         m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mmix.h, mn10300.h,
385         ns32k.h, pa.h, pdp11.h, pj.h, romp.h, s390.h, stormy16.h,
386         v850.h, vax.h, we32k.h, xtensa.h (POINTER_SIZE): Delete.
387         * defaults.h (POINTER_SIZE): Define.
388         * doc/tm.texi (POINTER_SIZE): Document default.
389
390 2002-03-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
391
392         * mn10200.h (PTRDIFF_TYPE): Change it to a signed type.
393
394 2002-03-11  Richard Henderson  <rth@redhat.com>
395
396         * toplev.c (rest_of_compilation): Call purge_all_dead_edges
397         if rebuild_label_notes_after_reload.
398
399 2002-03-12  Hans-Peter Nilsson  <hp@axis.com>
400
401         * config/cris/cris.c (cris_target_asm_function_prologue):  Do not
402         emit pic register load if "internal" visibility.
403         (cris_print_operand): Avoid traditional-warning for 0xffffffff.
404         (cris_expand_builtin_va_arg): Do all computations on trees.
405
406 2002-03-11  Richard Henderson  <rth@redhat.com>
407
408         * rtlanal.c: Include recog.h.
409         (keep_with_call_p): Fix thinko.
410         * Makefile.in (rtlanal.o): Update dependencies.
411
412 2002-03-11  Chris Meyer  <cmeyer@gatan.com>
413
414         * genflags.c (gen_insn): Use IS_VSPACE.
415         * genoutput.c (output_insn_data): Likewise.
416         (process_template): Likewise.
417
418 2002-03-11  Richard Henderson  <rth@redhat.com>
419
420         * toplev.c (rest_of_compilation): Don't compile if we've had errors.
421
422 2002-03-11  Neil Booth  <neil@daikokuya.demon.co.uk>
423
424         * Makefile.in: Update.
425         * doc/cppenv.texi, cppopts.texi: Split out of cpp.texi and gcc.texi.
426         Update documentation.
427         * doc/gcc.texi: Include cppopts.texi and cppenv.texi.
428         * doc/cpp.texi: Include cppopts.texi and cppenv.texi.
429
430 2002-03-11  Zack Weinberg  <zack@codesourcery.com>
431
432         * Makefile.in: Give texi2pod its input file as a command line
433         argument, not on stdin.
434
435 2002-03-11  Dan Nicolaescu  <dann@ics.uci.edu>
436             Daniel Berlin  <dan@dberlin.org>
437
438         C++ alias analysis improvement.
439         * alias.c (record_component_aliases): Record aliases for base
440         classes too.
441
442 2002-03-11  Ulrich Weigand  <uweigand@de.ibm.com>
443
444         * config/s390/s390.h (REG_ALLOC_ORDER): Add missing register.
445
446 2002-03-11  Douglas B Rupp  <rupp@gnat.com>
447
448         * toplev.c (vms_fopen): Remove, not needed.
449
450         * vmsdbgout.c (lookup_filename): Adjust creation date for GMT.
451
452         * config/alpha/xm-vms.h (__UNIX_FWRITE): Define.
453
454         * config/alpha/alpha.c (alpha_sa_size, VMS): Don't reserve space
455         for FP, already done later.
456
457         * toplev.c (debug_args): Add entry for VMS_DEBUG.
458         * vmsdbgout.c (vmsdbgout_init): Fix typo in call to xmalloc.
459
460 2002-03-11  Richard Sandiford  <rsandifo@redhat.com>
461
462         * defaults.h (LARGEST_EXPONENT_IS_NORMAL, ROUND_TOWARDS_ZERO): New.
463         (MODE_HAS_NANS, MODE_HAS_INFINITIES): Evaluate to false if
464         LARGEST_EXPONENT_IS_NORMAL for the given mode.
465         (MODE_HAS_SIGN_DEPENDENT_ROUNDING): False when ROUND_TOWARDS_ZERO.
466         * real.c (eadd1): Make rounding dependent on !ROUND_TOWARDS_ZERO.
467         (ediv, emul, eldexp, esqrt): Likewise.
468         (etoe113, etoe64, etoe53, etoe24, etodec, etoibm, etoc4x): Likewise.
469         (e24toe): Only check NaNs & infinities if !LARGEST_EXPONENT_IS_NORMAL.
470         (saturate): New function.
471         (toe53, toe24): Saturate on overflow if LARGEST_EXPONENT_IS_NORMAL.
472         (make_nan): Use a saturation value instead of a NaN if
473         LARGEST_EXPONENT_IS_NORMAL.  Warn when this happens.
474         * fp-bit.c (pack_d): Saturate on NaN, infinite or overflowing
475         inputs if LARGEST_EXPONENT_IS_NORMAL.  Represent subnormals as
476         zero if NO_DENORMALS.  Only round to nearest if !ROUND_TOWARDS_ZERO.
477         (unpack_d): No NaNs or infinities if LARGEST_EXPONENT_IS_NORMAL.
478         (_fpmul_parts, _fpdiv_parts): Only round to nearest if
479         !ROUND_TOWARDS_ZERO.
480         * doc/tm.texi (LARGEST_EXPONENT_IS_NORMAL): Document.
481         (ROUND_TOWARDS_ZERO): Document.
482
483 2002-03-11  Andreas Jaeger  <aj@suse.de>
484
485         * cfg.c (dump_flow_info): Remove unused variable.
486
487 2002-03-11  Hans-Peter Nilsson  <hp@bitrange.com>
488
489         * config/mmix/mmix.c (mmix_expand_builtin_va_arg): Do all
490         computations on trees.
491
492 2002-03-10  Richard Henderson  <rth@redhat.com>
493
494         PR 5693:
495         * reload.c (copy_replacements_1): New.
496         (copy_replacements): Use it to recurse through the rtx.
497
498 2002-03-10  Richard Henderson  <rth@redhat.com>
499
500         * loop.c (strength_reduce): Compute number of iterations as
501         unsigned HOST_WIDE_INT.
502
503 2002-03-10  Richard Henderson  <rth@redhat.com>
504
505         * sched-rgn.c (add_branch_dependences): Don't allow insns that throw
506         to move away from the end of the block.
507
508 2002-03-10  Neil Booth  <neil@daikokuya.demon.co.uk>
509
510         PR preprocessor/5899
511         * cppinit.c (init_dependency_output): Don't ignore -dM etc.
512
513 2002-03-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
514
515         * mbchar.c (JIS_state_table, JIS_action_table): Const-ify.
516
517         * attribs.c (decl_attributes): Fix signed/unsigned warning.
518
519 2002-03-10  Hans-Peter Nilsson  <hp@bitrange.com>
520
521         * config/mmix/mmix.c: Improve comments.
522         (mmix_target_asm_function_prologue): Drop variable
523         empty_stack_frame.  Don't allocate unused slot above fp.
524         (mmix_target_asm_function_epilogue): Mirror prologue changes.
525         * config/mmix/mmix.h (MMIX_GNU_ABI_REG_ALLOC_ORDER): Don't have
526         brace in first column.
527         (enum reg_class): Ditto.
528         (FIRST_PARM_OFFSET): Now 0.
529         (USER_LABEL_PREFIX): Remove #if 0:d definition.
530
531 2002-03-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
532
533         * combine.c (make_extraction): Fix error in last change.
534
535 2002-03-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
536
537         * c4x.c (c4x_fp_reglist): Const-ify.
538         * cris.c (cris_print_operand): Likewise.
539         * i386.c (ix86_va_arg): Likewise.
540         * ia64/unwind-ia64.c (unw_decode_table): Likewise.
541         * m32r.c (m32r_hard_regno_mode_ok): Likewise.
542         * m32r.h (m32r_hard_regno_mode_ok): Likewise.
543         * mcore.c (regno_reg_class, mcore_unique_section): Likewise.
544         * mcore.h (regno_reg_class): Likewise.
545         * mips.c (gen_int_relational): Likewise.
546         * ns32k.c (ns32k_reg_class_contents, regclass_map): Likewise.
547         * ns32k.h (ns32k_reg_class_contents, regclass_map): Likewise.
548         * pdp11.c (move_costs): Likewise.
549         * pj.h (INITIALIZE_TRAMPOLINE): Likewise.
550         * s390.c (s390_branch_condition_mnemonic, regclass_map):
551         Likewise.
552         * s390.h (regclass_map): Likewise.
553         * sh.c (shift_amounts): Likewise.
554         * sh.md (rotlsi3): Likewise.
555
556 2002-03-09  Geoffrey Keating  <geoffk@redhat.com>
557
558         * config/rs6000/rs6000.md (ne0+4): Add extra CLOBBER.
559         (ne0+5): Use new clobber to generate proper shift pattern.
560         Patch by Michael Matz <matz@kde.org>.
561
562 2002-03-09  Andreas Schwab  <schwab@suse.de>
563
564         * gcc.c (validate_all_switches): Also handle `%W{...}'.
565
566 2002-03-09  Geoffrey Keating  <geoffk@redhat.com>
567
568         * config/rs6000/sysv4.h (BIGGEST_ALIGNMENT): Don't define.
569
570 2002-03-09  Jakub Jelinek  <jakub@redhat.com>
571
572         PR middle-end/5877
573         * expr.c (highest_pow2_factor): Check TREE_INT_CST_LOW
574         even for non-representable constants.
575
576 Sat Mar  9 07:20:01 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
577
578         * emit-rtl.c (copy_most_rtx): Accept EXPR_LIST for may_share.
579         * function.c (fixup_var_refs): Add MAY_SHARE parameter.
580         (fixup_var_refs_insns, fixup_var_refs_insns_with_has): Likewise.
581         (fixup_var_refs_insn, fixup_var_refs_1): Likewise.
582         (pop_function_context): Compute MAY_SHARE parameter for
583         fixup_var_refs.
584         (fixup_var_refs_1, case MEM): Pass MAY_SHARE to copy_most_rtx, not VAR.
585         (gen_mem_addressof): Call fixup_var_refs with new parm.
586
587         * combine.c (make_extraction): Don't make extension of CONST_INT.
588
589 2002-03-09  Alexandre Oliva  <aoliva@redhat.com>
590
591         * config/mips/mips.c (function_arg_pass_by_reference): Force to 0
592         in o32 and o64 ABIs.
593         * config/mips/abi64.h (MUST_PASS_IN_STACK): Define as in expr.h,
594         but getting fixed-size structs passed in registers regardless of
595         padding in o32 and o64 ABIs.
596
597         * config/mips/mips.c (mips_va_arg): Apply big-endianness address
598         offset before loading address of argument passed by transparent
599         reference.
600
601 2002-03-08  John David Anglin  <dave@hiauly1.hia.nrc.ca>
602
603         * t-pa64 (LIB1ASMFUNCS, LIB1ASMSRC): Delete.
604
605 2002-03-09  Alexandre Oliva  <aoliva@redhat.com>
606
607         * config/mips/mips.c (mips_expand_prologue): Set regno of vararg
608         marker such that registers after it are saved.
609
610 2002-03-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
611
612         * sparc.c (arith_4096_operand): Fix error in last change.
613
614 2002-03-08  Alexandre Oliva  <aoliva@redhat.com>
615
616         * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Remove duplicate
617         defaults for MEABI.
618
619 2002-03-08  Aldy Hernandez  <aldyh@redhat.com>
620
621         * config/rs6000/rs6000.c (rs6000_va_arg): Fix alignment for
622         vectors.
623
624 2002-03-08  Aldy Hernandez  <aldyh@redhat.com>
625
626         * config/rs6000/sysv4.h (BIGGEST_ALIGNMENT): Change for altivec.
627
628 Fri Mar  8 21:27:49 CET 2002  Jan Hubicka  <jh@suse.cz>
629
630         * cfgrtl.c (purge_dead_edges): Set BB_DRITY flags if edge has been
631         removed; fix return value.
632         * combine.c (combine_instructions): Dirtify blocks where we failed to
633         update liveness; purge dead edges; use update_life_info_in_dirty_blocks.
634         * toplev.c (rest_of_compilation): Do not purge_dead_edges after combine.
635
636 2002-03-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
637
638         * gcse.c (insert_insn_end_bb): Fix typo in last change.
639
640 Fri Mar  8 21:08:52 CET 2002  Jan Hubicka  <jh@suse.cz>
641
642         * recog.c (peephole2_optimize): Re-distribute EH edges.
643
644 2002-03-08  Neil Booth  <neil@daikokuya.demon.co.uk>
645
646         * expr.c (expand_expr): Use unsave lang hook.
647         * langhooks-def.h (LANG_HOOKS_UNSAVE): New.
648         (LANG_HOOKS_INITIALIZER): Update.
649         * langhooks.h (struct lang_hooks): New hook unsave.
650         * tree.c (lang_unsave, lang_unsave_expr_now): Remove.
651         (unsave_expr_1): Remove unused lang_unsave_expr_now.
652         (unsave_expr_now_r): Rename lhd_unsave.  Update. Return input.
653         (unsave_expr_now): Remove.
654         * tree.h (unsave_expr_now, lang_unsave,
655         lang_unsave_expr_now): Remove.
656         (lhd_unsave): New.
657
658 2002-03-08  Andreas Jaeger  <aj@suse.de>
659
660         * flow.c (propagate_block_delete_insn): Remove unused variable.
661
662 2002-03-08  Kazu Hirata  <kazu@hxi.com>
663
664         * config/h8300/h8300.c (h8300_adjust_insn_length): Tighten
665         insn length for memory load/store.
666
667 2002-03-08  Craig Rodrigues  <rodrigc@gcc.gnu.org>
668
669         * doc/install.texi (--with-libiconv-prefix): Document.
670
671 2002-03-08  Michael Y. Brukman  <myb2@cornell.edu>
672
673         * doc/sourcebuild.texi: Fix typo.
674
675 2002-03-08  Jakub Jelinek  <jakub@redhat.com>
676
677         PR c/3711
678         * builtins.c (std_expand_builtin_va_arg): Do all computations on
679         trees.
680
681 Fri Mar  8 06:48:45 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
682
683         * rtl.c (copy_most_rtx): Move from here ...
684         * emit-rtl.c (copy_most_rtx): ... to here.
685
686 2002-03-08  Alexandre Oliva  <aoliva@redhat.com>
687
688         * config/mips/mips.h (LONG_MAX_SPEC): Rewrite, along with
689         SUBTARGET_CPP_SIZE_SPEC.
690         * config/mips/abi64.h (LONG_MAX_SPEC): Delete.
691
692         * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Simplify.
693
694 2002-03-07  Matt Hiller  <hiller@redhat.com>
695
696         * gensupport.c (first_dir_md_include): Renamed from include;
697         change all references.
698         (last_dir_md_include): Renamed from last_include; change all
699         references.
700         (init_md_reader): Unconditionally initialize base_dir whether or
701         not filename is a relative path.
702
703 2002-03-07  Alexandre Oliva  <aoliva@redhat.com>
704
705         * config/fp-bit.c (_unord_f2): Compile it in even if
706         US_SOFTWARE_GOFAST is enabled.
707
708         * config/gofast.h (GOFAST_RENAME_LIBCALLS): Set gt and ge as
709         NULL_RTX.  Set all HFmode operations as NULL_RTX.
710         * optabs.c (prepare_float_lib_cmp) <GT, GE, LT, LE>: If libfunc is
711         NULL_RTX, try reversing the comparison and the operands.
712
713 2002-03-06  Ulrich Weigand  <uweigand@de.ibm.com>
714
715         * genextract.c (walk_rtx): Recurse into MATCH_PAR_DUP.
716         genoutput.c (scan_operands): Recurse into MATCH_PAR_DUP
717         and MATCH_OP_DUP.
718
719 Thu Mar  7 16:54:10 CET 2002  Jan Hubicka  <jh@suse.cz>
720
721         * reload1.c (reload_cse_delete_noop_set): Purge dead edges.
722
723 Thu Mar  7 16:33:54 CET 2002  Jan Hubicka  <jh@suse.cz>
724
725         * basic-block.h (fixup_abnormal_edges): Declare.
726         * reload1.c (fixup_abnormal_edges): New function.
727         * reg-stack.c (convert_regs): Use it.
728
729         * gcse.c (insert_insn_end_bb): Handle trapping insns.
730
731         * gcse.c (hash_scan_set): Refuse instructions with EH edges.
732
733 2002-03-07  Richard Sandiford  <rsandifo@redhat.com>
734
735         * defaults.h (MODE_HAS_NANS, MODE_HAS_INFINITIES): New.
736         (MODE_HAS_SIGNED_ZEROS, MODE_HAS_SIGN_DEPENDENT_ROUNDING): New.
737         * flags.h (HONOR_NANS, HONOR_INFINITIES, HONOR_SIGNED_ZEROS): New.
738         (HONOR_SIGN_DEPENDENT_ROUNDING): New.
739         * builtins.c (expand_builtin_mathfn): Use HONOR_NANS.
740         * c-common.c (truthvalue_conversion): Reduce x - y != 0 to x != y
741         unless x and y could be infinite.
742         (expand_unordered_cmp): New, mostly split from expand_tree_builtin.
743         Check that the common type of both arguments is a real, even for
744         targets without unordered comparisons.  Allow an integer argument
745         to be compared against a real.
746         (expand_tree_builtin): Use expand_unordered_cmp.
747         * combine.c (combine_simplify_rtx): Use the new HONOR_... macros.
748         * cse.c (fold_rtx): Likewise.  Fix indentation.
749         * fold-const.c (fold_real_zero_addition_p): New.
750         (fold): Use it, and the new HONOR_... macros.
751         * ifcvt.c (noce_try_minmax): Use the new HONOR_... macros.
752         * jump.c (reversed_comparison_code_parts): After searching for
753         the true comparison mode, use HONOR_NANS to decide whether it
754         can be safely reversed.
755         (reverse_condition_maybe_unordered): Remove IEEE check.
756         * simplify-rtx.c (simplify_binary_operation): Use the new macros
757         to decide which simplifications are valid.  Allow the following
758         simplifications for IEEE: (-a + b) to (b - a), (a + -b) to (a - b),
759         and (a - -b) to (a + b).
760         (simplify_relational_operation): Use HONOR_NANS.
761         * doc/tm.texi: Document the MODE_HAS_... macros.
762
763 2002-03-07  Richard Earnshaw  <rearnsha@arm.com>
764
765         * combine.c (simplify_comparison): If simplifying a logical shift
766         right and compare with constant, force the comparison to unsigned.
767
768 2002-03-07  Aldy Hernandez  <aldyh@redhat.com>
769
770         * doc/invoke.texi: Add documentation for -mabi=no-altivec.
771
772         * config/rs6000/rs6000.c (rs6000_parse_abi_options): Add
773         -mabi=no-altivec
774         (alt_reg_names): Remove % for vrsave.
775
776 2002-03-06  Richard Henderson  <rth@redhat.com>
777
778         PR optimization/5844
779         * genemit.c (gen_exp): New argument used.  Invoke copy_rtx
780         if used indicates we've already emitted one copy of an operand.
781         (gen_insn, gen_expand, output_add_clobbers): Supply a null used.
782         (gen_split): Supply a non-null used.
783
784 2002-03-06  Ulrich Weigand  <uweigand@de.ibm.com>
785
786         * reload1.c (reload): Unshare all rtl after reload is done.
787
788         * simplify-rtx.c (simplify_plus_minus): Do not abort,
789         but simply fail if the expression is too complex to simplify.
790         (simplify_gen_binary): Handle simplify_plus_minus failures.
791
792 Wed Mar  6 20:32:09 CET 2002  Jan Hubicka  <jh@suse.cz>
793
794         * toplev.c (rest_of_compilation): Do jump threading before SSA path;
795         consistently call delete_trivially_dead_insns after CSE and GCSE;
796         fix DFI_life dumping; do jump threading after liveness; do crossjumping
797         after liveness2; update comment in last crossjumping.
798         * cfgcleanup.c (try_crossjump_to_edge): Dirtify block.
799
800 Wed Mar  6 12:27:10 2002  Jeffrey A Law  (law@redhat.com)
801
802         * ssa-ccp.c (ssa_fast_dce): Update the DF def-use chains
803         after completing fast dead code elimination.
804
805         * m68k.h (CONST_COSTS): Lower cost of 0.0 when used inside a
806         COMPARE operator.
807
808 2002-03-06  Phil Edwards  <pme@gcc.gnu.org>
809
810         * version.c:  Fix misplaced leading blanks on first line.
811
812 Wed Mar  6 19:08:03 CET 2002  Jan Hubicka  <jh@suse.cz>
813
814         * cfgrtl.c (verify_flow_info): Accept RESX as EH edge source.
815
816 Wed Mar  6 18:14:43 CET 2002  Jan Hubicka  <jh@suse.cz>
817
818         * cfgcleanup.c (mentions_nonequal_regs): New function.
819         (thread_jump): Use it.
820         * toplev.c (rest_of_compilation): Run jump threading after
821         liveness.
822
823 2002-03-06  Jakub Jelinek  <jakub@redhat.com>
824
825         * ssa-ccp.c (ssa_ccp_substitute_constants): Backout 2002-03-05
826         patch.
827
828 Wed Mar  6 11:28:19 CET 2002  Jan Hubicka  <jh@suse.cz>
829
830         * predict.c (estimate_bb_frequencies): Do not reload the
831         frequencies from notes.
832
833 Wed Mar  6 10:59:39 CET 2002  Jan Hubicka  <jh@suse.cz>
834
835         * cfgrtl.c (delete_insn_and_edges, delete_insn_chain_and_edges): New.
836         * rtl.h (delete_insn_and_edges, delete_insn_chain_and_edges): Declare
837
838         * basic-block.h (update_life_info, update_life_info_in_dirty_blocks,
839         delete_noop_moves): Return indeger.
840         * flow.c (ndead): New variable.
841         (propagate_block_delete_insn): Use delete_insn_and_edges; remove
842         BB argument; update callers.
843         (propagate_block_delete_libcall): Use delete_insn_chain_and_edges.
844         (life_analysis): Do not call purge_all_dead_edges.
845         (update_life_info): Return number of deleted insns; print statistics.
846         (update_life_info_in_dirty_blocks): likewise.
847         (delete_noop_moves): Use delete_insn_and_edges; print statistics;
848         return number of insns deleted.
849
850         * cse.c: Include timevar.h
851         (delete_trivially_dead_insns): Kill preserve_basic_blocks argument;
852         iterate until stabilizes; print statistics; return number of killed
853         insns.
854         * Makefile.in: (cse.o): Add timevar.h dependency
855         * rtl.h (delete_trivially_dead_insns): New.
856         * timever.def: Add TV_DELETE_TRIVIALLY_DEAD timer.
857         * toplev.c (rest_of_compilation): Update callers.
858
859         * cfgcleanup.c (try_optimize_cfg): Kill blocks.
860         (try_optimize_cfg): Do not update liveness.
861         (cleanup-cfg): Loop until try_optimize_cfg and dead code
862         removal stabilizes; use delete_trivially_dead_insns.
863
864         * cfgrtl.c (verify_flow_info): Sanity check outgoing edges.
865
866 2002-03-05  Zack Weinberg  <zack@codesourcery.com>
867
868         * cppmain.c (setup_callbacks): Disable #pragma and #ident
869         callbacks when processing assembly language.
870
871 2002-03-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
872
873         * pa.h (ASM_FILE_END): Define.
874         * som.h (ASM_FILE_END): Delete.
875
876         * pa.c (function_arg): Don't pass floats in general registers in
877         indirect calls if TARGET_ELF32.
878
879 2002-03-05  Richard Henderson  <rth@redhat.com>
880
881         * config/i386/i386.md (floatsidf2): Conditionalize on hard-float.
882
883 2002-03-05  Danny Smith  <dannysmith@users.sourceforge.net>
884
885         * gthr-win32.h (__GTHREAD_MUTEX_INIT_DEFAULT): Define.
886
887 2002-03-05  Jakub Jelinek  <jakub@redhat.com>
888
889         * mklibgcc.in: Prepend a tab before .hidden, add $flags to gcc
890         -r command line.  Don't hide any symbols if not building
891         shared libgcc.
892
893 Tue Mar  5 18:31:27 CET 2002  Jan Hubicka  <jh@suse.cz>
894
895         * cfg.c (dump_flow_info): Warn about profile mismatches.
896         * cfgrtl.c (verify_flow_info): Few aditional sanity checks.
897         (purge_dead_edges): Remove REG_BR_PROB notes on simplejumps.
898
899 2002-03-05  Jakub Jelinek  <jakub@redhat.com>
900
901         * expmed.c (emit_store_flag): Don't test BITS_PER_WORD * 2
902         wide volatile memory by parts.
903
904 2002-03-05  Jakub Jelinek  <jakub@redhat.com>
905
906         * ssa-ccp.c (ssa_ccp_substitute_constants): Don't crash if def
907         is NULL.
908
909 2002-03-05  Richard Henderson  <rth@redhat.com>
910
911         * rs6000.h (TOTAL_ALTIVEC_REGS): Fix off-by-one error.
912
913 2002-03-04  Geoffrey Keating  <geoffk@redhat.com>
914
915         * toplev.c (documented_lang_options): Document more
916         language-specific options.
917         * doc/invoke.texi (Warning Options): Correct documentation for
918         -Wno-multichar, -Wno-div-by-zero, and -Wsystem-headers.
919         * c-decl.c (c_decode_option): Use a table to handle warning options.
920
921 2002-03-05  Hans-Peter Nilsson  <hp@bitrange.com>
922
923         * config/mmix/mmix.h (ENCODE_SECTION_INFO): Pass on new second
924         parameter to mmix_encode_section_info.
925         (LINK_SPEC): Don't defsym __.MMIX.start..text if linking
926         relocatably.  Always produce ELF, not mmo if linking relocatably.
927         * config/mmix/mmix.c (mmix_encode_section_info): If new parameter
928         first is non-zero, don't add symbol prefix.
929         * config/mmix/mmix-protos.h (mmix_encode_section_info): Tweak
930         prototype accordingly.
931
932 2002-03-04  Krister Walfridsson  <cato@df.lth.se>
933
934         * config.gcc (*-*-netbsd*): Add t-slibgcc-elf-ver to tmake_file.
935
936 2002-03-05  Joseph S. Myers  <jsm28@cam.ac.uk>
937
938         * configure.in: Increase required makeinfo version to 4.1.
939         * configure: Regenerate.
940
941 2002-03-04  Geoffrey Keating  <geoffk@redhat.com>
942
943         * .cvsignore: Remove *.info* and genrtl*; these files are generated
944         elsewhere now.
945
946 2002-03-04  Joseph S. Myers  <jsm28@cam.ac.uk>
947
948         * doc/include/texinfo.tex: Update to version 2002-03-01.06.
949         * doc/invoke.texi: Fix @math uses.
950
951 Mon Mar  4 15:33:54 CET 2002  Jan Hubicka  <jh@suse.cz>
952
953         * toplev.c (rest_of_compilation): Cleanup CFG after dead jumptables
954         removal
955
956 2002-03-03  Aldy Hernandez  <aldyh@redhat.com>
957
958         * config.gcc (powerpc-*-eabialtivec*): Use t-ppcendian.
959         (powerpc-*-eabisimaltivec*): Same.
960
961         * config/rs6000/t-ppcendian: New.
962
963 2002-03-04  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
964
965         * c4x-protos.h, c4x.h, c4x.c, c4x.md: Add new functions
966         nonimmediate_src_operand and nonimmediate_lsrc_operand to
967         disallow ZERO_EXTEND with CONST_INT or CONST_DOUBLE.
968
969 2002-03-03  Richard Henderson  <rth@redhat.com>
970
971         * toplev.c (rest_of_decl_compilation): Revert last two changes.
972
973 2002-03-03  Zack Weinberg  <zack@codesourcery.com>
974
975         * emit-rtl.c, final.c, fold-const.c, gengenrtl.c, optabs.c,
976         print-tree.c, real.c, real.h, recog.c, rtl.c, simplify-rtx.c,
977         tree.c, config/m68k/m68k.c:
978         Remove all #ifndef REAL_ARITHMETIC blocks, make all #ifdef
979         REAL_ARITHMETIC blocks unconditional.  Delete some further
980         #ifdef blocks predicated on REAL_ARITHMETIC.
981         * flags.h, toplev.c: Delete remaining references to
982         flag_pretend_float.
983
984         * doc/invoke.texi: Remove documentation of -fpretend-float.
985         * doc/tm.texi: Describe the various REAL_* macros as provided by
986         real.h, not by the target configuration files.
987
988         * config/alpha/alpha.h, config/alpha/unicosmk.h, config/arm/arm.h,
989         config/avr/avr.h, config/c4x/c4x.h, config/convex/convex.h,
990         config/cris/cris.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
991         config/h8300/h8300.h, config/i370/i370.h, config/i386/i386.h,
992         config/i386/osf1elf.h, config/i960/i960.h, config/ia64/ia64.h,
993         config/m32r/m32r.h, config/m68hc11/m68hc11.h, config/m68k/dpx2.h,
994         config/m68k/linux-aout.h, config/m68k/linux.h, config/m68k/m68k.h,
995         config/m68k/sun3.h, config/m68k/vxm68k.h, config/mcore/mcore.h,
996         config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
997         config/mn10300/mn10300.h, config/pa/pa.h, config/pj/pj.h,
998         config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h,
999         config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h,
1000         config/sparc/sol2.h, config/sparc/sparc.h, config/sparc/vxsim.h,
1001         config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vax.h,
1002         config/xtensa/xtensa.h:
1003         Do not define, undefine, or mention in comments any of
1004         REAL_ARITHMETIC, REAL_VALUE_ATOF, REAL_VALUE_HTOF,
1005         REAL_VALUE_ISNAN, REAL_VALUE_ISINF,
1006         REAL_VALUE_TO_TARGET_SINGLE, REAL_VALUE_TO_TARGET_DOUBLE,
1007         REAL_VALUE_TO_TARGET_LONG_DOUBLE, REAL_VALUE_TO_DECIMAL,
1008         REAL_VALUE_TYPE, REAL_VALUES_EQUAL, REAL_VALUES_LESS,
1009         REAL_VALUE_LDEXP, REAL_VALUE_FIX, REAL_VALUE_UNSIGNED_FIX,
1010         REAL_VALUE_RNDZINT, REAL_VALUE_UNSIGNED_RNDZINT,
1011         REAL_INFINITY, REAL_VALUE_NEGATE, REAL_VALUE_TRUNCATE,
1012         REAL_VALUE_TO_INT, or REAL_VALUE_FROM_INT.
1013
1014 2002-03-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1015
1016         * 1750a.h, a29k.h, alpha.h, arc.h, arm.h, avr.h, c4x.h, clipper.h,
1017         convex.h, cris.h, d30v.h, dsp16xx.h, elxsi.h, fr30.h, h8300.h,
1018         i370.h, i386.h, i860.h, i960.h, ia64.h, m32r.h, m68hc11.h, m68k.h,
1019         m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h,
1020         pa.h, pdp11.h, pj.h, romp.h, rs6000.h, s390.h, sh.h, sparc.h,
1021         stormy16.h, v850.h, vax.h, we32k.h, xtensa.h (BITS_PER_WORD):
1022         Delete.
1023         * defaults.h (BITS_PER_WORD): Define.
1024         * doc/tm.texi (BITS_PER_WORD): Document default value.
1025
1026         * 1750a.h, avr.h, convex.h, d30v.h, dsp16xx.h, fr30.h, ia64.h,
1027         m68hc11.h, m88k.h, mips.h, pdp11.h, rs6000.h, sparc.c,
1028         stormy16.h, xtensa.h, vmsdbgout.c (CHAR_TYPE_SIZE): Delete.
1029
1030 2002-03-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1031
1032         * attribs.c (init_attributes, decl_attributes): Use ARRAY_SIZE in
1033         lieu of explicit sizeof/sizeof.
1034         * i386.c (override_options, ix86_init_mmx_sse_builtins,
1035         ix86_expand_builtin): Likewise.
1036         * mips.c (mips_add_gc_roots): Likewise.
1037         * mmix.c (mmix_output_condition): Likewise.
1038         * rs6000.c (rs6000_override_options, altivec_expand_builtin,
1039         altivec_init_builtins): Likewise.
1040         * sparc.c (mark_ultrasparc_pipeline_state): Likewise.
1041         * cppexp.c (Nsuff, parse_number): Likewise.
1042         * cppinit.c (builtin_array_end): Likewise.
1043         * gcc.c (n_default_compilers, process_command): Likewise.
1044         * genpreds.c (output_predicate_decls): Likewise.
1045         * ggc-page.c (NUM_EXTRA_ORDERS): Likewise.
1046         * lcm.c (N_ENTITIES): Likewise.
1047         * stor-layout.c (set_sizetype): Likewise.
1048
1049 2002-03-03  Richard Henderson  <rth@redhat.com>
1050
1051         * toplev.c (rest_of_decl_compilation): Do not invoke make_decl_rtl
1052         for types or labels.
1053
1054 2002-03-03  Richard Henderson  <rth@redhat.com>
1055
1056         * c-decl.c (start_decl): Initialized variables are not common.
1057
1058 2002-03-02  Per Bothner  <per@bothner.com>
1059
1060         * gcc.c (option_map):  Suport new --bootclasspath option.
1061         --CLASSPATH is now just an alias for --classpath.
1062
1063 2002-03-02  Richard Henderson  <rth@redhat.com>
1064
1065         * config/i386/i386.h (ix86_expand_prologue): Do not emit pic register
1066         load if "internal" visibility.
1067         * doc/extend.texi: Document visibility meanings.
1068
1069 2002-03-02  Richard Henderson  <rth@redhat.com>
1070
1071         * config/i386/i386.h (ENCODE_SECTION_INFO): MODULE_LOCAL_P applies
1072         to functions as well.
1073
1074 2002-03-02  Richard Henderson  <rth@redhat.com>
1075
1076         * attribs.c (handle_alias_attribute): Don't call assemble_alias.
1077         (handle_visibility_attribute): Don't call assemble_visibility.
1078         * toplev.c (rest_of_decl_compilation): Invoke make_decl_rtl even
1079         without asmspec.  Invoke assemble_alias when needed.
1080         * varasm.c (maybe_assemble_visibility): New.
1081         (assemble_start_function, assemble_variable, assemble_alias): Use it.
1082
1083 2002-03-02  Richard Henderson  <rth@redhat.com>
1084
1085         * varasm.c (make_decl_rtl): Remove call to REDO_SECTION_INFO_P;
1086         invoke ENCODE_SECTION_INFO with first call flag.
1087
1088         * config/darwin-protos.h, config/darwin.c, config/darwin.h,
1089         config/a29k/a29k.h, config/alpha/alpha-protos.h, config/alpha/alpha.c,
1090         config/alpha/alpha.h, config/arc/arc.h, config/arm/arm-protos.h,
1091         config/arm/arm.h, config/arm/pe.c, config/arm/pe.h,
1092         config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
1093         config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
1094         config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
1095         config/d30v/d30v.h, config/h8300/h8300.h, config/i370/i370.h,
1096         config/i386/cygwin.h, config/i386/i386-interix.h, config/i386/i386.h,
1097         config/i386/osfrose.h, config/i386/win32.h, config/i386/winnt.c,
1098         config/ia64/ia64-protos.h, config/ia64/ia64.c, config/ia64/ia64.h,
1099         config/m32r/m32r-protos.h, config/m32r/m32r.c, config/m32r/m32r.h,
1100         config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
1101         config/m68hc11/m68hc11.h, config/m88k/m88k.h,
1102         config/mcore/mcore-protos.h, config/mcore/mcore.c,
1103         config/mcore/mcore.h, config/mips/mips.h, config/ns32k/ns32k.h,
1104         config/pa/pa.h, config/romp/romp.h, config/rs6000/linux64.h,
1105         config/rs6000/rs6000-protos.h, config/rs6000/rs6000.c,
1106         config/rs6000/sysv4.h, config/rs6000/xcoff.h, config/s390/s390.h,
1107         config/sh/sh.h, config/sparc/sparc.h,
1108         config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
1109         config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vms.h,
1110         config/xtensa/xtensa.h, doc/tm.texi: ENCODE_SECTION_INFO now takes
1111         FIRST argument.  As needed, examine it and do nothing.
1112
1113         * config/darwin.h, config/alpha/alpha.h, config/arm/pe.h,
1114         config/i386/cygwin.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h,
1115         config/mcore/mcore.h: Remove REDO_SECTION_INFO_P.
1116
1117         * config/arm/t-pe (pe.o): Add dependencies.
1118
1119 2002-03-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1120
1121         * a29k.h, alpha.h, arc.h, arm.h, avr.h, clipper.h, convex.h,
1122         cris.h, d30v.h, elxsi.h, fr30.h, h8300.h, i370.h, i386.h, i860.h,
1123         i960.h, ia64.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h,
1124         mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h, pa.h, pdp11.h,
1125         pj.h, romp.h, rs6000.h, s390.h, sh.h, sparc.h, stormy16.h, v850.h,
1126         vax.h, we32k.h, xtensa.h: (BITS_PER_UNIT): Delete.
1127         * defaults.h (BITS_PER_UNIT): Define.
1128         * doc/tm.texi (BITS_PER_UNIT): Document default value.
1129
1130 2002-03-02  Kazu Hirata  <kazu@hxi.com>
1131
1132         * config/h8300/h8300-protos.h: Add a prototype for
1133         compute_a_shift_length.
1134         * config/h8300/h8300.c (h8300_asm_insn_count): New.
1135         (compute_a_shift_length): Likewise.
1136         (h8300_adjust_insn_length): Do not adjust insn length of shift
1137         insns.
1138         * config/h8300/h8300.md (anonymous shift patterns): Use
1139         compute_a_shift_length.
1140
1141 Sat Mar  2 06:30:14 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1142
1143         * config/sparc/sparc.c (sparc_initialize_trampoline): Use
1144         trunc_int_for_mode.
1145
1146         * emit-rtl.c (offset_address): Call update_temp_slot_address.
1147
1148 2002-03-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1149
1150         * Makefile.in (CRTSTUFF_CFLAGS): Add -fno-zero-initialized-in-bss.
1151         * doc/invoke.texi (-fno-zero-initialized-in-bss): Document.
1152         * flags.h (flag_zero_initialized_in_bss): Declare.
1153         * toplev.c (flag_zero_initialized_in_bss): New flag.
1154         (lang_independent_options): Add flag_zero_initialized_in_bss.
1155         * tree.c (initializer_zerop): New function.
1156         * tree.h (initializer_zerop): Declare.
1157         * varasm.c (assemble_variable): If we can emit bss, put zero
1158         initializers in the bss section.
1159
1160 2002-03-02  Alan Modra  <amodra@bigpond.net.au>
1161
1162         * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): AIX assembler doesn't
1163         like more than one symbol per .weak directive.
1164
1165 2002-03-01  Richard Henderson  <rth@redhat.com>
1166
1167         * config/ia64/ia64.c (ia64_initial_elimination_offset): Do not
1168         adjust argument_pointer by pretend_args_size.
1169         (ia64_va_start): Adjust va_start address by -pretend_args_size.
1170
1171 2002-03-01  Kazu Hirata  <kazu@hxi.com>
1172
1173         * config/h8300/h8300.c (h8300_adjust_insn_length): Clean up.
1174
1175 Fri Mar  1 20:59:14 CET 2002  Jan Hubicka  <jh@suse.cz>
1176
1177         * toplev.c (rest_of_compilation): Delete dead jumptables before
1178         loop.
1179         * flow.c (delete_dead_jumptables): Make global.
1180         * rtl.h (delete_dead_jumptables): Declare.
1181
1182 2002-03-01  David Edelsohn  <edelsohn@gnu.org>
1183
1184         * config/rs6000/rs6000.h (HANDLE_PRAGMA_PACK): Delete.
1185         * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Define.
1186         * config/rs6000/xcoff.h (COLLET_EXPORT_LIST): Delete.
1187
1188 2002-03-01  Kazu Hirata  <kazu@hxi.com>
1189
1190         * config/h8300/h8300-protos.h: Fix formatting.
1191         * config/h8300/h8300.c: Likewise.
1192         * config/h8300/h8300.h: Likewise.
1193
1194 2002-03-01  Kazu Hirata  <kazu@hxi.com>
1195
1196         * config/h8300/h8300.c (print_operand): Support 16-bit
1197         constant addresses.
1198         * config/h8300/h8300.h (TINY_CONSTANT_ADDRESS_P): New.
1199
1200 2002-02-28  Richard Henderson  <rth@redhat.com>
1201
1202         * expmed.c (store_bit_field): Prevent generation of CONCATs;
1203         pun complex values as integers; use gen_lowpart instead of
1204         gen_rtx_SUBREG.
1205         (extract_bit_field): Likewise.
1206
1207 2002-03-01  Alan Modra  <amodra@bigpond.net.au>
1208             David Edelsohn  <edelsohn@gnu.org>
1209
1210         * doc/tm.texi (ASM_WEAKEN_DECL): Document.
1211         (ASM_WEAKEN_LABEL): Mention ASM_WEAKEN_DECL.
1212         (SUPPORTS_WEAK): Likewise.
1213         * output.h (add_weak): Add tree param.
1214         * varasm.c (add_weak): Likewise.  Save decl.
1215         (struct weak_syms): Add decl field.
1216         (mark_weak_decls): New function.
1217         (init_varasm_once): ggc_add_root mark_weak_decls.
1218         (assemble_start_function): Use ASM_WEAKEN_DECL.
1219         (assemble_variable): Likewise.
1220         (assemble_alias): Likewise.
1221         (declare_weak): Pass decl to add_weak.
1222         (weak_finish): Use ASM_WEAKEN_DECL. Try to find decl.
1223         (remove_from_pending_weak_list): Declare and define for
1224         ASM_WEAKEN_DECL.
1225         * c-pragma.c (handle_pragma_weak): Adjust add_weak call.
1226         * c-pragma.h (HANDLE_PRAGMA_WEAK): Define if ASM_WEAKEN_DECL too.
1227         * defaults.h (SUPPORTS_WEAK): Likewise.
1228         * config/rs6000/linux64.h (ASM_DECLARE_FUNCTION_NAME): Don't emit
1229         .weak for code sym.  Do emit .size for descriptor sym.
1230         (ASM_DECLARE_FUNCTION_SIZE): Define.
1231         * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): Define.
1232         (ASM_OUTPUT_DEF_FROM_DECLS): Don't emit .weak here.  Don't output
1233         .lglobl unless TARGET_XCOFF.  Formatting fixes.
1234         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't emit
1235         .weak for code sym.
1236         (HANDLE_PRAGMA_WEAK): Remove.
1237         (ASM_WEAKEN_LABEL): Remove.
1238         * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Define.
1239
1240 2002-03-01  Jason Merrill  <jason@redhat.com>
1241
1242         * tree.h (TARGET_EXPR_SLOT, TARGET_EXPR_INITIAL): New macros.
1243         (TARGET_EXPR_CLEANUP): New macro.
1244
1245 2002-02-28  Steve Ellcey  <sje@cup.hp.com>
1246
1247         * doc/rtl.texi (SUBREG_PROMOTED_UNSIGNED_P): Change definition
1248         to take ptr_extend into account as third type of extension.
1249         (SUBREG_PROMOTED_UNSIGNED_SET): Definition of new macro to set bit
1250         fields used by SUBREG_PROMOTED_UNSIGNED_P.
1251         * rtl.h (SUBREG_PROMOTED_UNSIGNED_SET): New macro.
1252         (SUBREG_PROMOTED_UNSIGNED_P): Change to return -1 as well as 0 or 1.
1253         * calls.c (precompute_arguments): Use new macro.
1254         (expand_call): Ditto.
1255         * combine.c (nonzero_bits): Ditto.
1256         (record_promoted_value): Ditto.
1257         * expr.c (store_expr): Ditto.
1258         (expand_expr): Ditto.
1259         * function.c (assign_parms): Ditto.
1260
1261 2002-02-28  Alexandre Oliva  <aoliva@redhat.com>
1262
1263         * gcc.c (init_gcc_specs): Get -static and -static-libgcc to
1264         override -shared and -shared-libgcc.
1265
1266 2002-02-28  David O'Brien  <obrien@FreeBSD.org>
1267
1268         * config.gcc (sparc64-*-freebsd): Explicitly accept a cpu specification
1269         of "ultrasparc".
1270         * config/sparc/freebsd.h: Do not use MASK_FASTER_STRUCTS.  It appears
1271         to be broken.
1272
1273 2002-02-28  Richard Henderson  <rth@redhat.com>
1274
1275         * config/ia64/ia64.c (ia64_adjust_cost): All non-MM consumers have
1276         4 cycle latency from MM producers.
1277         (ia64_internal_sched_reorder): Likewise with pipeline flush.
1278
1279 2002-02-28  Jakub Jelinek  <jakub@redhat.com>
1280
1281         * mklibgcc.in: Don't use GNU make extension.
1282
1283 2002-02-28  Neil Booth  <neil@daikokuya.demon.co.uk>
1284
1285         * c-parse.in (STATIC): New terminal.
1286         (scspec): New non-terminal.  Update productions accordingly.
1287         (program): Remove bogus ifc / end ifc.
1288         (array_declarator): Simplify production using STATIC.
1289
1290 2002-02-28  Jim Meyering  <meyering@lucent.com>
1291
1292         * cpplex.c (cpp_parse_escape): Restore mistakenly-removed code:
1293         \a still means TARGET_BELL.
1294
1295 2002-02-28  Richard Henderson  <rth@redhat.com>
1296
1297         * haifa-sched.c (sched_emit_insn): New.
1298         (schedule_block): Use last_scheduled_insn to track last insn.
1299         * sched-int.h (sched_emit_insn): Prototype.
1300         * config/ia64/ia64.c (last_issued): Remove.
1301         (ia64_variable_issue): Don't set it.
1302         (nop_cycles_until): Use sched_emit_insn.
1303
1304 2002-02-28  Andrew MacLeod  <amacleod@redhat.com>
1305
1306         * config/sparc/sparc.c (sparc64_initialize_trampoline): Generate sign
1307         extended constants.
1308
1309 2002-02-28  Kazu Hirata  <kazu@hxi.com>
1310
1311         * config/h8300/h8300.c: Fix formatting.
1312         * config/h8300/h8300.h: Likewise.
1313
1314 2002-02-28  Marek Michalkiewicz  <marekm@amelek.gda.pl>
1315
1316         * config/avr/avr.c (avr_hard_regno_mode_ok): Do not allow r29
1317         which may overwrite the high byte of the frame pointer.
1318
1319 2002-02-28  Bo Thorsen  <bo@suse.de>
1320
1321         * config/i386/linux64.h (LINK_SPEC): Fix 32/64 bit compilation.
1322         (STARTFILE_SPEC): Add 64 bit files.
1323         (ENDFILE_SPEC): Likewise.
1324
1325 2002-02-28  Jason Merrill  <jason@redhat.com>
1326
1327         * c-decl.c (finish_function): Only warn about missing return
1328         statement with -Wreturn-type.
1329
1330 Don Feb 28 11:24:30 CET 2002  Jan Hubicka  <jh@suse.cz>
1331
1332         * cfgrtl.c (purge_dead_edges): Fix handling of EH edges.
1333
1334         * i386.h (CONDITIONAL_REGISTER_USAGE): Do not write to
1335         PIC_OFFSET_TABLE_REGNUM when it is INVALID_REGNUM
1336
1337 Don Feb 28 11:07:36 CET 2002  Jan Hubicka  <jh@suse.cz>
1338
1339         * basic-block.h (BB_REACHABLE): Renumber.
1340         (BB_DIRTY, BB_NEW): New flags.
1341         (clear_bb_flags): Declare.
1342         (update_life_info_in_dirty_blocks): Declare.
1343         * cfg.c (clear_bb_flags): New function.
1344         * cfgrtl.c (create_basic_block_structure): Set flags to BB_NEW.
1345         * emit-rtl.c (add_insn_after, add_insn_before, remove_insn,
1346         reorder_insns, emit_insn_after): Mark block as dirty.
1347         * flow.c (update_life_info): Fix clearing of PROP_LOG_LINKS.
1348         (update_life_info_in_dirty_blocks): New function.
1349         * recog.c (apply_change_group): Dirtify block.
1350
1351         * cse.c (cse_insn): Reorder emitting of jump insn to keep
1352         cfg consistent.
1353         * gcse.c (delete_null_pointer_checks): Likewise.
1354
1355         * toplev.c (dump_file_index): Move cse2 after bp,
1356         add DFI_null
1357         (dump_file_info): Similary.
1358         (rest_of_compilation): Avoid most of CFG rebuilds;
1359         do first if converision after null pointer checks, do cse2
1360         after branch prediction; avoid full liveness rebuild after
1361         initializing subregs.
1362         * invoke.texi (-d options): Document -du, renumber.
1363
1364         * cfgcleanup.c (bb_flags): Remove BB_UPDATE_LIFE.
1365         (notice_new_block): Do not set BB_UPDATE_LIFE.
1366         (try_forward_edges, merge_blocks_move_predecessor_nojumps,
1367          merge_blocks_move_successor_nojumps, merge_blocks,
1368          try_crossjump_to_edge): Likewise.
1369         (try_optimize_cfg): Likewise; use update_life_info_in_dirty_blocks.
1370         * cfgrtl.c (merge_blocks_nomove): Copy b's flags to a.
1371         * ifcvt.c (SET_UPDATE_LIFE, UPDATE_LIFE): Kill.
1372         (merge_of_block): Do not use life_data_ok.
1373         (find_if_case_1): Do not use SET_UPDATE_LIFE.
1374         (if_convert): Use BB_DIRTY mechanizm to update life.
1375         * lcm.c (optimize_mode_switching): Update
1376         update_life_info_in_dirty_blocks
1377
1378 2002-02-28  Neil Booth  <neil@daikokuya.demon.co.uk>
1379
1380         * Makefile.in (integrate.o): Update.
1381         * c-decl.c (copy_lang_decl): Rename.
1382         * c-lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine.
1383         * integrate.c: Include langhooks.h.
1384         (copy_decl_for_inlining): Update to use langhook.
1385         * langhooks-def.h (lhd_do_nothing_t,
1386         LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): New.
1387         (LANG_HOOKS_INITIALIZER): Update.
1388         * langhooks.c (lhd_do_nothing_t): New.
1389         * langhooks.h (struct lang_hooks): Add dup_lang_specific_decl.
1390         * tree.h (copy_lang_decl): Remove.
1391 objc:
1392         * objc-lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine.
1393
1394 2002-02-27  Andrew MacLeod  <amacleod@redhat.com>
1395
1396         * dwarf2out.c (stack_adjust_offset): Add support for POST_INC,
1397         POST_DEC, and POST_MODIFY.
1398
1399 2002-02-27  Zack Weinberg  <zack@codesourcery.com>
1400
1401         * c-typeck.c (digest_init): Remove unused parameter; all
1402         callers changed.
1403
1404 2002-02-27  Geoffrey Keating  <geoffk@redhat.com>
1405
1406         * expmed.c (expand_shift): Correctly test for low part of a
1407         subreg.
1408
1409 2002-02-27  Ulrich Weigand  <uweigand@de.ibm.com>
1410
1411         * config/s390/s390.c (s390_chunkify_pool): Do not confuse
1412         insn UIDs with insn addresses.
1413
1414 2002-02-27  Zack Weinberg  <zack@codesourcery.com>
1415
1416         * c-common.c, c-common.h, c-decl.c, c-lex.c, c-parse.in,
1417         c-tree.h, c-typeck.c, cppexp.c, cpplex.c, cpplib.c, cpplib.h,
1418         cppmacro.c, objc/lang-specs.h, objc/objc-act.c,
1419         builtin-types.def, builtins.def, dwarf2out.c, dwarfout.c,
1420         gcc.c, toplev.c: Delete code implementing -traditional mode.
1421
1422         * doc/bugreport.texi, doc/cpp.texi, doc/extend.texi,
1423         doc/invoke.texi, doc/standards.texi, doc/trouble.texi:
1424         Document removal of -traditional mode for compilation, and
1425         remove documentation only relevant to that mode.
1426
1427         * config/nextstep.h, config/ptx4.h, config/svr4.h,
1428         config/convex/convex.h, config/d30v/d30v.h,
1429         config/i386/dgux.h, config/i386/osf1elf.h,
1430         config/i386/osfelf.h, config/i386/osfrose.h,
1431         config/i386/sco5.h, config/i386/sol2.h, config/m68k/a-ux.h,
1432         config/m68k/hp310.h, config/m88k/dgux.h,
1433         config/m88k/dguxbcs.h, config/m88k/luna.h, config/m88k/m88k.c,
1434         config/m88k/m88k.h, config/m88k/openbsd.h,
1435         config/mips/abi64.h, config/mips/osfrose.h,
1436         config/mips/svr4-5.h, config/mips/svr4-t.h,
1437         config/sparc/sol2-sld-64.h, config/sparc/sol2.h,
1438         config/stormy16/stormy16.h: Remove all references to
1439         -traditional from target specs.  Delete all mention of the
1440         no-longer-necessary TRADITIONAL_RETURN_FLOAT macro.  Also
1441         delete a couple of commented-out definitions of
1442         DOLLARS_IN_IDENTIFIERS, with (incorrect) commentary referring
1443         to -traditional.
1444
1445         * system.h: Poison TRADITIONAL_RETURN_FLOAT.
1446         * doc/tm.texi: Remove mention of TRADITIONAL_RETURN_FLOAT macro.
1447
1448 2002-02-27  Zack Weinberg  <zack@codesourcery.com>
1449
1450         * mklibgcc.in: Don't use \n in a line subject to
1451         interpretation by echo.
1452
1453 2002-02-27  Graham Stott  <grahams@redhat.com>
1454
1455         * config/rs6000/rs6000.h (ASM_OUTPUT_DEF_FROM_DELC):
1456         Constify NAME.
1457
1458         * loop.c (prescan_loop): Handle PARALLEL.
1459
1460         * unroll.c (loop_iterations): Return 0 if the add_val for
1461         a BIV is REG.
1462
1463         * final.c (output_operand_lossage): Constify PFX_STR.
1464
1465         * df.c (df_insn_refs_record): Use XEXP (x, 0) for USE.
1466
1467 Wed Feb 27 10:45:19 CET 2002  Jan Hubicka  <jh@suse.cz>
1468
1469         * linux64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Remove.
1470         * x86-64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Allways define.
1471
1472 Wed Feb 27 10:39:20 CET 2002  Jan Hubicka  <jh@suse.cz>
1473
1474         * linux64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
1475
1476 2002-02-27  Neil Booth  <neil@daikokuya.demon.co.uk>
1477
1478         * cpplex.c (_cpp_lex_token): Handle directives in macro
1479         arguments.
1480         * cpplib.c (_cpp_handle_directive): Save and restore state
1481         if parsing macro args when entering a directive.
1482         * cppmacro.c (collect_args): No need to handle directives
1483         in macro arguments.
1484         (enter_macro_context, replace_args): Use the original macro
1485         definition in case it was redefined whilst collecting arguments.
1486 doc:
1487         * cpp.texi: Update.
1488
1489 2002-02-26  David Edelsohn  <edelsohn@gnu.org>
1490
1491         * config/rs6000/aix43.h (THREAD_MODEL_SPEC): Delete.
1492         * config/rs6000/aix51.h (THREAD_MODEL_SPEC): Delete.
1493         * config/rs6000/rs6000.c (rs6000_return_addr): Use efficient
1494         method on AIX.
1495         * config/rs6000/rs6000.md (movsi_low): Use gpc_reg_operand.
1496         (movsi_low_st, movdf_low, movdf_low_st, movsf_low, movsf_low_st): Same.
1497         (load_toc_v4_PIC_2): Same.
1498
1499 2002-02-26  Alan Modra  <amodra@bigpond.net.au>
1500
1501         * config/rs6000/rs6000.md (load_toc_aix_di): Handle TARGET_RELOCATABLE.
1502
1503 2002-02-26  Richard Henderson  <rth@redhat.com>
1504
1505         * config/alpha/alpha.md (ashldi_se): Re-enable.
1506
1507 2002-02-26  Richard Henderson  <rth@redhat.com>
1508
1509         * config/alpha/alpha.c (alpha_encode_section_info): Examine
1510         MODULE_LOCAL_P; improve commentary.
1511
1512 2002-02-26  Zack Weinberg  <zack@codesourcery.com>
1513
1514         * doc/cpp.texi: Clarify documentation of relationship between
1515         #line and #include.
1516
1517 2002-02-26  Kazu Hirata  <kazu@hxi.com>
1518
1519         * config/h8300/h8300-protos.h: Update the prototype for
1520         compute_logical_op_length.  Add the prototype for
1521         compute_logical_op_cc.
1522         * config/h8300/h8300.c (compute_logical_op_length): Figure out
1523         code from operands.
1524         (compute_logical_op_cc): New.
1525         * config/h8300/h8300.md: Combine all the logical op patterns
1526         in HImode and SImode.  Use compute_logical_op_cc.
1527
1528 2002-02-26  Kelley Cook  <kelleycook@comcast.net>
1529
1530         * config/i386/i386.c (print_operand): Don't append ATT-style
1531         length suffixs to x87 opcodes when in Intel mode.
1532
1533 2002-02-26  Ryan T. Sammartino <ryants@shaw.ca>
1534
1535         * emit-rtl.c (gen_const_vector_0): Remove TYPE argument.
1536         (init_emit_once): Update calls.
1537         * fixinc/gnu-regex.c (_GNU_SOURCE): Remove.
1538         (init_syntax_once): Prototype.
1539
1540 2002-02-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1541
1542         * pa-linux.h (LIB_SPEC): Update definition.
1543         * pa32-linux.h (LINK_COMMAND_SPEC): Delete.
1544
1545 2002-02-26  Richard Henderson  <rth@redhat.com>
1546
1547         * config/ia64/ia64.c (nop_cycles_until): Do init_insn_group_barriers
1548         if we emitted a stop bit.
1549
1550 2002-02-26  Jakub Jelinek  <jakub@redhat.com>
1551
1552         * configure.in (libgcc_visibility): Substitute.
1553         * configure: Rebuilt.
1554         * mklibgcc.in: If libgcc_visibility = yes, make libgcc.a global
1555         defined symbols .hidden.
1556
1557 2002-02-26  Jakub Jelinek  <jakub@redhat.com>
1558
1559         * attribs.c (c_common_attribute_table): Add visibility.
1560         (handle_visibility_attribute): New function.
1561         * varasm.c (assemble_visibility): New function.
1562         * output.h (assemble_visibility): Add prototype.
1563         * tree.h (MODULE_LOCAL_P): Define.
1564         * crtstuff.c (__dso_handle): Use visibility attribute.
1565         * config/i386/i386.h (ENCODE_SECTION_INFO): Set SYMBOL_REF_FLAG
1566         for MODULE_LOCAL_P symbols too.
1567         * config/ia64/ia64.c (ia64_encode_section_info): Handle
1568         MODULE_LOCAL_P symbols the same way as local symbols.
1569         Add SDATA_NAME_FLAG_CHAR even if decl was explicitely forced
1570         into .sdata/.sbss by the user.
1571         * doc/extend.texi (Function Attributes): Document visibility
1572         attribute.
1573
1574 2002-02-26  Jakub Jelinek  <jakub@redhat.com>
1575
1576         PR debug/5770
1577         * dwarf2out.c (rtl_for_decl_location): Return CONST_STRING for
1578         STRING_CST initializer spanning the whole variable without
1579         embedded zeros.
1580         If expand_expr returned MEM, don't use it.
1581
1582 2002-02-26  Alexandre Oliva  <aoliva@redhat.com>
1583
1584         * dwarf2out.c (gen_inlined_subroutine_die): If block is abstract,
1585         generate a die for the lexical block.
1586
1587 2002-02-26  Kazu Hirata  <kazu@hxi.com>
1588
1589         * config/h8300/h8300-protos.h: Add a prototype for
1590         compute_logical_op_length.
1591         * config/h8300/h8300.c (compute_logical_op_length): New.
1592         * config/h8300/h8300.md (anonymous logical patterns): Use
1593         compute_logical_op_length for length.
1594
1595 2002-02-26  Aldy Hernandez  <aldyh@redhat.com>
1596
1597         * dwarf2out.c (modified_type_die): Do not call type_main_variant
1598         for vectors.
1599         (gen_type_die): Same.
1600
1601         * attribs.c (handle_vector_size_attribute): Set debug information.
1602
1603 2002-02-26  Daniel Egger  <degger@fhm.edu>
1604
1605         * config/rs6000/rs6000.md: Swap define_insn attributes to
1606         fix incorrect generation of merge high instructions instead
1607         of merge low.
1608
1609 2002-02-26  Aldy Hernandez  <aldyh@redhat.com>
1610
1611         * c-typeck.c (really_start_incremental_init): Use
1612         bitsize_zero_node for vectors.
1613
1614 2002-02-26  Aldy Hernandez  <aldyh@redhat.com>
1615
1616         * config/rs6000/rs6000.md (get_vrsave_internal): Fix typo.
1617         ("*set_vrsave_internal"): Same.
1618
1619 2002-02-25  Richard Henderson  <rth@redhat.com>
1620
1621         * expr.c (expand_expr) [MULT_EXPR]: Do not apply distributive law
1622         in EXPAND_SUM case.  Use host_integerp/tree_low_cst.
1623
1624 2002-02-25  Jakub Jelinek  <jakub@redhat.com>
1625
1626         PR target/5755
1627         * config/i386/i386.c (ix86_return_pops_args): Only pop
1628         fake structure return argument if it was passed on the stack.
1629
1630 2002-02-25  Jason Merrill  <jason@redhat.com>
1631
1632         * attribs.c (decl_attributes): Also re-layout PARM_DECL and
1633         RESULT_DECL.
1634
1635 2002-02-25  Alexandre Oliva  <aoliva@redhat.com>
1636
1637         * gcc.c (init_gcc_specs): Get -shared-libgcc along with -shared to
1638         link with shared_name only.
1639         * doc/invoke.texi (Link Options): Document new behavior.
1640
1641 2002-02-25  Aldy Hernandez  <aldyh@redhat.com>
1642
1643         * c-typeck.c (push_init_level): Handle vectors.
1644
1645 2002-02-25  Alexandre Oliva  <aoliva@redhat.com>
1646
1647         * config/sparc/sparc.c (const64_high_operand): Zero-extend
1648         operands of SPARC_SETHI_P.
1649         (input_operand): Likewise.
1650         (sparc_emit_set_const32): Likewise.
1651         * config/sparc/sparc.h (SPARC_SETHI_P): Disregard TARGET_ARCH64.
1652         (SPARC_SETHI32_P): Zero-extend operand from 32 bits.
1653         (CONST_OK_FOR_LETTER_P): Use SETHI32 for `K'.  Add `N' as SETHI.
1654         * config/sparc/sparc.md (movdi_insn_sp64_novis): Use `N'.
1655         (movdi_insn_sp64_vis): Likewise.
1656         (movdi split, movdf split): Use SETHI32.
1657         * doc/md.texi: Document SPARC constraints L, M and N.
1658
1659 2002-02-25  Aldy Hernandez  <aldyh@redhat.com>
1660
1661         * config/rs6000/rs6000.md ("get_vrsave_internal"): New.
1662         ("*set_vrsave_internal"): use mfspr for Darwin.
1663
1664         * config/rs6000/rs6000.c (rs6000_emit_prologue): Call
1665         gen_get_vrsave_internal.
1666
1667 Sun Feb 24 16:38:56 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1668
1669         * optabs.c (widen_operand): Properly handle CONST_INT for NO_EXTEND.
1670
1671 2002-02-24  Neil Booth  <neil@daikokuya.demon.co.uk>
1672
1673         * cpplex.c (cpp_interpret_charconst): Get signedness or
1674         otherwise of wide character constants correct.
1675         * cppexp.c (lex): Get signedness of wide charconsts correct.
1676
1677 Sun Feb 24 07:41:31 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1678
1679         * optabs.c (widen_operand): Only call convert_modes for
1680         promoted SUBREG if signedness matches.
1681         * config/alpha/alpha.md (*addsi_se2, *subsi_se2): New patterns.
1682
1683 2002-02-23  Neil Booth  <neil@daikokuya.demon.co.uk>
1684
1685         * cpplib.c (glue_header_name): Use local buffer to build up
1686         header name.
1687
1688 2002-02-23  Neil Booth  <neil@daikokuya.demon.co.uk>
1689
1690         * doc/cpp.texi, doc/invoke.texi: Update documentation for -MM.
1691
1692 2002-02-23  Kazu Hirata  <kazu@hxi.com>
1693
1694         * config/h8300/h8300.c (output_simode_bld): Handle H8/300 and
1695         H8/300[HS] separately.
1696         * config/h8300/h8300.md: Remove the early clobber constraint
1697         from bit field patterns.
1698
1699 2002-02-23  Kazu Hirata  <kazu@hxi.com>
1700
1701         * config/h8300/h8300.md (mulqihi3): Tighten predicates to
1702         register_operand.
1703         (mulhisi3): Likewise.
1704         (umulqisi3): Likewise.
1705         (umulhisi3): Likewise.
1706
1707 2002-02-23  Neil Booth  <neil@daikokuya.demon.co.uk>
1708
1709         * cppinit.c (output_deps): Correct test for stdout output.
1710         (init_dependency_output): Cure warning.
1711
1712 Sat Feb 23 08:42:47 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1713
1714         * expr.c (store_expr): When converting expression to promoted
1715         equivalent type, allow using SUBREG_REG of TARGET as the target
1716         of the expansion of EXP.
1717         * loop.c (basic_induction_var, case SUBREG): Always look inside.
1718         * config/alpha/alpha.c (rtx_equiv_function_matters): Delete decl.
1719         (alpha_emit_set_const): Handle SImode when can't make new pseudos.
1720         (alpha_emit_set_const_1, alpha_sa_mask): Use no_new_pseudos.
1721         * config/alpha/alpha.md (addsi3, subsi3): Don't use if optimizing.
1722
1723 2002-02-23  Joseph S. Myers  <jsm28@cam.ac.uk>
1724
1725         * doc/contribute.texi, doc/extend.texi, doc/install.texi,
1726         doc/invoke.texi, doc/md.texi, doc/passes.texi, doc/rtl.texi,
1727         doc/standards.texi, doc/tm.texi: Remove trailing whitespace.
1728
1729 2002-02-23  Jakub Jelinek  <jakub@redhat.com>
1730
1731         PR optimization/5747
1732         * loop.c (scan_loop): Update reg info if move_movables created new
1733         pseudos.
1734
1735 2002-02-23  David Edelsohn  <edelsohn@gnu.org>
1736
1737         * gcc.c (init_gcc_spec): Revert last change.
1738
1739 2002-02-23  David Edelsohn  <edelsohn@gnu.org>
1740
1741         * config/rs6000/rs6000.md (load_toc_aix_{si,di}): Use
1742         gpc_reg_operand constraint.
1743
1744 2002-02-23  Alan Modra  <amodra@bigpond.net.au>
1745
1746         * config/rs6000/rs6000.c (num_insns_constant): Fix formatting.
1747         Simplify comparison of `low'.
1748         (add_operand): Fix formatting.
1749         (non_add_cint_operand): Use CONST_OK_FOR_LETTER_P.
1750         (mask_operand): Disallow mask to wrap in 64-bit mode.
1751         (rs6000_stack_info): Remove redundant test setting push_p.
1752         (output_toc): Fix formatting.
1753         * config/rs6000/rs6000.md (boolsi3, boolcsi3 splitters): Use
1754         cc_reg_not_cr0_operand constraint.
1755         (booldi3, boolcdi3 splitters): Same.
1756
1757 2002-02-23  Aldy Hernandez  <aldyh@redhat.com>
1758
1759         * config/rs6000/altivec.h: Add extra level of parentheses on casts.
1760
1761 2002-02-22  David Edelsohn  <edelsohn@gnu.org>
1762
1763         * gcc.c (init_gcc_spec): Do not link with static libgcc.a if
1764         gcc invoked with -shared-libgcc.
1765
1766 2002-02-22  Jakub Jelinek  <jakub@redhat.com>
1767
1768         PR c++/5748
1769         * stmt.c (expand_anon_union_decl): Set TREE_USED on the anon union
1770         decl if any of elements was TREE_USED.
1771
1772 2002-02-22  Alexandre Oliva  <aoliva@redhat.com>
1773
1774         * config/sparc/sol2.h: Don't include sys/mman.h.
1775         * config/sparc/sparc.c (arith_operand): Use SMALL_INT32.
1776         (arith_4096_operand): Don't throw high bits away.
1777         (const64_operand): Take sign extension of CONST_INTs into account.
1778         (const64_high_operand, sparc_emit_set_const32): Likewise.
1779         (GEN_HIGHINT64): Likewise.
1780         (sparc_emit_set_const64_quick1): Likewise.
1781         (const64_is_2insns): Likewise.
1782         (print_operand): Use trunc_int_for_mode for sign extension.
1783         * config/sparc/sparc.h (SMALL_INT32): Likewise.
1784         * config/sparc/sparc.md (movqi): Sign-extend CONST_DOUBLE
1785         chars.  Assume CONST_INT is already properly sign-extended.
1786         (movdi split): Sign-extend each SImode part.
1787         (andsi3 split): Don't mask high bits off, so that result
1788         remains properly sign-extend.
1789         (iorsi3 split): Likewise.
1790         (xorsi3 split): Likewise.
1791
1792 2002-02-22  Richard Sandiford  <rsandifo@redhat.com>
1793
1794         * fold-const.c (fold): Fix typo in comments.
1795
1796 2002-02-21  Diego Novillo  <dnovillo@redhat.com>
1797
1798         * Makefile.in (langhooks.o): Update dependencies.
1799
1800 2002-02-21  Diego Novillo  <dnovillo@redhat.com>
1801
1802         * langhooks.c: Include flags.h.
1803
1804 2002-02-21  Aldy Hernandez  <aldyh@redhat.com>
1805
1806         * testsuite/gcc.dg/attr-alwaysinline.c: New.
1807
1808         * c-common.c (c_common_post_options): Set inline trees by
1809         default.
1810
1811         * doc/extend.texi (Function Attributes): Document always_inline
1812         attribute.
1813         Update documentation about inlining when not optimizing.
1814
1815         * cp/decl.c (duplicate_decls): Merge always_inline attribute.
1816
1817         * cp/tree.c (cp_cannot_inline_tree_fn): Do not inline at -O0
1818         unless DECL_ALWAYS_INLINE.
1819
1820         * c-objc-common.c (c_cannot_inline_tree_fn): Do not inline at -O0
1821         unless DECL_ALWAYS_INLINE.
1822         (c_disregard_inline_limits): Disregard if always_inline set.
1823
1824         * langhooks.c (lhd_tree_inlining_disregard_inline_limits):
1825         Disregard if always_inline set.
1826         (lhd_tree_inlining_cannot_inline_tree_fn): Do not inline at -O0
1827         unless DECL_ALWAYS_INLINE.
1828
1829         * attribs.c (handle_always_inline_attribute): New.
1830         (c_common_attribute_table): Add always_inline.
1831
1832         * config/rs6000/altivec.h: Add prototypes for builtins
1833         requiring the always_inline attribute.
1834
1835 2002-02-21  Eric Christopher  <echristo@redhat.com>
1836
1837         * expmed.c (store_bit_field): Try to simplify the subreg
1838         before generating a new one when when the mode size of
1839         value is less than maxmode.
1840
1841 2002-02-21  Richard Henderson  <rth@redhat.com>
1842
1843         * emit-rtl.c (offset_address): Use simplify_gen_binary rather
1844         than gen_rtx_PLUS to form the sum.
1845         * explow.c (force_reg): Rearrange to not allocate new pseudo
1846         when force_operand returns a register.
1847         * expr.c (expand_assignment): Allow offset_rtx expansion to
1848         return a sum.  Do not force addresses into registers.
1849         (expand_expr): Likewise.
1850         * simplify-rtx.c (simplify_gen_binary): Use simplify_plus_minus
1851         to canonicalize arithmetic that didn't simpify.
1852         (simplify_plus_minus): New argument force; update
1853         all callers.  Don't split CONST unless we can do something with it,
1854         and wouldn't lose the constness of the operands.
1855
1856         * config/i386/i386.c (legitimize_pic_address): Recognize UNSPECs
1857         that we generated earlier.
1858
1859 2002-02-21  Tom Tromey  <tromey@redhat.com>
1860
1861         * dwarf2out.c (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
1862         (output_line_info): Use constant `1', with a long explanatory
1863         comment.
1864         * system.h (DWARF_LINE_MIN_INSTR_LENGTH): Poison.
1865
1866 Thu Feb 21 22:43:44 2002  J"orn Rennecke <joern.rennecke@superh.com>
1867
1868         * jump.c (redirect_jump): If old label has no UID, don't try to
1869         delete it.
1870
1871 Thu Feb 21 21:17:21 2002  J"orn Rennecke <joern.rennecke@superh.com>
1872
1873         * sh.md (insv): Provide byte offsets for gen_rtx_SUBREG.
1874         If input is constant, do shifts at compile time.
1875
1876 2002-02-21  Joseph S. Myers  <jsm28@cam.ac.uk>
1877
1878         * doc/extend.texi: Fix some more overfull hboxes.
1879
1880 2002-02-21  Jakub Jelinek  <jakub@redhat.com>
1881
1882         PR optimization/4994
1883         * config/i386/i386.md (movsi_1, movsf_1): Support MMX -> MMX
1884         register moves.
1885
1886 2002-02-21  Jakub Jelinek  <jakub@redhat.com>
1887
1888         PR c++/4574
1889         * expr.h (expand_and): Add mode argument.
1890         * expmed.c (expand_and): Add mode argument.
1891         (expand_mult_highpart_adjust, emit_store_flag): Adjust callers.
1892         * expr.c (store_field, expand_expr, do_store_flag): Likewise.
1893         * except.c (expand_builtin_extract_return_addr): Likewise.
1894         * config/alpha/alpha.c (alpha_initialize_trampoline): Likewise.
1895         * config/sparc/sparc.c (sparc_initialize_trampoline): Likewise.
1896         * config/c4x/c4x.h (INITIALIZE_TRAMPOLINE): Likewise.
1897         Use GEN_INT (x) instead of gen_rtx (CONST_INT, VOIDmode, x).
1898         * config/c4x/c4x.md: Use GEN_INT (x) instead of
1899         gen_rtx (CONST_INT, VOIDmode, x).
1900
1901 2002-02-21  Jakub Jelinek  <jakub@redhat.com>
1902
1903         PR c/4697:
1904         * stmt.c (warn_if_unused_value): Move side effects test once more.
1905
1906 2002-02-20  Torbjorn Granlund  <tege@swox.com>
1907
1908         * config/avr/avr.md: Add more patterns for mized-mode add and subtract
1909         (addsi3_zero_extend, subhi3_zero_extend1, subsi3_zero_extend).
1910
1911 Thu Feb 21 16:20:46 2002  Alexandre Oliva  <aoliva@redhat.com>
1912
1913         * rtlanal.c (replace_rtx): Don't make a CONST_INT the operand of
1914         SUBREG or ZERO_EXTEND.
1915
1916 Thu Feb 21 15:35:46 2002  J"orn Rennecke <joern.rennecke@superh.com>
1917
1918         * sh.h (current_function_anonymous_args): Remove.
1919         (SETUP_INCOMING_VARARGS): Don't set it - just check that one
1920         of current_function_varargs and current_function_stdarg is set.
1921         * sh.c (sh_expand_prologue): Check current_function_varargs /
1922         current_function_stdarg / TARGET_SH5 instead of
1923         current_function_anonymous_args.
1924
1925         * sh64.h (TARGET_VERSION): Define.
1926
1927 2002-02-20  David Edelsohn  <edelsohn@gnu.org>
1928
1929         * config/rs6000/rs6000.h (EPILOGUE_USES): Conditionalize
1930         VRSAVE_REGNO on TARGET_ALTIVEC.
1931
1932 2002-02-20  Alan Modra  <amodra@bigpond.net.au>
1933
1934         * config/rs6000/rs6000.c (includes_lshift_p): Mask irrelevant
1935         bits of SImode const_int.
1936         (includes_rshift_p): Likewise.
1937         (print_operand): Call mask_operand and mask64_operand with correct
1938         mode.
1939         (rs6000_output_function_epilogue): Pad traceback table to word.
1940         * config/rs6000/rs6000.h (MASK_64BIT): Correct comment.
1941         (EXTRA_CONSTRAINT, 'S' and 'T'): Call mask_operand and
1942         mask64_operand with correct mode.
1943         (FUNCTION_ARG_REGNO_P): Correct parentheses.
1944
1945 2002-02-20  Jakub Jelinek  <jakub@redhat.com>
1946
1947         PR debug/4461
1948         * varasm.c (get_pool_constant_mark): New.
1949         * rtl.h (get_pool_constant_mark): Add prototype.
1950         * dwarf2out.c (mem_loc_descriptor): A pool constant cannot
1951         be represented if it has not been output.
1952
1953 2002-02-20  Alexandre Oliva  <aoliva@redhat.com>
1954
1955         * combine.c (do_SUBST): Sanity check substitutions of
1956         CONST_INTs, and reject them in SUBREGs and ZERO_EXTENDs.
1957         (subst): Simplify SUBREG or ZERO_EXTEND instead of SUBSTing a
1958         CONST_INT into its operand.
1959         (known_cond): Likewise, for ZERO_EXTEND.
1960         * simplify-rtx.c (simplify_unary_operation): Fix condition to
1961         allow for simplification of wide modes.  Reject CONST_INTs in
1962         ZERO_EXTEND when their actual mode is not given.
1963
1964 2002-02-20  Alexandre Oliva  <aoliva@redhat.com>
1965
1966         * c-decl.c (pushdecl): If no global declaration is found for an
1967         extern declaration in block scope, try a limbo one.
1968
1969 2002-02-20  Jakub Jelinek  <jakub@redhat.com>
1970
1971         PR c++/4401
1972         * c-common.c (pointer_int_sum): Moved from...
1973         * c-typeck.c (pointer_int_sum): ...here.
1974         * c-common.h (pointer_int_sum): Add prototype.
1975
1976 2002-02-20  Jakub Jelinek  <jakub@redhat.com>
1977
1978         PR c++/5713
1979         * c-decl.c (duplicate_decls): Return 0 if issued error about
1980         redeclaration.
1981
1982 2002-02-20  Roger Sayle  <roger@eyesopen.com>
1983             Jakub Jelinek  <jakub@redhat.com>
1984
1985         PR c/4389
1986         * tree.c (host_integerp): Ensure that the constant integer is
1987         representable in a HOST_WIDE_INT or an unsigned HOST_WIDE_INT
1988         when pos is zero or non-zero respectively.  Clarify comment.
1989         * c-format.c (check_format_info_recurse): Fix host_integerp
1990         usage; the pos argument should be zero when assigning to a
1991         signed HOST_WIDE_INT.
1992
1993 2002-02-20  Richard Henderson  <rth@redhat.com>
1994
1995         * config/i386/i386.c (ix86_expand_vector_move): Use the mode
1996         of the operand, rather than assuming TImode.
1997         (ix86_expand_binop_builtin): Cope with commutative patterns
1998         using nonimmediate_operand for both operands.
1999         (ix86_expand_timode_binop_builtin): Likewise.
2000         (ix86_expand_store_builtin): Validate operand 1.
2001         (ix86_expand_unop1_builtin): Likewise.
2002
2003 2002-02-20  Philip Blundell  <philb@gnu.org>
2004
2005         PR 5705
2006         * config/arm/arm.h (HARD_REGNO_RENAME_OK): New macro.
2007
2008 2002-02-20  Richard Henderson  <rth@redhat.com>
2009
2010         PR c/5615
2011         * expr.h (ARGS_SIZE_TREE): Convert size.var to ssizetype.
2012
2013 2002-02-20  Tom Tromey  <tromey@redhat.com>
2014
2015         * config/fr30/fr30.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
2016         * config/sh/sh.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
2017         * config/pj/pj.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
2018         * config/cris/cris.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
2019         * dwarf2out.c (DWARF_LINE_MIN_INSTR_LENGTH): Define
2020         unconditionally.
2021
2022 Wed Feb 20 00:03:25 EST 2002 Alan Matsuoka <alanm@redhat.com>
2023
2024         * config/rs6000/rs6000.h (LEGITIMATE_OFFSET_ADDRESS_P): Look
2025           for (const_int 0) in X not just INTVAL.
2026
2027 2002-02-20  Joseph S. Myers  <jsm28@cam.ac.uk>
2028
2029         * doc/extend.texi: Avoid or reduce overfull hboxes.
2030
2031 2002-02-20  Diego Novillo  <dnovillo@redhat.com>
2032
2033         * expmed.c (store_bit_field): Do not store bit fields using SUBREG
2034         operations if the field does not start at a mode boundary.
2035
2036 2001-02-20      Joel Sherrill <joel@OARcorp.com>
2037
2038         * config/a29k/rtems.h, config/arm/rtems-elf.h, config/h8300/rtems.h,
2039         config/mips/rtems.h: Use new style of -Asystem= rather than -Asystem().
2040         Also done for -Acpu and -Amachine.
2041
2042 2002-02-20  Neil Booth  <neil@daikokuya.demon.co.uk>
2043
2044         * cppinit.c (init_dependency_output): Take deps output file
2045         from -o if none given with -MF.  Suppress normal output.
2046         * gcc.c (cpp_unique_options): Have -M and -MM imply -E.
2047         * doc/cpp.texi, doc/invoke.texi: Update.
2048
2049 2002-02-19  Zack Weinberg  <zack@codesourcery.com>
2050
2051         * toplev.c (output_quoted_string): Write unprintable
2052         characters with octal escapes.
2053
2054 2002-02-19  David Edelsohn  <edelsohn@gnu.org>
2055
2056         * config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Set
2057         really_call_used[VRSAVE_REGNO] if not Altivec.
2058
2059 2002-02-19  Alan Modra  <amodra@bigpond.net.au>
2060
2061         * config/rs6000/rs6000.c (u_short_cint_operand): Mask op with
2062         MODE_MASK.
2063         (constant_pool_expr_1): Fix formatting.
2064         (rs6000_legitimize_reload_address): Likewise.
2065
2066 Tue Feb 19 20:13:57 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2067
2068         * config/sparc/sparc.md (nonlocal_goto): Use hard_frame_pointer_rtx
2069         now that we have one.
2070
2071 2002-02-19  Zack Weinberg  <zack@codesourcery.com>
2072
2073         * tree.h (struct tree_common): Remove aux.  Add unused_0 at
2074         end of first block of bitfields (which was only seven bits);
2075         rename dummy to unused_1; remove comment which is no longer true.
2076
2077 2002-02-19  Gaute B Strokkenes <gs234@cam.ac.uk>
2078
2079         * doc/c-tree.texi (Classes, TYPE_BINFO): Fix typo.
2080
2081 2002-02-19  Philip Blundell  <pb@nexus.co.uk>
2082
2083         PR 5399
2084         * config/arm/arm.h (THUMB_LEGITIMATE_CONSTANT_P): Accept anything
2085         if generating PIC.
2086
2087         PR 5054
2088         * config/arm/arm.md (call_insn) [TARGET_THUMB]: Use
2089         arm_is_longcall_p rather than inspecting call-type cookie
2090         directly.
2091         (call_value_insn) [TARGET_THUMB]: Likewise.
2092
2093 2002-02-19  Graham Stott  <grahams@redhat.com>
2094
2095         * config/i386/i386.c (ix86_expand_builtin): Fix typo.
2096
2097 2002-02-19  David Edelsohn  <edelsohn@gnu.org>
2098
2099         * config/rs6000/linux64.h (LINK_OS_LINUX_SPEC): Look in /lib64.
2100         ({STARTFILE,ENDFILE}_LINUX_SPEC): Define.
2101         (FP_SAVE_INLINE): Delete.
2102
2103         * config/rs6000/sysv4.h (ENDFILE_SPEC): Add crtsaveres.o.
2104         * config/rs6000/eabi.asm: Remove ABI save restore routines.
2105         * config/rs6000/t-ppccomm: Build crtsavres.o.
2106         * config/rs6000/crtsavres.asm: New file.
2107
2108 2002-02-19  Philip Blundell  <philb@gnu.org>
2109
2110         * config/arm/arm.c (use_return_insn): Don't reject interrupt
2111         functions.
2112         (arm_compute_save_reg_mask): Save LR for interrupt functions too.
2113         (output_return_instruction): Allow interrupt functions to return with
2114         ldmfd sp!, {... pc}^.  Use LDR to restore any single register.
2115         (arm_expand_prologue): Subtract 4 before stacking LR in an
2116         interrupt function.
2117
2118 2002-02-19  Philip Blundell  <pb@nexus.co.uk>
2119
2120         * config/arm/arm.c (arm_encode_call_attribute): Operate on any
2121         decl, not just FUNCTION_DECL.
2122         (legitimize_pic_address): Handle local SYMBOL_REF like LABEL_REF.
2123         (arm_assemble_integer): Likewise.
2124         * config/arm/arm.h (ARM_ENCODE_CALL_TYPE): Allow any decl to be
2125         marked local.
2126
2127 2002-02-19  matthew green  <mrg@eterna.com.au>
2128
2129         * config.gcc (sparc-*-netbsdelf*): Enable target.
2130         (sparc64-*-netbsd*): New target.
2131         * config/sparc/netbsd-elf.h: New file.
2132         * config/sparc/t-netbsd64: New file.
2133
2134 2002-02-19  Gaute B Strokkenes <gs234@cam.ac.uk>
2135
2136         * doc/rtl.texi (Flags, MEM_SCALAR_P): Fix typo.
2137
2138 2002-02-19  Ryan T. Sammartino <ryants@shaw.ca>
2139
2140         * doc/invoke.texi: explicitly list the style guidelines that
2141         -Weffc++ checks for.
2142
2143 Tue Feb 19 12:37:23 CET 2002  Jan Hubicka  <jh@suse.cz>
2144
2145         * regmove.c (regmove_optimize): Avoid increasing of register pressure.
2146
2147 2002-02-19  Neil Booth  <neil@daikokuya.demon.co.uk>
2148
2149         PR other/5718
2150         * gcc.c (cpp_unique_options): Treat -o as indicating object file
2151         only if not -E.  If -E, pass -o through to the preprocessor.
2152
2153 2002-02-19  Kazu Hirata  <kazu@hxi.com>
2154
2155         * config/h8300/h8300.h (REGNO_REG_CLASS): Replace a literal
2156         register number with an appropriate macro.
2157
2158 2002-02-19  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
2159
2160         * doc/rtl.texi (Constants): Close @code tag.
2161
2162 2002-02-19  Aldy Hernandez  <aldyh@redhat.com>
2163
2164         * config/i386/i386.md ("mmx_uavgv8qi3"): Use const_vector.
2165         ("mmx_uavgv4hi3"): Same.
2166         ("pmulhrwv4hi3"): Same.
2167
2168         * tree-inline.c (walk_tree): Handle vectors.
2169
2170         * c-common.c (constant_expression_warning): Handle vectors.
2171         (overflow_warning): Same.
2172
2173         * sched-deps.c (sched_analyze_2): Handle vectors.
2174
2175         * rtlanal.c (rtx_unstable_p): Handle vectors.
2176         (rtx_varies_p): Same.
2177         (count_occurrences): Same.
2178         (regs_set_between_p): Same.
2179         (modified_between_p): Same.
2180         (modified_in_p): Same.
2181         (volatile_insn_p): Same.
2182         (volatile_refs_p): Same.
2183         (side_effects_p): Same.
2184         (may_trap_p): Same.
2185         (inequality_comparisons_p): Same.
2186         (replace_regs): Same.
2187         (computed_jump_p_1): Same.
2188
2189         * rtl.c (DEF_MACHMODE): Change all definitions to accept 8th
2190         argument.
2191         (inner_mode_array): New.
2192         (copy_rtx): Handle vectors.
2193         (copy_most_rtx): Same.
2194         (rtx_equal_p): Same.
2195         (get_mode_alignment): Adjust for vectors.
2196
2197         * resource.c (mark_referenced_resources): Handle vectors.
2198         (mark_set_resources): Same.
2199
2200         * reload1.c (eliminate_regs): Handle vectors.
2201         (elimination_effects): Same.
2202         (scan_paradoxical_subregs): Same.
2203
2204         * reload.c (subst_reg_equivs): Handle vectors.
2205
2206         * regrename.c (scan_rtx): Handle vectors.
2207
2208         * regclass.c (reg_scan_mark_refs): Handle vectors.
2209
2210         * recog.c (find_single_use_1): Handle vectors.
2211
2212         * local-alloc.c (equiv_init_varies_p): Handle vectors.
2213         (contains_replace_regs): Same.
2214         (memref_referenced_p): Same.
2215
2216         * integrate.c (copy_rtx_and_substitute): Handle vectors.
2217         (subst_constants): Same.
2218
2219         * genattrtab.c (attr_copy_rtx): Handle vectors.
2220         (encode_units_mask): Same.
2221         (clear_struct_flag): Same.
2222         (count_sub_rtxs): Same.
2223
2224         * gcse.c (want_to_gcse_p): Handle vectors.
2225         (oprs_unchanged_p): Same.
2226         (hash_expr_1): Same.
2227         (oprs_not_set_p): Same.
2228         (expr_killed_p): Same.
2229         (compute_transp): Same.
2230         (store_ops_ok): Same.
2231
2232         * function.c (purge_addressof_1): Do not allow paradoxical subregs
2233         of vectors.
2234         (fixup_var_refs_1): Same.
2235         (instantiate_virtual_regs_1): Same.
2236
2237         * fold-const.c (operand_equal_p): Handle vectors.
2238         (fold): Same.
2239         (rtl_expr_nonnegative_p): Same.
2240
2241         * flow.c (mark_used_regs): Handle vectors.
2242
2243         * df.c (df_uses_record): Handle vectors.
2244
2245         * cselib.c (cselib_subst_to_values): Handle vectors.
2246         (cselib_mem_conflict_p): Same.
2247         (hash_rtx): Same.
2248
2249         * cse.c (canon_reg): Handle vectors.
2250         (fold_rt): Same.
2251         (cse_process_notes): Same.
2252         (count_reg_usage): Same.
2253         (canon_hash): Same.
2254
2255         * alias.c (nonlocal_mentioned_p): Add case for CONST_VECTOR.
2256
2257         * combine.c (mark_used_regs_combine): Add case for CONST_VECTOR.
2258
2259         * emit-rtl.c (init_emit_once): Generate const0_rtx for vectors.
2260         (gen_rtx): Handle CONST_VECTOR.
2261         (gen_const_vector_0): New.
2262         (copy_rtx_if_shared): CONST_VECTORs can be shared.
2263         (reset_used_flags): Same.
2264         (copy_insn_1): Same.
2265         (initializer_constant_valid_p): Handle VECTOR_CST.
2266
2267         * doc/c-tree.texi (Expression trees): Document VECTOR_CST.
2268
2269         * doc/rtl.texi (Constants): Document const_vector.
2270         (CONST0_RTX): Update for vectors.
2271         (RTL sharing): Same.
2272
2273         * print-tree.c (print_node): Add case for VECTOR_CST.
2274
2275         * tree.h (TREE_VECTOR_CST_ELTS): New.
2276         (struct tree_vector): New.
2277         (union tree_node): Add vector node.
2278         (build_vector): Add prototype.
2279
2280         * tree.def (VECTOR_CST): New.
2281
2282         * tree.c (build_vector): New.
2283
2284         * expmed.c (make_tree): Handle CONST_VECTOR.
2285
2286         * rtl.h (CONSTANT_P): CONST_VECTORs are constants too.
2287         (CONST_VECTOR_ELT): New.
2288         (CONST_VECTOR_NUNITS): New.
2289
2290         * machmode.h (GET_MODE_INNER): New.
2291         (DEF_MACHMODE): Accept 8th arg.
2292
2293         * machmode.def: Add 8th argument for vector inner mode.
2294         Add inner vector modes for vectors.
2295
2296         * rtl.def (VEC_CONST): Remove.
2297         (CONST_VECTOR): New.
2298
2299         * expr.c (clear_storage): Allow vectors.
2300         (is_zeros_p): Handle VECTOR_CST.
2301
2302         * varasm.c (output_constant_pool): Handle vectors.
2303         (rtx_const): Add veclo and vechi fields.
2304         (kind): Add RTX_VECTOR.
2305         (decode_rtx_const): Add case for vector.
2306
2307         * config/rs6000/rs6000-protos.h: Add zero_constant.
2308
2309         * config/rs6000/rs6000.c (rs6000_emit_move): Handle vector
2310         constants.  Force easy vector constants into memory.
2311         (easy_vector_constant): New.
2312         (emit_easy_vector_constant): New.
2313         (rs6000_legitimize_reload_address): Do not generate bad reloads on
2314         darwin.
2315
2316         * config/rs6000/rs6000.md ("altivec_lvx"): Reflect what
2317         instruction does.
2318         ("altivec_lvxl"): Same.
2319         (altivec_lvebx): Same.
2320         (altivec_lvehx): Same.
2321         (altivec_lvewx): Same.
2322         ("*movv4si_const0"): New.
2323         ("*movv4sf_const0"): New.
2324         ("*movv8hi_const0"): New.
2325         ("*movv16qi_const0"): New.
2326
2327 2002-02-18  Kazu Hirata  <kazu@hxi.com>
2328
2329         * config/h8300/h8300.c (notice_update_cc): Use
2330         cc_status.value2.
2331
2332 2002-02-18  Kazu Hirata  <kazu@hxi.com>
2333
2334         * config/h8300/h8300.md (divmod patterns): Change the
2335         constraints for operands[1] to register_operand.
2336
2337 2002-02-18  Kazu Hirata  <kazu@hxi.com>
2338
2339         * config/h8300/h8300-protos.h: Remove the prototype for
2340         p_operand.
2341         * config/h8300/h8300.c (p_operand): Remove.
2342         * config/h8300/h8300.md: Replace p_operand with
2343         const_int_operand.
2344
2345 2002-02-18 Philip Blundell <pb@nexus.co.uk>
2346
2347         * config/arm/arm.c (arm_compute_save_reg_mask): Fix typo in
2348         comment.
2349         (output_return_instruction): Allow use of LDR to unstack
2350         return addresss even for interrupt handlers or when
2351         interworking.  If compiling for ARMv5, use interworking-safe
2352         return instructions by default.  Remove duplicated code and
2353         lengthy "strcat" sequences.
2354
2355 2002-02-18  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2356
2357         * config/rs6000/sysv4.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
2358         (LINK_EH_SPEC): Define.
2359         * config/rs6000/t-ppccomm (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
2360
2361 2002-02-18  Ulrich Weigand  <uweigand@de.ibm.com>
2362
2363         * config/s390/s390.c (s390_emit_prologue): Do not set the
2364         frame_related flag for call-clobbered registers.
2365
2366 Mon Feb 18 15:07:35 CET 2002  Jan Hubicka  <jh@suse.cz>
2367
2368         * i386.c (classify_argument): Properly classify SSE/MMX modes and VOIDmode.
2369         (construct_container): Fix handling of SSE operands.
2370         (ix86_expand_builtin): Fix handling of 64bit pointers.
2371         (mmx_maskmovq_rex): New pattern.
2372
2373 Mon Feb 18 11:55:55 CET 2002  Jan Hubicka  <jh@suse.cz>
2374
2375         * regrename.c (kill_set_value): Handle subregs properly.
2376
2377 2002-02-18  David Billinghurst <David.Billinghurst@riotinto.com>
2378
2379         * objc/objc-act.c (handle_impent): Remove leading '*'
2380         from objc_class_name.
2381
2382 2002-02-17  Richard Henderson  <rth@redhat.com>
2383
2384         * config/alpha/alpha.c (some_small_symbolic_operand,
2385         some_small_symbolic_operand_1, split_small_symbolic_operand,
2386         split_small_symbolic_operand_1): Rename from *symbolic_mem_op*.
2387         Handle small SYMBOL_REFs anywhere, not just inside memories.
2388         * config/alpha/alpha-protos.h: Update.
2389         * config/alpha/alpha.h (PREDICATE_CODES): Update.
2390         * config/alpha/alpha.md (small symbolic operand splitter): Update.
2391
2392 2002-02-17  Roland McGrath  <roland@frob.com>
2393
2394         * config.gcc (powerpc-*-gnu-gnualtivec*,
2395         powerpc-*-gnu*, powerpc64-*-gnu*): New configurations.
2396         * config/rs6000/gnu.h: New file.
2397         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS):
2398         Grok "gnu" in rs6000_abi_name.
2399         (ASM_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC,
2400         CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC, LIB_SPEC, ENDFILE_SPEC):
2401         Grok -mcall-gnu analogous to -mcall-linux et al.
2402         (LIB_GNU_SPEC, STARTFILE_GNU_SPEC, ENDFILE_GNU_SPEC,
2403         LINK_START_GNU_SPEC, LINK_OS_GNU_SPEC, CPP_OS_GNU_SPEC): New macros.
2404         (SUBTARGET_EXTRA_SPECS): Add *_os_gnu specs using them.
2405
2406 2002-02-17  Jakub Jelinek  <jakub@redhat.com>
2407
2408         PR c/3444:
2409         * c-typeck.c (build_binary_op) [BIT_XOR_EXPR]: Remove explicit
2410         shortening.
2411
2412 2002-02-17  Philipp Thomas  <pthomas@suse.de>
2413
2414         * config/cris/cris.h: Undefine STARTFILE_SPEC and
2415         ENDFILE_SPEC before (re)defining them.
2416
2417 2002-02-17  Kazu Hirata  <kazu@hxi.com>
2418
2419         * config/h8300/h8300.c: Fix formatting.
2420         * config/h8300/h8300.h: Likewise.
2421
2422 2002-02-17  Philipp Thomas  <pthomas@suse.de>
2423
2424         * doc/tm.texi: Explain why empty strings should not be
2425         marked for translation.
2426
2427 2002-02-17  Philipp Thomas  <pthomas@suse.de>
2428
2429         * final.c (output_operand_lossage): Changed to accept
2430         printf style arguments. Change calls where necessary.
2431         * output.h (output_operand_lossage): Change declaration
2432         accordingly. Update copyright.
2433         * config/arc/arc.c config/fr30/fr30.c config/m32r/m32r.c
2434         config/m88k/m88k.c : Adapt all calls to output_operand_lossage.
2435         Update copyright date where necessary.
2436
2437         * config/i386/i386.c (print_operand): Likewise. Remove use of
2438         sprintf.
2439
2440         * config/cris/cris.c (cris_operand_lossage): Likewise.
2441         Rename parameter so that exgettext recognizes it as
2442         translatable message.
2443         (LOSE_AND_RETURN): Rename parameter to msgid.
2444
2445 2002-02-17  Kazu Hirata  <kazu@hxi.com>
2446
2447         * config/h8300/h8300.h (CONDITIONAL_REGISTER_USAGE): Replace a
2448         hard coded register number with an appropriate macro.
2449         (HARD_REGNO_MODE_OK): Likewise.
2450         (ARG_POINTER_REGNUM): Likewise.
2451         (STATIC_CHAIN_REGNUM): Likewise.
2452         (RETURN_ADDRESS_POINTER_REGNUM): Likewise.
2453         * config/h8300/h8300.md (define_constants): Define more
2454         register numbers.
2455
2456 2002-02-17  Philipp Thomas  <pthomas@suse.de>
2457
2458         * config/i386/i386.h: Don't mark empty strings for translation.
2459
2460 2002-02-16  H.J. Lu <hjl@gnu.org>
2461
2462         * config/mips/linux.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
2463
2464 2002-02-16  Zack Weinberg  <zack@codesourcery.com>
2465
2466         * cppinit.c (merge_include_chains): Check for brack being
2467         NULL before attempting to merge it with qtail.
2468
2469 2002-02-16  Andrew Cagney  <ac131313@redhat.com>
2470
2471         * config/rs6000/netbsd.h (PREFERRED_DEBUGGING_TYPE): Set to
2472         DBX_DEBUG.
2473
2474 2002-02-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2475
2476         * pa/t-pa, pa/t-pro, som.h: Revert last patch.
2477
2478 2002-02-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2479
2480         * pa/t-pa (LIB2FUNCS_EXTRA): Don't build lib2funcs.asm.
2481         * pa/t-pro (LIB2FUNCS_EXTRA): Likewise.
2482         * som.h (DO_GLOBAL_DTORS_BODY): Delete define.
2483
2484 Sat Feb 16 13:48:50 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2485
2486         * config/alpha/alpha.md (*movsi_nt_vms_nofix): Was *movsi_nt_vms;
2487         now only if !TARGET_FIX.
2488         (*movsi_nt_vms_fix): New pattern.
2489
2490 2002-02-16  Douglas B Rupp  <rupp@gnat.com>
2491
2492         * config/alpha/alpha.c: Implement null frame procedure types on VMS.
2493         (alpha_procedure_type): Replaces alpha_is_stack_procedure.
2494         (alpha_sa_mask, alpha_sa_size): Reflect above change.
2495         (alpha_pv_save_size, alpha_expand_prologue): Likewise.
2496         (alpha_start_function, alpha_expand_epilogue): Likewise.
2497         (unicosmk_gen_dsib): Likewise.
2498
2499 Sat Feb 16 13:39:09 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2500
2501         * expr.c (store_constructor): Handle target REG case for ARRAY_TYPE.
2502
2503 2002-02-16  Ulrich Weigand  <uweigand@de.ibm.com>
2504
2505         * config/s390/s390.c (pool_stop_uid, other_chunk, far_away,
2506         check_and_change_labels, s390_final_chunkify): Delete.
2507         (s390_split_branches, s390_chunkify_pool): New functions.
2508         (s390_function_prologue): Call them.
2509
2510         * config/s390/s390.h (S390_REL_MAX): Delete.
2511         (S390_CHUNK_MAX, S390_CHUNK_OV): Adjust values.
2512
2513         * config/s390/s390.md (cjump, icjump, jump): Fix length
2514         attribute calculation.
2515
2516
2517 2002-02-15  David Edelsohn  <edelsohn@gnu.org>
2518
2519         * config/rs6000/linux64.h (STRIP_NAME_ENCODING): Delete.
2520         * config/rs6000/ppc-asm.h (JUMP_TARGET): Define for powerpc64.
2521
2522 2002-02-15  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2523
2524         * gcc.c (init_gcc_specs): Revert patch from 2002-02-15.
2525         * config/pa/pa-linux.h (LIB_SPEC): Likewise.
2526         * config/pa/pa32-linux.h (LINK_COMMAND_SPEC): Likewise.
2527
2528 2002-02-15  Richard Sandiford  <rsandifo@redhat.com>
2529
2530         * c-decl.c (grokdeclarator): Prevent a segfault on unnamed decls.
2531
2532 2002-02-15  Richard Sandiford  <rsandifo@redhat.com>
2533
2534         * reload.c (find_dummy_reload): Check that an output register
2535         is valid for its mode.
2536
2537 2002-02-14  Alexandre Oliva  <aoliva@redhat.com>
2538
2539         * combine.c (known_cond): After replacing the REG of a SUBREG, try
2540         to simplify it.
2541
2542         * function.c (assign_parms): Demote promoted argument passed by
2543         transparent reference.
2544
2545 2001-02-14      Joel Sherrill <joel@OARcorp.com>
2546
2547         * config/arm/rtems-elf.h, config/h8300/rtems.h: Removed redundant
2548         -Acpu() and -Amachine() to eliminate warnings.
2549
2550 2002-02-14  Ulrich Weigand  <uweigand@de.ibm.com>
2551
2552         * config/s390/linux.h (ASM_OUTPUT_ALIGNED_BSS): New.
2553
2554 2002-02-14  Kazu Hirata  <kazu@hxi.com>
2555
2556         * config/h8300/h8300-protos.h: Update the prototype for
2557         const_costs.
2558         * config/h8300/h8300.c (const_costs): Treat SET as a little
2559         more expensive operation.
2560         * config/h8300/h8300.h (DEFAULT_RTX_COSTS): Update the
2561         reference to const_costs.
2562
2563 2002-02-14  Hans-Peter Nilsson  <hp@axis.com>
2564
2565         * config.gcc (c4x-*-rtems*): Fix typo in tm_file setting.
2566
2567 2002-02-14  Jakub Jelinek  <jakub@redhat.com>
2568
2569         PR c/5503:
2570         * c-decl.c (duplicate_decls): If builtin type has TYPE_ARG_TYPES NULL,
2571         use arguments from newtype.
2572
2573 2002-02-13  Eric Christopher  <echristo@redhat.com>
2574
2575         * config/mips/mips.c (override_options): Add check for march/mipsX
2576         on the same command line. Fix error message in cpu processing.
2577         Remove architecture and ISA checks.
2578
2579 2002-02-14  Aldy Hernandez  <aldyh@redhat.com>
2580
2581         * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Adjust for vectors.
2582
2583         * config/rs6000/sysv4.h (ROUND_TYPE_ALIGN): Add MAX.
2584
2585 2002-02-14  Aldy Hernandez  <aldyh@redhat.com>
2586
2587         * config/rs6000/rs6000.md ("*movv4si_internal"): Add m<-r and r<-r
2588         alternatives.
2589         ("*movv8hi_internal1"): Same.
2590         ("*movv16qi_internal1"): Same.
2591         ("*movv4sf_internal1"): Same.
2592
2593         * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Do
2594         not push_reload for altivec modes.
2595
2596 2002-02-13  Joel Sherrill  <joel@OARcorp.com>
2597
2598         * config.gcc (a29k-*-rtems), config/a29k/rtems.h: General cleanup across
2599         all RTEMS targets including removal of #includes from config/*/rtems*.h
2600         file and adding them to tm_file setting. Added xm_defines=POSIX to
2601         many targets.
2602         * config.gcc (c4x-*-rtems), config/c4x/rtems.h: Ditto.
2603         * config.gcc (h8300-*-rtems), config/h8300/rtems.h: Ditto.
2604         * config.gcc (hppa1.1-*-rtems), config/pa/rtems.h: Ditto.
2605         * config.gcc (i960-*-rtems), config/i960/rtems.h: Ditto.
2606         * config.gcc (m68k-*-rtems*), config/m68k/rtems.h,
2607         config/m68k/rtemself.h: Ditto.
2608         * config.gcc (mips*-*-rtems*), config/mips/rtems.h,
2609         config/mips/rtems64.h: Ditto.
2610         * config.gcc (powerpc-*-rtems*), config/rs6000/rtems.h: Ditto.
2611         * config.gcc (sh-*-rtems*), config/sh/rtems.h, config/sh/rtemself.h:
2612         Ditto.
2613         * config.gcc (sparc-*-rtems*), config/sparc/rtems.h,
2614         config/sparc/rtemself.h: Ditto.
2615         * config.gcc (v850-*-rtems*), config/v850/rtems.h: Ditto.
2616         * config.gcc (arm-rtems), config/arm/rtems-elf.h: Ditto plus moved
2617         arm-rtems stanza closer to other arm-elf targets and made arm-rtems
2618         more like arm-elf.
2619         * config.gcc (i[34567]86-*-rtems*), config/i386/djgpp-rtems.h,
2620         config/i386/rtems.h, config/i386/rtemself.h: Ditto plus i386-rtemself
2621         target made more similar to i386-elf.
2622         * config/i386/t-rtems-i386: Added soft float support and multilibs.
2623         * config/m68k/t-m68kbare: Add 68040 and 68060 as multilib alternatives to
2624         be similar to config/m68k/t-m68kelf.
2625         * gthr-rtems.h: Encapsulate with extern "C" for C++.
2626
2627 Wed Feb 13 23:41:15 CET 2002  Jan Hubicka  <jh@suse.cz>
2628
2629         * regmove.c (kill_value): Handle subregs.
2630
2631 Wed Feb 13 23:34:30 CET 2002  Jan Hubicka  <jh@suse.cz>
2632
2633         * i386.md (mul patterns): Allow memory operand to be first;
2634         add expanders where needed; fix constraints.
2635         (min?f_nonieee, max?f_nonieee, SSE TImode patterns):
2636         Allow memory operand to be the first.
2637
2638         * i386.c (ix86_prepare_fp_compare_args): Fix condition for swapping
2639         operands.
2640
2641 2002-02-13  Jakub Jelinek  <jakub@redhat.com>
2642
2643         PR c/5681:
2644         * expr.c (safe_from_p): Pass VOIDmode to true_dependence instead of
2645         GET_MODE (x).
2646
2647 2002-02-13  Jakub Jelinek  <jakub@redhat.com>
2648
2649         PR optimization/5547:
2650         * config/i386/i386.c (i386_simplify_dwarf_addr): Simplify
2651         all valid IA-32 address modes involving non-scaled %ebx and
2652         GOT/GOTOFF as displacement.
2653
2654 2002-02-13  Ulrich Weigand  <uweigand@de.ibm.com>
2655
2656         * config/s390/s390.c (s390_final_chunkify): Re-run shorten_branches
2657         after emitting ltorg insns.
2658
2659         * config/s390/s390.md (*cmpdf_ccs_0, *cmpdf_ccs, *cmpsf_ccs_0,
2660         *cmpsf_ccs, truncdfsf2_ieee, *adddf3, *addsf3, *subdf3, *subsf3,
2661         *muldf3, *mulsf3, *divdf3, *divsf3, *negdf2, *negsf2, *absdf2,
2662         *abssf2): Fix "op_type" attribute.
2663
2664 2002-02-13  Douglas B Rupp  <rupp@gnat.com>
2665
2666         * mkconfig.sh: Avoid using a subshell redirect.
2667         ($output.T): Change to $(output)T.
2668         (ENABLE_NLS): Remove unneeded undef.
2669
2670         * config/alpha/vms.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Define.
2671         * config/alpha/x-vms (libsubdir): Define.
2672
2673         * config/alpha/vms.h (MD_FALLBACK_FRAME_STATE_FOR): Handle
2674         register frame procedures. Optimize retrieving context.
2675
2676         * config/alpha/t-vms (MULTILIB_OPTIONS): Define.
2677         (MULTILIB_DIRNAME, LIBGCC, INSTALL_LIBGCC): Likewise.
2678         * config/alpha/vms.h (ASM_FILE_START): Write .arch directive.
2679
2680 Wed Feb 13 09:45:08 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2681
2682         * alias.c (find_base_term, case ZERO_EXTEND, case SIGN_EXTEND):
2683         Make same change as for find_base_value.
2684
2685 2002-02-13  Kazu Hirata  <kazu@hxi.com>
2686
2687         * config/h8300/h8300.h (MODES_TIEABLE_P): Accept a combination
2688         of QImode and SImode.
2689
2690 2002-02-13  Kazu Hirata  <kazu@hxi.com>
2691
2692         * config/h8300/h8300.c (h8300_adjust_insn_length): Correct the
2693         length computation of movsi.
2694         * config/h8300/h8300.md (movsi_h8300hs): Correct the length.
2695
2696 2002-02-13  Kazu Hirata  <kazu@hxi.com>
2697
2698         * config/h8300/h8300.md (subqi3): Tighten the predicate for
2699         operands[2] to register_operand.
2700
2701 Wed Feb 13 10:35:56 CET 2002  Jan Hubicka  <jh@suse.cz>
2702
2703         * i386.md (fop_*_comm_*): allow nonimmediate in the first operand.
2704
2705 2002-02-12  Aldy Hernandez  <aldyh@redhat.com>
2706
2707         * config/rs6000/rs6000.md: Use predicate altivec_register_operand
2708         for altivec_lvx* and altivec_stvx*.
2709         ("*movv4si_internal"): Add constraint for loading from GPRs.
2710         ("*movv8hi_internal1"): Same.
2711         ("*movv16qi_internal1"): Same.
2712         ("*movv4sf_internal1"): Same.
2713
2714         * config/rs6000/rs6000.c (altivec_register_operand): New.
2715
2716         * config/rs6000/rs6000.h (PREDICATE_CODES): Add
2717         altivec_register_operand.
2718
2719 2002-02-13  Hans-Peter Nilsson  <hp@bitrange.com>
2720
2721         * config/mmix/mmix.c (mmix_assemble_integer) <case 4>: Don't
2722         handle SYMBOL_REF.
2723
2724 2002-02-13  Stan Shebs  <shebs@apple.com>
2725
2726         * c-typeck.c (digest_init): Handle vectors.
2727         (really_start_incremental_init): Same.
2728         (pop_init_level): Same.
2729         (process_init_element): Same.
2730
2731         * varasm.c (output_constant): Same.
2732
2733         * expr.c (clear_storage): Same.
2734         (store_constructor): Same.
2735
2736 2002-02-12  Eric Christopher  <echristo@redhat.com>
2737
2738         * explow.c (hard_function_value): Add comment explaining
2739         signed/unsigned comparison.
2740
2741 2002-02-12  Jakub Jelinek  <jakub@redhat.com>
2742
2743         * jump.c (never_reached_warning): Add finish argument.
2744         If finish is NULL, stop on CODE_LABEL, otherwise stop before first
2745         real insn after end.
2746         * rtl.h (never_reached_warning): Adjust prototype.
2747         * cse.c (cse_insn): Pass NULL as finish to never_reached_warning.
2748         * cfgrtl.c (flow_delete_block): Pass b->end as finish to
2749         never_reached_warning.
2750
2751 2002-02-12  Graham Stott  <grahams@redhat.com>
2752
2753         * config/hp/pa.h (GO_IF_LEGITIMATE_ADDRESS): Fix typos.
2754
2755 2002-02-12  Kazu Hirata  <kazu@hxi.com>
2756
2757         * config/h8300/h8300.c (shift_alg_hi): Improve the 15-bit
2758         logical shifts on H8/300.
2759         (shift_alg_si): Improve several shifts on H8/300.
2760         (get_shift_alg): Likewise.
2761
2762 2002-02-12  Graham Stott  <grahams@redhat.com>
2763
2764         * config/pa/pa.c (compute_movstrsi_length): Fix typos.
2765
2766 Tue Feb 12 10:12:56 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2767
2768         * alias.c (find_base_value, case ZERO_EXTEND, case SIGN_EXTEND):
2769         Handle #ifdef POINTERS_EXTEND_UNSIGNED.
2770
2771 2002-02-11  Hans-Peter Nilsson  <hp@bitrange.com>
2772
2773         * config/mmix/mmix.c (mmix_assemble_integer) <case 1, 2>: Handle
2774         non-CONST_INT through default_assemble_integer.
2775         <case 4>: Likewise, for non-CONST_INT, non-SYMBOL_REF.
2776         <case 8>: Abort for CONST_DOUBLE.
2777
2778 2002-02-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2779
2780         * gcc.c (init_gcc_specs): Add static libgcc to link when "-shared"
2781         is specified.
2782         * config/pa/pa-linux.h (LIB_SPEC): Delete.
2783         * config/pa/pa32-linux.h (LINK_COMMAND_SPEC): Delete.
2784
2785 2002-02-11  Andrew Haley  <aph@cambridge.redhat.com>
2786
2787         * config/stormy16/stormy16.md (zero_extendqihi2): New.
2788
2789 2002-02-11  Alexandre Oliva  <aoliva@redhat.com>
2790
2791         * regrename.c (regrename_optimize): Don't accept a
2792         part-clobbered register if the replaced register is not part
2793         clobbered.
2794
2795         * calls.c (store_one_arg): In the non-BLKmode non-partial case,
2796         take padding into account when computing the argument value.
2797
2798         * config/sh/sh.h (FUNCTION_ARG_REGNO_P): Fix parenthesizing error.
2799
2800         * combine.c (try_combine): Apply substitutions in
2801         CALL_INSN_FUNCTION_USAGE too.
2802
2803 2002-02-11  Aldy Hernandez  <aldyh@redhat.com>
2804
2805         * config/rs6000/rs6000.c (altivec_init_builtins): Handle
2806         __builtin_altivec_abs*.
2807         (bdesc_abs): New.
2808
2809         * config/rs6000/rs6000.h (rs6000_builtins): Add
2810         ALTIVEC_BUILTIN_ABS*.
2811
2812         * config/rs6000/altivec.h: Use const char for builtins expecting
2813         literals.
2814         (vec_abs): New versions for C and C++.
2815         (vec_abss): Same.
2816
2817 2002-02-10  Kazu Hirata  <kazu@hxi.com>
2818
2819         * config/h8300/h8300.h (INITIALIZE_TRAMPOLINE): Simplify by
2820         using Pmode.
2821
2822 2002-02-10  Kazu Hirata  <kazu@hxi.com>
2823
2824         * config/h8300/h8300.h (STACK_POINTER_REGNUM): Use the
2825         constant definition from h8300.md.
2826         (FRAME_POINTER_REGNUM): Likewise.
2827         * config/h8300/h8300.md (define_constants): Add FP_REG.
2828
2829 2002-02-10  Kazu Hirata  <kazu@hxi.com>
2830
2831         * config/h8300/h8300.c (print_operand): Remove redundant code.
2832
2833 2002-02-10  Kazu Hirata  <kazu@hxi.com>
2834
2835         * config/h8300/h8300-protos.h: Remove the prototype for byte_reg.
2836         * config/h8300/h8300.c (byte_reg): Make it static.
2837
2838 2002-02-10  Richard Henderson  <rth@redhat.com>
2839
2840         PR c/5623
2841         * c-typeck.c (incomplete_type_error): Handle flexible array members.
2842
2843 2002-02-10  Richard Henderson  <rth@redhat.com>
2844
2845         PR c++/5624
2846         * tree.c (append_random_chars): Don't abort if main_input_filename
2847         does not exist.
2848
2849 2002-02-10  Hans-Peter Nilsson  <hp@bitrange.com>
2850
2851         * config/mmix/t-mmix (MULTILIB_EXTRA_OPTS): Disable.
2852
2853 2002-02-10  Kazu Hirata  <kazu@hxi.com>
2854
2855         * config/h8300/h8300.md (pushhi1_h8300): Correct the mode used.
2856         (pushhi1): Likewise.
2857
2858 2002-02-10  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2859
2860         * pa.c (reg_before_reload_operand): Don't accept a SUBREG operand.
2861         * pa.h (PREDICATE_CODES): Adjust codes for reg_before_reload_operand.
2862
2863 2002-02-09  David O'Brien  <obrien@FreeBSD.org>
2864
2865         * config/sparc/freebsd.h(TARGET_DEFAULT): Add MASK_EPILOGUE setting and
2866         remove MASK_VIS.
2867         (ASM_CPU_DEFAULT_SPEC): Remove.  Default setting is fine.
2868
2869 2002-02-09  Kazu Hirata  <kazu@hxi.com>
2870
2871         * config/h8300/h8300.c (output_logical_op): Use sub.w to clear
2872         a half of an SImode register on H8/300.
2873
2874 Sat Feb  9 18:28:02 CET 2002  Jan Hubicka  <jh@suse.cz>
2875
2876         * i386.md (movdi_2): Add missing '!'.
2877
2878 2002-02-09  Kazu Hirata  <kazu@hxi.com>
2879
2880         * config/h8300/h8300.h: Fix formatting.  Remove commented-out
2881         definitions.
2882
2883 2002-02-09  Kazu Hirata  <kazu@hxi.com>
2884
2885         * config/h8300/h8300.md (length): Correct the distance valid
2886         for the short branch.
2887
2888 2002-02-09  Kazu Hirata  <kazu@hxi.com>
2889
2890         * config/h8300/h8300.md (iorhi3): Tighten the predicates.
2891
2892 2002-02-09  Alexandre Oliva  <aoliva@redhat.com>
2893
2894         * config/sh/sh.h (REGISTER_NATURAL_MODE): Save part-clobbered
2895         registers in SImode.
2896         (HARD_REGNO_CALL_PART_CLOBBERED) [TARGET_SHMEDIA32]: Set r18 as
2897         part-clobbered.
2898
2899         * config/sh/sh.c (expand_prologue): Fix mis-applied 2001-11-09's
2900         patch.
2901
2902         Contribute sh64-elf.
2903         2002-02-09  Alexandre Oliva  <aoliva@redhat.com>
2904         * config/sh/sh.c (TARGET_CANNOT_MODIFY_JUMPS_P): Define to...
2905         (sh_cannot_modify_jumps_p): New function.
2906         2002-02-05  Alexandre Oliva  <aoliva@redhat.com>
2907         * config/sh/sh.c (TARGET_MS_BITFIELD_LAYOUT_P): Define to...
2908         (sh_ms_bitfield_layout_p): New function.
2909         2002-02-04  Alexandre Oliva  <aoliva@redhat.com>
2910                     Zack Weinberg  <zack@codesourcery.com>
2911         * config/sh/sh.h (TRAMPOLINE_ADJUST_ADDRESS): Use
2912         expand_simple_binop instead of expand_binop.
2913         2002-02-03  Alexandre Oliva  <aoliva@redhat.com>
2914         * config/sh/sh.h (OVERRIDE_OPTIONS) [! TARGET_SH5]: Disable
2915         use of .quad and .uaquad.
2916         * config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP,
2917         TARGET_ASM_ALIGNED_DI_OP): Add comment pointing to the above.
2918         2002-01-24  Alexandre Oliva  <aoliva@redhat.com>
2919         * config/sh/sh.md (movdi_const, movdi_const_32bit,
2920         movdi_const_16bit): Make sure all CONSTs have modes.
2921         (sym2PIC): Ditto, but by adjusting all callers.
2922         * config/sh/sh.c (calc_live_regs) [TARGET_SHCOMPACT]: Set pr_live
2923         if the prologue calls the SHmedia argument decoder or register
2924         saver.
2925         2002-01-24  Alexandre Oliva  <aoliva@redhat.com>
2926         * config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP): Define.
2927         (TARGET_ASM_ALIGNED_DI_OP): Likewise.
2928         (sh_expand_epilogue): Don't emit USE of return target register.
2929         (prepare_move_operands): Legitimize DImode PIC addresses.
2930         (sh_media_register_for_return): Skip tr0, used to initialize the
2931         PIC register.
2932         (sh_expand_prologue): Remove explicit USE of return register.
2933         (nonpic_symbol_mentioned_p): PC is non-PIC.  Don't recurse in
2934         CONST_DOUBLEs.  UNSPEC_GOTPLT is PIC.
2935         * config/sh/sh.h (ASM_OUTPUT_DOUBLE_INT): Removed, obsolete.
2936         (OVERRIDE_OPTIONS): Don't disable PIC on SH5.
2937         (EXTRA_CONSTRAINT_S): Use MOVI_SHORI_BASE_OPERAND_P instead of
2938         EXTRA_CONSTRAINT_T.
2939         (GOT_ENTRY_P, GOTPLT_ENTRY_P, GOTOFF_P, PIC_ADDR_P): New.
2940         (MOVI_SHORI_BASE_OPERAND_P): New.
2941         (NON_PIC_REFERENCE_P, PIC_REFERENCE_P): New.
2942         (EXTRA_CONSTRAINT_T): Define in terms of them.
2943         (OUTPUT_ADDR_CONST_EXTRA): Handle UNSPEC_GOTPLT.
2944         * config/sh/sh.md (movsi_media, movsi_media_nofpu,
2945         movdi_media, movdi_media_nofpu): Add SIBCALL_REGS class to
2946         alternatives supporting TARGET_REGS.
2947         (UNSPEC_GOTPLT): New constant.
2948         (movdi split): Move incrementing of LABEL_NUSES...
2949         (movdi_const, movdi_const_32bit): Here.  Use
2950         MOVI_SHORI_BASE_OPERAND_P instead of EXTRA_CONSTRAINT_T.
2951         (movdi_const_16bit): New.
2952         (call, call_value) [flag_pic]: Use GOTPLT.
2953         (call_pop, call_value_pop): New expands.
2954         (call_pop_compact, call_pop_rettramp): New insns.
2955         (call_value_pop_compact, call_value_pop_rettramp): New insns.
2956         (sibcall) [flag_pic]: Use GOT.
2957         (builtint_setjmp_receiver): Remove bogus, unused expand.
2958         (GOTaddr2picreg): Implement for SHcompact and SHmedia.
2959         (*pt, *ptb, ptrel): New insns.
2960         (sym2GOT): Handle DImode GOT.
2961         (sym2GOTPLT, symGOTPLT2reg): New expands.
2962         (sym2PIC): New expand.
2963         (shcompact_return_tramp): Use GOTPLT to return trampoline.
2964         (shcompact_return_tramp_i): Use return register explicitly.
2965         * config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SHMEDIA]: Don't
2966         disable flag_reorder_blocks.
2967         2002-01-19  Alexandre Oliva  <aoliva@redhat.com>
2968         * config/sh/sh.md (sibcall_compact): Reorder return, uses and
2969         clobbers, for clarity.
2970         (sibcall_epilogue) [TARGET_SHCOMPACT]: Mark saving and
2971         restoring of r0 in macl as MAYBE_DEAD.
2972         2002-01-18  Alexandre Oliva  <aoliva@redhat.com>
2973         * config/sh/sh.h (LONG_DOUBLE_TYPE_SIZE): Define.
2974         * config/sh/sh.md (movv4sf_i, movv16sf_i): Fix uses of
2975         alter_subreg all over.
2976         (jump) [TARGET_SHMEDIA]: FAIL to create new jumps after
2977         reload, instead of emitting instructions that would require
2978         reloading.
2979         (casesi_load_media): Add missing modes.
2980         2001-11-09  Alexandre Oliva  <aoliva@redhat.com>
2981         * config/sh/sh.c (sh_expand_prologue): Mark the PIC register
2982         as used if the argument decoder is called.
2983         2001-08-28  Alexandre Oliva  <aoliva@redhat.com>
2984         * config/sh/sh.md (udivsi3, divsi3): Load libcall symbol name in
2985         Pmode, then extend it to DImode if necessary.
2986         2001-08-28  Stephen Clarke  <Stephen.Clarke@st.com>
2987         * config/sh/sh.h (LEGITIMATE_CONSTANT_P): Don't accept DFmode
2988         constants in FPU-enabled SHmedia, let them be loaded from memory.
2989         2001-08-28  Alexandre Oliva  <aoliva@redhat.com>
2990         * config/sh/sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media):
2991         Adjust whitespace in assembly output templates.
2992         2001-08-28  Stephen Clarke  <Stephen.Clarke@st.com>
2993         * config/sh/sh.md (movdicc_false, movdicc_true, movdicc): Adjust
2994         mode of if_then_else.
2995         2001-08-04  Alexandre Oliva  <aoliva@redhat.com>
2996         * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): Override definition in
2997         sh.h.
2998         2001-07-26  Andrew Haley  <aph@cambridge.redhat.com>
2999                     Joern Rennecke <amylaar@redhat.com>
3000         * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): New.
3001         (SUBTARGET_CPP_PTR_SPEC): New.
3002         (SUBTARGET_CPP_SPEC): Remove.
3003         2001-07-06  Chandrakala Chavva  <cchavva@redhat.com>
3004         * config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1):
3005         Fix typo in previous checkin.
3006         2001-07-11  Chandrakala Chavva  <cchavva@redhat.com>
3007         * config/sh/sh.h (MODES_TIEABLE_P): Fix redact indentations.
3008         2001-07-10  Chandrakala Chavva  <cchavva@cygnus.com>
3009                     Alexandre Oliva  <aoliva@redhat.com>
3010         * config/sh/sh.h (MODES_TIEABLE_P): Don't tie modes wider than
3011         what single FP register can hold for SHmedia target.
3012         2001-07-06  Chandrakala Chavva  <cchavva@redhat.com>
3013                     Alexandre Oliva  <aoliva@redhat.com>
3014         * config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1):
3015         Do not split into SUBREG.
3016         2001-06-14  Alexandre Oliva  <aoliva@redhat.com>
3017         * config/sh/ushmedia.h, config/sh/sshmedia.h: Updated signatures
3018         and added new functions as specified in SH5 ABI r9.
3019         2001-06-04  Alexandre Oliva  <aoliva@redhat.com>
3020         * config/sh/lib1funcs.asm (GCC_nested_trampoline): Align to an
3021         8-byte boundary.
3022         2001-06-03  Alexandre Oliva  <aoliva@redhat.com>
3023         * config/sh/sh.c (dump_table): Add const0_rtx in calls of
3024         gen_consttable_4 and gen_consttable_8.  Emit multiple labels
3025         and consttable_window_ends.
3026         2001-06-03  Graham Stott  <grahams@redhat,com>
3027         * config/sh/sh.md (movdi split): Remove unused variable last_insn.
3028         2001-05-16  Alexandre Oliva  <aoliva@redhat.com>
3029         * config/sh/sh.c (print_operand): Handle floating-point pair,
3030         vector and matrix registers.
3031         * config/sh/sh.h (REGISTER_MOVE_COST): Take floating-pointer
3032         vector modes into account.
3033         * config/sh/sh.md (movv2sf): Split move between registers into
3034         movdf.
3035         (movv4sf, movv16sf): Introduce insns that get split only after
3036         reload.
3037         * config/sh/shmedia.h: Fix Copyright dates.
3038         * config/sh/ushmedia.h: Likewise.  Move loop counter
3039         declarations into conditionals that uses them.
3040         (sh_media_FVADD_S, sh_media_FVSUB_S): Fix off-by-one error in
3041         loop boundary.
3042         * config/sh/sshmedia.h: Fix Copyright dates.
3043         (sh_media_PUTCFG): Fix constraints.
3044         2001-05-12  Alexandre Oliva  <aoliva@redhat.com>
3045         * config/sh/sh.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define to
3046         ptrmemfunc_vbit_in_delta for SH5.
3047         2001-05-08  Alexandre Oliva  <aoliva@redhat.com>
3048         * config/sh/sh.h (TARGET_SWITCHES): Document -m5-*.
3049         * invoke.texi: Likewise.
3050         2001-04-14  Alexandre Oliva  <aoliva@redhat.com>
3051         * config/sh/lib1funcs.asm (GCC_push_shmedia_regs,
3052         GCC_push_shmedia_regs_nofpu, GCC_pop_shmedia_regs,
3053         GCC_pop_shmedia_regs_nofpu): New global symbols.
3054         * config/sh/t-sh64 (LIB1ASMFUNCS): Add them.
3055         * config/sh/sh.h (SHMEDIA_REGS_STACK_ADJUST): New macro.
3056         * config/sh/sh.c (calc_live_regs): Account for PR's saving in
3057         compact function with nonlocal labels.
3058         (sh_expand_prologue) [SHcompact]: Push SHmedia regs if needed.
3059         (sh_expand_epilogue) [SHcompact]: Pop them when appropriate.
3060         (initial_elimination_offset): Account for their stack space.
3061         * config/sh/sh.md (shmedia_save_restore_regs_compact): New insn.
3062         * config/sh/sh.md (movsi_media, movsi_media_nofpu, movqi_media,
3063         movhi_media, movdi_media, movdi_media_nofpu, movdf_media,
3064         movdf_media_nofpu, movsf_media, movsf_media_nofpu): Require at
3065         least one of the operands to be a register.
3066         (movv2sf): Likewise.  Renamed to movv2sf_i.
3067         (movdi, movdf, movv2sf, movv4sf, movv16sf, movsf):
3068         prepare_move_operands() before emitting SHmedia insns.
3069         2001-04-03  Alexandre Oliva  <aoliva@redhat.com>
3070         * config/sh/crti.asm (init, fini) [__SH5__ && ! __SHMEDIA__]:
3071         Don't save nor initialize r12.  Don't mis-align the stack.
3072         Pad the code with a nop.
3073         * config/sh/crti.asm: Don't restore r12.  Don't mis-align the
3074         stack.
3075         2001-03-13  Alexandre Oliva  <aoliva@redhat.com>
3076         * gcc/longlong.h (__umulsidi3, count_leading_zeros)
3077         [__SHMEDIA__]: Implement.
3078         2001-03-11  Alexandre Oliva  <aoliva@redhat.com>
3079         * config/sh/sh.md: Set latency of `pt' closer to reality.
3080         (movsi_media, movsi_media_nofpu, movdi_media, movdi_media_nofpu,
3081         movdf_media, movdf_media_nofpu, movsf_media, movsf_media_nofpu):
3082         Set move, load and store type attributes.
3083         * config/sh/sh.c (sh_loop_align) [TARGET_SH5]: Set to 3.
3084         * config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SH5]: Disable
3085         profiling.
3086         * config/sh/sh.h (PROMOTE_MODE): Sign-extend SImode to DImode.
3087         * config/sh/sh-protos.h (sh_media_register_for_return): Declare.
3088         * config/sh/sh.c (sh_media_register_for_return): New function.
3089         (sh_expand_prologue) [TARGET_SHMEDIA]: Copy r18 to an available
3090         branch-target register.
3091         (sh_expand_epilogue) [TARGET_SHMEDIA]: Explicitly USE it.
3092         * config/sh/sh.md (return_media_i): Use any call-clobbered
3093         branch-target register.
3094         (return_media): If r18 wasn't copied in the prologue, copy it
3095         here.
3096         * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE) [TARGET_SHMEDIA]:
3097         Clear class FP0_REGS.
3098         * config/sh/sh64.h (LINK_SPEC): Removed incorrect default copied
3099         from elf.h.
3100         2001-03-08  DJ Delorie  <dj@redhat.com>
3101         * config/sh/sh.h (OVERRIDE_OPTIONS): Disable relaxing for SHMEDIA.
3102         2001-02-09  Alexandre Oliva  <aoliva@redhat.com>
3103         * config/sh/sh.md (sibcall_compact): Set fp_mode to single.
3104         2001-02-07  Alexandre Oliva  <aoliva@redhat.com>
3105         * config/sh/sh.h (INT_ASM_OP) [SHMEDIA64]: Use `.quad'.
3106         2001-02-03  Alexandre Oliva  <aoliva@redhat.com>
3107         * config/sh/sh.h (INIT_CUMULATIVE_ARGS): Compute size of BLKmode
3108         return value correctly for call_cookie.
3109         2001-02-01  Alexandre Oliva  <aoliva@redhat.com>
3110         * config/sh/crt1.asm (start): Modified so as to call
3111         ___setup_argv_and_call_main.
3112         2001-01-26  Alexandre Oliva  <aoliva@redhat.com>
3113         * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't count stack_regs in
3114         SHmedia mode.
3115         2001-01-20  Alexandre Oliva  <aoliva@redhat.com>
3116         * config/sh/sh.h (STRIP_DATALABEL_ENCODING): New macro.
3117         (STRIP_NAME_ENCODING): Use it.
3118         (ASM_OUTPUT_LABELREF): Likewise.  Don't call assemble_name().
3119         2001-01-19  Alexandre Oliva  <aoliva@redhat.com>
3120         * config/sh/sh.md (sgeu) [! SHMEDIA]: Fix invocation of
3121         prepare_scc_operands().
3122         * config/sh/sh.h (SH_DATALABEL_ENCODING): Change to "#"...
3123         (DATALABEL_SYMNAME_P): ... so that we don't need memcmp here.
3124         2001-01-17  Alexandre Oliva  <aoliva@redhat.com>
3125         * config/sh/sh.h (STRIP_NAME_ENCODING): Strip leading `*'.
3126         2001-01-13  Alexandre Oliva  <aoliva@redhat.com>
3127         * config/sh/sh.md (shcompact_incoming_args): Use R0_REG.
3128         * config/sh/sh.md (R7_REG, R8_REG, R9_REG): Define as constants,
3129         used in shcompact_incoming_args.
3130         * config/sh/sh.c (sh_expand_epilogue): Fix thinko in previous
3131         change.
3132         * config/sh/crt1.asm (start) [SH5]: Switch to single-precision
3133         mode.
3134         * config/sh/lib1funcs.asm (sdivsi3_i4, udivsi3_i4, set_fpscr):
3135         Adjust accordingly.
3136         * config/sh/sh.c (sh_expand_prologue, sh_expand_epilogue):
3137         Simplify.  Adjust.  Add sanity check.
3138         * config/sh/sh.h (TARGET_SWITCHES) [5-compact]: Set
3139         FPU_SINGLE_BIT.
3140         * config/sh/sh.md (udivsi3_i4_single, divsi3_i4_single): Match
3141         TARGET_SHCOMPACT.
3142         (udivsi3, divsi3): Use them.
3143         (force_mode_for_call): New insn.
3144         (call, call_value, sibcall_value): Emit it before SHcompact
3145         calls.
3146         2001-01-11  Alexandre Oliva  <aoliva@redhat.com>
3147         * config/sh/sh.md (call, call_value, sibcall): Make sure the
3148         call cookie is non-NULL before taking its value.
3149         2001-01-10  Alexandre Oliva  <aoliva@redhat.com>
3150         * config.gcc (sh64): Set target_requires_64bit_host_wide_int.
3151         2001-01-09  Alexandre Oliva  <aoliva@redhat.com>
3152         * config/sh/sh.md (shcompact_incoming_args): Set argument memory
3153         block.
3154         * config/sh/sh.h (STATIC_CHAIN_REGNUM) [SH5]: Use r1.
3155         * config/sh/sh.c (sh_expand_prologue) [SH5]: Use r0 as
3156         temporary for stack adjusts.  Use MACL and MACH to pass
3157         arguments to shcompact_incoming_args.
3158         * config/sh/sh.md (shcompact_incoming_args): Adjust.  Don't
3159         clobber r1.
3160         * config/sh/lib1funcs.asm (shcompact_incoming_args): Likewise.
3161         (nested_trampoline): Load static chain address into r1.
3162         * config/sh/sh.md (movdi_media splits): Fix sign-extension.
3163         2001-01-07  Alexandre Oliva  <aoliva@redhat.com
3164         * config/sh/sh.c (fpul_operand) [SHMEDIA]: Just call
3165         fp_arith_reg_operand().
3166         2001-01-06  Alexandre Oliva  <aoliva@redhat.com>
3167         * config/sh/sh.md (casesi): Sign-extend the first two operands,
3168         and use signed compares for them.
3169         * config/sh/sh.c (dump_table): Don't emit 8-byte constants after
3170         4-byte ones.  Instead, inter-leave them, maintaining the 8-byte
3171         ones properly aligned.
3172         (find_barrier): Account for extra alignment needed for 8-byte wide
3173         constants.
3174         (machine_dependent_reorg): Require a label for the second 4-byte
3175         constant after an 8-byte one.
3176         * config/sh/lib1funcs.asm (sdivsi3): Fix typo in yesterday's
3177         change.
3178         2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
3179         * config/sh/sh.c (machine_dependent_reorg) [SHCOMPACT]: Reset
3180         last_float when switching float modes.
3181         * config/sh/sh.md (movdf) [SH5]: Don't use stack-pointer
3182         auto-increment for general-purpose registers.
3183         * config/sh/lib1funcs.asm (sdivsi3) [SHMEDIA]: Sign-extend the
3184         result.
3185         * config/sh/sh.c (sh_expand_prologue) [SH5]: Use r1 as temporary
3186         for stack adjust.
3187         * config/sh/sh.c (sh_builtin_saveregs): Support using all
3188         registers for varargs.
3189         2001-01-01  Alexandre Oliva  <aoliva@redhat.com>
3190         * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Simplify.
3191         * config/sh/sh.h (CALL_COOKIE_STACKSEQ,
3192         CALL_COOKIE_STACKSEQ_SHIFT, CALL_COOKIE_STACKSEQ_GET): New macros.
3193         (CALL_COOKIE_INT_REG_SHIFT): Adjust.
3194         (FUNCTION_ARG_ADVANCE): Use SHCOMPACT_FORCE_ON_STACK.  Adjust
3195         call_cookie accordingly.
3196         (FUNCTION_ARG): Test SHCOMPACT_FORCE_ON_STACK.
3197         (SHCOMPACT_BYREF): Likewise.
3198         (SHCOMPACT_FORCE_ON_STACK): New macro.
3199         * config/sh/sh.c (sh_expand_prologue): Use new call_cookie format.
3200         (sh_builtin_saveregs): Likewise.
3201         * config/sh/lib1funcs.asm (shcompact_call_trampoline,
3202         shcompact_incoming_args): Use new shift values.  Support
3203         sequences of consecutive and non-consecutive pushes/pops.
3204         * config/sh/sh.md (return): Don't explicitly use PR_REG.
3205         2001-01-05  Hans-Peter Nilsson  <hpn@cygnus.com>
3206         * config/sh/sh.h (TEXT_SECTION): Define.
3207         * config/sh/elf.h (ASM_FILE_START): Output TEXT_SECTION_ASM_OP.
3208         2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
3209         * config/sh/sh.h (INIT_CUMULATIVE_LIBCALL_ARGS): New macro.
3210         * config/sh/sh.h (BASE_RETURN_VALUE_REG): Use FP regs for
3211         return values on FPU-enabled SHmedia.
3212         (FUNCTION_VALUE_REGNO_P): Mark FIRST_FP_RET_REG as used on
3213         FPU-enabled SHmedia.
3214         (INIT_CUMULATIVE_ARGS): Set up return trampoline only if
3215         value is returned in a non-FP reg and is not returned by
3216         reference.
3217         * config/sh/sh.md (shcompact_return_tramp_i): Change type to
3218         jump_ind.
3219         2000-01-04  Alexandre Oliva  <aoliva@redhat.com>
3220         * config/sh/sh.h (SH_MIN_ALIGN_FOR_CALLEE_COPY): New.
3221         (FUNCTION_ARG_CALLEE_COPIES): Require argument to be
3222         quad-aligned to be passed by callee-copy reference.
3223         2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
3224         * config/sh/elf.h (MAX_WCHAR_TYPE_SIZE): Define.
3225         * config/sh/sh64.h (MAX_WCHAR_TYPE_SIZE): Undefine.
3226         2001-01-02  Alexandre Oliva  <aoliva@redhat.com>
3227         * config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix error in
3228         copying low-numbered FP regs to r7 and r8.
3229         * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't request copying of
3230         FP regs to general-purpose regs only if the copy was passed on the
3231         stack.
3232         * config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix typo in
3233         copying FP reg to r9.
3234         * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Use trampoline to
3235         copy FP regs to general-purpose regs only in outgoing calls.
3236         * config/sh/sh.md (movdf_media, movsf_media): Revert incorrect
3237         change from     2000-10-30.  Adjust for 64-bit (or 32-bit)
3238         HOST_WIDE_INT.
3239         * config/sh/sh.h (struct sh_args): Document all fields.
3240         (FUNCTION_OK_FOR_SIBCALL): Functions that receive arguments
3241         passed partially on the stack should not consider making
3242         sibcalls.
3243         * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Add byref regs to
3244         stack_regs only for incoming calls.  When passing FP args,
3245         make sure there are FP regs available before modifying
3246         call_cookie.
3247         (SHCOMPACT_BYREF): Pass double args in general-purpose
3248         registers by reference.
3249         2000-12-30  Alexandre Oliva  <aoliva@redhat.com>
3250         * config/sh/sh.h (FUNCTION_OK_FOR_SIBCALL) [SHCOMPACT]: Don't
3251         attempt to generate sibcalls if the caller got any arguments
3252         by reference.
3253         * config/sh/lib1funcs.asm (set_fpscr) [SH5]: Default to double.
3254         * config/sh/sh.c (dump_table) [SHCOMPACT]: Align DImode and DFmode
3255         to 8-byte boundaries.
3256         * config/sh/sh.md (shcompact_preserve_incoming_args): New insn.
3257         * config/sh/sh.h (CALL_COOKIE_INT_REG_GET): New macro.
3258         * config/sh/sh.c (sh_expand_prologue): Preserve args that will be
3259         stored in the stack.
3260         * config/sh/lib1funcs.asm (ct_main_table, ia_main_table): Arrange
3261         for the offsets to have the ISA bit set.
3262         (shcompact_call_trampoline): Document.  Swap r0 and r1, to match
3263         invocation.  Use beq instead of bgt to mark end of sequence of
3264         loads.
3265         (shcompact_incoming_args): Fix store of r2.  Use beq instead of
3266         bgt to mark end of sequence of stores.
3267         * config/sh/sh.c (arith_operand): Don't check whether
3268         CONST_OK_FOR_J for now.
3269         * config/sh/sh.md (movdf_media, movsf_media): Use HOST_WIDE_INT
3270         instead of long for conversion.
3271         2000-12-29  Alexandre Oliva  <aoliva@redhat.com>
3272         * config/sh/sh.c (print_operand_address): Convert INTVAL to int
3273         before passing it to fprintf.
3274         2000-12-28  Alexandre Oliva  <aoliva@redhat.com>
3275         * config/sh/crt1.asm (start): Reset SR.FD, to enable the FP unit.
3276         Call set_fpscr before reading/writing SR.
3277         * config/sh/crt1.asm (start): Set SR.SZ and SR.PR, but not SR.FR.
3278         Call set_fpscr.
3279         * config/sh/lib1funcs.asm: Add `.align 2' directives before
3280         SHmedia code.
3281         (FMOVD_WORKS): Define on SH5 with FPU.
3282         (set_fpscr): Define on SH5.  Remove separate _fpscr_values
3283         setting.
3284         * config/sh/t-sh64 (LIB1ASMFUNCS): Add _set_fpscr instead of
3285         _fpscr_values.
3286         2000-12-28  Hans-Peter Nilsson  <hpn@cygnus.com>
3287         * config/sh/lib1funcs.asm (ct_main_table): Align contents to even
3288         address.
3289         (ia_main_table): Ditto.
3290         2000-12-27  Alexandre Oliva  <aoliva@redhat.com>
3291         * config/sh/sh.h (MAX_WCHAR_TYPE_SIZE): Don't define.
3292         * config/sh/sh64.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Reinstate
3293         the definitions from sh.h.
3294         * config/sh/sh.h (PTRDIFF_TYPE): Define as conditional on
3295         TARGET_SH5.
3296         (SUBTARGET_CPP_SPEC): Arrange for __PTRDIFF_TYPE__ to be defined.
3297         * config/sh/elf.h (PTRDIFF_TYPE): Likewise.
3298         * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Likewise.
3299         2000-12-26  Alexandre Oliva  <aoliva@redhat.com>
3300         * config/sh/sh.md (movdi_media split): Don't add REG_LABEL notes.
3301         Increment LABEL_NUSES.
3302
3303         * config/sh/sh.h (SIZE_TYPE): Define as conditional on
3304         TARGET_SH5.
3305         (SUBTARGET_CPP_SPEC): Arrange for __SIZE_TYPE__ to be always
3306         defined.
3307         * config/sh/elf.h (SIZE_TYPE): Likewise.
3308         * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Likewise.
3309         * config/sh/lib1funcs.asm (shcompact_call_trampoline,
3310         shcompact_incoming_args): Load switch table addresses using
3311         datalabel.
3312         * config/sh/sh.h (SUBTARGET_CPP_SPEC): Define __SIZE_TYPE__.
3313         (NO_BUILTIN_SIZE_TYPE): Define.
3314         (SIZE_TYPE): Don't define.
3315         * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Define __SIZE_TYPE__.
3316         * config/sh/sh.h (CPP_SPEC): Fixed typo that prevented the
3317         definition of __SH5__=32 for -m5-compact-nofpu.
3318         * config/sh/sh.c (barrier_align): Ensure 32-bit alignment after
3319         ADDR_DIFF_VEC.
3320         2000-12-24  Alexandre Oliva  <aoliva@redhat.com>
3321         * config/sh/sh.h (FUNCTION_ARG_PADDING): Removed.
3322         2000-12-23  Alexandre Oliva  <aoliva@redhat.com>
3323         * config/sh/sh.h (TARGET_CACHE32): Enable on SH5.
3324         (FUNCTION_BOUNDARY): Ensure 32-bit alignment for SHmedia.
3325         (INSN_LENGTH_ALIGNMENT): Likewise.
3326         2000-12-22  Alexandre Oliva  <aoliva@redhat.com>
3327         * config/sh/sh.md (call, call_value, sibcall): Simplify
3328         copying of non-branch-target register.
3329         2000-12-22  Alexandre Oliva  <aoliva@redhat.com>
3330         * glimits.h (__LONG_MAX__): Revert      2000-12-13's patch.
3331         * config/sh/sh.h (CPP_SPEC): Define it here for 64-bit SHmedia.
3332         2000-12-22  Alexandre Oliva  <aoliva@redhat.com>
3333         * config/sh/sh.h (GET_SH_ARG_CLASS): Handle complex
3334         floating-point values as structs.
3335         (FUNCTION_ARG): Use SH5_PROTOTYPED_FLOAT_ARG.
3336         (SH5_PROTOTYPELESS_FLOAT_ARG): List FP registers before
3337         general-purpose register.
3338         (SH5_PROTOTYPED_FLOAT_ARG): New macro.
3339         2000-12-20  Alexandre Oliva  <aoliva@redhat.com>
3340         * config/sh/sh.md (addsi3): Force operand1 to reg for SHmedia.
3341         * config/sh/sh.md (movsi_media): Split CONST_DOUBLE loads too.
3342         * config/sh/sh.h (DATALABEL_REF_P): Don't require the CONST.
3343         (ENCODE_SECTION_INFO): Enclose variables and constants in
3344         DATALABEL unspecs.
3345         (SH_DATALABEL_ENCODING, DATALABEL_SYMNAME_P): Define.
3346         (STRIP_NAME_ENCODING): Strip SH_DATALABEL_ENCODING off.
3347         (ASM_OUTPUT_LABELREF, AMS_OUTPUT_SYMBOL_REF): Define.
3348         * config/sh/sh.c (gen_datalabel_ref): Use UNSPEC_DATALABEL
3349         only for LABEL_REFs.  For SYMBOL_REFs, prepend
3350         SH_DATALABEL_ENCODING to the symbol name.
3351         * config/sh/sh.md (indirect_jump): Use SUBREG instead of
3352         convert_mode().
3353         2000-12-20  Alexandre Oliva  <aoliva@redhat.com>
3354         * config/sh/sh.md (casesi): Enclose ADDR_DIFF_VEC address in
3355         UNSPEC_DATALABEL.
3356         * config/sh/sh.c (gen_datalabel_ref): Accept LABEL_REFs.
3357         * config/sh/sh.h (DATALABEL_REF_NO_CONST_P): Likewise.
3358         (DATALABEL_REF_P): Don't require CONST.
3359         (ASM_OUTPUT_ADDR_DIFF_ELT): On SH5, output datalabel before
3360         REL label.
3361         2000-12-19  Alexandre Oliva  <aoliva@redhat.com>
3362         * config/sh/sh.md (extendhidi2, extendqidi2): Use arithmetic shift
3363         right.
3364         2000-12-18  Alexandre Oliva  <aoliva@redhat.com>
3365         * config/sh/sh.md (movsi_media, call, call_value, sibcall):
3366         Use shallow_copy_rtx and PUT_MODE to change the mode of
3367         SYMBOL_REFs, LABEL_REFs, CONSTs, etc.
3368         * config/sh/sh.h (PREFERRED_RELOAD_CLASS): Reload SYMBOL_REFs
3369         on SHmedia using GENERAL_REGs.
3370         * config/sh/sh.md (ble_media_i, blt_media_i, bleu_media_i,
3371         bltu_media_i): Fix reversion of conditions.
3372         2000-12-18  Alexandre Oliva  <aoliva@redhat.com>
3373         * config/sh/sh.md (zero_extendhidi2): Use logical shift right.
3374         * config/sh/sh.c (output_far_jump): Save r13 in macl.
3375         2000-12-17  Alexandre Oliva  <aoliva@redhat.com>
3376         * config/sh/sh.c (gen_datalabel_ref): Fix mode of the UNSPEC.
3377         2000-12-16  Alexandre Oliva  <aoliva@redhat.com>
3378         * config/sh/lib1funcs.asm (ic_invalidate): Define for SH5.
3379         (GCC_nested_trampoline): Likewise.
3380         * config/sh/sh-protos.h (gen_datalabel_ref): Declare.
3381         * config/sh/sh.c (gen_datalabel_ref): Define.
3382         * config/sh/sh.h (TRAMPOLINE_SIZE): Adjust for SH5.
3383         (INITIALIZE_TRAMPOLINE): Likewise.
3384         (TRAMPOLINE_ADJUST_ADDRESS): Define.
3385         (DATALABEL_REF_NO_CONST_P, DATALABEL_REF_P): Define.
3386         (EXTRA_CONSTRAINT_T): Match DATALABEL unspecs.
3387         (OUTPUT_ADDR_CONST_EXTRA): Handle DATALABEL unspecs.
3388         * config/sh/sh.md (UNSPEC_DATALABEL): New constant.
3389         (ic_invalidate): Adjust for SH5.
3390         (ic_invalidate_line_media, ic_invalidate_line_compact): New insns.
3391         * config/sh/t-sh64 (LIB1ASMFUNCS): Added _ic_invalidate and
3392         _nested_trampoline.
3393         2000-12-15  Alexandre Oliva  <aoliva@redhat.com>
3394         * config/sh/sh.h (MOVE_MAX): Set to 8 for SHmedia, 4 elsewhere.
3395         (MOVE_MAX_PIECES): Set to 8 on SHmedia too.
3396         2000-12-14  Alexandre Oliva  <aoliva@redhat.com>
3397         * config/sh/sh.h (DBX_REGISTER_NUMBER): Adjust for sh64-elf-gdb.
3398         * config/sh/elf.h (DBX_REGISTER_NUMBER): Likewise.
3399         2000-12-14  Alexandre Oliva  <aoliva@redhat.com>
3400         * config/sh/sh.c (target_reg_operand): Match only target-branch
3401         registers and pseudos that aren't virtual registers.
3402         * config/sh/sh.md (call, call_value, sibcall) [TARGET_SHMEDIA]:
3403         Copy operands that don't match target_reg_operand to pseudos.
3404         (call_media, call_value_media, sibcall_media): Use
3405         target_reg_operand instead of target_operand.
3406         2000-12-13  Alexandre Oliva  <aoliva@redhat.com>
3407         * glimits.h (__LONG_MAX__) [SH5 == 64]: Adjust for 64 bits.
3408         * config/sh/sh.c (target_reg_operand): Match hardware registers
3409         other than branch-target registers.
3410         * config/sh/sh.md (zero_extendqidi2): Input operand is %1.
3411         * config/sh/lib1funcs.asm (sdivsi3) [SH5]: Make it global.
3412         (fpscr_values) [SH5 == 32]: Define.
3413         * config/sh/t-sh64 (LIB1ASMFUNCS): Add fpscr_values.
3414         * config/sh/sh.md (call, call_value, sibcall) [TARGET_SHMEDIA]:
3415         Handle function addresses coming in SUBREGs.
3416         2000-12-12  Alexandre Oliva  <aoliva@redhat.com>
3417         * config/sh/lib1funcs.asm (shcompact_call_trampoline,
3418         shcompact_return_trampoline): Use datalabel where appropriate.
3419         2000-12-09  Alexandre Oliva  <aoliva@redhat.com>
3420         * config/sh/sh.h (SECONDARY_OUTPUT_RELOAD_CLASS): Use a
3421         general-purpose register to copy one branch-target register to
3422         another.
3423         2000-12-06  Alexandre Oliva  <aoliva@redhat.com>
3424         * config/sh/sh.c (target_operand): Accept LABEL_REFs and
3425         SYMBOL_REFs with VOIDmode.
3426         * config/sh/sh.md (ble_media_i, blt_media_i, bleu_media_i,
3427         bltu_media_i): New insns.
3428         2000-12-06  Alexandre Oliva  <aoliva@redhat.com>
3429         * config/sh/sh.h (RETURN_IN_MEMORY): Adjust for SH5 ABI.
3430         (INIT_CUMULATIVE_ARGS): Likewise.
3431         2000-12-01  Alexandre Oliva  <aoliva@redhat.com>
3432         * machmode.def (V16SFmode): New mode.
3433         * c-common.c (type_for_mode): Support V2SF and V16SF.
3434         * tree.c (build_common_tree_nodes_2): Likewise.
3435         * tree.h (tree_index): Likewise.
3436         * calls.c (emit_call_1): Take args_so_far.  Adjust all
3437         callers.  Introduce CALL_POPS_ARGS.
3438         * tm.texi (CALL_POPS_ARGS): Document.
3439         * config/sh/crt1.asm: Implement in SHmedia mode.
3440         * config/sh/crti.asm, config/sh/crtn.asm: Likewise
3441         * config/sh/elf.h (ASM_SPEC, LINK_SPEC): Support SH5 flags.
3442         (DBX_REGISTER_NUMBER): Renumber registers for SH5.
3443         * config/sh/lib1funcs.asm: Disable functions unused in SH5.
3444         Implement divsi and udivsi in SHmedia mode.  Introduce
3445         SHcompact trampolines.
3446         * config/sh/sh.c (GEN_MOV, GEN_ADD3, GEN_SUB3): Use DImode
3447         only in SHmedia64.
3448         (regno_reg_class): Rewrite.
3449         (fp_reg_names): Remove.
3450         (sh_register_names, sh_additional_register_names): New.
3451         (print_operand): Added `u'.  Support SUBREGs in addresses.
3452         Add parentheses around shifted CONSTs.
3453         (output_file_start): Output .mode and .abi directives.
3454         (shiftcosts, addsubcosts, multcosts): Adjust.
3455         (output_stack_adjust): Compute alignment.  Sanity-check SIZE.
3456         (push_regs): Take array of HOST_WIDE_INTs.  Adjust callers.
3457         (calc_live_regs): Output to array of HOST_WIDE_INTs.  Count
3458         bytes, not registers.  Take into account the need for the
3459         SHcompact incoming args trampoline.  Adjust all callers.
3460         (sh_expand_prologue): Take stack_regs into account.  Call
3461         incoming args trampoline.  Keep stack aligned as per SH5 ABI.
3462         (sh_expand_epilogue): Take stack_regs into accoutn.  Keep
3463         stack aligned as per SH5 ABI.
3464         (sh_builtin_saveregs): Support SH5 ABI.
3465         (sh_build_va_list, sh_va_start): Likewise.
3466         (initial_elimination_offset): Take alignment into account.
3467         Compute location of PR according to the SH5 stack frame.
3468         (arith_reg_operand): Reject branch-target registers.
3469         (shmedia_6bit_operand): New.
3470         (logical_operand): Use CONST_OK_FOR_P on SHmedia.
3471         (target_reg_operand): Match DImode only.  Accept SUBREGs.
3472         (target_operand): New.
3473         * config/sh/sh.h (CPP_SPEC, SUBTARGET_CPP_SPEC): Support SH5 flags.
3474         (CONDITIONAL_REGISTER_USAGE): Implement SH5 ABI.  Initialize
3475         SIBCALL_REGS for SHmedia.
3476         (TARGET_SH3E, TARGET_SH4): Only if SH1_BIT is set too.
3477         (TARGET_FPU_DOUBLE, TARGET_FPU_ANY): New.
3478         (TARGET_SHMEDIA32, TARGET_SHMEDIA64): New.
3479         (TARGET_SWITCHES): New SH5 flags.
3480         (OVERRIDE_OPTIONS): Set SH5-specific options.  Use
3481         VALID_REGISTER_P to disable unsupported registers.
3482         (LONG_TYPE_SIZE, LONG_LONG_TYPE_SIZE): Set.
3483         (POINTER_SIZE, PARM_BOUNDARY): Adjust.
3484         (FUNCTION_ARG_PADDING): Define.
3485         (FASTEST_ALIGNMENT): Adjust.
3486         (SH_REGISTER_NAMES_INITIALIZER): New.
3487         (sh_register_names): Declare.
3488         (DEBUG_REGISTER_NAMES): Define.
3489         (REGISTER_NAMES): Define based on sh_register_names.
3490         (SH_ADDITIONAL_REGISTER_NAMES_INITIALIZER): New.
3491         (sh_additional_register_names): Declare.
3492         (LAST_GENERAL_REG, LAST_FP_REG, LAST_XD_REG): Adjust for SHmedia.
3493         (FIRST_TARGET_REG, LAST_TARGET_REG): Define.
3494         (TARGET_REGISTER_P, SHMEDIA_REGISTER_P, VALID_REGISTER_P): Define.
3495         (REGISTER_NATURAL_MODE): Define.
3496         (FIRST_PSEUDO_REGISTER): Adjust.
3497         (FIXED_REGISTERS, CALL_USED_REGISTERS): Adjust.
3498         (HARD_REGNO_CALL_PART_CLOBBERED): Define.
3499         (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK): Adjust.
3500         (VECTOR_MODE_SUPPORTED_P): Define.
3501         (REG_CLASS_CONTENTS): Adjust.
3502         (SMALL_REGISTER_CLASSES): Adjust.
3503         (REG_ALLOC_ORDER): Adjust.
3504         (INDEX_REG_CLASS): Adjust.
3505         (CONST_OK_FOR_O, CONST_OK_FOR_P): New.
3506         (CONST_OK_FOR_LETTER_P): Adjust.
3507         (PREFERRED_RELOAD_CLASS): Adjust.
3508         (SECONDARY_OUTPUT_RELOAD_CLASS): Adjust.
3509         (SECONDARY_INPUT_RELOAD_CLASS): Adjust.
3510         (NPARM_REGS, FIRST_PARM_REG, FIRST_RET_REG): Adjust.
3511         (FIRST_FP_PARM_REG): Adjust.
3512         (CALL_POPS_ARGS): Define.
3513         (FUNCTION_ARG_REGNO_P): Adjust.
3514         (struct sh_args): New fields.
3515         (GET_SH_ARG_CLASS): Adjust.
3516         (INIT_CUMULATIVE_ARGS): Adjust.
3517         (INIT_CUMULATIVE_INCOMING_ARGS): Define.
3518         (FUNCTION_ARG_ADVANCE): Adjust.
3519         (FUNCTION_ARG): Adjust.
3520         (FUNCTION_ARG_PASS_BY_REFERENCE, SHCOMPACT_BYREF): Define.
3521         (FUNCTION_ARG_CALLEE_COPIES): Define.
3522         (SH5_PROTOTYPELESS_FLOAT_ARG): Define.
3523         (STRICT_ARGUMENT_NAMING): Define.
3524         (PRETEND_OUTGOING_VARARGS_NAMED): Adjust.
3525         (FUNCTION_ARG_PARTIAL_NREGS): Adjust.
3526         (SH5_WOULD_BE_PARTIAL_NREGS): Define.
3527         (SETUP_INCOMING_VARARGS): Adjust.
3528         (HAVE_POST_INCREMENT, HAVE_PRE_DECREMENT): Adjust.
3529         (USE_LOAD_POST_INCREMENT, USE_STORE_PRE_DECREMENT): Adjust.
3530         (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Adjust.
3531         (SUBREG_OK_FOR_INDEX_P): Adjust.
3532         (EXTRA_CONSTRAINT_S): Update.
3533         (EXTRA_CONSTRAINT_T): New.
3534         (EXTRA_CONSTRAINT): Adjust.
3535         (GO_IF_LEGITIMATE_INDEX): Adjust.
3536         (GO_IF_LEGITIMATE_ADDRESS): Adjust.
3537         (LEGITIMIZE_ADDRESS, LEGITIMIZE_RELOAD_ADDRESS): Adjust.
3538         (MOVE_MAX): Adjust.
3539         (MAX_MOVE_MAX): Define.
3540         (Pmode): Adjust.
3541         (CONST_COSTS): Adjust.
3542         (REGISTER_MOVE_COST): Adjust.
3543         (BRANCH_COST): Adjust.
3544         (TEXT_SECTION_ASM_OP): Adjust.
3545         (DBX_REGISTER_NUMBER): Adjust.
3546         (ASM_OUTPUT_DOUBLE_INT): New.
3547         (UNALIGNED_DOUBLE_INT_ASM_OP): New.
3548         (PREDICATE_CODES): Adjust.
3549         (PROMOTE_MODE): Adjust.
3550         (CRT_CALL_STATIC_FUNCTION): Do not define for SHmedia.
3551         * config/sh/sh.md (AP_REG, PR_REG, T_REG, GBR_REG): Renumber.
3552         (MACH_REG, MACL_REG, FPUL_REG, RAP_REG, FPSCR_REG): Renumber.
3553         (PR_MEDIA_REG, T_MEDIA_REG, R10_REG): New.
3554         (DR0_REG, DR2_REG, DR4_REG): Renumber.
3555         (TR0_REG, TR1_REG, TR2_REG): New.
3556         (XD0_REG): Renumber.
3557         (UNSPEC_COMPACT_ARGS): New.
3558         (type): Added pt and ptabs.
3559         (length): Default to 4 on SHmedia.  Default pt length to 12
3560         and     20 on SHmedia32 and SHmedia64, respectively.
3561         (pt): New function unit.
3562         (movdi, movsi): Add types pt and ptabs.  Don't increment LABEL_NUSES.
3563         Add whitespace between operands of SHmedia instructions.
3564         (movdicc): Fix.
3565         (adddi3_media, addsi3_media): Adjust constraints.
3566         (subsi3) [SHmedia]: Force operand 1 into a register.
3567         (udivsi3_i1_media, udivsi3_i4_media): New.
3568         (udivsi3): Support SHmedia.
3569         (divsi3_i1_media, divsi3_i4_media): New.
3570         (divsi3): Support SHmedia.
3571         (anddi3, iordi3, xordi3): Adjust constraints.
3572         (zero_extendhidi2, zero_extendqidi2): New.
3573         (extendsidi2, extendhidi2, extendqidi2): New.
3574         (push, pop, push_e, push_fpul, push_4): Disable on SH5.
3575         (pop_e, pop_fpul, pop_4): Likewise.
3576         (movsi_media): Support FP and BT registers.
3577         (movsi_media_nofpu): New.  Adjust splits to DImode.
3578         (lduw, ldub): Renamed to zero_extend* above.
3579         (movqi_media): Fix typo.
3580         (movdi_media): Support FP and BT registers.
3581         (movdi_media_nofpu): New.  Adjust splits for SHmedia32.
3582         (movdi_const_32bit): New.
3583         (shori_media): Require immediate operand.  Use `u' for output.
3584         (movdf_media, movsf_media): Simplified.
3585         (movdf_media_nofpu, movsf_media_nofpu): New.
3586         (movdf, movsf): Adjust
3587         (movv2sf, movv2sf, movv16sf): New.
3588         (beq_media, beq_media_i): Adjust constraints.  Don't use
3589         scratch BT register.
3590         (bne_media, bne_media_i): Likewise.
3591         (bgt_media, bgt_media_i): Likewise.
3592         (bge_media, bge_media_i): Likewise.
3593         (bgtu_media, bgtu_media_i): Likewise.
3594         (bgeu_media, bgeu_media_i): Likewise.
3595         (beq, bne, bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu,
3596         bunordered): Emit jump insn.  Force operands to registers when
3597         needed.
3598         (jump_media, jump): Simplify.
3599         (call_compact, call_compact_rettramp): New.
3600         (call_value_compact, call_value_compact_rettramp): New.
3601         (call_media, call_value_media): Simplify.
3602         (sibcall_compact, sibcall_media): New.
3603         (call, call_value): Adjust for SHmedia and SHcompact.
3604         (sibcall, sibcall_value, untyped_call): Likewise.
3605         (sibcall_epilogue): Preserve r0 across epilogue for SHcompact.
3606         (indirect_jump): Adjust for SHmedia.
3607         (casesi_jump_media): New.
3608         (nop): Re-enable for SHmedia.
3609         (call_site): Restrict to SH1.
3610         (casesi): Adjust for SHmedia.
3611         (casesi_shift_media, casesi_load_media): New.
3612         (return): Explicitly use PR register.  Call return trampoline
3613         on SHcompact.
3614         (return_i): Explicitly use PR register.
3615         (shcompact_return_tramp, shcompact_return_tramp_i): New.
3616         (return_media): Adjust.
3617         (shcompact_incoming_args): New.
3618         (epilogue): Adjust.
3619         (seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu, sne): Adjust.
3620         (movstrsi): Disable on SH5.
3621         (fpu_switch0, fpu_switch1, movpsi): Enable on SH4.
3622         (addsf3, addsf3_media): Test TARGET_SHMEDIA_FPU.
3623         (subsf3, subsf3_media): Likewise.
3624         (mulsf3, mulsf3_media, mac_media): Likewise.
3625         (divsf3, divsf3_media): Likewise.
3626         (floatdisf2, floatsisf2_media): Likewise.  Adjust constraints.
3627         (floatsisf2, fux_truncsfsi2): Likewise.
3628         (fix_truncsfdi2, fix_truncsfsi2_media): Likewise.  Adjust
3629         constraints.
3630         (cmpeqsf_media, cmpgtsf_media, cmpgesf_media): Likewise.
3631         (cmpunsf_media, cmpsf): Likewise.
3632         (negsf2, negsf2_media, sqrtsf2, sqrtsf2_media): Likewise.
3633         (abssf2, abssf2_media): Likewise.
3634         (adddf3, adddf3_media, subdf3, subdf3_media): Likewise.
3635         (muldf3, muldf3_media, divdf3, divdf3_media): Likewise.
3636         (floatdidf2, floatsidf2_media): Likewise.  Adjust constraints.
3637         (floatsidf2, fix_truncdfsi2): Likewise.
3638         (fix_truncdfdi2, fix_truncdfsi2_media): Likewise.  Adjust
3639         constraints.
3640         (cmpeqdf_media, cmpgtdf_media): Likewise.
3641         (cmpgedf_media, cmpundf_media, cmpdf): Likewise.
3642         (negdf2, negdf2_media, sqrtdf2, sqrtdf2_media): Likewise.
3643         (absdf2, absdf2_media): Likewise.
3644         (extendsfdf2, extendsfdf2_media): Likewise.
3645         (truncsfdf2, truncsfdf2_media): Likewise.
3646         * config/sh/sh64.h: New file.
3647         * config/sh/t-sh64: New file.
3648         * config/sh/shmedia.h: New file.
3649         * config/sh/ushmedia.h: New file.
3650         * config/sh/sshmedia.h: New file.
3651         * configure.in: Added sh64-*-elf.
3652         * configure: Rebuilt.
3653         2000-10-10  Alexandre Oliva  <aoliva@redhat.com>
3654         * config/sh/sh.c (GEN_MOV, GEN_ADD3, GEN_SUB3): New macros.
3655         (reg_class_from_letter): Use `b' for TARGET_REGS.
3656         (print_operand): Support `%M', `%m', `AND' and
3657         `ASHIFTRT'.  Do not precede constants with `#' on SHmedia.
3658         (andcosts): Adjust for SHmedia.
3659         (output_stack_adjust, sh_expand_prologue, sh_expand_epilogue):
3660         Likewise.
3661         (target_reg_operand): New function.
3662         * config/sh/sh-protos.h (target_reg_operand): Declare.
3663         * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Don't disable
3664         FP registers on SH5.
3665         (HARD_REGNO_MODE_OK): Accept them whenever they're acceptable
3666         on SH4.
3667         (TARGET_REGISTER_P): New macro.
3668         (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Added TARGET_REGS.
3669         (FUNCTION_VALUE): Use DImode for promoted types on SHmedia.
3670         (EXTRA_CONSTRAINT_S): New macro.
3671         (EXTRA_CONSTRAINT): Adjust.
3672         (FLOAT_TYPE_SIZE): Define to 32.
3673         (Pmode): DImode on SHmedia.
3674         (CONST_COSTS): Adjust for SHmedia literals.
3675         (PREDICATE_CODES): Added target_reg_operand.
3676         (PROMOTE_MODE): Promote signed types to DImode on SHmedia.
3677         * config/sh/sh.md: Remove all attrs from SHmedia insns.
3678         (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): New insns.
3679         (cmpdi): Accept SHmedia.
3680         (movdicc_false, movdicc_true): New insns.
3681         (movdicc): New expand.
3682         (adddi3): Accept arith_operand for op2, but FAIL on SH1 if
3683         no_new_pseudos.
3684         (addsi3_media): Match `S' constraint.
3685         (anddi3, andcdi3, iordi3, xordi3, negdi_media): New insns.
3686         (negdi2): Expand for SHmedia.
3687         (one_cmpldi2): New expand.
3688         (zero_extendsidi2): Change from expand to insn.
3689         (extendsidi2): Add constraints.
3690         (movdi_media, movsi_media): Change `%x' to `%M'.  Use `%m' for
3691         LD/ST address.  Fix SI immediate loading split.
3692         (movhi_media, movqi_media, lduw, ldub): New insns.
3693         (movhi, movqi): Accept SHmedia.
3694         (shori_media, movdi_media): Relax input constraints.  Split
3695         symbolic constants.
3696         (movdf_media, movsf_media): New insn.  New split to movdi.
3697         (movdf, movsf): Match on SHmedia.
3698         (beq_media, bne_media, bgt_media, bge_media, bgtu_media,
3699         bgeu_media): New insns and splits.  New insns with `_i' suffix.
3700         (beq, bne, bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Adjust.
3701         (bunordered): New expand.
3702         (jump_compact): Renamed from `jump'.
3703         (jump_media): New insn.
3704         (jump): New expand.
3705         (call_media, call_value_media): New insns.
3706         (call, call_value): Adjust.
3707         (indirect_jump_compact): Renamed from `indirect_jump'.
3708         (indirect_jump_media): New insn.
3709         (indirect_jump): New expand.
3710         (untyped_call, return): Accept SHmedia.
3711         (return_media): New insn.
3712         (prologue, epilogue, blockage): Accept SHmedia.
3713         (seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu, sne): Adjust.
3714         (sunordered): New expand.
3715         (addsf3, subsf3, mulsf3, divsf3, floatsisf2, fix_truncsfsi2,
3716         cmpsf, negsf2, sqrtsf2, abssf2): Adjust for SHmedia.
3717         (addsf3_media, subsf3_media, mulsf3_media, mac_media,
3718         divsf3_media, floatdisf2, floatsisf2_media, fix_truncsfdi2,
3719         fix_truncsfsi2_media, cmpeqsf_media, cmpgtsf_media,
3720         cmpgesf_media, cmpunsf_media, negsf2_media, sqrtsf2_media,
3721         abssf2_media): New insns.
3722         (adddf3, subdf3, muldf3, divdf3, floatsidf2, fix_truncdfsi2,
3723         cmpdf, negdf2, sqrtdf2, absdf2): Adjust for SHmedia.
3724         (adddf3_media, subdf3_media, muldf3_media, divdf3_media,
3725         floatdidf2, floatsidf2_media, fix_truncdfdi2,
3726         fix_truncdfsi2_media, cmpeqdf_media, cmpgtdf_media,
3727         cmpgedf_media, cmpundf_media, negdf2_media, sqrtdf2_media,
3728         absdf2_media): New insns.
3729         (extendsfdf2, truncdfsf2): Adjust for SHmedia.
3730         (extendsfdf2_media, truncdfsf2_media): New insns.
3731         2000-09-14  Alexandre Oliva  <aoliva@redhat.com>
3732         * config/sh/sh.c (machine_dependent_reorg): On shmedia, skip for now.
3733         * config/sh/sh.h (CONST_OK_FOR_J): Document.
3734         (LEGITIMATE_CONSTANT_P): Accept CONST_DOUBLEs on shmedia.
3735         * config/sh/sh.md (adddi3): New expand.
3736         (adddi3_media, adddi3z_media): New insns.
3737         (adddi3_compact): Renamed from adddi3.
3738         (addsi3_media): Use add.l r63 to add constant zero.
3739         (subdi3): New expand.
3740         (subdi3_media): New insn.
3741         (subdi3_compact): Renamed from subdi3.
3742         (mulsidi3): New expand.
3743         (mulsidi3_media): New insn.
3744         (mulsidi3_compact): Renamed from mulsidi3.
3745         (umulsidi3): New expand.
3746         (umulsidi3_media): New insn.
3747         (umulsidi3_compact): Renamed from umulsidi3.
3748         (ashlsi3_media, ashrsi3_media, lshrsi3_media): New insns.
3749         (ashlsi3, ashrsi3, lshrsi3): Use them.
3750         (ashldi3_media, ashrdi3_media, lshrdi3_media): New insns.
3751         (ashldi3, ashrdi3, lshrdi3): Use them.
3752         (zero_extendsidi2): New expand.
3753         (extendsidi2): New insn.
3754         (movsi_media): New insn.  Split to movdi to load constants.
3755         (movsi): Enable for shmedia.
3756         (movdi_media): New insn.  Use shori_media to load wide constants.
3757         (short_media): New insn.
3758         (movdi): Enable for shmedia.
3759         2000-09-08  Alexandre Oliva  <aoliva@redhat.com>
3760         * config/sh/sh.h (CPP_SPEC): Added `m5'.
3761         (SUBTARGET_CPP_SPEC): Added `!m5'.
3762         (SH5_BIT, TARGET_SH5, TARGET_SHMEDIA, TARGET_SHCOMPACT): New macros.
3763         (TARGET_SWITCHES): Added `5' and `5-compact'.  Added SH1_BIT
3764         to all other SH variants.
3765         (TARGET_DEFAULT): Set to SH1_BIT.
3766         (OVERRIDE_OPTIONS): Recognize sh5 CPU.
3767         (BITS_PER_WORD): Raise to 64 on shmedia.
3768         (MAX_BITS_PER_WORD): Change to 64.
3769         (MAX_LONG_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): Set to MAX_BITS_PER_WORD.
3770         (INT_TYPE_SIZE): Keep as 32.
3771         (UNITS_PER_WORD): Raise to 8 on shmedia.
3772         (MIN_UNITS_PER_WORD): Keep as 4.
3773         (POINTER_SIZE): Raise to 64 on shmedia.
3774         (CONST_OK_FOR_J): New macro.
3775         (CONST_OK_FOR_LETTER_P): Use it.
3776         (processor_type): Add PROCESSOR_SH5.
3777         * config/sh/sh.md: Conditionalize all expands, insns and
3778         splits to TARGET_SH1.
3779         (cpu): Added sh5.
3780         (addsi3_compact): Renamed from...
3781         (addsi3): Now an expand.
3782         (addsi3_media, subsi3_media): New insns.
3783         (subsi3): Don't negate constants with SHmedia.
3784
3785         * hooks.c: New file.
3786         * hooks.h: New file.
3787         * Makefile.in (HOOKS_H): New.
3788         (TARGET_DEF_H): Added $(HOOKS_H).
3789         (OBJS): Added hooks.o.
3790         (cfgcleanup.o, bb-reorder.o): Added target.h.
3791         (hooks.o): Added dependencies.
3792         * target-def.h (TARGET_CANNOT_MODIFY_JUMPS_P): New, added to...
3793         (TARGET_INITIALIZER): this.
3794         * doc/tm.texi (TARGET_CANNOT_MODIFY_JUMPS_P): Document.
3795         * target.h (struct gcc_target): Added cannot_modify_jumps_p.
3796         * bb-reorder.c: Include target.h.
3797         (reorder_basic_blocks): Skip if cannot modify jumps.
3798         * cfgcleanup.c: Include target.h.
3799         (try_optimize_cfg): Skip merge blocking if cannot modify jumps.
3800
3801 2002-02-08  Chris Demetriou  <cgd@broadcom.com>
3802
3803         * config/mips/mips.md (casesi_internal, casesi_internal_di):
3804         Protect jump delay slot instructions with .set noreorder and
3805         .set nomacro.
3806
3807 2002-02-08  Chris Demetriou  <cgd@broadcom.com>
3808
3809         * config/mips/mips.md (casesi_internal_di): Calculate
3810         the index into the target offset table correctly.
3811
3812 2002-02-08  Richard Henderson  <rth@redhat.com>
3813
3814         * expr.c (expand_expr): Mind EXPAND_INITIALIZER for truncation also.
3815         * final.c (output_addr_const): Accept and discard SUBREG.
3816         * varasm.c (decode_addr_const): Don't abort on unknown expressions --
3817         mark them unknown instead.
3818         (simplify_subtraction): Handle RTX_UNKNOWN.
3819         (initializer_constant_valid_p): Strip NOP_EXPRs that narrow the mode.
3820
3821 2002-02-08  David Edelsohn  <edelsohn@gnu.org>
3822
3823         * doc/invoke.texi (RS/6000 and PowerPC Options): Fix typo.
3824
3825 2002-02-08  Richard Henderson  <rth@redhat.com>
3826
3827         * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_BSS): New.
3828
3829 2002-02-08  Andreas Jaeger  <aj@suse.de>
3830
3831         * config.gcc (x86_64-*-linux): Add t-linux64 makefile fragment.
3832         * config/i386/t-linux64: New file.
3833
3834 2002-02-08  Jakub Jelinek  <jakub@redhat.com>
3835
3836         * c-common.c (c_expand_expr): Revert 2002-02-06 patch.
3837         * c-parse.in (compstmt): Clear last_expr_type.
3838
3839 2002-02-07  Richard Henderson  <rth@redhat.com>
3840
3841         * loop.c (strength_reduce): Sink final_value when not
3842         eliminating a biv.
3843
3844 2002-02-07  David O'Brien  <obrien@FreeBSD.org>
3845
3846         * config/sparc/freebsd.h: Fix mismatched spec {.
3847
3848 2002-02-07  Richard Henderson  <rth@redhat.com>
3849
3850         * cfgrtl.c: Include recog.h and insn-config.h.
3851         (keep_with_call_p): Fix general_operand invocation.
3852         * Makefile.in (cfgrtl.o): Update dependencies.
3853
3854 2002-02-07  Kazu Hirata  <kazu@hxi.com>
3855
3856         * config/h8300/h8300.c (two_insn_adds_subs_operand): Revise a
3857         comment.  Accept HImode only if TARGET_H8300.
3858
3859 2002-02-07  Eric Christopher  <echristo@redhat.com>
3860
3861         * config/mips/crtn.asm: Cleanup #ifdefs.
3862
3863 2002-02-07  Eric Christopher  <echristo@redhat.com>
3864
3865         * config/mips/crti.asm: Add changes for mips16. mips16 uses
3866         register 7 as RA instead of $31.
3867         * config/mips/crtn.asm: Ditto.
3868         * config/mips/mips.c (mips_move_2words): Add case for
3869         TARGET_MIPS16 when HOST_BITS_PER_WIDE_INT >= 64.
3870         (compute_frame_size): Fix typo.
3871         (save_restore_insns): Ditto.  Make documentation about using
3872         register $7 as return register more precise.
3873         (mips_expand_epilogue): Fix comment. Add code to work around not
3874         being able to add to the stack pointer directly.
3875         * config/mips/mips.h (EH_RETURN_DATA_REGNO): Change register number
3876         to 2 for TARGET_MIPS16 as we need 6 and 7 as clobbers in the
3877         epilogue.
3878
3879 2002-02-07  Tom Rix  <trix@redhat.com>
3880
3881         * config/rs6000/rs6000.c (reg_or_aligned_short_operand): New. For
3882         immediates in ldu and stdu DS opcode field.
3883         * config/rs6000/rs6000.md (movdi_update, movdi_update1): Use.
3884         * config/rs6000/rs6000-protos.h: Add reg_or_aligned_short_operand.
3885         * config/rs6000/rs6000.h (PREDICATE_CODES): Same.
3886
3887 2002-02-07  Jeff Sturm  <jsturm@one-point.com>
3888
3889         * config/sparc/sparc.c (compute_frame_size): Don't correct frame
3890         offset for stack bias.
3891
3892 2002-02-07  H.J. Lu <hjl@gnu.org>
3893
3894         * config/mips/linux.h (SUBTARGET_ASM_DEBUGGING_SPEC): Defined.
3895
3896 2002-02-07  Ulrich Weigand  <uweigand@de.ibm.com>
3897
3898         * testsuite/gcc.dg/cpp/charconst-2.c: Add -fsigned-char option.
3899
3900 Thu Feb  7 12:14:17 CET 2002  Jan Hubicka  <jh@suse.cz>
3901
3902         * i386-protos.h (x86_order_regs_for_local_alloc): Declare
3903         * i386.c (x86_order_regs_for_local_alloc): New global function.
3904         * i386.h (REG_ALLOC_ORDER): CLeanup.
3905         (ORDER_REGS_FOR_LOCAL_ALLOC): New.
3906
3907 2002-02-07  Richard Henderson  <rth@redhat.com>
3908
3909         PR optimization/2463
3910         * alias.c (find_base_value): Recall base values for fixed hard regs.
3911         * loop.c (loop_regs_update): Don't use single_set on non-insns.
3912
3913 2002-02-07  Alexandre Oliva  <aoliva@redhat.com>
3914
3915         * config/mips/mips.md (define_delay) [mips16]: Adjust required
3916         length.
3917
3918 2002-02-06  Richard Henderson  <rth@redhat.com>
3919
3920         PR c/5609
3921         * stmt.c (resolve_operand_name_1): Take more care with mixed
3922         named and unnamed operands.
3923
3924 2002-02-06  Janis Johnson  <janis187@us.ibm.com>
3925             Jan Hubicka  <jh@suse.cz>
3926
3927         * loop.c (remove_constant_addition): Avoid clobbering a shared
3928         CONST expression.
3929
3930 2002-02-06  Ulrich Weigand  <uweigand@de.ibm.com>
3931
3932         * config.gcc (s390x-*-linux*): Add t-linux64 makefile fragment.
3933         * config/s390/t-linux64: New file.
3934         * config/s390/libgcc-glibc.ver: New file.
3935
3936 2002-02-06  Ulrich Weigand  <uweigand@de.ibm.com>
3937
3938         * config/s390/linux64.h: Delete file.
3939         * config/s390/s390x.h: New file.
3940         * config.gcc (s390x-*-linux*): Use s390x.h instead of linux64.h
3941         as target header file.
3942         * config/s390/linux.h (TARGET_VERSION): Define depending on
3943         DEFAULT_TARGET_64BIT.
3944         (CPP_SPEC, ASM_SPEC, LINK_SPEC): Likewise.
3945         (SIZE_TYPE, PTRDIFF_TYPE): Likewise.
3946         (NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define.
3947         (CPP_ARCH31_SPEC, CPP_ARCH64_SPEC): New defines.
3948         (LINK_ARCH31_SPEC, LINK_ARCH64_SPEC): New defines.
3949         (EXTRA_SPEC): New define.
3950         * config/s390/s390.h (TARGET_VERSION): Define depending on
3951         DEFAULT_TARGET_64BIT.
3952         (MASK_RETURN_ADDR): Add run-time check for TARGET_64BIT.
3953
3954 2002-02-06  Jason Merrill  <jason@redhat.com>
3955
3956         * c-decl.c (finish_function): Warn about a non-void function with
3957         no return statement and no abnormal exit.
3958         (current_function_returns_abnormally): New variable.
3959         (start_function): Clear it.
3960         (struct c_language_function): Add returns_abnormally.
3961         (push_c_function_context): Save it.
3962         (pop_c_function_context): Restore it.
3963         (builtin_function): Set TREE_THIS_VOLATILE on return fns.
3964         (grokdeclarator): Set C_FUNCTION_IMPLICIT_INT on functions without
3965         an explicit return type.
3966         * c-tree.h: Declare current_function_returns_abnormally.
3967         (C_FUNCTION_IMPLICIT_INT): New macro.
3968         * c-typeck.c (build_function_call): Set it.
3969         (c_expand_return): Set current_function_returns_value even if the
3970         value is erroneous.
3971
3972 2002-02-06  Jakub Jelinek  <jakub@redhat.com>
3973
3974         PR c/5420:
3975         * c-common.c (c_unsafe_for_reeval): Make COMPOUND_LITERAL_EXPR
3976         unsafe for reevaluation.
3977
3978 2002-02-06  Jakub Jelinek  <jakub@redhat.com>
3979
3980         PR c/5482:
3981         * c-common.c (c_expand_expr) [STMT_EXPR]: If last expression is not
3982         EXPR_STMT, but COMPOUND_STMT, recurse into it.
3983
3984 2002-02-06  Richard Henderson  <rth@redhat.com>
3985
3986         * cfganal.c (keep_with_call_p): Source for fixed_reg dest must
3987         be a general_operand.  Dest for function value must be a pseudo.
3988
3989 2002-02-06  Nick Clifton  <nickc@cambridge.redhat.com>
3990
3991         * dbxout.c (dbxout_symbol_location): Accept LABEL_REFs as well
3992         as SYMBOL_REFs from the constant pool.
3993
3994 2002-02-06  Alexandre Oliva  <aoliva@redhat.com>
3995
3996         * dbxout.c (dbxout_parms): Apply DEBUGGER_ARG_OFFSET to parameters
3997         passed by invisible reference.
3998
3999 2002-02-05  Richard Henderson  <rth@redhat.com>
4000
4001         * config/sparc/sparc.h (ARG_POINTER_CFA_OFFSET): No stack bias.
4002
4003 2002-02-06  Hans-Peter Nilsson  <hp@bitrange.com>
4004
4005         Implement using "base addresses" in insn operands as default.
4006         * config/mmix/mmix.c (mmix_conditional_register_usage): if
4007         -mabi=gnu, modify fixed_regs to fit the GNU ABI.
4008         (mmix_extra_constraint): Use 'R' to indicate that GETA should be
4009         used to read the rtx value.
4010         (mmix_target_asm_function_epilogue): Fix spacing.
4011         (mmix_constant_address_p): Handle TARGET_BASE_ADDRESSES.
4012         (mmix_legitimate_address): Ditto.
4013         (mmix_encode_section_info): Set SYMBOL_REF_FLAG on rtx:es that
4014         should be loaded with a GETA insn.  Don't allocate needless extra
4015         char for nul termination and fix misleading comment.
4016         (mmix_print_operand_address): Handle constants if
4017         TARGET_BASE_ADDRESSES.
4018         (mmix_output_register_setting): Use base addressing if
4019         TARGET_BASE_ADDRESSES and the number of insns is 3.
4020         * config/mmix/t-mmix (MULTILIB_EXTRA_OPTS): New.
4021         * config/mmix/mmix.md ("movdi"): Change the alternative with GETA
4022         to use R as constraint, add LDA to match s.
4023         * config/mmix/mmix.h (TARGET_BASE_ADDRESSES): New.
4024         (TARGET_DEFAULT): Add TARGET_MASK_BASE_ADDRESSES.
4025         (TARGET_SWITCHES): Add -mbase-addresses, -mno-base-addresses.
4026         (FIXED_REGISTERS): Make registers $231..$246 fixed by default.
4027         (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Move $231..$246 last, in
4028         order with other fixed registers.
4029         (MMIX_GNU_ABI_REG_ALLOC_ORDER): Put forward $231, in order with
4030         other parameter/call-clobbered registers.
4031         * doc/invoke.texi (Option Summary) <MMIX Options>: Add
4032         -mbase-addresses, -mno-base-addresses.
4033         (MMIX Options): Ditto.
4034
4035 2002-02-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4036
4037         * pa.h (PREDICATE_CODES): Add reg_before_reload_operand.
4038
4039 2002-02-06  Aldy Hernandez  <aldyh@redhat.com>
4040
4041         * config/rs6000/altivec.h: Change elem to _S_elem.
4042
4043 2002-02-05  Jason Thorpe  <thorpej@wasabisystems.com>
4044
4045         * config/netbsd.h (WCHAR_TYPE): Define.
4046         (WCHAR_TYPE_SIZE): Ditto.
4047         (WINT_TYPE): Ditto.
4048         * config/alpha/netbsd.h (WCHAR_TYPE): Remove.
4049         (WCHAR_UNSIGNED): Ditto.
4050         (WCHAR_TYPE_SIZE): Ditto.
4051         (WINT_TYPE): Ditto.
4052         * config/arm/netbsd.h: Likewise.
4053         * config/i386/netbsd-elf.h: Likewise.
4054         * config/i386/netbsd.h: Likewise.
4055         * config/m68k/netbsd-elf.h: Likewise.
4056         * config/m68k/netbsd.h: Likewise.
4057         * config/ns32k/netbsd.h: Likewise.
4058         * config/sparc/netbsd.h: Likewise.
4059         * config/vax/netbsd.: Likewise.
4060
4061 2002-02-05  Alexandre Oliva  <aoliva@redhat.com>
4062
4063         * target.h (struct gcc_target): Added ms_bitfield_layout_p.
4064         * target-def.h (TARGET_MS_BITFIELD_LAYOUT_P): New.  Added to...
4065         (TARGET_INITIALIZER): this.
4066         * doc/tm.texi (TARGET_MS_BITFIELD_LAYOUT_P): Document.
4067         (BITFIELD_NBYTES_LIMITED): Markup fix.
4068         * tree.h (default_ms_bitfield_layout_p): Declare.
4069         (record_layout_info): Added prev_field.
4070         * tree.c (default_ms_bitfield_layout_p): New fn.
4071         * c-decl.c (finish_struct): Disregard EMPTY_FIELD_BOUNDARY and
4072         PCC_BITFIELD_TYPE_MATTERS for MS bit-field layout.
4073         * stor-layout.c: Include target.h.
4074         (start_record_layout): Initialize prev_field.
4075         (place_field): Handle MS bit-field layout, and disregard
4076         EMPTY_FIELD_BOUNDARY, BITFIELD_NBYTES_LIMITED and
4077         PCC_BITFIELD_TYPE_MATTERS in this case.  Update prev_field.
4078         * Makefile.in (stor-layout.o): Adjust dependencies.
4079
4080 2002-02-05  Jason Merrill  <jason@redhat.com>
4081
4082         * collect2.c (dump_file): Pass DMGL_VERBOSE to cplus_demangle.
4083
4084 2002-02-05  Andreas Jaeger  <aj@suse.de>
4085
4086         * crtstuff.c: Fix comments.
4087
4088 2002-02-05  Richard Henderson  <rth@redhat.com>
4089
4090         PR fortran/3393
4091         * loop.c (loop_iv_add_mult_emit_before): Copy multiplier as well.
4092         (loop_iv_add_mult_sink, loop_iv_add_mult_hoist): Likewise.
4093
4094         PR fortran/3392
4095         * config/mips/mips.c (function_arg): Handle TImode.
4096         (function_arg_advance): Likewise.
4097
4098 2002-02-05  Aldy Hernandez  <aldyh@redhat.com>
4099
4100         * config/rs6000/altivec.h (vec_step_help): Rename to
4101         __vec_step_help.
4102
4103 2002-02-05  Aldy Hernandez  <aldyh@redhat.com>
4104
4105         * config/rs6000/altivec.h: Fix typos.
4106
4107 2002-02-05  Jason Thorpe  <thorpej@wasabisystems.com>
4108
4109         * config/arm/netbsd.h: Correct a comment.
4110
4111 2002-02-05  Aldy Hernandez  <aldyh@redhat.com>
4112
4113         * config/rs6000/rs6000.c (altivec_init_builtins): Fix typo
4114         building void typed builtins.
4115
4116         * config/rs6000/altivec.h (vec_ld*): Fix typos.
4117         (vec_step): Implement for C++.
4118
4119 Mon Feb  4 19:23:19 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4120
4121         * final.c (final_scan_insn): Add case for NOTE_INSN_LOOP_END_TOP_COND.
4122
4123 2002-02-04  Richard Henderson  <rth@redhat.com>
4124
4125         * combine.c (nonzero_bits): Re-introduce special case for
4126         sp/fp/ap wrt REGNO_POINTER_ALIGN.
4127
4128 2002-02-05  Aldy Hernandez  <aldyh@redhat.com>
4129
4130         * doc/extend.texi: Warn about unsupported usage of altivec
4131         builtins.
4132
4133         * config/rs6000/rs6000.md (altivec_vcmp*_p): Remove.
4134         (altivec_predicate_*): New.
4135
4136         * config/rs6000/altivec.h: Rewrite predicates to use new builtins.
4137         Add C++ version of vec_*() functions.
4138
4139         * config/rs6000/rs6000.c (bdesc_altivec_preds): New.
4140         (bdesc_2arg): Remove altivec predicates.
4141         (altivec_expand_builtin): Handle predicates.
4142         (altivec_init_builtins): Handle predicates.
4143         (altivec_expand_predicate_builtin): New.
4144
4145 2002-02-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4146
4147         * pa.c (DO_FRAME_NOTES): Move forward.
4148         (store_reg): Revise handling of frame notes.
4149         (load_reg): Likewise.
4150         (set_reg_plus_d): Likewise.
4151         (hppa_expand_prologue): Likewise.
4152         (hppa_expand_epilogue): Likewise.
4153
4154 2002-02-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4155
4156         * unwind-dw2-fde-glibc.c: Define _GNU_SOURCE if not defined.
4157
4158 2002-02-04  Jakub Jelinek  <jakub@redhat.com>
4159
4160         PR c/4475, c++/3780:
4161         * c-common.def (SWITCH_STMT): Add SWITCH_TYPE operand.
4162         * c-common.h (SWITCH_TYPE): Define.
4163         * c-typeck.c (c_start_case): Set SWITCH_TYPE.
4164         * stmt.c (all_cases_count): Set lastval to thisval at end of loop.
4165         Rename spareness variable to sparseness.
4166         (expand_end_case_type): Renamed from expand_end_case, use orig_type
4167         if non-NULL instead of TREE_TYPE (orig_index).
4168         * tree.h (expand_end_case_type): Renamed from expand_end_case.
4169         (expand_end_case): Define using expand_end_case_type.
4170         * c-semantics.c (genrtl_switch_stmt): Pass SWITCH_TYPE
4171         to expand_end_case_type.
4172         * doc/c-tree.texi (SWITCH_STMT): Document SWITCH_TYPE.
4173
4174 2002-02-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4175
4176         * pa.h (PREFERRED_STACK_BOUNDARY): Define to match standard rounding.
4177         (BIGGEST_ALIGNMENT): Change to 128.
4178
4179 2002-02-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4180
4181         * pa32-linux.h (LINK_COMMAND_SPEC): Define.
4182
4183 2002-02-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4184
4185         * pa.md (call_internal_reg_64bit): Remove unused variable.
4186
4187 2002-02-04  Nick Clifton  <nickc@cambridge.redhat.com>
4188
4189         * config/arm/arm.h (machine_function): Add uses_anonymous_args
4190         field.
4191         (SETUP_INCOMING_VARARGS): Set uses_anonymous_args.
4192         * config/arm/arm.c (current_function_anonymous_args): Delete,
4193         replace uses with cfun->machine->uses_anonymous_args.
4194         (arm_reorg): Do not reset uses_anonymous_args.
4195
4196         * config/arm/arm.c (arm_hard_regno_mode_ok): Allow any value in
4197         any geenral register.
4198
4199 2001-02-04  Bernd Schmidt  <bernds@redhat.com>
4200
4201         * cfgrtl.c (force_nonfallthru_and_redirect): Don't try to redirect
4202         the entry block.
4203
4204 2002-02-04  Richard Henderson  <rth@redhat.com>
4205
4206         * combine.c (force_to_mode): Remove STACK_BIAS code.
4207         (nonzero_bits): Likewise.  Replace sp/fp special case with
4208         REGNO_POINTER_ALIGN.
4209
4210         * config/sparc/sparc.h (FRAME_POINTER_REGNUM): Change to SFP.
4211         (HARD_FRAME_POINTER_REGNUM): New.
4212         (FIRST_PSEUDO_REGISTER, REG_CLASS_CONTENTS): Update.
4213         (FIXED_REGS, CALL_USED_REGS): Update.
4214         (REG_ALLOC_ORDER, REGISTER_NAMES): Update.
4215         (CONDITIONAL_REGISTER_USAGE): Update for HFP.
4216         (HARD_REGNO_NREGS): Update for SFP.
4217         (STACK_POINTER_OFFSET): Include bias here ...
4218         (FIRST_PARM_OFFSET): ... not here.
4219         (STACK_BIAS): Remove.
4220         (INIT_EXPANDERS): New.
4221         (STARTING_FRAME_OFFSET): Do not include bias.
4222         (ELIMINABLE_REGS, CAN_ELIMINATE, INITIAL_ELIMINATION_OFFSET): New.
4223         (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P): Update for SFP.
4224         (REG_OK_FOR_INDEX_P, REG_OK_FOR_BASE_P): Likewise.
4225         * config/sparc/aout.h (DBX_REGISTER_NUMBER): Update for HFP.
4226         * config/sparc/litecoff.h, config/sparc/sol2.h: Likewise.
4227         * config/sparc/sparc.c (mem_min_alignment): Update for HFP.
4228         (sparc_nonflat_function_prologue, epilogue_renumber): Likewise.
4229         (MUST_SAVE_REGISTER): Likewise.
4230         (sparc_flat_function_prologue): Likewise.
4231         (sparc_flat_function_epilogue): Likewise.
4232         (HARD_FRAME_POINTER_MASK): Rename from FRAME_POINTER_MASK.
4233         (sparc_init_modes): SFP is GENERAL_REGS.
4234         (sparc_builtin_saveregs): SFP does not have bias applied.
4235
4236 2002-02-04  Richard Henderson  <rth@redhat.com>
4237
4238         * config/alpha/alpha.c (current_function_is_thunk): Don't check
4239         current_function_is_thunk.
4240         (alpha_sa_mask): Distinguish between current_function_is_thunk
4241         called from ASM_OUTPUT_MI_THUNK and not.
4242         (alpha_does_function_need_gp): Thunks always need gp.
4243         (alpha_start_function, alpha_output_function_end_prologue): Likewise.
4244         (alpha_output_mi_thunk_osf): New.
4245         * config/alpha/alpha-protos.h: Update.
4246         * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): New.
4247
4248 2002-02-04  Richard Sandiford  <rsandifo@redhat.com>
4249
4250         * c-typeck.c (build_c_cast): Warn when qualifiers are added to
4251         function types, not when they're taken away.
4252
4253 Mon Feb  4 09:05:58 2002  Jeffrey A Law  (law@redhat.com)
4254
4255         * cfgrtl.c (try_redirect_by_replacing_jump): Remove associated
4256         CODE_LABEL and jump table when replacing a table jump with a
4257         simple jump.
4258
4259 2002-02-04  Ulrich Weigand  <uweigand@de.ibm.com>
4260
4261         * config/s390/s390-protos.h (legitimize_la_operand,
4262         s390_secondary_input_reload_class, s390_plus_operand,
4263         s390_expand_plus_operand): Add prototypes.
4264
4265         config/s390/s390.c (s390_secondary_input_reload_class,
4266         s390_plus_operand, s390_expand_plus_operand): New functions.
4267
4268         (struct s390_address): New member 'pointer'.
4269         (s390_decompose_address): Compute it.
4270         (legitimate_la_operand_p): Use it.
4271         (legitimize_la_operand): New function.
4272         (movti, movdi, movdf splitters): Call it.
4273
4274         config/s390/s390.h (SECONDARY_INPUT_RELOAD_CLASS): Define.
4275         (PREDICATE_CODES): Add s390_plus_operand.
4276
4277         config/s390/s390.md (adddi3_inv_64, addaddr_ccclobber): Delete.
4278         (la_ccclobber): Allow GENERAL_REGS as output operand.
4279
4280         (reload_load_address, *reload_load_address_reg_0, *la, *do_la_reg_0,
4281         *reload_la_64, *reload_la_31 and splitters): Delete, replace by ...
4282         (*la_64, *la_31, reload_indi, reload_insi): ... these.
4283
4284 2002-02-04  Ulrich Weigand  <uweigand@de.ibm.com>
4285
4286         * gcc/config/s390/s390.h (CRT_CALL_STATIC_FUNCTION): Fixed
4287         register names for regular asm () construct.
4288
4289 2002-02-04  Jakub Jelinek  <jakub@redhat.com>
4290
4291         * config/i386/i386.md (movsf_1): Allow moving SF values in MMX
4292         registers.
4293
4294 2002-02-04  Jakub Jelinek  <jakub@redhat.com>
4295
4296         * combine.c (recog_for_combine): Create a dummy insn with PATTERN
4297         pat for recog.
4298
4299 2002-02-04  Hartmut Penner  <hpenner@de.ibm.com>
4300
4301         * varasm.c (decode_rtx_const): Allow unspec (symbol_ref) in
4302         constant pool to be identical by string address and index.
4303
4304 2002-02-04  Anthony Green  <green@redhat.com>
4305
4306         * output.h (SECTION_OVERRIDE): Define.
4307         * varasm.c (named_section): Obey SECTION_OVERRIDE.
4308
4309 2002-02-03  Jason Thorpe  <thorpej@wasabisystems.com>
4310
4311         * config.gcc (arm*-*-netbsdelf*): Placeholder to prevent match
4312         by existing arm*-*-netbsd* (a.out) target.
4313         (ns32k-*-netbsdelf*): Likewise.
4314         (sparc-*-netbsdelf*): Likewise.
4315         (vax-*-netbsdelf*): Likewise.
4316
4317 2002-02-03  Danny Smith <dannysmith@users.sourceforge.net>
4318
4319         * gthr-win32.h: Protect against conflicting typedef for BOOL in windows
4320         headers and libobjc headers.
4321
4322 2002-02-03  Mumit Khan  <khan@nanotech.wisc.edu>
4323
4324         * gthr-win32.h (__mingwthr_key_dtor): Use extern "C" linkage for C++.
4325         (_mingw.h): Remove duplicate include.
4326
4327 2002-02-03  Jason Thorpe  <thorpej@wasabisystems.com>
4328
4329         * config.gcc: Set cpu_type to m68k for 68010, as well.
4330         (m68010-*-netbsdelf*): New...
4331         (m68k*-*-netbsdelf*): ...targets.
4332         * config/m68k/netbsd-elf.h: New file.
4333
4334 2002-02-02  Kazu Hirata  <kazu@hxi.com>
4335
4336         * config/h8300/h8300.c (hand_list): Move inside function_arg.
4337
4338 2002-02-02  Kazu Hirata  <kazu@hxi.com>
4339
4340         * config/h8300/h8300.c (h8_push_ops): Move inside
4341         h8300_init_once.
4342         (h8_pop_ops): Likewise.
4343         (h8_move_ops): Likewise.
4344
4345 2002-02-02  Kazu Hirata  <kazu@hxi.com>
4346
4347         * config/h8300/h8300.c (os_task): Make it static.
4348         (monitor): Likewise.
4349         (pragma_saveall): Likewise.
4350
4351 2002-02-02  Alexandre Oliva  <aoliva@redhat.com>
4352
4353         * config/sh/sh.md (ic_invalidate_line): Make sure the immediate
4354         constant is a valid sign-extension for Pmode.
4355
4356 2002-02-02  Kazu Hirata  <kazu@hxi.com>
4357
4358         * config/h8300/h8300.c: Fix formatting.
4359
4360 2002-02-02  Kazu Hirata  <kazu@hxi.com>
4361
4362         * config/h8300/h8300.md: Fix formatting.
4363
4364 2002-02-02  Kazu Hirata  <kazu@hxi.com>
4365
4366         * config/h8300/h8300.md (one_cmpl patterns): Tighten the
4367         predicates of operands[1].  Split the patterns for each
4368         processor variant.
4369
4370 2002-02-02  Kazu Hirata  <kazu@hxi.com>
4371
4372         * config/h8300/h8300.md (xor patterns): Tighten the predicates
4373         of operands[1] to register_operand.
4374
4375 2002-02-02  Neil Booth  <neil@daikokuya.demon.co.uk>
4376
4377         * cpphash.h (struct spec_nodes): Remove n__CHAR_UNSIGNED__.
4378         * cpphash.c (_cpp_init_hashtable): Similarly.
4379         * cppinit.c (cpp_create_reader): Default the signed_char flag.
4380         (init_builtins): Define __CHAR_UNSIGNED__ appropriately.
4381         (COMMAND_LINE_OPTIONS): Recognise -f{un,}signed-char.
4382         (cpp_handle_option): Handle the new options.
4383         * cpplex.c (cpp_interpret_charconst): Use new flag.
4384         * cpplib.h (struct cpp_options): New member signed_char.
4385         * gcc.c (cpp_unique_options): Remove %c spec and documentation.
4386         (cpp_options): Handle -fsigned-char and -funsigned-char.
4387         (static_specs): Remove signed_char_spec.
4388         (do_spec1): Don't handle %c.
4389         * system.h: Poison SIGNED_CHAR_SPEC.
4390         * tradcif.y (yylex): Use flag_signed_char.
4391         * tradcpp.h (flag_signed_char): New.
4392         * tradcpp.c (flag_signed_char): New.
4393         (main): Handle new command-line options.
4394         (initialize_builtins): Define __CHAR_UNSIGNED__ if appropriate.
4395 config:
4396         * alpha/alpha.h (SIGNED_CHAR_SPEC): Remove.
4397         * avr/avr.h: Remove old comments.
4398         * i960/i960.h (CPP_SPEC): Pass -fsigned-char if -mic*.
4399         (CC1_SPEC): Pass -fsigned-char if -mic*.
4400         (SIGNED_CHAR_SPEC): Remove.
4401 doc:
4402         * tm.texi (SIGNED_CHAR_SPEC): Remove documentation.
4403
4404 2002-02-01  Eric Christopher  <echristo@redhat.com>
4405
4406         From Daniel Jacobowitz <dmj+@andrew.cmu.edu>
4407         * config/mips/mips.h (FUNCTION_PROFILER): Fix function profiling.
4408         * config/mips/linux.h (ASM_OUTPUT_REG_PUSH): Undefine.
4409         (ASM_OUTPUT_REG_POP): Ditto.
4410
4411 2002-02-02  Neil Booth  <neil@daikokuya.demon.co.uk>
4412
4413         * c-decl.c, tree.c, tree.h, objc/objc-act.c: Revert bitfield
4414         patch.
4415
4416 2002-02-02  Jakub Jelinek  <jakub@redhat.com>
4417
4418         * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Add missing | separators.
4419
4420 2002-02-02  Jakub Jelinek  <jakub@redhat.com>
4421
4422         PR c/5304:
4423         * expmed.c (expand_mult_highpart): Use immed_double_const for wide_op1
4424         unconditionally.
4425
4426 2002-02-01  Janis Johnson  <janis187@us.ibm.com>
4427
4428         * cfganal.c: Include tm_p.h.
4429         (keep_with_call_p): Fix the test that determines if a register holds
4430         the return value of a call.
4431
4432 2002-02-01  DJ Delorie  <dj@redhat.com>
4433
4434         * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): If
4435         we are given conflicting registers, switch to the other one we
4436         had allocated for us.
4437         * config/sparc/sparc.md (reload_indi, reload_outdi): Pass op[2]
4438         as TImode so we know when the "other" register is available.
4439
4440 2002-02-01  David O'Brien  <obrien@FreeBSD.org>
4441
4442         * config/sparc/sol2-sld-64.h: Include sparc/biarch64.h rather than
4443         sparc/sparc_bi.h.
4444
4445 2002-02-01  Janis Johnson  <janis187@us.ibm.com>
4446
4447         * cfganal.c (keep_with_call_p): New function.
4448         (flow_call_edges_add): Prevent splitting a block between a call and
4449         a single-set instruction that should be kept in the same block.
4450
4451 2002-02-01  Craig Rodrigues  <rodrigc@gcc.gnu.org>
4452
4453         * doc/install.texi (avr): Update outdated URL.
4454
4455 2002-01-30  Andrew Haley  <aph@cambridge.redhat.com>
4456
4457         * config/stormy16/stormy16.md (pushqi): New.
4458         (popqi): New.
4459         (pushhi): New.
4460         (pophi): New.
4461         (movhi): Remove stack operands.
4462         (movqi): Likewise.
4463         * config/stormy16/stormy16.h (PREDICATE_CODES): Add
4464         nonimmediate_nonstack_operand.
4465         * config/stormy16/stormy16.c (nonimmediate_nonstack_operand):
4466         New.
4467         * config/stormy16/stormy16-protos.h (nonimmediate_nonstack_operand)
4468         New.
4469
4470 2002-01-31  Jason Merrill  <jason@redhat.com>
4471
4472         * Makefile.in (c-parse.c): Handle .output file.
4473         * objc/Make-lang.in (objc-parse.c): Likewise.
4474
4475 2002-02-01  Alexandre Oliva  <aoliva@redhat.com>
4476
4477         * config/mips/mips.h (ENDIAN_SPEC): Output the endianness flag if
4478         the -me[lb] option is given.  Don't output the default flag
4479         twice.
4480
4481 2002-01-31  Zack Weinberg  <zack@codesourcery.com>
4482
4483         * c-lex.c (yyparse): Call debug_hooks->start_source_file for
4484         the primary source file; this has not been done yet.
4485         * c-decl.c (c_expand_body): Reset input_filename from
4486         DECL_SOURCE_FILE (fndecl) before calling init_function_start.
4487
4488 2002-01-31  Kazu Hirata  <kazu@hxi.com>
4489
4490         * rtlanal.c (subreg_regno_offset): Do not use
4491         SUBREG_REGNO_OFFSET.
4492         * system.h: Add SUBREG_REGNO_OFFSET to the GCC poison list.
4493         * doc/tm.texi (SUBREG_REGNO_OFFSET): Remove.
4494
4495 2002-01-31  Joseph S. Myers  <jsm28@cam.ac.uk>
4496
4497         * gccbug.in: Follow GNU Coding Standards for --version.  Use GCC
4498         version rather than GNATS version in --version output.
4499
4500 2002-01-31  Richard Sandiford  <rsandifo@redhat.com>
4501
4502         * ifcvt.c (noce_process_if_block): Make a copy of the destination
4503         when copying back from a temporary.
4504
4505 2002-01-30  Richard Henderson  <rth@redhat.com>
4506
4507         * ifcvt.c (dead_or_predicable): Handling merging when other_bb
4508         and new_dest are the same.
4509
4510 2002-01-30  Richard Henderson  <rth@redhat.com>
4511
4512         PR opt/5076
4513         * rtl.h (NOTE_INSN_LOOP_END_TOP_COND): New.
4514         * rtl.c (note_insn_name): Update.
4515         * emit-rtl.c (remove_unnecessary_notes): Kill it.
4516         * stmt.c (expand_end_loop): Kill jump opt code.  Use LOOP_END_TOP_COND
4517         to perform loop rotation.
4518         (expand_exit_loop_top_cond): New.
4519         * tree.h (expand_exit_loop_top_cond): Declare it.
4520         * c-semantics.c (genrtl_while_stmt): Use it.
4521         (genrtl_for_stmt): Likewise.
4522
4523 2002-01-30  Alexandre Oliva  <aoliva@redhat.com>
4524
4525         * config/mips/mips.h (PARM_BOUNDARY): Guarantee alignment of
4526         arguments to 64-bit boundaries on 64-bit ABIs.
4527
4528 2002-01-30  Steve Ellcey  <sje@cup.hp.com>
4529
4530         * loop.c (loop_invariant_p): Special case pic_offset_table_rtx.
4531
4532 2002-01-31  Joseph S. Myers  <jsm28@cam.ac.uk>
4533
4534         * c-decl.c (grokdeclarator): Handle type being a typedef for an
4535         invalid type.
4536
4537 2002-01-30  David O'Brien  <obrien@FreeBSD.org>
4538
4539         * config.gcc: Include sparc/biarch64.h rather than sparc/sparc_bi.h.
4540         * config/sparc/sparc_bi.h: Remove file.
4541         * config/sparc/biarch64.h: New file (rename of sparc_bi.h).
4542
4543 2002-01-30  Richard Henderson  <rth@redhat.com>
4544
4545         * sched-deps.c (sched_analyze): Make a call read the frame pointer.
4546
4547 2002-01-30  Zack Weinberg  <zack@codesourcery.com>
4548
4549         * expmed.c (emit_store_flag): Call protect_from_queue on op0 and op1.
4550
4551 2002-01-30  Jason Merrill  <jason@redhat.com>
4552
4553         * dwarf2out.c (dwarf_cfi_name): Add other DWARF 3 codes.
4554         (output_cfi): Likewise. Disable DW_CFA_GNU_negative_offset_extended.
4555         (reg_save): Use DW_CFA_offset_extended_sf instead.
4556
4557         * dwarf2out.c (dwarf2out_finish): Don't abort if there were errors.
4558
4559 2002-01-29  Jakub Jelinek  <jakub@redhat.com>
4560
4561         * cselib.c (cselib_record_sets): Use IF_THEN_ELSE result
4562         in cselib_lookup.
4563
4564 2002-01-29  Aldy Hernandez  <aldyh@redhat.com>
4565
4566         * rs6000.md ("*call_value_local32"): Remove constraints.
4567         ("*call_value_local64"): Same.
4568         ("*call_value_indirect_nonlocal_aix32"): Same.
4569         ("*call_value_nonlocal_aix32"): Same.
4570         ("*call_value_indirect_nonlocal_aix64"): Same.
4571         ("*call_value_nonlocal_aix64"): Same.
4572         ("*call_value_nonlocal_sysv"): Same.
4573
4574 2002-01-29  Richard Henderson  <rth@redhat.com>
4575
4576         * config/alpha/elf.h (SDB_DEBUGGING_INFO): Undef.
4577
4578 2002-01-29  Richard Henderson  <rth@redhat.com>
4579
4580         * expr.c (force_operand): Ignore flag_pic for detecting pic
4581         address loads.
4582         * regclass.c (init_reg_sets_1): Test fixed_regs not flag_pic
4583         for determining if PIC_OFFSET_TABLE_REGNUM is call-clobbered.
4584         * resource.c (mark_target_live_regs): Use regs_invalidated_by_call
4585         instead of open-coded loop.
4586         * doc/tm.texi (PIC_OFFSET_TABLE_REGNUM): Clarify that it must
4587         be fixed when in use.
4588
4589 2002-01-29  Richard Henderson  <rth@redhat.com>
4590
4591         * sched-int.h (struct deps_reg): Add uses_length, clobbers_length.
4592         * sched-rgn.c (propagate_deps): Update them.
4593         * sched-deps.c (sched_analyze_insn): Update them.  Flush the
4594         clobbers list when either gets too long.
4595
4596 2002-01-29  Jakub Jelinek  <jakub@redhat.com>
4597
4598         * config/i386/i386.h (LIMIT_RELOAD_CLASS): Handle LEGACY_REGS
4599         and INDEX_REGS the same as GENERAL_REGS.
4600         (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.
4601
4602 2002-01-29  Neil Booth  <neil@daikokuya.demon.co.uk>
4603
4604         * tree.c (build_nonstandard_integer_type): Correct prototype.
4605
4606 2002-01-29  Ulrich Weigand  <uweigand@de.ibm.com>
4607
4608         * config/s390/s390.md (movstrsico, movstrdix_64,
4609         movstrsix_31): Remove, replace by ...
4610         (movstrdi_short, movstrsi_short, movstrdi_long,
4611         movstrsi_long): ... these.  New.
4612         (movstrdi, movstrsi): Adapt.
4613
4614         (rotldi3, rotlsi3, ashldi3, *ashldi3_31, *ashldi3_64,
4615         ashlsi3, lshrdi3, *lshrdi3_31, *lshrdi3_64, lshrsi3):
4616         Remove unnecessary CC clobber.
4617         (*ashrdi3_cc_31, *ashrdi3_cconly_31, *ashrdi3_cc_64,
4618         *ashrdi3_cconly_64, *ashrsi3_cc, *ashrsi3_cconly): New.
4619
4620         (divmoddi4): Don't partially initialize TImode register.
4621
4622 2002-01-29  Geoffrey Keating  <geoffk@redhat.com>
4623
4624         * doc/sourcebuild.texi (C Tests): Document gcc.dg/debug directory.
4625
4626 2002-01-29  Richard Henderson  <rth@redhat.com>
4627
4628         * flow.c (print_rtl_and_abort): Remove.
4629         (print_rtl_and_abort_fcn): Remove.
4630         (verify_local_live_at_start): Use dump_bb instead.
4631         (verify_wide_reg): Likewise. Take a basic_block, not rtl endpoints.
4632         (verify_wide_reg_1): Return 2 on mode test failure.
4633
4634 2002-01-29  Neil Booth  <neil@daikokuya.demon.co.uk>
4635
4636         PR c/3325, c/3326, c/2511, c/3347
4637         * c-decl.c (enum_decl_context): Remove BITFIELD.
4638         (grokdeclarator): Take bitfield width as an input.
4639         Ensure bitfields are given the correct type.  Perform
4640         bitfield width validation with build_bitfield_integer_type
4641         rather than waiting for finish_struct.
4642         (grok_typename, grok_typename_in_parm_context, start_decl,
4643         push_parmdecl, grokfield, start_function): Update calls to
4644         grokdeclarator.
4645         (build_bitfield_integer_type): New function.
4646         (finish_struct): Move bitfield validation to grokdeclarator
4647         and build_bitfield_integer_type.
4648         * tree.c (build_nonstandard_integer_type): New function.
4649         * tree.h (build_nonstandard_integer_type): New prototype.
4650 objc:
4651         * objc-act.c (objc_copy_list): Remove DECL_INITIAL kludge.
4652
4653 2002-01-29  Jakub Jelinek  <jakub@redhat.com>
4654
4655         PR other/1502:
4656         * cppinit.c (cpp_handle_option): Add ignore argument, if it is zero,
4657         don't ignore unrecognized -W* options.
4658         (cpp_handle_options): Pass 1 as last argument to cpp_handle_option.
4659         * cpplib.h (cpp_handle_option): Adjust prototype.
4660         * c-decl.c (c_decode_options): Pass 0 as last argument to
4661         cpp_handle_option.
4662
4663         PR c/2896:
4664         * gcc.c (cpp_unique_options): Split from cpp_options.
4665         (cpp_options): Source cpp_unique_options.
4666         (default_compilers): Use cpp_unique_options instead of cpp_options
4667         when used together with cc1_options.
4668         (static_specs): Add cpp_unique_options.
4669         * objc/lang-specs.h: Use cpp_unique_options instead of cpp_options
4670         when used together with cc1_options.
4671
4672 2002-01-29  Kazu Hirata  <kazu@hxi.com>
4673
4674         * config/h8300/h8300-protos.h: Update the prototype of
4675         output_a_shift.
4676         * config/h8300/h8300.c (output_a_shift): Remove an unused
4677         argument 'insn'.  Remove redundant code.
4678         * config/h8300/h8300.md: Adust to the new prototype of
4679         output_a_shift.
4680
4681 2002-01-29  Kazu Hirata  <kazu@hxi.com>
4682
4683         * config/h8300/h8300-protos.h: Update the prototypes of
4684         emit_a_rotate and expand_a_rotate.
4685         * config/h8300/h8300.c (emit_a_rotate): Change the type of the
4686         first argument to 'enum rtx_code'.
4687         (expand_a_rotate): Likewise.
4688
4689 2002-01-28  Kazu Hirata  <kazu@hxi.com>
4690
4691         * config/h8300/h8300-protos.h: Update the prototype of
4692         output_simode_bld.
4693         * config/h8300/h8300.c (output_simode_bld): Remove an argumen
4694         'log2'.
4695         * config/h8300/h8300.md: Adjust to the new prototype.
4696
4697 2002-01-28  Kazu Hirata  <kazu@hxi.com>
4698
4699         * conifg/h8300/h8300.c (h8300_adjust_insn_length): Remove
4700         redundant code.
4701
4702 2002-01-28  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4703
4704         * emit-rtl.c (gen_rtx_REG): Check that the PIC_OFFSET_TABLE_REGNUM
4705         is a fixed register before returning pic_offset_table_rtx.
4706         * loop.c (scan_loop): Don't hoist insns that set pic_offset_table_rtx
4707         when PIC_OFFSET_TABLE_REG_CALL_CLOBBERED is defined.
4708
4709 2002-01-28  Jason Merrill  <jason@redhat.com>
4710
4711         * dwarf2.h: Sync with src version.
4712
4713 2002-01-28  Paul Koning  <pkoning@equallogic.com>
4714
4715         * builtin-types.def (BT_FN_VOID_CONST_PTR_VAR): Replace
4716         BT_FN_VOID_PTR_VAR.
4717         * builtins.def (BUILT_IN_PREFETCH): Change first argument to be const.
4718         * doc/extend.texi (__builtin_prefetch): Update documentation:
4719         first argument is now const void ptr.
4720
4721 2002-01-28  Kazu Hirata  <kazu@hxi.com>
4722
4723         * config/h8300/h8300-protos.h: Remove an unused prototype.
4724
4725 2002-01-28  Roman Zippel  <zippel@linux-m68k.org>
4726
4727         * toplev.c (lang_independent_init): Round up identifier size.
4728
4729 2002-01-28  Richard Earnshaw  <rearnsha@arm.com>
4730
4731         * config.gcc: Revert previous change.
4732
4733 2002-01-28  Andris Pavenis  <pavenis@latnet.lv>
4734
4735         * config/i386/djgpp.h: Use STRIP_NAME_ENCODING in macro UNIQUE_SECTION
4736
4737 2002-01-28  Richard Earnshaw  <rearnsha@arm.com>
4738
4739         * config.gcc (*-*-netbsdelf*): Set up generic parameters.
4740         (*-*-netbsd*): Always use collect2.  Remove collect2 settings from
4741         other non-elf netbsd config frags.
4742         * config/netbsd-aout.h (STARTFILE_SPEC): Don't pull in c++rt0 since
4743         collect2 will does that.
4744         * config/netbsd.h (LIBGCC_SPEC): Add white space before -lgcc, so that
4745         shared-lib frobbing will work.
4746
4747 2002-01-28  Kazu Hirata  <kazu@hxi.com>
4748
4749         * config/h8300/h8300.h: Fix formatting.
4750         * config/h8300/h8300.md: Likewise.
4751
4752 2002-01-28  Loren J. Rittle  <ljrittle@acm.org>
4753
4754         * fixinc/inclhack.def (strict_ansi_not): Add a bypass based on
4755         the old, removed AAA_standards fix.
4756         * fixinc/fixincl.x: Rebuilt.
4757
4758 2002-01-28  Hans-Peter Nilsson  <hp@axis.com>
4759
4760         * config/cris/cris.h (CRT_CALL_STATIC_FUNCTION): Change to emit
4761         atexit call in crtbegin, hooked in after call to frame_dummy;
4762         register EH before registering __fini__start.
4763
4764 2002-01-28  Aldy Hernandez  <aldyh@redhat.com>
4765
4766         * config/rs6000/altivec.h: Remove spurious semicolons.
4767
4768 2002-01-27  Kazu Hirata  <kazu@hxi.com>
4769
4770         * config/h8300/h8300.md: Replace dead bit extraction patterns
4771         with ones that work.
4772
4773 Sun Jan 27 13:23:40 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4774
4775         * emit-rtl.c (get_mem_attrs): Don't default alignment for non-BLKmode
4776         if not STRICT_ALIGNMENT.
4777         * rtl.h (MEM_ALIGN): Likewise.
4778
4779 2002-01-27  Craig Rodrigues  <rodrigc@gcc.gnu.org>
4780
4781         * doc/invoke.texi (-fdump-translation-unit): Revert this
4782         patch: 2001-10-21  Craig Rodrigues  <rodrigc@gcc.gnu.org>
4783
4784 2002-01-27  Kazu Hirata  <kazu@hxi.com>
4785
4786         * config/h8300/h8300.md (define_constants): New.
4787         (anonymous patterns) Use defined constants appropriately.
4788
4789 2002-01-27  Kazu Hirata  <kazu@hxi.com>
4790
4791         * config/h8300/h8300.c (function_arg): Remove redundant code.
4792
4793 2002-01-26  Richard Henderson  <rth@redhat.com>
4794
4795         * sched-deps.c (reg_pending_uses_head): New.
4796         (reg_pending_barrier): Rename from reg_pending_sets_all.
4797         (find_insn_list): Don't mark inline.
4798         (find_insn_mem_list): Remove.
4799         (add_dependence_list, add_dependence_list_and_free): New.
4800         (flush_pending_lists): Replace only_write param with separate
4801         for_read and for_write parameters.  Update all callers.  Use
4802         add_dependence_list_and_free.
4803         (sched_analyze_1): Do not add reg dependencies here; just set
4804         the pending bits.  Use add_dependence_list.
4805         (sched_analyze_2): Likewise.
4806         (sched_analyze_insn): Replace schedule_barrier_found with
4807         reg_pending_barrier.  Add all dependencies for pending reg
4808         uses, sets, and clobbers.
4809         (sched_analyze): Don't add reg dependencies for calls, just
4810         set pending bits.  Use regs_invalidated_by_call.  Treat
4811         sched_before_next_call as a normal list, not a fake insn.
4812         (init_deps): No funny init for sched_before_next_call.
4813         (free_deps): Free pending mems lists.  Don't zero reg_last.
4814         (init_deps_global): Init reg_pending_uses.
4815         (finish_deps_global): Free it.
4816         * sched-int.h (deps): Make in_post_call_group_p boolean.  Update docs.
4817         (find_insn_mem_list): Remove.
4818         * sched-rgn.c (concat_INSN_LIST, concat_insn_mem_list): New.
4819         (propagate_deps): Use them.  Zero temp mem lists.
4820
4821 2002-01-26  Richard Henderson  <rth@redhat.com>
4822
4823         * Makefile.in (CRTSTUFF_CFLAGS): New.
4824         (crtbegin.o, crtend.o, crtbeginS.o, crtendS.o, crtbeginT.o): Use it.
4825         * config.gcc (alpha-linux, alpha-freebsd, alpha-netbsd): Use plain
4826         crtstuff.c instead of alpha assembly version.
4827         * crtstuff.c (CRT_CALL_STATIC_FUNCTION): Rewrite to assume the
4828         entire dummy function sequence.  Use FORCE_CODE_SECTION_ALIGN
4829         not FORCE_{INIT,FINI}_SECTION_ALIGN.
4830         (__do_global_dtors_aux): Mark used.
4831         (frame_dummy, __do_global_ctors_aux): Mark used.
4832         (fini_dummy, init_dummy): Remove.
4833
4834         * config/alpha/crtbegin.asm: Remove file.
4835         * config/alpha/crtend.asm: Remove file.
4836         * config/alpha/t-crtbe: Remove file.
4837         * config/alpha/elf.h (CRT_CALL_STATIC_FUNCTION): New.
4838         (LINK_EH_SPEC): New.
4839
4840         * config/cris/cris.h (CRT_CALL_STATIC_FUNCTION): Rewrite old
4841         FORCE_INIT_SECTION_ALIGN hack.  Register __fini_start before
4842         calling constructors.
4843         * config/cris/linux.h (CRT_CALL_STATIC_FUNCTION): Undef.
4844
4845         * config/i386/i386.h (CRT_CALL_STATIC_FUNCTION): New.
4846         * config/i386/linux.h (CRT_CALL_STATIC_FUNCTION): Replace old
4847         CRT_END_INIT_DUMMY hack.
4848         * config/i386/sol2.h (FORCE_CODE_SECTION_ALIGN): Replace
4849         FORCE_{INIT,FINI}_SECTION_ALIGN.
4850
4851         * config/mcore/mcore-elf.h (FORCE_CODE_SECTION_ALIGN): Replace
4852         FORCE_{INIT,FINI}_SECTION_ALIGN.
4853
4854         * config/s390/s390.h (CRT_CALL_STATIC_FUNCTION): Update for new
4855         invocation sequence.
4856         * config/sh/sh.h (CRT_CALL_STATIC_FUNCTION): Likewise.
4857
4858         * doc/tm.texi (CRT_CALL_STATIC_FUNCTION): Update.
4859         (FORCE_CODE_SECTION_ALIGN): New.
4860
4861 2002-01-26  Richard Henderson  <rth@redhat.com>
4862
4863         * config/cris/cris.c (cris_print_operand): Handle 64-bit CONST_INT.
4864
4865 2002-01-26  Richard Henderson  <rth@redhat.com>
4866
4867         * config/alpha/alpha.c (alpha_sa_mask): Mark RA for unicos here too.
4868         (alpha_sa_size): Use alpha_sa_mask to compute size of saved regs.
4869
4870 2002-01-26  Kazu Hirata  <kazu@hxi.com>
4871
4872         * config/h8300/h8300.md: Remove bit extraction patterns that
4873         cannot be triggered.
4874         Restrict each bit extraction pattern to a variant on which the
4875         pattern is tested.
4876
4877 2002-01-26  Joseph S. Myers  <jsm28@cam.ac.uk>
4878
4879         * doc/include/texinfo.tex: Update to version 2002-01-04.07.
4880
4881 2002-01-26  Kazu Hirata  <kazu@hxi.com>
4882
4883         * config/h8300/h8300.md: Remove bit test patterns that cannot
4884         be triggered.
4885         Restrict each bit test pattern to a variant on which the
4886         pattern is tested.
4887
4888 2002-01-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4889
4890         * builtins.c (expand_builtin_strncat): Remove redundant check for
4891         INTEGER_CST.
4892
4893 2002-01-25  David O'Brien  <obrien@FreeBSD.org>
4894
4895         * config/i386/x86-64.h (DEFAULT_PCC_STRUCT_RETURN): Do not overide
4896         default setting.
4897         * config/i386/freebsd64.h (DEFAULT_PCC_STRUCT_RETURN): Do not override
4898         existing setting.
4899
4900 2002-01-25  Geoffrey Keating  <geoffk@redhat.com>
4901
4902         * dbxout.c (dbxout_init): Use assemble_name rather than just
4903         stripping off the first character.
4904         (dbxout_source_file): Likewise.
4905
4906 2002-01-25  DJ Delorie  <dj@redhat.com>
4907
4908         * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): Compare
4909         using rtx_equal_p, not by comparing pointers.
4910
4911 2002-01-25  Steve Ellcey  <sje@cup.hp.com>
4912
4913         * emit-rtl.c (gen_rtx_REG): Always return the same rtx
4914         for PIC_OFFSET_TABLE_REGNUM.
4915         (init_emit_once): Use gen_raw_REG to initialize pic_offset_table_rtx.
4916
4917 2002-01-25  David O'Brien  <obrien@FreeBSD.org>
4918
4919         * config.gcc (x86_64-*-freebsd*): New target.
4920         (x86_64-*-netbsd*,x86_64-*-linux*): Use ${tm_file} rather than its
4921         value.
4922         (i[34567]86-*-freebsd*): Don't include svr4.h.
4923         * config/i386/freebsd64.h: New file.
4924
4925 2002-01-25  Douglas B Rupp  <rupp@gnat.com>
4926
4927         * config/alpha/x-vms (version): Make static.
4928
4929         * config/alpha/vms.h (MD_FALLBACK_FRAME_STATE_FOR): Fix error
4930         in previous checkin.
4931
4932         * Makefile.in (install-headers-cp): New target.
4933         * config.gcc (alpha-dec-*vms*): Install headers with
4934         install-headers-cp
4935
4936 Fri Jan 25 22:42:49 CET 2002  Jan Hubicka  <jh@suse.cz>
4937
4938         * unroll.c (unroll_loop): Lower final_value to nonmemory operand;
4939         avoid it's copies.
4940
4941 Fri Jan 25 08:26:19 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4942
4943         * builtins.c (expand_builtin_strncpy): Use integer_zerop instead
4944         of compare_tree_int.
4945         (expand_builtin_strncat): Likewise.
4946         * c-decl.c (finish_struct): Use tree_low_cst.
4947         * tree.h (compare_tree_int): Arg is unsigned HOST_WIDE_INT.
4948         * tree.c (compare_tree_int): Likewise.
4949
4950 2002-01-25  Ulrich Weigand  <uweigand@de.ibm.com>
4951
4952         * reload1.c (eliminate_regs_in_insn): Recognize frame pointer
4953         adjustments even if they are implemented by more than two insns.
4954
4955 Fri Jan 25 20:43:56 CET 2002  Jan Hubicka  <jh@suse.cz>
4956
4957         * df.c (df_ref_create, df_ref_record_1, df_ref_record): Kill BB arg.
4958         * df.h (struct ref): Kill B.
4959         (DF_REF_BB, DF_REF_BBNO): Use BLOCK_FOR_INSN.
4960
4961         * basic-block.h (PROP_EQUAL_NOTES): New flag.
4962         * flow.c (propagate_one_insn): Use it.
4963         (mark_used_regs): Handle NIL.
4964
4965 2002-01-25  Geoffrey Keating  <geoffk@redhat.com>
4966
4967         * config/stormy16/stormy16.md (tablejump_pcrel): Use a MEM
4968         to help folding.
4969
4970 2002-01-25  David Edelsohn  <edelsohn@gnu.org>
4971
4972         * rs6000.md (prefetch): Make address V4SI mode so that the address
4973         is restricted to legitimate form for instruction.
4974
4975 2002-01-25  Bob Wilson  <bob.wilson@acm.org>
4976
4977         * doc/install.texi (xtensa-*-elf): New target.
4978         (xtensa-*-linux*): New target.
4979         * doc/contrib.texi: Add myself.
4980
4981 2002-01-25  Nick Clifton  <nickc@cambridge.redhat.com>
4982
4983         * config/arm/arm.c (arm_hard_regno_mode_ok): Allow any general
4984         purpose register to hold an SImode (or smaller) value.
4985
4986 2002-01-25  Jakub Jelinek  <jakub@redhat.com>
4987
4988         * unwind-dw2-fde-glibc.c: If inhibit_libc, use __register_frame*
4989         registry only.
4990         * crtstuff.c: Likewise.
4991
4992 2002-01-25  Kazu Hirata  <kazu@hxi.com>
4993
4994         * config/h8300/h8300.md (negation patterns): Tighten
4995         predicates to register_operand.
4996
4997 2002-01-24  Aldy Hernandez  <aldyh@redhat.com>
4998
4999         * loop.c (emit_prefetch_instructions): Use the prefetch insn's
5000         mode, not Pmode.
5001
5002         * builtins.c (expand_builtin_prefetch): Same.
5003
5004 2002-01-24  Alexandre Oliva  <aoliva@redhat.com>
5005
5006         * config/sh/sh.md (sym_label2reg): Make sure all CONSTs have
5007         modes.
5008
5009 2002-01-24  Kazu Hirata  <kazu@hxi.com>
5010
5011         * config/h8300/h8300.c (print_operand): Remove support for
5012         operand character 'A'.
5013         * config/h8300/h8300.md (three anonymous patterns): Replace
5014         operand character 'A' with either 'T' or 'S'.
5015
5016 2002-01-24  Kazu Hirata  <kazu@hxi.com>
5017
5018         * config/h8300/h8300.c (print_operand): Remove support for
5019         operand character 'U'.
5020
5021 2002-01-24  Andris Pavenis  <pavenis@latnet.lv>
5022
5023         * config/i386/t-djgpp: Use NATIVE_SYSTEM_HEADER_DIR.
5024
5025 2002-01-24  Nick Clifton  <nickc@cambridge.redhat.com>
5026
5027         * config/arm/arm.c (arm_hard_regno_mode_ok): Allow SImode
5028         values to be assigned to the stack pointer.
5029
5030 2002-01-14  Hartmut Penner  <hpenner@de.ibm.com>
5031
5032         * emit_rtl.c (gen_lowpart_common): Conversion from const_int
5033         to const_double needs to be done right for big-endian systems.
5034
5035 2002-01-24  Jason Merrill  <jason@redhat.com>
5036
5037         PR c++/2432
5038         * config/sparc/sparc.md (call-jump peepholes): Pass the right insn
5039         to can_throw_internal.
5040
5041 2002-01-23  Richard Henderson  <rth@redhat.com>
5042
5043         * fold-const.c (fold): Change UINT_MAX test to check vs precision
5044         rather than TYPE_MAX_VALUE.  Fix indentation and a bogus negation.
5045
5046 2002-01-24  Alexandre Oliva  <aoliva@redhat.com>
5047
5048         * config/sh/sh.md (symGOT_load, sym2GOT, sym2GOTOFF): New expands.
5049         (symGOT2reg): Use them, then set as GOT value as unchanging.
5050         (symGOTOFF2reg): Set REG_EQUAL note.  Use a different pseudo
5051         as a temporary, if possible.
5052         (symPLT_label2reg): Enclose (pc) in UNSPEC_PIC.  Emit
5053         sym@PLT-(.LPCS#+2-.) instead of sym@PLT+.-(.LPCS#+2).
5054
5055 2002-01-23  Kazu Hirata  <kazu@hxi.com>
5056
5057         * config/h8300/h8300.md: Fix xorqi and xorqi so that they will
5058         accept to accept 0x80 as operands[2].
5059
5060 2002-01-24  Alexandre Oliva  <aoliva@redhat.com>
5061
5062         * config/sparc/sparc.md (fix_trunctfdi2): Correct typo in mode.
5063
5064 2002-01-23  Richard Henderson  <rth@redhat.com>
5065
5066         * config/alpha/alpha.md (call_value_osf_1_er peepholes): Fix typo.
5067
5068 2002-01-23  Aldy Hernandez  <aldyh@redhat.com>
5069
5070         * c-parse.in (parmlist_or_identifiers): Add maybe_attribute.
5071         (parmlist_or_identifiers_1): Verify that only a parmlist follows
5072         an attribute.
5073
5074 2002-01-23  Richard Henderson  <rth@redhat.com>
5075
5076         * expr.c (move_by_pieces_1): Extend size before negation.
5077
5078         * config/m68k/t-m68kbare (MULTILIB_OPTIONS): Add 68040 and 68060.
5079         (MULTILIB_MATCHES): Remove 68040 and 68060 aliases.
5080         (MULTILIB_EXCEPTIONS): Ignore 68881 and soft-float for 68040 and 68060.
5081         * config/m68k/t-m68kelf: Likewise.
5082
5083 2002-01-23  Bob Wilson  <bob.wilson@acm.org>
5084
5085         * config/xtensa/elf.h: New file.
5086         * config/xtensa/lib1funcs.asm: New file.
5087         * config/xtensa/lib2funcs.S: New file.
5088         * config/xtensa/linux.h: New file.
5089         * config/xtensa/t-xtensa: New file.
5090         * config/xtensa/xtensa-config.h: New file.
5091         * config/xtensa/xtensa-protos.h: New file.
5092         * config/xtensa/xtensa.c: New file.
5093         * config/xtensa/xtensa.h: New file.
5094         * config/xtensa/xtensa.md: New file.
5095         * config.gcc (xtensa-*-elf*): New target.
5096         (xtensa-*-linux*): New target.
5097         * cse.c (canon_hash): Compare rtx pointers instead of register
5098         numbers.  This is required for the Xtensa port.
5099         * integrate.c (copy_insn_list): Handle case where the static
5100         chain is in memory and the memory address has to be copied to
5101         a register.
5102         * doc/invoke.texi (Option Summary): Add Xtensa options.
5103         (Xtensa Options): New node.
5104         * doc/md.texi (Machine Constraints): Add Xtensa machine constraints.
5105
5106 2002-01-23  Zack Weinberg  <zack@codesourcery.com>
5107
5108         * diagnostic.c (internal_error): Do ICE suppression only
5109         when ENABLE_CHECKING is not defined.
5110
5111         * c-typeck.c (require_complete_type): Return error_mark_node
5112         if type is error_mark_node.
5113
5114 2002-01-23  Janis Johnson  <janis187@us.ibm.com>
5115
5116         * toplev.c (process_options): Disable -fprefetch-loop-arrays with
5117         -Os and issue a warning.
5118
5119 2002-01-23  Zack Weinberg  <zack@codesourcery.com>
5120
5121         * doc/fragments.texi, doc/hostconfig.texi: Update to reflect
5122         current (lack of) need for host configuration by hand.
5123
5124         * doc/gccint.texi, doc/rtl.texi, doc/tm.texi: Adjust cross
5125         references.  Documentation of some target macros moved from
5126         hostconfig.texi to tm.texi.
5127
5128 2002-01-23  Will Cohen  <wcohen@redhat.com>
5129
5130         * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Define if not currently
5131         defined.
5132
5133 2002-01-23  Kazu Hirata  <kazu@hxi.com>
5134
5135         * config/h8300/h8300.md (*andorhi3): Accept 0x8000 as an
5136         operand[3].
5137
5138 2002-01-23  Jason Merrill  <jason@redhat.com>
5139
5140         * tree.c (build1): Don't set TREE_READONLY on INDIRECT_REF.
5141
5142         * function.c (assign_parms): Don't put args of inline functions
5143         into registers when not optimizing.
5144
5145 2002-01-23  Nick Clifton  <nickc@cambridge.redhat.com>
5146
5147         * config/arm/arm.md (UNSPEC_PROLOGUE_USE): New unspec constant.
5148         (prologue_use): New pattern.
5149         * config/arm/arm.c (expand_prologue): Use gen_prologue_use in
5150         preference to gen_rtx_USE.
5151         (thumb_expand_prologue): Use gen_prologue_use in preference to
5152         gen_rtx_USE.
5153         (thumb_expand_epilogue): Use gen_prologue_use in preference to
5154         gen_rtx_USE.
5155
5156 2002-01-23  Hans-Peter Nilsson  <hp@bitrange.com>
5157
5158         * loop.c [!HAVE_prefetch] (CODE_FOR_prefetch): Define to 0.
5159
5160 2002-01-23  Neil Booth  <neil@daikokuya.demon.co.uk>
5161
5162         PR c/3504
5163         * doc/extend.texi: Correct documentation of __alignof__.
5164
5165 2002-01-22  Zack Weinberg  <zack@codesourcery.com>
5166
5167         * params.h: Rename arguments of DEFPARAM so that it will be
5168         recognized as a translation keyword.
5169
5170 2002-01-22  Aldy Hernandez  <aldyh@redhat.com>
5171
5172         * extend.texi: Document altivec functions.
5173         Fix N-bit adjectives in X86 builtin documentation.
5174
5175 2002-01-22  Alexandre Oliva  <aoliva@redhat.com>
5176
5177         * reload.c (reg_overlap_mentioned_for_reload_p): Handle PLUS and
5178         auto_inc_dec values.
5179
5180 2002-01-22  Richard Earnshaw  <rearnsha@arm.com>
5181
5182         * config/netbsd-aout.h (SWITCH_TAKES_ARG): Remove bogus white space
5183         after backslash.
5184         (ASM_DECLARE_OBJECT_NAME): Add missing backslash before final line.
5185
5186 2002-01-22  Alexandre Oliva  <aoliva@redhat.com>
5187
5188         * config/i386/freebsd-aout.h (ASM_QUAD): Undefine.
5189
5190 2002-01-22  Richard Henderson  <rth@redhat.com>
5191
5192         * config/alpha/alpha.c (split_small_symbolic_mem_operand): Use
5193         copy_insn not copy_rtx.
5194
5195 2002-01-23  Alan Modra  <amodra@bigpond.net.au>
5196
5197         * combine.c (simplify_and_const_int): Don't trunc_int_for_mode
5198         "nonzero" as that might add "1" bits.  Ensure "constop" is
5199         properly sign extened.
5200         (force_to_mode): Tweak for sign extended constop.
5201
5202 2002-01-22  Richard Henderson  <rth@redhat.com>
5203
5204         * config/alpha/alpha.c (some_small_symbolic_mem_operand) Use
5205         for_each_rtx instead of assuming we're already looking at the MEM.
5206         (split_small_symbolic_mem_operand): Likewise.
5207         * config/alpha/alpha.h (PREDICATE_CODES): Update.
5208         * config/alpha/alpha.md (small symbolic memory splitters): Update.
5209
5210 2002-01-22  Richard Henderson  <rth@redhat.com>
5211
5212         * config/alpha/alpha.md (divmodsi_internal_er): Generate lituse
5213         sequence number for the literal.
5214         (divmoddi_internal_er): Likewise.
5215
5216 2002-01-22  Craig Rodrigues  <rodrigc@gcc.gnu.org>
5217
5218         PR java/4972
5219         * aclocal.m4 (AM_ICONV): Put linking flags for libiconv
5220         in LIBICONV variable.
5221         * configure: Regenerated.
5222
5223 2002-01-22  Krister Walfridsson  <cato@df.lth.se>
5224
5225         * dependence.c (build_def_use): Remove array_idx.
5226
5227         * dwarfout.c (last_filename): Remove.
5228         (output_compile_unit_die): Remove last_filename.
5229
5230 2002-01-22  Roger Sayle  <roger@eyesopen.com>
5231             Richard Henderson  <rth@redhat.com>
5232
5233         PR opt/3640
5234         * fold-const.c (fold): Optimize unsigned comparisons against
5235         UINT_MAX (and similar unsigned constants).
5236
5237 2002-01-22  Janis Johnson  <janis187@us.ibm.com>
5238
5239         * Makefile.in (loop.o): Depend on OPTABS_H.
5240         * loop.c (emit_prefetch_instructions): Check the prefetch operand
5241         against the predicate.
5242
5243         PR target/5379
5244         * config/i386/i386.md (prefetch_sse): Specify "p" as a constraint
5245         for the address operand.
5246
5247 2002-01-22  Richard Henderson  <rth@redhat.com>
5248
5249         * config/alpha/freebsd.h (FUNCTION_PROFILER): Remove.
5250
5251 2002-01-22  Craig Rodrigues  <rodrigc@gcc.gnu.org>
5252
5253         PR other/5450
5254         * config/i386/sysv4.h (CPP_SPEC): Define, and add CPU
5255         preprocessor flags.
5256
5257 2002-01-22  Jason Thorpe  <thorpej@wasabisystems.com>
5258
5259         * config.gcc (x86_64-*-netbsd*): New target.
5260         * config/i386/netbsd64.h: New file.
5261
5262 2002-01-22  Aldy Hernandez  <aldyh@redhat.com>
5263
5264         * regrename.c (kill_value): Fix typo.
5265
5266 2002-01-22  Aldy Hernandez  <aldyh@redhat.com>
5267
5268         * doc/tm.texi: Remove STARTING_FRAME_PHASE.
5269
5270         * config/rs6000/rs6000.h: Same.
5271
5272         * function.c (instantiate_virtual_regs): Remove
5273         STARTING_FRAME_PHASE.
5274         (assign_stack_local_1): Same.
5275         Calculate frame phase.
5276
5277 2002-01-22  Nick Clifton  <nickc@redhat.com>
5278
5279         * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Move 'regno'
5280         variable declaration to outer scope in order to simplify
5281         future extensions.
5282         (HARD_REGNO_MODE_OK): Replace macro body with a with a call to
5283         arm_hard_regno_mode_ok.
5284         * config/arm/arm-protos.h: Add a prototype for
5285         arm_hard_regno_mode_ok.
5286         * config/arm/arm.c (soft_df_operand): Remove now redundant
5287         check for DImode values using IP_REGNUM.
5288         (nonimmediate_soft_df_operand): Remove now redundant check for
5289         DImode values using IP_REGNUM.
5290         (arm_hard_regno_mode_ok): New function. New check: make sure
5291         that DImode values are not stored in IP_REGNUM.
5292
5293         * config/arm/arm.c (arm_expand_prologue): Replace REG_MAYBE_DEAD
5294         note with a USE.
5295         (thumb_expand_prologue): Replace REG_MAYBE_DEAD note with a USE.
5296
5297 2002-01-22  Jason Merrill  <jason@redhat.com>
5298
5299         * c-semantics.c (genrtl_compound_stmt): Only check nesting
5300         consistency if this COMPOUND_STMT is scoped.
5301
5302 2002-01-22  Kazu Hirata  <kazu@hxi.com>
5303
5304         * predict.c: Fix formatting.
5305         * print-tree.c: Likewise.
5306         * protoize.c: Likewise.
5307         * real.h: Likewise.
5308         * rtl.h: Likewise.
5309         * sbitmap.h: Likewise.
5310         * scan.c: Likewise.
5311         * sched-deps.c: Likewise.
5312         * sched-vis.c: Likewise.
5313         * sdbout.c: Likewise.
5314         * sibcall.c: Likewise.
5315         * ssa.c: Likewise.
5316         * ssa-ccp.c: Likewise.
5317         * ssa-dce.c: Likewise.
5318         * stmt.c: Likewise.
5319         * stor-layout.c: Likewise.
5320         * system.h: Likewise.
5321
5322 Tue Jan 22 06:26:33 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5323
5324         * tree.c (int_fits_type_p): If bounds of a subtype are variable, see
5325         if fits in bounds of base type.
5326
5327         * dwarf2out.c (equate_decl_number_to_die): Add "int" to decls.
5328         (loc_descriptor_from_tree, case CALL_EXPR, case ADDR_EXPR): New.
5329         (add_bound_info, default): If can't find a context, make a
5330         SAVE_EXPR.
5331         (dwarf2out_finish): Check for SAVE_EXPR in node->created_for.
5332
5333 2002-01-22  Hans-Peter Nilsson  <hp@axis.com>
5334
5335         * c-typeck.c (parser_build_binary_op): If result from
5336         build_binary_op is ERROR_MARK just return error_mark_node without
5337         further processing.
5338
5339 2002-01-21  Jason Thorpe  <thorpej@wasabisystems.com>
5340
5341         * config/netbsd.h (TARGET_HAS_F_SETLKW): define.
5342         Split a.out-specific bits into...
5343         * config/netbsd-aout.h: ...this.
5344         * config/netbsd-elf.h: New file.
5345         * config/alpha/netbsd-elf.h: Remove.
5346         * config/alpha/netbsd.h: Rewrite for a NetBSD/alpha ELF target.
5347         * config/i386/netbsd-elf.h (LIB_SPEC): Remove.
5348         (STARTFILE_SPEC): Remove redundant definition.
5349         (ENDFILE_SPEC): Likewise.
5350         (LINK_SPEC): Likewise.
5351         (CPP_SPEC): Likewise.
5352         (ASM_SPEC): Likewise.
5353         (LIB_SPEC): Likewise.
5354         (SWITCH_TAKES_ARG): Likewise.
5355         (TARGET_MEM_FUNCTIONS): Likewise.
5356         (CPP_PREDEFINES): Redefine.
5357         (ASM_FINAL_SPEC): Remove redefinition.
5358         (ASM_COMMENT_START): Redefine.
5359         (FUNCTION_PROFILER): Define.
5360         (TARGET_VERSION): Redefine.
5361         Comment and formatting cleanup.
5362         * config/i386/netbsd.h: Include <netbsd-aout.h>.
5363         * config/m68k/netbsd.h: Include <netbsd-aout.h>.
5364         * config/mips/netbsd.h: Rewrite for NetBSD/mips ELF target,
5365         big- or little-endian.
5366         * config/ns32k/netbsd.h: Include <netbsd-aout.h>.
5367         * config.gcc (*-*-netbsd*): Add definitions common to all
5368         NetBSD configs.
5369         (alpha*-*-netbsd*): Remove redundant xm_defines, gas, and
5370         gnu_ld definitions.  Add netbsd-elf.h to and remove
5371         alpha/netbsd-elf.h from tm_file.  Remove alpha/t-crtfm from
5372         tmake_file, and don't lose previous tmake_file contents.
5373         (arm*-*-netbsd*): Add netbsd-aout.h to tm_file.
5374         (i[34567]86-*-netbsdelf*): Remove redundant xm_defines, gas, and
5375         gnu_ld definitions.  Add netbsd-elf.h to tm_file.
5376         (mips-dec-netbsd*): Remove as alias for mipsel-*-netbsd*.
5377         (mipsel-*-netbsd*): Rename this to...
5378         (mips*-*-netbsd*): ...this.  Add elfos.h to tm_file.  Add
5379         mips/little.h to tm_file for mips*el-*.
5380         (powerpc-*-netbsd*): Remove redundant xm_defines definition.
5381         (sparc-*-netbsd*): Add netbsd-aout.h to tm_file.
5382         (vax-*-netbsd*): Add netbsd-aout.h to tm_file.
5383
5384 2002-01-21  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5385
5386         * pa-protos.h (reg_before_reload_operand): New function prototype.
5387         * pa.c (reg_before_reload_operand): New function implementation.
5388         * pa.md (decrement_and_branch_until_zero, movb): Use it.  Change "!*m"
5389         contraints to "*m".
5390
5391 2002-01-21  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
5392
5393         * combine.c (simplify_and_const_int): Properly sign-extend CONSTOP.
5394
5395 2002-01-21  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5396
5397         * pa64-hpux.h (MD_EXEC_PREFIX): Set to "/usr/ccs/bin".
5398         (MD_STARTFILE_PREFIX): Set to "/usr/ccs/lib/pa20_64/".
5399         (MD_STARTFILE_PREFIX_1): Set to "/opt/langtools/lib/pa20_64/".
5400         (EH_FRAME_IN_DATA_SECTION): Define and update comment on init sections.
5401         (ENDFILE_SPEC): Undefine.
5402         (STARTFILE_SPEC): Redefine for PA.
5403
5404 2002-01-21  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
5405
5406         * config/rs6000/t-ppccomm (CRTSTUFF_T_CFLAGS_S): Re-add -fPIC.
5407
5408 2002-01-21  Daniel Jacobowitz  <drow@mvista.com>
5409
5410         * config.gcc: Add entries to supported PowerPC --with-cpu
5411         types.
5412
5413 2002-01-21  Jakub Jelinek  <jakub@redhat.com>
5414
5415         * config/i386/i386.c (ix86_function_arg_regno_p): Never return
5416         true for 64-bit mode only SSE registers in 32-bit mode.
5417
5418 2002-01-21  Kazu Hirata  <kazu@hxi.com>
5419
5420         * unwind-dw2.c: Fix formatting.
5421         * unwind-dw2-fde.c: Likewise.
5422         * unwind-dw2-fde.h: Likewise.
5423         * unwind-pe.h: Likewise.
5424         * varasm.c: Likewise.
5425         * varray.h: Likewise.
5426
5427 2002-01-21  Hans-Peter Nilsson  <hp@bitrange.com>
5428
5429         Remove workaround for register stack overwrite bug in mmix.
5430         * config/mmix/mmix.c (mmix_target_asm_function_prologue): Remove
5431         support for TARGET_REG_STACK_FILL_BUG.
5432         * config/mmix/mmix.h: Remove member has_call_without_parameters.
5433         (TARGET_MASK_REG_STACK_FILL_BUG, TARGET_REG_STACK_FILL_BUG):
5434         Delete.
5435         (TARGET_DEFAULT): Remove TARGET_MASK_REG_STACK_FILL_BUG.
5436         (TARGET_SWITCHES): Remove -mreg-stack-fill-bug-workaround and
5437         -mno-reg-stack-fill-bug-workaround.
5438         * config/mmix/mmix.md ("call", "call_value"): Don't set struct
5439         machine member has_call_without_parameters.
5440         * doc/invoke.texi (Option Summary) <MMIX Options>: Remove
5441         -mreg-stack-fill-bug-workaround and
5442         -mno-reg-stack-fill-bug-workaround.
5443         (MMIX Options): Ditto.
5444
5445 2002-01-21  Kazu Hirata  <kazu@hxi.com>
5446
5447         * config/h8300/h8300.c (function_arg): Replace 0 with NULL_RTX
5448         as appropriate.
5449         Remove redundant code.
5450
5451 2002-01-21  Joseph S. Myers  <jsm28@cam.ac.uk>
5452
5453         * config/alpha/alpha.h, config/arc/arc.h, config/avr/avr.h,
5454         config/c4x/c4x.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
5455         config/fr30/fr30.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h,
5456         config/mips/mips.h, config/rs6000/rs6000.h, config/sparc/sparc.h,
5457         config/stormy16/stormy16.h, config/v850/v850.h: Remove commented
5458         out target macro definitions and non-target-specific comments
5459         mostly taken from old versions of the manual.
5460
5461 2002-01-20  Kazu Hirata  <kazu@hxi.com>
5462
5463         * config/h8300/h8300.h: Fix comment formatting.
5464         * config/ia64/aix.h: Likewise.
5465         * config/ia64/ia64-protos.h: Likewise.
5466         * config/ia64/ia64.c: Likewise.
5467         * config/ia64/ia64.h: Likewise.
5468         * config/ia64/ia64intrin.h: Likewise.
5469         * config/ia64/linux.h: Likewise.
5470         * config/ia64/unwind-aix.c: Likewise.
5471         * config/ia64/unwind-ia64.c: Likewise.
5472
5473 2002-01-20  Kazu Hirata  <kazu@hxi.com>
5474
5475         * config/h8300/h8300.c: Revise comments about shift code.
5476
5477 2002-01-20  Kazu Hirata  <kazu@hxi.com>
5478
5479         * config/h8300/h8300.c (function_arg): Update a comment.
5480
5481 2002-01-20  Kazu Hirata  <kazu@hxi.com>
5482
5483         * config/h8300/h8300.md: Update the comments at the beginning
5484         of the file.
5485
5486 2002-01-20  Kazu Hirata  <kazu@hxi.com>
5487
5488         * config/i370/i370.c: Fix comment formatting.
5489         * config/i370/i370.h: Likewise.
5490         * config/i370/i370.md: Likewise.
5491         * config/i370/linux.h: Likewise.
5492
5493 Sun Jan 20 18:40:14 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5494
5495         * reg-stack.c (subst_stack_regs): Properly check for deleted insn.
5496
5497         * dwarf2out.c (loc_descriptor_from_tree): Add TRUTH_*_EXPR cases.
5498         (gen_struct_or_union_type_die): Don't SIGSEGV if no TYPE_STUB_DECL
5499         in incomplete case.
5500
5501 2002-01-20  Graham Stott  <grahams@redhat.com>
5502
5503         * cfgloop.c (flow_loop_preheader_scan): Fix typo.
5504
5505 2002-01-19  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5506
5507         * config.gcc (hppa*64*-*-hpux11*): Fix tmake_file.
5508
5509 2002-01-19  Tom Rix  <trix@redhat.com>
5510
5511         * config/rs6000/rs6000.md: Fix DF split for 64 bit hosts.
5512
5513 2002-01-18  Aldy Hernandez  <aldyh@redhat.com>
5514
5515         * doc/tm.texi (STARTING_FRAME_PHASE): Document.
5516
5517         * function.c (assign_stack_local_1): Adjust x_frame_offset with
5518         STARTING_FRAME_PHASE.
5519         (STARTING_FRAME_PHASE): New.
5520         (instantiate_virtual_regs): Check saneness of
5521         STARTING_FRAME_PHASE.
5522
5523         * config/rs6000/rs6000.h (STARTING_FRAME_PHASE): New.
5524
5525 2002-01-19  Alexandre Oliva  <aoliva@redhat.com>
5526
5527         * config/sh/sh.md (movdf_i4 split): Fix alter_subreg calls.
5528
5529 2002-01-18  Craig Rodrigues  <rodrigc@gcc.gnu.org>
5530
5531         * doc/install.texi (hppa*-hp-hpux11): Clarify that GCC 2.95.x cannot
5532         be used for bootstrapping GCC 3.0.
5533
5534 2002-01-18  Kazu Hirata  <kazu@hxi.com>
5535
5536         * config/h8300/h8300.md: Fix an insn length.
5537
5538 2002-01-18  Kazu Hirata  <kazu@hxi.com>
5539
5540         * bitmap.h: Fix comment formatting.
5541         * combine.c: Likewise.
5542         * cppfiles.c: Likewise.
5543         * c-pragma.h: Likewise.
5544         * c-typeck.c: Likewise.
5545         * df.c: Likewise.
5546         * dwarf2out.c: Likewise.
5547         * function.c: Likewise.
5548         * gcc.c: Likewise.
5549         * genattrtab.c: Likewise.
5550         * gthr-win32.h: Likewise.
5551         * haifa-sched.c: Likewise.
5552         * predict.c: Likewise.
5553         * rtlanal.c: Likewise.
5554         * rtl.h: Likewise.
5555         * unwind-dw2-fde.h: Likewise.
5556         * unwind-pe.h: Likewise.
5557         * vmsdbgout.c: Likewise.
5558
5559 Thu Jan 17 15:28:26 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5560
5561         * attribs.c (decl_attributes): Clear ATTR_FLAG_TYPE_IN_PLACE
5562         if type_required and passed decl.
5563
5564 2002-01-17  Aldy Hernandez  <aldyh@redhat.com>
5565
5566         * config.gcc (cpu_type): Include altivec.h in powerpc
5567         extra_headers.
5568         Same for darwin.
5569
5570         * config/rs6000/altivec.h: New.
5571
5572 2002-01-17  David Edelsohn  <edelsohn@gnu.org>
5573
5574         * doc/install.texi (*-ibm-aix*): Update assembler and exception
5575         handling information.
5576         * doc/trouble.texi (Interoperation): Add libstdc++ information
5577         for AIX.
5578         (Misunderstandings): Add template instantiation and static template
5579         member information for AIX.
5580
5581 2002-01-17  Jason Merrill  <jason@redhat.com>
5582
5583         * dbxout.c (dbxout_type): Support const and volatile.
5584
5585         * except.c (add_partial_entry): Remove backwards compatibility code.
5586         (end_protect_partials): Likewise.
5587
5588 2002-01-17  Jakub Jelinek  <jakub@redhat.com>
5589
5590         * config/ia64/ia64.md (prologue_use): New.
5591         * config/ia64/ia64.c (ia64_expand_prologue): Use
5592         gen_prologue_use instead of gen_rtx_USE.
5593         (group_barrier_needed_p): Handle CODE_FOR_prologue_use the same way
5594         as CODE_FOR_pred_rel_mutex.
5595         (ia64_sched_reorder2): Likewise.
5596
5597 2002-01-16  Eric Christopher  <echristo@redhat.com>
5598
5599         * config/mips/r3900.h: Reformat.
5600         (SUBTARGET_CPP_SIZE_SPEC): Remove.
5601         * config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Ditto.
5602         * config/mips/mips.h (ABI_GAS_ASM_SPEC): Default to "".
5603         (SUBTARGET_CPP_SIZE_SPEC): Rewrite.
5604         * config/mips/t-elf: Remove mips3 multilib.
5605
5606 2002-01-16  H.J. Lu <hjl@gnu.org>
5607
5608         * config/mips/linux.h: Include "mips/abi64.h".
5609
5610 2002-01-16  H.J. Lu <hjl@gnu.org>
5611
5612         * config/mips/t-linux: New.
5613
5614         * config.gcc: Add mips/t-linux to tmake_file for mips*-*-linux*.
5615
5616         * config/mips/linux.h: Don't include "gofast.h".
5617         (INIT_SUBTARGET_OPTABS): Removed.
5618
5619 2002-01-16  Kazu Hirata  <kazu@hxi.com>
5620
5621         * config/h8300/h8300-protos.h: Replace emit_a_shift with
5622         output_a_shift.
5623         * config/h8300/h8300.c: Likewise.
5624         * config/h8300/h8300.md: Likewise.
5625
5626 2002-01-16  Kazu Hirata  <kazu@hxi.com>
5627
5628         * config/h8300/h8300.md (pushqi1_h8300): Use a tab instead of
5629         spaces after an opcode name.
5630         (pushqi1_h8300hs): Likewise.
5631         (pushhi1_h8300hs): Likewise.
5632
5633 2002-01-16  Kazu Hirata  <kazu@hxi.com>
5634
5635         * doc/extend.texi: Replace "option" with "attribute"
5636         appropriately.
5637
5638 2002-01-16  Jakub Jelinek  <jakub@redhat.com>
5639
5640         * config/alpha/alpha.c (some_small_symbolic_mem_operand): Look into
5641         (and:DI () (const_int -8)).
5642         (split_small_symbolic_mem_operand): Split
5643         (mem (and:DI () (const_int -8)).
5644
5645 2002-01-16  Jakub Jelinek  <jakub@redhat.com>
5646
5647         PR target/5309:
5648         * config/sparc/sparc.c (ultrasparc_adjust_cost): Handle TYPE_IDIV the
5649         same way as TYPE_IMUL.
5650         (ultrasparc_sched_reorder): Likewise.
5651         * config/sparc/sparc.md (type): Add comment to update
5652         ultrasparc_sched_reorder when making changes.
5653
5654 2002-01-16  Kazu Hirata  <kazu@hxi.com>
5655
5656         * doc/invoke.texi: Change the dump file name of block
5657         reordering pass from 28.bbro to 29.bbro.
5658         Mention -dk option.
5659
5660 Wed Jan 16 17:54:22 CET 2002  Jan Hubicka  <jh@suse.cz>
5661
5662         * i386.md (minsf splitter): Fix pasto.
5663
5664 2002-01-16  Nick Clifton  <nickc@cambridge.redhat.com>
5665
5666         * config/arm/arm.c (arm_expand_prologue): Add REG_MAYBE_DEAD note
5667         to frame pointer initialisation instruction.
5668         (thumb_expand_prologue): Add REG_MAYBE_DEAD note to frame pointer
5669         initialisation instruction.
5670         (soft_df_operand): Do not accept the IP register.
5671         (nonimmediate_soft_df_operand): Do not accept the IP register.
5672
5673 2002-01-16  Jakub Jelinek  <jakub@redhat.com>
5674
5675         PR target/5357:
5676         * config/sparc/sparc.c (sparc_override_options): Avoid MASK_V9 and
5677         MASK_V8 being both set.
5678
5679 2002-01-16  Ulrich Weigand  <uweigand@de.ibm.com>
5680
5681         * config/s390/s390.c (s390_emit_prologue): Do not emit USE
5682         insn for GOT register; add REG_MAYBE_DEAD notes instead.
5683         config/s390/s390.md (call, call_value): Add GOT register to
5684         CALL_INSN_FUNCTION_USAGE where needed.
5685         (call_exp, call_value_exp): New.
5686
5687 2002-01-16  Nick Clifton  <nickc@cambridge.redhat.com>
5688
5689         * config/arm/arm.c: General formatting tidy up.
5690
5691 2002-01-16  Graham Stott  <grahams@redhat.com>
5692
5693         * calls.c (try_to_integrate): Use "(size_t)" intermediate
5694         cast and when casting an integer literal to "rtx" pointer.
5695         (expand_call): Likewise.
5696         * flow.c (try_pre_increment): Likewise.
5697         (find_use_as_address): Likewise.
5698         * integrate.c (expand_iline_function): Likewise.
5699         * regmove.c (try_auto_increment): Likewise.
5700
5701 2002-01-16  Graham Stott  <grahams@redhat.com>
5702
5703         * sched-rgn.c (passed): Use sbitmap_free.
5704         (header): Likewise.
5705         (inner): Likewise.
5706         (in_queue): Likewise.
5707         (in_stack): Likewise.
5708
5709 2002-01-15  Eric Christopher  <echristo@redhat.com>
5710
5711         * flow.c (propagate_one_insn): Change to use fatal_insn.
5712
5713 2002-01-15  Kazu Hirata  <kazu@hxi.com>
5714
5715         * expmed.c (extract_fixed_bit_field): Remove unused code.
5716         * system.h: Poison SLOW_ZERO_EXTEND.
5717         * doc/tm.texi: Remove.
5718         * config/1750a/1750a.h (SLOW_ZERO_EXTEND): Remove.
5719         * config/arm/arm.h: Likewise.
5720         * config/avr/avr.h: Likewise.
5721         * config/clipper/clipper.h: Likewise.
5722         * config/convex/convex.h: Likewise.
5723         * config/d30v/d30v.h: Likewise.
5724         * config/dsp16xx/dsp16xx.h: Likewise.
5725         * config/elxsi/elxsi.h: Likewise.
5726         * config/fr30/fr30.h: Likewise.
5727         * config/h8300/h8300.h: Likewise.
5728         * config/i370/i370.h: Likewise.
5729         * config/i386/i386.h: Likewise.
5730         * config/m68k/m68k.h: Likewise.
5731         * config/mips/mips.h: Likewise.
5732         * config/ns32k/ns32k.h: Likewise.
5733         * config/pdp11/pdp11.h: Likewise.
5734         * config/pj/pj.h: Likewise.
5735         * config/s390/s390.h: Likewise.
5736         * config/sh/sh.h: Likewise.
5737         * config/stormy16/stormy16.h: Likewise.
5738         * config/v850/v850.h: Likewise.
5739         * config/vax/vax.h: Likewise.
5740         * config/we32k/we32k.h: Likewise.
5741
5742 2002-01-15  Aldy Hernandez  <aldyh@redhat.com>
5743
5744         * config/rs6000/rs6000.md (altivec_stvx): Add parallels to stvx.
5745         (altivec_lvsl): Change constraint to b.
5746         (altivec_lvsr): Same.
5747         (altivec_lvebx): Same.
5748         (altivec_lvehx): Same.
5749         (altivec_lvewx): Same.
5750         (altivec_lvxl): Same.
5751         (altivec_lvx): Same.
5752         (altivec_stvx): Add parallel.
5753         (altivec_stvxl): Same.
5754         (altivec_stvehx): Same.
5755         (altivec_stvebx): Same.
5756         (altivec_stvebx): Same.
5757
5758 2002-01-15  Aldy Hernandez  <aldyh@redhat.com>
5759
5760         * config.gcc: Change altivec.h to altivec-defs.h.
5761
5762         * config/rs6000/altivec.h: Delete.
5763
5764         * config/rs6000/altivec-defs.h: Add.
5765
5766 2002-01-15  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5767
5768         * vax.c (vax_rtx_cost): Return MAX_COST for unsupported MULT, UDIV
5769         and UMOD modes.
5770
5771         * vax.h (INDEX_TERM_P): Restrict indexing to modes which have a size
5772         less than or equal to eight bytes.
5773
5774         * vax.md (andsi3): Remove constraints and change SET destination
5775         operand type to nonimmediate_operand.
5776         (andhi3, andqi3): Likewise.  Don't clear high order bits of operand 1
5777         when it is a CONST_INT.
5778
5779 2002-01-15  Jason Merrill  <jason@redhat.com>
5780
5781         * c-common.def (FILE_STMT): New code.
5782         * c-common.c (statement_code_p): It's a statement.
5783         * c-common.h (stmt_tree_s): Add x_last_filename.
5784         (FILE_STMT_FILENAME_NODE, FILE_STMT_FILENAME): New macros.
5785         (last_expr_filename): New macro.
5786         * c-semantics.c (begin_stmt_tree): Initialize it.
5787         (add_stmt): If the filename changed, also insert a
5788         FILE_STMT.
5789         (expand_stmt): Handle seeing one.
5790
5791 2002-01-15  Eric Christopher  <echristo@redhat.com>
5792
5793         * flow.c (propagate_one_insn): Add error message and print out
5794         insn for debugging.
5795
5796 2002-01-15  Joseph S. Myers  <jsm28@cam.ac.uk>
5797
5798         * system.h (ASM_IDENTIFY_GCC, STDC_VALUE, TRAMPOLINE_ALIGN,
5799         ASM_IDENTIFY_GCC_AFTER_SOURCE): Poison.
5800         * config/pdp11/pdp11.h (TRAMPOLINE_ALIGN): Rename to
5801         TRAMPOLINE_ALIGNMENT.
5802         * config/arm/arm.h, config/mcore/mcore.h: Likewise.  Change value
5803         to be in bits.
5804         * config/i386/cygwin.h (PCC_BITFIELDS_TYPE_MATTERS): Rename to
5805         PCC_BITFIELD_TYPE_MATTERS.
5806         * config/interix.h (STDC_VALUE): Remove.  Use
5807         STDC_0_IN_SYSTEM_HEADERS.
5808         * config/darwin.h (ASM_IDENTIFY_GCC), config/dsp16xx/dsp16xx.h
5809         (ASM_IDENTIFY_GCC), config/stormy16/stormy16.h (ASM_IDENTIFY_GCC,
5810         ASM_IDENTIFY_GCC_AFTER_SOURCE): Remove.
5811
5812 2002-01-15  Craig Rodrigues  <rodrigc@gcc.gnu.org>
5813
5814         * doc/install.texi (hppa*-hp-hpux11): --enable-threads does
5815         not work on this platform currently.
5816
5817 2002-01-15  Joseph S. Myers  <jsm28@cam.ac.uk>
5818
5819         * c-typeck.c (build_unary_op): Don't wrap msgid argument of
5820         readonly_warning in _().
5821
5822 2002-01-15  Douglas B Rupp  <rupp@gnat.com>
5823
5824         * gcc.c (delete_if_ordinary): Backout previous change.
5825
5826 2002-01-15  Kazu Hirata  <kazu@hxi.com>
5827
5828         * config/h8300/h8300.c (print_operand): Remove support for
5829         unused operand characters.
5830
5831         * read-rtl.c: Fix formatting.
5832         * real.c: Likewise.
5833         * recog.c: Likewise.
5834         * regclass.c: Likewise.
5835         * regmove.c: Likewise.
5836         * reg-stack.c: Likewise.
5837         * reload1.c: Likewise.
5838         * rtlanal.c: Likewise.
5839
5840 2002-01-15  Kazu Hirata  <kazu@hxi.com>
5841
5842         * config/i386/i386.c: Fix formatting.
5843
5844 2002-01-15  Jakub Jelinek  <jakub@redhat.com>
5845
5846         * c-typeck.c (process_init_element): Don't save_expr
5847         COMPOUND_LITERAL_EXPR if just its initializer will be used.
5848
5849 2002-01-15  David Edelsohn  <edelsohn@gnu.org>
5850
5851         * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Do not
5852         emit optional traceback table if optimize_size or TARGET_ELF.
5853         * config/rs6000/rs6000.md (prefetch): New.
5854
5855 2002-01-15  Andreas Jaeger  <aj@suse.de>
5856
5857         * config.gcc (x86_64-*-*): Install mmintrin.h and xmmintrin.h.
5858
5859 2002-01-15  Kazu Hirata  <kazu@hxi.com>
5860
5861         * mips-tfile.c: Fix formatting.
5862
5863 Tue Jan 15 00:56:11 CET 2002  Jan Hubicka  <jh@suse.cz>
5864
5865         * unroll.c (final_reg_note_copy): Fix previous commit.
5866
5867 2002-01-14  Kazu Hirata  <kazu@hxi.com>
5868
5869         * config/h8300/h8300-protos.h: Remove the prototype for
5870         eq_operator.
5871         * config/h8300/h8300.c (eq_operator): Remove.
5872
5873 2002-01-14  Richard Henderson  <rth@redhat.com>
5874
5875         * config/i386/i386.md (prefetch): Tidy.
5876         (prefetch_3dnow): Fix locality operand.
5877
5878 2002-01-14  Richard Henderson  <rth@redhat.com>
5879
5880         * config/mips/mips.h (HI_AND_FP_REGS): New register class.
5881         (CLASS_CANNOT_CHANGE_MODE): Disallow HI in little-endian mode.
5882
5883 2002-01-14  Hans-Peter Nilsson  <hp@bitrange.com>
5884
5885         * reload1.c (reload_combine): Pass reg_sum replacement through
5886         copy_rtx in loop performing multiple changes.
5887
5888 2002-01-14  Jakub Jelinek  <jakub@redhat.com>
5889
5890         * except.c (remove_unreachable_regions): New.
5891         (free_eh_status): Clear exception_handler_labels.
5892         (convert_from_eh_region_ranges): Call remove_unreachable_regions.
5893         (find_exception_handler_labels): Don't add the same label more than
5894         once.
5895         (remove_exception_handler_label): Don't die if
5896         find_exception_handler_labels hasn't been called for the current
5897         function yet.
5898
5899 Mon Jan 14 21:26:13 CET 2002  Jan Hubicka  <jh@suse.cz>
5900
5901         * toplev.c (rest_of_compilation): Rebuild jump labels after
5902         gcse.
5903
5904 2002-01-14  Joseph S. Myers  <jsm28@cam.ac.uk>
5905
5906         * doc/extend.texi: Move documentation of X86 built-in functions
5907         here.
5908         * doc/invoke.texi: From here.
5909         * doc/sourcebuild.texi: Document location of documentation for
5910         machine built-in functions.
5911
5912 2002-01-13  Christopher Faylor  <cgf@redhat.com>
5913
5914         * cppfiles.c (TEST_THRESHOLD): New macro.
5915         (SHOULD_MMAP): Ditto.
5916         (read_include_file): Use SHOULD_MMAP macro to decide when mmap should
5917         be used.
5918
5919 Mon Jan 14 20:23:34 CET 2002  Jan Hubicka  <jh@suse.cz>
5920
5921         * unroll.c (final_reg_note_copy): Properly handle
5922         REG_LABEL
5923         (unroll_loops): Fix LOOP_CONDITION heuristics.
5924
5925 2002-01-14  Geoffrey Keating  <geoffk@redhat.com>
5926
5927         * doc/invoke.texi (Xstormy16 Options): Add xstormy16 option.
5928         * doc/md.texi (Machine Constraints): Use @minus{} where appropriate.
5929
5930 Mon Jan 14 20:18:19 CET 2002  Jan Hubicka  <jh@suse.cz>
5931
5932         * cfgcleanup.c (try_forward_edges): Avoid infinite loop at infinite
5933         threaded loop.
5934
5935 2002-01-14  Tom Rix  <trix@redhat.com>
5936
5937         * config/rs6000/rs6000.md: Fix typo with sradi.
5938
5939 2002-01-14  Ulrich Weigand  <uweigand@de.ibm.com>
5940
5941         * config/s390/s390.md (movstrdix_64, movstrsix_31, movstrdi_64,
5942         movstrsi_31, clrstrsi_64, clrstrsi_31): Improve RTL templates.
5943         (clrstrdi, clrstrsi): Adapt callers.
5944
5945         (extendsidi2, zero_extendsidi2): Remove no-conflict blocks.
5946
5947         (movti splitter): Never use register 0 as base register.
5948
5949 2002-01-14  Hartmut Penner  <hpenner@de.ibm.com>
5950
5951         * combine.c (simplify_shift_const): Always generate new rtx
5952         for shift expression instead of reusing given expression.
5953
5954 Mon Jan 14 07:08:55 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5955
5956         * config/alpha/alpha.c (alpha_expand_mov): Don't call
5957         alpha_legitimize_address unless mode is Pmode.
5958
5959 2002-01-13  Geoffrey Keating  <geoffk@redhat.com>
5960
5961         * doc/md.texi (Modifiers): Document the '*' constraint for the
5962         user.
5963
5964         * doc/md.texi (Machine Constraints): Add constraints for xstormy16.
5965         * doc/extend.texi (Function Attributes): 'interrupt' is valid
5966         for xstormy16 too.
5967
5968 2002-01-13  Richard Henderson  <rth@redhat.com>
5969
5970         * reload.c (find_reloads): Use a hard reg destination as reload reg
5971         for an input reload of the source.
5972
5973 2002-01-13  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
5974
5975         * doc/install.texi (Binaries): Make link to ftp.writtenword.com
5976         more generic.
5977
5978 Sun Jan 13 07:23:01 2002  Douglas B Rupp  <rupp@gnat.com>
5979
5980         * Makefile.in (LIB2FUNCS): Split into LIB2FUNCS_1 and LIB2FUNCS_2.
5981         * mklibgcc.in (LIB2FUNCS): Split into LIB2FUNCS_1 and LIB2FUNCS_2.
5982
5983         * config/alpha/x-vms (USE_COLLECT2): Set to empty.
5984
5985 Sun Jan 13 06:55:31 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5986
5987         * dwarf2out.c (mem_loc_descriptor, case ADDRESSOF): New case.
5988
5989 2002-01-12  Tom Rix  <trix@redhat.com>
5990
5991         * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Use ior for
5992         TARGET_POWERPC64.
5993
5994 2002-01-12  Richard Henderson  <rth@redhat.com>
5995
5996         * config/i386/i386.c (bdesc_2arg): Mark psadbw MASK_3DNOW_A.
5997
5998         * doc/invoke.texi: Update Alpha options.
5999
6000         * doc/invoke.texi: Update i386 built-in function lists.
6001
6002 Sat Jan 12 17:38:11 CET 2002  Jan Hubicka  <jh@suse.cz>
6003
6004         * unroll.c (final_reg_note_copy): Avoid crash on REG_LABEL note
6005         referencing outside.
6006
6007 Sat Jan 12 08:54:51 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6008
6009         * diagnostic.c (warn_deprecated_use): Rework to lower indentation.
6010         * expr.c (emit_move_insn_1): Remove warning, use HOST_WIDE_INT for
6011         offsets, and change line folding.
6012         * optabs.c (expand_binop): Remove warnings.
6013         * sdbout.c (sdbout_record_type_name): Constify NAME to avoid warning.
6014
6015 2002-01-12  Graham Stott <grahams@redhat.com>
6016
6017         * attribs.c (handle_deprecated_attribute): constify WHAT.
6018         * diagnostic.c (warn_deprecated_use): Add braces, fixes
6019         dangling else warning and constify WHAT.
6020         * except.h (struct function, struct inline_remap): Move
6021         struct tag forward defs before all prototypes.
6022         (duplicate_eh_regions): Whitespace.
6023
6024 2002-01-12  Nick Clifton  <nickc@cambridge.redhat.com>
6025
6026         * config/arm/arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Use
6027         MODE_BASE_REG_CLASS.
6028         (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Use MODE_BASE_REG_CLASS.
6029
6030 2002-01-12  Richard Henderson  <rth@redhat.com>
6031
6032         * config/i386/i386.c (override_options): If SSE, enable sse prefetch.
6033         (ix86_expand_vector_move): New.
6034         (bdesc_2arg): Remove andps, andnps, orps, xorps.
6035         (ix86_init_mmx_sse_builtins): Make static.  Remove composite builtins.
6036         Remove old prefetch builtins.  Special case the logicals removed above.
6037         (ix86_expand_builtin): Likewise.
6038         (safe_vector_operand): Use V4SFmode, not TImode.
6039         (ix86_expand_store_builtin): Remove shuffle arg.  Update callers.
6040         (ix86_expand_timode_binop_builtin): New.
6041         * config/i386/i386-protos.h: Update.
6042         * config/i386/i386.h (enum ix86_builtins): Update.
6043         * config/i386/i386.md: Correct predicates on MMX/SSE patterns.
6044         Use ix86_expand_vector_move in vector move expanders.
6045         (movti_internal, movti_rex64): Add xorps alternative.
6046         (sse_clrv4sf): Rename and adjust from sse_clrti.
6047         (prefetch): Don't work so hard.
6048         (prefetch_sse, prefetch_3dnow): Use PREFETCH rtx, not UNSPEC.
6049         * config/i386/xmmintrin.h (__m128): Use V4SFmode.
6050         (_mm_getcsr, _mm_setcsr): Fix typo in builtin name.
6051
6052 2002-01-11  Richard Henderson  <rth@redhat.com>
6053
6054         * config/i386/mmintrin.h: New file.
6055         * config/i386/xmmintrin.h: New file.
6056         * config.gcc (i?86-*-*): Add extra_headers.
6057         * simplify-rtx.c (simplify_unary_operation): Handle saturating
6058         truncation codes.
6059         (simplify_binary_operation): Handle saturating arithmetic codes.
6060         * config/i386/i386.c (ix86_expand_sse_comi): Return the full result,
6061         not the lowpart subreg.
6062         (ix86_expand_builtin): Return a TImode dummy register instead of 0
6063         on error.
6064         * config/i386/i386.md (mmx_clrdi): Override memory attribute.
6065
6066 2002-01-12  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
6067
6068         * conflict.c (conflict_graph_compute): Free regsets when finished.
6069         * ssa.c (compute_coalesced_reg_partition): Likewise.
6070
6071 2002-01-12  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
6072
6073         * global.c (find_reg): Check for HARD_REGNO_CALL_PART_CLOBBERED
6074         every where we allocate a register.
6075
6076 2002-01-12  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
6077
6078         * gcse.c (compute_pre_data, pre_gcse): Use sbitmap_free.
6079         * lcm.c (compute_earliest, compute_farthest): Likewise.
6080
6081 2002-01-11  Janis Johnson  <janis187@us.ibm.com>
6082
6083         * expr.c (expand_assignment): Fix misuse of MEM_KEEP_ALIAS_SET.
6084
6085 2002-01-11  Janis Johnson  <janis187@us.ibm.com>
6086
6087         * doc/rtl.texi (Insns): Fix 2 typos.
6088
6089 2002-01-11  Joseph S. Myers  <jsm28@cam.ac.uk>
6090
6091         * doc/invoke.texi: Avoid overfull hboxes.  Add summary of D30V
6092         options.  Use @table @gcctabopt for MMIX options.  Add index
6093         entries for MMIX options.  Start new paragraph with first
6094         heading of the machine-dependent options.
6095
6096 2002-01-11  Craig Rodrigues  <rodrigc@gcc.gnu.org>
6097
6098         PR other/5299
6099         * config/ns32k/ns32k.md: Fix spelling mistake of "than" in comments.
6100         * combine.c (force_to_mode): Same.
6101         * reload1.c (clear_reload_reg_in_use): Same.
6102
6103 2002-01-11  Nick Clifton  <nickc@cambridge.redhat.com>
6104
6105         * config/arm/arm.c (arm_gen_constant): Correct test of 'remainder'
6106         and 'subtargets'.
6107
6108 2002-01-11  Andreas Jaeger  <aj@suse.de>,
6109             Brad Lucier <lucier@math.purdue.edu>
6110
6111         * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Remove wrong
6112         mcpu.
6113
6114 Fri Jan 11 07:35:12 2002  Douglas B Rupp  <rupp@gnat.com>
6115
6116         * config/alpha/vms.h: (MD_FALLBACK_FRAME_STATE_FOR): Fix errors.
6117         Protect with IN_LIBGCC.
6118         (LINK_EH_SPEC): Add required trailing space.
6119
6120 Fri Jan 11 09:25:05 2002  Nicola Pero  <n.pero@mi.flashnet.it>
6121
6122         * c-tree.h: Move function declarations so that they are listed
6123         under the filename which contains them.
6124         (check_identifier, finish_decl_top_level,
6125         lookup_name_current_level_global, shadow_record_fields): Remove.
6126
6127 2002-01-11  Andreas Jaeger  <aj@suse.de>
6128
6129         * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Remove duplicated
6130         march.
6131
6132 2002-01-10  Richard Henderson  <rth@redhat.com>
6133
6134         * config/alpha/alpha.c (print_operand): Add 'J'.
6135         * config/alpha/alpha.md (call_osf_1_er, call_value_osf_1_er): Take a
6136         new operand with the sequence number for the lituse.  When splitting
6137         the insns, use gen_movdi_er_high_g and generate a sequence number.
6138         (gen_movdi_er_high_g): Print the sequence number if non-zero.
6139
6140 2002-01-10  Aldy Hernandez  <aldyh@redhat.com>
6141
6142         * config/rs6000/rs6000.c (altivec_init_builtins): Add support for
6143         lvebx, lvehx, lvewx, lvxl, lvx, stvx, stvebx, stvehx, stvewx,
6144         stvxl.
6145         (altivec_expand_builtin): Same.
6146         (altivec_expand_stv_builtin): New.
6147
6148         * config/rs6000/rs6000.h (rs6000_builtins): Same.
6149
6150         * config/rs6000/rs6000.md ("altivec_lvebx"): New.
6151         ("altivec_lvehx"): New.
6152         ("altivec_lvewx"): New.
6153         ("altivec_lvxl"): New.
6154         ("altivec_lvx"): New.
6155         ("altivec_stvx"): New.
6156         ("altivec_stvebx"): New.
6157         ("altivec_stvehx"): New.
6158         ("altivec_stvewx"): New.
6159         ("altivec_stvxl"): New.
6160
6161 2002-01-10  Richard Henderson  <rth@redhat.com>
6162
6163         * cfgrtl.c (delete_insn): Assert insn hasn't been deleted yet.
6164         * reload1.c (delete_output_reload): Zap spill_reg_store.  Take
6165         care not to delete instructions twice.
6166
6167 2002-01-10  Zack Weinberg  <zack@codesourcery.com>
6168
6169         * toplev.c: Don't declare environ (it's not used anywhere).
6170         * configure.in: Don't check for declaration of environ.
6171         * config/i386/xm-mingw32.h: Don't #define environ.
6172         * config.in, configure: Regenerate.
6173
6174 2002-01-10  Zack Weinberg  <zack@codesourcery.com>
6175
6176         * configure.in: Set stage1_cflags for powerpc-*-darwin*.
6177         * configure: Regenerate.
6178
6179         * config/interix.h: Set DO_GLOBAL_CTORS_BODY and
6180         DO_GLOBAL_DTORS_BODY here, not in xm-interix.h.
6181         * config/alpha/vms.h: Set INCLUDE_DEFAULTS here, not in
6182         alpha/xm-vms.h.
6183         * config/m68k/t-next: Set OTHER_FIXINCLUDES_DIRS and
6184         LIMITS_H_TEST here, not in m68k/x-next.
6185         * config/rs6000/beos.h: Set STANDARD_INCLUDE_DIR and
6186         SYSTEM_INCLUDE_DIR here, not in rs6000/xm-beos.h.
6187
6188         * config/x-interix: Don't set RANLIB, RANLIB_TEST, SHELL,
6189         LIBGCC2_INCLUDES, or SYSTEM_HEADER_DIR.
6190         * config/alpha/x-vms: Don't set USE_COLLECT2.  Add comments.
6191
6192         * config/i386/x-djgpp: Renamed i386/t-djgpp.
6193         * config/m88k/x-dolph: Renamed m88k/t-dolph.
6194         * config/m88k/x-texXD88: Renamed m88k/t-texXD88.
6195         * config/pa/x-pa-mpeix: Renamed pa/t-mpeix.  Update for
6196         replacement of quadlib.asm with quadlib.c.
6197
6198         * config/x-interix3, config/xm-interix.h, config/i386/x-beos,
6199         config/i386/xm-osf1elf.h, config/rs6000/x-darwin,
6200         config/rs6000/xm-beos.h: Delete file.
6201
6202         * config.gcc: Update to match above changes.
6203
6204 2002-01-10  Kazu Hirata  <kazu@hxi.com>
6205
6206         * config/h8300/h8300.h: Fix comment typos.
6207         * config/h8300/h8300.md: Likewise.
6208         * config/h8300/lib1funcs.asm: Likewise.
6209
6210 2002-01-10  Dale Johannesen  <dalej@apple.com>
6211
6212         PR optimization/5269
6213         * unroll.c (precondition_loop_p): Make *increment be the correct
6214         sign when n_iterations known, to avoid confusing caller.
6215
6216 2002-01-10  Kazu Hirata  <kazu@hxi.com>
6217
6218         * doc/extend.texi (deprecated): Fix a typo.
6219
6220 Thu Jan 10 22:35:54 CET 2002  Jan Hubicka  <jh@suse.cz>
6221
6222         * basic-block.h (update_br_prob_note): Declare.
6223         * cfgcleanup.c (try_simplify_condjump): Call update_br_prob_note.
6224         (try_forward_edges): Care negative frequencies and update note.
6225         (outgoing_edges_match): Tweek conditional merging heuristics.
6226         (try_crossjump_to_edge): use update_br_prob_note.
6227         * cfglayout.c (fixup_reorder_chain): Likewise.
6228         * cfrtl.c (update_br_prob_note): New.
6229         * ifcvt.c (dead_or_predicable): Call update_br_prob_note.
6230
6231         * i386.c (ix86_decompose_address): Return -1 if address contains
6232         shift.
6233         (legitimate_address_p): Require ix86_decompose_address to return 1.
6234
6235         * gcse.c (hash_scan_set): Use CONSTANT_INSN_P.
6236         (cprop_insn): Likewise.
6237
6238 2002-01-10  Kazu Hirata  <kazu@hxi.com>
6239
6240         * toplev.c: Fix formatting.
6241         * tree.c: Likewise.
6242         * tree-dump.c: Likewise.
6243         * unroll.c: Likewise.
6244         * unwind-dw2.c: Likewise.
6245         * unwind-dw2-fde.c: Likewise.
6246         * unwind-dw2-fde-glibc.c: Likewise.
6247         * unwind-sjlj.c: Likewise.
6248
6249 2002-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
6250
6251         * doc/invoke.texi: Document PDP-11 options.
6252
6253 2002-01-10  Kazu Hirata  <kazu@hxi.com>
6254
6255         * config/h8300/h8300.h: Fix formatting.
6256
6257 2002-01-10  Ira Ruben   <ira@apple.com>
6258
6259         Add __attribute__ ((deprecated)).
6260         * extend.texi: Document __attribute__ ((deprecated)).
6261         * invoke.texi: Document -Wno-deprecated-declarations.
6262         * testsuite/g++.dg/other/deprecated.C: New C++ test.
6263         * testsuite/gcc.dg/deprecated.c: New C test.
6264         * attribs.c (enum attrs): Declare handle_deprecated_attribute().
6265         (c_common_attribute_table): Add "deprecated" entry.
6266         (handle_deprecated_attribute): New function.
6267         * c-decl.c (deprecated_states): New enum.
6268         deprecated_state: State of "deprecated" handling.
6269         (start_decl): Set deprecated_state based on attributes.
6270         (grokdeclarator): Test for deprecated uses, propagate attribute.
6271         * c-typeck.c (build_component_ref): Test for deprecated fields.
6272         (build_external_ref): Test for deprecated primaries.
6273         * diagnostic.c (warn_deprecated_use) New function to issue
6274         warnings about __attribute__ ((depricated)) references.
6275         * flags.h (warn_deprecated_decl): Extern declared for
6276         -W[no-]deprecated-declarations option.
6277         * print-tree.c (print_node): Show deprecated flag status.
6278         * toplev.c (warn_deprecated_decl): Defined.
6279         (W_options): Added "deprecated-declaration".
6280         * toplev.h (warn_deprecated_use): Extern declared.
6281         * tree.h (struct tree_common): Define deprecated_flag.
6282         (TREE_DEPRECATED): New macro to access flag.
6283         * cp/call.c (build_call): Test for deprecated calls.
6284         * cp/class.c (add_implicitly_declared_members): Set global
6285         flag to tell grokdeclarator to not issue deprecated warnings.
6286         * cp/cp-tree.h: Add extern for adding_implicit_members.
6287         * cp/decl.c (deprecated_states): New enum.
6288         (start_decl): Set deprecated_state based on attributes.
6289         (grokdeclarator): Test for deprecated uses, propagate attribute.
6290         * cp/lex.c (do_identifier): Test for deprecated primaries.
6291         * cp/typeck.c (build_component_ref): Test for deprecated fields.
6292
6293 2002-01-10  Ira Ruben   <ira@apple.com>
6294
6295         Fix to assign attributes to inline member functions.
6296         * cp/decl.c (start_method): Handle attrlist.
6297
6298 2002-01-10  Kazu Hirata  <kazu@hxi.com>
6299
6300         * combine.c (expand_field_assignment): Use subreg_lsb().
6301
6302 2002-01-10  David Edelsohn  <edelsohn@gnu.org>
6303
6304         * alias.c (find_base_value): Add cases for HIGH, PRE_INC, PRE_DEC,
6305         POST_INC, POST_DEC, PRE_MODIFY, and POST_MODIFY.
6306         (find_base_term): Add cases for TRUNCATE, PRE_MODIFY, and POST_MODIFY.
6307         Recurse for any operand of AND as long as constant is non-zero.
6308
6309 2002-01-10  Kazu Hirata  <kazu@hxi.com>
6310
6311         * config/h8300/h8300.md: Remove constraints from expanders.
6312
6313 2002-01-10  Kazu Hirata  <kazu@hxi.com>
6314
6315         * varasm.c: Fix formatting.
6316         * varray.c: Likewise.
6317         * vmsdbgout.c: Likewise.
6318         * xcoffout.c: Likewise.
6319
6320 Thu Jan 10 17:19:12 CET 2002  Jan Hubicka  <jh@suse.cz>
6321
6322         * cfgcleanup.c (try_forward_edges): Properly initialize nthreaded_edges;
6323         update edge probabilities to match.
6324
6325 2002-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
6326
6327         * Makefile.in ($(docdir)/gccint.info, gccint.dvi): Add additional
6328         dependencies.
6329         * doc/languages.texi, doc/sourcebuild.texi: New files.
6330         * doc/configfiles.texi: Make a subsubsection.  Update.
6331         * doc/configterms.texi: Add @node.  Remove warning that this isn't
6332         instructions for building GCC.
6333         * doc/makefile.texi: Make a subsection.
6334         * doc/gccint.texi: Update.
6335
6336 Thu Jan 10 16:39:58 CET 2002  Jan Hubicka  <jh@suse.cz>
6337
6338         * i386.md (sse_mov?fcc_const0_?): Fix constraints.
6339
6340 Thu Jan 10 12:45:50 2002  Nicola Pero  <n.pero@mi.flashnet.it>
6341
6342         * doc/cpp.texi: Document the __OBJC__ preprocessor macro.
6343
6344 Thu Jan 10 11:19:18 CET 2002  Jan Hubicka  <jh@suse.cz>
6345
6346         * optabs.c (expand_fix): Look for wider integer modes first.
6347
6348         * i386.md (mov?f): Avoid the fake const double trick for medium
6349         memory model.
6350         (min?f*/max?f*): Prohibit memory operands for i387 variant.
6351         (fop_df_4): Disable for SSE compilation.
6352
6353 2002-01-10  Graham Stott  <grahams@redhat.com>
6354
6355         * dwarf2out.c (indirect_string_alloc, output_indirect_string):
6356         Move prototype into DWARF2_DEBUGGING_INFO conditional block.
6357
6358 2002-01-10  Richard Henderson  <rth@redhat.com>
6359
6360         * config/alpha/alpha.md (extendsidi2_fix): Penalize f/f alternative.
6361
6362 2002-01-10  Richard Henderson  <rth@redhat.com>
6363
6364         * regrename.c (find_oldest_value_reg): Fix typo in mode change check.
6365         (copyprop_hardreg_forward_1): Likewise.  Use mode_change_ok.
6366
6367 2002-01-10  Kazu Hirata  <kazu@hxi.com>
6368
6369         * combine.c (can_combine_p): Fix a comment typo.
6370
6371 2002-01-09  Zack Weinberg  <zack@codesourcery.com>
6372
6373         * Makefile.in (s-gencheck, s-options, s-specs): Handle an
6374         empty list correctly.  Change loop index $t to $f for
6375         consistency with rest of Makefile.
6376
6377 2002-01-08  Aldy Hernandez  <aldyh@redhat.com>
6378
6379         * testuite/gcc.dg/altivec-4.c: Add test for mtvscr, dssall,
6380         mfvscr, dss, lvsl, lvsr, dstt, dstst, dststt, dst.
6381
6382         * config/rs6000/rs6000.c (altivec_expand_builtin): Add support for
6383         mtvscr, dssall, mfvscr, dss, lvsl, lvsr, dstt, dst, dstst, dststt.
6384         (altivec_init_builtins): Same.
6385         (altivec_expand_unop_builtin): Return NULL_RTX on error.
6386         (altivec_expand_binop_builtin): Same.
6387         (altivec_expand_ternop_builtin): Same.
6388         (bdesc_dst): New.
6389
6390         * config/rs6000/rs6000.md ("altivec_mtvscr"): New.
6391         ("altivec_vctuxs"): Fix typo.
6392         ("altivec_vnmsubfp"): Same.
6393         ("altivec_dssall"): New.
6394         ("altivec_mfvscr"): New.
6395         ("altivec_dss"): New.
6396         ("altivec_lvsl"): New.
6397         ("altivec_lvsr"): New.
6398         ("altivec_dstt"): New.
6399         ("altivec_dstst"): New.
6400         ("altivec_dststt"): New.
6401         ("altivec_dst"): New.
6402
6403         * config/rs6000/rs6000.h (rs6000_builtins): Add mtvscr, dssall,
6404         mfvscr, dss, lvsl, lvsr, dstt, dstst, dststt, dst.
6405
6406 2002-01-09  Richard Henderson  <rth@redhat.com>
6407
6408         * config/alpha/alpha.md (prologue_mcount): Remove lituse_jsr reloc.
6409
6410 2002-01-10  Hans-Peter Nilsson  <hp@bitrange.com>
6411
6412         * config/mmix/mmix.c (mmix_asm_identify_gcc): Remove unused
6413         function.
6414         * config/mmix/mmix-protos.h (mmix_asm_identify_gcc): Don't
6415         prototype.
6416         * config/mmix/mmix.h (ASM_IDENTIFY_GCC): Remove unused macro.
6417
6418 2002-01-09  Kazu Hirata  <kazu@hxi.com>
6419
6420         * read-rtl.c: Fix formatting.
6421         * real.c: Likewise.
6422         * regclass.c: Likewise.
6423         * regrename.c: Likewise.
6424         * reg-stack.c: Likewise.
6425         * reload1.c: Likewise.
6426         * reload.c: Likewise.
6427         * rtl.c: Likewise.
6428
6429 2002-01-09  Kazu Hirata  <kazu@hxi.com>
6430
6431         * rtlanal.c (find_reg_fusage): Use XEXP instead of SET_DEST
6432         to extract items in the expr_list chain.
6433
6434 2002-01-09  Richard Henderson  <rth@redhat.com>
6435
6436         * config/vax/vax.c (vax_rtx_cost): Never abort.
6437
6438         * config/vax/vax.h (REAL_ARITHMETIC): Define.
6439
6440 2002-01-09  Jan Hubicka  <jh@suse.cz>
6441
6442         * gcse.c (cprop_jump): Delete insn if simplified jump is no-op.
6443
6444 2002-01-09  Richard Henderson  <rth@redhat.com>
6445
6446         * config/arm/arm.c (arm_gen_constant): Use trunc_int_for_mode.
6447         Unify code from various alternatives.
6448
6449 2002-01-09  Richard Henderson  <rth@redhat.com>
6450
6451         * regrename.c (copy_value): Ignore the copy if the source register
6452         is present in the value chain with a narrower mode.
6453
6454 2002-01-09  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
6455
6456         * real.c (c4xtoe, toc4x): Do some special conversion on long doubles
6457         for the c4x target. Also improve layout.
6458
6459 2002-01-09  Richard Henderson  <rth@redhat.com>
6460
6461         * config/m32r/m32r.c (move_src_operand): Fix 32-bit int test.
6462         * config/m32r/m32r.md (and ior xor splitters): Swap operands
6463         to match insn patterns.
6464
6465 2002-01-09  Richard Henderson  <rth@redhat.com>
6466
6467         * regrename.c (find_oldest_value_reg): Use gen_rtx_raw_REG.
6468         (copyprop_hardreg_forward_1): Likewise.
6469
6470 2002-01-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6471
6472         * pa.md (decrement_and_branch_until_zero): Change predicate for
6473         operand 0 from register_operand to reg_or_nonsymb_mem_operand.
6474
6475 2002-01-09  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
6476
6477         * ginclude/stddef.h: Define _BSD_WCHAR_T_DEFINED_ if _BSD_WCHAR_T_
6478         gets undefined. For Darwin.
6479
6480 2002-01-09  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
6481
6482         * config/c4x/c4x.h: Use PUSH_ARGS and PUSH_ROUNDING for stack passing.
6483
6484 2002-01-09  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
6485
6486         * config/c4x/c4x/md: Remove extraneous constraints from define_splits.
6487
6488 2002-01-08  Richard Henderson  <rth@redhat.com>
6489
6490         * regrename.c (copy_value): Ignore overlapping copies.
6491
6492 2002-01-08  Richard Henderson  <rth@redhat.com>
6493
6494         * config/alpha/alpha.c (alpha_split_conditional_move): Call copy_rtx
6495         as needed to avoid shared structure.
6496
6497 2002-01-08  Kazu Hirata  <kazu@hxi.com>
6498
6499         * config/h8300/h8300.c (get_shift_alg): Fix 15-bit LSHIFTRT on
6500         H8/300H and H8/S.
6501
6502 2002-01-08  Joseph S. Myers  <jsm28@cam.ac.uk>
6503
6504         * doc/tm.texi (EASY_DIV_EXPR, IMPLICIT_FIX_EXPR,
6505         LONGJMP_RESTORE_FROM_STACK, MAX_INT_TYPE_SIZE): Remove
6506         documentation of obsolete macros.
6507         * system.h: Poison these macros.
6508         * config/1750a/1750a.h, config/a29k/a29k.h, config/alpha/alpha.h,
6509         config/arc/arc.h, config/arm/arm.h, config/avr/avr.h,
6510         config/c4x/c4x.h, config/clipper/clipper.h,
6511         config/convex/convex.h, config/cris/cris.h, config/d30v/d30v.h,
6512         config/dsp16xx/dsp16xx.h, config/elxsi/elxsi.h,
6513         config/fr30/fr30.h, config/h8300/h8300.h, config/i370/i370.h,
6514         config/i386/i386.h, config/i860/i860.h, config/i960/i960.h,
6515         config/ia64/ia64.h, config/m32r/m32r.h, config/m68hc11/m68hc11.h,
6516         config/m68k/m68k.h, config/m88k/m88k.h, config/mcore/mcore.h,
6517         config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
6518         config/mn10300/mn10300.h, config/ns32k/ns32k.h, config/pa/pa.h,
6519         config/pdp11/pdp11.h, config/pj/pj.h, config/romp/romp.h,
6520         config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h,
6521         config/sparc/sparc.h, config/stormy16/stormy16.h,
6522         config/v850/v850.h, config/vax/vax.h, config/we32k/we32k.h: Remove
6523         definitions and commented out definitions of obsolete macros.
6524         * config/mips/iris5.h (MAX_WCHAR_TYPE_SIZE): Don't define in terms
6525         of MAX_INT_TYPE_SIZE.
6526
6527 2002-01-08  Ulrich Weigand  <uweigand@de.ibm.com>
6528
6529         * config/s390/s390.c (s390_preferred_reload_class): Never
6530         return ADDR_REGS if it isn't a subset of the given class.
6531         * config/s390/s390.h (REGISTER_MOVE_COST): Penalize not just
6532         FP_REGS, but all superclasses as well.
6533
6534         * config/s390/s390.c (s390_function_profiler): Fix thinko.
6535
6536         * config/s390/s390.md (cmpdi_ccu_mem, cmpsi_ccu_mem,
6537         cmphi_ccu_mem, cmpqi_ccu_mem): First operand of compare
6538         must not be a const_int.
6539
6540 2002-01-08  Richard Henderson  <rth@redhat.com>
6541
6542         * Makefile.in (toplev.o): Depend on options.h.
6543         (gcc.o): Depend on specs.h.
6544
6545 2002-01-08  Jakub Jelinek  <jakub@redhat.com>
6546
6547         * expr.c (store_expr): Convert VOIDmode constants back to target's
6548         mode.
6549
6550 2002-01-08  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
6551
6552         * doc/invoke.texi: Markup gcc as @command.  Refer to
6553         http://gcc.gnu.org/onlinedocs/gcc/Contributors.html instead
6554         of http://gcc.gnu.org/thanks.html.
6555
6556 2002-01-08  Dale Johannesen  <dalej@apple.com>
6557
6558         * config/rs6000/rs6000.md: Add missing int register
6559         target case to movdf_low.
6560
6561 2002-01-08  Zack Weinberg  <zack@codesourcery.com>
6562
6563         * Makefile.in (cs-tconfig.h): Don't depend on $(CONFIG_H) or
6564         except.h.  Remove commands to define USING_SJLJ_EXCEPTIONS.
6565         (cppinit.o): Depend on except.h.
6566         (gencheck.h, options.h, specs.h, s-gencheck, s-options,
6567         s-specs): New rules.
6568
6569         * configure.in: Don't AC_DEFINE_UNQUOTED PACKAGE or VERSION.
6570         Don't create specs.h/options.h/gencheck.h here.  Remove
6571         unnecessary variable settings from last argument of AC_OUTPUT.
6572         * config.in, configure: Regenerate.
6573         * intl.c: Hardcode package name as "gcc".
6574
6575         * cppinit.c: Include except.h.
6576         (builtin_array): Define __USING_SJLJ_EXCEPTIONS__ when
6577         appropriate.
6578         * unwind-dw2.c, unwind-sjlj.c, config/ia64/unwind-ia64.c:
6579         Use #if(n)def __USING_SJLJ_EXCEPTIONS, not #if
6580         (!)USING_SJLJ_EXCEPTIONS.
6581         * doc/cpp.texi: Document __USING_SJLJ_EXCEPTIONS__.
6582
6583 2002-01-08  Joseph S. Myers  <jsm28@cam.ac.uk>
6584
6585         * doc/tm.texi (ASM_OUTPUT_EH_REGION_BEG, ASM_OUTPUT_EH_REGION_END,
6586         ASM_OUTPUT_LABELREF_AS_INT, DOESNT_NEED_UNWINDER, EH_TABLE_LOOKUP,
6587         OBJC_SELECTORS_WITHOUT_LABELS, OMIT_EH_TABLE): Remove
6588         documentation of obsolete macros.
6589         * system.h: Poison these macros.
6590         * config/d30v/d30v.h, config/ns32k/encore.h,
6591         config/stormy16/stormy16.h: Remove definitions and commented out
6592         definitions of obsolete macros.
6593
6594 Tue Jan  8 15:56:41 2002  Nicola Pero  <nicola@brainstorm.co.uk>
6595
6596         * objc/objc-act.c (handle_class_ref): Mark the declaration of
6597         %sobjc_class_ref_%s as used - to prevent unwanted compiler
6598         warnings.
6599
6600 2002-01-08  Ulrich Weigand  <uweigand@de.ibm.com>
6601
6602         * config/s390/linux.h (ASM_OUTPUT_LABELREF): Remove.
6603         * config/s390/s390.c (s390_emit_epilog): Add REG_FRAME_RELATED_EXPR
6604         to insn adjusting stack/frame pointer.
6605         * config/s390/s390.md (reload_la_64, reload_la_31): Do not
6606         accept operands that cause the insn to be non-splittable.
6607
6608 2002-01-08  Graham Stott  <grahams@redhat.com>
6609
6610         * c-tree.h (C_TYPE_FIELDS_READONLY): Uppercase macro parameter.
6611         (C_TYPE_FIELDS_VOLATILE): Likewise.
6612         (C_TYPE_BEING_DEFINED): Likewise.
6613         (C_IS_RESERVED_WORD): Likewise.
6614         (C_TYPE_VARIABLE_SIZE): Likewise.
6615         (C_DECL_VARIABLE_SIZE): Likewise.
6616         (C_MISSING_PROTOTYPE_WARNED): Likewise.
6617         (C_SET_EXP_ORIGINAL_CODE): Likewise.
6618         (C_TYPEDEF_EXPLICITLY_SIGNED): Uppercase macro parameter and remove
6619         parenthesis.
6620         (C_DECL_ANTICIPATED): Likewise.
6621         (c_build_type_variant): Add parenthesis.
6622
6623 2002-01-08  Joseph S. Myers  <jsm28@cam.ac.uk>
6624
6625         * gcc.c (option_map): Remove --version.
6626         (process_command): Handle -fversion following the GNU Coding
6627         Standards.  Partially addresses PR other/704.
6628
6629 2002-01-08  Graham Stott  <grahams@redhat.com>
6630
6631         * combine.c (combine_instructions): Fix typo.
6632
6633 2002-01-08  Graham Stott  <grahams@redhat.com>
6634
6635         * debug.h: Use "tree" and "rtx" throughout.
6636
6637         * debug.c: Likewise.
6638
6639 2002-01-08  Nick Clifton  <nickc@cambridge.redhat.com>
6640
6641         * dbxout.c (dbxout_symbol_location): If a symbol ref is in the
6642         constant pool, use the pool's version of the symbol instead.
6643
6644 2002-01-07  Richard Henderson  <rth@redhat.com>
6645
6646         * regrename.c (find_oldest_value_reg): Ignore the value chain if
6647         the original register was copied in a mode with a fewer number of
6648         hard registers than the desired mode.
6649         (copyprop_hardreg_forward_1): Likewise.
6650         (debug_value_data): Fix loop test.
6651         * toplev.c (parse_options_and_default_flags): Reenable
6652         -fcprop-registers at -O1.
6653
6654 2002-01-07  Aldy Hernandez  <aldyh@redhat.com>
6655
6656         * config/rs6000/rs6000.c (bdesc_2arg): Add altivec predicates.
6657         (altivec_init_builtins): New node v4si_ftype_v16qi_v16qi.
6658
6659         * config/rs6000/rs6000.h (rs6000_builtins): Add enums for altivec
6660         predicates.
6661
6662         * config/rs6000/rs6000.md: Add altivec predicate patterns.
6663
6664 2002-01-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6665
6666         * pa.c (FUNC_BEGIN_PROLOG_LABEL, current_function_number): Define.
6667         (pa_output_function_prologue): Output local label at the beginning of
6668         the prologue when profiling.
6669         (hppa_profile_hook): Use the local label rather than the function label.
6670         * pa.h (PROFILE_BEFORE_PROLOGUE): Define.
6671
6672 2002-01-07  Aldy Hernandez  <aldyh@redhat.com>
6673
6674         * config/rs6000/rs6000.c (print_operand): Remove extra space.
6675         (altivec_expand_unop_builtin): Fix thinko.
6676         (altivec_expand_binop_builtin): Same.
6677         (altivec_expand_ternop_builtin): Same.
6678         (altivec_expand_builtin): Same.
6679
6680 2002-01-07  Richard Henderson  <rth@redhat.com>
6681
6682         * config/rs6000/xcoff.h (ASM_FILE_START): Reverted to profile_flag.
6683
6684 2002-01-07  Jason Merrill  <jason@redhat.com>
6685
6686         * unwind-dw2.c (execute_cfa_program): Use < again.
6687
6688 2002-01-07  Jakub Jelinek  <jakub@redhat.com>
6689
6690         * predict.c (combine_predictions_for_insn): Avoid division by zero.
6691
6692 2002-01-07  Jakub Jelinek  <jakub@redhat.com>
6693
6694         * simplify-rtx.c (simplify_plus_minus): Bump n_ops for NOT.
6695         Don't allow -1 - x -> ~x simplifications in the first pass.
6696
6697 2002-01-07  Aldy Hernandez  <aldyh@redhat.com>
6698
6699         * rs6000.c (altivec_expand_ternop_builtin): Don't die on invalid
6700         arguments.
6701         (altivec_expand_binop_builtin): Same.
6702         (altivec_expand_unop_builtin): Same.
6703         (print_operand): Fix typo.
6704         (bdesc_1arg): Add vupk* variants.
6705
6706         * rs6000.h (rs6000_builtins): Add vupk* enums.
6707
6708         * rs6000.md: Add altivec_vupk* variants.
6709
6710 2002-01-07  Joseph S. Myers  <jsm28@cam.ac.uk>
6711
6712         * doc/gcc.texi, doc/gccint.texi, doc/cppinternals.texi,
6713         doc/install.texi, doc/invoke.texi, doc/rtl.texi: Update copyright
6714         and last update dates.
6715
6716 2002-01-07  Janis Johnson  <janis187@us.ibm.com>
6717
6718         * doc/rtl.texi (Flags): Clean up documentation of RTL flags
6719
6720 2002-01-07  Marek Michalkiewicz  <marekm@amelek.gda.pl>
6721
6722         * config/avr/avr.c (avr_mcu_types): Add new MCU types.
6723         * config/avr/avr.h (CPP_SPEC): Likewise.
6724         (LINK_SPEC): Likewise.
6725         (CRT_BINUTILS_SPECS): Likewise.
6726         * config/avr/t-avr (MULTILIB_MATCHES): Likewise.
6727         * doc/invoke.texi (AVR Options): Document them.
6728
6729 Mon Jan  7 11:59:34 CET 2002  Jan Hubicka  <jh@suse.cz>
6730
6731         * unroll.c (copy_loop_body): Always properly update JUMP_LABEL and
6732         LABEL_NUSES.
6733
6734 2002-01-07  Graham Stott  <grahams@redhat.com>
6735
6736         * config/i386/i386.h: Update copyright date.
6737         (HALF_PIC_PTR): Add parenthesis.
6738         (OPTIMIZATION_OPTIONS): Whitespace, add parenthesis and wrap.
6739         (CONSTANT_ALIGNMENT): Add parenthesis.
6740         (DATA_ALIGNMENT): Likewise.
6741         (LOCAL_ALIGNMENT): Likewise.
6742         (FUNCTION_ARG_BOUNDARY): Whitespace, add parenthesis and wrap.
6743         (IS_STACK_MODE): Uppercase macro parameter, add parenthesis and wrap.
6744         (CONDITIONAL_REGISTER_USAGE): Wrap in do {...} while (0).
6745         (HARD_REGNO_NREGS): Add paranethesis.
6746         (VALID_SSE_REG_MODE): Whitespace.
6747         (VALID_MMX_REG_MODE): Whitespace.
6748         (VALID_FP_MODE_P): Uppercase macros parameter and whitespace.
6749         (ix86_hard_regno_mode_ok): Add parenthesis.
6750         (HARD_REGNO_CALLER_SAVE_MODE): Whitespace.
6751         (RETURN_IN_MEMORY): Whitespace.
6752         (N_REG_CLASSES): Add parenthesis.
6753         (INTEGER_CLASS_P): Add parenthesis and wrap.
6754         (FLOAT_CLASS_P): Likewise.
6755         (SSE_CLASS_P): Likewise.
6756         (MMX_CLASS_P): Likewise.
6757         (MAYBE_INTEGER_CLASS_P): Likewise.
6758         (MAYBE_FLOAT_CLASS_P): Likewise.
6759         (MAYBE_SSE_CLASS_P): Likewise.
6760         (MAYBE_MMX_CLASS_P): Likewise.
6761         (Q_CLASS_P): Likewise.
6762         (GENERAL_REGNO_P): Uppercase macro parameter.
6763         (REX_INT_REGNO_P): Uppercase macro parameter and wrap.
6764         (FP_REGNO_P): Likewise.
6765         (ANY_FP_REGNO_P): Uppercase macro parameter.
6766         (SSE_REGNO_P): Likewise.
6767         (SSE_REGNO): Likewise.
6768         (SSE_REG_P): Likewise.
6769         (SSE_FLOAT_MODE_P): Likewise.
6770         (MMX_REGNO_P): Likewise.
6771         (MMX_REG_P):Likewise.
6772         (STACK_REG_P): Likewise.
6773         (NON_STACK_REG_P): Likewise.
6774         (STACK_TOP_P): Likewise.
6775         (CONVERT_HARD_REGISTER_TO_SSA_P): Add parenthesis.
6776         (PREFERRED_RELOAD_CLASS): Add parenthesis and whitespace.
6777         (SECONDARY_MEMORY_NEEDED): Likewise.
6778         (SECONDARY_OUTPUT_RELOAD_CLASS): Whitespace.
6779         (MD_ASM_CLOBBERS): Whitespace and wrap.
6780         (MUST_PASS_IN_STACK): Whitespace and wrap.
6781         (RETURN_POPS_ARGS): Add parenthesis.
6782         (INIT_CUMULATIVE_ARGS): Likewise.
6783         (FUNCTION_ARG): Likewise.
6784         (FUNCTION_OK_FOR_SIBCALL): Add parenthesis and whitespace.
6785         (SETUP_INCOMING_VARARGS): Likewise.
6786         (BUILD_VA_LIST_TYPE):  Add parenthesis.
6787         (EXPAND_BUILTIN_VA_START): Uppercase macro paremeters and add
6788         parenthsis.
6789         (EXPAND_BUILTIN_VA_ARG): Likewise.
6790         (FUNCTION_PROFILER): Wrap in do { ... } while (0) and add parenthesis.
6791         (INITIALIZE_TRAMPOLINE): Add parenthesis.
6792         (INITIAL_ELIMINATION_OFFSET): Likewise.
6793         (REGNO_OK_FOR_INDEX_P): Add parenthesis.
6794         (REGNO_OK_FOR_BASE_P): Likewise.
6795         (REGNO_OK_FOR_SIREG_P): Add parenthesis and wrap.
6796         (REGNO_OK_FOR_DIREG_P): Likewise.
6797         (REG_OK_FOR_INDEX_P): Whitespace.
6798         (REG_OK_FOR_BASE_P): Whitespace.
6799         (GO_IF_LEGITIMATE_ADDRESS): Wrap in do { ... } while (0) and add
6800         parenthesis.
6801         (FIND_BASE_TERM): Fix typo.
6802         (LEGITIMIZE_ADDRESS): Wrap in  { .. } while (0) and add parenthesis.
6803         (REWRITE_ADDRESS): Uppercase macro parameter and whitespace.
6804         (SYMBOLIC_CONST; Whitespace.
6805         (GO_IF_MODE_DEPENDENT_ADDRESS):Wrap in  { .. } while (0) and wrap.
6806         (ENCODE_SECTION_INFO): Whitespace.
6807         (FINALIZE_PIC): Remove do { ... } while (0).
6808         (PROMOTE_MODE): Wrap in do { ... } while (0).
6809         (CONST_COSTS): Whitespace.
6810         (RTX_COSTS): Add paramethesis, whitespace and wrap.
6811         (REGISTER_MOVE_COST): Add parenthesis.
6812         (MEMORY_MOVE_COST): Likewise.
6813         (EXTRA_CC_MODES): Whitespace.
6814         (SELECT_CC_MODE): Add parenthesis and whitespace.
6815         (DBX_REGISTER_NUMBER): Uppercase macro parameter and add parenthsis.
6816         (ASM_PREFERRED_EH_DATA_FORMAT): Add parenthesis and whitespace.
6817         (ASM_OUTPUT_LABEL): Add paramethesis.
6818         (ASM_OUTPUT_REG_PUSH): Add parenthesis and whitespace.
6819         (ASM_OUTPUT_REG_POP): Likewise.
6820         (ASM_OUTPUT_ADDR_VEC_ELT): Add parenthesis.
6821         (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
6822
6823         * config/i386/i386.c: Update copyright.
6824         (CHECK_STACK_LIMIT): Add parenthesis.
6825         (AT_BP): Uppercase macro parameter.
6826         (x86_64_int_parameter_registers): Constify.
6827         (x86_64_int_return_registers): Likewise.
6828         (ix86_compare_op0): Use rtx.
6829         (construct_container): Constify INTREG parameter.
6830         (function_arg): Use rtx.
6831
6832         * diagnostic.h: Update copyright date.
6833         (output_buffer_state): Add parenthesis.
6834         (output_buffer_format_args): Likewise.
6835
6836         * combine.c (combine_instructions): Replace XEXP (links, 0)
6837         with link.
6838
6839 2002-01-06  H.J. Lu <hjl@gnu.org>
6840
6841         * cfgcleanup.c (thread_jump): Fix 2 typos.
6842
6843 2002-01-06  Aldy Hernandez  <aldyh@redhat.com>
6844
6845         * config.gcc: Add support for --enable-altivec.
6846
6847 2002-01-06  Craig Rodrigues  <rodrigc@gcc.gnu.org>
6848
6849         * emit-rtl.c (gen_highpart): Add check for NULL_RTX.
6850
6851 2002-01-06  Jakub Jelinek  <jakub@redhat.com>
6852
6853         * objc/objc-act.c (handle_impent): Use assemble_variable to emit
6854         __objc_class_name_*.
6855
6856 2002-01-06  Craig Rodrigues  <rodrigc@gcc.gnu.org>
6857
6858         * doc/install.texi (sparcv9-*-solaris2*): Add documentation.
6859
6860 2002-01-06  Richard Henderson  <rth@redhat.com>
6861
6862         * reorg.c (emit_delay_sequence): Remove death notes, not merely
6863         nop them out.  Increment label reference count for REG_LABEL.
6864         (fill_slots_from_thread): Frob label reference count around
6865         delete_related_insns.
6866
6867 2002-01-05  Richard Henderson  <rth@redhat.com>
6868
6869         * cfgcleanup.c (try_forward_edges): Detect infinite loops while
6870         jump threading.
6871
6872 2002-01-05  Richard Henderson  <rth@redhat.com>
6873
6874         * c-decl.c (c_expand_body): Don't call outlining_inline_function.
6875         * integrate.c (output_inline_function): Likewise.
6876         * toplev.c (rest_of_compilation): Do it here instead.  Move call
6877         to remove_unnecessary_notes after emitting abstract instance.
6878         Force an emitted nested function to have its parent emited as well.
6879         * dwarf2out.c (loc_descriptor_from_tree): Read mode after checking
6880         for null.
6881         (rtl_for_decl_location): Do not look at reload data structures
6882         before reload has run.
6883
6884 2002-01-05  Kazu Hirata  <kazu@hxi.com>
6885
6886         * cse.c: Fix formatting.
6887         * dwarf2asm.c: Likewise.
6888         * dwarf2out.c: Likewise.
6889         * explow.c: Likewise.
6890         * expmed.c: Likewise.
6891         * function.c: Likewise.
6892         * gcov.c: Likewise.
6893         * gencheck.c: Likewise.
6894         * genrecog.c: Likewise.
6895         * ggc-common.c: Likewise.
6896         * ggc-page.c: Likewise.
6897         * global.c: Likewise.
6898
6899 2002-01-05  Kazu Hirata  <kazu@hxi.com>
6900
6901         * combine.c: Fix formatting.
6902
6903 2002-01-05  Craig Rodrigues  <crodrigu@bbn.com>
6904
6905         PR middle-end/1557
6906         * config/ia64/ia64.h (RENAME_EXTENDED_BLOCKS): Remove.
6907
6908 2002-01-05  David Edelsohn  <edelsohn@gnu.org>
6909
6910         * config/rs6000/rs6000.h (TARGET_POWERPC): For IN_LIBGCC2, define
6911         as 1 for __powerpc64__ as well.
6912
6913         * config/rs6000/t-aix43 (T_ADAFLAGS): Define.
6914
6915         * alias.c (find_base_value, PLUS/MINUS): If we found a base,
6916         return it.
6917
6918 2002-01-05  Daniel Berlin  <dan@dberlin.org>
6919
6920         * lcm.c: Revert change, due to performance regression it causes on
6921         SPEC because it's slightly more conservative (sigh, I hate
6922         edge-based LCM).
6923
6924 Sat Jan  5 11:52:05 CET 2002  Jan Hubicka  <jh@suse.cz>
6925
6926         * cfgcleanup.c (try_forward_edges): Allow multiple jump threading.
6927
6928 2002-01-05  Neil Booth  <neil@daikokuya.demon.co.uk>
6929
6930         * doc/cppinternals.texi: Update.
6931
6932 2002-01-05  Hans-Peter Nilsson  <hp@bitrange.com>
6933
6934         * doc/invoke.texi (Option Summary) <MMIX Options>: Document
6935         -mbranch-predict, -mreg-stack-fill-bug-workaround and their
6936         negatives.
6937         (MMIX Options): Ditto.  Fix item/itemx typo for -mno-zero-extend.
6938         * config/mmix/mmix.c (mmix_target_asm_function_prologue): Rework
6939         kludge for pre-october-14th mmix versions to handle new-found bug
6940         with PUSHJ/PUSHGO and the register stack.
6941         * config/mmix/mmix.h (struct machine_function): Rename member
6942         has_call_value_without_parameters to has_call_without_parameters.
6943         All referers changed.
6944         (TARGET_MASK_REG_STACK_FILL_BUG, TARGET_DEFAULT
6945         TARGET_MASK_BRANCH_PREDICT): New macros.
6946         (TARGET_SWITCHES): New options -mreg-stack-fill-bug-workaround,
6947         -mno-reg-stack-fill-bug-workaround.
6948         * config/mmix/mmix.md ("call"): Set struct machine member
6949         has_call_without_parameters.
6950
6951 Sat Jan  5 02:20:22 CET 2002  Jan Hubicka  <jh@suse.cz>
6952
6953         * cfgcleanup.c (thread_jump): Fix handling of reversed branches.
6954
6955 Sat Jan  5 01:35:29 CET 2002  Jan Hubicka  <jh@suse.cz>
6956
6957         * cfgcleanup.c: Include tm_p.h
6958         (mark_effect): Fix handling of hard register; fix handling of SET
6959
6960 2002-01-04  Kazu Hirata  <kazu@hxi.com>
6961
6962         * config/h8300/h8300.md (anonymous patterns): Check that
6963         operands are registers before using REGNO on them.
6964
6965 2002-01-03  Roland McGrath  <roland@frob.com>
6966
6967         * doc/invoke.texi (RS/6000 and PowerPC Options): Add -mcall-gnu.
6968
6969 2002-01-04  Jakub Jelinek  <jakub@redhat.com>
6970
6971         * tree.h (expand_expr_stmt_value): Add maybe_last argument.
6972         * c-common.h (genrtl_expr_stmt_value): Likewise.
6973         * stmt.c (expand_expr_stmt): Pass 1 as maybe_last.
6974         (expand_expr_stmt_value): Add maybe_last argument.
6975         Don't warn about statement with no effect if it is the last statement
6976         in expression statement.
6977         * c-semantics.c (genrtl_expr_stmt): Pass 1 as maybe_last.
6978         (genrtl_expr_stmt_value): Add maybe_last argument, pass it down to
6979         expand_expr_stmt_value.
6980         (expand_stmt) [EXPR_STMT]: Pass 1 as maybe_last to
6981         genrtl_expr_stmt_value if t is the last EXPR_STMT in its scope.
6982         * expr.c (expand_expr) [LABELED_BLOCK_EXPR, LOOP_EXPR]: Pass 1
6983         as maybe_last to expand_expr_stmt_value.
6984
6985 Fri Jan  4 11:45:05 2002  Jeffrey A Law  (law@redhat.com)
6986
6987         * c-common.c (c_expand_start_cond): Expect the IF_STMT node to
6988         be passed in, do not build it.
6989         (c_begin_if_stmt): New function.
6990         (c_begin_while_stmt, c_finish_while_stmt_cond): Likewise.
6991         * c-common.h (c_expand_start_cond): Update prototype.
6992         (c_begin_if_stmt): Prototype new function.
6993         (c_begin_while_stmt, c_finish_while_stmt_cond): Likewise.
6994         * c-parse.in (if_prefix): Use c_begin_if_stmt,
6995         c_begin_while_stmt and c_finish_while_stmt_cond.
6996
6997 2002-01-04  William Cohen  <wcohen@redhat.com>
6998
6999         * config/pa/elf.h (ASM_FILE_START): Reverted to profile_flag.
7000         * config/pa/pa-linux.h (ASM_FILE_START): Likewise.
7001         * config/pa/pa64-hpux.h (ASM_FILE_START): Likewise.
7002         * config/pa/som.h (ASM_FILE_START): Likewise.
7003
7004 2002-01-04  Daniel Berlin  <dan@cgsoftware.com>
7005
7006         * lcm.c: Include df.h.
7007         Add available_transfer_function prototype.
7008         (compute_available): Rework to use iterative dataflow framework.
7009         (struct bb_info): s/bb_info/lcm_bb_info/g to avoid conflict
7010         with bb_info in df.h
7011         (available_transfer_function): New function.
7012
7013         * Makefile.in (lcm.o): add df.h to dependencies.
7014
7015 2002-01-04  Richard Henderson  <rth@redhat.com>
7016
7017         * config/alpha/alpha.c (some_operand): Accept HIGH.
7018         (input_operand): Likewise; accept simple references to globals.
7019         (alpha_const_ok_for_letter_p): New, outlined from alpha.h.
7020         (alpha_const_double_ok_for_letter_p): Likewise.
7021         (alpha_extra_constraint): Likewise.
7022         (alpha_preferred_reload_class): Likewise.  Do not force
7023         symbolic constants to memory.
7024         (alpha_legitimate_address_p): Accept simple references
7025         to small_symbolic_operand.
7026         (alpha_legitimize_address): New arg scratch.  Be prepared to be
7027         called when no_new_pseudos.  Emit simple symbolic references.
7028         Split integers into low, high, and rest.
7029         (alpha_expand_mov): Use alpha_legitimize_address.
7030         (some_small_symbolic_mem_operand): New.
7031         (split_small_symbolic_mem_operand): New.
7032         * config/alpha/alpha-protos.h: Update.
7033         * config/alpha/alpha.h (CONST_OK_FOR_LETTER_P): Out-line.
7034         (CONST_DOUBLE_OK_FOR_LETTER_P): Likewise.
7035         (EXTRA_CONSTRAINT): Likewise.
7036         (PREFERRED_RELOAD_CLASS): Likewise.
7037         (LEGITIMIZE_ADDRESS): Update for alpha_legitimize_address change.
7038         (PREDICATE_CODES): Update.
7039         * config/alpha/alpha.md: New post-reload splitters to convert
7040         simplfied symbolic operands to the form that references $29.
7041         (divide expanders): Use emit_move_insn, not gen_movdi_er_high_g.
7042         (movdi_er_nofix, movdi_er_fix): Accept any symbolic operand.
7043
7044 2002-01-03  Richard Henderson  <rth@redhat.com>
7045
7046         * local-alloc.c (function_invariant_p): Update commentary.
7047
7048 2002-01-04  H.J. Lu <hjl@gnu.org>
7049
7050         * toplev.c (rest_of_compilation): Fix a typo when calling
7051         cleanup_cfg.
7052
7053 2002-01-03  Kazu Hirata  <kazu@hxi.com>
7054
7055         * c-common.c: Fix formatting.
7056         * diagnostic.c: Likewise.
7057         * doloop.c: Likewise.
7058         * dwarf2out.c: Likewise.
7059
7060 2002-01-03  Kazu Hirata  <kazu@hxi.com>
7061
7062         * config/h8300/h8300.c (output_logical_op): Use 'not.w' instead
7063         of 'neg.w' when xoring with 0x0000ffff or 0xffff0000.
7064
7065 2002-01-03  Neil Booth  <neil@daikokuya.demon.co.uk>
7066
7067         * cpperror.c: Update comments and copyright.
7068         * cppexp.c, cppfiles.c, cpphash.c, cpphash.h, cppinit.c,
7069         cpplex.c, cpplib.c, cpplib.h, cppmacro.c, cppmain.c: Similarly.
7070
7071 2002-01-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7072
7073         * collect2.c (main): Use strcmp when testing for "-shared".
7074
7075 2002-01-03  Neil Booth  <neil@daikokuya.demon.co.uk>
7076
7077         * cppmacro.c: Don't include intl.h.  Update comments.
7078         (new_number_token): Allocate enough buffer for 64-bit unsigned
7079         integers; update prototype.
7080         * cppmain.c: Update comments.
7081
7082 2002-01-03  William Cohen  <wcohen@redhat.com>
7083
7084         * function.h (struct function): Add profile.
7085         (current_function_profile): New.
7086         doc/extend.texi: Update documentation.
7087         * final.c (final_start_function): Use current_function_profile
7088         instead of profile_flag.
7089         (profile_after_prologue): Likewise.
7090         * function.c (expand_function_start): Likewise.
7091         (expand_function_start): Likewise.
7092         * config/alpha/alpha.c (direct_call_operand):
7093         (alpha_does_function_need_gp): Likewise.
7094         (alpha_expand_prologue): Likewise.
7095         * config/arm/arm.c (arm_expand_prologue): Likewise.
7096         thumb_expand_prologue: Likewise.
7097         * config/d30v/d30v.c (d30v_stack_info): Likewise.
7098         * config/fr30/fr30.c (MUST_SAVE_RETURN_POINTER): Likewise.
7099         (fr30_expand_prologue): Likewise.
7100         * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Likewise.
7101         * config/i386/i386.c (ix86_osf_output_function_prologue): Likewise.
7102         * config/i386/i386.h (FINALIZE_PIC): Likewise.
7103         * config/i386/win32.h (SUBTARGET_PROLOGUE): Likewise.
7104         * config/i960/i960.c (i960_output_function_prologue): Likewise.
7105         * config/ia64/ia64.c (ia64_compute_frame_size): Likewise.
7106         * config/m32r/m32r.c (MUST_SAVE_RETURN_ADDR): Likewise.
7107         (m32r_expand_prologue): Likewise.
7108         * config/m88k/m88k.c (m88k_layout_frame): Likewise.
7109         (m88k_expand_prologue): Likewise.
7110         * config/m88k/m88k.h (ADJUST_INSN_LENGTH): Likewise.
7111         * config/mips/mips.c (compute_frame_size): Likewise.
7112         (mips_expand_prologue): Likewise.
7113         (mips_can_use_return_insn): Likewise.
7114         * config/pa/elf.h (ASM_FILE_START): Likewise.
7115         * config/pa/pa-linux.h (ASM_FILE_START): Likewise.
7116         * config/pa/pa64-hpux.h (ASM_FILE_START): Likewise.
7117         * config/pa/som.h (ASM_FILE_START): Likewise.
7118         * config/romp/romp.c (romp_using_r14): Likewise.
7119         * config/rs6000/rs6000.c (first_reg_to_save): Likewise.
7120         (rs6000_stack_info): Likewise.
7121         * config/rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
7122         * config/rs6000/xcoff.h (ASM_FILE_START): Likewise.
7123         * config/v850/v850.c (compute_register_save_size): Likewise.
7124
7125 2002-01-03  Jakub Jelinek  <jakub@redhat.com>
7126
7127         * simplify-rtx.c (simplify_binary_operation) [DIV]: If
7128         gen_lowpart_common fails, use gen_lowpart_SUBREG.
7129
7130 2002-01-03  Turly O'Connor  <turly@apple.com>
7131
7132         * darwin.c (machopic_output_possible_stub_label): Don't generate
7133         stub routines for pseudo-stubs which we've just defined.
7134
7135 2002-01-03  Kazu Hirata  <kazu@hxi.com>
7136
7137         * builtins.c: Fix formatting.
7138         * c-typeck.c: Likewise.
7139         * combine.c: Likewise.
7140         * expr.c: Likewise.
7141         * loop.c: Likewise.
7142
7143 2002-01-03  Andreas Schwab  <schwab@suse.de>
7144
7145         * cppfiles.c (_cpp_pop_file_buffer): Change return type to bool
7146         and return true if _cpp_push_next_buffer pushed a new include
7147         file.
7148         * cpplib.c (_cpp_pop_buffer): Only call obstack_free if
7149         _cpp_pop_file_buffer did not push a new file.
7150         * cpphash.h (_cpp_pop_file_buffer): Update declaration.
7151
7152 2002-01-02  Eric Christopher  <echristo@redhat.com>
7153
7154         * final.c (final_scan_insn): Change 0 -> NULL_RTX in
7155         FIND_REG_INC_NOTE call. Update copyright.
7156         * loop.c (canonicalize_condition): Ditto.
7157         * reorg.c (delete_scheduled_jump): Ditto.
7158
7159 2002-01-03  Kazu Hirata  <kazu@hxi.com>
7160
7161         * gcse.c: Fix formatting.
7162
7163 2002-01-03  Graham Stott  <grahams@redhat.com>
7164
7165         * mkconfig.sh: Output to config.h, hconfig.h and tconfig.h
7166         forward defs for struct tags rtx_def, union_tree, rtvec_def
7167         also output corresponding typedefs for rtx, tree, and rtvec.
7168
7169         * system.h: Move forward defs for struct tags rtx_def, union_tree,
7170         rtvec_def along with corresponding typedefs for rtx, tree, and
7171         rtvec to config.h, hconfig.h, tconfig.h.
7172
7173 2002-01-03  Graham Stott  <grahams@redhat.com>
7174
7175         * tree.h: Update copyright date.
7176         (IS_EXPR_CODE_CLASS): Add parenthesis.
7177         (TREE_SET_CODE): Add whitespace.
7178         (TREE_CHECK): Add parenthesis.
7179         (TREE_CLASS_CODE): Add parenthesis and wrap long line.
7180         (CST_OR_CONSTRUCTOR_CHECK):
7181         (EXPR_CHECK): Add parenthis, whitespace and wrap line.
7182         (TREE_SYMBOL_REFERENCED): Whitespace.
7183         (INT_CST_LT): Likewise.
7184         (INT_CST_LT_UNSIGNED): Likewise.
7185         (tree_real_cst): Unwrap comment.
7186         (tree_string): Likewise.
7187         (tree_complex): Likewise.
7188         (IDENTIFIER_POINTER): correct cast.
7189         (SAVE_EXPR_CONTEXT): Whitespace.
7190         (EXPR_WFL_FILENAME_NODE): Likewise.
7191         (EXPR_WFL_FILENAME): Remove parenthesis.
7192         (DECL_ORIGIN): Add parenthesis.
7193         (DECL_FROM_INLINE): Use NULL_TREE.
7194         (build_int_2): Whitespace.
7195         (build_type_variant): Add parenthesis.
7196
7197         * gcc/jcf-parse.c: Update copyright date.
7198         (yyparse): Constify resource_filename.
7199
7200 2002-01-03  Graham Stott  <grahams@redhat.com>
7201
7202         * rtl.h: Update copyright date.
7203         (RTL_CHECK1): Wrap long line.
7204         (RTL_CHECK2): Likewise.
7205         (RTL_CHECKC1): Wrap long line and whitespace.
7206         (RTL_CHECKC2): Likewise.
7207         (XWINT): Whitespace.
7208         (XINT): Likewise.
7209         (XSTR): Likewise.
7210         (XEXP): Likewise.
7211         (XVEC): Likewise.
7212         (XMODE): Likewise.
7213         (XBITMAP): Likewise.
7214         (XTREE): Likewise.
7215         (XBBDEF): Likewise.
7216         (XTMPL): Likewise.
7217         (X0WINT): Likewise.
7218         (X0INT):Likewise.
7219         (X0UINT): Likewise.
7220         (X0STR): Likewise.
7221         (X0EXP): Likewise.
7222         (X0VEC): Likewise.
7223         (X0MODE): Likewise.
7224         (X0BITMAP): Likewise.
7225         (X0TREE): Likewise.
7226         (X0BBDEF): Likewise.
7227         (X0ADVFLAGS): Likewise.
7228         (X0CSELIB): Likewise.
7229         (X0MEMATTR): Likewise.
7230         (XCWINT): Likewise.
7231         (XCINT): Likewise.
7232         (XCUINT): Likewise.
7233         (XCSTR): Likewise.
7234         (XCEXP): Likewise.
7235         (XCVEC): Likewise.
7236         (XCMODE): Likewise.
7237         (XCBITMAP): Likewise.
7238         (XCTREE): Likewise.
7239         (XCBBDEF): Likewise.
7240         (XCADVFLAGS): Likewise.
7241         (XCCSELIB): Likewise.
7242         (XC2EXP): Likewise.
7243         (INSN_UID): Likewise.
7244         (PREV_INSN): Likewise.
7245         (PATTERN): Likewise.
7246         (INSN_CODE): Likewise.
7247         (PUT_REG_NOTE_KIND): Likewise.
7248         (CODE_LABEL_NUMBER): Likewise.
7249         (NOTE_SOURCE_FILE): Likewise.
7250         (NOTE_BLOCK): Likewise.
7251         (NOTE_EH_HANDLER): Likewise.
7252         (NOTE_RANGE_INFO): Likewise.
7253         (NOTE_LIVE_INFO): Likewise.
7254         (NOTE_BASIC_BLOCK): Likewise.
7255         (NOTE_EXPECTED_VALUE): Likewise.
7256         (NOTE_LINE_NUMBER): Likewise.
7257         (LABEL_NAME): Likewise.
7258         (LABEL_NUSES): Likewise.
7259         (LABEL_ALTERNATE_NAME): Likewise.
7260         (ADDRESSOF_DECL): Likewise.
7261         (JUMP_LABEL): Likewise.
7262         (LABEL_NEXTREF): Likewise.
7263         (REGNO): Likewise.
7264         (ORIGINAL_REGNO: Likewise.
7265         (HARD_REGISTER_NUM_P): Add parenthesis.
7266         (SUBREG_REG): Whitespace.
7267         (SUBREG_BYTE): Likewise.
7268         (ASM_OPERANDS_TEMPLATE): Remove parenthesis.
7269         (ASM_OPERANDS_OUTPUT_CONSTRAINT): Likewise.
7270         (ASM_OPERANDS_OUTPUT_IDX): Likewise.
7271         (ASM_OPERANDS_INPUT_VEC): Likewise.
7272         (ASM_OPERANDS_INPUT_CONSTRAINT_VEC): Likewise.
7273         (ASM_OPERANDS_INPUT): Likewise.
7274         (ASM_OPERANDS_INPUT_LENGTH): Likewise.
7275         (ASM_OPERANDS_INPUT_CONSTRAINT_EXP): Likewise.
7276         (ASM_OPERANDS_INPUT_CONSTRAINT): Likewise.
7277         (ASM_OPERANDS_INPUT_MODE): Likewise.
7278         (ASM_OPERANDS_SOURCE_FILE): Likewise.
7279         (ASM_OPERANDS_SOURCE_LINE): Likewise.
7280         (MEM_SET_IN_STRUCT_P): Minor reformat.
7281         (TRAP_CONDITION): Whitespace.
7282         (TRAP_CODE): Likewise.
7283         (COND_EXEC_TEST): Likewise.
7284         (COND_EXEC_CODE): Likewise.
7285         (FIND_REG_INC_NOTE): Uppercase macro args and add parenthesis.
7286         (PHI_NODE_P): Add parenthesis.
7287         (plus_constant): Whitespace and add parenthesis.
7288
7289 2002-01-03  Kazu Hirata  <kazu@hxi.com>
7290
7291         * config/avr/avr.c: Fix comment typos.
7292         * config/c4x/c4x.md: Likewise.
7293         * config/dsp16xx/dsp16xx.h: Likewise.
7294         * config/dsp16xx/dsp16xx.md: Likewise.
7295         * config/i386/i386.md: Likewise.
7296         * config/ia64/ia64.c: Likewise.
7297         * config/m32r/m32r.h: Likewise.
7298         * config/m68hc11/m68hc11.md: Likewise.
7299         * config/mmix/mmix.c: Likewise.
7300         * config/mn10200/mn10200.c: Likewise.
7301         * config/romp/romp.c: Likewise.
7302         * config/sh/sh.c: Likewise.
7303         * config/stormy16/stormy16.c: Likewise.
7304         * config/stormy16/stormy16.h: Likewise.
7305         * config/stormy16/stormy16.md: Likewise.
7306
7307 2002-01-03  Graham Stott  <grahams@redhat.com>
7308
7309         * loop.h: Update copyright date.
7310         (LOOP_MOVABLES): Fix typo.
7311         (LOOP_REGS): Likewise.
7312         (LOOP_IVS): Likewise.
7313
7314 2002-01-03  Graham Stott  <grahams@redhat.com>
7315
7316         * cppinit.c: Update copyright date.
7317         Don't include output.h
7318         * Makefile.in: Update copyright date.
7319         Update dependency.
7320
7321 2002-01-02  Craig Rodrigues  <rodrigc@gcc.gnu.org>
7322
7323         PR c/5226
7324         * invoke.texi (-mthreads): Remove from documented RS/6000 options.
7325         (-pthread) Add to RS/6000 options.
7326
7327 2002-01-02  Kazu Hirata  <kazu@hxi.com>
7328
7329         * except.c: Fix comment typos.
7330         * loop.c: Likewise.
7331         * varasm.c: Likewise.
7332         * doc/tm.texi: Fix a typo.
7333
7334 2002-01-02  Jakub Jelinek  <jakub@redhat.com>
7335
7336         * c-typeck.c (output_init_element): Allow initializing static storage
7337         duration objects with compound literals.
7338
7339 2002-01-02  Richard Henderson  <rth@redhat.com>
7340
7341         * objc/objc-act.c (hack_method_prototype): Clear current_function_decl
7342         after abusing it.
7343
7344 2002-01-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7345
7346         * gcc.c (default_compilers): Const-ify.
7347         * mips-tdump.c (stab_names): Likewise.
7348         * mips-tfile.c (map_coff_types, map_coff_storage,
7349         map_coff_sym_type, map_coff_derived_type, stabs_symbol,
7350         pseudo_ops_t, pseudo_ops): Likewise.
7351         * protoize.c (default_include): Likewise
7352
7353         * real.c (GET_REAL, PUT_REAL): Don't cast away const-ness.
7354         (ezero, ehalf, eone, etwo, e32, elog2, esqrt2, epi): Const-ify.
7355         Add array size in declaration.
7356         (endian, emov, eisneg, eisinf, eisnan, eiisnan, eiisneg, emovi,
7357         emovo, emovz, eiisinf, ecmpm, eaddm, esubm, m16m, edivm, emulm,
7358         esub, eadd, eadd1, ediv, emul, e53toe, e64toe, e113toe, e24toe,
7359         etoe113, etoe64, etoe53, etoe24, ecmp, eround, ltoe, ultoe,
7360         eifrac, euifrac, e24toasc, e53toasc, e64toasc, e113toasc, etoasc,
7361         efloor, efrexp, eldexp, eremain, dectoe, etodec, ibmtoe, etoibm,
7362         c4xtoe, etoc4x, uditoe, ditoe, etoudi, etodi, esqrt, etens,
7363         emtens, make_nan): Const-ify.
7364         (TFbignan, TFlittlenan, XFbignan, XFlittlenan, DFbignan,
7365         DFlittlenan, SFbignan, SFlittlenan): Make static and const-ify.
7366
7367 2002-01-02  Joseph S. Myers  <jsm28@cam.ac.uk>
7368
7369         * config.gcc (ia64-*-*): Set extra_headers.
7370         (alpha*-dec-osf*): Likewise.  Don't use alpha/t-osf.
7371         * config/alpha/t-osf: Remove.
7372         * config/ia64/t-ia64 (EXTRA_HEADERS): Remove.
7373
7374 2002-01-02  David Edelsohn  <edelsohn@gnu.org>
7375
7376         * config/rs6000/t-aix43: Revert previous change.
7377
7378 2002-01-02  Jason Merrill  <jason@redhat.com>
7379
7380         * c-decl.c (c_expand_body): Call outlining_inline_function when
7381         emitting an inline function out of line.
7382
7383 2002-01-02  Richard Henderson  <rth@redhat.com>
7384
7385         * dwarf2out.c (limbo_die_node): Add created_for member.
7386         (new_die): New argument created_for.  Update all callers.
7387         (mark_limbo_die_list): New.
7388         (dwarf2out_init): Register limbo_die_list as a root.
7389         (dwarf2out_finish): Force insert limbo dies into their function
7390         context.
7391
7392 2002-01-02  Nathan Sidwell  <nathan@codesourcery.com>
7393
7394         PR c++/5089
7395         * doc/invoke.texi (-Wold-style-cast): Only warn about non-void casts.
7396
7397 2002-01-02  Kazu Hirata  <kazu@hxi.com>
7398
7399         * config/h8300/fixunssfsi.c: Update copyright.
7400         Fix comment typos.
7401         Fix formatting.
7402         * config/h8300/h8300.c: Update copyright.
7403         Eliminate warnings.
7404
7405 2002-01-02  Kazu Hirata  <kazu@hxi.com>
7406
7407         * config/romp/romp.c: Fix comment formatting.
7408         * config/romp/romp.h: Likewise.
7409         * config/romp/romp.md: Likewise.
7410         * config/s390/s390.c: Likewise.
7411         * config/stormy16/stormy16.c: Likewise.
7412         * config/stormy16/stormy16.h: Likewise.
7413
7414 2002-01-02  Alexandre Oliva  <aoliva@redhat.com>
7415
7416         * c-common.h (genrtl_expr_stmt_value): Declare.
7417         * c-semantics.c (genrtl_goto_stmt): Redirect to...
7418         (genrtl_goto_stmt_value): ... this new function.  Pass new
7419         argument down to expand_expr_stmt_value, taking
7420         TREE_ADDRESSABLE into account.
7421         * c-common.c (c_expand_expr): Mark the last EXPR_STMT of a
7422         STMT_EXPR as addressable, i.e., one whose result we want.
7423         * expr.c (expand_expr): Don't save expression statement value
7424         of labeled_blocks or loop_exprs.
7425         * stmt.c (expand_expr_stmt): Redirect to...
7426         (expand_expr_stmt_value): ... this new function.  Use new
7427         argument to tell whether to save expression value.
7428         (expand_end_stmt_expr): Reset last_expr_type and
7429         last_expr_value if we don't have either.
7430         * tree-inline.c (declare_return_variable): Mark its use
7431         statement as addressable.
7432         * tree.h: Document new use of TREE_ADDRESSABLE.
7433         (expand_expr_stmt_value): Declare.
7434
7435 2002-01-01  Tom Rix  <trix@redhat.com>
7436
7437         * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Fix for use by
7438         rs6000_emit_allocate_stack.
7439
7440 2002-01-01  Joseph S. Myers  <jsm28@cam.ac.uk>
7441
7442         * configure.in: Prepend ${srcdir}/config/${cpu_type}/ instead of
7443         ${srcdir}/ginclude/ to every entry in extra_headers.
7444         * configure: Regenerate.
7445         * ginclude/math-3300.h: Rename to config/m68k/math-3300.h.
7446         * ginclude/math-68881.h: Rename to config/m68k/math-68881.h.
7447         * ginclude/ppc-asm.h: Rename to config/rs6000/ppc-asm.h.
7448         * ginclude/proto.h: Rename to config/convex/proto.h.
7449
7450 Tue Jan  1 17:12:56 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7451
7452         * attribs.c (handle_vector_size_attribute): Use host_integerp
7453         and tree_int_cst; remove warnings.
7454         * caller-save.c (insert_restore): Add cast to get rid of warning.
7455         (insert_save): Likewise.
7456         * emit-rtl.c (adjust_address_1, offset_address): Likewise.
7457         * regmove.c (find_matches): Add temporary var to kill a warning.
7458
7459 2002-01-01  Douglas B Rupp  <rupp@gnat.com>
7460
7461         * config/alpha/vms.h (DWARF2_UNWIND_INFO, EH_RETURN_HANDLER_RTX,
7462         LINK_EH_SPEC, MD_FALLBACK_FRAME_STATE_FOR): Define.
7463         * config/alpha/t-vms (EXTRA_PARTS): Add vms-dwarf2eh.o
7464         (vms-dwarf2eh.o): Add Makefile rule.
7465         * config/alpha/vms-ld.c (main): Handle vms-dwarf2eh.o.
7466         * config/alpha/vms-dwarf2eh.asm: New file.
7467
7468         * gcc.c (delete_if_ordinary): Delete all versions.
7469
7470 2002-01-01  Hans-Peter Nilsson  <hp@bitrange.com>
7471
7472         * config/mmix/mmix.md: Update FIXME to not mention
7473         define_constants.
7474         (MMIX_rJ_REGNUM): New define_constants constant.
7475         ("movqi", "movsi", "movdi", "*movdicc_real_foldable",
7476         "*movdicc_real"): Adjust contraints formatting.
7477         ("*bCC_foldable"): Add %+ for P in output format and delete FIXME
7478         for branch prediction.
7479         ("*bCC", "*bCC_inverted_foldable", "*bCC_inverted"): Add %+ in
7480         output template.
7481         ("*call_real", "*call_value_real", "nonlocal_goto_receiver",
7482         "*nonlocal_goto_receiver_expanded"): Use MMIX_rJ_REGNUM instead of
7483         number.  Delete related FIXMEs.
7484         * config/mmix/mmix.h (MMIX_INCOMING_RETURN_ADDRESS_REGNUM): Change
7485         from number to MMIX_rJ_REGNUM.
7486         (TARGET_MASK_BRANCH_PREDICT): New.
7487         (TARGET_DEFAULT): Change to TARGET_MASK_BRANCH_PREDICT.
7488         (TARGET_SWITCHES): Update comment.  Correct -mno-toplevel-symbols
7489         value.  Add -mbranch-predict and -mno-branch-predict.
7490         (TARGET_VERSION): Drop date.
7491         (ADDITIONAL_REGISTER_NAMES): Use MMIX_rJ_REGNUM, not number.
7492         * config/mmix/mmix.c (mmix_encode_section_info): Correct condition
7493         for finding out global symbols.
7494         (mmix_asm_output_labelref): Revert condition for global symbol.
7495         (mmix_print_operand): <case '+'>: Emit P for a likely branch.
7496         (mmix_print_operand_punct_valid_p): A '+' is valid.
7497
7498 See ChangeLog.6 for earlier changes.