]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/gcc/ChangeLog
Merge FreeBSD modifications into gcc 3.2.1-prerelease:
[FreeBSD/FreeBSD.git] / contrib / gcc / ChangeLog
1 2002-08-29  Rodney Brown  <rbrown64@csc.com.au>
2
3         * doc/install.texi (Specific, alpha*-dec-osf*): Add "virtual
4         memory exhausted" workarounds.
5
6 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7
8         * install.texi (hppa64-hp-hpux11*): Document installation procedure.
9
10 2002-08-28  Jason Merrill  <jason@redhat.com>
11
12         * c-common.c (c_expand_expr) [STMT_EXPR]: If the last expression is
13         a VAR_DECL with RTL that matches the target, just return that RTL.
14
15 2002-08-28  Daniel Berlin  <dberlin@dberlin.org>
16
17         * tree-inline.c (expand_call_inline): Make the statement
18         expression we generate have a COMPOUND_STMT.
19
20 2002-08-27  Mark Mitchell  <mark@codesourcery.com>
21
22         * doc/invoke.texi: Document -Wabi.
23         
24 2002-08-23  David Edelsohn  <edelsohn@gnu.org>
25
26         * config/rs6000/rs6000.c (rs6000_select_section): Treat
27         DEFAULT_ABI == ABI_AIX like PIC.  Test PIC & reloc for readonly
28         default.
29         (rs6000_unique_section): Likewise.
30
31 2002-08-22  Jason Merrill  <jason@redhat.com>
32
33         * langhooks-def.h (LANG_HOOKS_EXPR_SIZE): New macro.
34         * langhooks.c (lhd_expr_size): Define default.
35         * langhooks.h (struct lang_hooks): Add expr_size.
36         * explow.c (expr_size): Call it.
37         (int_expr_size): New fn.
38         * expr.h: Declare it.
39         * expr.c (expand_expr) [CONSTRUCTOR]: Use it to calculate how 
40         much to store.
41
42 2002-08-23  Alan Modra  <amodra@bigpond.net.au>
43
44         * config/rs6000/rs6000.c (output_mi_thunk): Don't determine insns
45         for loading delta with num_insns_constant_wide.  Calculate
46         delta_low, delta_high without using a conditional.
47
48 2002-08-20  Andreas Jaeger  <aj@suse.de>
49
50         Merge from trunk:
51         Wed Jul 17 00:20:48 CEST 2002  Jan Hubicka  <jh@suse.cz>
52
53         * i386.md (prefetch): Fix for 64bit mode.
54         (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
55
56         2002-08-11  Andreas Jaeger  <aj@suse.de>
57         PR target/7531:
58         * doc/invoke.texi (i386 and x86-64 Options): Document -mcmodel.
59
60 2002-06-24  Jeff Law <law@redhat.com>
61
62         * flow.c (propagate_one_insn): When removing an insn
63         with a REG_LIBCALL note but not the entire libcall sequence,
64         delete the associated REG_RETVAL note.
65
66 2002-06-04  Jeff Law <law@redhat.com.
67             David Edelsohn <edelsohn@gnu.org>
68             Michael Matz <matz@kde.org>
69
70         * sched-int.h (struct deps): New field libcall_block_tail_insn.
71         * sched_deps.c (init_deps): Initialize libcall_block_tail_insn.
72         * sched_deps.c (sched_analyze_insn): If libcall_block_tail_insn
73         is set, then mark the current insn as being part of a libcall
74         scheduling group.
75         (sched_analyze): Set and clear libcall_block_tail_insn appropriately.
76
77         * haifa-sched.c (schedule_block): Do not count USE or CLOBBER
78         insns against the issue rate.
79
80 2002-05-30  Jeff Law <law@redhat.com>
81
82         * flow.c (propagate_one_insn): Revise yesterday's patch.  Delete
83         a dead insn with a REG_RETVAL note when the entire libcall is not
84         dead and remove the associated REG_LIBCALL note at the same time.
85
86 2002-05-29  Jeff Law <law@redhat.com>
87
88         * flow.c (propagate_one_insn): Do not remove a dead insn if it
89         contains a REG_RETVAL note.
90
91         * haifa-sched (sched_analyze): Remove another useless clearing
92         of SCHED_GROUP_P I missed yesterday.
93
94 2002-05-28  David Edelsohn  <edelsohn@gnu.org>
95             Jeff Law <law@redhat.com>
96
97         * optabs.c (expand_binop): Fix nwords sign warnings.
98         generate pseudo for add_optab.
99
100         * sched-deps.c (sched_analyze): Do not clear SCHED_GROUP_P.
101         * haifa-sched.c (move_insn): Clear SCHED_GROUP_P after it is used.
102
103 2002-08-18  Neil Booth  <neil@daikokuya.co.uk>
104
105         PR preprocessor/7602
106         * cppinit.c (path_include): Treat the system environment
107         variables as being cxx_aware.
108
109 2002-08-16  David Edelsohn  <edelsohn@gnu.org>
110
111         * collect2.c (is_ctor_dtor): Add other possible JOINER values.
112
113         * config/rs6000/rs6000.c (output_mi_thunk): Return to function
114         section on TARGET_ELF.
115
116         * doc/install.texi (*-ibm-aix*): Explain AIX shared object versioning.
117         (Binaries): Update Bull Freeware URL.
118
119 2002-08-15  Neil Booth  <neil@daikokuya.co.uk>
120
121         PR preprocessor/7358
122         PR preprocessor/7357
123         PR preprocessor/7526
124         * cppfiles.c (stack_include_file): Ignore main file if
125         appropriate.  Correct test of whether a dependency should
126         be output.
127         * cppinit.c (init_dependency_output): Ignore main file
128         for SUNPRO_DEPENDENCIES.
129         (struct lang_flags): Rename trigraphs std.
130         (set_lang): Update.
131         * cpplib.c (run_directive): Kludge so _Pragma dependency works.
132         * cpplib.h (struct cpp_options): New members.
133         * cppmacro.c (collect_args): Flag whether to swallow a possible
134         future comma pasted with varargs.
135         (replace_args): Use this flag.
136         * doc/cpp.texi: Update varargs extension documentation.
137         * doc/cppenv.texi: Update.
138
139 2002-08-14  Release Manager
140
141         * GCC 3.2 Released.
142
143 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
144
145         * config/rs6000/rs6000.h, config/rs6000/aix.h,
146         config/rs6000/darwin.h, config/rs6000/linux64.h: Revert last
147         two patches.
148         * config/rs6000/sysv4.h: Likewise, remove #undef ADJUST_FIELD_ALIGN.
149
150 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
151
152         * config/rs6000/rs6000-protos.h (rs6000_field_alignment): Remove.
153         * config/rs6000/rs6000.c (rs6000_field_alignment): Move...
154         * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): ...inline into the
155         macro.
156
157 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
158
159         * stor-layout.c (place_union_field): For bitfields if
160         PCC_BITFIELD_TYPE_MATTERS and TYPE_USER_ALIGN, set record's
161         TYPE_USER_ALIGN.
162
163 2002-08-07  Jakub Jelinek  <jakub@redhat.com>
164             Richard Henderson  <rth@redhat.com>
165
166         * stor-layout.c (place_union_field): Apply ADJUST_FIELD_ALIGN
167         to type_align when PCC_BITFIELD_TYPE_MATTERS.  Only apply
168         ADJUST_FIELD_ALIGN if not DECL_USER_ALIGN resp. TYPE_USER_ALIGN.
169         (place_field): Likewise.
170         * config/i386/i386.c (x86_field_alignment): Don't check
171         TARGET_ALIGN_DOUBLE for the second time.
172         Apply min for all MODE_INT and MODE_CLASS_INT modes.
173         * config/rs6000/rs6000.c (rs6000_field_alignment): New.
174         * config/rs6000/rs6000-protos.h (rs6000_field_alignment): New
175         prototype.
176         * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): Define.
177         * config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Remove.
178         * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Remove.
179         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Remove.
180         * config/rs6000/sysv4.h (ADJUST_FIELD_ALIGN): Remove.
181         * doc/tm.texi (ADJUST_FIELD_ALIGN): Update description.
182
183 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
184
185         * config/i386/mmintrin.h (__m64): Make the type 64-bit aligned.
186
187 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
188
189         * config.gcc (*-*-linux*): Default to --enable-threads=posix if no
190         --{enable,disable}-threads is given to configure.
191         (alpha*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux*,
192         x86_64-*-linux*, ia64*-*-linux*, m68k-*-linux*, mips*-*-linux*,
193         powerpc-*-linux-gnualtivec*, powerpc-*-linux*, s390-*-linux*,
194         s390x-*-linux*, sh-*-linux*, sparc-*-linux*, sparc64-*-linux*):
195         Remove thread_file setting here.
196
197 2002-08-04  Mark Mitchell  <mark@codesourcery.com>
198
199         * doc/install.texi (Installing GCC): Refer to buildstat.html,
200         rather than listing version-specific build status files.
201
202 2002-08-04  Joseph S. Myers  <jsm@polyomino.org.uk>
203
204         * doc/include/gcc-common.texi (version-GCC): Increase to 3.2.
205
206 2002-08-01  Benjamin Kosnik  <bkoz@redhat.com>
207
208         * gcc.c: Set __GXX_ABI_VERSION to 102.
209
210 2002-07-30  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
211
212         * gcc.c (cpp_unique_options): Define __GXX_ABI_VERSION, bump it to 101.
213
214 2002-07-24  Frank van der Linden  <fvdl@wasabisystems.com>
215
216         PR optimization/7291
217         * config/i386/i386.c (ix86_expand_clrstr): Fix bzero alignment
218         problem on x86_64.
219
220 2002-05-16  Jason Merrill  <jason@redhat.com>
221
222         * config/mips/mips.c (mips_output_external): Don't do sdata
223         optimization for a variable with DECL_COMDAT set.
224
225 2002-01-03  Jakub Jelinek  <jakub@redhat.com>
226
227         * c-decl.c (build_compound_literal): Set decl TREE_READONLY from TYPE.
228
229         * c-decl.c (build_compound_literal): Defer compound literal decls
230         until until file end to emit them only if they are actually used.
231
232 2002-07-25  Release Manager
233
234         * GCC 3.1.1 Released.
235
236 2002-07-21  Nick Clifton  <nickc@redhat.com>
237
238         * Import following patch from mainline:
239
240         2002-03-18  Bernd Schmidt  <bernds@redhat.com>
241
242                 * config/arm/arm.c (arm_gen_movstrqi): Use gen_lowpart
243                 instead of gen_rtx_SUBREG.
244                 (arm_reload_out_hi): Use gen_lowpart instead of
245                 gen_rtx_SUBREG to access QImode components.
246                 * config/arm/arm.md: Disable zero_extend split for QImode
247                 subregs in BIG_ENDIAN mode.
248                 (storehi_bigend): Match use of least significant byte.
249                 (storeinthi): Remove extraneous SUBREG.
250                 Add missing construction of operands[2].
251                 (movhi): Use gen_lowpart in place of gen_rtx_SUBREG.
252                 (movqi): Use gen_lowpart in place of gen_rtx_SUBREG.
253                 Replace gen_rtx (SUBREG) with gen_rtx_SUBREG.
254
255 2002-07-18  Richard Henderson  <rth@redhat.com>
256
257         PR optimization/7147
258         * ifcvt.c (noce_get_condition): Make certain that the condition
259         is valid at JUMP.
260
261 2002-07-16  Hans-Peter Nilsson  <hp@axis.com>
262
263         * config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Don't
264         --gc-sections if -r.
265
266 2002-07-15  Eric Botcazou  <ebotcazou@multimania.com>
267
268         PR optimization/7153
269         * regmove.c (optimize_reg_copy_3): Don't optimize if the register
270         dies in more than one insn.
271
272 2002-07-15  Jason Thorpe  <thorpej@wasabisystems.com>
273
274         * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Remove.
275
276 2002-07-15  John David Anglin  <dave@hiauly1.hia.nrc.ca>
277
278         * bb-reorder.c (make_reorder_chain_1): Search harder for the vax
279         casesi fallthru edge.
280         * cfgrtl.c (force_nonfallthru_and_redirect): Place redirection
281         block after ADDR_VEC.
282         * vax.md (casesi): Use emit_jump_insn.  Remove unused constraints.
283
284 2002-07-15  Jakub Jelinek  <jakub@redhat.com>
285
286         PR middle-end/7245
287         * config/i386/i386.c (const_int_1_31_operand): New.
288         * config/i386/i386.h (PREDICATE_CODES): Add it.
289         * config/i386/i386.md (ashlsi3_cmp, ashlsi3_cmp_zext, ashlhi3_cmp,
290         ashlqi3_cmp, ashrsi3_cmp, ashrsi3_cmp_zext, ashrhi3_cmp, ashrqi3_cmp,
291         lshrsi3_cmp, lshrsi3_cmp_zext, lshrhi3_cmp, lshrqi3_cmp): Use it.
292
293 2002-06-11  Andreas Schwab  <schwab@suse.de>
294
295         * config/m68k/m68k.h (PREDICATE_CODES): Define.
296
297 2002-07-15  Alan Modra  <amodra@bigpond.net.au>
298
299         PR target/7282
300         * config/rs6000/rs6000.md (floatsidf2): Enable for POWERPC64.
301         (floatunssidf2): Likewise.
302         (floatsidf_ppc64): New insn_and_split.
303         (floatunssidf_ppc64): Likewise.
304
305 2002-07-12  Stephane Carrez  <stcarrez@nerim.fr>
306
307         * config/m68hc11/m68hc11.md ("zero_extendsidi2"): Use D_REG only for
308         the scratch register.
309         ("*movhi2_push"): Accept Z_REG because a split pattern can make use
310         of it, forbid reload to use it.
311
312 2002-07-12  Marek Michalkiewicz  <marekm@amelek.gda.pl>
313
314         * config/avr/avr.c (test_hard_reg_class): Fix TEST_HARD_REG_BIT
315         usage on 64-bit hosts, return value was truncated to 32 bits.
316
317 2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
318
319         * pa.md (adddi3): Change predicate of operand 2 to adddi3_operand.
320         Remove comment.  Change predicate of 32-bit adddi3 insn pattern to
321         arith11_operand.
322         * pa-protos.h (adddi3_operand): Add prototype.
323         * pa.c (cint_ok_for_move): Fix comment.
324         (adddi3_operand): New function.
325         (emit_move_sequence):  Don't directly split DImode constants on
326         32-bit targets.
327
328 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
329
330         * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Avoid allocating
331         QI mode registers in soft registers.
332         ("zero_extendqihi2"): Do not take into account soft registers
333         for register allocation (use '*' constraint).
334
335 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
336
337         * config/m68hc11/m68hc11.md ("*ashlsi3"): Avoid saving y if we know
338         it is dead.
339         ("*ashrsi3"): Likewise.
340         ("*lshrsi3"): Likewise.
341
342 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
343
344         * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
345         address computation and memory moves.
346
347 2002-07-03  Mark Mitchell  <mark@codesourcery.com>
348
349         PR c++/6706
350         * dwarfout.c (output_reg_number): Fix warning message.
351         (output_bound_representation): Check SAVE_EXPR_RTL is not NULL
352         before using it.
353
354 2002-07-03  Richard Henderson  <rth@redhat.com>
355
356         * config/i386/i386.md (prologue_get_pc): Issue pop here ...
357         * config/i386/i386.c (load_pic_register): ... not here.
358
359 2002-07-03  David Edelsohn  <edelsohn@gnu.org>
360
361         * config/rs6000/rs6000.md (fix_truncdfsi2_internal): Ignore DImode
362         in FPR as preference.
363         (fctiwz): Same.
364         (floatdidf2, fix_truncdfdi2): Same.
365         (floatdisf2, floatditf2, fix_trunctfdi2): Same.
366         (floatditf2): Same.
367         (floatsitf2, fix_trunctfsi2): SImode in GPR.
368         (ctrdi): Remove FPR alternative and splitter.
369
370 2002-07-02  Hans-Peter Nilsson  <hp@axis.com>
371
372         PR target/7177
373         * config/cris/cris.h (LEGITIMIZE_RELOAD_ADDRESS): Correct number
374         of indirections for register inside sign-extended mem part.
375
376 2002-07-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
377
378         * emit-rtl.c (init_emit_once): Add missing cast to HOST_WIDE_INT.
379
380 2002-06-30  David Edelsohn  <edelsohn@gnu.org>
381
382         * config/rs6000/rs6000.md (ctrdi): Allocate pseudo for FPR
383         constraint in define_expand, not splitter.
384
385 2002-06-28  Phil Edwards  <pme@gcc.gnu.org>
386
387         * configure.in (gcc_gxx_include_dir):  Change to match versioned
388         C++ headers if --enable-version-specific-runtime-libs is used.
389         * configure:  Regenerate.
390
391 2002-06-28  Stephane Carrez  <stcarrez@nerim.fr>
392
393         * config/m68hc11/m68hc11.md ("*addsi3"): Use 'o' constraint to
394         avoid the auto increment addressing modes.
395         ("*subsi3"): Likewise.
396         (split for add/sub on address): For 68HC12 push the value on
397         the stack and do the operation with a pop.
398
399 2002-06-28  Stephane Carrez  <stcarrez@nerim.fr>
400
401         * config/m68hc11/m68hc11.h (OPTIMIZATION_OPTIONS): Define.
402         * config/m68hc11/m68hc11-protos.h (m68hc11_optimization_options):
403         Declare.
404         * config/m68hc11/m68hc11.c (m68hc11_optimization_options): New,
405         do not reorder basic blocks at the end when optimizing for size.
406
407 2002-06-28  Stephane Carrez  <stcarrez@nerim.fr>
408
409         * config/m68hc11/m68hc11.c (autoinc_mode): New function.
410         (m68hc11_make_autoinc_notes): New function.
411         (m68hc11_split_move): Be very cautious when spliting a move with
412         auto increment/decrement modes because this may result in incompatible
413         directions; add REG_INC notes to the resulting insn for CSE reg.
414
415 2002-06-28  Stephane Carrez  <Stephane.Carrez@nerim.fr>
416
417         * config/m68hc11/m68hc11.c (register_indirect_p): For 68HC12 a constant
418         can be a valid address.
419
420 2002-06-28  Bob Wilson  <bob.wilson@acm.org>
421
422         * config/xtensa/xtensa-protos.h (xtensa_return_addr): Declare.
423         config/xtensa/xtensa.c (xtensa_return_addr): New function.
424         config/xtensa/xtensa.h (RETURN_ADDR_RTX): Use xtensa_return_addr.
425         config/xtensa/xtensa.md (fix_return_addr): New pattern.
426
427 2002-06-28  Bob Wilson  <bob.wilson@acm.org>
428
429         * config/xtensa/xtensa.h (FUNCTION_PROFILER): Respect flag_pic
430         when generating the call to _mcount.
431         (NO_PROFILE_COUNTERS): Define.
432
433 2001-06-08  Bernd Schmidt  <bernds@redhat.com>
434
435         * emit-rtl.c (gen_lowpart_common): Don't create paradoxical FLOAT_MODE
436         subregs.
437         * recog.c (general_operand, register_operand): Disallow them.
438
439 2002-06-27  Bob Wilson  <bob.wilson@acm.org>
440
441         * config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Pass
442         flag_function_sections as new 3rd arg to resolve_unique_section.
443
444 2002-06-27  Neil Booth  <neil@daikokuya.co.uk>
445
446         PR preprocessor/7070
447         * c-lex.c (cb_def_pragma): Don't try to spell CPP_EOF.
448
449 2002-06-27  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
450
451         * doc/install.texi (Binaries): Add Sinix/Reliant Unix.  Move
452         Hitachi entry.  Make punctuation more consistent.
453
454 2002-06-27  Matt Kraai  <kraai@alumni.cmu.edu>
455
456         * doc/install.texi: Change ` bit' to `-bit'.
457         * doc/md.texi: Change `-bits' to `-bit'.
458         * doc/tm.texi: Change `-bits' to ` bits'.
459
460 2002-06-24  David S. Miller  <davem@redhat.com>
461
462         * config/sparc/sparc.h (INIT_TARGET_OPTABS): If ARCH64, set the
463         32-bit ABI libfuncs to NULL.
464
465         * expmed.c (expand_divmod): Do not set optab1/optab2 to the shift
466         optabs if op1 is const0_rtx.
467
468 2002-06-23  Jan Hubicka  <jh@suse.cz>
469
470         * reg-stack.c (convert_regs_exit): Push the registers to stack in
471         proper order.
472
473 2002-06-22  Ulrich Weigand  <uweigand@de.ibm.com>
474
475         PR middle-end/6963
476         * function.c (assign_stack_temp_for_type): Do not return
477         the same MEM rtx for multiple uses of a stack slot.
478
479 2002-06-22  David S. Miller  <davem@redhat.com>
480
481         PR target/6841 target/6770 target/6719
482         * config/sparc/sparc.h (PREFERRED_RELOAD_CLASS): Return
483         NO_REGS for constant X when CLASS is GENERAL_OR_FP_REGS or
484         GENERAL_OR_EXTRA_FP_REGS.
485
486 2002-06-21  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
487
488         * config/sparc/t-crtfm (crtfastmath.o): Prefix with $(T) for
489         multilibs.
490         * config/sparc/t-sol2-64 (EXTRA_MULTILIB_PARTS): Add crtfastmath.o.
491         * config/sparc/t-linux64 (EXTRA_MULTILIB_PARTS): Likewise.
492         Fixes PR other/6836.
493
494 2002-06-21  Bo Thorsen  <bo@suse.de>
495
496         * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Add i386
497         support so multilib works again. And don't define this at all
498         when -Dinhibit_libc is used.
499
500 Thu Jun 20 16:41:40 CEST 2002  Jan Hubicka  <jh@suse.cz>
501
502         * combine.c (gen_lowpart_for_combine): Avoid calling of
503         simplify_gen_subreg on VOIDmode.
504
505         * combine.c (subst): Be prepared for simplify_subreg to return VOIDmode.
506
507 2002-06-20  Richard Henderson  <rth@redhat.com>
508
509         * c-common.c (c_common_get_alias_set): Correctly handle characters.
510         Rearrange order of expressions; don't handle vectors here.
511         * alias.c (get_alias_set): Let vectors match their components.
512
513 2002-06-17  Hans-Peter Nilsson  <hp@axis.com>
514
515         PR target/7042
516         * config/cris/cris.c (cris_simple_epilogue): Kludge around reorg.c
517         bug by saing that the epilogue isn't simple if there's a
518         non-empty current_function_epilogue_delay_list.
519         * config/cris/cris.md ("return"): Add sanity check asserting that
520         current_function_epilogue_delay_list is empty.
521
522 2002-06-17  Richard Henderson  <rth@redhat.com>
523
524         * config/i386/i386.h (BIGGEST_FIELD_ALIGNMENT): Define instead
525         of ADJUST_FIELD_ALIGN if IN_TARGET_LIBS.
526
527 2002-06-17  Richard Henderson  <rth@redhat.com>
528
529         PR target/6922
530         * expmed.c (make_tree): Handle SIGN_EXTEND/ZERO_EXTEND.
531
532 Mon Jun 17 00:31:46 CEST 2002  Jan Hubicka  <jH@suse.cz>
533
534         * i386-protos.h (x86_field_alignment): Declare.
535         * i386.c (x86_field_alignment): Define.
536         * i386.h (ADJUST_FIELD_ALIGNMENT): New.
537         (BIGGEST_FIELD_ALIGNMENT): Kill.
538
539 2002-06-16  Richard Henderson  <rth@redhat.com>
540
541         PR opt/6722
542         * regclass.c (globalize_reg): Update regs_invalidated_by_call.
543
544 2002-06-16  Richard Henderson  <rth@redhat.com>
545
546         PR c/7030
547         * dwarf2out.c (modified_type_die): Don't assign the qualified die
548         to the unqualified type.
549
550 2002-06-14  Jeff Sturm  <jsturm@one-point.com>
551
552         * config/sparc/sparc.h (DYNAMIC_CHAIN_ADDRESS): Add
553         SPARC_STACK_BIAS.
554
555 2002-06-14  Eric Botcazou  <ebotcazou@multimania.com>
556
557         * loop.c (check_final_value): Use v->always_executed
558         instead of v->always_computable.
559         * unroll.c (final_giv_value): Don't calculate the final
560         value as a function of the biv if the giv is not computed
561         for every loop iteration.
562
563 2002-06-14  Eric Botcazou  <ebotcazou@multimania.com>
564
565         PR c/6677
566         * convert.c (convert_to_integer) [LSHIFT_EXPR]: Don't pass
567         the truncation down when the target type is signed.
568         [trunc1]: Use unsigned arithmetic for LSHIFT_EXPR.
569         * fold-const.c (extract_muldiv) [NOP_EXPR]: Don't pass through
570         the conversion if the target type is a smaller type.
571
572 Thu Jun 13 18:27:05 CEST 2002  Jan Hubicka  <jh@suse.cz>
573
574         * i386.c (ix86_expand_movstr):  Fix pasto.
575
576 Thu Jun 13 18:02:11 CEST 2002  Jan Hubicka  <jh@suse.cz>
577
578         * reload.c (find_valid_class):  Fix thinko in my previous patch.
579
580 2002-06-13  Hans-Peter Nilsson  <hp@axis.com>
581
582         PR target/6997
583         * config/cris/cris.md ("sleu"): Set attribute "cc" to "none".
584
585 2002-06-12  Daniel Jacobowitz  <drow@mvista.com>
586
587         * config/mips/elf.h (DWARF2_DEBUG_INFO): Define.
588         * config/mips/mips.c (mips_output_filename): Don't print a
589         ".file" directive if we are using DWARF-2.
590         (mips_output_function_prologue): Do not emit source file
591         name for TARGET_GAS.
592
593 2002-06-11  Ulrich Weigand  <uweigand@de.ibm.com>
594
595         * config/s390/s390.md (movsi): Only use floating point
596         register alternatives when operands are already fprs.
597         (movdi_31, movdi_64): Likewise.
598
599 2002-06-11  Ulrich Weigand  <uweigand@de.ibm.com>
600
601         * config/s390/s390.md (reload_base, ltorg): Remove.
602         * s390.c (s390_stop_dump_lit_p, s390_dump_literal_pool,
603         s390_asm_output_pool_prologue, s390_pool_start_insn): Remove.
604         * s390-protos.h (s390_stop_dump_lit_p, s390_dump_literal_pool,
605         s390_asm_output_pool_prologue): Likewise.
606         * s390.h (s390_pool_start_insn): Likewise.
607
608         * s390.c (s390_output_symbolic_const): Remove support for
609         old-style pool chunks.
610         (s390_function_epilogue): Likewise.
611         (s390_output_constant_pool): Likewise.  Also, fix incorrect
612         alignment for 64-bit literal pools.
613         (print_operand_address): Remove 'y' and 'Y' format flags.
614         * s390.h (ASM_OUTPUT_POOL_PROLOGUE): Remove support for
615         old-style pool chunks.
616         (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Likewise.
617         (ASM_OUTPUT_POOL_EPILOGUE): Remove.
618         (S390_CHUNK_MAX, S390_CHUNK_OV, S390_POOL_MAX): Remove.
619
620         * s390.c (consttable_operand): New function.
621         * s390-protos.h (consttable_operand): Declare it.
622         * s390.h (PREDICATE_CODES): Add consttable_operand.
623         * s390.md (consttable_qi, consttable_hi, consttable_si, consttable_di,
624         consttable_sf, consttable_df, pool_start_31, pool_end_31,
625         pool_start_64, pool_end_64, reload_base, reload_base2): New insns.
626         * s390.c (struct constant, struct constant_pool): New data types.
627         (constant_modes, gen_consttable): New variables.
628         (s390_start_pool, s390_end_pool, s390_add_pool,
629         s390_dump_pool, s390_free_pool): New functions.
630         (s390_chunkify_pool): Completely reimplement literal pool
631         overflow handling.
632
633         * s390.c (s390_pool_overflow): New variable.
634         * s390.h (s390_pool_overflow): Declare it.
635         * s390.md (cjump, icjump): Use it to adapt length for out-of-range
636         jumps in literal pool overflow situations.
637
638         * s390.c (s390_decompose_address): Accept new-style pool chunk offsets.
639         (s390_frame_info): Account for possible use of RETURN_REGNUM
640         by new literal pool overflow code.
641         (s390_emit_prologue): Likewise.
642
643 2002-06-10  Jakub Jelinek  <jakub@redhat.com>
644
645         PR optimization/6759
646         * cse.c (cse_insn): Fold src_eqv just once, store it folded back into
647         the REQ_EQUAL note.
648
649 2002-06-10  Jakub Jelinek  <jakub@redhat.com>
650
651         PR c/6660
652         * c-decl.c (grokfield): Allow user defined types if they declare
653         structs or unions for unnamed fields.
654
655 2002-06-10  Jakub Jelinek  <jakub@redhat.com>
656
657         PR c/6809
658         * print-rtl.c (print_mem_expr): Don't crash on unnamed fields.
659
660 2002-06-10  Jakub Jelinek  <jakub@redhat.com>
661
662         * varasm.c (const_hash): Handle FDESC_EXPR like ADDR_EXPR.
663         (compare_constant): Likewise.
664         (output_addressed_constants): Likewise.
665
666 2002-06-10  Jakub Jelinek  <jakub@redhat.com>
667
668         * cfgcleanup.c (try_optimize_cfg): Make sure merge_blocks doesn't
669         merge bb with itself.
670
671 2002-06-07  Jason Thorpe  <thorpej@wasabisystems.com>
672
673         * config.gcc (mips*-*-netbsd*): Add mips/t-netbsd to ${tmake_file}.
674         * config/mips/t-netbsd: New file.
675
676 2002-06-07  H.J. Lu  (hjl@gnu.org)
677
678         * configure.in: Add --enable-__cxa_atexit.
679         * configure: Regenerated.
680         * config.in: Likewise.
681
682         * defaults.h (DEFAULT_USE_CXA_ATEXIT): New. Defined to be 0 if
683         not defined.
684
685 2002-06-07  Jason Thorpe  <thorpej@wasabisystems.com>
686
687         * config/mips/netbsd.h (CACHE_FLUSH_FUNC): Define.
688
689 Thu Jun  6 07:17:43 2002  Nicola Pero  <n.pero@mi.flashnet.it>
690
691         PR objc/6834
692         * objc/objc-lang.c (LANG_HOOKS_GET_ALIAS_SET): Define to be
693         c_common_get_alias_set.
694         (LANG_HOOKS_SAFE_FROM_P): Define to be c_safe_from_p.
695
696 2002-06-05  Jeff Law  <law@redhat.com>
697
698         * pa.h (EXTRA_CONSTRAINT, T case): Further refine so that it
699         rejects (mem (lo_sum (reg) (unspec))), but will allow
700         (mem (lo_sum (reg) (symbol_ref)) for PA2.0.
701
702 2002-06-05  Alan Modra  <amodra@bigpond.net.au>
703
704         * config/rs6000/linux64.h (ASM_OUTPUT_SOURCE_LINE): Define.
705
706 Tue Jun  4 18:16:50 CEST 2002  Jan Hubicka  <jh@suse.cz>
707
708         * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes): Do not initialize
709         fields past the register table.
710
711         * i386.c (classify_argument): Properly handle base classes.
712
713 Tue Jun  4 13:09:18 CEST 2002  Jan Hubicka  <jh@suse.cz>
714
715         * loop.c (emit_prefetch_instructions): Properly place the address
716         computation.
717
718         * dwarf2out.c (output_call_frame_info): Do not skip unwind info
719         when flag_asynchronous_unwind_tables is set.
720
721         * i386-protos.h (x86_output_mi_thunk): Declare.
722         * unix.h (ASM_OUTPUT_MI_THUNK): Move offline to ...
723         * i386.c (x86_output_mi_thunk): ... here; handle 64bits.
724
725         * config/i386/i386.c (ix86_expand_int_movcc): Truncate to proper
726         mode.
727
728         * i386.md (movabsdi): Kill broken alternative.
729
730         * i386.c (dbx64_register_map): Fix typo
731
732 2002-06-03  Jason Thorpe  <thorpej@wasabisystems.com>
733
734         * config/rs6000/netbsd.h (DRAFT_V4_STRUCT_RET): Remove.
735
736 2002-05-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
737
738         * pa-linux.h (WCHAR_UNSIGNED): Define to 0.
739         * pa.h (WCHAR_UNSIGNED): Define to 1.
740
741 2002-05-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
742
743         * pa.c (output_millicode_call): Correct "be,l" insn for TARGET_PA_20.
744         (output_call): Likewise.
745
746 2002-05-30  Richard Henderson  <rth@redhat.com>
747             Eric Botcazou  <ebotcazou@multimania.com>
748
749         PR optimization/6822
750         * config/i386/i386.c (ix86_expand_int_movcc): Don't cast INTVAL
751         to unsigned int for op1 comparisons.  Use gen_int_mode.
752
753 2002-05-30      Marc Espie <espie@openbsd.org>
754
755         * config.gcc (sparc64-*-openbsd*):  New.
756         * config/sparc/openbsd1-64.h:  New.
757         * config/sparc/openbsd64.h:  New.
758
759 2002-05-30  Jason Thorpe  <thorpej@wasabisystems.com>
760
761         * config/m68k/netbsd-elf.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Set to
762         96 if not __mc68010__.
763
764 2002-05-30  Andreas Schwab  <schwab@suse.de>
765
766         * config/ia64/sysv4.h (DO_SELECT_SECTION): Also handle
767         FUNCTION_DECLs.
768
769 2002-05-30  Jason Thorpe  <thorpej@wasabisystems.com>
770
771         * config/i386/netbsd64.h (CPP_LP64_SPEC): Define.
772         (CPP_SUBTARGET_SPEC): Define.
773         (SUBTARGET_EXTRA_SPECS): Redefine, adding cpp_lp64 and
774         cpp_subtarget specs.
775         (CPP_SPEC): Redefine to include %(cpp_subtarget).
776
777 2002-05-29  Hans-Peter Nilsson  <hp@axis.com>
778
779         * doc/md.texi (Patterns): Note pattern condition pitfall
780         for unnamed insn.
781
782 2002-05-29  Jason Thorpe  <thorpej@wasabisystems.com>
783
784         * config/sparc/netbsd-elf.c (CPP_SUBTARGET_SPEC64): Remove
785         -D__arch64__.  Add -D_LP64.
786         (CPP_ARCH32_SPEC): Redefine to match the non-bi-arch version
787         from sparc.h.
788         (CPP_ARCH64_SPEC): Likewise.
789         (NO_BUILTIN_PTRDIFF_TYPE): Undef.
790         (NO_BUILTIN_SIZE_TYPE): Undef.
791
792 2002-05-29  Jason Thorpe  <thorpej@wasabisystems.com>
793
794         * config.gcc (alpha-*-netbsd*): Don't use crtstuff.
795
796 2002-05-29  Jason Thorpe  <thorpej@wasabisystems.com>
797
798         * config/alpha/netbsd.h (CPP_PREDEFINES): Add -D_LP64.
799
800 2002-05-29  Richard Henderson  <rth@redhat.com>
801
802         * config/i386/i386.c (ix86_compute_frame_layout): Do add bottom
803         alignment for alloca.
804
805 2002-05-29  Neil Booth  <neil@daikokuya.demon.co.uk>
806
807         PR preprocessor/6844
808         * cppmacro.c (cpp_macro_definition): Reserve space for terminating
809         NUL.
810
811 2002-05-29  Joel Sherrill <joel@OARcorp.com>
812
813         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Use -m403 and -m405.
814
815 2002-05-29  Hans-Peter Nilsson  <hp@axis.com>
816
817         PR target/6838
818         * config/cris/cris.md: Fix typos and thinkos in comments.
819         (splitter for mov_sideqi_mem, mov_sidehi_mem, mov_sidesi_mem):
820         Remove spurious mode specifier on operand 2.
821
822 2002-05-29  Ulrich Weigand  <uweigand@de.ibm.com>
823
824         * config/s390/s390.c (legitimate_pic_operand_p): Do not
825         accept symbolic LARL operands.
826         (s390_emit_epilogue): Do not set FRAME_RELATED_P on
827         epilogue insns.
828
829 2002-05-28      Marc Espie <espie@openbsd.org>
830         * config/i386/openbsd.h (HAVE_GAS_MAX_SKIP_P2ALIGN):  Remove,
831         inherited from gas.h.
832         (ASM_QUAD):  Undef.  OpenBSD does not support it.
833
834 2002-05-28  Danny Smith  <dannysmith@users.sourceforge.net>
835
836         * doc/install.texi (binaries): Change mingw binaries
837         link to www.mingw.org.
838
839 2002-05-28  Richard Henderson  <rth@redhat.com>
840
841         * config/i386/i386.c (ix86_compute_frame_layout): Do not add
842         bottom alignment for leaf functions.
843
844 Mon May 27 10:37:28 CEST 2002  Jan Hubicka  <jh@suse.cz>
845
846         * reload.c (find_valid_class): Accept new argument DEST,
847         choose class accordingly.
848         (push_reload): Update callers.
849
850 2002-05-26  Richard Henderson  <rth@redhat.com>
851
852         2002-05-25  Richard Henderson  <rth@redhat.com>
853         * c-pragma.c (apply_pragma_weak): Convert value identifier to
854         string for decl_attributes.
855         (handle_pragma_weak): Call assemble_alias if we're modifying
856         an existing decl.
857
858         2002-05-15  Richard Henderson  <rth@redhat.com>
859         * varasm.c (merge_weak): Remove special case for extern and common.
860
861         2002-05-15  Richard Henderson  <rth@redhat.com>
862         * varasm.c (merge_weak): Error for any weakening after definition.
863         Adjust weakening after use warning to catch more cases.
864         (assemble_alias): Set TREE_USED and TREE_ASM_WRITTEN consistently.
865         * config/alpha/alpha.c (alpha_encode_section_info): Do not abort.
866
867         2002-03-02  Richard Henderson  <rth@redhat.com>
868         * attribs.c (handle_alias_attribute): Don't call assemble_alias.
869         * toplev.c (rest_of_decl_compilation): Invoke assemble_alias when
870         needed.
871
872 2002-05-26  Jakub Jelinek  <jakub@redhat.com>
873
874         * cse.c (fold_rtx): Don't optimize if SUBREG changes mode class.
875
876 2002-05-25  Richard Henderson  <rth@redhat.com>
877
878         PR target/6788
879         * config/sparc/sparc.c (sparc_output_mi_thunk): New implementation
880         using rtl instead of fprintf.
881         * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Use it.
882         * config/sparc/sparc-protos.h: Update.
883
884 2002-05-25  Marek Michalkiewicz  <marekm@amelek.gda.pl>
885
886         * config/avr/avr.c (avr_handle_progmem_attribute): Handle TYPE_DECL.
887
888         * config/avr/avr.c (machine_dependent_reorg): Sign extend the
889         CONST_INT operand to the correct mode after adding 1 to it.
890
891 2002-05-24  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
892
893         * config/alpha/unicosmk.h (REAL_VALUE_TO_TARGET_SINGLE,
894         REAL_VALUE_TO_TARGET_DOUBLE): Define for native builds.
895
896 2002-05-24  Jakub Jelinek  <jakub@redhat.com>
897
898         PR other/6782
899         * final.c (get_mem_expr_from_op): Return 0 if op is NULL.
900
901 2002-05-24  David Edelsohn  <edelsohn@gnu.org>
902
903         * config/rs6000/aix43.h (LINK_SPEC): Add PE initializer.
904         (STARTFILE_SPEC): Delete PE crt0.o.
905         * config/rs6000/aix51.h: Same.
906         * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): Append [DS] to
907         function descriptor symbol.  Use RS6000_OUTPUT_BASENAME.
908         (ASM_OUTPUT_DEF_FROM_DECLS): Use RS6000_OUTPUT_BASENAME.
909         * config/rs6000/xcoff.h (ASM_OUTPUT_DEF): Define.
910
911 2002-05-24  Richard Henderson  <rth@redhat.com>
912
913         * varasm.c (asm_output_bss): Always output one byte.
914         * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
915
916 2002-05-24  Neil Booth  <neil@daikokuya.demon.co.uk>
917
918         PR preprocessor/6780
919         * cppmacro.c (enter_macro_context): Clear state.angled_headers.
920
921 2002-05-21  Richard Earnshaw  <rearnsha@arm.com>
922
923         * bitmap.c (bitmap_find_bit): Return early if we have the correct
924         element cached.
925
926 2002-05-24  Neil Booth  <neil@daikokuya.demon.co.uk>
927
928         * cppinit.c (mark_named_operators): Split out from init_builtins.
929         (struct builtin): Remove operator.
930         (CPLUS, OPERATOR, O): Kill
931         (struct named_op): New.
932         (cpp_finish_options): Call it from here instead.
933         (init_builtins): Don't do named operators.
934
935 2002-05-20  David S. Miller  <davem@redhat.com>
936
937         * cselib.c (max_value_regs): New.
938         (cselib_lookup, cselib_invalidate_regno): Initialize it when
939         adding new entries to the REG_VALUES table and we are dealing with
940         a hard register.
941         (clear_table): Initialize it.
942         (cselib_invalidate_regno): Use it to determine which hard
943         registers to scan when mode is not VOIDmode.
944
945 2002-05-24  Alan Modra  <amodra@bigpond.net.au>
946
947         * config/rs6000/rs6000.c (output_toc): Mask longs to 32 bits.
948
949 2002-05-23  Hans Boehm  <Hans_Boehm@hp.com>
950         * config/ia64/linux.h (IA64_GATE_AREA_END): Adjust for 64K
951         pages.
952
953 2002-05-23  Neil Booth  <neil@daikokuya.demon.co.uk>
954
955         PR preprocessor/6517
956         * Makefile.in: Update.
957         * c-common.c (c_common_post_options): Add preprocessor
958         errors to the error count.
959         * c-lang.c (c_post_options): Kill.
960         (LANG_HOOKS_POST_OPTIONS): Use c_common_post_options.
961         * hooks.h: Add header guards.
962         * langhooks-def.h: Include hooks.h.
963         (LANG_HOOKS_POST_OPTIONS): Update.
964         * langhooks.h (struct lang_hooks): Update post_options.
965         * toplev.c (parse_options_and_default_flags): Update.
966 objc:
967         * objc-lang.c (objc_post_options): Kill.
968         (LANG_HOOKS_POST_OPTIONS): Use c_common_post_options.
969
970 2002-05-23  Jakub Jelinek  <jakub@redhat.com>
971
972         PR target/6753
973         * config/i386/i386.md (sse_movdfcc, sse_movdfcc_eq): Use Y instead
974         of x in constraints for clarity.
975         (sse_mov?fcc split): abort if op2 == op3.
976         (sse_movsfcc_const0_1, sse_movsfcc_const0_2, sse_movsfcc_const0_3,
977         sse_movsfcc_const0_4): Add earlyclobber.
978         (sse_movdfcc_const0_1, sse_movdfcc_const0_2, sse_movdfcc_const0_3,
979         sse_movdfcc_const0_4): Likewise.  Use DFmode, not SFmode.
980         Use Y instead of x in constraints.
981
982 2002-05-23  Jakub Jelinek  <jakub@redhat.com>
983
984         PR c/6643
985         * emit-rtl.c (widen_memory_access): Only call compare_tree_int
986         if DECL_SIZE_UNIT is INTEGER_CST.
987
988 2002-05-23  Jakub Jelinek  <jakub@redhat.com>
989
990         * combine.c (force_to_mode): Use gen_int_mode.
991         Don't clear CONST_INT bits outside of mode.
992
993 2002-05-23  Jakub Jelinek  <jakub@redhat.com>
994
995         * configure.in: Fix as version test for binutils 2.12.1 releases
996         (without dates).
997         * configure: Rebuilt.
998
999 Wed May 22 14:16:07 CEST 2002  Jan Hubicka  <jh@suse.cz>
1000
1001         * i386.c  (expand_movstr, expand_clrstr): Fix inline-all-stringops
1002         sequence.
1003         (ix86_expand_clrstr): Fix typo.
1004
1005 2002-05-22  Duraid Madina  <duraid@fl.net.au>
1006
1007         * tradcpp.c (fixup_newlines): Use old-style function header.
1008
1009 2002-05-21  Richard Henderson  <rth@redhat.com>
1010
1011         * system.h (BLOCK_PROFILER, BLOCK_PROFILER_CODE,
1012         FUNCTION_BLOCK_PROFILER, FUNCTION_BLOCK_PROFILER_EXIT,
1013         MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Poison.
1014
1015         * toplev.c (display_help): Kill -a -ax help.
1016
1017         * config/1750a/1750a.h, config/alpha/alpha.h,
1018         config/clipper/clipper.h, config/dsp16xx/dsp16xx.h,
1019         config/h8300/h8300.h, config/i960/i960.h, config/m68k/tower-as.h,
1020         config/m88k/m88k.h, config/vax/vax.h, config/we32k/we32k.h:
1021         (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER): Kill.
1022
1023         * libgcc2.c [L_bb] (BLOCK_PROFILER_CODE): Kill.
1024         * config/m68k/sun3.h (BLOCK_PROFILER_CODE): Kill.
1025
1026         * config/i386/i386-protos.h (ix86_output_block_profiler): Kill.
1027         (ix86_output_function_block_profiler): Kill.
1028         * config/m68hc11/m68hc11.c (m68hc11_block_profiler): Kill.
1029         (m68hc11_function_block_profiler): Kill.
1030         * config/m68hc11/m68hc11-protos.h: Update.
1031         * config/m88k/m88k.c (output_block_profiler): Kill.
1032         (output_function_block_profiler): Kill.
1033         * config/m88k/m88k-protos.h: Update.
1034
1035 2002-05-21  NIIBE Yutaka  <gniibe@m17n.org>
1036
1037         * reload1.c (do_output_reload): Run delete_output_reload
1038         only if optimizing.
1039
1040 2002-05-20  Richard Henderson  <rth@redhat.com>
1041
1042         * cse.c (canon_hash): Reorder do_not_record test.  Always
1043         allow pic_offset_table_rtx.
1044
1045 2002-05-19  Neil Booth  <neil@daikokuya.demon.co.uk>
1046
1047         * doc/contrib.texi: Update my entry.
1048
1049 2002-05-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1050
1051         * mips/iris6.h (CPLUSPLUS_CPP_SPEC): Define.
1052
1053 2002-05-19  Marek Michalkiewicz  <marekm@amelek.gda.pl>
1054
1055         2002-02-28  Marek Michalkiewicz  <marekm@amelek.gda.pl>
1056         * config/avr/avr.c (avr_hard_regno_mode_ok): Do not allow r29
1057         which may overwrite the high byte of the frame pointer.
1058
1059 2002-03-19  Lars Brinkhoff  <lars@nocrew.org>
1060
1061         * emit-rtl.c (gen_int_mode): New function.
1062         * rtl.h: Prototype for it.
1063
1064 Sat May 18 23:09:19 CEST 2002  Jan Hubicka  <jh@suse.cz>
1065
1066         * i386.md (pushqi2, ashrqi_*): Fix constraint.
1067
1068 2002-05-18  Aldy Hernandez  <aldyh@redhat.com>
1069
1070         * config/rs6000/altivec.h: Cleanups.
1071
1072 2002-05-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1073
1074         * doc/install.texi (Specific, mips-sgi-irix6): Document need to
1075         bootstrap with -mips3.
1076
1077 2002-05-17  David S. Miller  <davem@redhat.com>
1078
1079         PR c/6689, PR optimization/6615
1080         * local-alloc.c (struct equivalence): Rename 'src' to 'src_p'
1081         and make it a pointer to rtx.  Update comments.
1082         (update_equiv_regs): When scanning for equivalences, record
1083         address of SET_SRC (set) in reg_equiv[].src_p.  Dereference
1084         it while making the equiv replacements.
1085
1086 2002-05-17  Kurt Wall <kwall@kurtwerks.com>
1087
1088         * doc/install.texi (Testing): Mention two common DejaGnu warnings
1089         that can be ignored.
1090
1091 2002-05-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1092
1093         * doc/install.texi (Final install): Recommend to install into a
1094         "clean" target directory.
1095
1096 2002-05-17  Andreas Schwab  <schwab@suse.de>
1097
1098         * config/ia64/sysv4.h (DO_SELECT_SECTION): Factored out of
1099         SELECT_SECTION.
1100         (UNIQUE_SECTION): Define to get small data correctly.
1101
1102         * varasm.c (resolve_unique_section): Add third parameter
1103         flag_function_or_data_sections and use it instead of
1104         flag_function_sections.
1105         (assemble_start_function): Pass flag_function_sections.
1106         (asm_emit_uninitialised): Pass flag_data_sections.
1107         (assemble_variable): Likewise.
1108
1109 2002-05-15  Eric Botcazou  <ebotcazou@multimania.com>
1110
1111         * fold-const.c (fold) [LT_EXPR]: Move the transformation of a
1112         comparison against the highest or lowest integer value before
1113         the 'X >= CST to X > (CST - 1)' and 'X < CST to X <= (CST - 1)'
1114         transformation and that of an unsigned comparison against 0
1115         right after.
1116
1117 2002-05-16  Richard Henderson  <rth@redhat.com>
1118
1119         PR c/3467
1120         * c-decl.c (grokdeclarator): Don't pedwarn variable sized arrays
1121         for c99.
1122
1123 2002-05-16  Mark Mitchell  <mark@codesourcery.com>
1124
1125         * cfgrtl.c (purge_dead_edges): Correct handling of EDGE_EH.
1126
1127 2002-05-09  David S. Miller  <davem@redhat.com>
1128
1129         * config/sparc/sol2.h (ASM_CPU_SPEC): Handle -mcpu=v9.
1130
1131 2002-05-07  David S. Miller  <davem@redhat.com>
1132
1133         PR target/6103
1134         * config/sparc/sparc.h (TARGET_BUGGY_QP_LIB): Define to zero.
1135         * config/sparc/sol2.h (TARGET_BUGGY_QP_LIB): Override to one.
1136         * config/sparc/sparc.c (emit_soft_tfmode_libcall): If the Qp
1137         library implementation clobbers the output before the inputs
1138         are fully consumed, use stack temporary for the output.
1139
1140 Wed May 15 10:38:27 CEST 2002  Jan Hubicka  <jh@suse.cz>
1141
1142         * invoke.texi (-malign-double): Re-add lost warning.
1143
1144 2002-05-14  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1145
1146         * doc/install.texi: Remove special markup originally required for
1147         HTML generation with texi2html.
1148
1149 2002-05-14  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1150
1151         * doc/install.texi (Specific, *-*-solaris2*): Update passus on
1152         setting CONFIG_SHELL to /bin/ksh and remove alternate trick to
1153         (possibly) work around broken /bin/sh.
1154
1155 2002-05-08  Jason Merrill  <jason@redhat.com>
1156
1157         PR c++/6381
1158         * dwarf2out.c (rtl_for_decl_location): Only expand INTEGER_CST and
1159         REAL_CST.
1160
1161 2002-05-14  Release Manager
1162
1163         * GCC 3.1 Released.
1164
1165 2002-05-10  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1166
1167         * config/mips/t-iris6 (SHLIB_SLIBDIR_SUFFIXES): Use mabi=64 and
1168         . as N64/N32 libgcc_s.so subdirs.
1169
1170 2002-05-09  Mark Mitchell  <mark@codesourcery.com>
1171
1172         * config/rs6000/rs6000.h: Revert previous patch.
1173
1174 2002-05-09      Joel Sherrill <joel@OARcorp.com>
1175
1176         * config/rs6000/rs6000.h CPP_CPU_SPEC): Correct
1177         403 and 405 arguments for binutils 2.12.
1178
1179 Thu May  9 12:21:48 2002  Jeffrey A Law  (law@redhat.com)
1180
1181         * pa.c (hppa_profile_hook): Use force_reg to get the address
1182         of the profile hook into an appropriate pseudo register.
1183
1184 2002-05-09  Jakub Jelinek  <jakub@redhat.com>
1185
1186         * mklibgcc.in: Set shlib_slibdir_qual to empty string if
1187         SHLIB_SLIBDIR_SUFFIXES is empty.
1188
1189 2002-05-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1190
1191         * config/mips/t-iris6 (SHLIB_SLIBDIR_SUFFIXES): Define.
1192         (SHLIB_LINK, SHLIB_INSTALL): Adjust.
1193
1194 2002-05-09  Jakub Jelinek  <jakub@redhat.com>
1195
1196         * config/sparc/t-linux64 (SHLIB_MAPFILES): Set.
1197         * config/sparc/libgcc-sparc-glibc.ver: New file.
1198         * config/i386/t-linux64 (SHLIB_MAPFILES): Add libgcc-x86_64-glibc.ver.
1199         * config/i386/libgcc-x86_64-glibc.ver: New file.
1200         * config/cris/t-linux (SHLIB_MAPFILES): Remove.
1201         * mklibgcc.in: Preprocess SHLIB_MAPFILES with ml flags.
1202
1203 2002-05-09  Jakub Jelinek  <jakub@redhat.com>
1204
1205         PR target/6429
1206         * Makefile.in (libgcc.mk): Pass SHLIB_SLIBDIR_SUFFIXES to mklibgcc.
1207         * mklibgcc.in: If SHLIB_SLIBDIR_SUFFIXES is defined, put libgcc_s
1208         shared libraries into multilib dirs, with SONAME libgcc_s.so.1 for
1209         base multilibs.
1210         * config/t-slibgcc-elf-ver (SHLIB_LINK): Adjust for the above.
1211         * config/t-slibgcc-sld (SHLIB_LINK): Likewise.
1212         * config/i386/t-linux64 (SHLIB_SLIBDIR_SUFFIXES): Define.
1213         * config/sparc/t-linux64 (SHLIB_SLIBDIR_SUFFIXES): Define.
1214         * config/sparc/t-sol2-64 (SHLIB_SLIBDIR_SUFFIXES): Define.
1215
1216 2002-05-08  Mark Mitchell  <mark@codesourcery.com>
1217
1218         PR c/6569.
1219         * varasm.c (mark_weak): New function.
1220         (merge_weak): Use it.  Do not call declare_weak.
1221         (declare_weak): Use merge_weak.
1222
1223 2002-05-07  Geoffrey Keating  <geoffk@redhat.com>
1224
1225         * configure.in: Don't pass -Wno-long-long to a ADA compiler
1226         that doesn't support it.
1227         * configure: Regenerate.
1228
1229 2002-05-07  Jason Merrill  <jason@redhat.com>
1230
1231         * dwarf2out.c (rtl_for_decl_location): Don't try to extract a
1232         constant value from DECL_INITIAL.
1233
1234 2002-05-07  Richard Henderson  <rth@redhat.com>
1235
1236         PR c++/6212
1237         * expr.c (highest_pow2_factor_for_type): New.
1238         (expand_assignment): Use it.
1239
1240 2002-05-07  Jakub Jelinek  <jakub@redhat.com>
1241
1242         * configure.in: If as or ld segfaults, don't clutter with it stdout.
1243         * configure: Rebuilt.
1244
1245 2002-05-05  Jakub Jelinek  <jakub@redhat.com>
1246
1247         PR target/6561
1248         * config/sparc/sparc.md (muldi3_v8plus): Handle %1 equal to %2.
1249
1250 2002-05-05  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
1251
1252         * doc/install.texi (powerpc-*-linux-gnu*): Update build requirements.
1253
1254 2002-05-04  David Edelsohn  <edelsohn@gnu.org>
1255
1256         PR c/6543
1257         * config/rs6000/rs6000.md (sCC pattern and splitter): Remove
1258         clobber and use result as temporary value.
1259
1260 2002-05-03  Jakub Jelinek  <jakub@redhat.com>
1261
1262         PR target/6542
1263         * config/sparc/sparc.h (leaf_reg_remap): Remove const.
1264         (CONDITIONAL_REGISTER_USAGE): For TARGET_FLAT make
1265         fill leaf_reg_remap with identity.
1266         * config/sparc/sparc.c (leaf_reg_remap): Remove const.
1267
1268 2002-05-03  Jakub Jelinek  <jakub@redhat.com>
1269
1270         PR target/6522
1271         * dwarf2out.c (simple_decl_align_in_bits): Renamed to...
1272         (simple_field_decl_align_in_bits): this.  Apply
1273         BIGGEST_FIELD_ALIGNMENT and ADJUST_FIELD_ALIGN if defined.
1274
1275 2002-05-03  Richard Henderson  <rth@redhat.com>
1276
1277         PR opt/6534
1278         * ifcvt.c (noce_try_store_flag, noce_try_store_flag_constants,
1279         noce_try_store_flag_inc, noce_try_store_flag_mask, noce_try_cmove,
1280         noce_try_cmove_arith, noce_try_minmax, noce_try_abs): Insert new
1281         code before JUMP, not EARLIEST.
1282
1283 2002-05-03  Jakub Jelinek  <jakub@redhat.com>
1284
1285         PR preprocessor/6489
1286         * tradcpp.c (fixup_newlines): New.
1287         (main, finclude): Use it.
1288
1289 2002-05-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1290
1291         * doc/install.texi (Installing): Mention GCC 3.1 buildstats.
1292         (Specific): Removed buildstats references.
1293         (Specific, hppa*-hp-hpux11): Adjust for GCC versions > 3.0.
1294         (Specific, sparc-sun-solaris2*): Update 64-bit hints for GCC 3.1.
1295         Accomodate Solaris versions beyond 8.
1296         (Specific, sparc-sun-solaris2.7): Update as path for GCC 3.1.
1297         (Specific, *-*-solaris2.8): Removed, obsolete.
1298
1299 2002-05-02  Jason Merrill  <jason@redhat.com>
1300
1301         * defaults.h (BOOL_TYPE_SIZE): Move default here from cp/decl.c.
1302         * c-decl.c (c_init_decl_processing): Use it.
1303         * config/rs6000/darwin.h (BOOL_TYPE_SIZE): Define to INT_TYPE_SIZE.
1304         * config/i960/i960.h (BOOL_TYPE_SIZE): Don't define.
1305         * config/mcore/mcore.h (BOOL_TYPE_SIZE): Don't define.
1306
1307 2002-05-02  Loren J. Rittle  <ljrittle@acm.org>
1308
1309         * doc/install.texi (*-*-freebsd*): Update to latest status.
1310
1311 2002-05-02  Jakub Jelinek  <jakub@redhat.com>
1312
1313         PR target/6540
1314         * config.gcc (sparc*-*-solaris2*): Set float_format to i128.
1315         * config/float-sparc.h: Assume 128-bit long double if
1316         __LONG_DOUBLE_128__ is defined.
1317
1318         PR target/6512, PR target/5628
1319         * config/sparc/sparc.md (movdf_insn_v9only_novis): Don't allow >= %f32
1320         when memory is not aligned.
1321         (movdf_insn_v9only_vis): Likewise.
1322         * config/sparc/sparc.h (SECONDARY_INPUT_RELOAD_CLASS): Request a FP_REGS
1323         temporary for EXTRA_FP_REGS DFmode load from unaligned memory.
1324         (SECONDARY_OUTPUT_RELOAD_CLASS): Similarly.
1325
1326 2002-05-02  Joseph S. Myers  <jsm28@cam.ac.uk>
1327
1328         * doc/install.texi: State GNAT version requirements.
1329
1330 2002-05-01  Jeff Law  <law@redhat.com>
1331
1332         * pa.h (EXTRA_CONSTRAINT): Don't accept PIC addresses for the
1333         'T' constraint.
1334
1335 2002-05-01  Joel Brobecker  <brobecker@gnat.com>
1336
1337         * dbxout.c (dbxout_type): Emit size information for range types,
1338         as well, but only when using GDB extensions.
1339
1340 2002-05-01  Richard Henderson  <rth@redhat.com>
1341
1342         * configure.in (HAVE_GAS_HIDDEN): Replace SPARC feature test with
1343         target-independent gnu binutils date test.
1344
1345 2002-05-01  Jakub Jelinek  <jakub@redhat.com>
1346
1347         * cppinit.c (cpp_handle_option) [-dM]: Don't set no_output here...
1348         (cpp_post_options): ...but here.  Disable -dD, -dN and -dI when
1349         -M -or -MM is in effect.
1350
1351 2002-05-01  Zack Weinberg  <zack@codesourcery.com>
1352
1353         * config.gcc: Correct test of --enable-obsolete.  Obsolete all
1354         A29k configurations.
1355         * doc/install.texi: Update to match.
1356
1357 2002-05-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
1358
1359         PR bootstrap/6514
1360         * varasm.c (globalize_decl): Compare DECL_ASSEMBLER_NAME to check
1361         for duplicates. Always loop over whole list.
1362
1363 Wed May  1 10:32:37 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1364
1365         * reload.c (find_reloads, case 'p'): Set BADOP to 0.
1366
1367 2002-05-01  Joel Sherrill  <joel@OARcorp.com>
1368
1369         * config/sparc/t-elf (sparc-rtems, sparc-elf): Build assembly
1370         support routines.
1371
1372 2002-05-01  Joseph S. Myers  <jsm28@cam.ac.uk>
1373
1374         * doc/install.texi: Update Texinfo version requirement
1375         documentation.
1376
1377 2002-04-30  Richard Henderson  <rth@redhat.com>
1378
1379         * config/sparc/sol27-sld.h: Rename from sol26-sld.h.
1380         (PREFERRED_DEBUGGING_TYPE, ASM_DEBUG_SPEC): Undef.
1381         * config.gcc (sparc-solaris): Adjust test for native ld bug.
1382         Add it after the biarch headers.
1383
1384 2002-04-30  Richard Henderson  <rth@redhat.com>
1385
1386         PR opt/6516
1387         * toplev.c (rest_of_compilation): Don't run cross-jump before
1388         bb-reorder.
1389
1390 2002-04-30  Joel Sherrill  <joel@OARcorp.com>
1391
1392         * config/arm/rtems-elf.h: Add #undef TARGET_VERSION to prevent warning.
1393
1394 2002-04-30  Richard Henderson  <rth@redhat.com>
1395
1396         * config/sparc/sparc.c (emit_soft_tfmode_libcall,
1397         emit_soft_tfmode_binop, emit_soft_tfmode_unop, emit_soft_tfmode_cvt,
1398         emit_hard_tfmode_operation, emit_tfmode_binop, emit_tfmode_unop,
1399         emit_tfmode_cvt): New.
1400         * config/sparc/sparc.md (extendsftf2, extenddftf2, trunctfsf2,
1401         trunctfdf2, floatsitf2, floatunssitf2, floatditf2, floatunsditf2,
1402         fix_trunctfsi2, fixuns_trunctfsi2, fix_trunctfdi2, fixuns_trunctfdi2,
1403         addtf3, subtf3, multf3, divtf3, sqrttf2): Use them.
1404         * config/sparc/sparc-protos.h: Update.
1405
1406 2002-04-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1407
1408         * config.gcc (hppa1.1-*-pro*, hppa1.1-*-osf*, hppa1.1-*-rtems*,
1409         hppa1.0-*-osf*, hppa1.1-*-bsd*, hppa1.1-*-hpux10*, hppa2*-*-hpux10*,
1410         hppa1.0-*-hpux10*, hppa*64*-*-hpux11*, hppa1.1-*-hpux11*,
1411         hppa2*-*-hpux11*, hppa1.0-*-hpux11*, hppa*-*-lites*): Define xmake_file.
1412         * ada/Make-lang.in (ADA_FLAGS_TO_PASS): Don't pass ADA_CFLAGS.
1413         * pa/t-linux, pa/t-pa, pa/t-pa64, t-pro (T_ADAFLAGS): Delete.
1414         * pa/x-ada: New file.  Define ADA_CFLAGS.
1415
1416 2002-04-30  Janis Johnson  <janis187@us.ibm.com>
1417
1418         * doc/install.texi (Final install): Add to the list of info to include
1419         in a report of a successful bootstrap, and add link to 3.1 list.
1420
1421 2002-04-30  Jakub Jelinek  <jakub@redhat.com>
1422
1423         PR c++/6396
1424         * toplev.c (rest_of_compilation): Only run regrename and copy
1425         propagation if optimizing.
1426
1427 2002-04-30  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1428
1429         * doc/contrib.texi (Contributors): Use MIPS instead of Mips and
1430         mips.  Add two missing commas.
1431
1432 2002-04-30  Paolo Carlini  <pcarlini@unitus.it>
1433
1434         * doc/contrib.texi (Contributors): Update Paolo Carlini's
1435         and Benjamin Kosnik's entries.
1436
1437 2002-04-29  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
1438
1439         * combine.c (find_split_point): Use trunc_int_for_mode.
1440
1441 Mon Apr 29 17:19:10 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1442
1443         * reload1.c (eliminate_regs, case SUBREG): Fix typo in
1444         adjust_address_nv call.
1445
1446 2002-04-29  Janis Johnson  <janis187@us.ibm.com>
1447
1448         * doc/install.texi (Testing): Provide additional information, and
1449         a stronger encouragement, for running the testsuites.
1450
1451 2002-04-29  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1452
1453         * fixinc/inclhack.def (solaris_widec): Include <wchar.h> in
1454         Solaris 2 <widec.h> if missing.
1455         * fixinc/fixincl.x: Regenerate.
1456         * fixinc/tests/base/widec.h: New file.
1457
1458 2002-04-29  Jakub Jelinek  <jakub@redhat.com>
1459
1460         PR target/6476
1461         * configure.in: Check whether linker eh_frame optimizations work
1462         properly.
1463         * configure: Rebuilt.
1464
1465 Mon Apr 29 17:08:09 CEST 2002  Jan Hubicka  <jh@suse.cz>
1466
1467         * i386.c (dbx64_register_map): Fix typo.
1468
1469 Mon Apr 29 14:48:33 CEST 2002  Jan Hubicka  <jh@suse.cz>
1470
1471         * i386.md (sse_mov?fcc*): Revert patch of Apr 18th.
1472
1473 2002-04-29  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1474
1475         * doc/contrib.texi (Contributors): Add Paolo Carlini and
1476         Janis Johnson.
1477         Update Richard Henderson, Jakub Jelinek, and Mark Mitchell.
1478         Refer to Objective-C instead of ObjC, SPARC instead of sparc,
1479         and CPU instead of cpu.
1480
1481 2002-04-29  Alexandre Oliva  <aoliva@redhat.com>
1482
1483         * config.gcc: Revert i386 changes inadvertently brought in
1484         from mainline along with 2002-04-04's change.
1485
1486 2002-04-28  David S. Miller  <davem@redhat.com>
1487
1488         PR target/6496
1489         * config/sparc/sparc.md (call followed by jump peephole): Do not
1490         match for TARGET_V9, kill TARGET_ARCH64 variants.
1491
1492         PR target/6500
1493         * config/sparc/sparc.md (prefetch): Emit properly for 32-bit vs.
1494         64-bit TARGET_V9.  Do not use prefetch page, use prefetch for
1495         several {reads,writes} instead.
1496         * config/sparc/sparc.h (PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES):
1497         Define.
1498
1499 2002-04-27  David S. Miller  <davem@redhat.com>
1500
1501         PR target/6494
1502         * config/sparc/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Be mindful
1503         of the stack bias.
1504
1505         * config/sparc/linux.h, config/sparc/linux64.h: Don't bother
1506         including signal.h and sys/ucontext.h, not needed.
1507
1508 2002-04-28  Richard Henderson  <rth@redhat.com>
1509
1510         PR c/5154
1511         * ggc-common.c (ggc_mark_rtx_children_1): Rename from...
1512         (ggc_mark_rtx_children): New.
1513
1514 2002-04-28  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
1515
1516         PR c/6497
1517         * config/rs6000/rs6000.md (sCC patterns): Remove clobber and use
1518         result as temporary value.
1519
1520 2002-04-28  Jakub Jelinek  <jakub@redhat.com>
1521
1522         PR optimization/6475
1523         * reload1.c (alter_reg): Only call set_mem_expr if I is home pseudo
1524         register of REGNO_DECL (i).
1525         * Makefile.in (reload1.o): Add $(TREE_H).
1526
1527 2002-04-28  Bruce Korb  <bkorb@gnu.org>
1528
1529         * fixinc/check.tpl (set-writable): verify that it exists before
1530         invoking.
1531
1532 2002-04-28  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
1533
1534         PR c/6343
1535         * c-decl.c (duplicate_decls): Call merge_weak.
1536         * c-pragma.c (apply_pragma_weak): Warn about misuse.
1537         * output.h (merge_weak): Prototype merge_weak.
1538         * varasm.c (merge_weak): New function.
1539         (declare_weak): Make sure we don't give an error on VAR_DECLs.
1540         Mark RTL with SYMBOL_REF_WEAK.
1541
1542 2002-04-25  David S. Miller  <davem@redhat.com>
1543
1544         PR target/6422
1545         * reorg.c (optimize_skip): Do not allow exception causing
1546         instructions to be considered for delay slots.
1547         (fill_simply_delay_slots, fill_slots_from_thread): Likewise.
1548         (relax_delay_slots): Do not try to consider exception causing
1549         instructions as redundant.
1550
1551 2002-04-26  Alexandre Oliva  <aoliva@redhat.com>
1552
1553         * tree.c (tree_int_cst_lt): Compare constants whose types differ
1554         in unsigned-ness correctly.
1555
1556 2002-04-26  Chris Demetriou  <cgd@broadcom.com>
1557
1558         * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Get closer to
1559         correct for MEABI (used by mipsisa32-elf).
1560
1561 2002-04-26  Mark Mitchell  <mark@codesourcery.com>
1562
1563         PR bootstrap/6445
1564         * config/i386/i386.md (untyped_call): Return the value in a float
1565         register if TARGET_FLOAT_RETURNS_IN_80387, not just if
1566         TARGET_80387.
1567
1568 2002-04-26  Ulrich Weigand  <uweigand@de.ibm.com>
1569
1570         * config/s390/linux.h: Revert 2002-04-22 change.
1571
1572 2002-04-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1573
1574         * pa.h (FUNCTION_OK_FOR_SIBCALL): Don't do sibcalls when using the
1575         portable runtime model.
1576
1577 2002-04-26  David Edelsohn  <edelsohn@gnu.org>
1578             Richard Henderson  <rth@redhat.com>
1579
1580         * config/rs6000/rs6000.md (sCC pattern): Remove clobber and use
1581         result as temporary value.
1582
1583 2002-04-26  Richard Henderson  <rth@redhat.com>
1584
1585         PR c/3581
1586         * c-common.c (combine_strings): Use xmalloc, not alloca.
1587
1588         * c-common.c (combine_strings): Tweak __FUNCTION__ warning text.
1589
1590 2002-04-26  Bo Thorsen  <bo@suse.co.uk>
1591
1592         * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Define for
1593         x86-64.
1594
1595 2002-04-25  David S. Miller  <davem@redhat.com>
1596
1597         * config/sparc/sparc.h (FUNCTION_OK_FOR_SIBCALL): Add back check
1598         for DECL being NULL.
1599
1600 2002-04-25  Eric Botcazou  <ebotcazou@multimania.com>
1601
1602         * c-decl.c (grokdeclarator): Remove outdated ??? note
1603         on invalid declaration of flexible array members.
1604
1605 2002-04-25  Richard Henderson  <rth@redhat.com>
1606
1607         * doc/invoke.texi: Document -gdwarf{,-2} vs debug level.
1608
1609 2002-04-25  Ulrich Weigand  <uweigand@de.ibm.com>
1610
1611         * config/s390/s390.c (s390_emit_epilogue): Always restore registers
1612         needed by the compiler, even if they are used as global regs.
1613
1614 2002-04-25  Steven Bosscher  <S.Bosscher@student.tudelft.nl>
1615
1616         * doc/c-tree.texi: Fix typo in introduction.
1617
1618 2002-04-24  Richard Henderson  <rth@redhat.com>
1619
1620         * configure.in (HAVE_GAS_HIDDEN): Detect sparc binutils 2.12
1621         linker bug.
1622
1623 2002-04-24  Jason Merrill  <jason@redhat.com>
1624
1625         * dwarf2.h (enum dwarf_attribute): Add DW_AT_GNU_vector.
1626         * dwarf2out.c (dwarf_attr_name): Support it.
1627         (gen_array_type_die): Emit it.
1628         (lookup_type_die): No special handling for VECTOR_TYPE.
1629         (gen_type_die): Hand VECTOR_TYPE off to gen_array_type_die.
1630
1631 2002-04-24  Richard Henderson  <rth@redhat.com>
1632
1633         * config/mips/mips.md (movdi_usd): Renumber.
1634
1635 2002-04-24  Robert Lipe  <robertlipe@usa.net>
1636
1637         * config/i386/sco5.h(i386.h, att.h): Eliminate double inclusion.
1638
1639 2002-04-24  David S. Miller  <davem@redhat.com>
1640
1641         * config/sparc/sparc.h (FUNCTION_OK_FOR_SIBCALL): Return false if
1642         32-bit Sparc and current_function_returns_struct is true.
1643
1644 2002-04-24  Aldy Hernandez  <aldyh@redhat.com>
1645
1646         * config/rs6000/altivec.h: Cleanup file.  Add non individual
1647         variants.
1648         (vec_vaddubm): New.
1649         (vec_vadduhm): New.
1650         (vec_vadduwm): New.
1651         (vec_vaddfp): New.
1652         (vec_vaddcuw): New.
1653         (vec_vaddubs): New.
1654         (vec_vaddsbs): New.
1655         (vec_vadduhs): New.
1656         (vec_vadduws): New.
1657         (vec_vaddsws): New.
1658         (vec_vand): New.
1659         (vec_vandc): New.
1660         (vec_vavgub): New.
1661         (vec_vavgsb): New.
1662         (vec_vavguh): New.
1663         (vec_vavgsh): New.
1664         (vec_vavguw): New.
1665         (vec_vavgsw): New.
1666         (vec_vrfip): New.
1667         (vec_vcmpbfp): New.
1668         (vec_vcmpequb): New.
1669         (vec_vcmpequh): New.
1670         (vec_vcmpequw): New.
1671         (vec_vcmpeqfp): New.
1672         (vec_vcmpgefp): New.
1673         (vec_vcmpgtub): New.
1674         (vec_vcmpgtsb): New.
1675         (vec_vcmpgtuh): New.
1676         (vec_vcmpgtsh): New.
1677         (vec_vcmpgtuw): New.
1678         (vec_vcmpgtsw): New.
1679         (vec_vcmpgtfp): New.
1680         (vec_vcmpgefp): New.
1681         (vec_vcfux): New.
1682         (vec_vcfsx): New.
1683         (vec_vctsxs): New.
1684         (vec_vctuxs): New.
1685         (vec_vexptefp): New.
1686         (vec_vrfim): New.
1687         (vec_lvx): New.
1688         (vec_lvebx): New.
1689         (vec_lvehx): New.
1690         (vec_lde): Add vector float variant.
1691         (vec_lvewx): New.
1692         (vec_lvxl): New.
1693         (vec_vlogefp): New.
1694         (vec_vmaddfp): New.
1695         (vec_vmhaddshs): New.
1696         (vec_vmaxub): New.
1697         (vec_vmaxsb): New.
1698         (vec_vmaxuh): New.
1699         (vec_vmaxsh): New.
1700         (vec_vmaxuw): New.
1701         (vec_vmaxsw): New.
1702         (vec_vmaxsw): New.
1703         (vec_vmaxfp): New.
1704         (vec_vmrghb): New.
1705         (vec_vmrghh): New.
1706         (vec_vmrghw): New.
1707         (vec_vmrglb): New.
1708         (vec_vmrglh): New.
1709         (vec_vmrglw): New.
1710         (vec_vminub): New.
1711         (vec_vminsb): New.
1712         (vec_vminuh): New.
1713         (vec_vminsh): New.
1714         (vec_vminuw): New.
1715         (vec_vminsw): New.
1716         (vec_vminfp): New.
1717         (vec_vmladduhm): New.
1718         (vec_vmhraddshs): New.
1719         (vec_msumubm): New.
1720         (vec_vmsummbm): New.
1721         (vec_vmsumuhm): New.
1722         (vec_vmsumshm): New.
1723         (vec_vmsumuhs): New.
1724         (vec_vmsumshs): New.
1725         (vec_vmuleub): New.
1726         (vec_vmulesb): New.
1727         (vec_vmuleuh): New.
1728         (vec_vmulesh): New.
1729         (vec_vmuloub): New.
1730         (vec_mulosb): New.
1731         (vec_vmulouh): New.
1732         (vec_vmulosh): New.
1733         (vec_vnmsubfp): New.
1734         (vec_vnor): New.
1735         (vec_vor): New.
1736         (vec_vpkuhum): New.
1737         (vec_vpkuwum): New.
1738         (vec_vpkpx): New.
1739         (vec_vpkuhus): New.
1740         (vec_vpkshss): New.
1741         (vec_vpkuwus): New.
1742         (vec_vpkswss): New.
1743         (vec_vpkshus): New.
1744         (vec_vpkswus): New.
1745         (vec_vperm): New.
1746         (vec_vrefp): New.
1747         (vec_vrlb): New.
1748         (vec_vrlh): New.
1749         (vec_vrlw): New.
1750         (vec_vrfin): New.
1751         (vec_vrsqrtefp): New.
1752         (vec_vsel): New.
1753         (vec_vslb): New.
1754         (vec_vslh): New.
1755         (vec_vslw): New.
1756         (vec_vsldoi): New.
1757         (vec_vsl): New.
1758         (vec_vslo): New.
1759         (vec_vspltb): New.
1760         (vec_vsplth): New.
1761         (vec_vspltw): New.
1762         (vec_vspltisb): New.
1763         (vec_vspltish): New.
1764         (vec_vspltisw): New.
1765         (vec_vsrb): New.
1766         (vec_vsrh): New.
1767         (vec_vsrw): New.
1768         (vec_vsrab): New.
1769         (vec_vsrah): New.
1770         (vec_vsraw): New.
1771         (vec_vsr): New.
1772         (vec_vsro): New.
1773         (vec_stvx): New.
1774         (vec_stvebx): New.
1775         (vec_stvehx): New.
1776         (vec_stvewx): New.
1777         (vec_stvxl): New.
1778         (vec_vsububm): New.
1779         (vec_vsubuhm): New.
1780         (vec_vsubuwm): New.
1781         (vec_vsubfp): New.
1782         (vec_vsubcuw): New.
1783         (vec_vsububs): New.
1784         (vec_vsubsbs): New.
1785         (vec_vsubuhs): New.
1786         (vec_vsubshs): New.
1787         (vec_vsubuws): New.
1788         (vec_vsubsws): New.
1789         (vec_vsum4ubs): New.
1790         (vec_vsum4sbs): New.
1791         (vec_vsum4shs): New.
1792         (vec_vsum2sws): New.
1793         (vec_vsumsws): New.
1794         (vec_vrfiz): New.
1795         (vec_vupkhsb): New.
1796         (vec_vupkhpx): New.
1797         (vec_vupkhsh): New.
1798         (vec_vupklsb): New.
1799         (vec_vupklpx): New.
1800         (vec_vupklsh): New.
1801         (vec_vxor): New.
1802
1803 2002-04-23  Zack Weinberg  <zack@codesourcery.com>
1804
1805         * doc/install.texi: Clarify which versions of alpha*-dec-osf*
1806         are obsoleted.
1807
1808 2002-04-23  Eric Botcazou  <ebotcazou@multimania.com>
1809
1810         PR c/5430
1811         * fold-const.c (split_tree): Add MINUS_LITP parameter; separate
1812         added literals from substracted literals.
1813         (associate_trees): Don't convert MINUS_EXPR into PLUS_EXPR.
1814         (fold) [associate]: Preserve MINUS_EXPR if needed.
1815
1816 2002-04-23  Tom Tromey  <tromey@redhat.com>
1817
1818         * gcc.c: Added --resource.  For PR java/6314.
1819
1820 2002-04-23  David O'Brien  <obrien@FreeBSD.org>
1821
1822         * config/freebsd.h(OBJECT_FORMAT_ELF): Define.
1823
1824 2002-04-23  David O'Brien  <obrien@FreeBSD.org>
1825
1826         * cp/g++spec.c: Use profiled libstdc++ and libm with -p/-pg.
1827         * config/freebsd.h (MATH_LIBRARY_PROFILE): Use the _p verions of
1828         these libraries.
1829
1830 2002-04-23  Alan Modra  <amodra@bigpond.net.au>
1831
1832         PR target/6413
1833         * function.h: (struct function): Add profile_label_no field.
1834         (current_function_profile_label_no): Define.
1835         * function.c: (profile_label_no): New static var.
1836         (expand_function_start): Increment it, and copy to
1837         current_function_profile_label_no.
1838         * output.h (profile_label_no): Delete.
1839         * final.c (profile_label_no): Delete.
1840         (profile_function): Use current_function_profile_label_no.
1841         (final_end_function): Don't increment profile_label_no here.
1842         * config/i386/i386.c (ix86_osf_output_function_prologue): Replace
1843         profile_label_no with current_function_profile_label_no.
1844         * config/pa/pa.c (current_function_number): Delete.
1845         (pa_output_function_prologue): Don't output profile label here.
1846         (hppa_profile_hook): Use label_no param rather than
1847         current_function_number.
1848         (FUNC_BEGIN_PROLOG_LABEL): Move to ..
1849         * config/pa/pa.h: .. here.
1850         (FUNCTION_PROFILER): Output profile label here.
1851
1852 2002-04-23  Aldy Hernandez  <aldyh@redhat.com>
1853
1854         * config/rs6000/altivec.h (vec_step): Remove extraneous
1855         parentheses.
1856         (vec_ctu): Cast return.
1857
1858 2002-04-22  Aldy Hernandez  <aldyh@redhat.com>
1859
1860         * config/rs6000/rs6000.md ("*movv4si_internal"): Change 'm'
1861         constraint to 'o' for m=r and r=m alternatives.
1862         ("*movv8hi_internal1"): Same.
1863         ("*movv16qi_internal1"): Same.
1864         ("*movv4sf_internal1"): Same.
1865
1866 2002-04-22  Zack Weinberg  <zack@codesourcery.com>
1867
1868         * c-lex.c (lex_charconst): Call convert to get constant in
1869         proper type; don't just smash the type field.
1870         Fixes PR c/6300.
1871
1872         * config.gcc: Add list of obsolete configurations.  Disallow
1873         building these without --enable-obsolete.
1874         * doc/install.texi: Document --enable-obsolete and obsoletion
1875         policy.  Mention obsoletion of individual targets in
1876         appropriate places.
1877
1878 2002-04-22  Richard Henderson  <rth@redhat.com>
1879
1880         * config/sparc/sol2-bi.h (ASM_DEBUG_SPEC): New.
1881
1882 2002-04-22  Mark Mitchell  <mark@codesourcery.com>
1883
1884         PR f/6138.
1885         * function.c (fixup_memory_subreg): Add promoted_mode parameter.
1886         (walk_fixup_memory_subreg): Likewise.
1887         (fixup_var_refs_insn): Adjust accordingly.
1888         (fixup_var_refs_1): Likewise.
1889
1890 2002-04-22  Joel Sherrill  <joel@OARcorp.com>
1891
1892         * gthr-rtems.h: Correct prototypes to remove warnings.
1893
1894 2002-04-22  Richard Henderson  <rth@redhat.com>
1895
1896         PR c/6344
1897         * alias.c (canon_true_dependence): Special case (mem:blk (scratch)).
1898
1899         * gcse.c (free_insn_expr_list_list): New.
1900         (clear_modify_mem_tables): Use it.  Fix bit set usage.
1901         (canon_list_insert): Use EXPR_LISTs for expressions.
1902         (record_last_mem_set_info): Factor BLOCK_NUM (insn).
1903
1904 2002-04-22  Ulrich Weigand  <uweigand@de.ibm.com>
1905
1906         * config/s390/linux.h: (LIBPATH_SPEC, LIBPATH_ARCH31_SPEC,
1907         LIBPATH_ARCH64_SPEC): Define.
1908         (EXTRA_SPECS): Add libpath, libpath_arch31, libpath_arch64.
1909         (STARTFILE_SPEC, ENDFILE_SPEC): Define; use libpath.
1910         (LINK_ARCH31_SPEC): Add libpath_arch31 to search path.
1911         (LINK_ARCH64_SPEC): Add libpath_arch64 to search path.
1912
1913 2002-04-22  Aldy Hernandez  <aldyh@redhat.com>
1914
1915         * config/rs6000/altivec.h (vec_xor): Add variant for both args
1916         being vector signed int.
1917         (vec_andc): Same.
1918         (vec_xor): Add variant for both args being vector signed char.
1919         Remove redundant variant.
1920         (vec_andc): Same.
1921
1922 2002-04-21  David S. Miller  <davem@redhat.com>
1923
1924         * config/sparc/sparc.md (set then compare DI mode peephole2): Fix
1925         compare mode in output RTL.
1926
1927 2002-04-22  David Edelsohn  <edelsohn@gnu.org>
1928
1929         * config/rs6000/rs6000.c (rs6000_override_options): Correct
1930         style and formatting of previous patch.
1931
1932 2002-04-22  Alan Modra  <amodra@bigpond.net.au>
1933
1934         * config/rs6000/rs6000.c (rs6000_override_options): Always clear
1935         flag_pic for ABI_AIX.
1936
1937 2002-04-21  Neil Booth  <neil@daikokuya.demon.co.uk>
1938
1939         * cppmacro.c (funlike_invocation_p): Don't step back
1940         over CPP_EOF.
1941
1942 2002-04-21  David Edelsohn  <edelsohn@gnu.org>
1943
1944         * config/rs6000/rs6000.c (output_profile_hook): Do not increment
1945         labelno.
1946
1947 2002-04-20  Joseph S. Myers  <jsm28@cam.ac.uk>
1948
1949         * doc/invoke.texi: Remove Chill references.
1950         * doc/gcc.texi: Update last modified date.
1951
1952 2002-04-19  David S. Miller  <davem@redhat.com>
1953
1954         * config/sparc/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Define.
1955         * config/sparc/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Likewise.
1956
1957 Sat Apr 20 02:17:38 CEST 2002  Jan Hubicka  <jh@suse.cz>
1958
1959         * i386.md (movsi_1, movhi_1): Force reload to use more flexible
1960         alternative.
1961
1962 2002-04-19  Jakub Jelinek  <jakub@redhat.com>
1963
1964         PR c/6358
1965         * function.c: Reapply patch for c/6358.
1966         (expand_function_end): Copy decl_rtl's mode, not
1967         current_function_return_rtx mode.
1968
1969 2002-04-19  Joel Sherrill  <joel@OARcorp.com>
1970
1971         * config/rtems.h (STARTFILE_SPEC, ENDFILE_SPEC): Fix for non-ELF
1972         targets.
1973
1974 2002-04-19  Tom Tromey  <tromey@redhat.com>
1975
1976         * doc/install.texi (Specific): Update status of Solaris 2.8.
1977         For PR libgcj/6158.
1978
1979 2002-04-19  Dan Nicolaescu  <dann@godzilla.ics.uci.edu>
1980             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1981
1982         * doc/install.texi (Specific, sparc-sun-solaris2*): Mention that
1983         binutils 2.11.2 and higher generate smaller binaries than Sun's
1984         native tools.
1985
1986 2002-04-19  Mark Mitchell  <mark@codesourcery.com>
1987
1988         PR c++/6352
1989         * toplev.c (rest_of_compilation): Do not defer functions for which
1990         TREE_SYMBOL_REFERENCED has already been set.
1991
1992 2002-04-18  Richard Henderson  <rth@redhat.com>
1993
1994         * function.c: Revert patch for c/6358.
1995
1996 2002-04-18  Richard Henderson  <rth@redhat.com>
1997
1998         * ifcvt.c (find_cond_trap): Handle cases with no proper THEN or JOIN
1999         blocks.  Handle multiple references to the TRAP block.  Handle
2000         non-adjacent THEN and OTHER blocks.
2001
2002 2002-04-18  Richard Henderson  <rth@redhat.com>
2003
2004         * config/ia64/ia64.c (ia64_function_arg_pass_by_reference): Don't
2005         crash with no type for by-mode libcalls.
2006
2007         * config/ia64/ia64.md (conditional_trap): Fix predicate polarity.
2008
2009 2002-04-18  David S. Miller  <davem@redhat.com>
2010
2011         * config/sparc/sparc.h (BRANCH_COST): Define.
2012
2013         * fold-const.c (BRANCH_COST): Don't provide default here, expr.h
2014         does it.
2015
2016 2002-04-18  Richard Henderson  <rth@redhat.com>
2017
2018         * config/ia64/ia64.c (ia64_function_arg_pass_by_reference): New.
2019         (ia64_va_arg): Expect variable sized types by reference.
2020         * config/ia64/ia64-protos.h: Update.
2021         * config/ia64/ia64.h (FUNCTION_ARG_PASS_BY_REFERENCE): Use
2022         ia64_function_arg_pass_by_reference.
2023
2024 2002-04-18  Hans-Peter Nilsson  <hp@bitrange.com>
2025
2026         * flow.c (update_life_info): Ignore return value of cleanup_cfg.
2027         Mask out PROP_SCAN_DEAD_CODE | PROP_KILL_DEAD_CODE in
2028         propagate_block calls after relaxation loop using new variable
2029         stabilized_prop_flags.
2030
2031 2002-04-18  Richard Henderson  <rth@redhat.com>
2032
2033         * ifcvt.c: Include except.h.
2034         (block_has_only_trap): Break out from find_cond_trap.
2035         (find_cond_trap): Use it.  Always delete the trap block.
2036         (merge_if_block): Allow then block null.  Be less simplistic about
2037         what insns can end a block.
2038         * Makefile.in (ifcvt.o): Depend on except.h.
2039
2040         * config/ia64/ia64.md (trap, conditional_trap): New.
2041
2042 2002-04-18  Jakub Jelinek  <jakub@redhat.com>
2043
2044         PR c/6358
2045         * function.c (assign_parms): Assign hard current_function_return_rtx
2046         register here...
2047         (expand_function_end): ...not here.
2048
2049 2002-04-18  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2050
2051         * doc/install.texi (Downloading the source): Do not mention Chill
2052         any longer, but mention Ada.
2053         (Configuration): Do not mention Chill any longer.
2054
2055 2002-04-18  Hans-Peter Nilsson  <hp@axis.com>
2056
2057         * config/cris/cris.h (TARGET_VERSION): Remove local version number.
2058
2059 Thu Apr 18 15:49:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
2060
2061         * i386.h (SSE_FLOAT_MODE_P): Kill bogus TARGET_SSE_MATH check.
2062         * i386.md (sse_mov?fcc*): Swap operands for cases they will be swapped
2063         later.
2064
2065 2002-04-18  Jakub Jelinek  <jakub@redhat.com>
2066
2067         PR middle-end/6205
2068         * config/i386/i386.md (movsf_1): Use pxor only if TARGET_SSE2,
2069         otherwise xorps.
2070
2071 2002-04-18  Loren J. Rittle  <ljrittle@acm.org>
2072
2073         Revert this change:
2074
2075         * doc/install.texi (Installing GCC: Configuration): Clarify
2076         the only supported ways to configure gcc.
2077
2078 2002-04-17  Dale Johannesen <dalej@apple.com>
2079
2080         * config/rs6000/rs6000.c (rs6000_emit_cmove): Fail if modes of
2081         comparison operands do not match each other or if modes of
2082         conditions do not match result.
2083         (rs6000_output_function_prologue): Compute instruction addresses.
2084         (rs6000_output_function_epilogue): Likewise.
2085
2086 2002-04-17  Ulrich Weigand  <uweigand@de.ibm.com>
2087
2088         * config/s390/s390.c (legitimize_pic_address): Do not generate
2089         illegal address constant without CONST.
2090
2091 2002-04-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2092
2093         * sparc/linux64.h (CC1_SPEC): Error for -m32 and -m64.
2094         * sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
2095
2096 2002-04-17  Ulrich Weigand  <uweigand@de.ibm.com>
2097
2098         PR optimization/6305
2099         * config/s390/s390.c (s390_expand_plus_operand): Use find_replacement
2100         to make sure previous reloads are taken into account.  Generate
2101         better code if one operand is an in-range immediate constant.
2102
2103 2002-04-16  Andrew Haley  <aph@cambridge.redhat.com>
2104
2105         * doc/install.texi (Building): libgcj requires GNU make.
2106
2107 2002-04-17  Jakub Jelinek  <jakub@redhat.com>
2108
2109         PR bootstrap/6315
2110         * config/sparc/sparc.md (movtf reg<-reg split): Allow spliting
2111         even if hard quad and register is not floating.
2112         (movtf reg<-mem split): Disallow splitting if hard quad and
2113         register is floating.
2114         (movtf mem<-reg split): Likewise.
2115         * config/sparc/sparc.c (fp_register_operand): New predicate.
2116         * config/sparc/sparc.h (PREDICATE_CODES): Add fp_register_operand.
2117
2118 2002-04-17  Zack Weinberg  <zack@codesourcery.com>
2119
2120         * Makefile.in (PROTO_OBJS): Add cppdefault.o.
2121         (protoize.o): Take $(PREPROCESSOR_DEFINES) off command line.
2122         (unprotoize.o): Ditto.  Build from protoize.c.  Define
2123         UNPROTOIZE on command line.
2124         * protoize.c: Include cppdefault.h.  Delete include_defaults.
2125         (in_system_include_dir): Use cpp_include_defaults (defined in
2126         cppdefault.o).
2127         * unprotoize.c: Delete file.
2128
2129 2002-04-17  Aldy Hernandez  <aldyh@redhat.com>
2130
2131         * config/rs6000/altivec.h (vec_ld): Add array variants.
2132         (vec_lde): Same.
2133         (vec_ldl): Same.
2134
2135 2002-04-17  Alan Matsuoka  <alanm@redhat.com>
2136             Aldy Hernandez <aldyh@redhat.com>
2137
2138         * config/rs6000/altivec.h: Define __ALTIVEC__.
2139         (bool): New.
2140         (__pixel): New.
2141         (pixel): New.
2142         (vec_cfux): New.
2143         (vec_vmaddfp): New.
2144         (vec_vsldoi): New.
2145         Add parentheses to all macro arguments.
2146
2147 2002-04-16  Richard Henderson  <rth@redhat.com>
2148
2149         PR c++/6320
2150         * except.c (remove_eh_handler): Insert inner regions at beginning
2151         of sibling chain.  Refactor expressions.
2152
2153 2002-04-16  Mark Mitchell  <mark@codesourcery.com>
2154
2155         * c-common.h (STMT_EXPR_NO_SCOPE): New macro.
2156         * c-common.c (c_expand_expr): Respect STMT_EXPR_NO_SCOPE.
2157         * tree.h (expand_start_stmt_expr): Update prototype.
2158         * stmt.c (expand_start_stmt_expr): Add has_scope parameter.
2159         * tree-inline.c (expand_call_inline): Set STMT_EXPR_NO_SCOPE
2160         on the STMT_EXPR created for the inline function.
2161
2162 2002-04-16  Richard Henderson  <rth@redhat.com>
2163
2164         * config/sparc/sol2-bi.h (AS_SPARC64_FLAG): New.
2165         * config/sparc/sol2-gas-bi.h: New file.
2166         * config.gcc (sparc*-solaris): Add it as needed.
2167         * configure.in (AS_SPARC64_FLAG): Remove check.
2168         * config.in, configure: Regenerate.
2169
2170         * config/sparc/sol2-bi.h (CC1_SPEC): Error for -m32 and -m64.
2171
2172 2002-04-16  Richard Henderson  <rth@redhat.com>
2173
2174         * config/mips/mips.c (override_options): Don't override N32 for
2175         a 64-bit ISA.
2176
2177         PR c/6202
2178         * config/mips/mips.md (can_delay): Split out of existing define_delays.
2179         (HILO_delay): Set can_delay false.
2180
2181 2002-04-16  Paolo Carlini  <pcarlini@unitus.it>
2182
2183         * c-parse.in (poplevel, compstmt_start, compstmt_primary_start):
2184         Add ending ';', in accordance with POSIX.
2185
2186 2002-04-16  Richard Henderson  <rth@redhat.com>
2187
2188         * config.gcc (sparcv9-solaris): Configure for 64-bit default.
2189         Adjust tm_file order to get TARGET_DEFAULT set properly.
2190         (sparc-solaris): Configure 2.[78] for 64-bit multilibs.
2191         * doc/install.texi (sparc-solaris): Update.
2192
2193 2002-04-16  Hartmut Penner <hpenner@de.ibm.com>
2194
2195         PR target/6305
2196         * config/s390/s390.md (mulsidi3): Set both subregs of the
2197         multiword register.
2198
2199 2002-04-16  Aldy Hernandez  <aldyh@redhat.com>
2200
2201         * config/rs6000/altivec.h (vec_addc): Type check.
2202
2203 2002-04-16  Jakub Jelinek  <jakub@redhat.com>
2204
2205         PR middle-end/6279
2206         * expr.c (store_expr): Don't copy if DECL_RTL (exp) == target.
2207
2208         * expr.c (safe_from_p): Cleanup: use DECL_RTL_IF_SET.
2209
2210 2002-04-15  Richard Henderson  <rth@redhat.com>
2211
2212         * config/mips/abi64.h (SUBTARGET_CONDITIONAL_REGISTER_USAGE): Set
2213         call_really_used_regs too.
2214
2215 2002-04-15  David S. Miller  <davem@redhat.com>
2216
2217         * rtlanal.c (note_stores): Don't present PARALLEL SET_DESTs
2218         as being CLOBBERed.
2219
2220 2002-04-16  Jakub Jelinek  <jakub@redhat.com>
2221
2222         PR c/6290
2223         * config/rs6000/rs6000.c (easy_vector_constant): Return 1 if the
2224         CONST_VECTOR is { 0, ... 0 }.
2225
2226 2002-04-15  Loren J. Rittle  <ljrittle@acm.org>
2227
2228         * doc/install.texi (Installing GCC: Configuration): Clarify
2229         the only supported ways to configure gcc.
2230
2231 2002-04-15  Richard Henderson  <rth@redhat.com>
2232
2233         * config/alpha/linux.h, config/arm/linux-elf.h, config/i370/linux.h,
2234         config/i386/linux-aout.h, config/i386/linux-oldld.h,
2235         config/i386/linux.h, config/i386/linux64.h, config/ia64/linux.h,
2236         config/m68k/linux-aout.h, config/m68k/linux.h, config/mips/linux.h,
2237         config/pa/pa-linux.h, config/pj/linux.h, config/s390/linux.h,
2238         config/sh/linux.h, config/sparc/linux-aout.h, config/sparc/linux.h,
2239         config/sparc/linux64.h, config/xtensa/linux.h (CPP_PREDEFINES):
2240         Define __gnu_linux__, not gnu_linux.
2241         * config/rs6000/sysv4.h (CPP_OS_GNU_SPEC): Likewise for gnu_hurd.
2242
2243 2002-04-15  Mark Mitchell  <mark@codesourcery.com>
2244
2245         Remove Chill front end.
2246         * gcc.c (default_compilers): Remove Chill entries.
2247         * ch: Remove directory.
2248         * doc/frontends.texi: Remove information about Chill.
2249         * doc/sourcebuild.texi: Likewise.
2250         * doc/standards.texi: Likewise.
2251
2252 2002-04-15  Douglas B Rupp  <rupp@gnat.com>
2253
2254         * config/alpha/vms.h (INCLUDE_DEFAULTS): Add /gnu/lib/gcc-lib/include.
2255         (LONGLONG_STANDALONE): Define.
2256
2257 2002-04-15  David S. Miller  <davem@redhat.com>
2258
2259         * config/sparc/sparc.c (sparc_emit_float_lib_cmp):
2260         Call emit_library_call with LCT_NORMAL.
2261         (sparc_initialize_trampoline): Use LCT_foo instead of
2262         magic constant in emit_library_call invocations.
2263         (sparc64_initialize_trampoline): Likewise.
2264         (sparc_profile_hook): Likewise.
2265         * config/sparc/sparc.md: Likewise.
2266
2267         * config/sparc/sparc.c (sparc_extra_constraint_check):
2268         Fix type of argument 'c'.
2269         * config/sparc/sparc-protos.h (sparc_extra_constraint_check):
2270         Likewise.
2271
2272 2002-04-14  Andreas Schwab  <schwab@suse.de>
2273
2274         * config/ia64/linux.h (CPP_PREDEFINES): Fix missing backslash.
2275
2276 2002-04-14  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
2277
2278         * config/arm/linux-elf.h (CPLUSPLUS_CPP_SPEC): Define.
2279
2280 2002-04-13  Mark Mitchell  <mark@codesourcery.com>
2281
2282         * config/alpha/linux.h (CPP_PREDEFINES): Fix typo.
2283         * config/i386/gnu.h (CPP_PREDEFINES): Define __gnu_hurd__,
2284         not gnu_hurd.
2285
2286 2002-04-13  Hans-Peter Nilsson  <hp@axis.com>
2287
2288         * config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC): Fix typo.
2289
2290 2002-04-13  Joel Sherrill <joel@OARcorp.com>
2291
2292         * config/sparc/t-elf: Enable v8 multilibs.  Impacts
2293         sparc-elf and sparc-rtems targets.
2294
2295 2002-04-13  Mark Mitchell  <mark@codesourcery.com>
2296
2297         * alpha/linux.h: Define __gnu_linux__ wherever __linux__ is
2298         defined, and __gnu_hurd__ wherever __GNU__ is defined.
2299         * arm/linux-elf.h: Likewise.
2300         * cris/aout.h: Likewise.
2301         * cris/linux.h: Likewise.
2302         * i370/linux.h: Likewise.
2303         * i386/gnu.h: Likewise.
2304         * i386/linux-aout.h: Likewise.
2305         * i386/linux-oldld.h: Likewise.
2306         * i386/linux.h: Likewise.
2307         * i386/linux64.h: Likewise.
2308         * ia64/linux.h: Likewise.
2309         * m68k/linux-aout.h: Likewise.
2310         * m68k/linux.h: Likewise.
2311         * mips/linux.h: Likewise.
2312         * pa/pa-linux.h: Likewise.
2313         * pj/linux.h: Likewise.
2314         * rs6000/sysv4.h: Likewise.
2315         * s390/linux.h: Likewise.
2316         * sh/linux.h: Likewise.
2317         * sparc/linux-aout.h: Likewise.
2318         * sparc/linux.h: Likewise.
2319         * sparc/linux64.h: Likewise.
2320         * xtensa/linux.h: Likewise.
2321
2322 2002-04-13  Andreas Schwab  <schwab@suse.de>
2323
2324         * config/ia64/ia64.h (CPP_SPEC): Include %(cpp_cpu).
2325
2326 2002-04-12  Mark Mitchell  <mark@codesourcery.com>
2327
2328         Revert these changes:
2329
2330         2002-04-06  Mark Mitchell  <mark@codesourcery.com>
2331
2332         PR c++/5571
2333         * stor-layout.c (layout_decl): Reset the RTL for the decl.
2334
2335         2002-03-15  Mark Mitchell  <mark@codesourcery.com>
2336
2337         * expr.c (expand_expr): Tidy.
2338
2339 2002-04-12  Richard Henderson  <rth@redhat.com>
2340
2341         * config.gcc (sparcv9-*-solaris2): Default to 32-bit code.
2342         (sparc*-*-solaris): Clean up header files.
2343         * configure.in (AS_SPARC64_FLAG): Error out if can't find it
2344         and plan on generating 64-bit code.
2345         * toplev.c (decode_g_option): Remove LINKER_DOES_NOT_WORK_WITH_DWARF2.
2346         * config/sparc/sol2-64.h: Delete and reuse for default 64-bit code.
2347         * config/sparc/sol2-sld-64.h: Rename ...
2348         * config/sparc/sol2-bi.h: ... here.  Remove the bits that checked
2349         for AS_SPARC64_FLAG not defined.
2350         * config/sparc/sol2-gld-bi.h: New.
2351         * config/sparc/sol2-sld.h: Remove.
2352         * config/sparc/sol26-sld.h: New.
2353         * config/sparc/sol2.h: Tidy comments.
2354         * doc/install.texi: Document sparc-solaris configury changes.
2355
2356 2002-04-12  Richard Henderson  <rth@redhat.com>
2357
2358         * recog.c (offsettable_address_p): Match the logic in adjust_address.
2359
2360         * config/sparc/sparc.h (LEGITIMIZE_RELOAD_ADDRESS): Handle TFmode
2361         in 64-bit mode only.  Use only for 32-bit or MEDLOW.
2362
2363 2002-04-12  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2364
2365         * config/alpha/osf.h (LINK_SPEC): Pass -S to silence ld warnings.
2366
2367 Fri Apr 12 15:42:59 2002  Jeffrey A Law  (law@redhat.com)
2368
2369         * pa.c (pa_can_combine_p): Call extract_insn before calling
2370         constrain_operands.
2371
2372 2002-04-12  Douglas B Rupp  <rupp@gnat.com>
2373
2374         * hwint.h (HAVE___INT64): Correct spelling.
2375
2376         * config/i386/i386-interix.h (EH_FRAME_IN_DATA_SECTION): Define.
2377         (TARGET_ASM_NAMED_SECTION, RETURN_IN_MEMORY) Define.
2378         (DEFAULT_PCC_STRUCT_RETURN): Define as 0.
2379         (CPP_PREDEFINES): Handle __declspec.
2380         * config/i386/t-interix (USER_H): Remove.
2381
2382 2002-04-12  DJ Delorie  <dj@redhat.com>
2383
2384         * integrate.c (compare_blocks): Make comparisons safe for when
2385         sizeof(int) < sizeof(char *).
2386         (find_block): Likewise.
2387
2388 2002-04-12  Andreas Schwab  <schwab@suse.de>
2389
2390         * config/ia64/ia64.h (ASM_SPEC): Moved from here ...
2391         * config/ia64/sysv4.h (ASM_SPEC): ... to here, so that it
2392         overrides the definition in config/svr4.h.
2393
2394 2002-04-12      Eric Norum <eric.norum@usask.ca>
2395
2396         * config/rtems.h, config/a29k/rtems.h, config/arm/rtems-elf.h,
2397         config/c4x/rtems.h, config/h8300/rtems.h, config/i386/rtems.h,
2398         config/i386/rtemself.h, config/i960/rtems.h, config/m68k/rtems.h,
2399         config/m68k/rtemself.h, config/mips/rtems.h, config/mips/rtems64.h,
2400         config/pa/rtems.h, config/rs6000/rtems.h, config/sh/rtems.h,
2401         config/sh/rtemself.h, config/sparc/rtems.h, config/sparc/rtemself.h,
2402         config/v850/rtems.h (*-rtems*): Cleanup pass to move common
2403         definitions to config/rtems.h and make the targets more similar.
2404
2405 Fri Apr 12 08:06:54 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2406
2407         * expr.c (expand_assigment): Remove duplicate conversions #ifdef
2408         POINTERS_EXTEND_UNSIGNED.
2409         (store_constructor, expand_expr, case COMPONENT_REF): Likewise.
2410         (store_expr): Use TYPE_MODE (sizetype), not ptr_mode.
2411
2412         * emit-rtl.c (widen_memory_access): Don't do anything if MEMOFFSET
2413         not specified.
2414
2415 2002-04-12  Hans-Peter Nilsson  <hp@bitrange.com>
2416
2417         * function.c (fixup_var_refs_1) <SET, handling VAR in SET_SRC>:
2418         For paradoxical (subreg VAR), replace VAR, don't try the subreg.
2419
2420 2002-04-12  Andreas Schwab  <schwab@suse.de>
2421
2422         * config/ia64/ia64.h (EXTRA_SPECS): Fix missing backslash.
2423
2424 2002-04-12  Richard Henderson  <rth@redhat.com>
2425
2426         PR bootstrap/4191
2427         * config/d30v/d30v.h (INIT_SECTION_ASM_OP): Don't undef.
2428
2429         * flow.c (mark_used_reg): Manage reg_cond_dead properly for
2430         modes spanning multiple hard regs.
2431
2432         * recog.c (peephole2_optimize): Rebuild jump labels as needed.
2433
2434 2002-04-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2435
2436         * pa.c (output_millicode_call): Check attribute type as well as length
2437         when length is 28.
2438
2439 2002-04-11  David O'Brien  <obrien@FreeBSD.org>
2440
2441         * config/freebsd.h (NO_IMPLICIT_EXTERN_C, SCCS_DIRECTIVE): Give value.
2442         (DEFAULT_PCC_STRUCT_RETURN) Do not redefine.
2443         (USER_LABEL_PREFIX, HANDLE_SYSV_PRAGMA, IDENT_ASM_OP,
2444         DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE):
2445         elfos.h and dbxelf.h values are fine now.
2446         * config/i386/freebsd.h, config/alpha/freebsd.h
2447         (DEFAULT_PCC_STRUCT_RETURN): Define to 0.
2448
2449 2002-04-11  David O'Brien  <obrien@FreeBSD.org>
2450
2451         * config/ia64/aix.h (CPP_PREDEFINES): Do not define _LP64/__LP64__
2452         or set Acpu or Amachine.  Reformat.
2453         (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
2454         define.
2455         (LINK_SPEC): Do not need to undef.
2456         * config/ia64/elf.h (ASM_EXTRA_SPEC): Define.
2457         * config/ia64/freebsd.h (LINK_SPEC): Do not need to undef.
2458         (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
2459         define.
2460         * config/ia64/hpux.h (ASM_EXTRA_SPEC): Define.
2461         (ASM_SPEC): Do not define, use ASM_EXTRA_SPEC instead.
2462         (LINK_SPEC): Do not need to undef.
2463         (DONT_USE_BUILTIN_SETJMP): Do not define.
2464         * config/ia64/ia64.h (ASM_SPEC, ASM_EXTRA_SPEC): Add.
2465         (CPP_CPU_SPEC): Define _LP64, set Acpu and Amachine.  Remove -Dia64.
2466         (DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Define.
2467         Remove trailing spaces.
2468         * config/ia64/linux.h (CPP_PREDEFINES): Do not define _LP64/__LP64__,
2469         __ELF__, or set Acpu or Amachine.  Reformat.
2470         (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
2471         define.
2472
2473 2002-04-11  David O'Brien  <obrien@FreeBSD.org>
2474
2475         * config.gcc (ia64-*-freebsd*): Fix ordering of tm_files to match
2476         all other *-*-freebsd* targets.
2477
2478 2002-04-11  Richard Sandiford  <rsandifo@redhat.com>
2479
2480         * doc/extend.texi: Remove old claim that typedefs cannot have
2481         an alignment attribute.
2482
2483 2002-04-11  Jakub Jelinek  <jakub@redhat.com>
2484
2485         PR optimization/6177
2486         * expr.c (expand_expr) [COMPONENT_REF]: Handle op0 CONCAT if
2487         bitpos is 0 and bitsize CONCAT size.
2488
2489 2002-04-11  Jakub Jelinek  <jakub@redhat.com>
2490
2491         PR c/6223
2492         * combine.c (if_then_else_cond): Use trunc_int_for_mode on nz.
2493
2494 2002-04-11  David O'Brien  <obrien@FreeBSD.org>
2495
2496         * config/alpha/freebsd.h: Minor reformatting.
2497         (CPP_SPEC): Define ELF and add cpp_subtarget.
2498         (ASM_SPEC): No longer needed.
2499
2500 2002-04-11  Richard Henderson  <rth@redhat.com>
2501
2502         * config/sparc/sparc.md (movdi_insn_sp32): Add o/J alternative.
2503         (movdi_insn_sp32_v9): Likewise.  Only allow stx with aligned memory.
2504         (dimode mem/zero splitter): New.
2505
2506 2002-04-11  Hans-Peter Nilsson  <hp@axis.com>
2507
2508         * config/cris/cris.c (cris_override_options): Tweak error message
2509         for PIC not implemented.
2510
2511         * config/cris/cris.h: Tweak comments related to parameter-passing.
2512
2513         * config/cris/t-cris (TARGET_LIBGCC2_CFLAGS): Don't -Dinhibit_libc here.
2514
2515         * config/cris/cris.c (cris_target_asm_function_prologue): Cast
2516         uses of PIC_OFFSET_TABLE_REGNUM to int to silence warnings.
2517         (cris_target_asm_function_epilogue): Ditto.
2518         (cris_initial_frame_pointer_offset): Ditto.
2519         (cris_simple_epilogue): Ditto.
2520         (cris_expand_builtin_va_arg): Variable-size types come in
2521         by-reference.
2522
2523 2002-04-10  Richard Henderson  <rth@redhat.com>
2524
2525         * except.c (add_ehl_entry): Allow duplicates after landing pad
2526         creation.
2527
2528 2002-04-10  David Edelsohn  <edelsohn@gnu.org>
2529
2530         * config/rs6000/t-aix43 (SHLIB_NM_FLAGS): Add -X32_64.
2531
2532 2002-04-10  Ulrich Weigand  <uweigand@de.ibm.com>
2533
2534         * reload1.c (choose_reload_regs): HARD_FRAME_POINTER_REGNUM
2535         is only used as frame pointer when frame_pointer_needed is true.
2536
2537 2002-04-10  Richard Earnshaw  <rearnsha@arm.com>
2538
2539         PR target/817
2540         * arm.md (arm_movdi): Adjust neg_pool_range attribute to allow
2541         for the fact that the pool entry uses two words.
2542         (movdf_hard_insn): Similarly.  Also, ADR instruction can span
2543         1k bytes.
2544         (movdf_soft_insn): Similarly.
2545         (movxf_hard_insn): Adjust neg_pool_range attribute to allow
2546         for the fact that the pool entry uses three words.
2547
2548 2002-04-10  Richard Henderson  <rth@redhat.com>
2549
2550         * expr.c (expand_expr) [INTEGER_CST]: Don't force into registers
2551         if EXPAND_INITIALIZER.
2552
2553 2002-04-10  Alan Modra  <amodra@bigpond.net.au>
2554
2555         PR optimization/6233
2556         * rtlanal.c (pure_call_p): New function.
2557         * rtl.h (pure_call_p): Declare.
2558         * loop.c (prescan_loop): Use it to set has_nonconst_call.
2559         * gcse.c (store_killed_in_insn): Use pure_call_p here too.
2560
2561 2002-04-09  Richard Henderson  <rth@redhat.com>
2562
2563         * config/alpha/alpha.md (movdi_er_maybe_g): New.
2564         * config/alpha/alpha.c (alpha_expand_mov): Use it.
2565
2566 2002-04-09  Richard Henderson  <rth@redhat.com>
2567
2568         PR c/5078
2569         * expr.c (expand_expr) [INTEGER_CST]: Force overflows into registers.
2570
2571 2002-04-09  Andrew MacLeod  <amacleod@redhat.com>
2572
2573         * expr.c (expand_expr): A RESULT_DECL is part of a call.
2574
2575 2002-04-09  Richard Henderson  <rth@redhat.com>
2576
2577         * cfg.c (expunge_block): Decrement num_elements here ...
2578         (expunge_block_nocompact): ... not here.
2579         * cfgcleanup.c (delete_unreachable_blocks): Set num_elements.
2580
2581 2002-04-09  Richard Henderson  <rth@redhat.com>
2582
2583         * basic-block.h (flow_delete_block_noexpunge): Declare.
2584         (expunge_block_nocompact): Declare.
2585         * cfg.c (expunge_block_nocompact): Split out from ...
2586         (expunge_block): ... here.
2587         * cfgrtl.c (can_delete_label_p): Don't use exception_handler_labels.
2588         (flow_delete_block_noexpunge): Split out from ...
2589         (flow_delete_block): ... here.
2590         * cfgcleanup.c (delete_unreachable_blocks): Compact while
2591         removing dead blocks.
2592         * except.c (exception_handler_labels): Remove.
2593         (exception_handler_label_map): New.
2594         (struct eh_region): Add aka member.
2595         (mark_ehl_map_entry, mark_ehl_map, free_region): New.
2596         (ehl_hash, ehl_eq, ehl_free, add_ehl_entry): New.
2597         (for_each_eh_label, for_each_eh_label_1): New.
2598         (init_eh): Register exception_handler_label_map.
2599         (free_eh_status): Use free_region.
2600         (find_exception_handler_labels): Use the map, not the list.
2601         (remove_exception_handler_label): Likewise.
2602         (maybe_remove_eh_handler): Likewise.
2603         (remove_eh_handler): Use the region aka bitmap.
2604         * except.h (exception_handler_labels): Remove.
2605         (for_each_eh_label): Declare.
2606         * jump.c (rebuild_jump_labels): Don't check exception_handler_labels.
2607         * loop.c (invalidate_loops_containing_label): New.
2608         (find_and_verify_loops): Use it.  Use for_each_eh_label.
2609         * sched-rgn.c (is_cfg_nonregular): Use
2610         current_function_has_exception_handlers.
2611
2612 2002-04-08  Richard Henderson  <rth@redhat.com>
2613
2614         * reorg.c (get_branch_condition): Use reversed_comparison_code.
2615
2616 2002-04-08  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2617
2618         * config/m68hc11/larith.asm (__map_data_section): Fix condition
2619         and optimize for size.
2620         (__do_global_ctors): Fix pointer comparison.
2621         (__do_global_dtors): Likewise.
2622
2623 2002-04-09  David S. Miller  <davem@redhat.com>
2624
2625         * config/sparc/sparc.c (sparc_extra_constraint_check): New
2626         function, implementing EXTRA_CONSTRAINTS.  For memory constraints,
2627         allow reloading pseudos.
2628         * config/sparc/sparc.h (EXTRA_CONSTRAINTS): Use it.
2629         * config/sparc/sparc-protos.h: Declare it.
2630
2631         * config/sparc/sparc.c (const64_is_2insns): Kill signed vs.
2632         unsigned comparison warning.
2633         (output_restore_regs): Mark leaf_function as unused.
2634
2635 Tue Apr  9 09:35:45 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2636
2637         * expr.c (is_aligning_offset): New function.
2638         (expand_expr, case COMPONENT_EXPR): Call it.
2639
2640 2002-04-09  Alan Modra  <amodra@bigpond.net.au>
2641
2642         * configure.in (auto-build.h): Use target_alias and build_alias
2643         when running configure.
2644         (gcc_cv_as): Use $target_alias in directory searchs rather than
2645         $target.  Heed program_prefix and program_transform_name.  Search
2646         for gas in cross-compiler case too.  "test -x" rather than "test -f".
2647         (gcc_cv_ld): Likewise.
2648         (gcc_cv_nm): Set for cross compilers too.  Heed program_prefix and
2649         program_transform_name.
2650         (gcc_cv_objdump): Likewise.
2651         * configure: Regenerate.
2652
2653 2002-04-08  Hans-Peter Nilsson  <hp@bitrange.com>
2654
2655         * config/mmix/t-mmix (TARGET_LIBGCC2_CFLAGS): Don't -Dinhibit_libc
2656         here.
2657
2658         * config/mmix/mmix.h (INITIAL_ELIMINATION_OFFSET): Remove spurious
2659         semicolon.
2660
2661         * config/mmix/mmix.c (mmix_expand_builtin_va_arg): Variable-size
2662         types come in by-reference.  Fix typo in comment.
2663
2664 2002-04-08  Richard Henderson  <rth@redhat.com>
2665
2666         PR opt/6007
2667         * toplev.c (rest_of_compilation): Disable cross-jumping for
2668         highly connected graphs.
2669
2670 2002-04-08  David S. Miller  <davem@redhat.com>
2671
2672         PR target/6082
2673         * config/sparc/freebsd.h (SPARC_DEFAULT_CMODEL): Set to CM_MEDLOW
2674
2675         Make init_priority work on Sparc when using GNU ld.
2676         * config/sparc/linux.h, config/sparc/linux64.h,
2677         config/sparc/netbsd-elf.h, config/sparc/freebsd.h
2678         (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Undefine.
2679         * config/sparc/sol2-gld.h: New file to do the same.
2680         * config.gcc (sparc*-*-solaris2*): If gnu_ld=yes add
2681         sparc/sol2-gld.h to tm_file.
2682
2683         PR optimization/4328
2684         * config/sparc/sparc.h (EXTRA_CONSTRAINT): Add new constraint 'W'.
2685         * doc/md.texi: Document it.
2686         * config/sparc/sparc.md (movdi_insn_sp64_novis,
2687         movdi_insn_sp64_vis, movdf_insn_sp32, movdf_insn_v9only_novis,
2688         movdf_insn_v9only_vis, movdf_insn_sp64_novis,
2689         movdf_insn_sp64_vis): Use it as MEM constraing with 'e' registers.
2690         * config/sparc/sparc.c (mem_min_alignment): Fix comment.
2691
2692 2002-04-08  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2693
2694         * doc/contrib.texi (Contributors): Add John David Anglin and Loren
2695         J. Rittle (the latter also to Testers).  Update David O'Brien's entry.
2696
2697 2002-04-07  David S. Miller  <davem@redhat.com>
2698
2699         * config.gcc (sparc64-*-linux*): Add t-crtfm to tmake_file.
2700
2701 2002-04-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2702
2703         PR 5933
2704         * pa.h (ASM_OUTPUT_MI_THUNK): Use indirect jump to target function when
2705         generating 32-bit pic code.
2706
2707 2002-04-07  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2708
2709         * config/rs6000/rs6000.h (RS6000_PIC_OFFSET_TABLE_REGNUM): New.
2710         (PIC_OFFSET_TABLE_REGNUM): Use it and return INVALID_REGNUM if
2711         !flag_pic.
2712         (CONDITIONAL_REGISTER_USAGE): Adjust accordingly.
2713         * config/rs6000/rs6000.h: Use RS6000_PIC_OFFSET_TABLE_REGNUM instead
2714         of PIC_OFFSET_TABLE_REGNUM thruout.
2715         * config/rs6000/rs6000.md: Likewise.
2716         * config/rs6000/darwin.h: Likewise.
2717
2718 2002-04-06  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2719
2720         * reorg.c (dbr_schedule): Don't reposition prologue and epilogue notes.
2721
2722 2002-04-06  Mark Mitchell  <mark@codesourcery.com>
2723
2724         PR c++/5571
2725         * stor-layout.c (layout_decl): Reset the RTL for the decl.
2726
2727         PR opt/5120
2728         * sibcall.c (optimize_sibling_and_tail_recursive_call): Clear
2729         RTX_UNCHANGING_P for the functions arguments when a tail call
2730         is made.
2731
2732 2002-04-06  Jason Merrill  <jason@redhat.com>
2733
2734         * toplev.c (flag_no_inline, flag_really_no_inline): Default to 2.
2735         (parse_options_and_default_flags): Set them appropriately.
2736         * c-common.c (c_common_post_options): Don't set flag_really_no_inline.
2737
2738 Sat Apr  6 18:26:32 CEST 2002  Jan Hubicka  <jh@suse.cz>
2739
2740         * ifcvt.c (if_convert): Clear aux fields of blocks.
2741
2742 2002-04-05  David S. Miller  <davem@redhat.com>
2743
2744         * config/sparc/freebsd.h (ENDFILE_SPEC): Add crtfastmath bits.
2745         * config.gcc (sparc64-wrs-vxworks, sparc-*-chorusos,
2746         sparc-*-rtems*, sparclite-*-elf* sparc86x-*-elf*, sparc64-*-elf*,
2747         {sparc64,ultrasparc}-*-freebsd*): Add sparc/t-crtfm to tmake_file.
2748
2749 2002-04-05  Jan Hubicka  <jh@suse.cz>
2750
2751         * optabs.c (emit_no_conflict_block, emit_libcall_block): Avoid nesting
2752         of libcall regions.
2753
2754 2002-04-05  David S. Miller  <davem@redhat.com>
2755
2756         * config/sparc/sparc.c (sparc_nonflat_function_epilogue): If we
2757         are not going to emit return instructions, emit at least a nop
2758         for the sake of sane backtraces.
2759
2760 2002-04-05  Jakub Jelinek  <jakub@redhat.com>
2761
2762         * mklibgcc.in: Use separate libgcc.map for each multilib.
2763         * Makefile.in (distclean): Don't remove libgcc.map here.
2764
2765 2002-04-05  Jakub Jelinek  <jakub@redhat.com>
2766
2767         * Makefile.in (s-mlib): Handle --disable-multilib by separate
2768         genmultilib invocation.
2769
2770 2002-04-04  David S. Miller  <davem@redhat.com>
2771
2772         * config/sparc/crtfastmath.c: New file.
2773         * config/sparc/t-crtfm: New file.
2774         * config/sparc/linux.h (ENDFILE_SPEC): Use crtfastmath.o
2775         * config/sparc/linux64.h (ENDFILE_SPEC): Likewise.
2776         * config/sparc/sol2.h (ENDFILE_SPEC): Likewise.
2777         * config/sparc/sp64-elf.h (ENDFILE_SPEC): Likewise.
2778         * config/sparc/elf.h (ENDFILE_SPEC): Likewise.
2779         * config.gcc (sparc*-*-{elf*,linux*,solaris2*}): Add
2780         sparc/t-crtfm to tmake_file.
2781
2782 2002-04-05  Alan Modra  <amodra@bigpond.net.au>
2783
2784         * config/rs6000/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtsavres.o
2785         Add rules to make null object file.
2786
2787 2002-04-04  David S. Miller  <davem@redhat.com>
2788
2789         * calls.c (store_one_arg): If ECF_SIBCALL, use tail_call_reg.
2790
2791 2002-04-04  Richard Henderson  <rth@redhat.com>
2792
2793         PR opt/6165
2794         * alias.c (true_dependence): Force (mem:blk (scratch)) to conflict.
2795         (write_dependence_p): Likewise.
2796
2797 2002-04-04  Richard Henderson  <rth@redhat.com>
2798
2799         * predict.c (estimate_bb_frequencies): Do frequency calculation
2800         with a volatile temporary.
2801
2802 2002-04-04  Ulrich Weigand  <uweigand@de.ibm.com>
2803
2804         * config/s390/linux.h (LOCAL_LABEL_PREFIX): Define.
2805
2806 2002-04-04  Jakub Jelinek  <jakub@redhat.com>
2807
2808         PR c++/6119
2809         * final.c (final_start_function): Don't bump profile_label_no here...
2810         (final_end_function): ...but here.
2811
2812 2002-04-04  Jakub Jelinek  <jakub@redhat.com>
2813
2814         * config/sparc/sparc.md (pic): New attribute.
2815         (do_builtin_setjmp_setup): Save %fp, %i7 and %l7 for TARGET_V9
2816         into stack slots.
2817         (split after do_builtin_setjmp_setup): New.
2818
2819 2002-04-04  Jakub Jelinek  <jakub@redhat.com>
2820
2821         PR fortran/6106
2822         * config/sparc/sparc.h (MIN_UNITS_PER_WORD): Backout 2001-01-01
2823         change.
2824
2825 2002-04-04  Jakub Jelinek  <jakub@redhat.com>
2826
2827         * config/sparc/sparc.c (sparc_va_arg): Adjust va_list by
2828         UNITS_PER_WORD for zero sized aggregates.
2829
2830 2002-04-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2831
2832         * doc/contrib.texi (Contributors): Add David O'Brien.
2833
2834 2002-04-03  David S. Miller  <davem@redhat.com>
2835
2836         * gcc.c (LINK_GCC_C_SEQUENCE_SPEC): No need for a new
2837         one-character spec for this, just use %(link_gcc_c_sequence).
2838
2839 2002-04-04  Alan Modra  <amodra@bigpond.net.au>
2840
2841         * config/rs6000/t-linux64 (EXTRA_MULTILIB_PARTS): Define.
2842
2843 2002-04-03  David S. Miller  <davem@redhat.com>
2844
2845         * gcc.c (LINK_GCC_C_SEQUENCE_SPEC): New spec to override the gcc/c
2846         library sequence passed to the linker.
2847         (LINK_COMMAND_SPEC): Use it.
2848         * doc/tm.texi: Document it, and mention from LINK_COMMAND_SPEC as
2849         a macro a target can use to avoid overriding LINK_COMMAND_SPEC.
2850         * config/sparc/sparc.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
2851
2852 2002-04-03  Jason Merrill  <jason@redhat.com>
2853
2854         PR c++/5636
2855         * tree.h (CLEANUP_EH_ONLY): New macro.
2856         * stmt.c (expand_decl_cleanup_eh): New fn.
2857         (expand_cleanups): Check CLEANUP_EH_ONLY.
2858         * c-semantics.c (genrtl_decl_cleanup): Just take the CLEANUP_STMT.
2859         Use expand_decl_cleanup_eh.
2860         (expand_stmt): Adjust.
2861         * c-common.h: Adjust prototype.
2862
2863 2002-04-03  Jakub Jelinek  <jakub@redhat.com>
2864
2865         * configure.in (HAVE_SPARC_UA_PCREL_HIDDEN): Test whether %r_disp32()
2866         works properly with .hidden symbols.
2867         * configure: Rebuilt.
2868         * config.in: Rebuilt.
2869         * config/sparc/sparc.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
2870         DW_EH_PE_absptr for flag_pic && GLOBAL if %r_disp32() doesn't work
2871         properly with .hidden symbols.
2872
2873 2002-04-03  Jakub Jelinek  <jakub@redhat.com>
2874
2875         PR middle-end/6102
2876         * df.c (df_insn_refs_record): Use XEXP not SET_DEST to access
2877         USE argument.
2878
2879 2002-04-03  Richard Henderson  <rth@redhat.com>
2880
2881         PR opt/4120
2882         * sched-rgn.c (sets_likely_spilled): New.
2883         (sets_likely_spilled_1): New.
2884         (add_branch_dependences): Use it.
2885
2886 2002-04-02  Richard Henderson  <rth@redhat.com>
2887
2888         PR opt/4311
2889         * loop.h (LOOP_FIRST_PASS): New.
2890         * loop.c (strength_reduce): Mind it when deciding to unroll.
2891         * toplev.c (rest_of_compilation): Set it.
2892
2893 2002-04-02  David S. Miller  <davem@redhat.com>
2894
2895         * config/sparc/sparc.md (ldd peephole2s): Fix final arg to
2896         mems_ok_for_ldd_peep when the order of the loads being examined
2897         is reversed.
2898         * config/sparc/sparc.c (mems_ok_for_ldd_peep): Expand upon
2899         existing comment to increase comprehension of this situation.
2900
2901 2002-04-02  Richard Henderson  <rth@redhat.com>
2902
2903         * libgcc2.c (__bb_exit_func): Revert 03-31 change.
2904
2905 2002-04-02  Eric Botcazou  <ebotcazou@multimania.com>
2906             Richard Henderson  <rth@redhat.com>
2907
2908         PR c/5484
2909         * function.c (assign_temp): Accept either type or decl argument.
2910         Detect variables whose size is too large to fit into an integer.
2911         * stmt.c (expand_decl): Pass the decl, not the type.
2912
2913 2002-04-02  David O'Brien  <obrien@FreeBSD.org>
2914
2915         * protoize.c: Match include directory usage with cppdefault.c.
2916
2917 2002-04-03  Jeffrey A Law  (law@redhat.com)
2918             Hans-Peter Nilsson  <hp@bitrange.com>
2919
2920         * combine.c (simplify_comparison): Avoid narrowing a comparison
2921         with a paradoxical subreg when doing so would drop signficant bits.
2922
2923 2002-04-02  David Edelsohn  <edelsohn@gnu.org>
2924
2925         * config/rs6000/rs6000.h (WIDEST_HARDWARE_FP_SIZE): Define.
2926
2927 2002-04-02  Alan Modra  <amodra@bigpond.net.au>
2928
2929         * config/rs6000/rs6000.md (ctrdi*): Add FPR constraint and
2930         associated splitter.  Remove MQ constraint.
2931         (ctrdi_internal4): Correct CCmode clobber.
2932
2933 2002-04-03  Hans-Peter Nilsson  <hp@bitrange.com>
2934
2935         * config/mmix/mmix.md (define_constants): Remove misleading
2936         FIXME.  Add MMIX_fp_rO_OFFSET.
2937         ("nonlocal_goto_receiver"): Don't have stack-frame address of
2938         saved rO as part of the pattern.  Remove FIXME.
2939         ("*nonlocal_goto_receiver_expanded"): Similar.  Generate address
2940         here, at output-time.
2941         * config/mmix/crti.asm (_init): Register _fini with atexit.
2942         * config/mmix/crtn.asm (_fini): Add omitted "POP 0,0".
2943         * config/mmix/mmix.c (mmix_target_asm_function_prologue): Correct
2944         unwind information when frame_pointer_needed.
2945         (mmix_assemble_integer): Tweak wording in comment.
2946
2947 2002-04-02  Richard Henderson  <rth@redhat.com>
2948
2949         PR opt/3967
2950         * local-alloc.c (contains_replace_regs): LO_SUM may contain
2951         replace regs.
2952
2953 2002-04-02  Richard Henderson  <rth@redhat.com>
2954
2955         * doc/standards.texi: Document required freestanding libc entry points.
2956
2957 2002-04-02  Alexandre Oliva  <aoliva@redhat.com>
2958
2959         * config/mips/mips.c (mips_va_arg): Apply big-endianness address
2960         offset before loading address of argument passed by transparent
2961         reference.
2962
2963 2002-04-02  Richard Henderson  <rth@redhat.com>
2964
2965         * fixinc/inclhack.def (AAB_solaris_sys_varargs_h): Move and
2966         rename solaris_sys_varargs_h.
2967
2968 Tue Apr  2 06:47:40 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2969
2970         * stor-layout.c (layout_type, case ARRAY_TYPE): Give one-element array
2971         the same mode as its component.
2972
2973 2002-04-02  Richard Henderson  <rth@redhat.com>
2974
2975         PR opt/420
2976         * config/m68k/m68k.md (dbcc peepholes): Match four forms of dbra.
2977
2978 2002-04-01  Richard Henderson  <rth@redhat.com>
2979
2980         PR target/1538
2981         * fixinc/inclhack.def (solaris_sys_varargs_h): New.
2982         * fixinc/fixincl.x: Rebuild.
2983
2984 2002-04-01  Richard Henderson  <rth@redhat.com>
2985
2986         * config/ia64/unwind-ia64.c: Include ia64intrin.h.
2987         (atomic_alloc, atomic_free): New.
2988         (SIZE, MASK_FOR, PTR_IN): New.
2989         (emergency_reg_state, emergency_reg_state_free): New.
2990         (emergency_labeled_state, emergency_labeled_state_free): New.
2991         (reg_state_alloced, labeled_state_alloced): New.
2992         (alloc_reg_state, free_reg_state): New.
2993         (alloc_label_state, free_label_state, free_label_states): New.
2994         (push, pop, dup_state_stack, free_state_stack): Use them.
2995         (desc_label_state): Likewise.
2996         (uw_frame_state_for): Free label states and state stack.
2997         (uw_update_reg_address): Eliminate warnings.
2998
2999 2002-04-01  Loren J. Rittle  <ljrittle@acm.org>
3000
3001         * doc/install.texi (*-*-freebsd*): Update.
3002
3003 2002-04-01  Phil Edwards  <pme@gcc.gnu.org>
3004
3005         * version.c:  Fix misplaced leading blanks on first line.
3006
3007 2002-04-01  Vladimir Makarov  <vmakarov@redhat.com>
3008
3009         * config/pa/pa-pro-end.h (ASM_OUTPUT_ALIGNED_COMMON,
3010         ASM_OUTPUT_ALIGNED_LOCAL): Redefine them.
3011
3012 2002-04-01  Jim Blandy  <jimb@redhat.com>
3013
3014         * cppmacro.c (cpp_macro_definition): Do not emit spaces after
3015         macro formal parameter names.
3016
3017 2002-04-01  Bob Wilson  <bob.wilson@acm.org>
3018
3019         * config/xtensa/xtensa.c (xtensa_va_arg): Fix compiler warning
3020         in previous change.
3021
3022 2002-04-01  Bob Wilson  <bob.wilson@acm.org>
3023
3024         * config/xtensa/xtensa.c (xtensa_va_arg): Fix to handle arguments
3025         for which MUST_PASS_IN_STACK is true (e.g., variable-sized types).
3026
3027 2002-03-31  Richard Henderson  <rth@redhat.com>
3028
3029         * config/ia64/unwind-ia64.c (alloc_spill_area): Fix offset.
3030         (desc_frgr_mem): Fix reference to f16-f31.
3031
3032 Sun Mar 31 14:43:24 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3033
3034         * emit-rtl.c (adjust_address_1, offset_address): Cast value to
3035         unsigned HOST_WIDE_INT, not unsigned int.
3036
3037 2002-03-31  Jakub Jelinek  <jakub@redhat.com>
3038
3039         PR middle-end/6096, middle-end/6098, middle-end/6099
3040         * reorg.c (emit_delay_sequence): Only increment LABEL_NUSES for
3041         CODE_LABELs.
3042         (fill_slots_from_thread): Likewise.
3043
3044 2002-03-31  Jakub Jelinek  <jakub@redhat.com>
3045
3046         * config/sparc/sparc.c (function_arg_record_value_1): Pass complex
3047         floating fields in float regs.
3048         (function_arg_record_value_2): Likewise.
3049
3050 2002-03-31  Jakub Jelinek  <jakub@redhat.com>
3051
3052         PR middle-end/6100
3053         * config/sparc/sparc.c (output_cbranch): Use REG_BR_PROB, not
3054         REG_BR_PRED.
3055         (output_v9branch): Likewise.
3056
3057 2002-03-31  Alexandre Oliva  <aoliva@redhat.com>
3058
3059         * gcc.c: Revert previous patch for now.
3060         * config/i386/djgpp.h: Likewise.
3061
3062 2002-03-31  Richard Henderson  <rth@redhat.com>
3063
3064         PR target/3997
3065         * config/alpha/elf.h (ASM_OUTPUT_DEF): Tidy.
3066         (ASM_OUTPUT_DEF_FROM_DECLS): New.
3067
3068 2002-03-31  Richard Henderson  <rth@redhat.com>
3069
3070         * libgcc2.c (__bb_exit_func): Make static.
3071
3072         * config/alpha/alpha.md (trap): New.
3073
3074 2002-03-31  Alexandre Oliva  <aoliva@redhat.com>
3075
3076         * gcc.c (LIBGCC_SPEC): Folded %L and duplicate %G here...
3077         (LINK_COMMAND_SPEC): ... from here.
3078         (init_gcc_specs): Duplicate it here too, omitting
3079         shared_name in the second copy.
3080         (init_spec): Test for duplicate
3081         * config/i386/djgpp.h (LINK_COMMAND_SPEC): Remove `%L %G'.
3082
3083 2002-03-31  Richard Henderson  <rth@redhat.com>
3084
3085         * builtins.c (expand_builtin_va_arg): Give warnings not errors for
3086         promoted argument types; build trap.
3087         (expand_builtin_trap): New.
3088         (expand_builtin): Use it.
3089         * stmt.c (expand_nl_goto_receivers): Likewise.
3090         * expr.h (expand_builtin_trap): Declare.
3091         * libfuncs.h (LTI_abort, abort_libfunc): New.
3092         * optabs.c (init_optabs): Init abort_libfunc.
3093
3094 2002-03-30  David S. Miller  <davem@redhat.com>
3095
3096         * config/sparc/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
3097         * config/sparc/linux64.h (HANDLE_PRAGMA_PACK_PUSH_POP): Likewise.
3098
3099 2002-03-30  Roger Sayle <roger@eyesopen.com>
3100             Richard Henderson  <rth@redhat.com>
3101
3102         * regmove.c (combine_stack_adjustments_for_block): Avoid
3103         emitting a stack adjustment of zero bytes.  Let delete_insn
3104         update bb->head.
3105
3106 2002-03-30  Richard Henderson  <rth@redhat.com>
3107
3108         * config/sparc/sparc.c: Remove all references to TARGET_EPILOGUE.
3109         (sparc_emitting_epilogue): New.
3110         (leaf_label, output_return, sparc_return_peephole_ok): Remove.
3111         * config/sparc/sparc-protos.h: Update.
3112         * config/sparc/sparc.h (MASK_EPILOGUE, TARGET_EPILOGUE): Remove.
3113         (TARGET_SWITCHES): Update.
3114         * config/sparc/sparc.md (return): Remove.
3115         (return_*): Use sparc_emitting_epilogue, not !TARGET_EPILOGUE.
3116         * config/sparc/freebsd.h, config/sparc/linux64.h, config/sparc/lite.h,
3117         config/sparc/liteelf.h, config/sparc/netbsd-elf.h,
3118         config/sparc/sol2-sld-64.h, config/sparc/sol2.h,
3119         config/sparc/sp64-aout.h, config/sparc/sp64-elf.h,
3120         config/sparc/sp86x-aout.h, config/sparc/sp86x-elf.h,
3121         config/sparc/splet.h, config/sparc/vxsparc64.h (TARGET_DEFAULT):
3122         Remove MASK_EPILOGUE.
3123         * doc/invoke.texi: Update.
3124
3125 2002-03-30  Daniel Berlin  <dan@dberlin.org>
3126
3127         * dwarf2out.c (dwarf2out_define): Remove start_source_file call,
3128         CPP will start the file for us.
3129
3130 2002-03-30  Richard Henderson  <rth@redhat.com>
3131
3132         PR target/5446
3133         * config/ia64/ia64.c (group_barrier_needed_p): Special case
3134         prologue_allocate_stack.
3135         (ia64_single_set): Use insn codes for recognition of special
3136         cases, not rtl matching.
3137         * config/ia64/ia64.md (prologue_allocate_stack): Op 3 is in-out.
3138
3139 2002-03-30  Richard Henderson  <rth@redhat.com>
3140
3141         PR target/6032
3142         * config/sparc/sparc.h (OVERRIDE_OPTIONS): Don't override -fpic
3143         or -fomit-frame-pointer with profiling.
3144         (SUBTARGET_OVERRIDE_OPTIONS): Remove.
3145         (FUNCTION_PROFILER): Do nothing.
3146         (PROFILE_HOOK): New.
3147         * config/sparc/sparc.c (sparc_override_options): Don't check
3148         code models for profiling.
3149         (sparc_function_profiler): Remove.
3150         (sparc_profile_hook): New.
3151         * config/sparc/sparc-protos.h: Update.
3152
3153 2002-03-30  Jakub Jelinek  <jakub@redhat.com>
3154
3155         PR optimization/6086
3156         * combine.c (combine_simplify_rtx): If simplify_rtx failed because
3157         of SUBREG of volatile MEM or because the MEM was mode dependent,
3158         return CLOBBER instead of unmodified SUBREG.
3159
3160 2002-03-30  David O'Brien  <obrien@FreeBSD.org>
3161
3162         * config/i370/linux.h: Update copyright.
3163
3164 2002-03-30  Alexandre Oliva  <aoliva@redhat.com>
3165
3166         * config/mips/mips.c (function_arg_pass_by_reference): Force to 0
3167         in o32 and o64 ABIs.
3168         * config/mips/abi64.h (MUST_PASS_IN_STACK): Define as in expr.h,
3169         but getting fixed-size structs passed in registers regardless of
3170         padding in o32 and o64 ABIs.
3171
3172 2002-03-29  Richard Henderson  <rth@redhat.com>
3173
3174         PR target/5672
3175         * expr.c (expand_expr): Pass along EXPAND_INITIALIZER one more place.
3176
3177 2002-03-29  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3178
3179         * config/rs6000/rs6000.c (rs6000_va_arg): Correctly set register count
3180         for aggregate and TFmode types.
3181
3182 2002-03-29  Richard Henderson  <rth@redhat.com>
3183
3184         PR target/5886
3185         * config/ia64/aix.h (CPP_PREDEFINES): Add -D_LP64.
3186         * config/ia64/hpux.h, config/ia64/linux.h: Likewise.
3187
3188 2002-03-29  Loren J. Rittle  <ljrittle@acm.org>
3189
3190         * doc/install.texi (*-*-freebsd*): Fix last commit.
3191
3192 2002-03-29  Richard Henderson  <rth@redhat.com>
3193
3194         PR target/6041
3195         * config/i386/i386.c (x86_arch_always_fancy_math_387): New.
3196         (override_options): Disable NO_FANCY_MATH_387 if the arch allows.
3197         * config/i386/i386.h (x86_arch_always_fancy_math_387): New.
3198         * config/i386/i386.md (sqrtxf2, sqrtextendsfxf2, sinxf2): Fix
3199         conditional.
3200         * docs/invoke.texi: Update -mno-fancy-math-387 docs.
3201
3202 2002-03-29  Loren J. Rittle  <ljrittle@acm.org>
3203
3204         * config.gcc (*-*-freebsd*): Enable creation of libgcc_s.so.
3205         * config/t-slibgcc-elf-ver (SHLIB_LC): Add macro and use it.
3206         No functional change except ...
3207         * config/t-slibgcc-nolc-override (SHLIB_LC): Override it.  New file.
3208         * doc/install.texi (*-*-freebsd*): Document port configuration.
3209
3210 2002-03-29  Jakub Jelinek  <jakub@redhat.com>
3211
3212         PR c++/5964
3213         * config/sparc/sparc.md (empty_delay_slot, branch_type): New
3214         attributes.
3215         (length): Compute variable length for branches/calls/jumps here.
3216         (branch, inverted_branch, normal_fp_branch, inverted_fp_branch,
3217         normal_fpe_branch, inverted_fpe_branch): Remove length attribute,
3218         define branch_type attribute.
3219         (divsi3_sp32): Maximum length is 6 not 7.
3220         (call_address_struct_value_sp32, call_symbolic_struct_value_sp32,
3221         call_address_untyped_struct_value_sp32,
3222         call_symbolic_untyped_struct_value_sp32): Set length to 3 not 2.
3223         * config/sparc/sparc.c (empty_delay_slot): New function.
3224         * config/sparc/sparc.h (ADJUST_INSN_LENGTH): Remove.
3225         * config/sparc/sparc-protos.h (empty_delay_slot): Add prototype.
3226
3227 2002-03-29  Jakub Jelinek  <jakub@redhat.com>
3228
3229         * combine.c (set_nonzero_bits_and_sign_copies): Don't call
3230         nonzero_bits if not needed.
3231         (nonzero_bits) [XOR]: Likewise.
3232         (nonzero_bits) [REG]: Use reg_last_set_nonzero_bits even if
3233         reg_last_set_mode and mode are both MODE_INT, but not equal.
3234         (record_value_for_reg): Compute reg_last_set_nonzero_bits
3235         in nonzero_bits_mode for MODE_INT modes.
3236
3237 2002-03-28  Richard Henderson  <rth@redhat.com>
3238
3239         PR target/5715
3240         * config/alpha/osf.h (ASM_SPEC): Don't pass any special options
3241         to GAS.  Correct drift between alternatives.
3242
3243 2002-03-28  Richard Henderson  <rth@redhat.com>
3244
3245         PR target/6087
3246         * reload1.c (fixup_abnormal_edges): Move insn to edge via sequence.
3247
3248 2002-03-28  Alexandre Oliva  <aoliva@redhat.com>
3249
3250         * config/i386/freebsd.h (LINK_SPEC): Don't pass default
3251         emulation to the linker.
3252
3253 2002-03-28  Loren J. Rittle  <ljrittle@acm.org>
3254
3255         * config/alpha/freebsd.h (LINK_SPEC): Likewise.
3256         * config/sparc/freebsd.h (LINK_SPEC): Likewise.
3257
3258 2002-03-28  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3259
3260         * pa-linux.h (LOCAL_LABEL_PREFIX): Define.
3261
3262 Thu Mar 28 16:33:13 2002  Jeffrey A Law  (law@redhat.com)
3263
3264         * combine.c (simplify_and_const_int): Make sure to apply mask
3265         when force_to_mode returns a constant integer.  PR3311.
3266
3267 2002-03-28  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
3268
3269         * doc/invoke.texi (Warning Options): Refer to C++ Dialect Options
3270         and Objective-C Dialect Options.
3271
3272 2002-03-28  Richard Henderson  <rth@redhat.com>
3273
3274         * config/alpha/alpha.c (alpha_emit_conditional_branch): TFmode NE
3275         comparison should be done vs !=0 not >0 return code.  Tidy cases.
3276
3277 2002-03-28  Richard Henderson  <rth@redhat.com>
3278
3279         * c-decl.c (finish_function): New arg can_defer_p.  Pass it
3280         on to c_expand_body.
3281         * c-tree.h (finish_function): Update decl.
3282         * c-objc-common.c, c-parse.in, objc/objc-act.c: Update calls.
3283
3284 2002-03-27  Andreas Schwab  <schwab@suse.de>
3285
3286         * config/i386/i386.c (classify_argument): Also check for
3287         QUAL_UNION_TYPE.
3288
3289 2002-03-27  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3290
3291         * doc/install.texi (alpha*-dec-osf*): Don't need --enable-libgcj
3292         any more.
3293
3294 Wed Mar 27 22:52:02 CET 2002  Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3295
3296         * cfgrtl.c (merge_blocks_nomove): Use set_block_for_insn instead of
3297         assigning to BLOCK_FOR_INSN directly.
3298
3299 Wed Mar 27 22:46:04 CET 2002  Jan Hubicka  <jh@suse.cz>
3300
3301         * i386.c (ix86_output_addr_diff_elt): Remove binutils bug workaround.
3302
3303 2002-03-27  Richard Henderson  <rth@redhat.com>
3304
3305         * toplev.c (rest_of_compilation): Don't compile if we've had errors.
3306
3307 2002-03-27  Richard Henderson  <rth@redhat.com>
3308
3309         * config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h,
3310         config/sparc/netbsd-elf.h, config/sparc/pbd.h, config/sparc/sol2.h,
3311         config/sparc/vxsim.h (LOCAL_LABEL_PREFIX): Define.
3312
3313 2002-03-27  Richard Henderson  <rth@redhat.com>
3314
3315         PR target/6054
3316         * config/ia64/ia64.c (ia64_expand_call): Use pic patterns for
3317         TARGET_CONST_GP.  Simplify conditions.
3318
3319 2002-03-26  Vladimir Makarov  <vmakarov@redhat.com>
3320
3321         * pa/pa-pro-end.h (CPP_PREDEFINES): Add -D__pro__.
3322
3323         * pa/lib2funcs.asm: Don't use .SPACE and .SUBSPACE if __pro__
3324         or __rtems_ is defined.
3325
3326 2002-03-26  Richard Henderson  <rth@redhat.com>
3327
3328         * config/alpha/alpha.c (alpha_emit_set_const): Add a REG_EQUAL note
3329         if a non-trivial load was emitted.
3330         (alpha_emit_set_const_1): Remove obsolete extension.  Fix thinko
3331         in high+extra+low case.
3332
3333 2002-03-26  Richard Henderson  <rth@redhat.com>
3334
3335         * config.gcc (sparc*-solaris): Use float_format=sparc.
3336
3337 2002-03-26  Richard Henderson  <rth@redhat.com>
3338
3339         * config/sparc/sparc.h (MAX_WCHAR_TYPE_SIZE): Don't define.
3340         * config/sparc/linux-aout.h (MAX_WCHAR_TYPE_SIZE): Don't undef.
3341         * config/sparc/linux.h, config/sparc/linux64.h: Likewise.
3342         * config/sparc/sol2.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Redefine.
3343         (WINT_TYPE_SIZE): Fix at 32.
3344
3345 2002-03-26  Richard Henderson  <rth@redhat.com>
3346
3347         * toplev.c (rest_of_compilation): Delay emit_initial_value_sets
3348         until after eh landing pad generation.
3349         * config/alpha/alpha.c (alpha_gp_save_rtx): Use gen_mem_addressof.
3350         * config/alpha/alpha.md (exception_receiver_2): Only accept MEMs.
3351
3352 2002-03-26  Richard Henderson  <rth@redhat.com>
3353
3354         * expr.h (ADD_PARM_SIZE): One more convert for INC.
3355
3356 2002-03-26  David Edelsohn  <edelsohn@gnu.org>
3357
3358         * config/rs6000/aix51.h (WCHAR_TYPE): Define.
3359
3360 2002-03-26  Hans Boehm <Hans_Boehm@hp.com>
3361
3362         * config/ia64/linux.h (MD_FALLBACK_FRAME_STATE_FOR):
3363         Restore more of the signal context.  Set no_reg_stack_frame.
3364         * config/ia64/unwind-ia64.c (unw_state_record):
3365         Add no_reg_stack_frame, comments.
3366         (uw_frame_state_for): Initialize when field to UNW_WHEN_NEVER.
3367         (uw_update_context): Adjust bsp when unwinding from leaf,
3368         but not signal frame.
3369
3370 2002-03-26  Bob Wilson  <bob.wilson@acm.org>
3371
3372         * config/xtensa/xtensa.c (xtensa_va_arg): Handle variable-sized types.
3373
3374 2002-03-26  Richard Earnshaw  <rearnsha@arm.com>
3375
3376         PR target/5621
3377         * arm.md (define_asm_attributes): Reapply patch of Thu Sep 9, 1999:
3378         "Add a pool_range attribute", which was lost during the ARM/Thumb
3379         merge.
3380
3381 2002-03-26  Bob Wilson  <bob.wilson@acm.org>
3382
3383         * config/xtensa/xtensa.c (xtensa_valid_move): Allow move from
3384         a register into the MAC16 accumulator.
3385
3386 2002-03-26  Hartmut Penner  <hpenner@de.ibm.com>
3387
3388         * config/s390/s390.c (s390_emit_epilogue): Change epilogue
3389         code to not restoring global registers.
3390
3391 2002-03-26  Richard Henderson  <rth@redhat.com>
3392
3393         * expr.h (ADD_PARM_SIZE): Cast INC to ssizetype.
3394         (SUB_PARM_SIZE): Cast DEC to ssizetype.
3395
3396         * config/alpha/alpha.c (alpha_va_arg): Read MUST_PASS_IN_STACK
3397         types from the normal argument frame.
3398
3399         * config/sparc/sparc.c (function_arg_pass_by_reference): Pass
3400         variable sized objects by reference.
3401         (sparc_va_arg): Receive them by reference too.
3402
3403 2002-03-25  Bruce Korb  <bkorb@gnu.org>
3404
3405         * Makefile.in(check-fixinc): run "$(MAKE) check" in the fixinc
3406         directory when autogen is detected.
3407
3408 2002-03-25  Richard Henderson  <rth@redhat.com>
3409
3410         * recog.c (peephole2_optimize): Distribute EH_REGION -1 notes
3411         anywhere in the block.  Don't refer to insns that have been
3412         removed from the chain.  Iterate backward through the new insns.
3413         Don't refer to edges that have been removed.
3414
3415 2002-03-26  Alan Modra  <amodra@bigpond.net.au>
3416
3417         * combine.c (simplify_comparison <ASHIFTRT, LSHIFTRT>): Correct
3418         test for overflow of constant.
3419
3420 2002-03-25  Richard Earnshaw  <rearnsha@arm.com>
3421
3422         PR target/2623
3423         * arm.md (loadhi_preinc, loadhi_predec, loadhi_shiftpreinc)
3424         (loadhi_shiftpredec, loadhi-with-writeback peephole): Don't use
3425         these patterns on arm_archv4.
3426
3427 2002-03-22  Nick Clifton  <nickc@cambridge.redhat.com>
3428
3429         * config/mcore/mcore.h (CC1_SPEC): Define only if not already
3430         defined.  Do not disable exceptions or rtti.
3431         * config/mcore/mcore-pe.h (CC1_SPEC): Define before including
3432         mcore.h.  Disable exceptions and rtti, since they are not
3433         supported by EPOC.
3434
3435 2002-03-25  Jakub Jelinek  <jakub@redhat.com>
3436
3437         * regrename.c (build_def_use): Move recog_memoized
3438         before extract_insn.
3439
3440 2002-03-25  Jakub Jelinek  <jakub@redhat.com>
3441
3442         PR target/6043
3443         * expr.c (emit_group_store): Handle storing into CONCAT.
3444
3445 2002-03-25  Jakub Jelinek  <jakub@redhat.com>
3446
3447         * regrename.c (build_def_use): Share RTL between MATCH_OPERATOR and
3448         corresponding MATCH_DUP.
3449
3450 2002-03-24  Richard Henderson  <rth@redhat.com>
3451
3452         * unroll.c (unroll_loop): Zero label_map.
3453
3454         * gcse.c: Include except.h.
3455         * Makefile.in (gcse.o): Update.
3456
3457 2002-03-24  Richard Henderson  <rth@redhat.com>
3458
3459         * varasm.c (asm_emit_uninitialised): Revert 2002-03-14 change.
3460         Do resolve_unique_section before shared data clause.
3461
3462 2002-03-24  Richard Henderson  <rth@redhat.com>
3463
3464         * config/alpha/elf.h (STARTFILE_SPEC): Use crtbeginT with -static.
3465
3466 2002-03-24  Richard Henderson  <rth@redhat.com>
3467
3468         * recog.c (peephole2_optimize): Split blocks when EH insns are
3469         generated in the middle of a block.  Do global life update if
3470         zapped EH edges.
3471
3472 2002-03-24  Richard Henderson  <rth@redhat.com>
3473
3474         * mips.c (mips_function_value): Only promote_mode for non-libcalls.
3475
3476 2002-03-24  Neil Booth  <neil@daikokuya.demon.co.uk>
3477
3478         preprocessor/3951
3479         * gcc.c (cpp_options): Pass -MD through as -MD not -M -MF.
3480         * cppinit.c (cpp_handle_option): Set no_ouput if -MD or -MMD.
3481         (init_dependency_output): Don't make no_output decision here.
3482
3483 2002-03-24  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3484
3485         * config/m68hc11/m68hc11.c (m68hc11_autoinc_compatible_p): New function.
3486         (m68hc11_split_move): Call it to see if the source and destination
3487         operands use the same direction auto inc/dec mode, otherwise make the
3488         source an offsetable memory operand and generate an add.
3489
3490 2002-03-24  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3491
3492         * config/m68hc11/m68hc11.md ("*subsi3_zero_extendhi"): Allow address
3493         register for operand 2.
3494         ("*subsi3_zero_extendqi"): Likewise.
3495         ("*iorhi3_gen"): Do the operation on the upper bits and then lower
3496         bits so that it is compatible with a pop.
3497         ("*andhi3_gen"): Likewise.
3498         ("xorhi3"): Likewise.
3499
3500 2002-03-24  Richard Henderson  <rth@redhat.com>
3501
3502         PR optimization/5742
3503         * machmode.def: Add inner mode field to complex modes.
3504         * config/mips/mips.c (mips_function_value): Always define.  Add
3505         new argument to handle libcalls.
3506         * config/mips/mips.h (LIBCALL_VALUE): Use mips_function_value.
3507         (FUNCTION_VALUE): Likewise.
3508         * config/mips/abi64.h (FUNCTION_VALUE): Remove.
3509         * config/mips/mips-protos.h: Update.
3510
3511 2002-03-23  Richard Henderson  <rth@redhat.com>
3512
3513         * config/sparc/sparc.c (sparc_emit_floatunsdi): New.
3514         * config/sparc/sparc-protos.h: Update.
3515         * config/sparc/sparc.md (floatunsdisf2, floatunsdidf2): New.
3516
3517 2002-03-23  Richard Henderson  <rth@redhat.com>
3518
3519         * config/sparc/gmon-sol2.c (internal_mcount): Assume either
3520         _start or _init begins the text segment.
3521
3522 2002-03-23  Alan Modra  <amodra@bigpond.net.au>
3523
3524         * combine.c (simplify_comparison): When widening modes, ignore
3525         sign extension on CONST_INTs.
3526
3527 2002-03-22  Bob Wilson  <bob.wilson@acm.org>
3528
3529         * config/xtensa/xtensa.c (print_operand): Fix incorrect mode
3530         passed to adjust_address.  Fix comment formatting.
3531
3532 2002-03-22  Alexandre Oliva  <aoliva@redhat.com>
3533
3534         * config/mips/mips.h (MASK_RETURN_ADDR): Define.
3535         (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define.
3536
3537 2002-03-22  Richard Henderson  <rth@redhat.com>
3538
3539         * c-pragma.c (maybe_apply_renaming_pragma): New.
3540         (handle_pragma_redefine_extname, pending_redefine_extname): New.
3541         (handle_pragma_extern_prefix, pragma_extern_prefix): New.
3542         (init_pragma): Register them.
3543         * c-pragma.h (maybe_apply_renaming_pragma): Declare.
3544         * c-decl.c (finish_decl): Call it.
3545         * cp/decl.c (cp_finish_decl): Likewise.
3546         * doc/extend.texi: Document the new pragmas.
3547
3548         * config/alpha/osf.h (CPP_SUBTARGET_SPEC): Add __EXTERN_PREFIX.
3549         (HANDLE_PRAGMA_EXTERN_PREFIX): New.
3550
3551         * config/i386/sol2.h (CPP_PREDEFINES): Add __PRAGMA_REDEFINE_EXTNAME.
3552         (HANDLE_PRAGMA_REDEFINE_EXTNAME): New.
3553         * config/sparc/sol2.h: Likewise.
3554
3555 2002-03-22  Bob Wilson  <bob.wilson@acm.org>
3556
3557         * config/xtensa/xtensa-protos.h (non_acc_reg_operand): Remove.
3558         (xtensa_valid_move, xtensa_preferred_reload_class): Define.
3559         * config/xtensa/xtensa.c (non_acc_reg_operand): Remove.
3560         (xtensa_valid_move, xtensa_preferred_reload_class): Define to
3561         prevent use of sp as a reload register.
3562         (xtensa_emit_move_sequence): Use xtensa_valid_move instead of
3563         non_acc_reg_operand.
3564         * config/xtensa/xtensa.h (PREDICATE_CODES): Remove non_acc_reg_operand.
3565         (PREFERRED_RELOAD_CLASS): Move code to xtensa_preferred_reload_class.
3566         * config/xtensa/xtensa.md (movsi_internal, movhi_internal,
3567         movqi_internal): Use xtensa_valid_move instead of non_acc_reg_operand.
3568
3569 2002-03-22  Jakub Jelinek  <jakub@redhat.com>
3570
3571         PR optimization/5854
3572         * config/m68hc11/m68hc11.h (CONST_OK_FOR_LETTER_VALUE_P): Use K for 0.
3573         Shut up warnings.
3574         (CONST_DOUBLE_OK_FOR_LETTER_P): Use G for 0.0.
3575         (EXTRA_CONSTRAINT): Use S for non-push memory operand.
3576         * config/m68hc11/m68hc11.c (m68hc11_split_move): Handle setting from
3577         const0 if scratch register was not allocated.
3578         (m68hc11_reload_operands, m68hc11_gen_lowpart, m68hc11_gen_highpart,
3579         m68hc11_z_replacement): Replace gen_rtx (CONST_INT, VOIDmode, ...)
3580         with GEN_INT (...).
3581         (m68hc11_reorg): Compute BLOCK_FOR_INSN before reload_cse_regs.
3582         * config/m68hc11/m68hc11.md: Replace gen_rtx (CONST_INT, VOIDmode, ...)
3583         with GEN_INT (...) everywhere.  Remove constraints in define_split
3584         patterns.
3585         (movdi_internal, movdf_internal, movsi_internal, movsf_internal): Don't
3586         require scratch register for setting 0 into regs/non-pushable memory.
3587
3588 2002-03-22  Alexandre Oliva  <aoliva@redhat.com>
3589
3590         * flow.c (calculate_global_regs_live): Clear aux fields of
3591         ENTRY and EXIT.
3592
3593 2002-03-22  Jakub Jelinek  <jakub@redhat.com>
3594
3595         * config/v850/v850.c (v850_reorg): Only call alter_subreg on
3596         REG or MEM subregs, pass rtx * instead of rtx to it.
3597         * config/i860/i860.c (output_delayed_branch, output_delay_insn): Pass
3598         rtx * instead of rtx to alter_subreg.
3599         * config/m32r/m32r.c (gen_split_move_double): Likewise.
3600         * config/pj/pj.c (pj_output_rval): Likewise.
3601
3602 2002-03-22  Richard Henderson  <rth@redhat.com>
3603
3604         PR target/3177
3605         * config/ia64/ia64.h (CUMULATIVE_ARGS): Add int_regs.
3606         (INIT_CUMULATIVE_ARGS, INIT_CUMULATIVE_INCOMING_ARGS): Update.
3607         * config/ia64/ia64.c (ia64_function_arg_advance): Set int_regs.
3608         (ia64_expand_prologue): Look at int_regs, not words, for number
3609         of incomming int regs.
3610
3611 Fri Mar 22 16:00:06 CET 2002  Jan Hubicka  <jh@suse.cz>
3612
3613         * cfgcleanup.c (outgoing_edges_math): Fix condition; relax
3614         frequencies match; avoid match on different loop depths.
3615         (try_crossjump_to_bb): Kill tests that no longer brings time
3616         savings.
3617         * cfgrtl.c (force_nonfallthru_and_redirect): Fix loop_depth
3618         updating code.
3619         (split_edge): Likewise.
3620
3621 2002-03-21  Richard Henderson  <rth@redhat.com>
3622
3623         PR target/5996
3624         * fixinc/inclhack.def (solaris_stdio_tag): New.
3625         * fixinc/fixincl.x: Regenerate.
3626
3627 2002-03-21  Eric Botcazou <ebotcazou@multimania.com>
3628
3629         PR c/5597
3630         * c-typeck.c (process_init_element): Flag non-static
3631         initialization of a flexible array member as illegal.
3632
3633 2002-03-22  Alan Modra  <amodra@bigpond.net.au>
3634
3635         * config/rs6000/t-linux64: New.
3636         * config.gcc (powerpc64-*-linux* <tmake_file>): Drop t-ppcos and
3637         t-ppccomm.  Use t-rs6000 and t-linux64.
3638         (powerpc64-*-gnu* <tmake_file>): Likewise.
3639         * mklibgcc.in (SHLIB_MKMAP_OPTS): New variable.
3640         * mkmap-symver.awk (dotsyms): If set, output .foo as well as foo.
3641         * Makefile.in (SHLIB_MKMAP_OPTS): Pass to mklibgcc.
3642
3643 2002-03-21  Aldy Hernandez  <aldyh@redhat.com>
3644
3645         * langhooks.c (lhd_tree_inlining_cannot_inline_tree_fn): Check
3646         flag_really_no_inline instead of optimize == 0.
3647
3648         * c-objc-common.c (c_cannot_inline_tree_fn): Same.
3649
3650         * cp/tree.c (cp_cannot_inline_tree_fn): Same.
3651
3652         * flags.h (flag_really_no_inline): New.
3653
3654         * c-common.c (c_common_post_options): Initialzie
3655         flag_really_no_inline.
3656
3657         * toplev.c (flag_really_no_inline): New.
3658
3659 2002-03-21  Jakub Jelinek  <jakub@redhat.com>
3660
3661         * config/avr/avr.md (length): Fix length computation for
3662         conditional branches.
3663
3664 2002-03-21  Richard Henderson  <rth@redhat.com>
3665
3666         * config/rs6000/rs6000.c (rs6000_select_rtx_section): Put symbolic
3667         constants in .data when -fpic.
3668
3669 2002-03-21  Tom Tromey  <tromey@redhat.com>
3670
3671         * config/i386/sol2.h (ASM_QUAD): Undef.  Fixes PR bootstrap/5948.
3672
3673 2002-03-21  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
3674
3675         * doc/contrib.texi (Contributors): Use GNU/Linux instead of Linux
3676         where appropriate.
3677
3678 Thu Mar 21 09:50:48 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3679
3680         * config/ia64/ia64.c (hfa_element_mode, case ARRAY_TYPE): Recurse.
3681
3682         * expr.c (emit_group_store): Don't copy const0_rtx to a CONCAT.
3683
3684 2002-03-21  Eric Botcazou <ebotcazou@multimania.com>
3685             Richard Henderson  <rth@redhat.com>
3686
3687         PR c/5354:
3688         * c-common.c (c_expand_expr): Preserve result of a statement
3689         expression if needed.
3690
3691 2002-03-21  Jakub Jelinek  <jakub@redhat.com>
3692
3693         PR bootstrap/4195
3694         * genrecog.c (maybe_both_true_mode): Remove.
3695         (maybe_both_true_2, write_switch): Revert 2001-07-17 changes.
3696         * machmode.def (Pmode): Likewise.
3697
3698 2002-03-21  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3699
3700         * fixinc/inclhack.def (alpha_assert): Fix assert macro in Tru64
3701         UNIX assert.h.
3702         * fixinc/fixincl.x: Regenerate.
3703
3704 2002-03-20  Jason Merrill  <jason@redhat.com>
3705
3706         * config/i386/cygwin.h (DWARF2_UNWIND_INFO): Define to 0.
3707
3708 2002-03-20  Bob Wilson  <bob.wilson@acm.org>
3709
3710         * config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Emit a
3711         ".literal_position" directive before the constant pool.
3712
3713 2002-03-20  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
3714
3715         * doc/contrib.texi (Contributors): Update Geoffrey Keating.
3716         Add Craig Rodrigues.
3717         Add Brad Lucier to testers.
3718
3719 2002-03-20  Jakub Jelinek  <jakub@redhat.com>
3720
3721         PR target/4792
3722         * config/arc/arc.md (movsicc, movdicc, movsfcc, movdfcc): Add mode
3723         to if_then_else.
3724         (movsicc_insn, movdicc_insn, movsfcc_insn, movdfcc_insn): Likewise.
3725         * config/arc/arc.c (arc_final_prescan_insn): Use extract_insn_cached
3726         instead of insn_extract.
3727
3728 2002-03-20  Jakub Jelinek  <jakub@redhat.com>
3729
3730         PR bootstrap/4192
3731         * config/fr30/fr30.md (jump): Remove clobber of fixed register.
3732
3733         * genemit.c (output_added_clobbers_hard_reg_p): Only output return
3734         stmt if some case has been output.
3735
3736 2002-03-20  Jakub Jelinek  <jakub@redhat.com>
3737
3738         PR c/5972
3739         * config/i386/i386.md (movdicc_c_rex64, movsicc_noc, movhicc_noc,
3740         movsfcc_1, movdfcc_1): Add %O2.
3741         * config/i386/i386.c (print_operand): Handle %ON.
3742         Print . before float condition codes in Sun as cmov syntax.
3743         * config/i386/sol2.h (CMOV_SUN_AS_SYNTAX): Define for Sun as.
3744         * config.gcc (i[34567]86-*-solaris2*): Remove comment which is
3745         no longer true.
3746
3747 2002-03-20  Philip Blundell  <pb@nexus.co.uk>
3748
3749         * config/arm/arm.c (arm_output_epilogue): Don't generate separate
3750         return instruction if PC was popped.
3751
3752 2002-03-20  Hans-Peter Nilsson  <hp@bitrange.com>
3753
3754         * config/mmix/mmix.md ("fixuns_truncdfdi2"): Use (unsigned_fix:DI
3755         (unsigned_fix:DF op1)), not (unsigned_fix:DI (fix:DF op1)).
3756         ("truncdfsf2"): Correct operator is float_truncate, not fix.
3757         ("*truncdfsf2_real"): Ditto.
3758         ("*nonlocal_goto_receiver_expanded"): Fix output template formatting.
3759
3760         * config/mmix/mmix.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Don't define.
3761
3762 2002-03-19  Jim Blandy  <jimb@redhat.com>
3763
3764         * c-lex.c (cb_file_change): Pass the #inclusion's line number to
3765         the start_source_file debug hook, not the current line number.
3766
3767         * cppmacro.c (cpp_macro_definition): Emit a space after the macro
3768         name, even if the replacement list contains no tokens, as required
3769         by Dwarf.
3770
3771 2002-03-19  David Edelsohn  <edelsohn@gnu.org>
3772
3773         * config/rs6000/rs6000.c (rs6000_override_options): Only warn
3774         about -fpic/-fPIC if extra_warnings set.
3775
3776 2002-03-19  Richard Henderson  <rth@redhat.com>
3777
3778         * flow.c (EH_USES): Provide default.
3779         (calculate_global_regs_live): Use it for EH edges and noreturn calls.
3780         * doc/tm.texi (EH_USES): New.
3781
3782         * config/ia64/ia64.c (ia64_eh_uses): New.
3783         * config/ia64/ia64-protos.h: Update.
3784         * config/ia64/ia64.h (EH_USES): New.
3785
3786 2002-03-20  Alan Modra  <amodra@bigpond.net.au>
3787
3788         * defaults.h (SUPPORTS_WEAK): Set if ASM_WEAKEN_DECL.
3789         * varasm.c (assemble_alias): Use ASM_WEAKEN_DECL.
3790         * doc/tm.texi (ASM_WEAKEN_DECL): Document.
3791         (ASM_WEAKEN_LABEL): Mention ASM_WEAKEN_DECL.
3792         (SUPPORTS_WEAK): Likewise.
3793
3794 2002-03-19  Richard Henderson  <rth@redhat.com>
3795
3796         PR 5879
3797         * except.c (current_function_has_exception_handlers): New.
3798         * except.h: Declare it.
3799         * sibcall.c (optimize_sibling_and_tail_recursive_call): Use it.
3800         Combine tests that disable all sibcalls for the function.
3801
3802 2002-03-19  Richard Henderson  <rth@redhat.com>
3803
3804         PR 5977, 5991
3805         * config/ia64/ia64.c: Revert 2002-03-01 patch.
3806         * config/ia64/ia64.h (INIT_EXPANDERS): New.
3807
3808 2002-03-19  Olivier Hainque  <hainque@act-europe.fr>
3809
3810         * varasm.c (output_constant_def): Don't call ENCODE_SECTION_INFO
3811         for INTEGER_CST.
3812
3813 2002-03-19  Jason Merrill  <jason@redhat.com>
3814
3815         * varasm.c (globalize_decl): Get the name from the RTL, not
3816         DECL_ASSEMBLER_NAME.
3817
3818         * Makefile.in (LIBGCC2_DEBUG_CFLAGS): Set to -g.
3819
3820 2002-03-19  Dale Johannesen  <dalej@apple.com>
3821
3822         PR optimization/5999, middle-end/5731
3823         * expr.c (expand_expr) [RDIV_EXPR]: Only convert real divisions into
3824         multiplications by reciprocals.
3825
3826 2002-03-19  Bob Wilson  <bob.wilson@acm.org>
3827
3828         * config/xtensa/xtensa.md (adddi3, adddi_carry, subdi3,
3829         subdi_carry): Define.
3830
3831 Tue Mar 19 14:12:32 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3832
3833         * config/sparc/sparc.h (CAN_ELMINIATE): Can only eliminate FP
3834         in favor of SP if FRAME_POINTER_REQUIRED is false.
3835
3836 2002-03-19  Jakub Jelinek  <jakub@redhat.com>
3837
3838         PR c/5656
3839         * langhooks.h (struct lang_hooks_for_tree_inlining): Add
3840         convert_parm_for_inlining.
3841         * c-lang.c (LANG_HOOKS_TREE_INLINING_CONVERT_PARM_FOR_INLINING):
3842         Define.
3843         * langhooks-def.h: Likewise.
3844         * objc/objc-lang.c: Likewise.
3845         * langhooks.c (lhd_tree_inlining_convert_parm_for_inlining): New
3846         function.
3847         * tree-inline.c (initialize_inlined_parameters):
3848         Call convert_parm_for_inlining lang hook if needed.
3849         * c-typeck.c (c_convert_parm_for_inlining): New function.
3850         * c-tree.h (c_convert_parm_for_inlining): Add prototype.
3851
3852 2002-03-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3853
3854         * gcse.c (insert_insn_end_bb): Fix typo in last change.
3855
3856 2002-03-18  Mark Mitchell  <mark@codesourcery.com>
3857
3858         * calls.c (precompute_arguments): Do not assume that temporaries
3859         can be destroyed after expanding the argument.
3860         (expand_call): Likewise.
3861
3862 2002-03-18  Ashif Harji  <asharji@uwaterloo.ca>
3863
3864         * gcc.c (struct compiler default_compilers): Add
3865         -no-integrated-cpp flag to invoke an external cpp.
3866         (struct option_map option_map[]): Likewise.
3867         * objc/lang-specs.h (struct compiler default_compilers): Add
3868         -no-integrated-cpp flag to invoke an external cpp.
3869         * doc/invoke.texi: Document -no-integrated-cpp flag.
3870
3871 2002-03-18  Alan Modra  <amodra@bigpond.net.au>
3872             David Edelsohn  <edelsohn@gnu.org>
3873
3874         * c-pragma.h (HANDLE_PRAGMA_WEAK): Define if ASM_WEAKEN_DECL too.
3875         * config/rs6000/linux64.h (ASM_DECLARE_FUNCTION_NAME): Don't emit
3876         .weak for code sym.  Do emit .size for descriptor sym.
3877         (ASM_DECLARE_FUNCTION_SIZE): Define.
3878         * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): Define.
3879         (ASM_OUTPUT_DEF_FROM_DECLS): Don't emit .weak here.  Don't output
3880         .lglobl unless TARGET_XCOFF.  Formatting fixes.
3881         (PREDICATE_CODES): Add any_operand and zero_constant.
3882         (HANDLE_PRAGMA_PACK): Delete.
3883         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't emit
3884         .weak for code sym.
3885         (HANDLE_PRAGMA_WEAK): Remove.
3886         (ASM_WEAKEN_LABEL): Remove.
3887         (COLLECT_EXPORT_LIST): Delete.
3888         * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Define.
3889         * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Define.
3890
3891 2002-03-18  Bob Wilson  <bob.wilson@acm.org>
3892
3893         * config/xtensa/xtensa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Treat
3894         constant-pool addresses as "mode-dependent".
3895
3896 Mon Mar 18 18:12:48 CET 2002  Jan Hubicka  <jh@suse.cz>
3897
3898         * i386.c (override_options): Disallow preferred_stack_boundary to be
3899         less than 16 bytes
3900         (construct_container): Fix end of array check.
3901         (ix86_va_start): Force alignemnt to be 16 bytes.
3902
3903         * linux64.h (MULTILIB_DEFAULTS): Set to "m64".
3904         (t-linux64): Add multilibing
3905
3906         * i386.h (PROMOTE_PROTOTYPES): Set to 0 for x86_64.
3907
3908         * gcse.c (hash_scan_set): Refuse instructions with EH edges.
3909
3910         * basic-block.h (fixup_abnormal_edges): Declare.
3911         * reload1.c (fixup_abnormal_edges): Make global.
3912         * reg-stack.c (convert_regs): Use it.
3913
3914         * gcse.c (insert_insn_end_bb): Handle trapping insns.
3915
3916         * reload1.c (reload_cse_delete_noop_set): Purge dead edges.
3917
3918         * recog.c (peephole2_optimize): Re-distribute EH edges.
3919
3920 2002-03-18  Jason Merrill  <jason@redhat.com>
3921
3922         * configure.in: Disable checking by default on release branch.
3923
3924 2002-03-18  Jakub Jelinek  <jakub@redhat.com>
3925
3926         PR target/5740
3927         * expr.c (emit_group_load): Use extract_bit_field if
3928         needed for CONCAT arguments.
3929
3930 2002-03-18  Richard Earnshaw  <rearnsha@arm.com>
3931
3932         PR target/4863
3933         * arm.md (tablejump): Make this a define_expand.  For PIC add the
3934         offset to the base of the table.
3935         (thumb_tablejump): Matcher for Thumb tablejump insn.
3936         * config/arm/aout.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output thumb entries
3937         as the difference of two labels.
3938         * config/arm/aof.h (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
3939         * config/arm/elf.h (JUMP_TABLES_IN_TEXT_SECTION): Only put ARM jump
3940         tables in the code.
3941         * config/arm/coff.h (JUMP_TABLES_IN_TEXT_SECTION): Likewise.
3942         * arm.c (get_jump_table_size): If the table is not in the text
3943         section, return zero.
3944
3945 2002-03-17  Richard Henderson  <rth@redhat.com>
3946
3947         * config/alpha/alpha.c (alpha_emit_set_const_1): Build add insns
3948         explicitly.
3949
3950 2002-03-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3951
3952         * ifcvt.c (dead_or_predicable): Fix uninitialized variable.
3953
3954 2002-03-17  David Edelsohn  <edelsohn@gnu.org>
3955
3956         * expr.c (expand_expr): Sign-extend CONST_INT generated from
3957         TREE_STRING_POINTER.
3958
3959 2002-03-16  Richard Henderson  <rth@redhat.com>
3960
3961         * config/ia64/ia64.c (ia64_attribute_table): Move before
3962         targetm definition.  Make static.
3963
3964 2002-03-16  Neil Booth  <neil@daikokuya.demon.co.uk>
3965
3966         * cppinit.c (print_help): Display -MD and -MMD.
3967         Don't display usage string.  Update assertion syntax and
3968         typo.
3969
3970 2002-03-16  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3971
3972         * config/m68hc11/m68hc11.c (m68hc11_override_options): Don't use
3973         soft registers by default for 68HC12.
3974         (m68hc11_conditional_register_usage): Don't use Z register for 68HC12
3975         when compiling with -fomit-frame-pointer.
3976         (expand_prologue): Use push/pop to allocate 4-bytes of locals on 68HC12.
3977         (expand_epilogue): Likewise.
3978         (m68hc11_gen_rotate): Use exg when rotating by 8.
3979
3980 2002-03-16  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3981
3982         * config/m68hc11/m68hc11-protos.h (ix_reg): Declare.
3983         * config/m68hc11/m68hc11.md ("addsi3"): Use general_operand for sources.
3984         (splits): Remove unused add splits.
3985         ("*addhi3_68hc12"): Tune constraints.
3986         ("addhi_sp"): Try to use X instead of Y in all cases and if the
3987         constant fits in 8-bits and D is dead use abx/aby instructions.
3988         ("*addhi3"): Remove extern declaration of ix_reg.
3989         ("*subsi3"): Optimize and provide new split.
3990         ("subhi3"): Cleanup.
3991         ("*subhi3_sp"): Avoid saving X if we know it is dead.
3992         (arith splits): For 68hc12 save the address register on the stack
3993         and do the arithmetic operation with a pop.
3994
3995 2002-03-16  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3996
3997         * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Fix constraints, avoid
3998         allocating QImode in address registers.
3999         ("*movqi_m68hc11"): Likewise.
4000
4001 2002-03-15  Mark Mitchell  <mark@codesourcery.com>
4002
4003         * expr.c (expand_expr): Revert previous change.
4004
4005         * c-common.c (statement_code_p): Handle CLEANUP_STMT.
4006         * c-common.def (CLEANUP_STMT): New tree node.
4007         * c-common.h (CLEANUP_DECL): New macro.
4008         (CLEANUP_EXPR): Likewise.
4009         * c-semantics.c (expand_stmt): Handle CLEANUP_STMT.
4010         * expr.c (expand_expr): Tidy.
4011         * tree-dump.c (dequeue_and_dump): Handle CLEANUP_STMT.
4012         * tree-inline.c (initialize_inlined_parameters): Clean up
4013         new local variables.
4014
4015 2002-03-15  Richard Henderson  <rth@redhat.com>
4016
4017         * c-decl.c: Include c-pragma.h.
4018         (start_decl, start_function): Invoke maybe_apply_pragma_weak.
4019         (finish_function): Tidy.
4020         * c-pragma.c: Include c-common.h.
4021         (pending_weaks, apply_pragma_weak, maybe_apply_pragma_weak): New.
4022         (handle_pragma_weak): Use them.
4023         (init_pragma): Register pending_weaks.
4024         * c-pragma.h (maybe_apply_pragma_weak): Declare.
4025         * print-tree.c (print_node): Print DECL_WEAK.
4026         * varasm.c (mark_weak_decls): Remove.
4027         (remove_from_pending_weak_list): Remove.
4028         (add_weak): Remove.
4029         (asm_emit_uninitialised): Call globalize_decl for weak commons.
4030         (weak_decls): Make a tree_list.
4031         (declare_weak): Cons weak_decls directly.
4032         (globalize_decl): Remove weak_decls elements directly.
4033         (weak_finish): Simplify weak_decls walk.  Don't weaken unused
4034         symbols.  Don't pretend to handle aliases.
4035         (init_varasm_once): Update weak_decls registry.
4036         * Makefile.in: Update dependencies.
4037
4038 2002-03-15  Richard Henderson  <rth@redhat.com>
4039
4040         * config/alpha/alpha.c (alpha_va_arg): Manipulate the type
4041         size as a tree.
4042
4043 2002-03-15  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
4044
4045         * config/m68hc11/m68hc11.md ("tstqi_1"): Try to use ldab instead of tst.
4046         ("tstqi" split): Avoid using memory for tstqi on address register.
4047         (splits): Remove constraints.
4048         ("cmphi_1_hc12"): New from "cmphi_1" and tuned for 68HC12.
4049         ("cmpdf", "cmpsf"): Remove since not used.
4050         ("*tbeq", "*tbne", "*tbeq8", "*tbne8"): Also look in cc_status.value2.
4051         (peephole2): New peepholes to optimize tstqi and pre inc/dec addressing.
4052
4053 2002-03-15  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
4054
4055         * config/m68hc11/m68hc11.md ("negsi2"): Optimize inline case.
4056         ("neghi2"): Tighten constraints.
4057         ("one_cmplsi2"): Optimize and simplify split.
4058         * config/m68hc11/larith.asm (__negsi2): Likewise for library.
4059
4060 2002-03-15  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
4061
4062         * config/m68hc11/m68hc11.md ("logicalsi3_zexthi"): Fix constraints
4063         and split of AND operation to clear the upper bits.
4064         ("*logicalsi3_zextqi"): Likewise.
4065         ("*logicallhi3_zexthi_ashift8"): Likewise.
4066         ("*logicalsi3_silshr16"): Likewise.
4067         ("logicalsi3_silshl16"): Likewise.
4068         ("anddi3", "iordi3", "xordi3" splits): Remove constraints.
4069
4070 2002-03-15  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
4071
4072         * config/m68hc11/m68hc11.c (m68hc11_symbolic_p): New function.
4073         (m68hc11_indirect_p): New function.
4074         (m68hc11_override_options): Must set MASK_NO_DIRECT_MODE for 68HC12.
4075         (m68hc11_gen_highpart): Use TARGET_NO_DIRECT_MODE instead of
4076         TARGET_M6812.
4077         (asm_print_register): Likewise.
4078         * config/m68hc11/m68hc11-protos.h (m68hc11_symbolic_p): Declare.
4079         (m68hc11_indirect_p): Declare.
4080         * config/m68hc11/m68hc11.h (EXTRA_CONSTRAINT): New constraint 'R', 'Q'.
4081         (TARGET_NO_DIRECT_MODE, TARGET_RELAX): New.
4082         (TARGET_SWITCHES): New option -mrelax.
4083         * config/m68hc11/m68hc11.md ("andsi3"): Allow soft register for
4084         destination.
4085         ("iorsi3", "xorsi3"): Likewise.
4086         ("andhi3", "andqi3", "iorhi3", "iorqi3"): Use a define_expand.
4087         ("*andhi3_mem"): New to handle destination in memory with bclr
4088         and a scratch register.
4089         ("*andqi3_mem", "*iorhi3_mem", "*iorqi3_mem"): Likewise.
4090         ("*andhi3_const"): New when operand2 is constant.
4091         ("*andqi3_const", "*iorhi3_const", "*iorqi3_const"): Likewise.
4092         ("*andhi3_gen"): Cleanup of the old "andhi3".
4093         ("*andqi3_gen", "*iorhi3_gen", "*iorqi3_gen"): Likewise.
4094         ("xorqi3"): Update constraints.
4095
4096 2002-03-15  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
4097
4098         * config/m68hc11/m68hc11.c (m68hc11_small_indexed_indirect_p): Look
4099         for reg_equiv_memory_loc when the operand is a register that does
4100         not get a hard register (stack location).
4101         (tst_operand): After reload, accept all memory operand.
4102         (symbolic_memory_operand): Fix detection of symbolic references.
4103         * config/m68hc11/m68hc11.h (VALID_CONSTANT_OFFSET_P): For 68HC12
4104         accept symbols and any constant.
4105
4106 2002-03-15  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
4107
4108         * config/m68hc11/m68hc11.c (emit_move_after_reload): Add a REG_INC
4109         note on the insn that sets the soft frame register.
4110         (must_parenthesize): ix and iy are also reserved names.
4111         (print_operand_address): One more place where parenthesis are required
4112         to avoid confusion with register names.
4113         (m68hc11_gen_movhi): Allow push of stack pointer.
4114         (m68hc11_check_z_replacement): Fix handling of parallel with a
4115         clobber.
4116         (m68hc11_z_replacement): Must update the REG_INC notes to tell what
4117         the replacement register is.
4118         * config/m68hc11/m68hc11.h (REG_CLASS_CONTENTS): Switch Z_REGS
4119         and D8_REGS classes.
4120         (MODES_TIEABLE_P): All modes are tieable except QImode.
4121
4122 2002-03-15  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
4123
4124         * config/m68hc11/larith.asm (___adddi3): Optimize saving of result.
4125         (___subdi3): Likewise.
4126         (__mulsi3, __mulhi32): Avoid using _.tmp scratch location.
4127         (__map_data_section): Optimize 68hc11 case.
4128
4129 2002-03-15  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
4130
4131         * config/m68hc11/m68hc11.c (m6812_cost): Make cost of add higher
4132         than a shift to avoid adding a register with itself.
4133         (m68hc11_memory_move_cost): Take into account NO_REGS.
4134         (m68hc11_register_move_cost): Update and use memory move cost
4135         for soft registers.
4136         (m68hc11_address_cost): Make cost of valid offset not 0 so that
4137         it gives more opportunities to cse to optimize.
4138         * config/m68hc11/m68hc11.h (REGISTER_MOVE_COST): Pass the mode.
4139         * config/m68hc11/m68hc11-protos.h (m68hc11_register_move_cost): Update.
4140
4141 2002-03-15  Jason Merrill  <jason@redhat.com>
4142
4143         * varasm.c (globalize_decl): New fn.
4144         (assemble_start_function): Use it.
4145         (asm_emit_uninitialized): Use it.
4146         (assemble_alias): Use it.
4147         (assemble_variable): Use it.
4148
4149 2002-03-15  Jason Merrill  <jason@redhat.com>
4150
4151         * varasm.c (assemble_variable): Use zeros for a decl with DECL_INITIAL
4152         of error_mark_node.
4153
4154 2002-03-15  Jakub Jelinek  <jakub@redhat.com>
4155
4156         PR bootstrap/4128
4157         * config/sparc/sparc.c (gen_v9_scc): Move early clobber test
4158         before movrXX only, use reg_overlap_mentioned_p.
4159         Only special case NE if just one insn can be generated.
4160
4161 2002-03-15  Richard Earnshaw  <rearnsha@arm.com>
4162
4163         PR target/5712
4164         * arm.md (movaddr, movaddr_insn): Delete.
4165
4166 2002-03-15  Jason Merrill  <jason@redhat.com>
4167
4168         * toplev.c (wrapup_global_declarations): Clarify variable handling.
4169         -fkeep-static-consts doesn't apply to comdats.
4170
4171 2002-03-14  Richard Henderson  <rth@redhat.com>
4172
4173         PR target/5312
4174         * config/ia64/ia64.c: Include tm_p.h last.
4175         (gen_nop_type): Remove duplicate definition.
4176         (cycle_end_fill_slots): Set sched_data for second L slot.
4177         (maybe_rotate): Call cycle_end_fill_slots to fill in nop slots.
4178         (nop_cycles_until): Fix typos.
4179
4180 2002-03-15  Jakub Jelinek  <jakub@redhat.com>
4181
4182         PR optimization/5891
4183         * unroll.c (copy_loop_body) [CALL_INSN]: Copy SIBLING_CALL_P flag.
4184
4185 2002-03-14  David Mosberger <davidm@hpl.hp.com>, Hans Boehm <Hans_Boehm@hp.com>
4186
4187         * config/ia64/unwind-ia64.c: Handle copy_state and label_state
4188           descriptors correctly.
4189
4190 2002-03-14  Zack Weinberg  <zack@codesourcery.com>
4191
4192         * cpphash.h (struct lexer_state): Remove line_extension member.
4193         * cpplib.c (dequote_string, do_linemarker): New functions.
4194         (linemarker_dir): New data object.
4195         (DIRECTIVE_TABLE): No longer need to interpret #line in
4196         preprocessed source.  Delete obsolete comment about return
4197         values of handlers.
4198         (end_directive, directive_diagnostics, _cpp_handle_directive):
4199         Don't muck with line_extension.
4200         (directive_diagnostics): No need to issue warnings for
4201         linemarkers here.
4202         (_cpp_handle_directive): Issue warnings for linemarkers here,
4203         when appropriate.  Dispatch linemarkers to do_linemarker, not
4204         do_line.
4205         (do_line): Code to handle linemarkers split out to do_linemarker.
4206         Convert escape sequences in filename argument, both places.
4207
4208         * cppmacro.c (quote_string): Rename cpp_quote_string and
4209         export.  All callers changed.
4210         * cpplib.h (cpp_quote_string): Prototype.
4211         * cppmain.c (print_line): Call cpp_quote_string on to_file
4212         before printing it.
4213
4214         * doc/cpp.texi: Document that escapes are now interpreted in
4215         #line and in linemarkers, and that non-printing characters are
4216         converted to octal escapes when linemarkers are generated.
4217
4218 2002-03-14  Richard Earnshaw  <rearnsha@arm.com>
4219             Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
4220
4221         PR target/5828
4222         * arm.c (arm_output_epilogue): Fix floating-point register save
4223         adjustment when using a frame pointer.
4224
4225 2002-03-13  Hans-Peter Nilsson  <hp@bitrange.com>
4226
4227         * config/mmix/mmix.c: Improve comments.
4228         (mmix_target_asm_function_prologue): Drop variable
4229         empty_stack_frame.  Don't allocate unused slot above fp.
4230         (mmix_target_asm_function_epilogue): Mirror prologue changes.
4231         (mmix_expand_builtin_va_arg): Do all computations on trees.
4232         * config/mmix/mmix.h (MMIX_GNU_ABI_REG_ALLOC_ORDER): Don't have
4233         brace in first column.
4234         (enum reg_class): Ditto.
4235         (FIRST_PARM_OFFSET): Now 0.
4236         (USER_LABEL_PREFIX): Remove #if 0:d definition.
4237         (LINK_SPEC): Don't defsym __.MMIX.start..text if linking
4238         relocatably.  Always produce ELF, not mmo if linking relocatably.
4239
4240 2002-03-13  David Edelsohn  <edelsohn@gnu.org>
4241
4242         * config/rs6000/rs6000.h (PAD_VARARGS_DOWN): Define.
4243         * config/rs6000/rs6000.c (rs6000_va_arg): Use
4244         std_expand_builtin_va_arg if not ABI_V4.
4245
4246 2002-03-13  Jakub Jelinek  <jakub@redhat.com>
4247
4248         PR target/5626
4249         * config/sparc/sparc.md (normal_branch, inverted_branch,
4250         normal_fp_branch, inverted_fp_branch, normal_fpe_branch,
4251         inverted_fp_branch): Adjust calls to output_cbranch.
4252         Set length attribute.
4253         (normal_int_branch_sp64, inverted_int_branch_sp64): Adjust calls to
4254         output_v9branch.  Set length attribute.
4255         * config/sparc/sparc.c (fcc0_reg_operand, noov_compare64_op): New
4256         predicates.
4257         (noov_compare_op): Handle CCX_NOOVmode the same way as CC_NOOVmode.
4258         (output_cbranch): Likewise.  Handle far branches.
4259         (output_v9branch): Handle far branches.
4260         * config/sparc/sparc-protos.h (output_cbranch, output_v9branch):
4261         Adjust prototypes.
4262         * config/sparc/sparc.h (PREDICATE_CODES): Add fcc0_reg_operand and
4263         noov_compare64_op predicates.
4264
4265 2002-03-13  Jason Merrill  <jason@redhat.com>
4266
4267         * gthr-posix.h (__gthread_active_p): Move __gthread_active_ptr
4268         into the function and constify it.
4269         * gthr-dce.h, gthr-solaris.h: Likewise.
4270
4271 2002-03-12  Hans-Peter Nilsson  <hp@axis.com>
4272
4273         * config/cris/cris.c (cris_print_operand): Avoid
4274         traditional-warning for 0xffffffff.
4275         (cris_expand_builtin_va_arg): Do all computations on trees.
4276
4277 2002-03-13  Ulrich Weigand  <uweigand@de.ibm.com>
4278
4279         * expr.c (expand_expr, case NE_EXPR): Do not call copy_to_reg with
4280         VOIDmode operand.  Add compile-time optimization for constant results.
4281
4282 2002-03-13  Hartmut Penner  <hpenner@de.ibm.com>
4283
4284         * config/s390/s390.h (PROFILE_BEFORE_PROLOGUE): Emit profile code
4285         before prologue, to avoid scheduling problems.
4286
4287 2002-03-13  Jakub Jelinek  <jakub@redhat.com>
4288
4289         * config/sparc/sparc.h (INITIAL_FRAME_POINTER_OFFSET): Remove.
4290         (ELIMINABLE_REGS): Add sfp->sp.
4291         (INITIAL_ELIMINATION_OFFSET): Compute sfp->sp offset too.
4292
4293 2002-03-13  Jakub Jelinek  <jakub@redhat.com>
4294
4295         PR optimization/5892
4296         * config/ia64/ia64.c (rotate_one_bundle): Update current packet.
4297
4298 2002-03-13  Jakub Jelinek  <jakub@redhat.com>
4299
4300         * loop.c (basic_induction_var): Don't call convert_modes if mode
4301         classes are different.
4302
4303 2002-03-12  Richard Henderson  <rth@redhat.com>
4304
4305         PR optimization/5901
4306         * function.c (reposition_prologue_and_epilogue_notes): Position
4307         the markers after/before the last/first insn not deleted.
4308
4309 2002-03-12  Richard Henderson  <rth@redhat.com>
4310
4311         PR optimization/5878
4312         * config/arc/arc.h, config/cris/cris.h, config/i386/i386.h,
4313         config/m68k/m68k.h, config/s390/s390.h, config/sparc/sparc.h
4314         (PIC_OFFSET_TABLE_REGNUM): Conditionalize on flag_pic.
4315
4316         * config/arm/arm.h config/i386/i386.h, config/m68k/m68k.h,
4317         config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Set
4318         PIC_OFFSET_TABLE_REGNUM based on INVALID_REGNUM not flag_pic.
4319
4320         * config/arc/arc.h (CONDITIONAL_REGISTER_USAGE): New.
4321         * config/arm/arm.c (arm_pic_register): Init to INVALID_REGNUM.
4322         (arm_override_options): Set arm_pic_register if TARGET_APCS_STACK
4323         also.  Don't set it if not flag_pic.
4324         * config/i386/i386.c (ix86_save_reg): Trust PIC_OFFSET_TABLE_REGNUM
4325         to be INVALID_REGNUM when not used.
4326
4327 2002-03-13  Aldy Hernandez  <aldyh@redhat.com>
4328
4329         * expmed.c (store_bit_field): Reset alias set for memory.
4330         (extract_bit_field): Same.
4331
4332 2002-03-12  Chris Meyer  <cmeyer@gatan.com>
4333
4334         * genflags.c (gen_insn): Use IS_VSPACE.
4335         * genoutput.c (output_insn_data): Likewise.
4336         (process_template): Likewise.
4337
4338 2002-03-12  Bob Wilson  <bob.wilson@acm.org>
4339
4340         * config/xtensa/xtensa.c (xtensa_expand_block_move): Use
4341         validize_mem() instead of change_address to avoid clobbering
4342         memory attributes.
4343
4344 2002-03-12  Jakub Jelinek  <jakub@redhat.com>
4345
4346         * c-lex.c (cb_ident, c_lex): Remove unnecessary cast.
4347         (lex_string): Use unsigned char pointers.
4348
4349 2002-03-12  Ulrich Weigand  <uweigand@de.ibm.com>
4350
4351         * reload1.c (reload): Ignore MEM REG_EQUIV notes if the equivalent
4352         is not a valid memory_operand.
4353
4354 2002-03-12  Bob Wilson  <bob.wilson@acm.org>
4355
4356         * config/xtensa/xtensa-config.h: Define XCHAL_HAVE_LOOPS.
4357         * config/xtensa/lib1funcs.asm: Fix copyright to include
4358         special case for libgcc files.
4359         (__udivsi3): Avoid loop instructions when XCHAL_HAVE_LOOPS is 0.
4360         (__divsi3): Likewise.
4361         (__umodsi3): Likewise.
4362         (__modsi3): Likewise.
4363         * config/xtensa/lib2funcs.S: Fix copyright to include
4364         special case for libgcc files.
4365
4366 2002-03-12  Michael Matz  <matz@suse.de>
4367
4368         * config/rs6000/rs6000.md (ne0+4): Add extra CLOBBER.
4369         (ne0+5): Use new clobber to generate proper shift pattern.
4370
4371 2002-03-12  Bob Wilson  <bob.wilson@acm.org>
4372
4373         * config/xtensa/t-xtensa (CRTSTUFF_T_CFLAGS_S): Define.
4374
4375 2002-03-12  Bob Wilson  <bob.wilson@acm.org>
4376
4377         * config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Switch
4378         to function_section before writing out the constant pool.
4379
4380 2002-03-12  Zack Weinberg  <zack@codesourcery.com>
4381
4382         * Makefile.in: Give texi2pod its input file as a command
4383         line argument, not on stdin.
4384
4385 2002-03-12  Andrew MacLeod  <amacleod@redhat.com>
4386
4387         * config/sparc/sparc.h (RETURN_ADDR_RTX): Include v9 stack bias in
4388         address calculation.
4389
4390 2002-03-12  Ulrich Weigand  <uweigand@de.ibm.com>
4391
4392         * config/s390/s390.md (reload_insi, reload_indi): Change mode of
4393         scratch register to DImode / TImode.
4394         config/s390/s390.c (s390_expand_plus_operand): Make sure scratch
4395         register used does not overlap the target.
4396
4397 2002-03-11  Neil Booth  <neil@daikokuya.demon.co.uk>
4398
4399         * Makefile.in: Update.
4400 doc:
4401         * cppenv.texi, cppopts.texi: Split out of cpp.texi and gcc.texi.
4402         Update documentation.
4403         * gcc.texi: Include cppopts.texi and cppenv.texi.
4404         * cpp.texi: Include cppopts.texi and cppenv.texi.
4405
4406 2002-03-11  Ulrich Weigand  <uweigand@de.ibm.com>
4407
4408         * config/s390/s390.h (REG_ALLOC_ORDER): Add missing register.
4409
4410 2002-03-11  Douglas B Rupp  <rupp@gnat.com>
4411
4412         * toplev.c (vms_fopen): Remove, not needed.
4413
4414         * vmsdbgout.c (lookup_filename): Adjust creation date for GMT.
4415
4416         * config/alpha/xm-vms.h (__UNIX_FWRITE): Define.
4417
4418         * config/alpha/alpha.c (alpha_sa_size, VMS): Don't reserve space
4419         for FP, already done later.
4420
4421         * toplev.c (debug_args): Add entry for VMS_DEBUG.
4422         * vmsdbgout.c (vmsdbgout_init): Fix typo in call to xmalloc.
4423
4424 2002-03-10  Richard Henderson  <rth@redhat.com>
4425
4426         PR 5693
4427         * reload.c (copy_replacements_1): New.
4428         (copy_replacements): Use it to recurse through the rtx.
4429
4430 2002-03-10  Richard Henderson  <rth@redhat.com>
4431
4432         * sched-rgn.c (add_branch_dependences): Don't allow insns that throw
4433         to move away from the end of the block.
4434
4435 2002-03-10  Neil Booth  <neil@daikokuya.demon.co.uk>
4436
4437         PR preprocessor/5899
4438         * cppinit.c (init_dependency_output): Don't ignore -dM etc.
4439
4440 2002-03-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4441
4442         * combine.c (make_extraction): Fix error in last change.
4443
4444 2002-03-09  Jakub Jelinek  <jakub@redhat.com>
4445
4446         PR optimization/5172, optimization/5200
4447         * gcse.c (gcse_main): Disable store_motion.
4448
4449 2002-03-09  Andreas Schwab  <schwab@suse.de>
4450
4451         * gcc.c (validate_all_switches): Also handle `%W{...}'.
4452
4453 2002-03-09  Jakub Jelinek  <jakub@redhat.com>
4454
4455         PR middle-end/5877
4456         * expr.c (highest_pow2_factor): Check TREE_INT_CST_LOW
4457         even for non-representable constants.
4458
4459 Sat Mar  9 07:20:01 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4460
4461         * emit-rtl.c (copy_most_rtx): Accept EXPR_LIST for may_share.
4462         * function.c (fixup_var_refs): Add MAY_SHARE parameter.
4463         (fixup_var_refs_insns, fixup_var_refs_insns_with_has): Likewise.
4464         (fixup_var_refs_insn, fixup_var_refs_1): Likewise.
4465         (pop_function_context): Compute MAY_SHARE parameter for
4466         fixup_var_refs.
4467         (fixup_var_refs_1, case MEM): Pass MAY_SHARE to copy_most_rtx, not VAR.
4468         (gen_mem_addressof): Call fixup_var_refs with new parm.
4469
4470         * combine.c (make_extraction): Don't make extension of CONST_INT.
4471
4472 2002-03-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4473
4474         * sparc.c (arith_4096_operand): Fix error in last change.
4475
4476 2002-03-08  Aldy Hernandez  <aldyh@redhat.com>
4477
4478         * config/rs6000/rs6000.c (rs6000_va_arg): Fix alignment for
4479         vectors.
4480
4481 2002-03-08  Aldy Hernandez  <aldyh@redhat.com>
4482
4483         * config/rs6000/sysv4.h (BIGGEST_ALIGNMENT): Change for altivec.
4484
4485 2002-03-08  Craig Rodrigues  <rodrigc@gcc.gnu.org>
4486
4487         * doc/install.texi (--with-libiconv-prefix): Document.
4488
4489 2002-03-08  Michael Y. Brukman  <myb2@cornell.edu>
4490
4491         * doc/sourcebuild.texi: Fix typo.
4492
4493 2002-03-08  Jakub Jelinek  <jakub@redhat.com>
4494
4495         PR c/3711
4496         * builtins.c (std_expand_builtin_va_arg): Do all computations on
4497         trees.
4498
4499 Fri Mar  8 06:48:45 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4500
4501         * rtl.c (copy_most_rtx): Move from here ...
4502         * emit-rtl.c (copy_most_rtx): ... to here.
4503
4504 2002-03-08  Richard Earnshaw  <rearnsha@arm.com>
4505
4506         * combine.c (simplify_comparison): If simplifying a logical shift
4507         right and compare with constant, force the comparison to unsigned.
4508
4509 2002-03-07  Ulrich Weigand  <uweigand@de.ibm.com>
4510
4511         * genextract.c (walk_rtx): Recurse into MATCH_PAR_DUP.
4512         genoutput.c (scan_operands): Recurse into MATCH_PAR_DUP
4513         and MATCH_OP_DUP.
4514
4515 2002-03-07  Aldy Hernandez  <aldyh@redhat.com>
4516
4517         * doc/invoke.texi: Add documentation for -mabi=no-altivec.
4518
4519         * config/rs6000/rs6000.c (rs6000_parse_abi_options): Add
4520         -mabi=no-altivec
4521         (alt_reg_names): Remove % for vrsave.
4522
4523 2002-03-06  Jeffrey A Law  (law@redhat.com)
4524
4525         * ssa-ccp.c (ssa_fast_dce): Update the DF def-use chains
4526         after completing fast dead code elimination.
4527
4528 2002-03-06  Richard Henderson  <rth@redhat.com>
4529
4530         PR optimization/5844
4531         * genemit.c (gen_exp): New argument used.  Invoke copy_rtx
4532         if used indicates we've already emitted one copy of an operand.
4533         (gen_insn, gen_expand, output_add_clobbers): Supply a null used.
4534         (gen_split): Supply a non-null used.
4535
4536 2002-03-06  Ulrich Weigand  <uweigand@de.ibm.com>
4537
4538         * simplify-rtx.c (simplify_plus_minus): Do not abort,
4539         but simply fail if the expression is too complex to simplify.
4540         (simplify_gen_binary): Handle simplify_plus_minus failures.
4541
4542 2002-03-06  Ulrich Weigand  <uweigand@de.ibm.com>
4543
4544         * reload1.c (reload): Unshare all rtl after reload is done.
4545
4546 2002-03-06  Jakub Jelinek  <jakub@redhat.com>
4547
4548         * ssa-ccp.c (ssa_ccp_substitute_constants): Backout 2002-03-05
4549         patch.
4550
4551 2002-03-05  Zack Weinberg  <zack@codesourcery.com>
4552
4553         * cppmain.c (setup_callbacks): Disable #pragma and #ident
4554         callbacks when processing assembly language.
4555
4556 2002-03-06  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4557
4558         * pa.h (ASM_FILE_END): Define.
4559         * som.h (ASM_FILE_END): Delete.
4560
4561         * pa.c (function_arg): Don't pass floats in general registers in
4562         indirect calls if TARGET_ELF32.
4563
4564 2002-03-05  Richard Henderson  <rth@redhat.com>
4565
4566         * config/i386/i386.md (floatsidf2): Conditionalize on hard-float.
4567
4568 2002-03-05  Jakub Jelinek  <jakub@redhat.com>
4569
4570         * mklibgcc.in: Prepend a tab before .hidden, add $flags to gcc
4571         -r command line.  Don't hide any symbols if not building
4572         shared libgcc.
4573
4574 2002-03-05  Jakub Jelinek  <jakub@redhat.com>
4575
4576         * expmed.c (emit_store_flag): Don't test BITS_PER_WORD * 2
4577         wide volatile memory by parts.
4578
4579 2002-03-05  Jakub Jelinek  <jakub@redhat.com>
4580
4581         * ssa-ccp.c (ssa_ccp_substitute_constants): Don't crash if def
4582         is NULL.
4583
4584 2002-03-05  Richard Henderson  <rth@redhat.com>
4585
4586         * config/rs6000/rs6000.h (TOTAL_ALTIVEC_REGS): Fix off-by-one error.
4587
4588 2002-03-04  Krister Walfridsson  <cato@df.lth.se>
4589
4590         * config.gcc (*-*-netbsd*): Add t-slibgcc-elf-ver to tmake_file.
4591
4592 2002-03-05  Joseph S. Myers  <jsm28@cam.ac.uk>
4593
4594         * configure.in: Increase required makeinfo version to 4.1.
4595         * configure: Regenerate.
4596
4597 2002-03-04  Joseph S. Myers  <jsm28@cam.ac.uk>
4598
4599         * doc/include/texinfo.tex: Update to version 2002-03-01.06.
4600         * doc/invoke.texi: Fix @math uses.
4601
4602 2002-03-02  Per Bothner  <per@bothner.com>
4603
4604         * gcc.c (option_map):  Suport new --bootclasspath option.
4605         --CLASSPATH is now just an alias for --classpath.
4606
4607 Sat Mar  2 06:30:14 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4608
4609         * config/sparc/sparc.c (sparc_initialize_trampoline): Use
4610         trunc_int_for_mode.
4611
4612         * emit-rtl.c (offset_address): Call update_temp_slot_address.
4613
4614 2002-03-01  Richard Henderson  <rth@redhat.com>
4615
4616         * config/ia64/ia64.c (ia64_initial_elimination_offset): Do not
4617         adjust argument_pointer by pretend_args_size.
4618         (ia64_va_start): Adjust va_start address by -pretend_args_size.
4619
4620 2002-03-01  Zack Weinberg  <zack@codesourcery.com>
4621
4622         * doc/cpp.texi: Clarify documentation of relationship between
4623         #line and #include.
4624
4625 2002-02-28  Richard Henderson  <rth@redhat.com>
4626
4627         * expmed.c (store_bit_field): Prevent generation of CONCATs;
4628         pun complex values as integers; use gen_lowpart instead of
4629         gen_rtx_SUBREG.
4630         (extract_bit_field): Likewise.
4631
4632 2002-02-28  David O'Brien  <obrien@FreeBSD.org>
4633
4634         * config.gcc (sparc64-*-freebsd): Explicitly accept a cpu specification
4635         of "ultrasparc".
4636         * config/sparc/freebsd.h: Do not use MASK_FASTER_STRUCTS.  It appears
4637         to be broken.
4638
4639 2002-02-28  Alexandre Oliva  <aoliva@redhat.com>
4640
4641         * gcc.c (init_gcc_specs): Get -static and -static-libgcc to
4642         override -shared and -shared-libgcc.
4643
4644 2002-02-28  Andrew MacLeod  <amacleod@redhat.com>
4645
4646         * dwarf2out.c (stack_adjust_offset): Add support for POST_INC,
4647         POST_DEC, and POST_MODIFY.
4648
4649 2002-02-28  Joseph S. Myers  <jsm28@cam.ac.uk>
4650
4651         * doc/invoke.texi, doc/standards.texi: Link to
4652         gcc-3.1/c99status.html.
4653
4654 2002-02-28  Richard Henderson  <rth@redhat.com>
4655
4656         * config/ia64/ia64.c (ia64_adjust_cost): All non-MM consumers have
4657         4 cycle latency from MM producers.
4658         (ia64_internal_sched_reorder): Likewise with pipeline flush.
4659
4660 2002-02-28  Jakub Jelinek  <jakub@redhat.com>
4661
4662         * mklibgcc.in: Don't use GNU make extension.
4663
4664 2002-02-28  Richard Henderson  <rth@redhat.com>
4665
4666         * haifa-sched.c (sched_emit_insn): New.
4667         (schedule_block): Use last_scheduled_insn to track last insn.
4668         * sched-int.h (sched_emit_insn): Prototype.
4669         * config/ia64/ia64.c (last_issued): Remove.
4670         (ia64_variable_issue): Don't set it.
4671         (nop_cycles_until): Use sched_emit_insn.
4672
4673 2002-02-28  Bo Thorsen  <bo@suse.de>
4674
4675         * config/i386/linux64.h (LINK_SPEC): Fix 32/64 bit compilation.
4676         (STARTFILE_SPEC): Add 64 bit files.
4677         (ENDFILE_SPEC): Likewise.
4678
4679 Don Feb 28 16:41:19 CET 2002  Jan Hubicka  <jh@suse.cz>
4680
4681         * cfgrtl.c (purge_dead_edges): Fix handling of EH edges.
4682
4683         * i386.h (CONDITIONAL_REGISTER_USAGE): Do not write to
4684         PIC_OFFSET_TABLE_REGNUM when it is INVALID_REGNUM
4685
4686         * x86-64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Always define.
4687
4688 2002-02-28  David Edelsohn  <edelsohn@gnu.org>
4689
4690         * config/rs6000/aix43.h (THREAD_MODEL_SPEC): Delete.
4691         * config/rs6000/aix51.h (THREAD_MODEL_SPEC): Delete.
4692
4693 2002-02-28  Alan Modra  <amodra@bigpond.net.au>
4694
4695         * config/rs6000/rs6000.md (load_toc_aix_di): Handle TARGET_RELOCATABLE.
4696
4697 2002-02-28  Jason Merrill  <jason@redhat.com>
4698
4699         * c-decl.c (finish_function): Only warn about missing return
4700         statement with -Wreturn-type.
4701
4702 2002-02-27  Zack Weinberg  <zack@codesourcery.com>
4703
4704         * mklibgcc.in: Don't use \n in a line subject to
4705         interpretation by echo.
4706
4707 2002-02-27  Ulrich Weigand  <uweigand@de.ibm.com>
4708
4709         * config/s390/s390.c (s390_chunkify_pool): Do not confuse
4710         insn UIDs with insn addresses.
4711
4712 2002-02-27  Graham Stott  <grahams@redhat.com>
4713
4714         * config/rs6000/rs6000.h (ASM_OUTPUT_DEF_FROM_DECL):
4715         Constify NAME.
4716
4717         * loop.c (prescan_loop): Handle PARALLEL.
4718
4719         * unroll.c (loop_iterations): Return 0 if the add_val for
4720         a BIV is REG.
4721
4722         * final.c (output_operand_lossage): Constify PFX_STR.
4723
4724         * df.c (df_insn_refs_record): Use XEXP (x, 0) for USE.
4725
4726 2002-02-26  Richard Henderson  <rth@redhat.com>
4727
4728         * config/alpha/alpha.md (ashldi_se): Re-enable.
4729
4730 2002-02-26  Kelley Cook  <kelleycook@comcast.net>
4731
4732         * config/i386/i386.c (print_operand): Don't append ATT-style
4733         length suffixs to x87 opcodes when in Intel mode.
4734
4735 2002-02-26  Ryan T. Sammartino <ryants@shaw.ca>
4736
4737         * emit-rtl.c (gen_const_vector_0): Remove TYPE argument.
4738         (init_emit_once): Update calls.
4739         * fixinc/gnu-regex.c (_GNU_SOURCE): Remove.
4740         (init_syntax_once): Prototype.
4741
4742 2002-02-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4743
4744         * pa-linux.h (LIB_SPEC): Update definition.
4745         * pa32-linux.h (LINK_COMMAND_SPEC): Delete.
4746
4747 2002-02-26  Alexandre Oliva  <aoliva@redhat.com>
4748
4749         * dwarf2out.c (gen_inlined_subroutine_die): If block is abstract,
4750         generate a die for the lexical block.
4751
4752 2002-02-26  Richard Henderson  <rth@redhat.com>
4753
4754         * expr.c (expand_expr) [MULT_EXPR]: Do not apply distributive law
4755         in EXPAND_SUM case.  Use host_integerp/tree_low_cst.
4756
4757 2002-02-26  Richard Henderson  <rth@redhat.com>
4758
4759         * config/ia64/ia64.c (nop_cycles_until): Do init_insn_group_barriers
4760         if we emitted a stop bit.
4761
4762 2002-02-26  Jakub Jelinek  <jakub@redhat.com>
4763
4764         * configure.in (libgcc_visibility): Substitute.
4765         * configure: Rebuilt.
4766         * mklibgcc.in: If libgcc_visibility = yes, make libgcc.a global
4767         defined symbols .hidden.
4768
4769 2002-02-26  Jakub Jelinek  <jakub@redhat.com>
4770
4771         PR debug/5770
4772         * dwarf2out.c (rtl_for_decl_location): Return CONST_STRING for
4773         STRING_CST initializer spanning the whole variable without
4774         embedded zeros.
4775         If expand_expr returned MEM, don't use it.
4776
4777 2002-02-25  Jakub Jelinek  <jakub@redhat.com>
4778
4779         PR target/5755
4780         * config/i386/i386.c (ix86_return_pops_args): Only pop
4781         fake structure return argument if it was passed on the stack.
4782
4783 2002-02-25  Jason Merrill  <jason@redhat.com>
4784
4785         * attribs.c (decl_attributes): Also re-layout PARM_DECL and
4786         RESULT_DECL.
4787
4788 2002-02-25  Alexandre Oliva  <aoliva@redhat.com>
4789
4790         * gcc.c (init_gcc_specs): Get -shared-libgcc along with -shared to
4791         link with shared_name only.
4792         * doc/invoke.texi (Link Options): Document new behavior.
4793
4794 2002-02-25  Aldy Hernandez  <aldyh@redhat.com>
4795
4796         * c-typeck.c (push_init_level): Handle vectors.
4797
4798 2002-02-25  Alexandre Oliva  <aoliva@redhat.com>
4799
4800         * config/sparc/sparc.c (const64_high_operand): Zero-extend
4801         operands of SPARC_SETHI_P.
4802         (input_operand): Likewise.
4803         (sparc_emit_set_const32): Likewise.
4804         * config/sparc/sparc.h (SPARC_SETHI_P): Disregard TARGET_ARCH64.
4805         (SPARC_SETHI32_P): Zero-extend operand from 32 bits.
4806         (CONST_OK_FOR_LETTER_P): Use SETHI32 for `K'.  Add `N' as SETHI.
4807         * config/sparc/sparc.md (movdi_insn_sp64_novis): Use `N'.
4808         (movdi_insn_sp64_vis): Likewise.
4809         (movdi split, movdf split): Use SETHI32.
4810         * doc/md.texi: Document SPARC constraints L, M and N.
4811
4812 2002-02-25  Aldy Hernandez  <aldyh@redhat.com>
4813
4814         * config/rs6000/rs6000.md ("get_vrsave_internal"): New.
4815         ("*set_vrsave_internal"): use mfspr for Darwin.
4816
4817         * config/rs6000/rs6000.c (rs6000_emit_prologue): Call
4818         gen_get_vrsave_internal.
4819
4820 Sun Feb 24 16:38:56 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4821
4822         * optabs.c (widen_operand): Properly handle CONST_INT for NO_EXTEND.
4823
4824 2002-02-24  Neil Booth  <neil@daikokuya.demon.co.uk>
4825
4826         * cpplex.c (cpp_interpret_charconst): Get signedness or
4827         otherwise of wide character constants correct.
4828         * cppexp.c (lex): Get signedness of wide charconsts correct.
4829
4830 Sun Feb 24 07:41:31 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4831
4832         * optabs.c (widen_operand): Only call convert_modes for
4833         promoted SUBREG if signedness matches.
4834         * config/alpha/alpha.md (*addsi_se2, *subsi_se2): New patterns.
4835
4836 2002-02-23  Neil Booth  <neil@daikokuya.demon.co.uk>
4837
4838         * cpplib.c (glue_header_name): Use local buffer to build up
4839         header name.
4840
4841 2002-02-23  Neil Booth  <neil@daikokuya.demon.co.uk>
4842
4843         * doc/cpp.texi, doc/invoke.texi: Update documentation for -MM.
4844
4845 2002-02-23  Kazu Hirata  <kazu@hxi.com>
4846
4847         * config/h8300/h8300.c (output_simode_bld): Handle H8/300 and
4848         H8/300[HS] separately.
4849         * config/h8300/h8300.md: Remove the early clobber constraint
4850         from bit field patterns.
4851
4852 2002-02-23  Kazu Hirata  <kazu@hxi.com>
4853
4854         * config/h8300/h8300.md (mulqihi3): Tighten predicates to
4855         register_operand.
4856         (mulhisi3): Likewise.
4857         (umulqisi3): Likewise.
4858         (umulhisi3): Likewise.
4859
4860 2002-02-23  Neil Booth  <neil@daikokuya.demon.co.uk>
4861
4862         * cppinit.c (output_deps): Correct test for stdout output.
4863         (init_dependency_output): Cure warning.
4864
4865 Sat Feb 23 08:42:47 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4866
4867         * expr.c (store_expr): When converting expression to promoted
4868         equivalent type, allow using SUBREG_REG of TARGET as the target
4869         of the expansion of EXP.
4870         * loop.c (basic_induction_var, case SUBREG): Always look inside.
4871         * config/alpha/alpha.c (rtx_equiv_function_matters): Delete decl.
4872         (alpha_emit_set_const): Handle SImode when can't make new pseudos.
4873         (alpha_emit_set_const_1, alpha_sa_mask): Use no_new_pseudos.
4874         * config/alpha/alpha.md (addsi3, subsi3): Don't use if optimizing.
4875
4876 2002-02-23  Joseph S. Myers  <jsm28@cam.ac.uk>
4877
4878         * doc/contribute.texi, doc/extend.texi, doc/install.texi,
4879         doc/invoke.texi, doc/md.texi, doc/passes.texi, doc/rtl.texi,
4880         doc/standards.texi, doc/tm.texi: Remove trailing whitespace.
4881
4882 2002-02-23  Jakub Jelinek  <jakub@redhat.com>
4883
4884         PR optimization/5747
4885         * loop.c (scan_loop): Update reg info if move_movables created new
4886         pseudos.
4887
4888 2002-02-23  David Edelsohn  <edelsohn@gnu.org>
4889
4890         * gcc.c (init_gcc_spec): Revert last change.
4891
4892 2002-02-23  David Edelsohn  <edelsohn@gnu.org>
4893
4894         * config/rs6000/rs6000.md (load_toc_aix_{si,di}): Use
4895         gpc_reg_operand constraint.
4896
4897 2002-02-23  Alan Modra  <amodra@bigpond.net.au>
4898
4899         * config/rs6000/rs6000.c (num_insns_constant): Fix formatting.
4900         Simplify comparison of `low'.
4901         (add_operand): Fix formatting.
4902         (non_add_cint_operand): Use CONST_OK_FOR_LETTER_P.
4903         (mask_operand): Disallow mask to wrap in 64-bit mode.
4904         (rs6000_stack_info): Remove redundant test setting push_p.
4905         (output_toc): Fix formatting.
4906         * config/rs6000/rs6000.md (boolsi3, boolcsi3 splitters): Use
4907         cc_reg_not_cr0_operand constraint.
4908         (booldi3, boolcdi3 splitters): Same.
4909
4910 2002-02-23  Aldy Hernandez  <aldyh@redhat.com>
4911
4912         * config/rs6000/altivec.h: Add extra level of parentheses on casts.
4913
4914 2002-02-22  David Edelsohn  <edelsohn@gnu.org>
4915
4916         * gcc.c (init_gcc_spec): Do not link with static libgcc.a if
4917         gcc invoked with -shared-libgcc.
4918
4919 2002-02-22  Jakub Jelinek  <jakub@redhat.com>
4920
4921         PR c++/5748
4922         * stmt.c (expand_anon_union_decl): Set TREE_USED on the anon union
4923         decl if any of elements was TREE_USED.
4924
4925 2002-02-22  Alexandre Oliva  <aoliva@redhat.com>
4926
4927         * config/sparc/sol2.h: Don't include sys/mman.h.
4928         * config/sparc/sparc.c (arith_operand): Use SMALL_INT32.
4929         (arith_4096_operand): Don't throw high bits away.
4930         (const64_operand): Take sign extension of CONST_INTs into account.
4931         (const64_high_operand, sparc_emit_set_const32): Likewise.
4932         (GEN_HIGHINT64): Likewise.
4933         (sparc_emit_set_const64_quick1): Likewise.
4934         (const64_is_2insns): Likewise.
4935         (print_operand): Use trunc_int_for_mode for sign extension.
4936         * config/sparc/sparc.h (SMALL_INT32): Likewise.
4937         * config/sparc/sparc.md (movqi): Sign-extend CONST_DOUBLE
4938         chars.  Assume CONST_INT is already properly sign-extended.
4939         (movdi split): Sign-extend each SImode part.
4940         (andsi3 split): Don't mask high bits off, so that result
4941         remains properly sign-extend.
4942         (iorsi3 split): Likewise.
4943         (xorsi3 split): Likewise.
4944
4945 2002-02-22  Richard Sandiford  <rsandifo@redhat.com>
4946
4947         * fold-const.c (fold): Fix typo in comments.
4948
4949 2002-02-21  Diego Novillo  <dnovillo@redhat.com>
4950
4951         * Makefile.in (langhooks.o): Update dependencies.
4952
4953 2002-02-21  Diego Novillo  <dnovillo@redhat.com>
4954
4955         * langhooks.c: Include flags.h.
4956
4957 2002-02-21  Aldy Hernandez  <aldyh@redhat.com>
4958
4959         * testsuite/gcc.dg/attr-alwaysinline.c: New.
4960
4961         * c-common.c (c_common_post_options): Set inline trees by
4962         default.
4963
4964         * doc/extend.texi (Function Attributes): Document always_inline
4965         attribute.
4966         Update documentation about inlining when not optimizing.
4967
4968         * cp/decl.c (duplicate_decls): Merge always_inline attribute.
4969
4970         * cp/tree.c (cp_cannot_inline_tree_fn): Do not inline at -O0
4971         unless DECL_ALWAYS_INLINE.
4972
4973         * c-objc-common.c (c_cannot_inline_tree_fn): Do not inline at -O0
4974         unless DECL_ALWAYS_INLINE.
4975         (c_disregard_inline_limits): Disregard if always_inline set.
4976
4977         * langhooks.c (lhd_tree_inlining_disregard_inline_limits):
4978         Disregard if always_inline set.
4979         (lhd_tree_inlining_cannot_inline_tree_fn): Do not inline at -O0
4980         unless DECL_ALWAYS_INLINE.
4981
4982         * attribs.c (handle_always_inline_attribute): New.
4983         (c_common_attribute_table): Add always_inline.
4984
4985         * config/rs6000/altivec.h: Add prototypes for builtins
4986         requiring the always_inline attribute.
4987
4988 2002-02-21  Eric Christopher  <echristo@redhat.com>
4989
4990         * expmed.c (store_bit_field): Try to simplify the subreg
4991         before generating a new one when when the mode size of
4992         value is less than maxmode.
4993
4994 2002-02-21  Richard Henderson  <rth@redhat.com>
4995
4996         * emit-rtl.c (offset_address): Use simplify_gen_binary rather
4997         than gen_rtx_PLUS to form the sum.
4998         * explow.c (force_reg): Rearrange to not allocate new pseudo
4999         when force_operand returns a register.
5000         * expr.c (expand_assignment): Allow offset_rtx expansion to
5001         return a sum.  Do not force addresses into registers.
5002         (expand_expr): Likewise.
5003         * simplify-rtx.c (simplify_gen_binary): Use simplify_plus_minus
5004         to canonicalize arithmetic that didn't simpify.
5005         (simplify_plus_minus): New argument force; update
5006         all callers.  Don't split CONST unless we can do something with it,
5007         and wouldn't lose the constness of the operands.
5008
5009         * config/i386/i386.c (legitimize_pic_address): Recognize UNSPECs
5010         that we generated earlier.
5011
5012 2002-02-21  Tom Tromey  <tromey@redhat.com>
5013
5014         * dwarf2out.c (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
5015         (output_line_info): Use constant `1', with a long explanatory
5016         comment.
5017         * system.h (DWARF_LINE_MIN_INSTR_LENGTH): Poison.
5018
5019 Thu Feb 21 22:43:44 2002  J"orn Rennecke <joern.rennecke@superh.com>
5020
5021         * jump.c (redirect_jump): If old label has no UID, don't try to
5022         delete it.
5023
5024 Thu Feb 21 21:17:21 2002  J"orn Rennecke <joern.rennecke@superh.com>
5025
5026         * sh.md (insv): Provide byte offsets for gen_rtx_SUBREG.
5027         If input is constant, do shifts at compile time.
5028
5029 2002-02-21  Joseph S. Myers  <jsm28@cam.ac.uk>
5030
5031         * doc/extend.texi: Fix some more overfull hboxes.
5032
5033 2002-02-21  Jakub Jelinek  <jakub@redhat.com>
5034
5035         PR optimization/4994
5036         * config/i386/i386.md (movsi_1, movsf_1): Support MMX -> MMX
5037         register moves.
5038
5039 2002-02-21  Jakub Jelinek  <jakub@redhat.com>
5040
5041         PR c++/4574
5042         * expr.h (expand_and): Add mode argument.
5043         * expmed.c (expand_and): Add mode argument.
5044         (expand_mult_highpart_adjust, emit_store_flag): Adjust callers.
5045         * expr.c (store_field, expand_expr, do_store_flag): Likewise.
5046         * except.c (expand_builtin_extract_return_addr): Likewise.
5047         * config/alpha/alpha.c (alpha_initialize_trampoline): Likewise.
5048         * config/sparc/sparc.c (sparc_initialize_trampoline): Likewise.
5049         * config/c4x/c4x.h (INITIALIZE_TRAMPOLINE): Likewise.
5050         Use GEN_INT (x) instead of gen_rtx (CONST_INT, VOIDmode, x).
5051         * config/c4x/c4x.md: Use GEN_INT (x) instead of
5052         gen_rtx (CONST_INT, VOIDmode, x).
5053
5054 2002-02-21  Jakub Jelinek  <jakub@redhat.com>
5055
5056         PR c/4697:
5057         * stmt.c (warn_if_unused_value): Move side effects test once more.
5058
5059 2002-02-20  Torbjorn Granlund  <tege@swox.com>
5060
5061         * config/avr/avr.md: Add more patterns for mized-mode add and subtract
5062         (addsi3_zero_extend, subhi3_zero_extend1, subsi3_zero_extend).
5063
5064 Thu Feb 21 16:20:46 2002  Alexandre Oliva  <aoliva@redhat.com>
5065
5066         * rtlanal.c (replace_rtx): Don't make a CONST_INT the operand of
5067         SUBREG or ZERO_EXTEND.
5068
5069 Thu Feb 21 15:35:46 2002  J"orn Rennecke <joern.rennecke@superh.com>
5070
5071         * sh.h (current_function_anonymous_args): Remove.
5072         (SETUP_INCOMING_VARARGS): Don't set it - just check that one
5073         of current_function_varargs and current_function_stdarg is set.
5074         * sh.c (sh_expand_prologue): Check current_function_varargs /
5075         current_function_stdarg / TARGET_SH5 instead of
5076         current_function_anonymous_args.
5077
5078         * sh64.h (TARGET_VERSION): Define.
5079
5080 2002-02-20  David Edelsohn  <edelsohn@gnu.org>
5081
5082         * config/rs6000/rs6000.h (EPILOGUE_USES): Conditionalize
5083         VRSAVE_REGNO on TARGET_ALTIVEC.
5084
5085 2002-02-20  Alan Modra  <amodra@bigpond.net.au>
5086
5087         * config/rs6000/rs6000.c (includes_lshift_p): Mask irrelevant
5088         bits of SImode const_int.
5089         (includes_rshift_p): Likewise.
5090         (print_operand): Call mask_operand and mask64_operand with correct
5091         mode.
5092         (rs6000_output_function_epilogue): Pad traceback table to word.
5093         * config/rs6000/rs6000.h (MASK_64BIT): Correct comment.
5094         (EXTRA_CONSTRAINT, 'S' and 'T'): Call mask_operand and
5095         mask64_operand with correct mode.
5096         (FUNCTION_ARG_REGNO_P): Correct parentheses.
5097
5098 2002-02-20  Jakub Jelinek  <jakub@redhat.com>
5099
5100         PR debug/4461
5101         * varasm.c (get_pool_constant_mark): New.
5102         * rtl.h (get_pool_constant_mark): Add prototype.
5103         * dwarf2out.c (mem_loc_descriptor): A pool constant cannot
5104         be represented if it has not been output.
5105
5106 2002-02-20  Alexandre Oliva  <aoliva@redhat.com>
5107
5108         * combine.c (do_SUBST): Sanity check substitutions of
5109         CONST_INTs, and reject them in SUBREGs and ZERO_EXTENDs.
5110         (subst): Simplify SUBREG or ZERO_EXTEND instead of SUBSTing a
5111         CONST_INT into its operand.
5112         (known_cond): Likewise, for ZERO_EXTEND.
5113         * simplify-rtx.c (simplify_unary_operation): Fix condition to
5114         allow for simplification of wide modes.  Reject CONST_INTs in
5115         ZERO_EXTEND when their actual mode is not given.
5116
5117 2002-02-20  Alexandre Oliva  <aoliva@redhat.com>
5118
5119         * c-decl.c (pushdecl): If no global declaration is found for an
5120         extern declaration in block scope, try a limbo one.
5121
5122 2002-02-20  Jakub Jelinek  <jakub@redhat.com>
5123
5124         PR c++/4401
5125         * c-common.c (pointer_int_sum): Moved from...
5126         * c-typeck.c (pointer_int_sum): ...here.
5127         * c-common.h (pointer_int_sum): Add prototype.
5128
5129 2002-02-20  Jakub Jelinek  <jakub@redhat.com>
5130
5131         PR c++/5713
5132         * c-decl.c (duplicate_decls): Return 0 if issued error about
5133         redeclaration.
5134
5135 2002-02-20  Roger Sayle  <roger@eyesopen.com>
5136             Jakub Jelinek  <jakub@redhat.com>
5137
5138         PR c/4389
5139         * tree.c (host_integerp): Ensure that the constant integer is
5140         representable in a HOST_WIDE_INT or an unsigned HOST_WIDE_INT
5141         when pos is zero or non-zero respectively.  Clarify comment.
5142         * c-format.c (check_format_info_recurse): Fix host_integerp
5143         usage; the pos argument should be zero when assigning to a
5144         signed HOST_WIDE_INT.
5145
5146 2002-02-20  Richard Henderson  <rth@redhat.com>
5147
5148         * config/i386/i386.c (ix86_expand_vector_move): Use the mode
5149         of the operand, rather than assuming TImode.
5150         (ix86_expand_binop_builtin): Cope with commutative patterns
5151         using nonimmediate_operand for both operands.
5152         (ix86_expand_timode_binop_builtin): Likewise.
5153         (ix86_expand_store_builtin): Validate operand 1.
5154         (ix86_expand_unop1_builtin): Likewise.
5155
5156 2002-02-20  Philip Blundell  <philb@gnu.org>
5157
5158         PR 5705
5159         * config/arm/arm.h (HARD_REGNO_RENAME_OK): New macro.
5160
5161 2002-02-20  Richard Henderson  <rth@redhat.com>
5162
5163         PR c/5615
5164         * expr.h (ARGS_SIZE_TREE): Convert size.var to ssizetype.
5165
5166 2002-02-20  Tom Tromey  <tromey@redhat.com>
5167
5168         * config/fr30/fr30.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
5169         * config/sh/sh.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
5170         * config/pj/pj.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
5171         * config/cris/cris.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
5172         * dwarf2out.c (DWARF_LINE_MIN_INSTR_LENGTH): Define
5173         unconditionally.
5174
5175 Wed Feb 20 00:03:25 EST 2002 Alan Matsuoka <alanm@redhat.com>
5176
5177         * config/rs6000/rs6000.h (LEGITIMATE_OFFSET_ADDRESS_P): Look
5178           for (const_int 0) in X not just INTVAL.
5179
5180 2002-02-20  Joseph S. Myers  <jsm28@cam.ac.uk>
5181
5182         * doc/extend.texi: Avoid or reduce overfull hboxes.
5183
5184 2002-02-20  Diego Novillo  <dnovillo@redhat.com>
5185
5186         * expmed.c (store_bit_field): Do not store bit fields using SUBREG
5187         operations if the field does not start at a mode boundary.
5188
5189 2001-02-20      Joel Sherrill <joel@OARcorp.com>
5190
5191         * config/a29k/rtems.h, config/arm/rtems-elf.h, config/h8300/rtems.h,
5192         config/mips/rtems.h: Use new style of -Asystem= rather than -Asystem().
5193         Also done for -Acpu and -Amachine.
5194
5195 2002-02-20  Neil Booth  <neil@daikokuya.demon.co.uk>
5196
5197         * cppinit.c (init_dependency_output): Take deps output file
5198         from -o if none given with -MF.  Suppress normal output.
5199         * gcc.c (cpp_unique_options): Have -M and -MM imply -E.
5200         * doc/cpp.texi, doc/invoke.texi: Update.
5201
5202 2002-02-19  Zack Weinberg  <zack@codesourcery.com>
5203
5204         * toplev.c (output_quoted_string): Write unprintable
5205         characters with octal escapes.
5206
5207 2002-02-19  David Edelsohn  <edelsohn@gnu.org>
5208
5209         * config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Set
5210         really_call_used[VRSAVE_REGNO] if not Altivec.
5211
5212 2002-02-19  Alan Modra  <amodra@bigpond.net.au>
5213
5214         * config/rs6000/rs6000.c (u_short_cint_operand): Mask op with
5215         MODE_MASK.
5216         (constant_pool_expr_1): Fix formatting.
5217         (rs6000_legitimize_reload_address): Likewise.
5218
5219 Tue Feb 19 20:13:57 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5220
5221         * config/sparc/sparc.md (nonlocal_goto): Use hard_frame_pointer_rtx
5222         now that we have one.
5223
5224 2002-02-19  Zack Weinberg  <zack@codesourcery.com>
5225
5226         * tree.h (struct tree_common): Remove aux.  Add unused_0 at
5227         end of first block of bitfields (which was only seven bits);
5228         rename dummy to unused_1; remove comment which is no longer true.
5229
5230 2002-02-19  Gaute B Strokkenes <gs234@cam.ac.uk>
5231
5232         * doc/c-tree.texi (Classes, TYPE_BINFO): Fix typo.
5233
5234 2002-02-19  Philip Blundell  <pb@nexus.co.uk>
5235
5236         PR 5399
5237         * config/arm/arm.h (THUMB_LEGITIMATE_CONSTANT_P): Accept anything
5238         if generating PIC.
5239
5240         PR 5054
5241         * config/arm/arm.md (call_insn) [TARGET_THUMB]: Use
5242         arm_is_longcall_p rather than inspecting call-type cookie
5243         directly.
5244         (call_value_insn) [TARGET_THUMB]: Likewise.
5245
5246 2002-02-19  Graham Stott  <grahams@redhat.com>
5247
5248         * config/i386/i386.c (ix86_expand_builtin): Fix typo.
5249
5250 2002-02-19  David Edelsohn  <edelsohn@gnu.org>
5251
5252         * config/rs6000/linux64.h (LINK_OS_LINUX_SPEC): Look in /lib64.
5253         ({STARTFILE,ENDFILE}_LINUX_SPEC): Define.
5254         (FP_SAVE_INLINE): Delete.
5255
5256         * config/rs6000/sysv4.h (ENDFILE_SPEC): Add crtsaveres.o.
5257         * config/rs6000/eabi.asm: Remove ABI save restore routines.
5258         * config/rs6000/t-ppccomm: Build crtsavres.o.
5259         * config/rs6000/crtsavres.asm: New file.
5260
5261 2002-02-19  Philip Blundell  <philb@gnu.org>
5262
5263         * config/arm/arm.c (use_return_insn): Don't reject interrupt
5264         functions.
5265         (arm_compute_save_reg_mask): Save LR for interrupt functions too.
5266         (output_return_instruction): Allow interrupt functions to return with
5267         ldmfd sp!, {... pc}^.  Use LDR to restore any single register.
5268         (arm_expand_prologue): Subtract 4 before stacking LR in an
5269         interrupt function.
5270
5271 2002-02-19  Philip Blundell  <pb@nexus.co.uk>
5272
5273         * config/arm/arm.c (arm_encode_call_attribute): Operate on any
5274         decl, not just FUNCTION_DECL.
5275         (legitimize_pic_address): Handle local SYMBOL_REF like LABEL_REF.
5276         (arm_assemble_integer): Likewise.
5277         * config/arm/arm.h (ARM_ENCODE_CALL_TYPE): Allow any decl to be
5278         marked local.
5279
5280 2002-02-19  matthew green  <mrg@eterna.com.au>
5281
5282         * config.gcc (sparc-*-netbsdelf*): Enable target.
5283         (sparc64-*-netbsd*): New target.
5284         * config/sparc/netbsd-elf.h: New file.
5285         * config/sparc/t-netbsd64: New file.
5286
5287 2002-02-19  Gaute B Strokkenes <gs234@cam.ac.uk>
5288
5289         * doc/rtl.texi (Flags, MEM_SCALAR_P): Fix typo.
5290
5291 2002-02-19  Ryan T. Sammartino <ryants@shaw.ca>
5292
5293         * doc/invoke.texi: explicitly list the style guidelines that
5294         -Weffc++ checks for.
5295
5296 Tue Feb 19 12:37:23 CET 2002  Jan Hubicka  <jh@suse.cz>
5297
5298         * regmove.c (regmove_optimize): Avoid increasing of register pressure.
5299
5300 2002-02-19  Neil Booth  <neil@daikokuya.demon.co.uk>
5301
5302         PR other/5718
5303         * gcc.c (cpp_unique_options): Treat -o as indicating object file
5304         only if not -E.  If -E, pass -o through to the preprocessor.
5305
5306 2002-02-19  Kazu Hirata  <kazu@hxi.com>
5307
5308         * config/h8300/h8300.h (REGNO_REG_CLASS): Replace a literal
5309         register number with an appropriate macro.
5310
5311 2002-02-19  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
5312
5313         * doc/rtl.texi (Constants): Close @code tag.
5314
5315 2002-02-19  Aldy Hernandez  <aldyh@redhat.com>
5316
5317         * config/i386/i386.md ("mmx_uavgv8qi3"): Use const_vector.
5318         ("mmx_uavgv4hi3"): Same.
5319         ("pmulhrwv4hi3"): Same.
5320
5321         * tree-inline.c (walk_tree): Handle vectors.
5322
5323         * c-common.c (constant_expression_warning): Handle vectors.
5324         (overflow_warning): Same.
5325
5326         * sched-deps.c (sched_analyze_2): Handle vectors.
5327
5328         * rtlanal.c (rtx_unstable_p): Handle vectors.
5329         (rtx_varies_p): Same.
5330         (count_occurrences): Same.
5331         (regs_set_between_p): Same.
5332         (modified_between_p): Same.
5333         (modified_in_p): Same.
5334         (volatile_insn_p): Same.
5335         (volatile_refs_p): Same.
5336         (side_effects_p): Same.
5337         (may_trap_p): Same.
5338         (inequality_comparisons_p): Same.
5339         (replace_regs): Same.
5340         (computed_jump_p_1): Same.
5341
5342         * rtl.c (DEF_MACHMODE): Change all definitions to accept 8th
5343         argument.
5344         (inner_mode_array): New.
5345         (copy_rtx): Handle vectors.
5346         (copy_most_rtx): Same.
5347         (rtx_equal_p): Same.
5348         (get_mode_alignment): Adjust for vectors.
5349
5350         * resource.c (mark_referenced_resources): Handle vectors.
5351         (mark_set_resources): Same.
5352
5353         * reload1.c (eliminate_regs): Handle vectors.
5354         (elimination_effects): Same.
5355         (scan_paradoxical_subregs): Same.
5356
5357         * reload.c (subst_reg_equivs): Handle vectors.
5358
5359         * regrename.c (scan_rtx): Handle vectors.
5360
5361         * regclass.c (reg_scan_mark_refs): Handle vectors.
5362
5363         * recog.c (find_single_use_1): Handle vectors.
5364
5365         * local-alloc.c (equiv_init_varies_p): Handle vectors.
5366         (contains_replace_regs): Same.
5367         (memref_referenced_p): Same.
5368
5369         * integrate.c (copy_rtx_and_substitute): Handle vectors.
5370         (subst_constants): Same.
5371
5372         * genattrtab.c (attr_copy_rtx): Handle vectors.
5373         (encode_units_mask): Same.
5374         (clear_struct_flag): Same.
5375         (count_sub_rtxs): Same.
5376
5377         * gcse.c (want_to_gcse_p): Handle vectors.
5378         (oprs_unchanged_p): Same.
5379         (hash_expr_1): Same.
5380         (oprs_not_set_p): Same.
5381         (expr_killed_p): Same.
5382         (compute_transp): Same.
5383         (store_ops_ok): Same.
5384
5385         * function.c (purge_addressof_1): Do not allow paradoxical subregs
5386         of vectors.
5387         (fixup_var_refs_1): Same.
5388         (instantiate_virtual_regs_1): Same.
5389
5390         * fold-const.c (operand_equal_p): Handle vectors.
5391         (fold): Same.
5392         (rtl_expr_nonnegative_p): Same.
5393
5394         * flow.c (mark_used_regs): Handle vectors.
5395
5396         * df.c (df_uses_record): Handle vectors.
5397
5398         * cselib.c (cselib_subst_to_values): Handle vectors.
5399         (cselib_mem_conflict_p): Same.
5400         (hash_rtx): Same.
5401
5402         * cse.c (canon_reg): Handle vectors.
5403         (fold_rt): Same.
5404         (cse_process_notes): Same.
5405         (count_reg_usage): Same.
5406         (canon_hash): Same.
5407
5408         * alias.c (nonlocal_mentioned_p): Add case for CONST_VECTOR.
5409
5410         * combine.c (mark_used_regs_combine): Add case for CONST_VECTOR.
5411
5412         * emit-rtl.c (init_emit_once): Generate const0_rtx for vectors.
5413         (gen_rtx): Handle CONST_VECTOR.
5414         (gen_const_vector_0): New.
5415         (copy_rtx_if_shared): CONST_VECTORs can be shared.
5416         (reset_used_flags): Same.
5417         (copy_insn_1): Same.
5418         (initializer_constant_valid_p): Handle VECTOR_CST.
5419
5420         * doc/c-tree.texi (Expression trees): Document VECTOR_CST.
5421
5422         * doc/rtl.texi (Constants): Document const_vector.
5423         (CONST0_RTX): Update for vectors.
5424         (RTL sharing): Same.
5425
5426         * print-tree.c (print_node): Add case for VECTOR_CST.
5427
5428         * tree.h (TREE_VECTOR_CST_ELTS): New.
5429         (struct tree_vector): New.
5430         (union tree_node): Add vector node.
5431         (build_vector): Add prototype.
5432
5433         * tree.def (VECTOR_CST): New.
5434
5435         * tree.c (build_vector): New.
5436
5437         * expmed.c (make_tree): Handle CONST_VECTOR.
5438
5439         * rtl.h (CONSTANT_P): CONST_VECTORs are constants too.
5440         (CONST_VECTOR_ELT): New.
5441         (CONST_VECTOR_NUNITS): New.
5442
5443         * machmode.h (GET_MODE_INNER): New.
5444         (DEF_MACHMODE): Accept 8th arg.
5445
5446         * machmode.def: Add 8th argument for vector inner mode.
5447         Add inner vector modes for vectors.
5448
5449         * rtl.def (VEC_CONST): Remove.
5450         (CONST_VECTOR): New.
5451
5452         * expr.c (clear_storage): Allow vectors.
5453         (is_zeros_p): Handle VECTOR_CST.
5454
5455         * varasm.c (output_constant_pool): Handle vectors.
5456         (rtx_const): Add veclo and vechi fields.
5457         (kind): Add RTX_VECTOR.
5458         (decode_rtx_const): Add case for vector.
5459
5460         * config/rs6000/rs6000-protos.h: Add zero_constant.
5461
5462         * config/rs6000/rs6000.c (rs6000_emit_move): Handle vector
5463         constants.  Force easy vector constants into memory.
5464         (easy_vector_constant): New.
5465         (emit_easy_vector_constant): New.
5466         (rs6000_legitimize_reload_address): Do not generate bad reloads on
5467         darwin.
5468
5469         * config/rs6000/rs6000.md ("altivec_lvx"): Reflect what
5470         instruction does.
5471         ("altivec_lvxl"): Same.
5472         (altivec_lvebx): Same.
5473         (altivec_lvehx): Same.
5474         (altivec_lvewx): Same.
5475         ("*movv4si_const0"): New.
5476         ("*movv4sf_const0"): New.
5477         ("*movv8hi_const0"): New.
5478         ("*movv16qi_const0"): New.
5479
5480 2002-02-18  Kazu Hirata  <kazu@hxi.com>
5481
5482         * config/h8300/h8300.c (notice_update_cc): Use
5483         cc_status.value2.
5484
5485 2002-02-18  Kazu Hirata  <kazu@hxi.com>
5486
5487         * config/h8300/h8300.md (divmod patterns): Change the
5488         constraints for operands[1] to register_operand.
5489
5490 2002-02-18  Kazu Hirata  <kazu@hxi.com>
5491
5492         * config/h8300/h8300-protos.h: Remove the prototype for
5493         p_operand.
5494         * config/h8300/h8300.c (p_operand): Remove.
5495         * config/h8300/h8300.md: Replace p_operand with
5496         const_int_operand.
5497
5498 2002-02-18 Philip Blundell <pb@nexus.co.uk>
5499
5500         * config/arm/arm.c (arm_compute_save_reg_mask): Fix typo in
5501         comment.
5502         (output_return_instruction): Allow use of LDR to unstack
5503         return addresss even for interrupt handlers or when
5504         interworking.  If compiling for ARMv5, use interworking-safe
5505         return instructions by default.  Remove duplicated code and
5506         lengthy "strcat" sequences.
5507
5508 2002-02-18  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
5509
5510         * config/rs6000/sysv4.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
5511         (LINK_EH_SPEC): Define.
5512         * config/rs6000/t-ppccomm (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
5513
5514 2002-02-18  Ulrich Weigand  <uweigand@de.ibm.com>
5515
5516         * config/s390/s390.c (s390_emit_prologue): Do not set the
5517         frame_related flag for call-clobbered registers.
5518
5519 Mon Feb 18 15:07:35 CET 2002  Jan Hubicka  <jh@suse.cz>
5520
5521         * i386.c (classify_argument): Properly classify SSE/MMX modes and VOIDmode.
5522         (construct_container): Fix handling of SSE operands.
5523         (ix86_expand_builtin): Fix handling of 64bit pointers.
5524         (mmx_maskmovq_rex): New pattern.
5525
5526 Mon Feb 18 11:55:55 CET 2002  Jan Hubicka  <jh@suse.cz>
5527
5528         * regrename.c (kill_set_value): Handle subregs properly.
5529
5530 2002-02-18  David Billinghurst <David.Billinghurst@riotinto.com>
5531
5532         * objc/objc-act.c (handle_impent): Remove leading '*'
5533         from objc_class_name.
5534
5535 2002-02-17  Richard Henderson  <rth@redhat.com>
5536
5537         * config/alpha/alpha.c (some_small_symbolic_operand,
5538         some_small_symbolic_operand_1, split_small_symbolic_operand,
5539         split_small_symbolic_operand_1): Rename from *symbolic_mem_op*.
5540         Handle small SYMBOL_REFs anywhere, not just inside memories.
5541         * config/alpha/alpha-protos.h: Update.
5542         * config/alpha/alpha.h (PREDICATE_CODES): Update.
5543         * config/alpha/alpha.md (small symbolic operand splitter): Update.
5544
5545 2002-02-17  Roland McGrath  <roland@frob.com>
5546
5547         * config.gcc (powerpc-*-gnu-gnualtivec*,
5548         powerpc-*-gnu*, powerpc64-*-gnu*): New configurations.
5549         * config/rs6000/gnu.h: New file.
5550         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS):
5551         Grok "gnu" in rs6000_abi_name.
5552         (ASM_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC,
5553         CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC, LIB_SPEC, ENDFILE_SPEC):
5554         Grok -mcall-gnu analogous to -mcall-linux et al.
5555         (LIB_GNU_SPEC, STARTFILE_GNU_SPEC, ENDFILE_GNU_SPEC,
5556         LINK_START_GNU_SPEC, LINK_OS_GNU_SPEC, CPP_OS_GNU_SPEC): New macros.
5557         (SUBTARGET_EXTRA_SPECS): Add *_os_gnu specs using them.
5558
5559 2002-02-17  Jakub Jelinek  <jakub@redhat.com>
5560
5561         PR c/3444:
5562         * c-typeck.c (build_binary_op) [BIT_XOR_EXPR]: Remove explicit
5563         shortening.
5564
5565 2002-02-17  Philipp Thomas  <pthomas@suse.de>
5566
5567         * config/cris/cris.h: Undefine STARTFILE_SPEC and
5568         ENDFILE_SPEC before (re)defining them.
5569
5570 2002-02-17  Kazu Hirata  <kazu@hxi.com>
5571
5572         * config/h8300/h8300.c: Fix formatting.
5573         * config/h8300/h8300.h: Likewise.
5574
5575 2002-02-17  Philipp Thomas  <pthomas@suse.de>
5576
5577         * doc/tm.texi: Explain why empty strings should not be
5578         marked for translation.
5579
5580 2002-02-17  Philipp Thomas  <pthomas@suse.de>
5581
5582         * final.c (output_operand_lossage): Changed to accept
5583         printf style arguments. Change calls where necessary.
5584         * output.h (output_operand_lossage): Change declaration
5585         accordingly. Update copyright.
5586         * config/arc/arc.c config/fr30/fr30.c config/m32r/m32r.c
5587         config/m88k/m88k.c : Adapt all calls to output_operand_lossage.
5588         Update copyright date where necessary.
5589
5590         * config/i386/i386.c (print_operand): Likewise. Remove use of
5591         sprintf.
5592
5593         * config/cris/cris.c (cris_operand_lossage): Likewise.
5594         Rename parameter so that exgettext recognizes it as
5595         translatable message.
5596         (LOSE_AND_RETURN): Rename parameter to msgid.
5597
5598 2002-02-17  Kazu Hirata  <kazu@hxi.com>
5599
5600         * config/h8300/h8300.h (CONDITIONAL_REGISTER_USAGE): Replace a
5601         hard coded register number with an appropriate macro.
5602         (HARD_REGNO_MODE_OK): Likewise.
5603         (ARG_POINTER_REGNUM): Likewise.
5604         (STATIC_CHAIN_REGNUM): Likewise.
5605         (RETURN_ADDRESS_POINTER_REGNUM): Likewise.
5606         * config/h8300/h8300.md (define_constants): Define more
5607         register numbers.
5608
5609 2002-02-17  Philipp Thomas  <pthomas@suse.de>
5610
5611         * config/i386/i386.h: Don't mark empty strings for translation.
5612
5613 2002-02-16  H.J. Lu <hjl@gnu.org>
5614
5615         * config/mips/linux.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
5616
5617 2002-02-16  Zack Weinberg  <zack@codesourcery.com>
5618
5619         * cppinit.c (merge_include_chains): Check for brack being
5620         NULL before attempting to merge it with qtail.
5621
5622 2002-02-16  Andrew Cagney  <ac131313@redhat.com>
5623
5624         * config/rs6000/netbsd.h (PREFERRED_DEBUGGING_TYPE): Set to
5625         DBX_DEBUG.
5626
5627 2002-02-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5628
5629         * pa/t-pa, pa/t-pro, som.h: Revert last patch.
5630
5631 2002-02-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5632
5633         * pa/t-pa (LIB2FUNCS_EXTRA): Don't build lib2funcs.asm.
5634         * pa/t-pro (LIB2FUNCS_EXTRA): Likewise.
5635         * som.h (DO_GLOBAL_DTORS_BODY): Delete define.
5636
5637 Sat Feb 16 13:48:50 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5638
5639         * config/alpha/alpha.md (*movsi_nt_vms_nofix): Was *movsi_nt_vms;
5640         now only if !TARGET_FIX.
5641         (*movsi_nt_vms_fix): New pattern.
5642
5643 2002-02-16  Douglas B Rupp  <rupp@gnat.com>
5644
5645         * config/alpha/alpha.c: Implement null frame procedure types on VMS.
5646         (alpha_procedure_type): Replaces alpha_is_stack_procedure.
5647         (alpha_sa_mask, alpha_sa_size): Reflect above change.
5648         (alpha_pv_save_size, alpha_expand_prologue): Likewise.
5649         (alpha_start_function, alpha_expand_epilogue): Likewise.
5650         (unicosmk_gen_dsib): Likewise.
5651
5652 Sat Feb 16 13:39:09 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5653
5654         * expr.c (store_constructor): Handle target REG case for ARRAY_TYPE.
5655
5656 2002-02-16  Ulrich Weigand  <uweigand@de.ibm.com>
5657
5658         * config/s390/s390.c (pool_stop_uid, other_chunk, far_away,
5659         check_and_change_labels, s390_final_chunkify): Delete.
5660         (s390_split_branches, s390_chunkify_pool): New functions.
5661         (s390_function_prologue): Call them.
5662
5663         * config/s390/s390.h (S390_REL_MAX): Delete.
5664         (S390_CHUNK_MAX, S390_CHUNK_OV): Adjust values.
5665
5666         * config/s390/s390.md (cjump, icjump, jump): Fix length
5667         attribute calculation.
5668
5669
5670 2002-02-15  David Edelsohn  <edelsohn@gnu.org>
5671
5672         * config/rs6000/linux64.h (STRIP_NAME_ENCODING): Delete.
5673         * config/rs6000/ppc-asm.h (JUMP_TARGET): Define for powerpc64.
5674
5675 2002-02-15  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5676
5677         * gcc.c (init_gcc_specs): Revert patch from 2002-02-15.
5678         * config/pa/pa-linux.h (LIB_SPEC): Likewise.
5679         * config/pa/pa32-linux.h (LINK_COMMAND_SPEC): Likewise.
5680
5681 2002-02-15  Richard Sandiford  <rsandifo@redhat.com>
5682
5683         * c-decl.c (grokdeclarator): Prevent a segfault on unnamed decls.
5684
5685 2002-02-15  Richard Sandiford  <rsandifo@redhat.com>
5686
5687         * reload.c (find_dummy_reload): Check that an output register
5688         is valid for its mode.
5689
5690 2002-02-14  Alexandre Oliva  <aoliva@redhat.com>
5691
5692         * combine.c (known_cond): After replacing the REG of a SUBREG, try
5693         to simplify it.
5694
5695         * function.c (assign_parms): Demote promoted argument passed by
5696         transparent reference.
5697
5698 2001-02-14      Joel Sherrill <joel@OARcorp.com>
5699
5700         * config/arm/rtems-elf.h, config/h8300/rtems.h: Removed redundant
5701         -Acpu() and -Amachine() to eliminate warnings.
5702
5703 2002-02-14  Ulrich Weigand  <uweigand@de.ibm.com>
5704
5705         * config/s390/linux.h (ASM_OUTPUT_ALIGNED_BSS): New.
5706
5707 2002-02-14  Kazu Hirata  <kazu@hxi.com>
5708
5709         * config/h8300/h8300-protos.h: Update the prototype for
5710         const_costs.
5711         * config/h8300/h8300.c (const_costs): Treat SET as a little
5712         more expensive operation.
5713         * config/h8300/h8300.h (DEFAULT_RTX_COSTS): Update the
5714         reference to const_costs.
5715
5716 2002-02-14  Hans-Peter Nilsson  <hp@axis.com>
5717
5718         * config.gcc (c4x-*-rtems*): Fix typo in tm_file setting.
5719
5720 2002-02-14  Jakub Jelinek  <jakub@redhat.com>
5721
5722         PR c/5503:
5723         * c-decl.c (duplicate_decls): If builtin type has TYPE_ARG_TYPES NULL,
5724         use arguments from newtype.
5725
5726 2002-02-13  Eric Christopher  <echristo@redhat.com>
5727
5728         * config/mips/mips.c (override_options): Add check for march/mipsX
5729         on the same command line. Fix error message in cpu processing.
5730         Remove architecture and ISA checks.
5731
5732 2002-02-14  Aldy Hernandez  <aldyh@redhat.com>
5733
5734         * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Adjust for vectors.
5735
5736         * config/rs6000/sysv4.h (ROUND_TYPE_ALIGN): Add MAX.
5737
5738 2002-02-14  Aldy Hernandez  <aldyh@redhat.com>
5739
5740         * config/rs6000/rs6000.md ("*movv4si_internal"): Add m<-r and r<-r
5741         alternatives.
5742         ("*movv8hi_internal1"): Same.
5743         ("*movv16qi_internal1"): Same.
5744         ("*movv4sf_internal1"): Same.
5745
5746         * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Do
5747         not push_reload for altivec modes.
5748
5749 2002-02-13  Joel Sherrill  <joel@OARcorp.com>
5750
5751         * config.gcc (a29k-*-rtems), config/a29k/rtems.h: General cleanup across
5752         all RTEMS targets including removal of #includes from config/*/rtems*.h
5753         file and adding them to tm_file setting. Added xm_defines=POSIX to
5754         many targets.
5755         * config.gcc (c4x-*-rtems), config/c4x/rtems.h: Ditto.
5756         * config.gcc (h8300-*-rtems), config/h8300/rtems.h: Ditto.
5757         * config.gcc (hppa1.1-*-rtems), config/pa/rtems.h: Ditto.
5758         * config.gcc (i960-*-rtems), config/i960/rtems.h: Ditto.
5759         * config.gcc (m68k-*-rtems*), config/m68k/rtems.h,
5760         config/m68k/rtemself.h: Ditto.
5761         * config.gcc (mips*-*-rtems*), config/mips/rtems.h,
5762         config/mips/rtems64.h: Ditto.
5763         * config.gcc (powerpc-*-rtems*), config/rs6000/rtems.h: Ditto.
5764         * config.gcc (sh-*-rtems*), config/sh/rtems.h, config/sh/rtemself.h:
5765         Ditto.
5766         * config.gcc (sparc-*-rtems*), config/sparc/rtems.h,
5767         config/sparc/rtemself.h: Ditto.
5768         * config.gcc (v850-*-rtems*), config/v850/rtems.h: Ditto.
5769         * config.gcc (arm-rtems), config/arm/rtems-elf.h: Ditto plus moved
5770         arm-rtems stanza closer to other arm-elf targets and made arm-rtems
5771         more like arm-elf.
5772         * config.gcc (i[34567]86-*-rtems*), config/i386/djgpp-rtems.h,
5773         config/i386/rtems.h, config/i386/rtemself.h: Ditto plus i386-rtemself
5774         target made more similar to i386-elf.
5775         * config/i386/t-rtems-i386: Added soft float support and multilibs.
5776         * config/m68k/t-m68kbare: Add 68040 and 68060 as multilib alternatives to
5777         be similar to config/m68k/t-m68kelf.
5778         * gthr-rtems.h: Encapsulate with extern "C" for C++.
5779
5780 Wed Feb 13 23:41:15 CET 2002  Jan Hubicka  <jh@suse.cz>
5781
5782         * regmove.c (kill_value): Handle subregs.
5783
5784 Wed Feb 13 23:34:30 CET 2002  Jan Hubicka  <jh@suse.cz>
5785
5786         * i386.md (mul patterns): Allow memory operand to be first;
5787         add expanders where needed; fix constraints.
5788         (min?f_nonieee, max?f_nonieee, SSE TImode patterns):
5789         Allow memory operand to be the first.
5790
5791         * i386.c (ix86_prepare_fp_compare_args): Fix condition for swapping
5792         operands.
5793
5794 2002-02-13  Jakub Jelinek  <jakub@redhat.com>
5795
5796         PR c/5681:
5797         * expr.c (safe_from_p): Pass VOIDmode to true_dependence instead of
5798         GET_MODE (x).
5799
5800 2002-02-13  Jakub Jelinek  <jakub@redhat.com>
5801
5802         PR optimization/5547:
5803         * config/i386/i386.c (i386_simplify_dwarf_addr): Simplify
5804         all valid IA-32 address modes involving non-scaled %ebx and
5805         GOT/GOTOFF as displacement.
5806
5807 2002-02-13  Ulrich Weigand  <uweigand@de.ibm.com>
5808
5809         * config/s390/s390.c (s390_final_chunkify): Re-run shorten_branches
5810         after emitting ltorg insns.
5811
5812         * config/s390/s390.md (*cmpdf_ccs_0, *cmpdf_ccs, *cmpsf_ccs_0,
5813         *cmpsf_ccs, truncdfsf2_ieee, *adddf3, *addsf3, *subdf3, *subsf3,
5814         *muldf3, *mulsf3, *divdf3, *divsf3, *negdf2, *negsf2, *absdf2,
5815         *abssf2): Fix "op_type" attribute.
5816
5817 2002-02-13  Douglas B Rupp  <rupp@gnat.com>
5818
5819         * mkconfig.sh: Avoid using a subshell redirect.
5820         ($output.T): Change to $(output)T.
5821         (ENABLE_NLS): Remove unneeded undef.
5822
5823         * config/alpha/vms.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Define.
5824         * config/alpha/x-vms (libsubdir): Define.
5825
5826         * config/alpha/vms.h (MD_FALLBACK_FRAME_STATE_FOR): Handle
5827         register frame procedures. Optimize retrieving context.
5828
5829         * config/alpha/t-vms (MULTILIB_OPTIONS): Define.
5830         (MULTILIB_DIRNAME, LIBGCC, INSTALL_LIBGCC): Likewise.
5831         * config/alpha/vms.h (ASM_FILE_START): Write .arch directive.
5832
5833 Wed Feb 13 09:45:08 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5834
5835         * alias.c (find_base_term, case ZERO_EXTEND, case SIGN_EXTEND):
5836         Make same change as for find_base_value.
5837
5838 2002-02-13  Kazu Hirata  <kazu@hxi.com>
5839
5840         * config/h8300/h8300.h (MODES_TIEABLE_P): Accept a combination
5841         of QImode and SImode.
5842
5843 2002-02-13  Kazu Hirata  <kazu@hxi.com>
5844
5845         * config/h8300/h8300.c (h8300_adjust_insn_length): Correct the
5846         length computation of movsi.
5847         * config/h8300/h8300.md (movsi_h8300hs): Correct the length.
5848
5849 2002-02-13  Kazu Hirata  <kazu@hxi.com>
5850
5851         * config/h8300/h8300.md (subqi3): Tighten the predicate for
5852         operands[2] to register_operand.
5853
5854 Wed Feb 13 10:35:56 CET 2002  Jan Hubicka  <jh@suse.cz>
5855
5856         * i386.md (fop_*_comm_*): allow nonimmediate in the first operand.
5857
5858 2002-02-12  Aldy Hernandez  <aldyh@redhat.com>
5859
5860         * config/rs6000/rs6000.md: Use predicate altivec_register_operand
5861         for altivec_lvx* and altivec_stvx*.
5862         ("*movv4si_internal"): Add constraint for loading from GPRs.
5863         ("*movv8hi_internal1"): Same.
5864         ("*movv16qi_internal1"): Same.
5865         ("*movv4sf_internal1"): Same.
5866
5867         * config/rs6000/rs6000.c (altivec_register_operand): New.
5868
5869         * config/rs6000/rs6000.h (PREDICATE_CODES): Add
5870         altivec_register_operand.
5871
5872 2002-02-13  Hans-Peter Nilsson  <hp@bitrange.com>
5873
5874         * config/mmix/mmix.c (mmix_assemble_integer) <case 4>: Don't
5875         handle SYMBOL_REF.
5876
5877 2002-02-13  Stan Shebs  <shebs@apple.com>
5878
5879         * c-typeck.c (digest_init): Handle vectors.
5880         (really_start_incremental_init): Same.
5881         (pop_init_level): Same.
5882         (process_init_element): Same.
5883
5884         * varasm.c (output_constant): Same.
5885
5886         * expr.c (clear_storage): Same.
5887         (store_constructor): Same.
5888
5889 2002-02-12  Eric Christopher  <echristo@redhat.com>
5890
5891         * explow.c (hard_function_value): Add comment explaining
5892         signed/unsigned comparison.
5893
5894 2002-02-12  Jakub Jelinek  <jakub@redhat.com>
5895
5896         * jump.c (never_reached_warning): Add finish argument.
5897         If finish is NULL, stop on CODE_LABEL, otherwise stop before first
5898         real insn after end.
5899         * rtl.h (never_reached_warning): Adjust prototype.
5900         * cse.c (cse_insn): Pass NULL as finish to never_reached_warning.
5901         * cfgrtl.c (flow_delete_block): Pass b->end as finish to
5902         never_reached_warning.
5903
5904 2002-02-12  Graham Stott  <grahams@redhat.com>
5905
5906         * config/hp/pa.h (GO_IF_LEGITIMATE_ADDRESS): Fix typos.
5907
5908 2002-02-12  Kazu Hirata  <kazu@hxi.com>
5909
5910         * config/h8300/h8300.c (shift_alg_hi): Improve the 15-bit
5911         logical shifts on H8/300.
5912         (shift_alg_si): Improve several shifts on H8/300.
5913         (get_shift_alg): Likewise.
5914
5915 2002-02-12  Graham Stott  <grahams@redhat.com>
5916
5917         * config/pa/pa.c (compute_movstrsi_length): Fix typos.
5918
5919 Tue Feb 12 10:12:56 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5920
5921         * alias.c (find_base_value, case ZERO_EXTEND, case SIGN_EXTEND):
5922         Handle #ifdef POINTERS_EXTEND_UNSIGNED.
5923
5924 2002-02-11  Hans-Peter Nilsson  <hp@bitrange.com>
5925
5926         * config/mmix/mmix.c (mmix_assemble_integer) <case 1, 2>: Handle
5927         non-CONST_INT through default_assemble_integer.
5928         <case 4>: Likewise, for non-CONST_INT, non-SYMBOL_REF.
5929         <case 8>: Abort for CONST_DOUBLE.
5930
5931 2002-02-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5932
5933         * gcc.c (init_gcc_specs): Add static libgcc to link when "-shared"
5934         is specified.
5935         * config/pa/pa-linux.h (LIB_SPEC): Delete.
5936         * config/pa/pa32-linux.h (LINK_COMMAND_SPEC): Delete.
5937
5938 2002-02-11  Andrew Haley  <aph@cambridge.redhat.com>
5939
5940         * config/stormy16/stormy16.md (zero_extendqihi2): New.
5941
5942 2002-02-11  Alexandre Oliva  <aoliva@redhat.com>
5943
5944         * regrename.c (regrename_optimize): Don't accept a
5945         part-clobbered register if the replaced register is not part
5946         clobbered.
5947
5948         * calls.c (store_one_arg): In the non-BLKmode non-partial case,
5949         take padding into account when computing the argument value.
5950
5951         * config/sh/sh.h (FUNCTION_ARG_REGNO_P): Fix parenthesizing error.
5952
5953         * combine.c (try_combine): Apply substitutions in
5954         CALL_INSN_FUNCTION_USAGE too.
5955
5956 2002-02-11  Aldy Hernandez  <aldyh@redhat.com>
5957
5958         * config/rs6000/rs6000.c (altivec_init_builtins): Handle
5959         __builtin_altivec_abs*.
5960         (bdesc_abs): New.
5961
5962         * config/rs6000/rs6000.h (rs6000_builtins): Add
5963         ALTIVEC_BUILTIN_ABS*.
5964
5965         * config/rs6000/altivec.h: Use const char for builtins expecting
5966         literals.
5967         (vec_abs): New versions for C and C++.
5968         (vec_abss): Same.
5969
5970 2002-02-10  Kazu Hirata  <kazu@hxi.com>
5971
5972         * config/h8300/h8300.h (INITIALIZE_TRAMPOLINE): Simplify by
5973         using Pmode.
5974
5975 2002-02-10  Kazu Hirata  <kazu@hxi.com>
5976
5977         * config/h8300/h8300.h (STACK_POINTER_REGNUM): Use the
5978         constant definition from h8300.md.
5979         (FRAME_POINTER_REGNUM): Likewise.
5980         * config/h8300/h8300.md (define_constants): Add FP_REG.
5981
5982 2002-02-10  Kazu Hirata  <kazu@hxi.com>
5983
5984         * config/h8300/h8300.c (print_operand): Remove redundant code.
5985
5986 2002-02-10  Kazu Hirata  <kazu@hxi.com>
5987
5988         * config/h8300/h8300-protos.h: Remove the prototype for byte_reg.
5989         * config/h8300/h8300.c (byte_reg): Make it static.
5990
5991 2002-02-10  Richard Henderson  <rth@redhat.com>
5992
5993         PR c/5623
5994         * c-typeck.c (incomplete_type_error): Handle flexible array members.
5995
5996 2002-02-10  Richard Henderson  <rth@redhat.com>
5997
5998         PR c++/5624
5999         * tree.c (append_random_chars): Don't abort if main_input_filename
6000         does not exist.
6001
6002 2002-02-10  Hans-Peter Nilsson  <hp@bitrange.com>
6003
6004         * config/mmix/t-mmix (MULTILIB_EXTRA_OPTS): Disable.
6005
6006 2002-02-10  Kazu Hirata  <kazu@hxi.com>
6007
6008         * config/h8300/h8300.md (pushhi1_h8300): Correct the mode used.
6009         (pushhi1): Likewise.
6010
6011 2002-02-10  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6012
6013         * pa.c (reg_before_reload_operand): Don't accept a SUBREG operand.
6014         * pa.h (PREDICATE_CODES): Adjust codes for reg_before_reload_operand.
6015
6016 2002-02-09  David O'Brien  <obrien@FreeBSD.org>
6017
6018         * config/sparc/freebsd.h(TARGET_DEFAULT): Add MASK_EPILOGUE setting and
6019         remove MASK_VIS.
6020         (ASM_CPU_DEFAULT_SPEC): Remove.  Default setting is fine.
6021
6022 2002-02-09  Kazu Hirata  <kazu@hxi.com>
6023
6024         * config/h8300/h8300.c (output_logical_op): Use sub.w to clear
6025         a half of an SImode register on H8/300.
6026
6027 Sat Feb  9 18:28:02 CET 2002  Jan Hubicka  <jh@suse.cz>
6028
6029         * i386.md (movdi_2): Add missing '!'.
6030
6031 2002-02-09  Kazu Hirata  <kazu@hxi.com>
6032
6033         * config/h8300/h8300.h: Fix formatting.  Remove commented-out
6034         definitions.
6035
6036 2002-02-09  Kazu Hirata  <kazu@hxi.com>
6037
6038         * config/h8300/h8300.md (length): Correct the distance valid
6039         for the short branch.
6040
6041 2002-02-09  Kazu Hirata  <kazu@hxi.com>
6042
6043         * config/h8300/h8300.md (iorhi3): Tighten the predicates.
6044
6045 2002-02-09  Alexandre Oliva  <aoliva@redhat.com>
6046
6047         * config/sh/sh.h (REGISTER_NATURAL_MODE): Save part-clobbered
6048         registers in SImode.
6049         (HARD_REGNO_CALL_PART_CLOBBERED) [TARGET_SHMEDIA32]: Set r18 as
6050         part-clobbered.
6051
6052         * config/sh/sh.c (expand_prologue): Fix mis-applied 2001-11-09's
6053         patch.
6054
6055         Contribute sh64-elf.
6056         2002-02-09  Alexandre Oliva  <aoliva@redhat.com>
6057         * config/sh/sh.c (TARGET_CANNOT_MODIFY_JUMPS_P): Define to...
6058         (sh_cannot_modify_jumps_p): New function.
6059         2002-02-05  Alexandre Oliva  <aoliva@redhat.com>
6060         * config/sh/sh.c (TARGET_MS_BITFIELD_LAYOUT_P): Define to...
6061         (sh_ms_bitfield_layout_p): New function.
6062         2002-02-04  Alexandre Oliva  <aoliva@redhat.com>
6063                     Zack Weinberg  <zack@codesourcery.com>
6064         * config/sh/sh.h (TRAMPOLINE_ADJUST_ADDRESS): Use
6065         expand_simple_binop instead of expand_binop.
6066         2002-02-03  Alexandre Oliva  <aoliva@redhat.com>
6067         * config/sh/sh.h (OVERRIDE_OPTIONS) [! TARGET_SH5]: Disable
6068         use of .quad and .uaquad.
6069         * config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP,
6070         TARGET_ASM_ALIGNED_DI_OP): Add comment pointing to the above.
6071         2002-01-24  Alexandre Oliva  <aoliva@redhat.com>
6072         * config/sh/sh.md (movdi_const, movdi_const_32bit,
6073         movdi_const_16bit): Make sure all CONSTs have modes.
6074         (sym2PIC): Ditto, but by adjusting all callers.
6075         * config/sh/sh.c (calc_live_regs) [TARGET_SHCOMPACT]: Set pr_live
6076         if the prologue calls the SHmedia argument decoder or register
6077         saver.
6078         2002-01-24  Alexandre Oliva  <aoliva@redhat.com>
6079         * config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP): Define.
6080         (TARGET_ASM_ALIGNED_DI_OP): Likewise.
6081         (sh_expand_epilogue): Don't emit USE of return target register.
6082         (prepare_move_operands): Legitimize DImode PIC addresses.
6083         (sh_media_register_for_return): Skip tr0, used to initialize the
6084         PIC register.
6085         (sh_expand_prologue): Remove explicit USE of return register.
6086         (nonpic_symbol_mentioned_p): PC is non-PIC.  Don't recurse in
6087         CONST_DOUBLEs.  UNSPEC_GOTPLT is PIC.
6088         * config/sh/sh.h (ASM_OUTPUT_DOUBLE_INT): Removed, obsolete.
6089         (OVERRIDE_OPTIONS): Don't disable PIC on SH5.
6090         (EXTRA_CONSTRAINT_S): Use MOVI_SHORI_BASE_OPERAND_P instead of
6091         EXTRA_CONSTRAINT_T.
6092         (GOT_ENTRY_P, GOTPLT_ENTRY_P, GOTOFF_P, PIC_ADDR_P): New.
6093         (MOVI_SHORI_BASE_OPERAND_P): New.
6094         (NON_PIC_REFERENCE_P, PIC_REFERENCE_P): New.
6095         (EXTRA_CONSTRAINT_T): Define in terms of them.
6096         (OUTPUT_ADDR_CONST_EXTRA): Handle UNSPEC_GOTPLT.
6097         * config/sh/sh.md (movsi_media, movsi_media_nofpu,
6098         movdi_media, movdi_media_nofpu): Add SIBCALL_REGS class to
6099         alternatives supporting TARGET_REGS.
6100         (UNSPEC_GOTPLT): New constant.
6101         (movdi split): Move incrementing of LABEL_NUSES...
6102         (movdi_const, movdi_const_32bit): Here.  Use
6103         MOVI_SHORI_BASE_OPERAND_P instead of EXTRA_CONSTRAINT_T.
6104         (movdi_const_16bit): New.
6105         (call, call_value) [flag_pic]: Use GOTPLT.
6106         (call_pop, call_value_pop): New expands.
6107         (call_pop_compact, call_pop_rettramp): New insns.
6108         (call_value_pop_compact, call_value_pop_rettramp): New insns.
6109         (sibcall) [flag_pic]: Use GOT.
6110         (builtint_setjmp_receiver): Remove bogus, unused expand.
6111         (GOTaddr2picreg): Implement for SHcompact and SHmedia.
6112         (*pt, *ptb, ptrel): New insns.
6113         (sym2GOT): Handle DImode GOT.
6114         (sym2GOTPLT, symGOTPLT2reg): New expands.
6115         (sym2PIC): New expand.
6116         (shcompact_return_tramp): Use GOTPLT to return trampoline.
6117         (shcompact_return_tramp_i): Use return register explicitly.
6118         * config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SHMEDIA]: Don't
6119         disable flag_reorder_blocks.
6120         2002-01-19  Alexandre Oliva  <aoliva@redhat.com>
6121         * config/sh/sh.md (sibcall_compact): Reorder return, uses and
6122         clobbers, for clarity.
6123         (sibcall_epilogue) [TARGET_SHCOMPACT]: Mark saving and
6124         restoring of r0 in macl as MAYBE_DEAD.
6125         2002-01-18  Alexandre Oliva  <aoliva@redhat.com>
6126         * config/sh/sh.h (LONG_DOUBLE_TYPE_SIZE): Define.
6127         * config/sh/sh.md (movv4sf_i, movv16sf_i): Fix uses of
6128         alter_subreg all over.
6129         (jump) [TARGET_SHMEDIA]: FAIL to create new jumps after
6130         reload, instead of emitting instructions that would require
6131         reloading.
6132         (casesi_load_media): Add missing modes.
6133         2001-11-09  Alexandre Oliva  <aoliva@redhat.com>
6134         * config/sh/sh.c (sh_expand_prologue): Mark the PIC register
6135         as used if the argument decoder is called.
6136         2001-08-28  Alexandre Oliva  <aoliva@redhat.com>
6137         * config/sh/sh.md (udivsi3, divsi3): Load libcall symbol name in
6138         Pmode, then extend it to DImode if necessary.
6139         2001-08-28  Stephen Clarke  <Stephen.Clarke@st.com>
6140         * config/sh/sh.h (LEGITIMATE_CONSTANT_P): Don't accept DFmode
6141         constants in FPU-enabled SHmedia, let them be loaded from memory.
6142         2001-08-28  Alexandre Oliva  <aoliva@redhat.com>
6143         * config/sh/sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media):
6144         Adjust whitespace in assembly output templates.
6145         2001-08-28  Stephen Clarke  <Stephen.Clarke@st.com>
6146         * config/sh/sh.md (movdicc_false, movdicc_true, movdicc): Adjust
6147         mode of if_then_else.
6148         2001-08-04  Alexandre Oliva  <aoliva@redhat.com>
6149         * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): Override definition in
6150         sh.h.
6151         2001-07-26  Andrew Haley  <aph@cambridge.redhat.com>
6152                     Joern Rennecke <amylaar@redhat.com>
6153         * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): New.
6154         (SUBTARGET_CPP_PTR_SPEC): New.
6155         (SUBTARGET_CPP_SPEC): Remove.
6156         2001-07-06  Chandrakala Chavva  <cchavva@redhat.com>
6157         * config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1):
6158         Fix typo in previous checkin.
6159         2001-07-11  Chandrakala Chavva  <cchavva@redhat.com>
6160         * config/sh/sh.h (MODES_TIEABLE_P): Fix redact indentations.
6161         2001-07-10  Chandrakala Chavva  <cchavva@cygnus.com>
6162                     Alexandre Oliva  <aoliva@redhat.com>
6163         * config/sh/sh.h (MODES_TIEABLE_P): Don't tie modes wider than
6164         what single FP register can hold for SHmedia target.
6165         2001-07-06  Chandrakala Chavva  <cchavva@redhat.com>
6166                     Alexandre Oliva  <aoliva@redhat.com>
6167         * config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1):
6168         Do not split into SUBREG.
6169         2001-06-14  Alexandre Oliva  <aoliva@redhat.com>
6170         * config/sh/ushmedia.h, config/sh/sshmedia.h: Updated signatures
6171         and added new functions as specified in SH5 ABI r9.
6172         2001-06-04  Alexandre Oliva  <aoliva@redhat.com>
6173         * config/sh/lib1funcs.asm (GCC_nested_trampoline): Align to an
6174         8-byte boundary.
6175         2001-06-03  Alexandre Oliva  <aoliva@redhat.com>
6176         * config/sh/sh.c (dump_table): Add const0_rtx in calls of
6177         gen_consttable_4 and gen_consttable_8.  Emit multiple labels
6178         and consttable_window_ends.
6179         2001-06-03  Graham Stott  <grahams@redhat,com>
6180         * config/sh/sh.md (movdi split): Remove unused variable last_insn.
6181         2001-05-16  Alexandre Oliva  <aoliva@redhat.com>
6182         * config/sh/sh.c (print_operand): Handle floating-point pair,
6183         vector and matrix registers.
6184         * config/sh/sh.h (REGISTER_MOVE_COST): Take floating-pointer
6185         vector modes into account.
6186         * config/sh/sh.md (movv2sf): Split move between registers into
6187         movdf.
6188         (movv4sf, movv16sf): Introduce insns that get split only after
6189         reload.
6190         * config/sh/shmedia.h: Fix Copyright dates.
6191         * config/sh/ushmedia.h: Likewise.  Move loop counter
6192         declarations into conditionals that uses them.
6193         (sh_media_FVADD_S, sh_media_FVSUB_S): Fix off-by-one error in
6194         loop boundary.
6195         * config/sh/sshmedia.h: Fix Copyright dates.
6196         (sh_media_PUTCFG): Fix constraints.
6197         2001-05-12  Alexandre Oliva  <aoliva@redhat.com>
6198         * config/sh/sh.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define to
6199         ptrmemfunc_vbit_in_delta for SH5.
6200         2001-05-08  Alexandre Oliva  <aoliva@redhat.com>
6201         * config/sh/sh.h (TARGET_SWITCHES): Document -m5-*.
6202         * invoke.texi: Likewise.
6203         2001-04-14  Alexandre Oliva  <aoliva@redhat.com>
6204         * config/sh/lib1funcs.asm (GCC_push_shmedia_regs,
6205         GCC_push_shmedia_regs_nofpu, GCC_pop_shmedia_regs,
6206         GCC_pop_shmedia_regs_nofpu): New global symbols.
6207         * config/sh/t-sh64 (LIB1ASMFUNCS): Add them.
6208         * config/sh/sh.h (SHMEDIA_REGS_STACK_ADJUST): New macro.
6209         * config/sh/sh.c (calc_live_regs): Account for PR's saving in
6210         compact function with nonlocal labels.
6211         (sh_expand_prologue) [SHcompact]: Push SHmedia regs if needed.
6212         (sh_expand_epilogue) [SHcompact]: Pop them when appropriate.
6213         (initial_elimination_offset): Account for their stack space.
6214         * config/sh/sh.md (shmedia_save_restore_regs_compact): New insn.
6215         * config/sh/sh.md (movsi_media, movsi_media_nofpu, movqi_media,
6216         movhi_media, movdi_media, movdi_media_nofpu, movdf_media,
6217         movdf_media_nofpu, movsf_media, movsf_media_nofpu): Require at
6218         least one of the operands to be a register.
6219         (movv2sf): Likewise.  Renamed to movv2sf_i.
6220         (movdi, movdf, movv2sf, movv4sf, movv16sf, movsf):
6221         prepare_move_operands() before emitting SHmedia insns.
6222         2001-04-03  Alexandre Oliva  <aoliva@redhat.com>
6223         * config/sh/crti.asm (init, fini) [__SH5__ && ! __SHMEDIA__]:
6224         Don't save nor initialize r12.  Don't mis-align the stack.
6225         Pad the code with a nop.
6226         * config/sh/crti.asm: Don't restore r12.  Don't mis-align the
6227         stack.
6228         2001-03-13  Alexandre Oliva  <aoliva@redhat.com>
6229         * gcc/longlong.h (__umulsidi3, count_leading_zeros)
6230         [__SHMEDIA__]: Implement.
6231         2001-03-11  Alexandre Oliva  <aoliva@redhat.com>
6232         * config/sh/sh.md: Set latency of `pt' closer to reality.
6233         (movsi_media, movsi_media_nofpu, movdi_media, movdi_media_nofpu,
6234         movdf_media, movdf_media_nofpu, movsf_media, movsf_media_nofpu):
6235         Set move, load and store type attributes.
6236         * config/sh/sh.c (sh_loop_align) [TARGET_SH5]: Set to 3.
6237         * config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SH5]: Disable
6238         profiling.
6239         * config/sh/sh.h (PROMOTE_MODE): Sign-extend SImode to DImode.
6240         * config/sh/sh-protos.h (sh_media_register_for_return): Declare.
6241         * config/sh/sh.c (sh_media_register_for_return): New function.
6242         (sh_expand_prologue) [TARGET_SHMEDIA]: Copy r18 to an available
6243         branch-target register.
6244         (sh_expand_epilogue) [TARGET_SHMEDIA]: Explicitly USE it.
6245         * config/sh/sh.md (return_media_i): Use any call-clobbered
6246         branch-target register.
6247         (return_media): If r18 wasn't copied in the prologue, copy it
6248         here.
6249         * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE) [TARGET_SHMEDIA]:
6250         Clear class FP0_REGS.
6251         * config/sh/sh64.h (LINK_SPEC): Removed incorrect default copied
6252         from elf.h.
6253         2001-03-08  DJ Delorie  <dj@redhat.com>
6254         * config/sh/sh.h (OVERRIDE_OPTIONS): Disable relaxing for SHMEDIA.
6255         2001-02-09  Alexandre Oliva  <aoliva@redhat.com>
6256         * config/sh/sh.md (sibcall_compact): Set fp_mode to single.
6257         2001-02-07  Alexandre Oliva  <aoliva@redhat.com>
6258         * config/sh/sh.h (INT_ASM_OP) [SHMEDIA64]: Use `.quad'.
6259         2001-02-03  Alexandre Oliva  <aoliva@redhat.com>
6260         * config/sh/sh.h (INIT_CUMULATIVE_ARGS): Compute size of BLKmode
6261         return value correctly for call_cookie.
6262         2001-02-01  Alexandre Oliva  <aoliva@redhat.com>
6263         * config/sh/crt1.asm (start): Modified so as to call
6264         ___setup_argv_and_call_main.
6265         2001-01-26  Alexandre Oliva  <aoliva@redhat.com>
6266         * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't count stack_regs in
6267         SHmedia mode.
6268         2001-01-20  Alexandre Oliva  <aoliva@redhat.com>
6269         * config/sh/sh.h (STRIP_DATALABEL_ENCODING): New macro.
6270         (STRIP_NAME_ENCODING): Use it.
6271         (ASM_OUTPUT_LABELREF): Likewise.  Don't call assemble_name().
6272         2001-01-19  Alexandre Oliva  <aoliva@redhat.com>
6273         * config/sh/sh.md (sgeu) [! SHMEDIA]: Fix invocation of
6274         prepare_scc_operands().
6275         * config/sh/sh.h (SH_DATALABEL_ENCODING): Change to "#"...
6276         (DATALABEL_SYMNAME_P): ... so that we don't need memcmp here.
6277         2001-01-17  Alexandre Oliva  <aoliva@redhat.com>
6278         * config/sh/sh.h (STRIP_NAME_ENCODING): Strip leading `*'.
6279         2001-01-13  Alexandre Oliva  <aoliva@redhat.com>
6280         * config/sh/sh.md (shcompact_incoming_args): Use R0_REG.
6281         * config/sh/sh.md (R7_REG, R8_REG, R9_REG): Define as constants,
6282         used in shcompact_incoming_args.
6283         * config/sh/sh.c (sh_expand_epilogue): Fix thinko in previous
6284         change.
6285         * config/sh/crt1.asm (start) [SH5]: Switch to single-precision
6286         mode.
6287         * config/sh/lib1funcs.asm (sdivsi3_i4, udivsi3_i4, set_fpscr):
6288         Adjust accordingly.
6289         * config/sh/sh.c (sh_expand_prologue, sh_expand_epilogue):
6290         Simplify.  Adjust.  Add sanity check.
6291         * config/sh/sh.h (TARGET_SWITCHES) [5-compact]: Set
6292         FPU_SINGLE_BIT.
6293         * config/sh/sh.md (udivsi3_i4_single, divsi3_i4_single): Match
6294         TARGET_SHCOMPACT.
6295         (udivsi3, divsi3): Use them.
6296         (force_mode_for_call): New insn.
6297         (call, call_value, sibcall_value): Emit it before SHcompact
6298         calls.
6299         2001-01-11  Alexandre Oliva  <aoliva@redhat.com>
6300         * config/sh/sh.md (call, call_value, sibcall): Make sure the
6301         call cookie is non-NULL before taking its value.
6302         2001-01-10  Alexandre Oliva  <aoliva@redhat.com>
6303         * config.gcc (sh64): Set target_requires_64bit_host_wide_int.
6304         2001-01-09  Alexandre Oliva  <aoliva@redhat.com>
6305         * config/sh/sh.md (shcompact_incoming_args): Set argument memory
6306         block.
6307         * config/sh/sh.h (STATIC_CHAIN_REGNUM) [SH5]: Use r1.
6308         * config/sh/sh.c (sh_expand_prologue) [SH5]: Use r0 as
6309         temporary for stack adjusts.  Use MACL and MACH to pass
6310         arguments to shcompact_incoming_args.
6311         * config/sh/sh.md (shcompact_incoming_args): Adjust.  Don't
6312         clobber r1.
6313         * config/sh/lib1funcs.asm (shcompact_incoming_args): Likewise.
6314         (nested_trampoline): Load static chain address into r1.
6315         * config/sh/sh.md (movdi_media splits): Fix sign-extension.
6316         2001-01-07  Alexandre Oliva  <aoliva@redhat.com
6317         * config/sh/sh.c (fpul_operand) [SHMEDIA]: Just call
6318         fp_arith_reg_operand().
6319         2001-01-06  Alexandre Oliva  <aoliva@redhat.com>
6320         * config/sh/sh.md (casesi): Sign-extend the first two operands,
6321         and use signed compares for them.
6322         * config/sh/sh.c (dump_table): Don't emit 8-byte constants after
6323         4-byte ones.  Instead, inter-leave them, maintaining the 8-byte
6324         ones properly aligned.
6325         (find_barrier): Account for extra alignment needed for 8-byte wide
6326         constants.
6327         (machine_dependent_reorg): Require a label for the second 4-byte
6328         constant after an 8-byte one.
6329         * config/sh/lib1funcs.asm (sdivsi3): Fix typo in yesterday's
6330         change.
6331         2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
6332         * config/sh/sh.c (machine_dependent_reorg) [SHCOMPACT]: Reset
6333         last_float when switching float modes.
6334         * config/sh/sh.md (movdf) [SH5]: Don't use stack-pointer
6335         auto-increment for general-purpose registers.
6336         * config/sh/lib1funcs.asm (sdivsi3) [SHMEDIA]: Sign-extend the
6337         result.
6338         * config/sh/sh.c (sh_expand_prologue) [SH5]: Use r1 as temporary
6339         for stack adjust.
6340         * config/sh/sh.c (sh_builtin_saveregs): Support using all
6341         registers for varargs.
6342         2001-01-01  Alexandre Oliva  <aoliva@redhat.com>
6343         * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Simplify.
6344         * config/sh/sh.h (CALL_COOKIE_STACKSEQ,
6345         CALL_COOKIE_STACKSEQ_SHIFT, CALL_COOKIE_STACKSEQ_GET): New macros.
6346         (CALL_COOKIE_INT_REG_SHIFT): Adjust.
6347         (FUNCTION_ARG_ADVANCE): Use SHCOMPACT_FORCE_ON_STACK.  Adjust
6348         call_cookie accordingly.
6349         (FUNCTION_ARG): Test SHCOMPACT_FORCE_ON_STACK.
6350         (SHCOMPACT_BYREF): Likewise.
6351         (SHCOMPACT_FORCE_ON_STACK): New macro.
6352         * config/sh/sh.c (sh_expand_prologue): Use new call_cookie format.
6353         (sh_builtin_saveregs): Likewise.
6354         * config/sh/lib1funcs.asm (shcompact_call_trampoline,
6355         shcompact_incoming_args): Use new shift values.  Support
6356         sequences of consecutive and non-consecutive pushes/pops.
6357         * config/sh/sh.md (return): Don't explicitly use PR_REG.
6358         2001-01-05  Hans-Peter Nilsson  <hpn@cygnus.com>
6359         * config/sh/sh.h (TEXT_SECTION): Define.
6360         * config/sh/elf.h (ASM_FILE_START): Output TEXT_SECTION_ASM_OP.
6361         2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
6362         * config/sh/sh.h (INIT_CUMULATIVE_LIBCALL_ARGS): New macro.
6363         * config/sh/sh.h (BASE_RETURN_VALUE_REG): Use FP regs for
6364         return values on FPU-enabled SHmedia.
6365         (FUNCTION_VALUE_REGNO_P): Mark FIRST_FP_RET_REG as used on
6366         FPU-enabled SHmedia.
6367         (INIT_CUMULATIVE_ARGS): Set up return trampoline only if
6368         value is returned in a non-FP reg and is not returned by
6369         reference.
6370         * config/sh/sh.md (shcompact_return_tramp_i): Change type to
6371         jump_ind.
6372         2000-01-04  Alexandre Oliva  <aoliva@redhat.com>
6373         * config/sh/sh.h (SH_MIN_ALIGN_FOR_CALLEE_COPY): New.
6374         (FUNCTION_ARG_CALLEE_COPIES): Require argument to be
6375         quad-aligned to be passed by callee-copy reference.
6376         2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
6377         * config/sh/elf.h (MAX_WCHAR_TYPE_SIZE): Define.
6378         * config/sh/sh64.h (MAX_WCHAR_TYPE_SIZE): Undefine.
6379         2001-01-02  Alexandre Oliva  <aoliva@redhat.com>
6380         * config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix error in
6381         copying low-numbered FP regs to r7 and r8.
6382         * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't request copying of
6383         FP regs to general-purpose regs only if the copy was passed on the
6384         stack.
6385         * config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix typo in
6386         copying FP reg to r9.
6387         * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Use trampoline to
6388         copy FP regs to general-purpose regs only in outgoing calls.
6389         * config/sh/sh.md (movdf_media, movsf_media): Revert incorrect
6390         change from     2000-10-30.  Adjust for 64-bit (or 32-bit)
6391         HOST_WIDE_INT.
6392         * config/sh/sh.h (struct sh_args): Document all fields.
6393         (FUNCTION_OK_FOR_SIBCALL): Functions that receive arguments
6394         passed partially on the stack should not consider making
6395         sibcalls.
6396         * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Add byref regs to
6397         stack_regs only for incoming calls.  When passing FP args,
6398         make sure there are FP regs available before modifying
6399         call_cookie.
6400         (SHCOMPACT_BYREF): Pass double args in general-purpose
6401         registers by reference.
6402         2000-12-30  Alexandre Oliva  <aoliva@redhat.com>
6403         * config/sh/sh.h (FUNCTION_OK_FOR_SIBCALL) [SHCOMPACT]: Don't
6404         attempt to generate sibcalls if the caller got any arguments
6405         by reference.
6406         * config/sh/lib1funcs.asm (set_fpscr) [SH5]: Default to double.
6407         * config/sh/sh.c (dump_table) [SHCOMPACT]: Align DImode and DFmode
6408         to 8-byte boundaries.
6409         * config/sh/sh.md (shcompact_preserve_incoming_args): New insn.
6410         * config/sh/sh.h (CALL_COOKIE_INT_REG_GET): New macro.
6411         * config/sh/sh.c (sh_expand_prologue): Preserve args that will be
6412         stored in the stack.
6413         * config/sh/lib1funcs.asm (ct_main_table, ia_main_table): Arrange
6414         for the offsets to have the ISA bit set.
6415         (shcompact_call_trampoline): Document.  Swap r0 and r1, to match
6416         invocation.  Use beq instead of bgt to mark end of sequence of
6417         loads.
6418         (shcompact_incoming_args): Fix store of r2.  Use beq instead of
6419         bgt to mark end of sequence of stores.
6420         * config/sh/sh.c (arith_operand): Don't check whether
6421         CONST_OK_FOR_J for now.
6422         * config/sh/sh.md (movdf_media, movsf_media): Use HOST_WIDE_INT
6423         instead of long for conversion.
6424         2000-12-29  Alexandre Oliva  <aoliva@redhat.com>
6425         * config/sh/sh.c (print_operand_address): Convert INTVAL to int
6426         before passing it to fprintf.
6427         2000-12-28  Alexandre Oliva  <aoliva@redhat.com>
6428         * config/sh/crt1.asm (start): Reset SR.FD, to enable the FP unit.
6429         Call set_fpscr before reading/writing SR.
6430         * config/sh/crt1.asm (start): Set SR.SZ and SR.PR, but not SR.FR.
6431         Call set_fpscr.
6432         * config/sh/lib1funcs.asm: Add `.align 2' directives before
6433         SHmedia code.
6434         (FMOVD_WORKS): Define on SH5 with FPU.
6435         (set_fpscr): Define on SH5.  Remove separate _fpscr_values
6436         setting.
6437         * config/sh/t-sh64 (LIB1ASMFUNCS): Add _set_fpscr instead of
6438         _fpscr_values.
6439         2000-12-28  Hans-Peter Nilsson  <hpn@cygnus.com>
6440         * config/sh/lib1funcs.asm (ct_main_table): Align contents to even
6441         address.
6442         (ia_main_table): Ditto.
6443         2000-12-27  Alexandre Oliva  <aoliva@redhat.com>
6444         * config/sh/sh.h (MAX_WCHAR_TYPE_SIZE): Don't define.
6445         * config/sh/sh64.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Reinstate
6446         the definitions from sh.h.
6447         * config/sh/sh.h (PTRDIFF_TYPE): Define as conditional on
6448         TARGET_SH5.
6449         (SUBTARGET_CPP_SPEC): Arrange for __PTRDIFF_TYPE__ to be defined.
6450         * config/sh/elf.h (PTRDIFF_TYPE): Likewise.
6451         * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Likewise.
6452         2000-12-26  Alexandre Oliva  <aoliva@redhat.com>
6453         * config/sh/sh.md (movdi_media split): Don't add REG_LABEL notes.
6454         Increment LABEL_NUSES.
6455
6456         * config/sh/sh.h (SIZE_TYPE): Define as conditional on
6457         TARGET_SH5.
6458         (SUBTARGET_CPP_SPEC): Arrange for __SIZE_TYPE__ to be always
6459         defined.
6460         * config/sh/elf.h (SIZE_TYPE): Likewise.
6461         * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Likewise.
6462         * config/sh/lib1funcs.asm (shcompact_call_trampoline,
6463         shcompact_incoming_args): Load switch table addresses using
6464         datalabel.
6465         * config/sh/sh.h (SUBTARGET_CPP_SPEC): Define __SIZE_TYPE__.
6466         (NO_BUILTIN_SIZE_TYPE): Define.
6467         (SIZE_TYPE): Don't define.
6468         * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Define __SIZE_TYPE__.
6469         * config/sh/sh.h (CPP_SPEC): Fixed typo that prevented the
6470         definition of __SH5__=32 for -m5-compact-nofpu.
6471         * config/sh/sh.c (barrier_align): Ensure 32-bit alignment after
6472         ADDR_DIFF_VEC.
6473         2000-12-24  Alexandre Oliva  <aoliva@redhat.com>
6474         * config/sh/sh.h (FUNCTION_ARG_PADDING): Removed.
6475         2000-12-23  Alexandre Oliva  <aoliva@redhat.com>
6476         * config/sh/sh.h (TARGET_CACHE32): Enable on SH5.
6477         (FUNCTION_BOUNDARY): Ensure 32-bit alignment for SHmedia.
6478         (INSN_LENGTH_ALIGNMENT): Likewise.
6479         2000-12-22  Alexandre Oliva  <aoliva@redhat.com>
6480         * config/sh/sh.md (call, call_value, sibcall): Simplify
6481         copying of non-branch-target register.
6482         2000-12-22  Alexandre Oliva  <aoliva@redhat.com>
6483         * glimits.h (__LONG_MAX__): Revert      2000-12-13's patch.
6484         * config/sh/sh.h (CPP_SPEC): Define it here for 64-bit SHmedia.
6485         2000-12-22  Alexandre Oliva  <aoliva@redhat.com>
6486         * config/sh/sh.h (GET_SH_ARG_CLASS): Handle complex
6487         floating-point values as structs.
6488         (FUNCTION_ARG): Use SH5_PROTOTYPED_FLOAT_ARG.
6489         (SH5_PROTOTYPELESS_FLOAT_ARG): List FP registers before
6490         general-purpose register.
6491         (SH5_PROTOTYPED_FLOAT_ARG): New macro.
6492         2000-12-20  Alexandre Oliva  <aoliva@redhat.com>
6493         * config/sh/sh.md (addsi3): Force operand1 to reg for SHmedia.
6494         * config/sh/sh.md (movsi_media): Split CONST_DOUBLE loads too.
6495         * config/sh/sh.h (DATALABEL_REF_P): Don't require the CONST.
6496         (ENCODE_SECTION_INFO): Enclose variables and constants in
6497         DATALABEL unspecs.
6498         (SH_DATALABEL_ENCODING, DATALABEL_SYMNAME_P): Define.
6499         (STRIP_NAME_ENCODING): Strip SH_DATALABEL_ENCODING off.
6500         (ASM_OUTPUT_LABELREF, AMS_OUTPUT_SYMBOL_REF): Define.
6501         * config/sh/sh.c (gen_datalabel_ref): Use UNSPEC_DATALABEL
6502         only for LABEL_REFs.  For SYMBOL_REFs, prepend
6503         SH_DATALABEL_ENCODING to the symbol name.
6504         * config/sh/sh.md (indirect_jump): Use SUBREG instead of
6505         convert_mode().
6506         2000-12-20  Alexandre Oliva  <aoliva@redhat.com>
6507         * config/sh/sh.md (casesi): Enclose ADDR_DIFF_VEC address in
6508         UNSPEC_DATALABEL.
6509         * config/sh/sh.c (gen_datalabel_ref): Accept LABEL_REFs.
6510         * config/sh/sh.h (DATALABEL_REF_NO_CONST_P): Likewise.
6511         (DATALABEL_REF_P): Don't require CONST.
6512         (ASM_OUTPUT_ADDR_DIFF_ELT): On SH5, output datalabel before
6513         REL label.
6514         2000-12-19  Alexandre Oliva  <aoliva@redhat.com>
6515         * config/sh/sh.md (extendhidi2, extendqidi2): Use arithmetic shift
6516         right.
6517         2000-12-18  Alexandre Oliva  <aoliva@redhat.com>
6518         * config/sh/sh.md (movsi_media, call, call_value, sibcall):
6519         Use shallow_copy_rtx and PUT_MODE to change the mode of
6520         SYMBOL_REFs, LABEL_REFs, CONSTs, etc.
6521         * config/sh/sh.h (PREFERRED_RELOAD_CLASS): Reload SYMBOL_REFs
6522         on SHmedia using GENERAL_REGs.
6523         * config/sh/sh.md (ble_media_i, blt_media_i, bleu_media_i,
6524         bltu_media_i): Fix reversion of conditions.
6525         2000-12-18  Alexandre Oliva  <aoliva@redhat.com>
6526         * config/sh/sh.md (zero_extendhidi2): Use logical shift right.
6527         * config/sh/sh.c (output_far_jump): Save r13 in macl.
6528         2000-12-17  Alexandre Oliva  <aoliva@redhat.com>
6529         * config/sh/sh.c (gen_datalabel_ref): Fix mode of the UNSPEC.
6530         2000-12-16  Alexandre Oliva  <aoliva@redhat.com>
6531         * config/sh/lib1funcs.asm (ic_invalidate): Define for SH5.
6532         (GCC_nested_trampoline): Likewise.
6533         * config/sh/sh-protos.h (gen_datalabel_ref): Declare.
6534         * config/sh/sh.c (gen_datalabel_ref): Define.
6535         * config/sh/sh.h (TRAMPOLINE_SIZE): Adjust for SH5.
6536         (INITIALIZE_TRAMPOLINE): Likewise.
6537         (TRAMPOLINE_ADJUST_ADDRESS): Define.
6538         (DATALABEL_REF_NO_CONST_P, DATALABEL_REF_P): Define.
6539         (EXTRA_CONSTRAINT_T): Match DATALABEL unspecs.
6540         (OUTPUT_ADDR_CONST_EXTRA): Handle DATALABEL unspecs.
6541         * config/sh/sh.md (UNSPEC_DATALABEL): New constant.
6542         (ic_invalidate): Adjust for SH5.
6543         (ic_invalidate_line_media, ic_invalidate_line_compact): New insns.
6544         * config/sh/t-sh64 (LIB1ASMFUNCS): Added _ic_invalidate and
6545         _nested_trampoline.
6546         2000-12-15  Alexandre Oliva  <aoliva@redhat.com>
6547         * config/sh/sh.h (MOVE_MAX): Set to 8 for SHmedia, 4 elsewhere.
6548         (MOVE_MAX_PIECES): Set to 8 on SHmedia too.
6549         2000-12-14  Alexandre Oliva  <aoliva@redhat.com>
6550         * config/sh/sh.h (DBX_REGISTER_NUMBER): Adjust for sh64-elf-gdb.
6551         * config/sh/elf.h (DBX_REGISTER_NUMBER): Likewise.
6552         2000-12-14  Alexandre Oliva  <aoliva@redhat.com>
6553         * config/sh/sh.c (target_reg_operand): Match only target-branch
6554         registers and pseudos that aren't virtual registers.
6555         * config/sh/sh.md (call, call_value, sibcall) [TARGET_SHMEDIA]:
6556         Copy operands that don't match target_reg_operand to pseudos.
6557         (call_media, call_value_media, sibcall_media): Use
6558         target_reg_operand instead of target_operand.
6559         2000-12-13  Alexandre Oliva  <aoliva@redhat.com>
6560         * glimits.h (__LONG_MAX__) [SH5 == 64]: Adjust for 64 bits.
6561         * config/sh/sh.c (target_reg_operand): Match hardware registers
6562         other than branch-target registers.
6563         * config/sh/sh.md (zero_extendqidi2): Input operand is %1.
6564         * config/sh/lib1funcs.asm (sdivsi3) [SH5]: Make it global.
6565         (fpscr_values) [SH5 == 32]: Define.
6566         * config/sh/t-sh64 (LIB1ASMFUNCS): Add fpscr_values.
6567         * config/sh/sh.md (call, call_value, sibcall) [TARGET_SHMEDIA]:
6568         Handle function addresses coming in SUBREGs.
6569         2000-12-12  Alexandre Oliva  <aoliva@redhat.com>
6570         * config/sh/lib1funcs.asm (shcompact_call_trampoline,
6571         shcompact_return_trampoline): Use datalabel where appropriate.
6572         2000-12-09  Alexandre Oliva  <aoliva@redhat.com>
6573         * config/sh/sh.h (SECONDARY_OUTPUT_RELOAD_CLASS): Use a
6574         general-purpose register to copy one branch-target register to
6575         another.
6576         2000-12-06  Alexandre Oliva  <aoliva@redhat.com>
6577         * config/sh/sh.c (target_operand): Accept LABEL_REFs and
6578         SYMBOL_REFs with VOIDmode.
6579         * config/sh/sh.md (ble_media_i, blt_media_i, bleu_media_i,
6580         bltu_media_i): New insns.
6581         2000-12-06  Alexandre Oliva  <aoliva@redhat.com>
6582         * config/sh/sh.h (RETURN_IN_MEMORY): Adjust for SH5 ABI.
6583         (INIT_CUMULATIVE_ARGS): Likewise.
6584         2000-12-01  Alexandre Oliva  <aoliva@redhat.com>
6585         * machmode.def (V16SFmode): New mode.
6586         * c-common.c (type_for_mode): Support V2SF and V16SF.
6587         * tree.c (build_common_tree_nodes_2): Likewise.
6588         * tree.h (tree_index): Likewise.
6589         * calls.c (emit_call_1): Take args_so_far.  Adjust all
6590         callers.  Introduce CALL_POPS_ARGS.
6591         * tm.texi (CALL_POPS_ARGS): Document.
6592         * config/sh/crt1.asm: Implement in SHmedia mode.
6593         * config/sh/crti.asm, config/sh/crtn.asm: Likewise
6594         * config/sh/elf.h (ASM_SPEC, LINK_SPEC): Support SH5 flags.
6595         (DBX_REGISTER_NUMBER): Renumber registers for SH5.
6596         * config/sh/lib1funcs.asm: Disable functions unused in SH5.
6597         Implement divsi and udivsi in SHmedia mode.  Introduce
6598         SHcompact trampolines.
6599         * config/sh/sh.c (GEN_MOV, GEN_ADD3, GEN_SUB3): Use DImode
6600         only in SHmedia64.
6601         (regno_reg_class): Rewrite.
6602         (fp_reg_names): Remove.
6603         (sh_register_names, sh_additional_register_names): New.
6604         (print_operand): Added `u'.  Support SUBREGs in addresses.
6605         Add parentheses around shifted CONSTs.
6606         (output_file_start): Output .mode and .abi directives.
6607         (shiftcosts, addsubcosts, multcosts): Adjust.
6608         (output_stack_adjust): Compute alignment.  Sanity-check SIZE.
6609         (push_regs): Take array of HOST_WIDE_INTs.  Adjust callers.
6610         (calc_live_regs): Output to array of HOST_WIDE_INTs.  Count
6611         bytes, not registers.  Take into account the need for the
6612         SHcompact incoming args trampoline.  Adjust all callers.
6613         (sh_expand_prologue): Take stack_regs into account.  Call
6614         incoming args trampoline.  Keep stack aligned as per SH5 ABI.
6615         (sh_expand_epilogue): Take stack_regs into accoutn.  Keep
6616         stack aligned as per SH5 ABI.
6617         (sh_builtin_saveregs): Support SH5 ABI.
6618         (sh_build_va_list, sh_va_start): Likewise.
6619         (initial_elimination_offset): Take alignment into account.
6620         Compute location of PR according to the SH5 stack frame.
6621         (arith_reg_operand): Reject branch-target registers.
6622         (shmedia_6bit_operand): New.
6623         (logical_operand): Use CONST_OK_FOR_P on SHmedia.
6624         (target_reg_operand): Match DImode only.  Accept SUBREGs.
6625         (target_operand): New.
6626         * config/sh/sh.h (CPP_SPEC, SUBTARGET_CPP_SPEC): Support SH5 flags.
6627         (CONDITIONAL_REGISTER_USAGE): Implement SH5 ABI.  Initialize
6628         SIBCALL_REGS for SHmedia.
6629         (TARGET_SH3E, TARGET_SH4): Only if SH1_BIT is set too.
6630         (TARGET_FPU_DOUBLE, TARGET_FPU_ANY): New.
6631         (TARGET_SHMEDIA32, TARGET_SHMEDIA64): New.
6632         (TARGET_SWITCHES): New SH5 flags.
6633         (OVERRIDE_OPTIONS): Set SH5-specific options.  Use
6634         VALID_REGISTER_P to disable unsupported registers.
6635         (LONG_TYPE_SIZE, LONG_LONG_TYPE_SIZE): Set.
6636         (POINTER_SIZE, PARM_BOUNDARY): Adjust.
6637         (FUNCTION_ARG_PADDING): Define.
6638         (FASTEST_ALIGNMENT): Adjust.
6639         (SH_REGISTER_NAMES_INITIALIZER): New.
6640         (sh_register_names): Declare.
6641         (DEBUG_REGISTER_NAMES): Define.
6642         (REGISTER_NAMES): Define based on sh_register_names.
6643         (SH_ADDITIONAL_REGISTER_NAMES_INITIALIZER): New.
6644         (sh_additional_register_names): Declare.
6645         (LAST_GENERAL_REG, LAST_FP_REG, LAST_XD_REG): Adjust for SHmedia.
6646         (FIRST_TARGET_REG, LAST_TARGET_REG): Define.
6647         (TARGET_REGISTER_P, SHMEDIA_REGISTER_P, VALID_REGISTER_P): Define.
6648         (REGISTER_NATURAL_MODE): Define.
6649         (FIRST_PSEUDO_REGISTER): Adjust.
6650         (FIXED_REGISTERS, CALL_USED_REGISTERS): Adjust.
6651         (HARD_REGNO_CALL_PART_CLOBBERED): Define.
6652         (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK): Adjust.
6653         (VECTOR_MODE_SUPPORTED_P): Define.
6654         (REG_CLASS_CONTENTS): Adjust.
6655         (SMALL_REGISTER_CLASSES): Adjust.
6656         (REG_ALLOC_ORDER): Adjust.
6657         (INDEX_REG_CLASS): Adjust.
6658         (CONST_OK_FOR_O, CONST_OK_FOR_P): New.
6659         (CONST_OK_FOR_LETTER_P): Adjust.
6660         (PREFERRED_RELOAD_CLASS): Adjust.
6661         (SECONDARY_OUTPUT_RELOAD_CLASS): Adjust.
6662         (SECONDARY_INPUT_RELOAD_CLASS): Adjust.
6663         (NPARM_REGS, FIRST_PARM_REG, FIRST_RET_REG): Adjust.
6664         (FIRST_FP_PARM_REG): Adjust.
6665         (CALL_POPS_ARGS): Define.
6666         (FUNCTION_ARG_REGNO_P): Adjust.
6667         (struct sh_args): New fields.
6668         (GET_SH_ARG_CLASS): Adjust.
6669         (INIT_CUMULATIVE_ARGS): Adjust.
6670         (INIT_CUMULATIVE_INCOMING_ARGS): Define.
6671         (FUNCTION_ARG_ADVANCE): Adjust.
6672         (FUNCTION_ARG): Adjust.
6673         (FUNCTION_ARG_PASS_BY_REFERENCE, SHCOMPACT_BYREF): Define.
6674         (FUNCTION_ARG_CALLEE_COPIES): Define.
6675         (SH5_PROTOTYPELESS_FLOAT_ARG): Define.
6676         (STRICT_ARGUMENT_NAMING): Define.
6677         (PRETEND_OUTGOING_VARARGS_NAMED): Adjust.
6678         (FUNCTION_ARG_PARTIAL_NREGS): Adjust.
6679         (SH5_WOULD_BE_PARTIAL_NREGS): Define.
6680         (SETUP_INCOMING_VARARGS): Adjust.
6681         (HAVE_POST_INCREMENT, HAVE_PRE_DECREMENT): Adjust.
6682         (USE_LOAD_POST_INCREMENT, USE_STORE_PRE_DECREMENT): Adjust.
6683         (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Adjust.
6684         (SUBREG_OK_FOR_INDEX_P): Adjust.
6685         (EXTRA_CONSTRAINT_S): Update.
6686         (EXTRA_CONSTRAINT_T): New.
6687         (EXTRA_CONSTRAINT): Adjust.
6688         (GO_IF_LEGITIMATE_INDEX): Adjust.
6689         (GO_IF_LEGITIMATE_ADDRESS): Adjust.
6690         (LEGITIMIZE_ADDRESS, LEGITIMIZE_RELOAD_ADDRESS): Adjust.
6691         (MOVE_MAX): Adjust.
6692         (MAX_MOVE_MAX): Define.
6693         (Pmode): Adjust.
6694         (CONST_COSTS): Adjust.
6695         (REGISTER_MOVE_COST): Adjust.
6696         (BRANCH_COST): Adjust.
6697         (TEXT_SECTION_ASM_OP): Adjust.
6698         (DBX_REGISTER_NUMBER): Adjust.
6699         (ASM_OUTPUT_DOUBLE_INT): New.
6700         (UNALIGNED_DOUBLE_INT_ASM_OP): New.
6701         (PREDICATE_CODES): Adjust.
6702         (PROMOTE_MODE): Adjust.
6703         (CRT_CALL_STATIC_FUNCTION): Do not define for SHmedia.
6704         * config/sh/sh.md (AP_REG, PR_REG, T_REG, GBR_REG): Renumber.
6705         (MACH_REG, MACL_REG, FPUL_REG, RAP_REG, FPSCR_REG): Renumber.
6706         (PR_MEDIA_REG, T_MEDIA_REG, R10_REG): New.
6707         (DR0_REG, DR2_REG, DR4_REG): Renumber.
6708         (TR0_REG, TR1_REG, TR2_REG): New.
6709         (XD0_REG): Renumber.
6710         (UNSPEC_COMPACT_ARGS): New.
6711         (type): Added pt and ptabs.
6712         (length): Default to 4 on SHmedia.  Default pt length to 12
6713         and     20 on SHmedia32 and SHmedia64, respectively.
6714         (pt): New function unit.
6715         (movdi, movsi): Add types pt and ptabs.  Don't increment LABEL_NUSES.
6716         Add whitespace between operands of SHmedia instructions.
6717         (movdicc): Fix.
6718         (adddi3_media, addsi3_media): Adjust constraints.
6719         (subsi3) [SHmedia]: Force operand 1 into a register.
6720         (udivsi3_i1_media, udivsi3_i4_media): New.
6721         (udivsi3): Support SHmedia.
6722         (divsi3_i1_media, divsi3_i4_media): New.
6723         (divsi3): Support SHmedia.
6724         (anddi3, iordi3, xordi3): Adjust constraints.
6725         (zero_extendhidi2, zero_extendqidi2): New.
6726         (extendsidi2, extendhidi2, extendqidi2): New.
6727         (push, pop, push_e, push_fpul, push_4): Disable on SH5.
6728         (pop_e, pop_fpul, pop_4): Likewise.
6729         (movsi_media): Support FP and BT registers.
6730         (movsi_media_nofpu): New.  Adjust splits to DImode.
6731         (lduw, ldub): Renamed to zero_extend* above.
6732         (movqi_media): Fix typo.
6733         (movdi_media): Support FP and BT registers.
6734         (movdi_media_nofpu): New.  Adjust splits for SHmedia32.
6735         (movdi_const_32bit): New.
6736         (shori_media): Require immediate operand.  Use `u' for output.
6737         (movdf_media, movsf_media): Simplified.
6738         (movdf_media_nofpu, movsf_media_nofpu): New.
6739         (movdf, movsf): Adjust
6740         (movv2sf, movv2sf, movv16sf): New.
6741         (beq_media, beq_media_i): Adjust constraints.  Don't use
6742         scratch BT register.
6743         (bne_media, bne_media_i): Likewise.
6744         (bgt_media, bgt_media_i): Likewise.
6745         (bge_media, bge_media_i): Likewise.
6746         (bgtu_media, bgtu_media_i): Likewise.
6747         (bgeu_media, bgeu_media_i): Likewise.
6748         (beq, bne, bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu,
6749         bunordered): Emit jump insn.  Force operands to registers when
6750         needed.
6751         (jump_media, jump): Simplify.
6752         (call_compact, call_compact_rettramp): New.
6753         (call_value_compact, call_value_compact_rettramp): New.
6754         (call_media, call_value_media): Simplify.
6755         (sibcall_compact, sibcall_media): New.
6756         (call, call_value): Adjust for SHmedia and SHcompact.
6757         (sibcall, sibcall_value, untyped_call): Likewise.
6758         (sibcall_epilogue): Preserve r0 across epilogue for SHcompact.
6759         (indirect_jump): Adjust for SHmedia.
6760         (casesi_jump_media): New.
6761         (nop): Re-enable for SHmedia.
6762         (call_site): Restrict to SH1.
6763         (casesi): Adjust for SHmedia.
6764         (casesi_shift_media, casesi_load_media): New.
6765         (return): Explicitly use PR register.  Call return trampoline
6766         on SHcompact.
6767         (return_i): Explicitly use PR register.
6768         (shcompact_return_tramp, shcompact_return_tramp_i): New.
6769         (return_media): Adjust.
6770         (shcompact_incoming_args): New.
6771         (epilogue): Adjust.
6772         (seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu, sne): Adjust.
6773         (movstrsi): Disable on SH5.
6774         (fpu_switch0, fpu_switch1, movpsi): Enable on SH4.
6775         (addsf3, addsf3_media): Test TARGET_SHMEDIA_FPU.
6776         (subsf3, subsf3_media): Likewise.
6777         (mulsf3, mulsf3_media, mac_media): Likewise.
6778         (divsf3, divsf3_media): Likewise.
6779         (floatdisf2, floatsisf2_media): Likewise.  Adjust constraints.
6780         (floatsisf2, fux_truncsfsi2): Likewise.
6781         (fix_truncsfdi2, fix_truncsfsi2_media): Likewise.  Adjust
6782         constraints.
6783         (cmpeqsf_media, cmpgtsf_media, cmpgesf_media): Likewise.
6784         (cmpunsf_media, cmpsf): Likewise.
6785         (negsf2, negsf2_media, sqrtsf2, sqrtsf2_media): Likewise.
6786         (abssf2, abssf2_media): Likewise.
6787         (adddf3, adddf3_media, subdf3, subdf3_media): Likewise.
6788         (muldf3, muldf3_media, divdf3, divdf3_media): Likewise.
6789         (floatdidf2, floatsidf2_media): Likewise.  Adjust constraints.
6790         (floatsidf2, fix_truncdfsi2): Likewise.
6791         (fix_truncdfdi2, fix_truncdfsi2_media): Likewise.  Adjust
6792         constraints.
6793         (cmpeqdf_media, cmpgtdf_media): Likewise.
6794         (cmpgedf_media, cmpundf_media, cmpdf): Likewise.
6795         (negdf2, negdf2_media, sqrtdf2, sqrtdf2_media): Likewise.
6796         (absdf2, absdf2_media): Likewise.
6797         (extendsfdf2, extendsfdf2_media): Likewise.
6798         (truncsfdf2, truncsfdf2_media): Likewise.
6799         * config/sh/sh64.h: New file.
6800         * config/sh/t-sh64: New file.
6801         * config/sh/shmedia.h: New file.
6802         * config/sh/ushmedia.h: New file.
6803         * config/sh/sshmedia.h: New file.
6804         * configure.in: Added sh64-*-elf.
6805         * configure: Rebuilt.
6806         2000-10-10  Alexandre Oliva  <aoliva@redhat.com>
6807         * config/sh/sh.c (GEN_MOV, GEN_ADD3, GEN_SUB3): New macros.
6808         (reg_class_from_letter): Use `b' for TARGET_REGS.
6809         (print_operand): Support `%M', `%m', `AND' and
6810         `ASHIFTRT'.  Do not precede constants with `#' on SHmedia.
6811         (andcosts): Adjust for SHmedia.
6812         (output_stack_adjust, sh_expand_prologue, sh_expand_epilogue):
6813         Likewise.
6814         (target_reg_operand): New function.
6815         * config/sh/sh-protos.h (target_reg_operand): Declare.
6816         * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Don't disable
6817         FP registers on SH5.
6818         (HARD_REGNO_MODE_OK): Accept them whenever they're acceptable
6819         on SH4.
6820         (TARGET_REGISTER_P): New macro.
6821         (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Added TARGET_REGS.
6822         (FUNCTION_VALUE): Use DImode for promoted types on SHmedia.
6823         (EXTRA_CONSTRAINT_S): New macro.
6824         (EXTRA_CONSTRAINT): Adjust.
6825         (FLOAT_TYPE_SIZE): Define to 32.
6826         (Pmode): DImode on SHmedia.
6827         (CONST_COSTS): Adjust for SHmedia literals.
6828         (PREDICATE_CODES): Added target_reg_operand.
6829         (PROMOTE_MODE): Promote signed types to DImode on SHmedia.
6830         * config/sh/sh.md: Remove all attrs from SHmedia insns.
6831         (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): New insns.
6832         (cmpdi): Accept SHmedia.
6833         (movdicc_false, movdicc_true): New insns.
6834         (movdicc): New expand.
6835         (adddi3): Accept arith_operand for op2, but FAIL on SH1 if
6836         no_new_pseudos.
6837         (addsi3_media): Match `S' constraint.
6838         (anddi3, andcdi3, iordi3, xordi3, negdi_media): New insns.
6839         (negdi2): Expand for SHmedia.
6840         (one_cmpldi2): New expand.
6841         (zero_extendsidi2): Change from expand to insn.
6842         (extendsidi2): Add constraints.
6843         (movdi_media, movsi_media): Change `%x' to `%M'.  Use `%m' for
6844         LD/ST address.  Fix SI immediate loading split.
6845         (movhi_media, movqi_media, lduw, ldub): New insns.
6846         (movhi, movqi): Accept SHmedia.
6847         (shori_media, movdi_media): Relax input constraints.  Split
6848         symbolic constants.
6849         (movdf_media, movsf_media): New insn.  New split to movdi.
6850         (movdf, movsf): Match on SHmedia.
6851         (beq_media, bne_media, bgt_media, bge_media, bgtu_media,
6852         bgeu_media): New insns and splits.  New insns with `_i' suffix.
6853         (beq, bne, bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Adjust.
6854         (bunordered): New expand.
6855         (jump_compact): Renamed from `jump'.
6856         (jump_media): New insn.
6857         (jump): New expand.
6858         (call_media, call_value_media): New insns.
6859         (call, call_value): Adjust.
6860         (indirect_jump_compact): Renamed from `indirect_jump'.
6861         (indirect_jump_media): New insn.
6862         (indirect_jump): New expand.
6863         (untyped_call, return): Accept SHmedia.
6864         (return_media): New insn.
6865         (prologue, epilogue, blockage): Accept SHmedia.
6866         (seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu, sne): Adjust.
6867         (sunordered): New expand.
6868         (addsf3, subsf3, mulsf3, divsf3, floatsisf2, fix_truncsfsi2,
6869         cmpsf, negsf2, sqrtsf2, abssf2): Adjust for SHmedia.
6870         (addsf3_media, subsf3_media, mulsf3_media, mac_media,
6871         divsf3_media, floatdisf2, floatsisf2_media, fix_truncsfdi2,
6872         fix_truncsfsi2_media, cmpeqsf_media, cmpgtsf_media,
6873         cmpgesf_media, cmpunsf_media, negsf2_media, sqrtsf2_media,
6874         abssf2_media): New insns.
6875         (adddf3, subdf3, muldf3, divdf3, floatsidf2, fix_truncdfsi2,
6876         cmpdf, negdf2, sqrtdf2, absdf2): Adjust for SHmedia.
6877         (adddf3_media, subdf3_media, muldf3_media, divdf3_media,
6878         floatdidf2, floatsidf2_media, fix_truncdfdi2,
6879         fix_truncdfsi2_media, cmpeqdf_media, cmpgtdf_media,
6880         cmpgedf_media, cmpundf_media, negdf2_media, sqrtdf2_media,
6881         absdf2_media): New insns.
6882         (extendsfdf2, truncdfsf2): Adjust for SHmedia.
6883         (extendsfdf2_media, truncdfsf2_media): New insns.
6884         2000-09-14  Alexandre Oliva  <aoliva@redhat.com>
6885         * config/sh/sh.c (machine_dependent_reorg): On shmedia, skip for now.
6886         * config/sh/sh.h (CONST_OK_FOR_J): Document.
6887         (LEGITIMATE_CONSTANT_P): Accept CONST_DOUBLEs on shmedia.
6888         * config/sh/sh.md (adddi3): New expand.
6889         (adddi3_media, adddi3z_media): New insns.
6890         (adddi3_compact): Renamed from adddi3.
6891         (addsi3_media): Use add.l r63 to add constant zero.
6892         (subdi3): New expand.
6893         (subdi3_media): New insn.
6894         (subdi3_compact): Renamed from subdi3.
6895         (mulsidi3): New expand.
6896         (mulsidi3_media): New insn.
6897         (mulsidi3_compact): Renamed from mulsidi3.
6898         (umulsidi3): New expand.
6899         (umulsidi3_media): New insn.
6900         (umulsidi3_compact): Renamed from umulsidi3.
6901         (ashlsi3_media, ashrsi3_media, lshrsi3_media): New insns.
6902         (ashlsi3, ashrsi3, lshrsi3): Use them.
6903         (ashldi3_media, ashrdi3_media, lshrdi3_media): New insns.
6904         (ashldi3, ashrdi3, lshrdi3): Use them.
6905         (zero_extendsidi2): New expand.
6906         (extendsidi2): New insn.
6907         (movsi_media): New insn.  Split to movdi to load constants.
6908         (movsi): Enable for shmedia.
6909         (movdi_media): New insn.  Use shori_media to load wide constants.
6910         (short_media): New insn.
6911         (movdi): Enable for shmedia.
6912         2000-09-08  Alexandre Oliva  <aoliva@redhat.com>
6913         * config/sh/sh.h (CPP_SPEC): Added `m5'.
6914         (SUBTARGET_CPP_SPEC): Added `!m5'.
6915         (SH5_BIT, TARGET_SH5, TARGET_SHMEDIA, TARGET_SHCOMPACT): New macros.
6916         (TARGET_SWITCHES): Added `5' and `5-compact'.  Added SH1_BIT
6917         to all other SH variants.
6918         (TARGET_DEFAULT): Set to SH1_BIT.
6919         (OVERRIDE_OPTIONS): Recognize sh5 CPU.
6920         (BITS_PER_WORD): Raise to 64 on shmedia.
6921         (MAX_BITS_PER_WORD): Change to 64.
6922         (MAX_LONG_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): Set to MAX_BITS_PER_WORD.
6923         (INT_TYPE_SIZE): Keep as 32.
6924         (UNITS_PER_WORD): Raise to 8 on shmedia.
6925         (MIN_UNITS_PER_WORD): Keep as 4.
6926         (POINTER_SIZE): Raise to 64 on shmedia.
6927         (CONST_OK_FOR_J): New macro.
6928         (CONST_OK_FOR_LETTER_P): Use it.
6929         (processor_type): Add PROCESSOR_SH5.
6930         * config/sh/sh.md: Conditionalize all expands, insns and
6931         splits to TARGET_SH1.
6932         (cpu): Added sh5.
6933         (addsi3_compact): Renamed from...
6934         (addsi3): Now an expand.
6935         (addsi3_media, subsi3_media): New insns.
6936         (subsi3): Don't negate constants with SHmedia.
6937
6938         * hooks.c: New file.
6939         * hooks.h: New file.
6940         * Makefile.in (HOOKS_H): New.
6941         (TARGET_DEF_H): Added $(HOOKS_H).
6942         (OBJS): Added hooks.o.
6943         (cfgcleanup.o, bb-reorder.o): Added target.h.
6944         (hooks.o): Added dependencies.
6945         * target-def.h (TARGET_CANNOT_MODIFY_JUMPS_P): New, added to...
6946         (TARGET_INITIALIZER): this.
6947         * doc/tm.texi (TARGET_CANNOT_MODIFY_JUMPS_P): Document.
6948         * target.h (struct gcc_target): Added cannot_modify_jumps_p.
6949         * bb-reorder.c: Include target.h.
6950         (reorder_basic_blocks): Skip if cannot modify jumps.
6951         * cfgcleanup.c: Include target.h.
6952         (try_optimize_cfg): Skip merge blocking if cannot modify jumps.
6953
6954 2002-02-08  Chris Demetriou  <cgd@broadcom.com>
6955
6956         * config/mips/mips.md (casesi_internal, casesi_internal_di):
6957         Protect jump delay slot instructions with .set noreorder and
6958         .set nomacro.
6959
6960 2002-02-08  Chris Demetriou  <cgd@broadcom.com>
6961
6962         * config/mips/mips.md (casesi_internal_di): Calculate
6963         the index into the target offset table correctly.
6964
6965 2002-02-08  Richard Henderson  <rth@redhat.com>
6966
6967         * expr.c (expand_expr): Mind EXPAND_INITIALIZER for truncation also.
6968         * final.c (output_addr_const): Accept and discard SUBREG.
6969         * varasm.c (decode_addr_const): Don't abort on unknown expressions --
6970         mark them unknown instead.
6971         (simplify_subtraction): Handle RTX_UNKNOWN.
6972         (initializer_constant_valid_p): Strip NOP_EXPRs that narrow the mode.
6973
6974 2002-02-08  David Edelsohn  <edelsohn@gnu.org>
6975
6976         * doc/invoke.texi (RS/6000 and PowerPC Options): Fix typo.
6977
6978 2002-02-08  Richard Henderson  <rth@redhat.com>
6979
6980         * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_BSS): New.
6981
6982 2002-02-08  Andreas Jaeger  <aj@suse.de>
6983
6984         * config.gcc (x86_64-*-linux): Add t-linux64 makefile fragment.
6985         * config/i386/t-linux64: New file.
6986
6987 2002-02-08  Jakub Jelinek  <jakub@redhat.com>
6988
6989         * c-common.c (c_expand_expr): Revert 2002-02-06 patch.
6990         * c-parse.in (compstmt): Clear last_expr_type.
6991
6992 2002-02-07  Richard Henderson  <rth@redhat.com>
6993
6994         * loop.c (strength_reduce): Sink final_value when not
6995         eliminating a biv.
6996
6997 2002-02-07  David O'Brien  <obrien@FreeBSD.org>
6998
6999         * config/sparc/freebsd.h: Fix mismatched spec {.
7000
7001 2002-02-07  Richard Henderson  <rth@redhat.com>
7002
7003         * cfgrtl.c: Include recog.h and insn-config.h.
7004         (keep_with_call_p): Fix general_operand invocation.
7005         * Makefile.in (cfgrtl.o): Update dependencies.
7006
7007 2002-02-07  Kazu Hirata  <kazu@hxi.com>
7008
7009         * config/h8300/h8300.c (two_insn_adds_subs_operand): Revise a
7010         comment.  Accept HImode only if TARGET_H8300.
7011
7012 2002-02-07  Eric Christopher  <echristo@redhat.com>
7013
7014         * config/mips/crtn.asm: Cleanup #ifdefs.
7015
7016 2002-02-07  Eric Christopher  <echristo@redhat.com>
7017
7018         * config/mips/crti.asm: Add changes for mips16. mips16 uses
7019         register 7 as RA instead of $31.
7020         * config/mips/crtn.asm: Ditto.
7021         * config/mips/mips.c (mips_move_2words): Add case for
7022         TARGET_MIPS16 when HOST_BITS_PER_WIDE_INT >= 64.
7023         (compute_frame_size): Fix typo.
7024         (save_restore_insns): Ditto.  Make documentation about using
7025         register $7 as return register more precise.
7026         (mips_expand_epilogue): Fix comment. Add code to work around not
7027         being able to add to the stack pointer directly.
7028         * config/mips/mips.h (EH_RETURN_DATA_REGNO): Change register number
7029         to 2 for TARGET_MIPS16 as we need 6 and 7 as clobbers in the
7030         epilogue.
7031
7032 2002-02-07  Tom Rix  <trix@redhat.com>
7033
7034         * config/rs6000/rs6000.c (reg_or_aligned_short_operand): New. For
7035         immediates in ldu and stdu DS opcode field.
7036         * config/rs6000/rs6000.md (movdi_update, movdi_update1): Use.
7037         * config/rs6000/rs6000-protos.h: Add reg_or_aligned_short_operand.
7038         * config/rs6000/rs6000.h (PREDICATE_CODES): Same.
7039
7040 2002-02-07  Jeff Sturm  <jsturm@one-point.com>
7041
7042         * config/sparc/sparc.c (compute_frame_size): Don't correct frame
7043         offset for stack bias.
7044
7045 2002-02-07  H.J. Lu <hjl@gnu.org>
7046
7047         * config/mips/linux.h (SUBTARGET_ASM_DEBUGGING_SPEC): Defined.
7048
7049 2002-02-07  Ulrich Weigand  <uweigand@de.ibm.com>
7050
7051         * testsuite/gcc.dg/cpp/charconst-2.c: Add -fsigned-char option.
7052
7053 Thu Feb  7 12:14:17 CET 2002  Jan Hubicka  <jh@suse.cz>
7054
7055         * i386-protos.h (x86_order_regs_for_local_alloc): Declare
7056         * i386.c (x86_order_regs_for_local_alloc): New global function.
7057         * i386.h (REG_ALLOC_ORDER): CLeanup.
7058         (ORDER_REGS_FOR_LOCAL_ALLOC): New.
7059
7060 2002-02-07  Richard Henderson  <rth@redhat.com>
7061
7062         PR optimization/2463
7063         * alias.c (find_base_value): Recall base values for fixed hard regs.
7064         * loop.c (loop_regs_update): Don't use single_set on non-insns.
7065
7066 2002-02-07  Alexandre Oliva  <aoliva@redhat.com>
7067
7068         * config/mips/mips.md (define_delay) [mips16]: Adjust required
7069         length.
7070
7071 2002-02-06  Richard Henderson  <rth@redhat.com>
7072
7073         PR c/5609
7074         * stmt.c (resolve_operand_name_1): Take more care with mixed
7075         named and unnamed operands.
7076
7077 2002-02-06  Janis Johnson  <janis187@us.ibm.com>
7078             Jan Hubicka  <jh@suse.cz>
7079
7080         * loop.c (remove_constant_addition): Avoid clobbering a shared
7081         CONST expression.
7082
7083 2002-02-06  Ulrich Weigand  <uweigand@de.ibm.com>
7084
7085         * config.gcc (s390x-*-linux*): Add t-linux64 makefile fragment.
7086         * config/s390/t-linux64: New file.
7087         * config/s390/libgcc-glibc.ver: New file.
7088
7089 2002-02-06  Ulrich Weigand  <uweigand@de.ibm.com>
7090
7091         * config/s390/linux64.h: Delete file.
7092         * config/s390/s390x.h: New file.
7093         * config.gcc (s390x-*-linux*): Use s390x.h instead of linux64.h
7094         as target header file.
7095         * config/s390/linux.h (TARGET_VERSION): Define depending on
7096         DEFAULT_TARGET_64BIT.
7097         (CPP_SPEC, ASM_SPEC, LINK_SPEC): Likewise.
7098         (SIZE_TYPE, PTRDIFF_TYPE): Likewise.
7099         (NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define.
7100         (CPP_ARCH31_SPEC, CPP_ARCH64_SPEC): New defines.
7101         (LINK_ARCH31_SPEC, LINK_ARCH64_SPEC): New defines.
7102         (EXTRA_SPEC): New define.
7103         * config/s390/s390.h (TARGET_VERSION): Define depending on
7104         DEFAULT_TARGET_64BIT.
7105         (MASK_RETURN_ADDR): Add run-time check for TARGET_64BIT.
7106
7107 2002-02-06  Jason Merrill  <jason@redhat.com>
7108
7109         * c-decl.c (finish_function): Warn about a non-void function with
7110         no return statement and no abnormal exit.
7111         (current_function_returns_abnormally): New variable.
7112         (start_function): Clear it.
7113         (struct c_language_function): Add returns_abnormally.
7114         (push_c_function_context): Save it.
7115         (pop_c_function_context): Restore it.
7116         (builtin_function): Set TREE_THIS_VOLATILE on return fns.
7117         (grokdeclarator): Set C_FUNCTION_IMPLICIT_INT on functions without
7118         an explicit return type.
7119         * c-tree.h: Declare current_function_returns_abnormally.
7120         (C_FUNCTION_IMPLICIT_INT): New macro.
7121         * c-typeck.c (build_function_call): Set it.
7122         (c_expand_return): Set current_function_returns_value even if the
7123         value is erroneous.
7124
7125 2002-02-06  Jakub Jelinek  <jakub@redhat.com>
7126
7127         PR c/5420:
7128         * c-common.c (c_unsafe_for_reeval): Make COMPOUND_LITERAL_EXPR
7129         unsafe for reevaluation.
7130
7131 2002-02-06  Jakub Jelinek  <jakub@redhat.com>
7132
7133         PR c/5482:
7134         * c-common.c (c_expand_expr) [STMT_EXPR]: If last expression is not
7135         EXPR_STMT, but COMPOUND_STMT, recurse into it.
7136
7137 2002-02-06  Richard Henderson  <rth@redhat.com>
7138
7139         * cfganal.c (keep_with_call_p): Source for fixed_reg dest must
7140         be a general_operand.  Dest for function value must be a pseudo.
7141
7142 2002-02-06  Nick Clifton  <nickc@cambridge.redhat.com>
7143
7144         * dbxout.c (dbxout_symbol_location): Accept LABEL_REFs as well
7145         as SYMBOL_REFs from the constant pool.
7146
7147 2002-02-06  Alexandre Oliva  <aoliva@redhat.com>
7148
7149         * dbxout.c (dbxout_parms): Apply DEBUGGER_ARG_OFFSET to parameters
7150         passed by invisible reference.
7151
7152 2002-02-05  Richard Henderson  <rth@redhat.com>
7153
7154         * config/sparc/sparc.h (ARG_POINTER_CFA_OFFSET): No stack bias.
7155
7156 2002-02-06  Hans-Peter Nilsson  <hp@bitrange.com>
7157
7158         Implement using "base addresses" in insn operands as default.
7159         * config/mmix/mmix.c (mmix_conditional_register_usage): if
7160         -mabi=gnu, modify fixed_regs to fit the GNU ABI.
7161         (mmix_extra_constraint): Use 'R' to indicate that GETA should be
7162         used to read the rtx value.
7163         (mmix_target_asm_function_epilogue): Fix spacing.
7164         (mmix_constant_address_p): Handle TARGET_BASE_ADDRESSES.
7165         (mmix_legitimate_address): Ditto.
7166         (mmix_encode_section_info): Set SYMBOL_REF_FLAG on rtx:es that
7167         should be loaded with a GETA insn.  Don't allocate needless extra
7168         char for nul termination and fix misleading comment.
7169         (mmix_print_operand_address): Handle constants if
7170         TARGET_BASE_ADDRESSES.
7171         (mmix_output_register_setting): Use base addressing if
7172         TARGET_BASE_ADDRESSES and the number of insns is 3.
7173         * config/mmix/t-mmix (MULTILIB_EXTRA_OPTS): New.
7174         * config/mmix/mmix.md ("movdi"): Change the alternative with GETA
7175         to use R as constraint, add LDA to match s.
7176         * config/mmix/mmix.h (TARGET_BASE_ADDRESSES): New.
7177         (TARGET_DEFAULT): Add TARGET_MASK_BASE_ADDRESSES.
7178         (TARGET_SWITCHES): Add -mbase-addresses, -mno-base-addresses.
7179         (FIXED_REGISTERS): Make registers $231..$246 fixed by default.
7180         (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Move $231..$246 last, in
7181         order with other fixed registers.
7182         (MMIX_GNU_ABI_REG_ALLOC_ORDER): Put forward $231, in order with
7183         other parameter/call-clobbered registers.
7184         * doc/invoke.texi (Option Summary) <MMIX Options>: Add
7185         -mbase-addresses, -mno-base-addresses.
7186         (MMIX Options): Ditto.
7187
7188 2002-02-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7189
7190         * pa.h (PREDICATE_CODES): Add reg_before_reload_operand.
7191
7192 2002-02-06  Aldy Hernandez  <aldyh@redhat.com>
7193
7194         * config/rs6000/altivec.h: Change elem to _S_elem.
7195
7196 2002-02-05  Jason Thorpe  <thorpej@wasabisystems.com>
7197
7198         * config/netbsd.h (WCHAR_TYPE): Define.
7199         (WCHAR_TYPE_SIZE): Ditto.
7200         (WINT_TYPE): Ditto.
7201         * config/alpha/netbsd.h (WCHAR_TYPE): Remove.
7202         (WCHAR_UNSIGNED): Ditto.
7203         (WCHAR_TYPE_SIZE): Ditto.
7204         (WINT_TYPE): Ditto.
7205         * config/arm/netbsd.h: Likewise.
7206         * config/i386/netbsd-elf.h: Likewise.
7207         * config/i386/netbsd.h: Likewise.
7208         * config/m68k/netbsd-elf.h: Likewise.
7209         * config/m68k/netbsd.h: Likewise.
7210         * config/ns32k/netbsd.h: Likewise.
7211         * config/sparc/netbsd.h: Likewise.
7212         * config/vax/netbsd.: Likewise.
7213
7214 2002-02-05  Alexandre Oliva  <aoliva@redhat.com>
7215
7216         * target.h (struct gcc_target): Added ms_bitfield_layout_p.
7217         * target-def.h (TARGET_MS_BITFIELD_LAYOUT_P): New.  Added to...
7218         (TARGET_INITIALIZER): this.
7219         * doc/tm.texi (TARGET_MS_BITFIELD_LAYOUT_P): Document.
7220         (BITFIELD_NBYTES_LIMITED): Markup fix.
7221         * tree.h (default_ms_bitfield_layout_p): Declare.
7222         (record_layout_info): Added prev_field.
7223         * tree.c (default_ms_bitfield_layout_p): New fn.
7224         * c-decl.c (finish_struct): Disregard EMPTY_FIELD_BOUNDARY and
7225         PCC_BITFIELD_TYPE_MATTERS for MS bit-field layout.
7226         * stor-layout.c: Include target.h.
7227         (start_record_layout): Initialize prev_field.
7228         (place_field): Handle MS bit-field layout, and disregard
7229         EMPTY_FIELD_BOUNDARY, BITFIELD_NBYTES_LIMITED and
7230         PCC_BITFIELD_TYPE_MATTERS in this case.  Update prev_field.
7231         * Makefile.in (stor-layout.o): Adjust dependencies.
7232
7233 2002-02-05  Jason Merrill  <jason@redhat.com>
7234
7235         * collect2.c (dump_file): Pass DMGL_VERBOSE to cplus_demangle.
7236
7237 2002-02-05  Andreas Jaeger  <aj@suse.de>
7238
7239         * crtstuff.c: Fix comments.
7240
7241 2002-02-05  Richard Henderson  <rth@redhat.com>
7242
7243         PR fortran/3393
7244         * loop.c (loop_iv_add_mult_emit_before): Copy multiplier as well.
7245         (loop_iv_add_mult_sink, loop_iv_add_mult_hoist): Likewise.
7246
7247         PR fortran/3392
7248         * config/mips/mips.c (function_arg): Handle TImode.
7249         (function_arg_advance): Likewise.
7250
7251 2002-02-05  Aldy Hernandez  <aldyh@redhat.com>
7252
7253         * config/rs6000/altivec.h (vec_step_help): Rename to
7254         __vec_step_help.
7255
7256 2002-02-05  Aldy Hernandez  <aldyh@redhat.com>
7257
7258         * config/rs6000/altivec.h: Fix typos.
7259
7260 2002-02-05  Jason Thorpe  <thorpej@wasabisystems.com>
7261
7262         * config/arm/netbsd.h: Correct a comment.
7263
7264 2002-02-05  Aldy Hernandez  <aldyh@redhat.com>
7265
7266         * config/rs6000/rs6000.c (altivec_init_builtins): Fix typo
7267         building void typed builtins.
7268
7269         * config/rs6000/altivec.h (vec_ld*): Fix typos.
7270         (vec_step): Implement for C++.
7271
7272 Mon Feb  4 19:23:19 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7273
7274         * final.c (final_scan_insn): Add case for NOTE_INSN_LOOP_END_TOP_COND.
7275
7276 2002-02-04  Richard Henderson  <rth@redhat.com>
7277
7278         * combine.c (nonzero_bits): Re-introduce special case for
7279         sp/fp/ap wrt REGNO_POINTER_ALIGN.
7280
7281 2002-02-05  Aldy Hernandez  <aldyh@redhat.com>
7282
7283         * doc/extend.texi: Warn about unsupported usage of altivec
7284         builtins.
7285
7286         * config/rs6000/rs6000.md (altivec_vcmp*_p): Remove.
7287         (altivec_predicate_*): New.
7288
7289         * config/rs6000/altivec.h: Rewrite predicates to use new builtins.
7290         Add C++ version of vec_*() functions.
7291
7292         * config/rs6000/rs6000.c (bdesc_altivec_preds): New.
7293         (bdesc_2arg): Remove altivec predicates.
7294         (altivec_expand_builtin): Handle predicates.
7295         (altivec_init_builtins): Handle predicates.
7296         (altivec_expand_predicate_builtin): New.
7297
7298 2002-02-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7299
7300         * pa.c (DO_FRAME_NOTES): Move forward.
7301         (store_reg): Revise handling of frame notes.
7302         (load_reg): Likewise.
7303         (set_reg_plus_d): Likewise.
7304         (hppa_expand_prologue): Likewise.
7305         (hppa_expand_epilogue): Likewise.
7306
7307 2002-02-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7308
7309         * unwind-dw2-fde-glibc.c: Define _GNU_SOURCE if not defined.
7310
7311 2002-02-04  Jakub Jelinek  <jakub@redhat.com>
7312
7313         PR c/4475, c++/3780:
7314         * c-common.def (SWITCH_STMT): Add SWITCH_TYPE operand.
7315         * c-common.h (SWITCH_TYPE): Define.
7316         * c-typeck.c (c_start_case): Set SWITCH_TYPE.
7317         * stmt.c (all_cases_count): Set lastval to thisval at end of loop.
7318         Rename spareness variable to sparseness.
7319         (expand_end_case_type): Renamed from expand_end_case, use orig_type
7320         if non-NULL instead of TREE_TYPE (orig_index).
7321         * tree.h (expand_end_case_type): Renamed from expand_end_case.
7322         (expand_end_case): Define using expand_end_case_type.
7323         * c-semantics.c (genrtl_switch_stmt): Pass SWITCH_TYPE
7324         to expand_end_case_type.
7325         * doc/c-tree.texi (SWITCH_STMT): Document SWITCH_TYPE.
7326
7327 2002-02-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7328
7329         * pa.h (PREFERRED_STACK_BOUNDARY): Define to match standard rounding.
7330         (BIGGEST_ALIGNMENT): Change to 128.
7331
7332 2002-02-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7333
7334         * pa32-linux.h (LINK_COMMAND_SPEC): Define.
7335
7336 2002-02-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7337
7338         * pa.md (call_internal_reg_64bit): Remove unused variable.
7339
7340 2002-02-04  Nick Clifton  <nickc@cambridge.redhat.com>
7341
7342         * config/arm/arm.h (machine_function): Add uses_anonymous_args
7343         field.
7344         (SETUP_INCOMING_VARARGS): Set uses_anonymous_args.
7345         * config/arm/arm.c (current_function_anonymous_args): Delete,
7346         replace uses with cfun->machine->uses_anonymous_args.
7347         (arm_reorg): Do not reset uses_anonymous_args.
7348
7349         * config/arm/arm.c (arm_hard_regno_mode_ok): Allow any value in
7350         any geenral register.
7351
7352 2001-02-04  Bernd Schmidt  <bernds@redhat.com>
7353
7354         * cfgrtl.c (force_nonfallthru_and_redirect): Don't try to redirect
7355         the entry block.
7356
7357 2002-02-04  Richard Henderson  <rth@redhat.com>
7358
7359         * combine.c (force_to_mode): Remove STACK_BIAS code.
7360         (nonzero_bits): Likewise.  Replace sp/fp special case with
7361         REGNO_POINTER_ALIGN.
7362
7363         * config/sparc/sparc.h (FRAME_POINTER_REGNUM): Change to SFP.
7364         (HARD_FRAME_POINTER_REGNUM): New.
7365         (FIRST_PSEUDO_REGISTER, REG_CLASS_CONTENTS): Update.
7366         (FIXED_REGS, CALL_USED_REGS): Update.
7367         (REG_ALLOC_ORDER, REGISTER_NAMES): Update.
7368         (CONDITIONAL_REGISTER_USAGE): Update for HFP.
7369         (HARD_REGNO_NREGS): Update for SFP.
7370         (STACK_POINTER_OFFSET): Include bias here ...
7371         (FIRST_PARM_OFFSET): ... not here.
7372         (STACK_BIAS): Remove.
7373         (INIT_EXPANDERS): New.
7374         (STARTING_FRAME_OFFSET): Do not include bias.
7375         (ELIMINABLE_REGS, CAN_ELIMINATE, INITIAL_ELIMINATION_OFFSET): New.
7376         (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P): Update for SFP.
7377         (REG_OK_FOR_INDEX_P, REG_OK_FOR_BASE_P): Likewise.
7378         * config/sparc/aout.h (DBX_REGISTER_NUMBER): Update for HFP.
7379         * config/sparc/litecoff.h, config/sparc/sol2.h: Likewise.
7380         * config/sparc/sparc.c (mem_min_alignment): Update for HFP.
7381         (sparc_nonflat_function_prologue, epilogue_renumber): Likewise.
7382         (MUST_SAVE_REGISTER): Likewise.
7383         (sparc_flat_function_prologue): Likewise.
7384         (sparc_flat_function_epilogue): Likewise.
7385         (HARD_FRAME_POINTER_MASK): Rename from FRAME_POINTER_MASK.
7386         (sparc_init_modes): SFP is GENERAL_REGS.
7387         (sparc_builtin_saveregs): SFP does not have bias applied.
7388
7389 2002-02-04  Richard Henderson  <rth@redhat.com>
7390
7391         * config/alpha/alpha.c (current_function_is_thunk): Don't check
7392         current_function_is_thunk.
7393         (alpha_sa_mask): Distinguish between current_function_is_thunk
7394         called from ASM_OUTPUT_MI_THUNK and not.
7395         (alpha_does_function_need_gp): Thunks always need gp.
7396         (alpha_start_function, alpha_output_function_end_prologue): Likewise.
7397         (alpha_output_mi_thunk_osf): New.
7398         * config/alpha/alpha-protos.h: Update.
7399         * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): New.
7400
7401 2002-02-04  Richard Sandiford  <rsandifo@redhat.com>
7402
7403         * c-typeck.c (build_c_cast): Warn when qualifiers are added to
7404         function types, not when they're taken away.
7405
7406 Mon Feb  4 09:05:58 2002  Jeffrey A Law  (law@redhat.com)
7407
7408         * cfgrtl.c (try_redirect_by_replacing_jump): Remove associated
7409         CODE_LABEL and jump table when replacing a table jump with a
7410         simple jump.
7411
7412 2002-02-04  Ulrich Weigand  <uweigand@de.ibm.com>
7413
7414         * config/s390/s390-protos.h (legitimize_la_operand,
7415         s390_secondary_input_reload_class, s390_plus_operand,
7416         s390_expand_plus_operand): Add prototypes.
7417
7418         config/s390/s390.c (s390_secondary_input_reload_class,
7419         s390_plus_operand, s390_expand_plus_operand): New functions.
7420
7421         (struct s390_address): New member 'pointer'.
7422         (s390_decompose_address): Compute it.
7423         (legitimate_la_operand_p): Use it.
7424         (legitimize_la_operand): New function.
7425         (movti, movdi, movdf splitters): Call it.
7426
7427         config/s390/s390.h (SECONDARY_INPUT_RELOAD_CLASS): Define.
7428         (PREDICATE_CODES): Add s390_plus_operand.
7429
7430         config/s390/s390.md (adddi3_inv_64, addaddr_ccclobber): Delete.
7431         (la_ccclobber): Allow GENERAL_REGS as output operand.
7432
7433         (reload_load_address, *reload_load_address_reg_0, *la, *do_la_reg_0,
7434         *reload_la_64, *reload_la_31 and splitters): Delete, replace by ...
7435         (*la_64, *la_31, reload_indi, reload_insi): ... these.
7436
7437 2002-02-04  Ulrich Weigand  <uweigand@de.ibm.com>
7438
7439         * gcc/config/s390/s390.h (CRT_CALL_STATIC_FUNCTION): Fixed
7440         register names for regular asm () construct.
7441
7442 2002-02-04  Jakub Jelinek  <jakub@redhat.com>
7443
7444         * config/i386/i386.md (movsf_1): Allow moving SF values in MMX
7445         registers.
7446
7447 2002-02-04  Jakub Jelinek  <jakub@redhat.com>
7448
7449         * combine.c (recog_for_combine): Create a dummy insn with PATTERN
7450         pat for recog.
7451
7452 2002-02-04  Hartmut Penner  <hpenner@de.ibm.com>
7453
7454         * varasm.c (decode_rtx_const): Allow unspec (symbol_ref) in
7455         constant pool to be identical by string address and index.
7456
7457 2002-02-04  Anthony Green  <green@redhat.com>
7458
7459         * output.h (SECTION_OVERRIDE): Define.
7460         * varasm.c (named_section): Obey SECTION_OVERRIDE.
7461
7462 2002-02-03  Jason Thorpe  <thorpej@wasabisystems.com>
7463
7464         * config.gcc (arm*-*-netbsdelf*): Placeholder to prevent match
7465         by existing arm*-*-netbsd* (a.out) target.
7466         (ns32k-*-netbsdelf*): Likewise.
7467         (sparc-*-netbsdelf*): Likewise.
7468         (vax-*-netbsdelf*): Likewise.
7469
7470 2002-02-03  Danny Smith <dannysmith@users.sourceforge.net>
7471
7472         * gthr-win32.h: Protect against conflicting typedef for BOOL in windows
7473         headers and libobjc headers.
7474
7475 2002-02-03  Mumit Khan  <khan@nanotech.wisc.edu>
7476
7477         * gthr-win32.h (__mingwthr_key_dtor): Use extern "C" linkage for C++.
7478         (_mingw.h): Remove duplicate include.
7479
7480 2002-02-03  Jason Thorpe  <thorpej@wasabisystems.com>
7481
7482         * config.gcc: Set cpu_type to m68k for 68010, as well.
7483         (m68010-*-netbsdelf*): New...
7484         (m68k*-*-netbsdelf*): ...targets.
7485         * config/m68k/netbsd-elf.h: New file.
7486
7487 2002-02-02  Kazu Hirata  <kazu@hxi.com>
7488
7489         * config/h8300/h8300.c (hand_list): Move inside function_arg.
7490
7491 2002-02-02  Kazu Hirata  <kazu@hxi.com>
7492
7493         * config/h8300/h8300.c (h8_push_ops): Move inside
7494         h8300_init_once.
7495         (h8_pop_ops): Likewise.
7496         (h8_move_ops): Likewise.
7497
7498 2002-02-02  Kazu Hirata  <kazu@hxi.com>
7499
7500         * config/h8300/h8300.c (os_task): Make it static.
7501         (monitor): Likewise.
7502         (pragma_saveall): Likewise.
7503
7504 2002-02-02  Alexandre Oliva  <aoliva@redhat.com>
7505
7506         * config/sh/sh.md (ic_invalidate_line): Make sure the immediate
7507         constant is a valid sign-extension for Pmode.
7508
7509 2002-02-02  Kazu Hirata  <kazu@hxi.com>
7510
7511         * config/h8300/h8300.c: Fix formatting.
7512
7513 2002-02-02  Kazu Hirata  <kazu@hxi.com>
7514
7515         * config/h8300/h8300.md: Fix formatting.
7516
7517 2002-02-02  Kazu Hirata  <kazu@hxi.com>
7518
7519         * config/h8300/h8300.md (one_cmpl patterns): Tighten the
7520         predicates of operands[1].  Split the patterns for each
7521         processor variant.
7522
7523 2002-02-02  Kazu Hirata  <kazu@hxi.com>
7524
7525         * config/h8300/h8300.md (xor patterns): Tighten the predicates
7526         of operands[1] to register_operand.
7527
7528 2002-02-02  Neil Booth  <neil@daikokuya.demon.co.uk>
7529
7530         * cpphash.h (struct spec_nodes): Remove n__CHAR_UNSIGNED__.
7531         * cpphash.c (_cpp_init_hashtable): Similarly.
7532         * cppinit.c (cpp_create_reader): Default the signed_char flag.
7533         (init_builtins): Define __CHAR_UNSIGNED__ appropriately.
7534         (COMMAND_LINE_OPTIONS): Recognise -f{un,}signed-char.
7535         (cpp_handle_option): Handle the new options.
7536         * cpplex.c (cpp_interpret_charconst): Use new flag.
7537         * cpplib.h (struct cpp_options): New member signed_char.
7538         * gcc.c (cpp_unique_options): Remove %c spec and documentation.
7539         (cpp_options): Handle -fsigned-char and -funsigned-char.
7540         (static_specs): Remove signed_char_spec.
7541         (do_spec1): Don't handle %c.
7542         * system.h: Poison SIGNED_CHAR_SPEC.
7543         * tradcif.y (yylex): Use flag_signed_char.
7544         * tradcpp.h (flag_signed_char): New.
7545         * tradcpp.c (flag_signed_char): New.
7546         (main): Handle new command-line options.
7547         (initialize_builtins): Define __CHAR_UNSIGNED__ if appropriate.
7548 config:
7549         * alpha/alpha.h (SIGNED_CHAR_SPEC): Remove.
7550         * avr/avr.h: Remove old comments.
7551         * i960/i960.h (CPP_SPEC): Pass -fsigned-char if -mic*.
7552         (CC1_SPEC): Pass -fsigned-char if -mic*.
7553         (SIGNED_CHAR_SPEC): Remove.
7554 doc:
7555         * tm.texi (SIGNED_CHAR_SPEC): Remove documentation.
7556
7557 2002-02-01  Eric Christopher  <echristo@redhat.com>
7558
7559         From Daniel Jacobowitz <dmj+@andrew.cmu.edu>
7560         * config/mips/mips.h (FUNCTION_PROFILER): Fix function profiling.
7561         * config/mips/linux.h (ASM_OUTPUT_REG_PUSH): Undefine.
7562         (ASM_OUTPUT_REG_POP): Ditto.
7563
7564 2002-02-02  Neil Booth  <neil@daikokuya.demon.co.uk>
7565
7566         * c-decl.c, tree.c, tree.h, objc/objc-act.c: Revert bitfield
7567         patch.
7568
7569 2002-02-02  Jakub Jelinek  <jakub@redhat.com>
7570
7571         * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Add missing | separators.
7572
7573 2002-02-02  Jakub Jelinek  <jakub@redhat.com>
7574
7575         PR c/5304:
7576         * expmed.c (expand_mult_highpart): Use immed_double_const for wide_op1
7577         unconditionally.
7578
7579 2002-02-01  Janis Johnson  <janis187@us.ibm.com>
7580
7581         * cfganal.c: Include tm_p.h.
7582         (keep_with_call_p): Fix the test that determines if a register holds
7583         the return value of a call.
7584
7585 2002-02-01  DJ Delorie  <dj@redhat.com>
7586
7587         * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): If
7588         we are given conflicting registers, switch to the other one we
7589         had allocated for us.
7590         * config/sparc/sparc.md (reload_indi, reload_outdi): Pass op[2]
7591         as TImode so we know when the "other" register is available.
7592
7593 2002-02-01  David O'Brien  <obrien@FreeBSD.org>
7594
7595         * config/sparc/sol2-sld-64.h: Include sparc/biarch64.h rather than
7596         sparc/sparc_bi.h.
7597
7598 2002-02-01  Janis Johnson  <janis187@us.ibm.com>
7599
7600         * cfganal.c (keep_with_call_p): New function.
7601         (flow_call_edges_add): Prevent splitting a block between a call and
7602         a single-set instruction that should be kept in the same block.
7603
7604 2002-02-01  Craig Rodrigues  <rodrigc@gcc.gnu.org>
7605
7606         * doc/install.texi (avr): Update outdated URL.
7607
7608 2002-01-30  Andrew Haley  <aph@cambridge.redhat.com>
7609
7610         * config/stormy16/stormy16.md (pushqi): New.
7611         (popqi): New.
7612         (pushhi): New.
7613         (pophi): New.
7614         (movhi): Remove stack operands.
7615         (movqi): Likewise.
7616         * config/stormy16/stormy16.h (PREDICATE_CODES): Add
7617         nonimmediate_nonstack_operand.
7618         * config/stormy16/stormy16.c (nonimmediate_nonstack_operand):
7619         New.
7620         * config/stormy16/stormy16-protos.h (nonimmediate_nonstack_operand)
7621         New.
7622
7623 2002-01-31  Jason Merrill  <jason@redhat.com>
7624
7625         * Makefile.in (c-parse.c): Handle .output file.
7626         * objc/Make-lang.in (objc-parse.c): Likewise.
7627
7628 2002-02-01  Alexandre Oliva  <aoliva@redhat.com>
7629
7630         * config/mips/mips.h (ENDIAN_SPEC): Output the endianness flag if
7631         the -me[lb] option is given.  Don't output the default flag
7632         twice.
7633
7634 2002-01-31  Zack Weinberg  <zack@codesourcery.com>
7635
7636         * c-lex.c (yyparse): Call debug_hooks->start_source_file for
7637         the primary source file; this has not been done yet.
7638         * c-decl.c (c_expand_body): Reset input_filename from
7639         DECL_SOURCE_FILE (fndecl) before calling init_function_start.
7640
7641 2002-01-31  Kazu Hirata  <kazu@hxi.com>
7642
7643         * rtlanal.c (subreg_regno_offset): Do not use
7644         SUBREG_REGNO_OFFSET.
7645         * system.h: Add SUBREG_REGNO_OFFSET to the GCC poison list.
7646         * doc/tm.texi (SUBREG_REGNO_OFFSET): Remove.
7647
7648 2002-01-31  Joseph S. Myers  <jsm28@cam.ac.uk>
7649
7650         * gccbug.in: Follow GNU Coding Standards for --version.  Use GCC
7651         version rather than GNATS version in --version output.
7652
7653 2002-01-31  Richard Sandiford  <rsandifo@redhat.com>
7654
7655         * ifcvt.c (noce_process_if_block): Make a copy of the destination
7656         when copying back from a temporary.
7657
7658 2002-01-30  Richard Henderson  <rth@redhat.com>
7659
7660         * ifcvt.c (dead_or_predicable): Handling merging when other_bb
7661         and new_dest are the same.
7662
7663 2002-01-30  Richard Henderson  <rth@redhat.com>
7664
7665         PR opt/5076
7666         * rtl.h (NOTE_INSN_LOOP_END_TOP_COND): New.
7667         * rtl.c (note_insn_name): Update.
7668         * emit-rtl.c (remove_unnecessary_notes): Kill it.
7669         * stmt.c (expand_end_loop): Kill jump opt code.  Use LOOP_END_TOP_COND
7670         to perform loop rotation.
7671         (expand_exit_loop_top_cond): New.
7672         * tree.h (expand_exit_loop_top_cond): Declare it.
7673         * c-semantics.c (genrtl_while_stmt): Use it.
7674         (genrtl_for_stmt): Likewise.
7675
7676 2002-01-30  Alexandre Oliva  <aoliva@redhat.com>
7677
7678         * config/mips/mips.h (PARM_BOUNDARY): Guarantee alignment of
7679         arguments to 64-bit boundaries on 64-bit ABIs.
7680
7681 2002-01-30  Steve Ellcey  <sje@cup.hp.com>
7682
7683         * loop.c (loop_invariant_p): Special case pic_offset_table_rtx.
7684
7685 2002-01-31  Joseph S. Myers  <jsm28@cam.ac.uk>
7686
7687         * c-decl.c (grokdeclarator): Handle type being a typedef for an
7688         invalid type.
7689
7690 2002-01-30  David O'Brien  <obrien@FreeBSD.org>
7691
7692         * config.gcc: Include sparc/biarch64.h rather than sparc/sparc_bi.h.
7693         * config/sparc/sparc_bi.h: Remove file.
7694         * config/sparc/biarch64.h: New file (rename of sparc_bi.h).
7695
7696 2002-01-30  Richard Henderson  <rth@redhat.com>
7697
7698         * sched-deps.c (sched_analyze): Make a call read the frame pointer.
7699
7700 2002-01-30  Zack Weinberg  <zack@codesourcery.com>
7701
7702         * expmed.c (emit_store_flag): Call protect_from_queue on op0 and op1.
7703
7704 2002-01-30  Jason Merrill  <jason@redhat.com>
7705
7706         * dwarf2out.c (dwarf_cfi_name): Add other DWARF 3 codes.
7707         (output_cfi): Likewise. Disable DW_CFA_GNU_negative_offset_extended.
7708         (reg_save): Use DW_CFA_offset_extended_sf instead.
7709
7710         * dwarf2out.c (dwarf2out_finish): Don't abort if there were errors.
7711
7712 2002-01-29  Jakub Jelinek  <jakub@redhat.com>
7713
7714         * cselib.c (cselib_record_sets): Use IF_THEN_ELSE result
7715         in cselib_lookup.
7716
7717 2002-01-29  Aldy Hernandez  <aldyh@redhat.com>
7718
7719         * rs6000.md ("*call_value_local32"): Remove constraints.
7720         ("*call_value_local64"): Same.
7721         ("*call_value_indirect_nonlocal_aix32"): Same.
7722         ("*call_value_nonlocal_aix32"): Same.
7723         ("*call_value_indirect_nonlocal_aix64"): Same.
7724         ("*call_value_nonlocal_aix64"): Same.
7725         ("*call_value_nonlocal_sysv"): Same.
7726
7727 2002-01-29  Richard Henderson  <rth@redhat.com>
7728
7729         * config/alpha/elf.h (SDB_DEBUGGING_INFO): Undef.
7730
7731 2002-01-29  Richard Henderson  <rth@redhat.com>
7732
7733         * expr.c (force_operand): Ignore flag_pic for detecting pic
7734         address loads.
7735         * regclass.c (init_reg_sets_1): Test fixed_regs not flag_pic
7736         for determining if PIC_OFFSET_TABLE_REGNUM is call-clobbered.
7737         * resource.c (mark_target_live_regs): Use regs_invalidated_by_call
7738         instead of open-coded loop.
7739         * doc/tm.texi (PIC_OFFSET_TABLE_REGNUM): Clarify that it must
7740         be fixed when in use.
7741
7742 2002-01-29  Richard Henderson  <rth@redhat.com>
7743
7744         * sched-int.h (struct deps_reg): Add uses_length, clobbers_length.
7745         * sched-rgn.c (propagate_deps): Update them.
7746         * sched-deps.c (sched_analyze_insn): Update them.  Flush the
7747         clobbers list when either gets too long.
7748
7749 2002-01-29  Jakub Jelinek  <jakub@redhat.com>
7750
7751         * config/i386/i386.h (LIMIT_RELOAD_CLASS): Handle LEGACY_REGS
7752         and INDEX_REGS the same as GENERAL_REGS.
7753         (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.
7754
7755 2002-01-29  Neil Booth  <neil@daikokuya.demon.co.uk>
7756
7757         * tree.c (build_nonstandard_integer_type): Correct prototype.
7758
7759 2002-01-29  Ulrich Weigand  <uweigand@de.ibm.com>
7760
7761         * config/s390/s390.md (movstrsico, movstrdix_64,
7762         movstrsix_31): Remove, replace by ...
7763         (movstrdi_short, movstrsi_short, movstrdi_long,
7764         movstrsi_long): ... these.  New.
7765         (movstrdi, movstrsi): Adapt.
7766
7767         (rotldi3, rotlsi3, ashldi3, *ashldi3_31, *ashldi3_64,
7768         ashlsi3, lshrdi3, *lshrdi3_31, *lshrdi3_64, lshrsi3):
7769         Remove unnecessary CC clobber.
7770         (*ashrdi3_cc_31, *ashrdi3_cconly_31, *ashrdi3_cc_64,
7771         *ashrdi3_cconly_64, *ashrsi3_cc, *ashrsi3_cconly): New.
7772
7773         (divmoddi4): Don't partially initialize TImode register.
7774
7775 2002-01-29  Geoffrey Keating  <geoffk@redhat.com>
7776
7777         * doc/sourcebuild.texi (C Tests): Document gcc.dg/debug directory.
7778
7779 2002-01-29  Richard Henderson  <rth@redhat.com>
7780
7781         * flow.c (print_rtl_and_abort): Remove.
7782         (print_rtl_and_abort_fcn): Remove.
7783         (verify_local_live_at_start): Use dump_bb instead.
7784         (verify_wide_reg): Likewise. Take a basic_block, not rtl endpoints.
7785         (verify_wide_reg_1): Return 2 on mode test failure.
7786
7787 2002-01-29  Neil Booth  <neil@daikokuya.demon.co.uk>
7788
7789         PR c/3325, c/3326, c/2511, c/3347
7790         * c-decl.c (enum_decl_context): Remove BITFIELD.
7791         (grokdeclarator): Take bitfield width as an input.
7792         Ensure bitfields are given the correct type.  Perform
7793         bitfield width validation with build_bitfield_integer_type
7794         rather than waiting for finish_struct.
7795         (grok_typename, grok_typename_in_parm_context, start_decl,
7796         push_parmdecl, grokfield, start_function): Update calls to
7797         grokdeclarator.
7798         (build_bitfield_integer_type): New function.
7799         (finish_struct): Move bitfield validation to grokdeclarator
7800         and build_bitfield_integer_type.
7801         * tree.c (build_nonstandard_integer_type): New function.
7802         * tree.h (build_nonstandard_integer_type): New prototype.
7803 objc:
7804         * objc-act.c (objc_copy_list): Remove DECL_INITIAL kludge.
7805
7806 2002-01-29  Jakub Jelinek  <jakub@redhat.com>
7807
7808         PR other/1502:
7809         * cppinit.c (cpp_handle_option): Add ignore argument, if it is zero,
7810         don't ignore unrecognized -W* options.
7811         (cpp_handle_options): Pass 1 as last argument to cpp_handle_option.
7812         * cpplib.h (cpp_handle_option): Adjust prototype.
7813         * c-decl.c (c_decode_options): Pass 0 as last argument to
7814         cpp_handle_option.
7815
7816         PR c/2896:
7817         * gcc.c (cpp_unique_options): Split from cpp_options.
7818         (cpp_options): Source cpp_unique_options.
7819         (default_compilers): Use cpp_unique_options instead of cpp_options
7820         when used together with cc1_options.
7821         (static_specs): Add cpp_unique_options.
7822         * objc/lang-specs.h: Use cpp_unique_options instead of cpp_options
7823         when used together with cc1_options.
7824
7825 2002-01-29  Kazu Hirata  <kazu@hxi.com>
7826
7827         * config/h8300/h8300-protos.h: Update the prototype of
7828         output_a_shift.
7829         * config/h8300/h8300.c (output_a_shift): Remove an unused
7830         argument 'insn'.  Remove redundant code.
7831         * config/h8300/h8300.md: Adust to the new prototype of
7832         output_a_shift.
7833
7834 2002-01-29  Kazu Hirata  <kazu@hxi.com>
7835
7836         * config/h8300/h8300-protos.h: Update the prototypes of
7837         emit_a_rotate and expand_a_rotate.
7838         * config/h8300/h8300.c (emit_a_rotate): Change the type of the
7839         first argument to 'enum rtx_code'.
7840         (expand_a_rotate): Likewise.
7841
7842 2002-01-28  Kazu Hirata  <kazu@hxi.com>
7843
7844         * config/h8300/h8300-protos.h: Update the prototype of
7845         output_simode_bld.
7846         * config/h8300/h8300.c (output_simode_bld): Remove an argumen
7847         'log2'.
7848         * config/h8300/h8300.md: Adjust to the new prototype.
7849
7850 2002-01-28  Kazu Hirata  <kazu@hxi.com>
7851
7852         * conifg/h8300/h8300.c (h8300_adjust_insn_length): Remove
7853         redundant code.
7854
7855 2002-01-28  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7856
7857         * emit-rtl.c (gen_rtx_REG): Check that the PIC_OFFSET_TABLE_REGNUM
7858         is a fixed register before returning pic_offset_table_rtx.
7859         * loop.c (scan_loop): Don't hoist insns that set pic_offset_table_rtx
7860         when PIC_OFFSET_TABLE_REG_CALL_CLOBBERED is defined.
7861
7862 2002-01-28  Jason Merrill  <jason@redhat.com>
7863
7864         * dwarf2.h: Sync with src version.
7865
7866 2002-01-28  Paul Koning  <pkoning@equallogic.com>
7867
7868         * builtin-types.def (BT_FN_VOID_CONST_PTR_VAR): Replace
7869         BT_FN_VOID_PTR_VAR.
7870         * builtins.def (BUILT_IN_PREFETCH): Change first argument to be const.
7871         * doc/extend.texi (__builtin_prefetch): Update documentation:
7872         first argument is now const void ptr.
7873
7874 2002-01-28  Kazu Hirata  <kazu@hxi.com>
7875
7876         * config/h8300/h8300-protos.h: Remove an unused prototype.
7877
7878 2002-01-28  Roman Zippel  <zippel@linux-m68k.org>
7879
7880         * toplev.c (lang_independent_init): Round up identifier size.
7881
7882 2002-01-28  Richard Earnshaw  <rearnsha@arm.com>
7883
7884         * config.gcc: Revert previous change.
7885
7886 2002-01-28  Andris Pavenis  <pavenis@latnet.lv>
7887
7888         * config/i386/djgpp.h: Use STRIP_NAME_ENCODING in macro UNIQUE_SECTION
7889
7890 2002-01-28  Richard Earnshaw  <rearnsha@arm.com>
7891
7892         * config.gcc (*-*-netbsdelf*): Set up generic parameters.
7893         (*-*-netbsd*): Always use collect2.  Remove collect2 settings from
7894         other non-elf netbsd config frags.
7895         * config/netbsd-aout.h (STARTFILE_SPEC): Don't pull in c++rt0 since
7896         collect2 will does that.
7897         * config/netbsd.h (LIBGCC_SPEC): Add white space before -lgcc, so that
7898         shared-lib frobbing will work.
7899
7900 2002-01-28  Kazu Hirata  <kazu@hxi.com>
7901
7902         * config/h8300/h8300.h: Fix formatting.
7903         * config/h8300/h8300.md: Likewise.
7904
7905 2002-01-28  Loren J. Rittle  <ljrittle@acm.org>
7906
7907         * fixinc/inclhack.def (strict_ansi_not): Add a bypass based on
7908         the old, removed AAA_standards fix.
7909         * fixinc/fixincl.x: Rebuilt.
7910
7911 2002-01-28  Hans-Peter Nilsson  <hp@axis.com>
7912
7913         * config/cris/cris.h (CRT_CALL_STATIC_FUNCTION): Change to emit
7914         atexit call in crtbegin, hooked in after call to frame_dummy;
7915         register EH before registering __fini__start.
7916
7917 2002-01-28  Aldy Hernandez  <aldyh@redhat.com>
7918
7919         * config/rs6000/altivec.h: Remove spurious semicolons.
7920
7921 2002-01-27  Kazu Hirata  <kazu@hxi.com>
7922
7923         * config/h8300/h8300.md: Replace dead bit extraction patterns
7924         with ones that work.
7925
7926 Sun Jan 27 13:23:40 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7927
7928         * emit-rtl.c (get_mem_attrs): Don't default alignment for non-BLKmode
7929         if not STRICT_ALIGNMENT.
7930         * rtl.h (MEM_ALIGN): Likewise.
7931
7932 2002-01-27  Craig Rodrigues  <rodrigc@gcc.gnu.org>
7933
7934         * doc/invoke.texi (-fdump-translation-unit): Revert this
7935         patch: 2001-10-21  Craig Rodrigues  <rodrigc@gcc.gnu.org>
7936
7937 2002-01-27  Kazu Hirata  <kazu@hxi.com>
7938
7939         * config/h8300/h8300.md (define_constants): New.
7940         (anonymous patterns) Use defined constants appropriately.
7941
7942 2002-01-27  Kazu Hirata  <kazu@hxi.com>
7943
7944         * config/h8300/h8300.c (function_arg): Remove redundant code.
7945
7946 2002-01-26  Richard Henderson  <rth@redhat.com>
7947
7948         * sched-deps.c (reg_pending_uses_head): New.
7949         (reg_pending_barrier): Rename from reg_pending_sets_all.
7950         (find_insn_list): Don't mark inline.
7951         (find_insn_mem_list): Remove.
7952         (add_dependence_list, add_dependence_list_and_free): New.
7953         (flush_pending_lists): Replace only_write param with separate
7954         for_read and for_write parameters.  Update all callers.  Use
7955         add_dependence_list_and_free.
7956         (sched_analyze_1): Do not add reg dependencies here; just set
7957         the pending bits.  Use add_dependence_list.
7958         (sched_analyze_2): Likewise.
7959         (sched_analyze_insn): Replace schedule_barrier_found with
7960         reg_pending_barrier.  Add all dependencies for pending reg
7961         uses, sets, and clobbers.
7962         (sched_analyze): Don't add reg dependencies for calls, just
7963         set pending bits.  Use regs_invalidated_by_call.  Treat
7964         sched_before_next_call as a normal list, not a fake insn.
7965         (init_deps): No funny init for sched_before_next_call.
7966         (free_deps): Free pending mems lists.  Don't zero reg_last.
7967         (init_deps_global): Init reg_pending_uses.
7968         (finish_deps_global): Free it.
7969         * sched-int.h (deps): Make in_post_call_group_p boolean.  Update docs.
7970         (find_insn_mem_list): Remove.
7971         * sched-rgn.c (concat_INSN_LIST, concat_insn_mem_list): New.
7972         (propagate_deps): Use them.  Zero temp mem lists.
7973
7974 2002-01-26  Richard Henderson  <rth@redhat.com>
7975
7976         * Makefile.in (CRTSTUFF_CFLAGS): New.
7977         (crtbegin.o, crtend.o, crtbeginS.o, crtendS.o, crtbeginT.o): Use it.
7978         * config.gcc (alpha-linux, alpha-freebsd, alpha-netbsd): Use plain
7979         crtstuff.c instead of alpha assembly version.
7980         * crtstuff.c (CRT_CALL_STATIC_FUNCTION): Rewrite to assume the
7981         entire dummy function sequence.  Use FORCE_CODE_SECTION_ALIGN
7982         not FORCE_{INIT,FINI}_SECTION_ALIGN.
7983         (__do_global_dtors_aux): Mark used.
7984         (frame_dummy, __do_global_ctors_aux): Mark used.
7985         (fini_dummy, init_dummy): Remove.
7986
7987         * config/alpha/crtbegin.asm: Remove file.
7988         * config/alpha/crtend.asm: Remove file.
7989         * config/alpha/t-crtbe: Remove file.
7990         * config/alpha/elf.h (CRT_CALL_STATIC_FUNCTION): New.
7991         (LINK_EH_SPEC): New.
7992
7993         * config/cris/cris.h (CRT_CALL_STATIC_FUNCTION): Rewrite old
7994         FORCE_INIT_SECTION_ALIGN hack.  Register __fini_start before
7995         calling constructors.
7996         * config/cris/linux.h (CRT_CALL_STATIC_FUNCTION): Undef.
7997
7998         * config/i386/i386.h (CRT_CALL_STATIC_FUNCTION): New.
7999         * config/i386/linux.h (CRT_CALL_STATIC_FUNCTION): Replace old
8000         CRT_END_INIT_DUMMY hack.
8001         * config/i386/sol2.h (FORCE_CODE_SECTION_ALIGN): Replace
8002         FORCE_{INIT,FINI}_SECTION_ALIGN.
8003
8004         * config/mcore/mcore-elf.h (FORCE_CODE_SECTION_ALIGN): Replace
8005         FORCE_{INIT,FINI}_SECTION_ALIGN.
8006
8007         * config/s390/s390.h (CRT_CALL_STATIC_FUNCTION): Update for new
8008         invocation sequence.
8009         * config/sh/sh.h (CRT_CALL_STATIC_FUNCTION): Likewise.
8010
8011         * doc/tm.texi (CRT_CALL_STATIC_FUNCTION): Update.
8012         (FORCE_CODE_SECTION_ALIGN): New.
8013
8014 2002-01-26  Richard Henderson  <rth@redhat.com>
8015
8016         * config/cris/cris.c (cris_print_operand): Handle 64-bit CONST_INT.
8017
8018 2002-01-26  Richard Henderson  <rth@redhat.com>
8019
8020         * config/alpha/alpha.c (alpha_sa_mask): Mark RA for unicos here too.
8021         (alpha_sa_size): Use alpha_sa_mask to compute size of saved regs.
8022
8023 2002-01-26  Kazu Hirata  <kazu@hxi.com>
8024
8025         * config/h8300/h8300.md: Remove bit extraction patterns that
8026         cannot be triggered.
8027         Restrict each bit extraction pattern to a variant on which the
8028         pattern is tested.
8029
8030 2002-01-26  Joseph S. Myers  <jsm28@cam.ac.uk>
8031
8032         * doc/include/texinfo.tex: Update to version 2002-01-04.07.
8033
8034 2002-01-26  Kazu Hirata  <kazu@hxi.com>
8035
8036         * config/h8300/h8300.md: Remove bit test patterns that cannot
8037         be triggered.
8038         Restrict each bit test pattern to a variant on which the
8039         pattern is tested.
8040
8041 2002-01-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8042
8043         * builtins.c (expand_builtin_strncat): Remove redundant check for
8044         INTEGER_CST.
8045
8046 2002-01-25  David O'Brien  <obrien@FreeBSD.org>
8047
8048         * config/i386/x86-64.h (DEFAULT_PCC_STRUCT_RETURN): Do not overide
8049         default setting.
8050         * config/i386/freebsd64.h (DEFAULT_PCC_STRUCT_RETURN): Do not override
8051         existing setting.
8052
8053 2002-01-25  Geoffrey Keating  <geoffk@redhat.com>
8054
8055         * dbxout.c (dbxout_init): Use assemble_name rather than just
8056         stripping off the first character.
8057         (dbxout_source_file): Likewise.
8058
8059 2002-01-25  DJ Delorie  <dj@redhat.com>
8060
8061         * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): Compare
8062         using rtx_equal_p, not by comparing pointers.
8063
8064 2002-01-25  Steve Ellcey  <sje@cup.hp.com>
8065
8066         * emit-rtl.c (gen_rtx_REG): Always return the same rtx
8067         for PIC_OFFSET_TABLE_REGNUM.
8068         (init_emit_once): Use gen_raw_REG to initialize pic_offset_table_rtx.
8069
8070 2002-01-25  David O'Brien  <obrien@FreeBSD.org>
8071
8072         * config.gcc (x86_64-*-freebsd*): New target.
8073         (x86_64-*-netbsd*,x86_64-*-linux*): Use ${tm_file} rather than its
8074         value.
8075         (i[34567]86-*-freebsd*): Don't include svr4.h.
8076         * config/i386/freebsd64.h: New file.
8077
8078 2002-01-25  Douglas B Rupp  <rupp@gnat.com>
8079
8080         * config/alpha/x-vms (version): Make static.
8081
8082         * config/alpha/vms.h (MD_FALLBACK_FRAME_STATE_FOR): Fix error
8083         in previous checkin.
8084
8085         * Makefile.in (install-headers-cp): New target.
8086         * config.gcc (alpha-dec-*vms*): Install headers with
8087         install-headers-cp
8088
8089 Fri Jan 25 22:42:49 CET 2002  Jan Hubicka  <jh@suse.cz>
8090
8091         * unroll.c (unroll_loop): Lower final_value to nonmemory operand;
8092         avoid it's copies.
8093
8094 Fri Jan 25 08:26:19 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8095
8096         * builtins.c (expand_builtin_strncpy): Use integer_zerop instead
8097         of compare_tree_int.
8098         (expand_builtin_strncat): Likewise.
8099         * c-decl.c (finish_struct): Use tree_low_cst.
8100         * tree.h (compare_tree_int): Arg is unsigned HOST_WIDE_INT.
8101         * tree.c (compare_tree_int): Likewise.
8102
8103 2002-01-25  Ulrich Weigand  <uweigand@de.ibm.com>
8104
8105         * reload1.c (eliminate_regs_in_insn): Recognize frame pointer
8106         adjustments even if they are implemented by more than two insns.
8107
8108 Fri Jan 25 20:43:56 CET 2002  Jan Hubicka  <jh@suse.cz>
8109
8110         * df.c (df_ref_create, df_ref_record_1, df_ref_record): Kill BB arg.
8111         * df.h (struct ref): Kill B.
8112         (DF_REF_BB, DF_REF_BBNO): Use BLOCK_FOR_INSN.
8113
8114         * basic-block.h (PROP_EQUAL_NOTES): New flag.
8115         * flow.c (propagate_one_insn): Use it.
8116         (mark_used_regs): Handle NIL.
8117
8118 2002-01-25  Geoffrey Keating  <geoffk@redhat.com>
8119
8120         * config/stormy16/stormy16.md (tablejump_pcrel): Use a MEM
8121         to help folding.
8122
8123 2002-01-25  David Edelsohn  <edelsohn@gnu.org>
8124
8125         * rs6000.md (prefetch): Make address V4SI mode so that the address
8126         is restricted to legitimate form for instruction.
8127
8128 2002-01-25  Bob Wilson  <bob.wilson@acm.org>
8129
8130         * doc/install.texi (xtensa-*-elf): New target.
8131         (xtensa-*-linux*): New target.
8132         * doc/contrib.texi: Add myself.
8133
8134 2002-01-25  Nick Clifton  <nickc@cambridge.redhat.com>
8135
8136         * config/arm/arm.c (arm_hard_regno_mode_ok): Allow any general
8137         purpose register to hold an SImode (or smaller) value.
8138
8139 2002-01-25  Jakub Jelinek  <jakub@redhat.com>
8140
8141         * unwind-dw2-fde-glibc.c: If inhibit_libc, use __register_frame*
8142         registry only.
8143         * crtstuff.c: Likewise.
8144
8145 2002-01-25  Kazu Hirata  <kazu@hxi.com>
8146
8147         * config/h8300/h8300.md (negation patterns): Tighten
8148         predicates to register_operand.
8149
8150 2002-01-24  Aldy Hernandez  <aldyh@redhat.com>
8151
8152         * loop.c (emit_prefetch_instructions): Use the prefetch insn's
8153         mode, not Pmode.
8154
8155         * builtins.c (expand_builtin_prefetch): Same.
8156
8157 2002-01-24  Alexandre Oliva  <aoliva@redhat.com>
8158
8159         * config/sh/sh.md (sym_label2reg): Make sure all CONSTs have
8160         modes.
8161
8162 2002-01-24  Kazu Hirata  <kazu@hxi.com>
8163
8164         * config/h8300/h8300.c (print_operand): Remove support for
8165         operand character 'A'.
8166         * config/h8300/h8300.md (three anonymous patterns): Replace
8167         operand character 'A' with either 'T' or 'S'.
8168
8169 2002-01-24  Kazu Hirata  <kazu@hxi.com>
8170
8171         * config/h8300/h8300.c (print_operand): Remove support for
8172         operand character 'U'.
8173
8174 2002-01-24  Andris Pavenis  <pavenis@latnet.lv>
8175
8176         * config/i386/t-djgpp: Use NATIVE_SYSTEM_HEADER_DIR.
8177
8178 2002-01-24  Nick Clifton  <nickc@cambridge.redhat.com>
8179
8180         * config/arm/arm.c (arm_hard_regno_mode_ok): Allow SImode
8181         values to be assigned to the stack pointer.
8182
8183 2002-01-14  Hartmut Penner  <hpenner@de.ibm.com>
8184
8185         * emit_rtl.c (gen_lowpart_common): Conversion from const_int
8186         to const_double needs to be done right for big-endian systems.
8187
8188 2002-01-24  Jason Merrill  <jason@redhat.com>
8189
8190         PR c++/2432
8191         * config/sparc/sparc.md (call-jump peepholes): Pass the right insn
8192         to can_throw_internal.
8193
8194 2002-01-23  Richard Henderson  <rth@redhat.com>
8195
8196         * fold-const.c (fold): Change UINT_MAX test to check vs precision
8197         rather than TYPE_MAX_VALUE.  Fix indentation and a bogus negation.
8198
8199 2002-01-24  Alexandre Oliva  <aoliva@redhat.com>
8200
8201         * config/sh/sh.md (symGOT_load, sym2GOT, sym2GOTOFF): New expands.
8202         (symGOT2reg): Use them, then set as GOT value as unchanging.
8203         (symGOTOFF2reg): Set REG_EQUAL note.  Use a different pseudo
8204         as a temporary, if possible.
8205         (symPLT_label2reg): Enclose (pc) in UNSPEC_PIC.  Emit
8206         sym@PLT-(.LPCS#+2-.) instead of sym@PLT+.-(.LPCS#+2).
8207
8208 2002-01-23  Kazu Hirata  <kazu@hxi.com>
8209
8210         * config/h8300/h8300.md: Fix xorqi and xorqi so that they will
8211         accept to accept 0x80 as operands[2].
8212
8213 2002-01-24  Alexandre Oliva  <aoliva@redhat.com>
8214
8215         * config/sparc/sparc.md (fix_trunctfdi2): Correct typo in mode.
8216
8217 2002-01-23  Richard Henderson  <rth@redhat.com>
8218
8219         * config/alpha/alpha.md (call_value_osf_1_er peepholes): Fix typo.
8220
8221 2002-01-23  Aldy Hernandez  <aldyh@redhat.com>
8222
8223         * c-parse.in (parmlist_or_identifiers): Add maybe_attribute.
8224         (parmlist_or_identifiers_1): Verify that only a parmlist follows
8225         an attribute.
8226
8227 2002-01-23  Richard Henderson  <rth@redhat.com>
8228
8229         * expr.c (move_by_pieces_1): Extend size before negation.
8230
8231         * config/m68k/t-m68kbare (MULTILIB_OPTIONS): Add 68040 and 68060.
8232         (MULTILIB_MATCHES): Remove 68040 and 68060 aliases.
8233         (MULTILIB_EXCEPTIONS): Ignore 68881 and soft-float for 68040 and 68060.
8234         * config/m68k/t-m68kelf: Likewise.
8235
8236 2002-01-23  Bob Wilson  <bob.wilson@acm.org>
8237
8238         * config/xtensa/elf.h: New file.
8239         * config/xtensa/lib1funcs.asm: New file.
8240         * config/xtensa/lib2funcs.S: New file.
8241         * config/xtensa/linux.h: New file.
8242         * config/xtensa/t-xtensa: New file.
8243         * config/xtensa/xtensa-config.h: New file.
8244         * config/xtensa/xtensa-protos.h: New file.
8245         * config/xtensa/xtensa.c: New file.
8246         * config/xtensa/xtensa.h: New file.
8247         * config/xtensa/xtensa.md: New file.
8248         * config.gcc (xtensa-*-elf*): New target.
8249         (xtensa-*-linux*): New target.
8250         * cse.c (canon_hash): Compare rtx pointers instead of register
8251         numbers.  This is required for the Xtensa port.
8252         * integrate.c (copy_insn_list): Handle case where the static
8253         chain is in memory and the memory address has to be copied to
8254         a register.
8255         * doc/invoke.texi (Option Summary): Add Xtensa options.
8256         (Xtensa Options): New node.
8257         * doc/md.texi (Machine Constraints): Add Xtensa machine constraints.
8258
8259 2002-01-23  Zack Weinberg  <zack@codesourcery.com>
8260
8261         * diagnostic.c (internal_error): Do ICE suppression only
8262         when ENABLE_CHECKING is not defined.
8263
8264         * c-typeck.c (require_complete_type): Return error_mark_node
8265         if type is error_mark_node.
8266
8267 2002-01-23  Janis Johnson  <janis187@us.ibm.com>
8268
8269         * toplev.c (process_options): Disable -fprefetch-loop-arrays with
8270         -Os and issue a warning.
8271
8272 2002-01-23  Zack Weinberg  <zack@codesourcery.com>
8273
8274         * doc/fragments.texi, doc/hostconfig.texi: Update to reflect
8275         current (lack of) need for host configuration by hand.
8276
8277         * doc/gccint.texi, doc/rtl.texi, doc/tm.texi: Adjust cross
8278         references.  Documentation of some target macros moved from
8279         hostconfig.texi to tm.texi.
8280
8281 2002-01-23  Will Cohen  <wcohen@redhat.com>
8282
8283         * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Define if not currently
8284         defined.
8285
8286 2002-01-23  Kazu Hirata  <kazu@hxi.com>
8287
8288         * config/h8300/h8300.md (*andorhi3): Accept 0x8000 as an
8289         operand[3].
8290
8291 2002-01-23  Jason Merrill  <jason@redhat.com>
8292
8293         * tree.c (build1): Don't set TREE_READONLY on INDIRECT_REF.
8294
8295         * function.c (assign_parms): Don't put args of inline functions
8296         into registers when not optimizing.
8297
8298 2002-01-23  Nick Clifton  <nickc@cambridge.redhat.com>
8299
8300         * config/arm/arm.md (UNSPEC_PROLOGUE_USE): New unspec constant.
8301         (prologue_use): New pattern.
8302         * config/arm/arm.c (expand_prologue): Use gen_prologue_use in
8303         preference to gen_rtx_USE.
8304         (thumb_expand_prologue): Use gen_prologue_use in preference to
8305         gen_rtx_USE.
8306         (thumb_expand_epilogue): Use gen_prologue_use in preference to
8307         gen_rtx_USE.
8308
8309 2002-01-23  Hans-Peter Nilsson  <hp@bitrange.com>
8310
8311         * loop.c [!HAVE_prefetch] (CODE_FOR_prefetch): Define to 0.
8312
8313 2002-01-23  Neil Booth  <neil@daikokuya.demon.co.uk>
8314
8315         PR c/3504
8316         * doc/extend.texi: Correct documentation of __alignof__.
8317
8318 2002-01-22  Zack Weinberg  <zack@codesourcery.com>
8319
8320         * params.h: Rename arguments of DEFPARAM so that it will be
8321         recognized as a translation keyword.
8322
8323 2002-01-22  Aldy Hernandez  <aldyh@redhat.com>
8324
8325         * extend.texi: Document altivec functions.
8326         Fix N-bit adjectives in X86 builtin documentation.
8327
8328 2002-01-22  Alexandre Oliva  <aoliva@redhat.com>
8329
8330         * reload.c (reg_overlap_mentioned_for_reload_p): Handle PLUS and
8331         auto_inc_dec values.
8332
8333 2002-01-22  Richard Earnshaw  <rearnsha@arm.com>
8334
8335         * config/netbsd-aout.h (SWITCH_TAKES_ARG): Remove bogus white space
8336         after backslash.
8337         (ASM_DECLARE_OBJECT_NAME): Add missing backslash before final line.
8338
8339 2002-01-22  Alexandre Oliva  <aoliva@redhat.com>
8340
8341         * config/i386/freebsd-aout.h (ASM_QUAD): Undefine.
8342
8343 2002-01-22  Richard Henderson  <rth@redhat.com>
8344
8345         * config/alpha/alpha.c (split_small_symbolic_mem_operand): Use
8346         copy_insn not copy_rtx.
8347
8348 2002-01-23  Alan Modra  <amodra@bigpond.net.au>
8349
8350         * combine.c (simplify_and_const_int): Don't trunc_int_for_mode
8351         "nonzero" as that might add "1" bits.  Ensure "constop" is
8352         properly sign extened.
8353         (force_to_mode): Tweak for sign extended constop.
8354
8355 2002-01-22  Richard Henderson  <rth@redhat.com>
8356
8357         * config/alpha/alpha.c (some_small_symbolic_mem_operand) Use
8358         for_each_rtx instead of assuming we're already looking at the MEM.
8359         (split_small_symbolic_mem_operand): Likewise.
8360         * config/alpha/alpha.h (PREDICATE_CODES): Update.
8361         * config/alpha/alpha.md (small symbolic memory splitters): Update.
8362
8363 2002-01-22  Richard Henderson  <rth@redhat.com>
8364
8365         * config/alpha/alpha.md (divmodsi_internal_er): Generate lituse
8366         sequence number for the literal.
8367         (divmoddi_internal_er): Likewise.
8368
8369 2002-01-22  Craig Rodrigues  <rodrigc@gcc.gnu.org>
8370
8371         PR java/4972
8372         * aclocal.m4 (AM_ICONV): Put linking flags for libiconv
8373         in LIBICONV variable.
8374         * configure: Regenerated.
8375
8376 2002-01-22  Krister Walfridsson  <cato@df.lth.se>
8377
8378         * dependence.c (build_def_use): Remove array_idx.
8379
8380         * dwarfout.c (last_filename): Remove.
8381         (output_compile_unit_die): Remove last_filename.
8382
8383 2002-01-22  Roger Sayle  <roger@eyesopen.com>
8384             Richard Henderson  <rth@redhat.com>
8385
8386         PR opt/3640
8387         * fold-const.c (fold): Optimize unsigned comparisons against
8388         UINT_MAX (and similar unsigned constants).
8389
8390 2002-01-22  Janis Johnson  <janis187@us.ibm.com>
8391
8392         * Makefile.in (loop.o): Depend on OPTABS_H.
8393         * loop.c (emit_prefetch_instructions): Check the prefetch operand
8394         against the predicate.
8395
8396         PR target/5379
8397         * config/i386/i386.md (prefetch_sse): Specify "p" as a constraint
8398         for the address operand.
8399
8400 2002-01-22  Richard Henderson  <rth@redhat.com>
8401
8402         * config/alpha/freebsd.h (FUNCTION_PROFILER): Remove.
8403
8404 2002-01-22  Craig Rodrigues  <rodrigc@gcc.gnu.org>
8405
8406         PR other/5450
8407         * config/i386/sysv4.h (CPP_SPEC): Define, and add CPU
8408         preprocessor flags.
8409
8410 2002-01-22  Jason Thorpe  <thorpej@wasabisystems.com>
8411
8412         * config.gcc (x86_64-*-netbsd*): New target.
8413         * config/i386/netbsd64.h: New file.
8414
8415 2002-01-22  Aldy Hernandez  <aldyh@redhat.com>
8416
8417         * regrename.c (kill_value): Fix typo.
8418
8419 2002-01-22  Aldy Hernandez  <aldyh@redhat.com>
8420
8421         * doc/tm.texi: Remove STARTING_FRAME_PHASE.
8422
8423         * config/rs6000/rs6000.h: Same.
8424
8425         * function.c (instantiate_virtual_regs): Remove
8426         STARTING_FRAME_PHASE.
8427         (assign_stack_local_1): Same.
8428         Calculate frame phase.
8429
8430 2002-01-22  Nick Clifton  <nickc@redhat.com>
8431
8432         * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Move 'regno'
8433         variable declaration to outer scope in order to simplify
8434         future extensions.
8435         (HARD_REGNO_MODE_OK): Replace macro body with a with a call to
8436         arm_hard_regno_mode_ok.
8437         * config/arm/arm-protos.h: Add a prototype for
8438         arm_hard_regno_mode_ok.
8439         * config/arm/arm.c (soft_df_operand): Remove now redundant
8440         check for DImode values using IP_REGNUM.
8441         (nonimmediate_soft_df_operand): Remove now redundant check for
8442         DImode values using IP_REGNUM.
8443         (arm_hard_regno_mode_ok): New function. New check: make sure
8444         that DImode values are not stored in IP_REGNUM.
8445
8446         * config/arm/arm.c (arm_expand_prologue): Replace REG_MAYBE_DEAD
8447         note with a USE.
8448         (thumb_expand_prologue): Replace REG_MAYBE_DEAD note with a USE.
8449
8450 2002-01-22  Jason Merrill  <jason@redhat.com>
8451
8452         * c-semantics.c (genrtl_compound_stmt): Only check nesting
8453         consistency if this COMPOUND_STMT is scoped.
8454
8455 2002-01-22  Kazu Hirata  <kazu@hxi.com>
8456
8457         * predict.c: Fix formatting.
8458         * print-tree.c: Likewise.
8459         * protoize.c: Likewise.
8460         * real.h: Likewise.
8461         * rtl.h: Likewise.
8462         * sbitmap.h: Likewise.
8463         * scan.c: Likewise.
8464         * sched-deps.c: Likewise.
8465         * sched-vis.c: Likewise.
8466         * sdbout.c: Likewise.
8467         * sibcall.c: Likewise.
8468         * ssa.c: Likewise.
8469         * ssa-ccp.c: Likewise.
8470         * ssa-dce.c: Likewise.
8471         * stmt.c: Likewise.
8472         * stor-layout.c: Likewise.
8473         * system.h: Likewise.
8474
8475 Tue Jan 22 06:26:33 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8476
8477         * tree.c (int_fits_type_p): If bounds of a subtype are variable, see
8478         if fits in bounds of base type.
8479
8480         * dwarf2out.c (equate_decl_number_to_die): Add "int" to decls.
8481         (loc_descriptor_from_tree, case CALL_EXPR, case ADDR_EXPR): New.
8482         (add_bound_info, default): If can't find a context, make a
8483         SAVE_EXPR.
8484         (dwarf2out_finish): Check for SAVE_EXPR in node->created_for.
8485
8486 2002-01-22  Hans-Peter Nilsson  <hp@axis.com>
8487
8488         * c-typeck.c (parser_build_binary_op): If result from
8489         build_binary_op is ERROR_MARK just return error_mark_node without
8490         further processing.
8491
8492 2002-01-21  Jason Thorpe  <thorpej@wasabisystems.com>
8493
8494         * config/netbsd.h (TARGET_HAS_F_SETLKW): define.
8495         Split a.out-specific bits into...
8496         * config/netbsd-aout.h: ...this.
8497         * config/netbsd-elf.h: New file.
8498         * config/alpha/netbsd-elf.h: Remove.
8499         * config/alpha/netbsd.h: Rewrite for a NetBSD/alpha ELF target.
8500         * config/i386/netbsd-elf.h (LIB_SPEC): Remove.
8501         (STARTFILE_SPEC): Remove redundant definition.
8502         (ENDFILE_SPEC): Likewise.
8503         (LINK_SPEC): Likewise.
8504         (CPP_SPEC): Likewise.
8505         (ASM_SPEC): Likewise.
8506         (LIB_SPEC): Likewise.
8507         (SWITCH_TAKES_ARG): Likewise.
8508         (TARGET_MEM_FUNCTIONS): Likewise.
8509         (CPP_PREDEFINES): Redefine.
8510         (ASM_FINAL_SPEC): Remove redefinition.
8511         (ASM_COMMENT_START): Redefine.
8512         (FUNCTION_PROFILER): Define.
8513         (TARGET_VERSION): Redefine.
8514         Comment and formatting cleanup.
8515         * config/i386/netbsd.h: Include <netbsd-aout.h>.
8516         * config/m68k/netbsd.h: Include <netbsd-aout.h>.
8517         * config/mips/netbsd.h: Rewrite for NetBSD/mips ELF target,
8518         big- or little-endian.
8519         * config/ns32k/netbsd.h: Include <netbsd-aout.h>.
8520         * config.gcc (*-*-netbsd*): Add definitions common to all
8521         NetBSD configs.
8522         (alpha*-*-netbsd*): Remove redundant xm_defines, gas, and
8523         gnu_ld definitions.  Add netbsd-elf.h to and remove
8524         alpha/netbsd-elf.h from tm_file.  Remove alpha/t-crtfm from
8525         tmake_file, and don't lose previous tmake_file contents.
8526         (arm*-*-netbsd*): Add netbsd-aout.h to tm_file.
8527         (i[34567]86-*-netbsdelf*): Remove redundant xm_defines, gas, and
8528         gnu_ld definitions.  Add netbsd-elf.h to tm_file.
8529         (mips-dec-netbsd*): Remove as alias for mipsel-*-netbsd*.
8530         (mipsel-*-netbsd*): Rename this to...
8531         (mips*-*-netbsd*): ...this.  Add elfos.h to tm_file.  Add
8532         mips/little.h to tm_file for mips*el-*.
8533         (powerpc-*-netbsd*): Remove redundant xm_defines definition.
8534         (sparc-*-netbsd*): Add netbsd-aout.h to tm_file.
8535         (vax-*-netbsd*): Add netbsd-aout.h to tm_file.
8536
8537 2002-01-21  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8538
8539         * pa-protos.h (reg_before_reload_operand): New function prototype.
8540         * pa.c (reg_before_reload_operand): New function implementation.
8541         * pa.md (decrement_and_branch_until_zero, movb): Use it.  Change "!*m"
8542         contraints to "*m".
8543
8544 2002-01-21  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
8545
8546         * combine.c (simplify_and_const_int): Properly sign-extend CONSTOP.
8547
8548 2002-01-21  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8549
8550         * pa64-hpux.h (MD_EXEC_PREFIX): Set to "/usr/ccs/bin".
8551         (MD_STARTFILE_PREFIX): Set to "/usr/ccs/lib/pa20_64/".
8552         (MD_STARTFILE_PREFIX_1): Set to "/opt/langtools/lib/pa20_64/".
8553         (EH_FRAME_IN_DATA_SECTION): Define and update comment on init sections.
8554         (ENDFILE_SPEC): Undefine.
8555         (STARTFILE_SPEC): Redefine for PA.
8556
8557 2002-01-21  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
8558
8559         * config/rs6000/t-ppccomm (CRTSTUFF_T_CFLAGS_S): Re-add -fPIC.
8560
8561 2002-01-21  Daniel Jacobowitz  <drow@mvista.com>
8562
8563         * config.gcc: Add entries to supported PowerPC --with-cpu
8564         types.
8565
8566 2002-01-21  Jakub Jelinek  <jakub@redhat.com>
8567
8568         * config/i386/i386.c (ix86_function_arg_regno_p): Never return
8569         true for 64-bit mode only SSE registers in 32-bit mode.
8570
8571 2002-01-21  Kazu Hirata  <kazu@hxi.com>
8572
8573         * unwind-dw2.c: Fix formatting.
8574         * unwind-dw2-fde.c: Likewise.
8575         * unwind-dw2-fde.h: Likewise.
8576         * unwind-pe.h: Likewise.
8577         * varasm.c: Likewise.
8578         * varray.h: Likewise.
8579
8580 2002-01-21  Hans-Peter Nilsson  <hp@bitrange.com>
8581
8582         Remove workaround for register stack overwrite bug in mmix.
8583         * config/mmix/mmix.c (mmix_target_asm_function_prologue): Remove
8584         support for TARGET_REG_STACK_FILL_BUG.
8585         * config/mmix/mmix.h: Remove member has_call_without_parameters.
8586         (TARGET_MASK_REG_STACK_FILL_BUG, TARGET_REG_STACK_FILL_BUG):
8587         Delete.
8588         (TARGET_DEFAULT): Remove TARGET_MASK_REG_STACK_FILL_BUG.
8589         (TARGET_SWITCHES): Remove -mreg-stack-fill-bug-workaround and
8590         -mno-reg-stack-fill-bug-workaround.
8591         * config/mmix/mmix.md ("call", "call_value"): Don't set struct
8592         machine member has_call_without_parameters.
8593         * doc/invoke.texi (Option Summary) <MMIX Options>: Remove
8594         -mreg-stack-fill-bug-workaround and
8595         -mno-reg-stack-fill-bug-workaround.
8596         (MMIX Options): Ditto.
8597
8598 2002-01-21  Kazu Hirata  <kazu@hxi.com>
8599
8600         * config/h8300/h8300.c (function_arg): Replace 0 with NULL_RTX
8601         as appropriate.
8602         Remove redundant code.
8603
8604 2002-01-21  Joseph S. Myers  <jsm28@cam.ac.uk>
8605
8606         * config/alpha/alpha.h, config/arc/arc.h, config/avr/avr.h,
8607         config/c4x/c4x.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
8608         config/fr30/fr30.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h,
8609         config/mips/mips.h, config/rs6000/rs6000.h, config/sparc/sparc.h,
8610         config/stormy16/stormy16.h, config/v850/v850.h: Remove commented
8611         out target macro definitions and non-target-specific comments
8612         mostly taken from old versions of the manual.
8613
8614 2002-01-20  Kazu Hirata  <kazu@hxi.com>
8615
8616         * config/h8300/h8300.h: Fix comment formatting.
8617         * config/ia64/aix.h: Likewise.
8618         * config/ia64/ia64-protos.h: Likewise.
8619         * config/ia64/ia64.c: Likewise.
8620         * config/ia64/ia64.h: Likewise.
8621         * config/ia64/ia64intrin.h: Likewise.
8622         * config/ia64/linux.h: Likewise.
8623         * config/ia64/unwind-aix.c: Likewise.
8624         * config/ia64/unwind-ia64.c: Likewise.
8625
8626 2002-01-20  Kazu Hirata  <kazu@hxi.com>
8627
8628         * config/h8300/h8300.c: Revise comments about shift code.
8629
8630 2002-01-20  Kazu Hirata  <kazu@hxi.com>
8631
8632         * config/h8300/h8300.c (function_arg): Update a comment.
8633
8634 2002-01-20  Kazu Hirata  <kazu@hxi.com>
8635
8636         * config/h8300/h8300.md: Update the comments at the beginning
8637         of the file.
8638
8639 2002-01-20  Kazu Hirata  <kazu@hxi.com>
8640
8641         * config/i370/i370.c: Fix comment formatting.
8642         * config/i370/i370.h: Likewise.
8643         * config/i370/i370.md: Likewise.
8644         * config/i370/linux.h: Likewise.
8645
8646 Sun Jan 20 18:40:14 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8647
8648         * reg-stack.c (subst_stack_regs): Properly check for deleted insn.
8649
8650         * dwarf2out.c (loc_descriptor_from_tree): Add TRUTH_*_EXPR cases.
8651         (gen_struct_or_union_type_die): Don't SIGSEGV if no TYPE_STUB_DECL
8652         in incomplete case.
8653
8654 2002-01-20  Graham Stott  <grahams@redhat.com>
8655
8656         * cfgloop.c (flow_loop_preheader_scan): Fix typo.
8657
8658 2002-01-19  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8659
8660         * config.gcc (hppa*64*-*-hpux11*): Fix tmake_file.
8661
8662 2002-01-19  Tom Rix  <trix@redhat.com>
8663
8664         * config/rs6000/rs6000.md: Fix DF split for 64 bit hosts.
8665
8666 2002-01-18  Aldy Hernandez  <aldyh@redhat.com>
8667
8668         * doc/tm.texi (STARTING_FRAME_PHASE): Document.
8669
8670         * function.c (assign_stack_local_1): Adjust x_frame_offset with
8671         STARTING_FRAME_PHASE.
8672         (STARTING_FRAME_PHASE): New.
8673         (instantiate_virtual_regs): Check saneness of
8674         STARTING_FRAME_PHASE.
8675
8676         * config/rs6000/rs6000.h (STARTING_FRAME_PHASE): New.
8677
8678 2002-01-19  Alexandre Oliva  <aoliva@redhat.com>
8679
8680         * config/sh/sh.md (movdf_i4 split): Fix alter_subreg calls.
8681
8682 2002-01-18  Craig Rodrigues  <rodrigc@gcc.gnu.org>
8683
8684         * doc/install.texi (hppa*-hp-hpux11): Clarify that GCC 2.95.x cannot
8685         be used for bootstrapping GCC 3.0.
8686
8687 2002-01-18  Kazu Hirata  <kazu@hxi.com>
8688
8689         * config/h8300/h8300.md: Fix an insn length.
8690
8691 2002-01-18  Kazu Hirata  <kazu@hxi.com>
8692
8693         * bitmap.h: Fix comment formatting.
8694         * combine.c: Likewise.
8695         * cppfiles.c: Likewise.
8696         * c-pragma.h: Likewise.
8697         * c-typeck.c: Likewise.
8698         * df.c: Likewise.
8699         * dwarf2out.c: Likewise.
8700         * function.c: Likewise.
8701         * gcc.c: Likewise.
8702         * genattrtab.c: Likewise.
8703         * gthr-win32.h: Likewise.
8704         * haifa-sched.c: Likewise.
8705         * predict.c: Likewise.
8706         * rtlanal.c: Likewise.
8707         * rtl.h: Likewise.
8708         * unwind-dw2-fde.h: Likewise.
8709         * unwind-pe.h: Likewise.
8710         * vmsdbgout.c: Likewise.
8711
8712 Thu Jan 17 15:28:26 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8713
8714         * attribs.c (decl_attributes): Clear ATTR_FLAG_TYPE_IN_PLACE
8715         if type_required and passed decl.
8716
8717 2002-01-17  Aldy Hernandez  <aldyh@redhat.com>
8718
8719         * config.gcc (cpu_type): Include altivec.h in powerpc
8720         extra_headers.
8721         Same for darwin.
8722
8723         * config/rs6000/altivec.h: New.
8724
8725 2002-01-17  David Edelsohn  <edelsohn@gnu.org>
8726
8727         * doc/install.texi (*-ibm-aix*): Update assembler and exception
8728         handling information.
8729         * doc/trouble.texi (Interoperation): Add libstdc++ information
8730         for AIX.
8731         (Misunderstandings): Add template instantiation and static template
8732         member information for AIX.
8733
8734 2002-01-17  Jason Merrill  <jason@redhat.com>
8735
8736         * dbxout.c (dbxout_type): Support const and volatile.
8737
8738         * except.c (add_partial_entry): Remove backwards compatibility code.
8739         (end_protect_partials): Likewise.
8740
8741 2002-01-17  Jakub Jelinek  <jakub@redhat.com>
8742
8743         * config/ia64/ia64.md (prologue_use): New.
8744         * config/ia64/ia64.c (ia64_expand_prologue): Use
8745         gen_prologue_use instead of gen_rtx_USE.
8746         (group_barrier_needed_p): Handle CODE_FOR_prologue_use the same way
8747         as CODE_FOR_pred_rel_mutex.
8748         (ia64_sched_reorder2): Likewise.
8749
8750 2002-01-16  Eric Christopher  <echristo@redhat.com>
8751
8752         * config/mips/r3900.h: Reformat.
8753         (SUBTARGET_CPP_SIZE_SPEC): Remove.
8754         * config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Ditto.
8755         * config/mips/mips.h (ABI_GAS_ASM_SPEC): Default to "".
8756         (SUBTARGET_CPP_SIZE_SPEC): Rewrite.
8757         * config/mips/t-elf: Remove mips3 multilib.
8758
8759 2002-01-16  H.J. Lu <hjl@gnu.org>
8760
8761         * config/mips/linux.h: Include "mips/abi64.h".
8762
8763 2002-01-16  H.J. Lu <hjl@gnu.org>
8764
8765         * config/mips/t-linux: New.
8766
8767         * config.gcc: Add mips/t-linux to tmake_file for mips*-*-linux*.
8768
8769         * config/mips/linux.h: Don't include "gofast.h".
8770         (INIT_SUBTARGET_OPTABS): Removed.
8771
8772 2002-01-16  Kazu Hirata  <kazu@hxi.com>
8773
8774         * config/h8300/h8300-protos.h: Replace emit_a_shift with
8775         output_a_shift.
8776         * config/h8300/h8300.c: Likewise.
8777         * config/h8300/h8300.md: Likewise.
8778
8779 2002-01-16  Kazu Hirata  <kazu@hxi.com>
8780
8781         * config/h8300/h8300.md (pushqi1_h8300): Use a tab instead of
8782         spaces after an opcode name.
8783         (pushqi1_h8300hs): Likewise.
8784         (pushhi1_h8300hs): Likewise.
8785
8786 2002-01-16  Kazu Hirata  <kazu@hxi.com>
8787
8788         * doc/extend.texi: Replace "option" with "attribute"
8789         appropriately.
8790
8791 2002-01-16  Jakub Jelinek  <jakub@redhat.com>
8792
8793         * config/alpha/alpha.c (some_small_symbolic_mem_operand): Look into
8794         (and:DI () (const_int -8)).
8795         (split_small_symbolic_mem_operand): Split
8796         (mem (and:DI () (const_int -8)).
8797
8798 2002-01-16  Jakub Jelinek  <jakub@redhat.com>
8799
8800         PR target/5309:
8801         * config/sparc/sparc.c (ultrasparc_adjust_cost): Handle TYPE_IDIV the
8802         same way as TYPE_IMUL.
8803         (ultrasparc_sched_reorder): Likewise.
8804         * config/sparc/sparc.md (type): Add comment to update
8805         ultrasparc_sched_reorder when making changes.
8806
8807 2002-01-16  Kazu Hirata  <kazu@hxi.com>
8808
8809         * doc/invoke.texi: Change the dump file name of block
8810         reordering pass from 28.bbro to 29.bbro.
8811         Mention -dk option.
8812
8813 Wed Jan 16 17:54:22 CET 2002  Jan Hubicka  <jh@suse.cz>
8814
8815         * i386.md (minsf splitter): Fix pasto.
8816
8817 2002-01-16  Nick Clifton  <nickc@cambridge.redhat.com>
8818
8819         * config/arm/arm.c (arm_expand_prologue): Add REG_MAYBE_DEAD note
8820         to frame pointer initialisation instruction.
8821         (thumb_expand_prologue): Add REG_MAYBE_DEAD note to frame pointer
8822         initialisation instruction.
8823         (soft_df_operand): Do not accept the IP register.
8824         (nonimmediate_soft_df_operand): Do not accept the IP register.
8825
8826 2002-01-16  Jakub Jelinek  <jakub@redhat.com>
8827
8828         PR target/5357:
8829         * config/sparc/sparc.c (sparc_override_options): Avoid MASK_V9 and
8830         MASK_V8 being both set.
8831
8832 2002-01-16  Ulrich Weigand  <uweigand@de.ibm.com>
8833
8834         * config/s390/s390.c (s390_emit_prologue): Do not emit USE
8835         insn for GOT register; add REG_MAYBE_DEAD notes instead.
8836         config/s390/s390.md (call, call_value): Add GOT register to
8837         CALL_INSN_FUNCTION_USAGE where needed.
8838         (call_exp, call_value_exp): New.
8839
8840 2002-01-16  Nick Clifton  <nickc@cambridge.redhat.com>
8841
8842         * config/arm/arm.c: General formatting tidy up.
8843
8844 2002-01-16  Graham Stott  <grahams@redhat.com>
8845
8846         * calls.c (try_to_integrate): Use "(size_t)" intermediate
8847         cast and when casting an integer literal to "rtx" pointer.
8848         (expand_call): Likewise.
8849         * flow.c (try_pre_increment): Likewise.
8850         (find_use_as_address): Likewise.
8851         * integrate.c (expand_iline_function): Likewise.
8852         * regmove.c (try_auto_increment): Likewise.
8853
8854 2002-01-16  Graham Stott  <grahams@redhat.com>
8855
8856         * sched-rgn.c (passed): Use sbitmap_free.
8857         (header): Likewise.
8858         (inner): Likewise.
8859         (in_queue): Likewise.
8860         (in_stack): Likewise.
8861
8862 2002-01-15  Eric Christopher  <echristo@redhat.com>
8863
8864         * flow.c (propagate_one_insn): Change to use fatal_insn.
8865
8866 2002-01-15  Kazu Hirata  <kazu@hxi.com>
8867
8868         * expmed.c (extract_fixed_bit_field): Remove unused code.
8869         * system.h: Poison SLOW_ZERO_EXTEND.
8870         * doc/tm.texi: Remove.
8871         * config/1750a/1750a.h (SLOW_ZERO_EXTEND): Remove.
8872         * config/arm/arm.h: Likewise.
8873         * config/avr/avr.h: Likewise.
8874         * config/clipper/clipper.h: Likewise.
8875         * config/convex/convex.h: Likewise.
8876         * config/d30v/d30v.h: Likewise.
8877         * config/dsp16xx/dsp16xx.h: Likewise.
8878         * config/elxsi/elxsi.h: Likewise.
8879         * config/fr30/fr30.h: Likewise.
8880         * config/h8300/h8300.h: Likewise.
8881         * config/i370/i370.h: Likewise.
8882         * config/i386/i386.h: Likewise.
8883         * config/m68k/m68k.h: Likewise.
8884         * config/mips/mips.h: Likewise.
8885         * config/ns32k/ns32k.h: Likewise.
8886         * config/pdp11/pdp11.h: Likewise.
8887         * config/pj/pj.h: Likewise.
8888         * config/s390/s390.h: Likewise.
8889         * config/sh/sh.h: Likewise.
8890         * config/stormy16/stormy16.h: Likewise.
8891         * config/v850/v850.h: Likewise.
8892         * config/vax/vax.h: Likewise.
8893         * config/we32k/we32k.h: Likewise.
8894
8895 2002-01-15  Aldy Hernandez  <aldyh@redhat.com>
8896
8897         * config/rs6000/rs6000.md (altivec_stvx): Add parallels to stvx.
8898         (altivec_lvsl): Change constraint to b.
8899         (altivec_lvsr): Same.
8900         (altivec_lvebx): Same.
8901         (altivec_lvehx): Same.
8902         (altivec_lvewx): Same.
8903         (altivec_lvxl): Same.
8904         (altivec_lvx): Same.
8905         (altivec_stvx): Add parallel.
8906         (altivec_stvxl): Same.
8907         (altivec_stvehx): Same.
8908         (altivec_stvebx): Same.
8909         (altivec_stvebx): Same.
8910
8911 2002-01-15  Aldy Hernandez  <aldyh@redhat.com>
8912
8913         * config.gcc: Change altivec.h to altivec-defs.h.
8914
8915         * config/rs6000/altivec.h: Delete.
8916
8917         * config/rs6000/altivec-defs.h: Add.
8918
8919 2002-01-15  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8920
8921         * vax.c (vax_rtx_cost): Return MAX_COST for unsupported MULT, UDIV
8922         and UMOD modes.
8923
8924         * vax.h (INDEX_TERM_P): Restrict indexing to modes which have a size
8925         less than or equal to eight bytes.
8926
8927         * vax.md (andsi3): Remove constraints and change SET destination
8928         operand type to nonimmediate_operand.
8929         (andhi3, andqi3): Likewise.  Don't clear high order bits of operand 1
8930         when it is a CONST_INT.
8931
8932 2002-01-15  Jason Merrill  <jason@redhat.com>
8933
8934         * c-common.def (FILE_STMT): New code.
8935         * c-common.c (statement_code_p): It's a statement.
8936         * c-common.h (stmt_tree_s): Add x_last_filename.
8937         (FILE_STMT_FILENAME_NODE, FILE_STMT_FILENAME): New macros.
8938         (last_expr_filename): New macro.
8939         * c-semantics.c (begin_stmt_tree): Initialize it.
8940         (add_stmt): If the filename changed, also insert a
8941         FILE_STMT.
8942         (expand_stmt): Handle seeing one.
8943
8944 2002-01-15  Eric Christopher  <echristo@redhat.com>
8945
8946         * flow.c (propagate_one_insn): Add error message and print out
8947         insn for debugging.
8948
8949 2002-01-15  Joseph S. Myers  <jsm28@cam.ac.uk>
8950
8951         * system.h (ASM_IDENTIFY_GCC, STDC_VALUE, TRAMPOLINE_ALIGN,
8952         ASM_IDENTIFY_GCC_AFTER_SOURCE): Poison.
8953         * config/pdp11/pdp11.h (TRAMPOLINE_ALIGN): Rename to
8954         TRAMPOLINE_ALIGNMENT.
8955         * config/arm/arm.h, config/mcore/mcore.h: Likewise.  Change value
8956         to be in bits.
8957         * config/i386/cygwin.h (PCC_BITFIELDS_TYPE_MATTERS): Rename to
8958         PCC_BITFIELD_TYPE_MATTERS.
8959         * config/interix.h (STDC_VALUE): Remove.  Use
8960         STDC_0_IN_SYSTEM_HEADERS.
8961         * config/darwin.h (ASM_IDENTIFY_GCC), config/dsp16xx/dsp16xx.h
8962         (ASM_IDENTIFY_GCC), config/stormy16/stormy16.h (ASM_IDENTIFY_GCC,
8963         ASM_IDENTIFY_GCC_AFTER_SOURCE): Remove.
8964
8965 2002-01-15  Craig Rodrigues  <rodrigc@gcc.gnu.org>
8966
8967         * doc/install.texi (hppa*-hp-hpux11): --enable-threads does
8968         not work on this platform currently.
8969
8970 2002-01-15  Joseph S. Myers  <jsm28@cam.ac.uk>
8971
8972         * c-typeck.c (build_unary_op): Don't wrap msgid argument of
8973         readonly_warning in _().
8974
8975 2002-01-15  Douglas B Rupp  <rupp@gnat.com>
8976
8977         * gcc.c (delete_if_ordinary): Backout previous change.
8978
8979 2002-01-15  Kazu Hirata  <kazu@hxi.com>
8980
8981         * config/h8300/h8300.c (print_operand): Remove support for
8982         unused operand characters.
8983
8984         * read-rtl.c: Fix formatting.
8985         * real.c: Likewise.
8986         * recog.c: Likewise.
8987         * regclass.c: Likewise.
8988         * regmove.c: Likewise.
8989         * reg-stack.c: Likewise.
8990         * reload1.c: Likewise.
8991         * rtlanal.c: Likewise.
8992
8993 2002-01-15  Kazu Hirata  <kazu@hxi.com>
8994
8995         * config/i386/i386.c: Fix formatting.
8996
8997 2002-01-15  Jakub Jelinek  <jakub@redhat.com>
8998
8999         * c-typeck.c (process_init_element): Don't save_expr
9000         COMPOUND_LITERAL_EXPR if just its initializer will be used.
9001
9002 2002-01-15  David Edelsohn  <edelsohn@gnu.org>
9003
9004         * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Do not
9005         emit optional traceback table if optimize_size or TARGET_ELF.
9006         * config/rs6000/rs6000.md (prefetch): New.
9007
9008 2002-01-15  Andreas Jaeger  <aj@suse.de>
9009
9010         * config.gcc (x86_64-*-*): Install mmintrin.h and xmmintrin.h.
9011
9012 2002-01-15  Kazu Hirata  <kazu@hxi.com>
9013
9014         * mips-tfile.c: Fix formatting.
9015
9016 Tue Jan 15 00:56:11 CET 2002  Jan Hubicka  <jh@suse.cz>
9017
9018         * unroll.c (final_reg_note_copy): Fix previous commit.
9019
9020 2002-01-14  Kazu Hirata  <kazu@hxi.com>
9021
9022         * config/h8300/h8300-protos.h: Remove the prototype for
9023         eq_operator.
9024         * config/h8300/h8300.c (eq_operator): Remove.
9025
9026 2002-01-14  Richard Henderson  <rth@redhat.com>
9027
9028         * config/i386/i386.md (prefetch): Tidy.
9029         (prefetch_3dnow): Fix locality operand.
9030
9031 2002-01-14  Richard Henderson  <rth@redhat.com>
9032
9033         * config/mips/mips.h (HI_AND_FP_REGS): New register class.
9034         (CLASS_CANNOT_CHANGE_MODE): Disallow HI in little-endian mode.
9035
9036 2002-01-14  Hans-Peter Nilsson  <hp@bitrange.com>
9037
9038         * reload1.c (reload_combine): Pass reg_sum replacement through
9039         copy_rtx in loop performing multiple changes.
9040
9041 2002-01-14  Jakub Jelinek  <jakub@redhat.com>
9042
9043         * except.c (remove_unreachable_regions): New.
9044         (free_eh_status): Clear exception_handler_labels.
9045         (convert_from_eh_region_ranges): Call remove_unreachable_regions.
9046         (find_exception_handler_labels): Don't add the same label more than
9047         once.
9048         (remove_exception_handler_label): Don't die if
9049         find_exception_handler_labels hasn't been called for the current
9050         function yet.
9051
9052 Mon Jan 14 21:26:13 CET 2002  Jan Hubicka  <jh@suse.cz>
9053
9054         * toplev.c (rest_of_compilation): Rebuild jump labels after
9055         gcse.
9056
9057 2002-01-14  Joseph S. Myers  <jsm28@cam.ac.uk>
9058
9059         * doc/extend.texi: Move documentation of X86 built-in functions
9060         here.
9061         * doc/invoke.texi: From here.
9062         * doc/sourcebuild.texi: Document location of documentation for
9063         machine built-in functions.
9064
9065 2002-01-13  Christopher Faylor  <cgf@redhat.com>
9066
9067         * cppfiles.c (TEST_THRESHOLD): New macro.
9068         (SHOULD_MMAP): Ditto.
9069         (read_include_file): Use SHOULD_MMAP macro to decide when mmap should
9070         be used.
9071
9072 Mon Jan 14 20:23:34 CET 2002  Jan Hubicka  <jh@suse.cz>
9073
9074         * unroll.c (final_reg_note_copy): Properly handle
9075         REG_LABEL
9076         (unroll_loops): Fix LOOP_CONDITION heuristics.
9077
9078 2002-01-14  Geoffrey Keating  <geoffk@redhat.com>
9079
9080         * doc/invoke.texi (Xstormy16 Options): Add xstormy16 option.
9081         * doc/md.texi (Machine Constraints): Use @minus{} where appropriate.
9082
9083 Mon Jan 14 20:18:19 CET 2002  Jan Hubicka  <jh@suse.cz>
9084
9085         * cfgcleanup.c (try_forward_edges): Avoid infinite loop at infinite
9086         threaded loop.
9087
9088 2002-01-14  Tom Rix  <trix@redhat.com>
9089
9090         * config/rs6000/rs6000.md: Fix typo with sradi.
9091
9092 2002-01-14  Ulrich Weigand  <uweigand@de.ibm.com>
9093
9094         * config/s390/s390.md (movstrdix_64, movstrsix_31, movstrdi_64,
9095         movstrsi_31, clrstrsi_64, clrstrsi_31): Improve RTL templates.
9096         (clrstrdi, clrstrsi): Adapt callers.
9097
9098         (extendsidi2, zero_extendsidi2): Remove no-conflict blocks.
9099
9100         (movti splitter): Never use register 0 as base register.
9101
9102 2002-01-14  Hartmut Penner  <hpenner@de.ibm.com>
9103
9104         * combine.c (simplify_shift_const): Always generate new rtx
9105         for shift expression instead of reusing given expression.
9106
9107 Mon Jan 14 07:08:55 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9108
9109         * config/alpha/alpha.c (alpha_expand_mov): Don't call
9110         alpha_legitimize_address unless mode is Pmode.
9111
9112 2002-01-13  Geoffrey Keating  <geoffk@redhat.com>
9113
9114         * doc/md.texi (Modifiers): Document the '*' constraint for the
9115         user.
9116
9117         * doc/md.texi (Machine Constraints): Add constraints for xstormy16.
9118         * doc/extend.texi (Function Attributes): 'interrupt' is valid
9119         for xstormy16 too.
9120
9121 2002-01-13  Richard Henderson  <rth@redhat.com>
9122
9123         * reload.c (find_reloads): Use a hard reg destination as reload reg
9124         for an input reload of the source.
9125
9126 2002-01-13  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
9127
9128         * doc/install.texi (Binaries): Make link to ftp.writtenword.com
9129         more generic.
9130
9131 Sun Jan 13 07:23:01 2002  Douglas B Rupp  <rupp@gnat.com>
9132
9133         * Makefile.in (LIB2FUNCS): Split into LIB2FUNCS_1 and LIB2FUNCS_2.
9134         * mklibgcc.in (LIB2FUNCS): Split into LIB2FUNCS_1 and LIB2FUNCS_2.
9135
9136         * config/alpha/x-vms (USE_COLLECT2): Set to empty.
9137
9138 Sun Jan 13 06:55:31 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9139
9140         * dwarf2out.c (mem_loc_descriptor, case ADDRESSOF): New case.
9141
9142 2002-01-12  Tom Rix  <trix@redhat.com>
9143
9144         * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Use ior for
9145         TARGET_POWERPC64.
9146
9147 2002-01-12  Richard Henderson  <rth@redhat.com>
9148
9149         * config/i386/i386.c (bdesc_2arg): Mark psadbw MASK_3DNOW_A.
9150
9151         * doc/invoke.texi: Update Alpha options.
9152
9153         * doc/invoke.texi: Update i386 built-in function lists.
9154
9155 Sat Jan 12 17:38:11 CET 2002  Jan Hubicka  <jh@suse.cz>
9156
9157         * unroll.c (final_reg_note_copy): Avoid crash on REG_LABEL note
9158         referencing outside.
9159
9160 Sat Jan 12 08:54:51 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9161
9162         * diagnostic.c (warn_deprecated_use): Rework to lower indentation.
9163         * expr.c (emit_move_insn_1): Remove warning, use HOST_WIDE_INT for
9164         offsets, and change line folding.
9165         * optabs.c (expand_binop): Remove warnings.
9166         * sdbout.c (sdbout_record_type_name): Constify NAME to avoid warning.
9167
9168 2002-01-12  Graham Stott <grahams@redhat.com>
9169
9170         * attribs.c (handle_deprecated_attribute): constify WHAT.
9171         * diagnostic.c (warn_deprecated_use): Add braces, fixes
9172         dangling else warning and constify WHAT.
9173         * except.h (struct function, struct inline_remap): Move
9174         struct tag forward defs before all prototypes.
9175         (duplicate_eh_regions): Whitespace.
9176
9177 2002-01-12  Nick Clifton  <nickc@cambridge.redhat.com>
9178
9179         * config/arm/arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Use
9180         MODE_BASE_REG_CLASS.
9181         (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Use MODE_BASE_REG_CLASS.
9182
9183 2002-01-12  Richard Henderson  <rth@redhat.com>
9184
9185         * config/i386/i386.c (override_options): If SSE, enable sse prefetch.
9186         (ix86_expand_vector_move): New.
9187         (bdesc_2arg): Remove andps, andnps, orps, xorps.
9188         (ix86_init_mmx_sse_builtins): Make static.  Remove composite builtins.
9189         Remove old prefetch builtins.  Special case the logicals removed above.
9190         (ix86_expand_builtin): Likewise.
9191         (safe_vector_operand): Use V4SFmode, not TImode.
9192         (ix86_expand_store_builtin): Remove shuffle arg.  Update callers.
9193         (ix86_expand_timode_binop_builtin): New.
9194         * config/i386/i386-protos.h: Update.
9195         * config/i386/i386.h (enum ix86_builtins): Update.
9196         * config/i386/i386.md: Correct predicates on MMX/SSE patterns.
9197         Use ix86_expand_vector_move in vector move expanders.
9198         (movti_internal, movti_rex64): Add xorps alternative.
9199         (sse_clrv4sf): Rename and adjust from sse_clrti.
9200         (prefetch): Don't work so hard.
9201         (prefetch_sse, prefetch_3dnow): Use PREFETCH rtx, not UNSPEC.
9202         * config/i386/xmmintrin.h (__m128): Use V4SFmode.
9203         (_mm_getcsr, _mm_setcsr): Fix typo in builtin name.
9204
9205 2002-01-11  Richard Henderson  <rth@redhat.com>
9206
9207         * config/i386/mmintrin.h: New file.
9208         * config/i386/xmmintrin.h: New file.
9209         * config.gcc (i?86-*-*): Add extra_headers.
9210         * simplify-rtx.c (simplify_unary_operation): Handle saturating
9211         truncation codes.
9212         (simplify_binary_operation): Handle saturating arithmetic codes.
9213         * config/i386/i386.c (ix86_expand_sse_comi): Return the full result,
9214         not the lowpart subreg.
9215         (ix86_expand_builtin): Return a TImode dummy register instead of 0
9216         on error.
9217         * config/i386/i386.md (mmx_clrdi): Override memory attribute.
9218
9219 2002-01-12  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
9220
9221         * conflict.c (conflict_graph_compute): Free regsets when finished.
9222         * ssa.c (compute_coalesced_reg_partition): Likewise.
9223
9224 2002-01-12  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
9225
9226         * global.c (find_reg): Check for HARD_REGNO_CALL_PART_CLOBBERED
9227         every where we allocate a register.
9228
9229 2002-01-12  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
9230
9231         * gcse.c (compute_pre_data, pre_gcse): Use sbitmap_free.
9232         * lcm.c (compute_earliest, compute_farthest): Likewise.
9233
9234 2002-01-11  Janis Johnson  <janis187@us.ibm.com>
9235
9236         * expr.c (expand_assignment): Fix misuse of MEM_KEEP_ALIAS_SET.
9237
9238 2002-01-11  Janis Johnson  <janis187@us.ibm.com>
9239
9240         * doc/rtl.texi (Insns): Fix 2 typos.
9241
9242 2002-01-11  Joseph S. Myers  <jsm28@cam.ac.uk>
9243
9244         * doc/invoke.texi: Avoid overfull hboxes.  Add summary of D30V
9245         options.  Use @table @gcctabopt for MMIX options.  Add index
9246         entries for MMIX options.  Start new paragraph with first
9247         heading of the machine-dependent options.
9248
9249 2002-01-11  Craig Rodrigues  <rodrigc@gcc.gnu.org>
9250
9251         PR other/5299
9252         * config/ns32k/ns32k.md: Fix spelling mistake of "than" in comments.
9253         * combine.c (force_to_mode): Same.
9254         * reload1.c (clear_reload_reg_in_use): Same.
9255
9256 2002-01-11  Nick Clifton  <nickc@cambridge.redhat.com>
9257
9258         * config/arm/arm.c (arm_gen_constant): Correct test of 'remainder'
9259         and 'subtargets'.
9260
9261 2002-01-11  Andreas Jaeger  <aj@suse.de>,
9262             Brad Lucier <lucier@math.purdue.edu>
9263
9264         * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Remove wrong
9265         mcpu.
9266
9267 Fri Jan 11 07:35:12 2002  Douglas B Rupp  <rupp@gnat.com>
9268
9269         * config/alpha/vms.h: (MD_FALLBACK_FRAME_STATE_FOR): Fix errors.
9270         Protect with IN_LIBGCC.
9271         (LINK_EH_SPEC): Add required trailing space.
9272
9273 Fri Jan 11 09:25:05 2002  Nicola Pero  <n.pero@mi.flashnet.it>
9274
9275         * c-tree.h: Move function declarations so that they are listed
9276         under the filename which contains them.
9277         (check_identifier, finish_decl_top_level,
9278         lookup_name_current_level_global, shadow_record_fields): Remove.
9279
9280 2002-01-11  Andreas Jaeger  <aj@suse.de>
9281
9282         * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Remove duplicated
9283         march.
9284
9285 2002-01-10  Richard Henderson  <rth@redhat.com>
9286
9287         * config/alpha/alpha.c (print_operand): Add 'J'.
9288         * config/alpha/alpha.md (call_osf_1_er, call_value_osf_1_er): Take a
9289         new operand with the sequence number for the lituse.  When splitting
9290         the insns, use gen_movdi_er_high_g and generate a sequence number.
9291         (gen_movdi_er_high_g): Print the sequence number if non-zero.
9292
9293 2002-01-10  Aldy Hernandez  <aldyh@redhat.com>
9294
9295         * config/rs6000/rs6000.c (altivec_init_builtins): Add support for
9296         lvebx, lvehx, lvewx, lvxl, lvx, stvx, stvebx, stvehx, stvewx,
9297         stvxl.
9298         (altivec_expand_builtin): Same.
9299         (altivec_expand_stv_builtin): New.
9300
9301         * config/rs6000/rs6000.h (rs6000_builtins): Same.
9302
9303         * config/rs6000/rs6000.md ("altivec_lvebx"): New.
9304         ("altivec_lvehx"): New.
9305         ("altivec_lvewx"): New.
9306         ("altivec_lvxl"): New.
9307         ("altivec_lvx"): New.
9308         ("altivec_stvx"): New.
9309         ("altivec_stvebx"): New.
9310         ("altivec_stvehx"): New.
9311         ("altivec_stvewx"): New.
9312         ("altivec_stvxl"): New.
9313
9314 2002-01-10  Richard Henderson  <rth@redhat.com>
9315
9316         * cfgrtl.c (delete_insn): Assert insn hasn't been deleted yet.
9317         * reload1.c (delete_output_reload): Zap spill_reg_store.  Take
9318         care not to delete instructions twice.
9319
9320 2002-01-10  Zack Weinberg  <zack@codesourcery.com>
9321
9322         * toplev.c: Don't declare environ (it's not used anywhere).
9323         * configure.in: Don't check for declaration of environ.
9324         * config/i386/xm-mingw32.h: Don't #define environ.
9325         * config.in, configure: Regenerate.
9326
9327 2002-01-10  Zack Weinberg  <zack@codesourcery.com>
9328
9329         * configure.in: Set stage1_cflags for powerpc-*-darwin*.
9330         * configure: Regenerate.
9331
9332         * config/interix.h: Set DO_GLOBAL_CTORS_BODY and
9333         DO_GLOBAL_DTORS_BODY here, not in xm-interix.h.
9334         * config/alpha/vms.h: Set INCLUDE_DEFAULTS here, not in
9335         alpha/xm-vms.h.
9336         * config/m68k/t-next: Set OTHER_FIXINCLUDES_DIRS and
9337         LIMITS_H_TEST here, not in m68k/x-next.
9338         * config/rs6000/beos.h: Set STANDARD_INCLUDE_DIR and
9339         SYSTEM_INCLUDE_DIR here, not in rs6000/xm-beos.h.
9340
9341         * config/x-interix: Don't set RANLIB, RANLIB_TEST, SHELL,
9342         LIBGCC2_INCLUDES, or SYSTEM_HEADER_DIR.
9343         * config/alpha/x-vms: Don't set USE_COLLECT2.  Add comments.
9344
9345         * config/i386/x-djgpp: Renamed i386/t-djgpp.
9346         * config/m88k/x-dolph: Renamed m88k/t-dolph.
9347         * config/m88k/x-texXD88: Renamed m88k/t-texXD88.
9348         * config/pa/x-pa-mpeix: Renamed pa/t-mpeix.  Update for
9349         replacement of quadlib.asm with quadlib.c.
9350
9351         * config/x-interix3, config/xm-interix.h, config/i386/x-beos,
9352         config/i386/xm-osf1elf.h, config/rs6000/x-darwin,
9353         config/rs6000/xm-beos.h: Delete file.
9354
9355         * config.gcc: Update to match above changes.
9356
9357 2002-01-10  Kazu Hirata  <kazu@hxi.com>
9358
9359         * config/h8300/h8300.h: Fix comment typos.
9360         * config/h8300/h8300.md: Likewise.
9361         * config/h8300/lib1funcs.asm: Likewise.
9362
9363 2002-01-10  Dale Johannesen  <dalej@apple.com>
9364
9365         PR optimization/5269
9366         * unroll.c (precondition_loop_p): Make *increment be the correct
9367         sign when n_iterations known, to avoid confusing caller.
9368
9369 2002-01-10  Kazu Hirata  <kazu@hxi.com>
9370
9371         * doc/extend.texi (deprecated): Fix a typo.
9372
9373 Thu Jan 10 22:35:54 CET 2002  Jan Hubicka  <jh@suse.cz>
9374
9375         * basic-block.h (update_br_prob_note): Declare.
9376         * cfgcleanup.c (try_simplify_condjump): Call update_br_prob_note.
9377         (try_forward_edges): Care negative frequencies and update note.
9378         (outgoing_edges_match): Tweek conditional merging heuristics.
9379         (try_crossjump_to_edge): use update_br_prob_note.
9380         * cfglayout.c (fixup_reorder_chain): Likewise.
9381         * cfrtl.c (update_br_prob_note): New.
9382         * ifcvt.c (dead_or_predicable): Call update_br_prob_note.
9383
9384         * i386.c (ix86_decompose_address): Return -1 if address contains
9385         shift.
9386         (legitimate_address_p): Require ix86_decompose_address to return 1.
9387
9388         * gcse.c (hash_scan_set): Use CONSTANT_INSN_P.
9389         (cprop_insn): Likewise.
9390
9391 2002-01-10  Kazu Hirata  <kazu@hxi.com>
9392
9393         * toplev.c: Fix formatting.
9394         * tree.c: Likewise.
9395         * tree-dump.c: Likewise.
9396         * unroll.c: Likewise.
9397         * unwind-dw2.c: Likewise.
9398         * unwind-dw2-fde.c: Likewise.
9399         * unwind-dw2-fde-glibc.c: Likewise.
9400         * unwind-sjlj.c: Likewise.
9401
9402 2002-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
9403
9404         * doc/invoke.texi: Document PDP-11 options.
9405
9406 2002-01-10  Kazu Hirata  <kazu@hxi.com>
9407
9408         * config/h8300/h8300.h: Fix formatting.
9409
9410 2002-01-10  Ira Ruben   <ira@apple.com>
9411
9412         Add __attribute__ ((deprecated)).
9413         * extend.texi: Document __attribute__ ((deprecated)).
9414         * invoke.texi: Document -Wno-deprecated-declarations.
9415         * testsuite/g++.dg/other/deprecated.C: New C++ test.
9416         * testsuite/gcc.dg/deprecated.c: New C test.
9417         * attribs.c (enum attrs): Declare handle_deprecated_attribute().
9418         (c_common_attribute_table): Add "deprecated" entry.
9419         (handle_deprecated_attribute): New function.
9420         * c-decl.c (deprecated_states): New enum.
9421         deprecated_state: State of "deprecated" handling.
9422         (start_decl): Set deprecated_state based on attributes.
9423         (grokdeclarator): Test for deprecated uses, propagate attribute.
9424         * c-typeck.c (build_component_ref): Test for deprecated fields.
9425         (build_external_ref): Test for deprecated primaries.
9426         * diagnostic.c (warn_deprecated_use) New function to issue
9427         warnings about __attribute__ ((depricated)) references.
9428         * flags.h (warn_deprecated_decl): Extern declared for
9429         -W[no-]deprecated-declarations option.
9430         * print-tree.c (print_node): Show deprecated flag status.
9431         * toplev.c (warn_deprecated_decl): Defined.
9432         (W_options): Added "deprecated-declaration".
9433         * toplev.h (warn_deprecated_use): Extern declared.
9434         * tree.h (struct tree_common): Define deprecated_flag.
9435         (TREE_DEPRECATED): New macro to access flag.
9436         * cp/call.c (build_call): Test for deprecated calls.
9437         * cp/class.c (add_implicitly_declared_members): Set global
9438         flag to tell grokdeclarator to not issue deprecated warnings.
9439         * cp/cp-tree.h: Add extern for adding_implicit_members.
9440         * cp/decl.c (deprecated_states): New enum.
9441         (start_decl): Set deprecated_state based on attributes.
9442         (grokdeclarator): Test for deprecated uses, propagate attribute.
9443         * cp/lex.c (do_identifier): Test for deprecated primaries.
9444         * cp/typeck.c (build_component_ref): Test for deprecated fields.
9445
9446 2002-01-10  Ira Ruben   <ira@apple.com>
9447
9448         Fix to assign attributes to inline member functions.
9449         * cp/decl.c (start_method): Handle attrlist.
9450
9451 2002-01-10  Kazu Hirata  <kazu@hxi.com>
9452
9453         * combine.c (expand_field_assignment): Use subreg_lsb().
9454
9455 2002-01-10  David Edelsohn  <edelsohn@gnu.org>
9456
9457         * alias.c (find_base_value): Add cases for HIGH, PRE_INC, PRE_DEC,
9458         POST_INC, POST_DEC, PRE_MODIFY, and POST_MODIFY.
9459         (find_base_term): Add cases for TRUNCATE, PRE_MODIFY, and POST_MODIFY.
9460         Recurse for any operand of AND as long as constant is non-zero.
9461
9462 2002-01-10  Kazu Hirata  <kazu@hxi.com>
9463
9464         * config/h8300/h8300.md: Remove constraints from expanders.
9465
9466 2002-01-10  Kazu Hirata  <kazu@hxi.com>
9467
9468         * varasm.c: Fix formatting.
9469         * varray.c: Likewise.
9470         * vmsdbgout.c: Likewise.
9471         * xcoffout.c: Likewise.
9472
9473 Thu Jan 10 17:19:12 CET 2002  Jan Hubicka  <jh@suse.cz>
9474
9475         * cfgcleanup.c (try_forward_edges): Properly initialize nthreaded_edges;
9476         update edge probabilities to match.
9477
9478 2002-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
9479
9480         * Makefile.in ($(docdir)/gccint.info, gccint.dvi): Add additional
9481         dependencies.
9482         * doc/languages.texi, doc/sourcebuild.texi: New files.
9483         * doc/configfiles.texi: Make a subsubsection.  Update.
9484         * doc/configterms.texi: Add @node.  Remove warning that this isn't
9485         instructions for building GCC.
9486         * doc/makefile.texi: Make a subsection.
9487         * doc/gccint.texi: Update.
9488
9489 Thu Jan 10 16:39:58 CET 2002  Jan Hubicka  <jh@suse.cz>
9490
9491         * i386.md (sse_mov?fcc_const0_?): Fix constraints.
9492
9493 Thu Jan 10 12:45:50 2002  Nicola Pero  <n.pero@mi.flashnet.it>
9494
9495         * doc/cpp.texi: Document the __OBJC__ preprocessor macro.
9496
9497 Thu Jan 10 11:19:18 CET 2002  Jan Hubicka  <jh@suse.cz>
9498
9499         * optabs.c (expand_fix): Look for wider integer modes first.
9500
9501         * i386.md (mov?f): Avoid the fake const double trick for medium
9502         memory model.
9503         (min?f*/max?f*): Prohibit memory operands for i387 variant.
9504         (fop_df_4): Disable for SSE compilation.
9505
9506 2002-01-10  Graham Stott  <grahams@redhat.com>
9507
9508         * dwarf2out.c (indirect_string_alloc, output_indirect_string):
9509         Move prototype into DWARF2_DEBUGGING_INFO conditional block.
9510
9511 2002-01-10  Richard Henderson  <rth@redhat.com>
9512
9513         * config/alpha/alpha.md (extendsidi2_fix): Penalize f/f alternative.
9514
9515 2002-01-10  Richard Henderson  <rth@redhat.com>
9516
9517         * regrename.c (find_oldest_value_reg): Fix typo in mode change check.
9518         (copyprop_hardreg_forward_1): Likewise.  Use mode_change_ok.
9519
9520 2002-01-10  Kazu Hirata  <kazu@hxi.com>
9521
9522         * combine.c (can_combine_p): Fix a comment typo.
9523
9524 2002-01-09  Zack Weinberg  <zack@codesourcery.com>
9525
9526         * Makefile.in (s-gencheck, s-options, s-specs): Handle an
9527         empty list correctly.  Change loop index $t to $f for
9528         consistency with rest of Makefile.
9529
9530 2002-01-08  Aldy Hernandez  <aldyh@redhat.com>
9531
9532         * testuite/gcc.dg/altivec-4.c: Add test for mtvscr, dssall,
9533         mfvscr, dss, lvsl, lvsr, dstt, dstst, dststt, dst.
9534
9535         * config/rs6000/rs6000.c (altivec_expand_builtin): Add support for
9536         mtvscr, dssall, mfvscr, dss, lvsl, lvsr, dstt, dst, dstst, dststt.
9537         (altivec_init_builtins): Same.
9538         (altivec_expand_unop_builtin): Return NULL_RTX on error.
9539         (altivec_expand_binop_builtin): Same.
9540         (altivec_expand_ternop_builtin): Same.
9541         (bdesc_dst): New.
9542
9543         * config/rs6000/rs6000.md ("altivec_mtvscr"): New.
9544         ("altivec_vctuxs"): Fix typo.
9545         ("altivec_vnmsubfp"): Same.
9546         ("altivec_dssall"): New.
9547         ("altivec_mfvscr"): New.
9548         ("altivec_dss"): New.
9549         ("altivec_lvsl"): New.
9550         ("altivec_lvsr"): New.
9551         ("altivec_dstt"): New.
9552         ("altivec_dstst"): New.
9553         ("altivec_dststt"): New.
9554         ("altivec_dst"): New.
9555
9556         * config/rs6000/rs6000.h (rs6000_builtins): Add mtvscr, dssall,
9557         mfvscr, dss, lvsl, lvsr, dstt, dstst, dststt, dst.
9558
9559 2002-01-09  Richard Henderson  <rth@redhat.com>
9560
9561         * config/alpha/alpha.md (prologue_mcount): Remove lituse_jsr reloc.
9562
9563 2002-01-10  Hans-Peter Nilsson  <hp@bitrange.com>
9564
9565         * config/mmix/mmix.c (mmix_asm_identify_gcc): Remove unused
9566         function.
9567         * config/mmix/mmix-protos.h (mmix_asm_identify_gcc): Don't
9568         prototype.
9569         * config/mmix/mmix.h (ASM_IDENTIFY_GCC): Remove unused macro.
9570
9571 2002-01-09  Kazu Hirata  <kazu@hxi.com>
9572
9573         * read-rtl.c: Fix formatting.
9574         * real.c: Likewise.
9575         * regclass.c: Likewise.
9576         * regrename.c: Likewise.
9577         * reg-stack.c: Likewise.
9578         * reload1.c: Likewise.
9579         * reload.c: Likewise.
9580         * rtl.c: Likewise.
9581
9582 2002-01-09  Kazu Hirata  <kazu@hxi.com>
9583
9584         * rtlanal.c (find_reg_fusage): Use XEXP instead of SET_DEST
9585         to extract items in the expr_list chain.
9586
9587 2002-01-09  Richard Henderson  <rth@redhat.com>
9588
9589         * config/vax/vax.c (vax_rtx_cost): Never abort.
9590
9591         * config/vax/vax.h (REAL_ARITHMETIC): Define.
9592
9593 2002-01-09  Jan Hubicka  <jh@suse.cz>
9594
9595         * gcse.c (cprop_jump): Delete insn if simplified jump is no-op.
9596
9597 2002-01-09  Richard Henderson  <rth@redhat.com>
9598
9599         * config/arm/arm.c (arm_gen_constant): Use trunc_int_for_mode.
9600         Unify code from various alternatives.
9601
9602 2002-01-09  Richard Henderson  <rth@redhat.com>
9603
9604         * regrename.c (copy_value): Ignore the copy if the source register
9605         is present in the value chain with a narrower mode.
9606
9607 2002-01-09  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
9608
9609         * real.c (c4xtoe, toc4x): Do some special conversion on long doubles
9610         for the c4x target. Also improve layout.
9611
9612 2002-01-09  Richard Henderson  <rth@redhat.com>
9613
9614         * config/m32r/m32r.c (move_src_operand): Fix 32-bit int test.
9615         * config/m32r/m32r.md (and ior xor splitters): Swap operands
9616         to match insn patterns.
9617
9618 2002-01-09  Richard Henderson  <rth@redhat.com>
9619
9620         * regrename.c (find_oldest_value_reg): Use gen_rtx_raw_REG.
9621         (copyprop_hardreg_forward_1): Likewise.
9622
9623 2002-01-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9624
9625         * pa.md (decrement_and_branch_until_zero): Change predicate for
9626         operand 0 from register_operand to reg_or_nonsymb_mem_operand.
9627
9628 2002-01-09  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
9629
9630         * ginclude/stddef.h: Define _BSD_WCHAR_T_DEFINED_ if _BSD_WCHAR_T_
9631         gets undefined. For Darwin.
9632
9633 2002-01-09  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
9634
9635         * config/c4x/c4x.h: Use PUSH_ARGS and PUSH_ROUNDING for stack passing.
9636
9637 2002-01-09  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
9638
9639         * config/c4x/c4x/md: Remove extraneous constraints from define_splits.
9640
9641 2002-01-08  Richard Henderson  <rth@redhat.com>
9642
9643         * regrename.c (copy_value): Ignore overlapping copies.
9644
9645 2002-01-08  Richard Henderson  <rth@redhat.com>
9646
9647         * config/alpha/alpha.c (alpha_split_conditional_move): Call copy_rtx
9648         as needed to avoid shared structure.
9649
9650 2002-01-08  Kazu Hirata  <kazu@hxi.com>
9651
9652         * config/h8300/h8300.c (get_shift_alg): Fix 15-bit LSHIFTRT on
9653         H8/300H and H8/S.
9654
9655 2002-01-08  Joseph S. Myers  <jsm28@cam.ac.uk>
9656
9657         * doc/tm.texi (EASY_DIV_EXPR, IMPLICIT_FIX_EXPR,
9658         LONGJMP_RESTORE_FROM_STACK, MAX_INT_TYPE_SIZE): Remove
9659         documentation of obsolete macros.
9660         * system.h: Poison these macros.
9661         * config/1750a/1750a.h, config/a29k/a29k.h, config/alpha/alpha.h,
9662         config/arc/arc.h, config/arm/arm.h, config/avr/avr.h,
9663         config/c4x/c4x.h, config/clipper/clipper.h,
9664         config/convex/convex.h, config/cris/cris.h, config/d30v/d30v.h,
9665         config/dsp16xx/dsp16xx.h, config/elxsi/elxsi.h,
9666         config/fr30/fr30.h, config/h8300/h8300.h, config/i370/i370.h,
9667         config/i386/i386.h, config/i860/i860.h, config/i960/i960.h,
9668         config/ia64/ia64.h, config/m32r/m32r.h, config/m68hc11/m68hc11.h,
9669         config/m68k/m68k.h, config/m88k/m88k.h, config/mcore/mcore.h,
9670         config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
9671         config/mn10300/mn10300.h, config/ns32k/ns32k.h, config/pa/pa.h,
9672         config/pdp11/pdp11.h, config/pj/pj.h, config/romp/romp.h,
9673         config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h,
9674         config/sparc/sparc.h, config/stormy16/stormy16.h,
9675         config/v850/v850.h, config/vax/vax.h, config/we32k/we32k.h: Remove
9676         definitions and commented out definitions of obsolete macros.
9677         * config/mips/iris5.h (MAX_WCHAR_TYPE_SIZE): Don't define in terms
9678         of MAX_INT_TYPE_SIZE.
9679
9680 2002-01-08  Ulrich Weigand  <uweigand@de.ibm.com>
9681
9682         * config/s390/s390.c (s390_preferred_reload_class): Never
9683         return ADDR_REGS if it isn't a subset of the given class.
9684         * config/s390/s390.h (REGISTER_MOVE_COST): Penalize not just
9685         FP_REGS, but all superclasses as well.
9686
9687         * config/s390/s390.c (s390_function_profiler): Fix thinko.
9688
9689         * config/s390/s390.md (cmpdi_ccu_mem, cmpsi_ccu_mem,
9690         cmphi_ccu_mem, cmpqi_ccu_mem): First operand of compare
9691         must not be a const_int.
9692
9693 2002-01-08  Richard Henderson  <rth@redhat.com>
9694
9695         * Makefile.in (toplev.o): Depend on options.h.
9696         (gcc.o): Depend on specs.h.
9697
9698 2002-01-08  Jakub Jelinek  <jakub@redhat.com>
9699
9700         * expr.c (store_expr): Convert VOIDmode constants back to target's
9701         mode.
9702
9703 2002-01-08  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
9704
9705         * doc/invoke.texi: Markup gcc as @command.  Refer to
9706         http://gcc.gnu.org/onlinedocs/gcc/Contributors.html instead
9707         of http://gcc.gnu.org/thanks.html.
9708
9709 2002-01-08  Dale Johannesen  <dalej@apple.com>
9710
9711         * config/rs6000/rs6000.md: Add missing int register
9712         target case to movdf_low.
9713
9714 2002-01-08  Zack Weinberg  <zack@codesourcery.com>
9715
9716         * Makefile.in (cs-tconfig.h): Don't depend on $(CONFIG_H) or
9717         except.h.  Remove commands to define USING_SJLJ_EXCEPTIONS.
9718         (cppinit.o): Depend on except.h.
9719         (gencheck.h, options.h, specs.h, s-gencheck, s-options,
9720         s-specs): New rules.
9721
9722         * configure.in: Don't AC_DEFINE_UNQUOTED PACKAGE or VERSION.
9723         Don't create specs.h/options.h/gencheck.h here.  Remove
9724         unnecessary variable settings from last argument of AC_OUTPUT.
9725         * config.in, configure: Regenerate.
9726         * intl.c: Hardcode package name as "gcc".
9727
9728         * cppinit.c: Include except.h.
9729         (builtin_array): Define __USING_SJLJ_EXCEPTIONS__ when
9730         appropriate.
9731         * unwind-dw2.c, unwind-sjlj.c, config/ia64/unwind-ia64.c:
9732         Use #if(n)def __USING_SJLJ_EXCEPTIONS, not #if
9733         (!)USING_SJLJ_EXCEPTIONS.
9734         * doc/cpp.texi: Document __USING_SJLJ_EXCEPTIONS__.
9735
9736 2002-01-08  Joseph S. Myers  <jsm28@cam.ac.uk>
9737
9738         * doc/tm.texi (ASM_OUTPUT_EH_REGION_BEG, ASM_OUTPUT_EH_REGION_END,
9739         ASM_OUTPUT_LABELREF_AS_INT, DOESNT_NEED_UNWINDER, EH_TABLE_LOOKUP,
9740         OBJC_SELECTORS_WITHOUT_LABELS, OMIT_EH_TABLE): Remove
9741         documentation of obsolete macros.
9742         * system.h: Poison these macros.
9743         * config/d30v/d30v.h, config/ns32k/encore.h,
9744         config/stormy16/stormy16.h: Remove definitions and commented out
9745         definitions of obsolete macros.
9746
9747 Tue Jan  8 15:56:41 2002  Nicola Pero  <nicola@brainstorm.co.uk>
9748
9749         * objc/objc-act.c (handle_class_ref): Mark the declaration of
9750         %sobjc_class_ref_%s as used - to prevent unwanted compiler
9751         warnings.
9752
9753 2002-01-08  Ulrich Weigand  <uweigand@de.ibm.com>
9754
9755         * config/s390/linux.h (ASM_OUTPUT_LABELREF): Remove.
9756         * config/s390/s390.c (s390_emit_epilog): Add REG_FRAME_RELATED_EXPR
9757         to insn adjusting stack/frame pointer.
9758         * config/s390/s390.md (reload_la_64, reload_la_31): Do not
9759         accept operands that cause the insn to be non-splittable.
9760
9761 2002-01-08  Graham Stott  <grahams@redhat.com>
9762
9763         * c-tree.h (C_TYPE_FIELDS_READONLY): Uppercase macro parameter.
9764         (C_TYPE_FIELDS_VOLATILE): Likewise.
9765         (C_TYPE_BEING_DEFINED): Likewise.
9766         (C_IS_RESERVED_WORD): Likewise.
9767         (C_TYPE_VARIABLE_SIZE): Likewise.
9768         (C_DECL_VARIABLE_SIZE): Likewise.
9769         (C_MISSING_PROTOTYPE_WARNED): Likewise.
9770         (C_SET_EXP_ORIGINAL_CODE): Likewise.
9771         (C_TYPEDEF_EXPLICITLY_SIGNED): Uppercase macro parameter and remove
9772         parenthesis.
9773         (C_DECL_ANTICIPATED): Likewise.
9774         (c_build_type_variant): Add parenthesis.
9775
9776 2002-01-08  Joseph S. Myers  <jsm28@cam.ac.uk>
9777
9778         * gcc.c (option_map): Remove --version.
9779         (process_command): Handle -fversion following the GNU Coding
9780         Standards.  Partially addresses PR other/704.
9781
9782 2002-01-08  Graham Stott  <grahams@redhat.com>
9783
9784         * combine.c (combine_instructions): Fix typo.
9785
9786 2002-01-08  Graham Stott  <grahams@redhat.com>
9787
9788         * debug.h: Use "tree" and "rtx" throughout.
9789
9790         * debug.c: Likewise.
9791
9792 2002-01-08  Nick Clifton  <nickc@cambridge.redhat.com>
9793
9794         * dbxout.c (dbxout_symbol_location): If a symbol ref is in the
9795         constant pool, use the pool's version of the symbol instead.
9796
9797 2002-01-07  Richard Henderson  <rth@redhat.com>
9798
9799         * regrename.c (find_oldest_value_reg): Ignore the value chain if
9800         the original register was copied in a mode with a fewer number of
9801         hard registers than the desired mode.
9802         (copyprop_hardreg_forward_1): Likewise.
9803         (debug_value_data): Fix loop test.
9804         * toplev.c (parse_options_and_default_flags): Reenable
9805         -fcprop-registers at -O1.
9806
9807 2002-01-07  Aldy Hernandez  <aldyh@redhat.com>
9808
9809         * config/rs6000/rs6000.c (bdesc_2arg): Add altivec predicates.
9810         (altivec_init_builtins): New node v4si_ftype_v16qi_v16qi.
9811
9812         * config/rs6000/rs6000.h (rs6000_builtins): Add enums for altivec
9813         predicates.
9814
9815         * config/rs6000/rs6000.md: Add altivec predicate patterns.
9816
9817 2002-01-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9818
9819         * pa.c (FUNC_BEGIN_PROLOG_LABEL, current_function_number): Define.
9820         (pa_output_function_prologue): Output local label at the beginning of
9821         the prologue when profiling.
9822         (hppa_profile_hook): Use the local label rather than the function label.
9823         * pa.h (PROFILE_BEFORE_PROLOGUE): Define.
9824
9825 2002-01-07  Aldy Hernandez  <aldyh@redhat.com>
9826
9827         * config/rs6000/rs6000.c (print_operand): Remove extra space.
9828         (altivec_expand_unop_builtin): Fix thinko.
9829         (altivec_expand_binop_builtin): Same.
9830         (altivec_expand_ternop_builtin): Same.
9831         (altivec_expand_builtin): Same.
9832
9833 2002-01-07  Richard Henderson  <rth@redhat.com>
9834
9835         * config/rs6000/xcoff.h (ASM_FILE_START): Reverted to profile_flag.
9836
9837 2002-01-07  Jason Merrill  <jason@redhat.com>
9838
9839         * unwind-dw2.c (execute_cfa_program): Use < again.
9840
9841 2002-01-07  Jakub Jelinek  <jakub@redhat.com>
9842
9843         * predict.c (combine_predictions_for_insn): Avoid division by zero.
9844
9845 2002-01-07  Jakub Jelinek  <jakub@redhat.com>
9846
9847         * simplify-rtx.c (simplify_plus_minus): Bump n_ops for NOT.
9848         Don't allow -1 - x -> ~x simplifications in the first pass.
9849
9850 2002-01-07  Aldy Hernandez  <aldyh@redhat.com>
9851
9852         * rs6000.c (altivec_expand_ternop_builtin): Don't die on invalid
9853         arguments.
9854         (altivec_expand_binop_builtin): Same.
9855         (altivec_expand_unop_builtin): Same.
9856         (print_operand): Fix typo.
9857         (bdesc_1arg): Add vupk* variants.
9858
9859         * rs6000.h (rs6000_builtins): Add vupk* enums.
9860
9861         * rs6000.md: Add altivec_vupk* variants.
9862
9863 2002-01-07  Joseph S. Myers  <jsm28@cam.ac.uk>
9864
9865         * doc/gcc.texi, doc/gccint.texi, doc/cppinternals.texi,
9866         doc/install.texi, doc/invoke.texi, doc/rtl.texi: Update copyright
9867         and last update dates.
9868
9869 2002-01-07  Janis Johnson  <janis187@us.ibm.com>
9870
9871         * doc/rtl.texi (Flags): Clean up documentation of RTL flags
9872
9873 2002-01-07  Marek Michalkiewicz  <marekm@amelek.gda.pl>
9874
9875         * config/avr/avr.c (avr_mcu_types): Add new MCU types.
9876         * config/avr/avr.h (CPP_SPEC): Likewise.
9877         (LINK_SPEC): Likewise.
9878         (CRT_BINUTILS_SPECS): Likewise.
9879         * config/avr/t-avr (MULTILIB_MATCHES): Likewise.
9880         * doc/invoke.texi (AVR Options): Document them.
9881
9882 Mon Jan  7 11:59:34 CET 2002  Jan Hubicka  <jh@suse.cz>
9883
9884         * unroll.c (copy_loop_body): Always properly update JUMP_LABEL and
9885         LABEL_NUSES.
9886
9887 2002-01-07  Graham Stott  <grahams@redhat.com>
9888
9889         * config/i386/i386.h: Update copyright date.
9890         (HALF_PIC_PTR): Add parenthesis.
9891         (OPTIMIZATION_OPTIONS): Whitespace, add parenthesis and wrap.
9892         (CONSTANT_ALIGNMENT): Add parenthesis.
9893         (DATA_ALIGNMENT): Likewise.
9894         (LOCAL_ALIGNMENT): Likewise.
9895         (FUNCTION_ARG_BOUNDARY): Whitespace, add parenthesis and wrap.
9896         (IS_STACK_MODE): Uppercase macro parameter, add parenthesis and wrap.
9897         (CONDITIONAL_REGISTER_USAGE): Wrap in do {...} while (0).
9898         (HARD_REGNO_NREGS): Add paranethesis.
9899         (VALID_SSE_REG_MODE): Whitespace.
9900         (VALID_MMX_REG_MODE): Whitespace.
9901         (VALID_FP_MODE_P): Uppercase macros parameter and whitespace.
9902         (ix86_hard_regno_mode_ok): Add parenthesis.
9903         (HARD_REGNO_CALLER_SAVE_MODE): Whitespace.
9904         (RETURN_IN_MEMORY): Whitespace.
9905         (N_REG_CLASSES): Add parenthesis.
9906         (INTEGER_CLASS_P): Add parenthesis and wrap.
9907         (FLOAT_CLASS_P): Likewise.
9908         (SSE_CLASS_P): Likewise.
9909         (MMX_CLASS_P): Likewise.
9910         (MAYBE_INTEGER_CLASS_P): Likewise.
9911         (MAYBE_FLOAT_CLASS_P): Likewise.
9912         (MAYBE_SSE_CLASS_P): Likewise.
9913         (MAYBE_MMX_CLASS_P): Likewise.
9914         (Q_CLASS_P): Likewise.
9915         (GENERAL_REGNO_P): Uppercase macro parameter.
9916         (REX_INT_REGNO_P): Uppercase macro parameter and wrap.
9917         (FP_REGNO_P): Likewise.
9918         (ANY_FP_REGNO_P): Uppercase macro parameter.
9919         (SSE_REGNO_P): Likewise.
9920         (SSE_REGNO): Likewise.
9921         (SSE_REG_P): Likewise.
9922         (SSE_FLOAT_MODE_P): Likewise.
9923         (MMX_REGNO_P): Likewise.
9924         (MMX_REG_P):Likewise.
9925         (STACK_REG_P): Likewise.
9926         (NON_STACK_REG_P): Likewise.
9927         (STACK_TOP_P): Likewise.
9928         (CONVERT_HARD_REGISTER_TO_SSA_P): Add parenthesis.
9929         (PREFERRED_RELOAD_CLASS): Add parenthesis and whitespace.
9930         (SECONDARY_MEMORY_NEEDED): Likewise.
9931         (SECONDARY_OUTPUT_RELOAD_CLASS): Whitespace.
9932         (MD_ASM_CLOBBERS): Whitespace and wrap.
9933         (MUST_PASS_IN_STACK): Whitespace and wrap.
9934         (RETURN_POPS_ARGS): Add parenthesis.
9935         (INIT_CUMULATIVE_ARGS): Likewise.
9936         (FUNCTION_ARG): Likewise.
9937         (FUNCTION_OK_FOR_SIBCALL): Add parenthesis and whitespace.
9938         (SETUP_INCOMING_VARARGS): Likewise.
9939         (BUILD_VA_LIST_TYPE):  Add parenthesis.
9940         (EXPAND_BUILTIN_VA_START): Uppercase macro paremeters and add
9941         parenthsis.
9942         (EXPAND_BUILTIN_VA_ARG): Likewise.
9943         (FUNCTION_PROFILER): Wrap in do { ... } while (0) and add parenthesis.
9944         (INITIALIZE_TRAMPOLINE): Add parenthesis.
9945         (INITIAL_ELIMINATION_OFFSET): Likewise.
9946         (REGNO_OK_FOR_INDEX_P): Add parenthesis.
9947         (REGNO_OK_FOR_BASE_P): Likewise.
9948         (REGNO_OK_FOR_SIREG_P): Add parenthesis and wrap.
9949         (REGNO_OK_FOR_DIREG_P): Likewise.
9950         (REG_OK_FOR_INDEX_P): Whitespace.
9951         (REG_OK_FOR_BASE_P): Whitespace.
9952         (GO_IF_LEGITIMATE_ADDRESS): Wrap in do { ... } while (0) and add
9953         parenthesis.
9954         (FIND_BASE_TERM): Fix typo.
9955         (LEGITIMIZE_ADDRESS): Wrap in  { .. } while (0) and add parenthesis.
9956         (REWRITE_ADDRESS): Uppercase macro parameter and whitespace.
9957         (SYMBOLIC_CONST; Whitespace.
9958         (GO_IF_MODE_DEPENDENT_ADDRESS):Wrap in  { .. } while (0) and wrap.
9959         (ENCODE_SECTION_INFO): Whitespace.
9960         (FINALIZE_PIC): Remove do { ... } while (0).
9961         (PROMOTE_MODE): Wrap in do { ... } while (0).
9962         (CONST_COSTS): Whitespace.
9963         (RTX_COSTS): Add paramethesis, whitespace and wrap.
9964         (REGISTER_MOVE_COST): Add parenthesis.
9965         (MEMORY_MOVE_COST): Likewise.
9966         (EXTRA_CC_MODES): Whitespace.
9967         (SELECT_CC_MODE): Add parenthesis and whitespace.
9968         (DBX_REGISTER_NUMBER): Uppercase macro parameter and add parenthsis.
9969         (ASM_PREFERRED_EH_DATA_FORMAT): Add parenthesis and whitespace.
9970         (ASM_OUTPUT_LABEL): Add paramethesis.
9971         (ASM_OUTPUT_REG_PUSH): Add parenthesis and whitespace.
9972         (ASM_OUTPUT_REG_POP): Likewise.
9973         (ASM_OUTPUT_ADDR_VEC_ELT): Add parenthesis.
9974         (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
9975
9976         * config/i386/i386.c: Update copyright.
9977         (CHECK_STACK_LIMIT): Add parenthesis.
9978         (AT_BP): Uppercase macro parameter.
9979         (x86_64_int_parameter_registers): Constify.
9980         (x86_64_int_return_registers): Likewise.
9981         (ix86_compare_op0): Use rtx.
9982         (construct_container): Constify INTREG parameter.
9983         (function_arg): Use rtx.
9984
9985         * diagnostic.h: Update copyright date.
9986         (output_buffer_state): Add parenthesis.
9987         (output_buffer_format_args): Likewise.
9988
9989         * combine.c (combine_instructions): Replace XEXP (links, 0)
9990         with link.
9991
9992 2002-01-06  H.J. Lu <hjl@gnu.org>
9993
9994         * cfgcleanup.c (thread_jump): Fix 2 typos.
9995
9996 2002-01-06  Aldy Hernandez  <aldyh@redhat.com>
9997
9998         * config.gcc: Add support for --enable-altivec.
9999
10000 2002-01-06  Craig Rodrigues  <rodrigc@gcc.gnu.org>
10001
10002         * emit-rtl.c (gen_highpart): Add check for NULL_RTX.
10003
10004 2002-01-06  Jakub Jelinek  <jakub@redhat.com>
10005
10006         * objc/objc-act.c (handle_impent): Use assemble_variable to emit
10007         __objc_class_name_*.
10008
10009 2002-01-06  Craig Rodrigues  <rodrigc@gcc.gnu.org>
10010
10011         * doc/install.texi (sparcv9-*-solaris2*): Add documentation.
10012
10013 2002-01-06  Richard Henderson  <rth@redhat.com>
10014
10015         * reorg.c (emit_delay_sequence): Remove death notes, not merely
10016         nop them out.  Increment label reference count for REG_LABEL.
10017         (fill_slots_from_thread): Frob label reference count around
10018         delete_related_insns.
10019
10020 2002-01-05  Richard Henderson  <rth@redhat.com>
10021
10022         * cfgcleanup.c (try_forward_edges): Detect infinite loops while
10023         jump threading.
10024
10025 2002-01-05  Richard Henderson  <rth@redhat.com>
10026
10027         * c-decl.c (c_expand_body): Don't call outlining_inline_function.
10028         * integrate.c (output_inline_function): Likewise.
10029         * toplev.c (rest_of_compilation): Do it here instead.  Move call
10030         to remove_unnecessary_notes after emitting abstract instance.
10031         Force an emitted nested function to have its parent emited as well.
10032         * dwarf2out.c (loc_descriptor_from_tree): Read mode after checking
10033         for null.
10034         (rtl_for_decl_location): Do not look at reload data structures
10035         before reload has run.
10036
10037 2002-01-05  Kazu Hirata  <kazu@hxi.com>
10038
10039         * cse.c: Fix formatting.
10040         * dwarf2asm.c: Likewise.
10041         * dwarf2out.c: Likewise.
10042         * explow.c: Likewise.
10043         * expmed.c: Likewise.
10044         * function.c: Likewise.
10045         * gcov.c: Likewise.
10046         * gencheck.c: Likewise.
10047         * genrecog.c: Likewise.
10048         * ggc-common.c: Likewise.
10049         * ggc-page.c: Likewise.
10050         * global.c: Likewise.
10051
10052 2002-01-05  Kazu Hirata  <kazu@hxi.com>
10053
10054         * combine.c: Fix formatting.
10055
10056 2002-01-05  Craig Rodrigues  <crodrigu@bbn.com>
10057
10058         PR middle-end/1557
10059         * config/ia64/ia64.h (RENAME_EXTENDED_BLOCKS): Remove.
10060
10061 2002-01-05  David Edelsohn  <edelsohn@gnu.org>
10062
10063         * config/rs6000/rs6000.h (TARGET_POWERPC): For IN_LIBGCC2, define
10064         as 1 for __powerpc64__ as well.
10065
10066         * config/rs6000/t-aix43 (T_ADAFLAGS): Define.
10067
10068         * alias.c (find_base_value, PLUS/MINUS): If we found a base,
10069         return it.
10070
10071 2002-01-05  Daniel Berlin  <dan@dberlin.org>
10072
10073         * lcm.c: Revert change, due to performance regression it causes on
10074         SPEC because it's slightly more conservative (sigh, I hate
10075         edge-based LCM).
10076
10077 Sat Jan  5 11:52:05 CET 2002  Jan Hubicka  <jh@suse.cz>
10078
10079         * cfgcleanup.c (try_forward_edges): Allow multiple jump threading.
10080
10081 2002-01-05  Neil Booth  <neil@daikokuya.demon.co.uk>
10082
10083         * doc/cppinternals.texi: Update.
10084
10085 2002-01-05  Hans-Peter Nilsson  <hp@bitrange.com>
10086
10087         * doc/invoke.texi (Option Summary) <MMIX Options>: Document
10088         -mbranch-predict, -mreg-stack-fill-bug-workaround and their
10089         negatives.
10090         (MMIX Options): Ditto.  Fix item/itemx typo for -mno-zero-extend.
10091         * config/mmix/mmix.c (mmix_target_asm_function_prologue): Rework
10092         kludge for pre-october-14th mmix versions to handle new-found bug
10093         with PUSHJ/PUSHGO and the register stack.
10094         * config/mmix/mmix.h (struct machine_function): Rename member
10095         has_call_value_without_parameters to has_call_without_parameters.
10096         All referers changed.
10097         (TARGET_MASK_REG_STACK_FILL_BUG, TARGET_DEFAULT
10098         TARGET_MASK_BRANCH_PREDICT): New macros.
10099         (TARGET_SWITCHES): New options -mreg-stack-fill-bug-workaround,
10100         -mno-reg-stack-fill-bug-workaround.
10101         * config/mmix/mmix.md ("call"): Set struct machine member
10102         has_call_without_parameters.
10103
10104 Sat Jan  5 02:20:22 CET 2002  Jan Hubicka  <jh@suse.cz>
10105
10106         * cfgcleanup.c (thread_jump): Fix handling of reversed branches.
10107
10108 Sat Jan  5 01:35:29 CET 2002  Jan Hubicka  <jh@suse.cz>
10109
10110         * cfgcleanup.c: Include tm_p.h
10111         (mark_effect): Fix handling of hard register; fix handling of SET
10112
10113 2002-01-04  Kazu Hirata  <kazu@hxi.com>
10114
10115         * config/h8300/h8300.md (anonymous patterns): Check that
10116         operands are registers before using REGNO on them.
10117
10118 2002-01-03  Roland McGrath  <roland@frob.com>
10119
10120         * doc/invoke.texi (RS/6000 and PowerPC Options): Add -mcall-gnu.
10121
10122 2002-01-04  Jakub Jelinek  <jakub@redhat.com>
10123
10124         * tree.h (expand_expr_stmt_value): Add maybe_last argument.
10125         * c-common.h (genrtl_expr_stmt_value): Likewise.
10126         * stmt.c (expand_expr_stmt): Pass 1 as maybe_last.
10127         (expand_expr_stmt_value): Add maybe_last argument.
10128         Don't warn about statement with no effect if it is the last statement
10129         in expression statement.
10130         * c-semantics.c (genrtl_expr_stmt): Pass 1 as maybe_last.
10131         (genrtl_expr_stmt_value): Add maybe_last argument, pass it down to
10132         expand_expr_stmt_value.
10133         (expand_stmt) [EXPR_STMT]: Pass 1 as maybe_last to
10134         genrtl_expr_stmt_value if t is the last EXPR_STMT in its scope.
10135         * expr.c (expand_expr) [LABELED_BLOCK_EXPR, LOOP_EXPR]: Pass 1
10136         as maybe_last to expand_expr_stmt_value.
10137
10138 Fri Jan  4 11:45:05 2002  Jeffrey A Law  (law@redhat.com)
10139
10140         * c-common.c (c_expand_start_cond): Expect the IF_STMT node to
10141         be passed in, do not build it.
10142         (c_begin_if_stmt): New function.
10143         (c_begin_while_stmt, c_finish_while_stmt_cond): Likewise.
10144         * c-common.h (c_expand_start_cond): Update prototype.
10145         (c_begin_if_stmt): Prototype new function.
10146         (c_begin_while_stmt, c_finish_while_stmt_cond): Likewise.
10147         * c-parse.in (if_prefix): Use c_begin_if_stmt,
10148         c_begin_while_stmt and c_finish_while_stmt_cond.
10149
10150 2002-01-04  William Cohen  <wcohen@redhat.com>
10151
10152         * config/pa/elf.h (ASM_FILE_START): Reverted to profile_flag.
10153         * config/pa/pa-linux.h (ASM_FILE_START): Likewise.
10154         * config/pa/pa64-hpux.h (ASM_FILE_START): Likewise.
10155         * config/pa/som.h (ASM_FILE_START): Likewise.
10156
10157 2002-01-04  Daniel Berlin  <dan@cgsoftware.com>
10158
10159         * lcm.c: Include df.h.
10160         Add available_transfer_function prototype.
10161         (compute_available): Rework to use iterative dataflow framework.
10162         (struct bb_info): s/bb_info/lcm_bb_info/g to avoid conflict
10163         with bb_info in df.h
10164         (available_transfer_function): New function.
10165
10166         * Makefile.in (lcm.o): add df.h to dependencies.
10167
10168 2002-01-04  Richard Henderson  <rth@redhat.com>
10169
10170         * config/alpha/alpha.c (some_operand): Accept HIGH.
10171         (input_operand): Likewise; accept simple references to globals.
10172         (alpha_const_ok_for_letter_p): New, outlined from alpha.h.
10173         (alpha_const_double_ok_for_letter_p): Likewise.
10174         (alpha_extra_constraint): Likewise.
10175         (alpha_preferred_reload_class): Likewise.  Do not force
10176         symbolic constants to memory.
10177         (alpha_legitimate_address_p): Accept simple references
10178         to small_symbolic_operand.
10179         (alpha_legitimize_address): New arg scratch.  Be prepared to be
10180         called when no_new_pseudos.  Emit simple symbolic references.
10181         Split integers into low, high, and rest.
10182         (alpha_expand_mov): Use alpha_legitimize_address.
10183         (some_small_symbolic_mem_operand): New.
10184         (split_small_symbolic_mem_operand): New.
10185         * config/alpha/alpha-protos.h: Update.
10186         * config/alpha/alpha.h (CONST_OK_FOR_LETTER_P): Out-line.
10187         (CONST_DOUBLE_OK_FOR_LETTER_P): Likewise.
10188         (EXTRA_CONSTRAINT): Likewise.
10189         (PREFERRED_RELOAD_CLASS): Likewise.
10190         (LEGITIMIZE_ADDRESS): Update for alpha_legitimize_address change.
10191         (PREDICATE_CODES): Update.
10192         * config/alpha/alpha.md: New post-reload splitters to convert
10193         simplfied symbolic operands to the form that references $29.
10194         (divide expanders): Use emit_move_insn, not gen_movdi_er_high_g.
10195         (movdi_er_nofix, movdi_er_fix): Accept any symbolic operand.
10196
10197 2002-01-03  Richard Henderson  <rth@redhat.com>
10198
10199         * local-alloc.c (function_invariant_p): Update commentary.
10200
10201 2002-01-04  H.J. Lu <hjl@gnu.org>
10202
10203         * toplev.c (rest_of_compilation): Fix a typo when calling
10204         cleanup_cfg.
10205
10206 2002-01-03  Kazu Hirata  <kazu@hxi.com>
10207
10208         * c-common.c: Fix formatting.
10209         * diagnostic.c: Likewise.
10210         * doloop.c: Likewise.
10211         * dwarf2out.c: Likewise.
10212
10213 2002-01-03  Kazu Hirata  <kazu@hxi.com>
10214
10215         * config/h8300/h8300.c (output_logical_op): Use 'not.w' instead
10216         of 'neg.w' when xoring with 0x0000ffff or 0xffff0000.
10217
10218 2002-01-03  Neil Booth  <neil@daikokuya.demon.co.uk>
10219
10220         * cpperror.c: Update comments and copyright.
10221         * cppexp.c, cppfiles.c, cpphash.c, cpphash.h, cppinit.c,
10222         cpplex.c, cpplib.c, cpplib.h, cppmacro.c, cppmain.c: Similarly.
10223
10224 2002-01-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10225
10226         * collect2.c (main): Use strcmp when testing for "-shared".
10227
10228 2002-01-03  Neil Booth  <neil@daikokuya.demon.co.uk>
10229
10230         * cppmacro.c: Don't include intl.h.  Update comments.
10231         (new_number_token): Allocate enough buffer for 64-bit unsigned
10232         integers; update prototype.
10233         * cppmain.c: Update comments.
10234
10235 2002-01-03  William Cohen  <wcohen@redhat.com>
10236
10237         * function.h (struct function): Add profile.
10238         (current_function_profile): New.
10239         doc/extend.texi: Update documentation.
10240         * final.c (final_start_function): Use current_function_profile
10241         instead of profile_flag.
10242         (profile_after_prologue): Likewise.
10243         * function.c (expand_function_start): Likewise.
10244         (expand_function_start): Likewise.
10245         * config/alpha/alpha.c (direct_call_operand):
10246         (alpha_does_function_need_gp): Likewise.
10247         (alpha_expand_prologue): Likewise.
10248         * config/arm/arm.c (arm_expand_prologue): Likewise.
10249         thumb_expand_prologue: Likewise.
10250         * config/d30v/d30v.c (d30v_stack_info): Likewise.
10251         * config/fr30/fr30.c (MUST_SAVE_RETURN_POINTER): Likewise.
10252         (fr30_expand_prologue): Likewise.
10253         * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Likewise.
10254         * config/i386/i386.c (ix86_osf_output_function_prologue): Likewise.
10255         * config/i386/i386.h (FINALIZE_PIC): Likewise.
10256         * config/i386/win32.h (SUBTARGET_PROLOGUE): Likewise.
10257         * config/i960/i960.c (i960_output_function_prologue): Likewise.
10258         * config/ia64/ia64.c (ia64_compute_frame_size): Likewise.
10259         * config/m32r/m32r.c (MUST_SAVE_RETURN_ADDR): Likewise.
10260         (m32r_expand_prologue): Likewise.
10261         * config/m88k/m88k.c (m88k_layout_frame): Likewise.
10262         (m88k_expand_prologue): Likewise.
10263         * config/m88k/m88k.h (ADJUST_INSN_LENGTH): Likewise.
10264         * config/mips/mips.c (compute_frame_size): Likewise.
10265         (mips_expand_prologue): Likewise.
10266         (mips_can_use_return_insn): Likewise.
10267         * config/pa/elf.h (ASM_FILE_START): Likewise.
10268         * config/pa/pa-linux.h (ASM_FILE_START): Likewise.
10269         * config/pa/pa64-hpux.h (ASM_FILE_START): Likewise.
10270         * config/pa/som.h (ASM_FILE_START): Likewise.
10271         * config/romp/romp.c (romp_using_r14): Likewise.
10272         * config/rs6000/rs6000.c (first_reg_to_save): Likewise.
10273         (rs6000_stack_info): Likewise.
10274         * config/rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
10275         * config/rs6000/xcoff.h (ASM_FILE_START): Likewise.
10276         * config/v850/v850.c (compute_register_save_size): Likewise.
10277
10278 2002-01-03  Jakub Jelinek  <jakub@redhat.com>
10279
10280         * simplify-rtx.c (simplify_binary_operation) [DIV]: If
10281         gen_lowpart_common fails, use gen_lowpart_SUBREG.
10282
10283 2002-01-03  Turly O'Connor  <turly@apple.com>
10284
10285         * darwin.c (machopic_output_possible_stub_label): Don't generate
10286         stub routines for pseudo-stubs which we've just defined.
10287
10288 2002-01-03  Kazu Hirata  <kazu@hxi.com>
10289
10290         * builtins.c: Fix formatting.
10291         * c-typeck.c: Likewise.
10292         * combine.c: Likewise.
10293         * expr.c: Likewise.
10294         * loop.c: Likewise.
10295
10296 2002-01-03  Andreas Schwab  <schwab@suse.de>
10297
10298         * cppfiles.c (_cpp_pop_file_buffer): Change return type to bool
10299         and return true if _cpp_push_next_buffer pushed a new include
10300         file.
10301         * cpplib.c (_cpp_pop_buffer): Only call obstack_free if
10302         _cpp_pop_file_buffer did not push a new file.
10303         * cpphash.h (_cpp_pop_file_buffer): Update declaration.
10304
10305 2002-01-02  Eric Christopher  <echristo@redhat.com>
10306
10307         * final.c (final_scan_insn): Change 0 -> NULL_RTX in
10308         FIND_REG_INC_NOTE call. Update copyright.
10309         * loop.c (canonicalize_condition): Ditto.
10310         * reorg.c (delete_scheduled_jump): Ditto.
10311
10312 2002-01-03  Kazu Hirata  <kazu@hxi.com>
10313
10314         * gcse.c: Fix formatting.
10315
10316 2002-01-03  Graham Stott  <grahams@redhat.com>
10317
10318         * mkconfig.sh: Output to config.h, hconfig.h and tconfig.h
10319         forward defs for struct tags rtx_def, union_tree, rtvec_def
10320         also output corresponding typedefs for rtx, tree, and rtvec.
10321
10322         * system.h: Move forward defs for struct tags rtx_def, union_tree,
10323         rtvec_def along with corresponding typedefs for rtx, tree, and
10324         rtvec to config.h, hconfig.h, tconfig.h.
10325
10326 2002-01-03  Graham Stott  <grahams@redhat.com>
10327
10328         * tree.h: Update copyright date.
10329         (IS_EXPR_CODE_CLASS): Add parenthesis.
10330         (TREE_SET_CODE): Add whitespace.
10331         (TREE_CHECK): Add parenthesis.
10332         (TREE_CLASS_CODE): Add parenthesis and wrap long line.
10333         (CST_OR_CONSTRUCTOR_CHECK):
10334         (EXPR_CHECK): Add parenthis, whitespace and wrap line.
10335         (TREE_SYMBOL_REFERENCED): Whitespace.
10336         (INT_CST_LT): Likewise.
10337         (INT_CST_LT_UNSIGNED): Likewise.
10338         (tree_real_cst): Unwrap comment.
10339         (tree_string): Likewise.
10340         (tree_complex): Likewise.
10341         (IDENTIFIER_POINTER): correct cast.
10342         (SAVE_EXPR_CONTEXT): Whitespace.
10343         (EXPR_WFL_FILENAME_NODE): Likewise.
10344         (EXPR_WFL_FILENAME): Remove parenthesis.
10345         (DECL_ORIGIN): Add parenthesis.
10346         (DECL_FROM_INLINE): Use NULL_TREE.
10347         (build_int_2): Whitespace.
10348         (build_type_variant): Add parenthesis.
10349
10350         * gcc/jcf-parse.c: Update copyright date.
10351         (yyparse): Constify resource_filename.
10352
10353 2002-01-03  Graham Stott  <grahams@redhat.com>
10354
10355         * rtl.h: Update copyright date.
10356         (RTL_CHECK1): Wrap long line.
10357         (RTL_CHECK2): Likewise.
10358         (RTL_CHECKC1): Wrap long line and whitespace.
10359         (RTL_CHECKC2): Likewise.
10360         (XWINT): Whitespace.
10361         (XINT): Likewise.
10362         (XSTR): Likewise.
10363         (XEXP): Likewise.
10364         (XVEC): Likewise.
10365         (XMODE): Likewise.
10366         (XBITMAP): Likewise.
10367         (XTREE): Likewise.
10368         (XBBDEF): Likewise.
10369         (XTMPL): Likewise.
10370         (X0WINT): Likewise.
10371         (X0INT):Likewise.
10372         (X0UINT): Likewise.
10373         (X0STR): Likewise.
10374         (X0EXP): Likewise.
10375         (X0VEC): Likewise.
10376         (X0MODE): Likewise.
10377         (X0BITMAP): Likewise.
10378         (X0TREE): Likewise.
10379         (X0BBDEF): Likewise.
10380         (X0ADVFLAGS): Likewise.
10381         (X0CSELIB): Likewise.
10382         (X0MEMATTR): Likewise.
10383         (XCWINT): Likewise.
10384         (XCINT): Likewise.
10385         (XCUINT): Likewise.
10386         (XCSTR): Likewise.
10387         (XCEXP): Likewise.
10388         (XCVEC): Likewise.
10389         (XCMODE): Likewise.
10390         (XCBITMAP): Likewise.
10391         (XCTREE): Likewise.
10392         (XCBBDEF): Likewise.
10393         (XCADVFLAGS): Likewise.
10394         (XCCSELIB): Likewise.
10395         (XC2EXP): Likewise.
10396         (INSN_UID): Likewise.
10397         (PREV_INSN): Likewise.
10398         (PATTERN): Likewise.
10399         (INSN_CODE): Likewise.
10400         (PUT_REG_NOTE_KIND): Likewise.
10401         (CODE_LABEL_NUMBER): Likewise.
10402         (NOTE_SOURCE_FILE): Likewise.
10403         (NOTE_BLOCK): Likewise.
10404         (NOTE_EH_HANDLER): Likewise.
10405         (NOTE_RANGE_INFO): Likewise.
10406         (NOTE_LIVE_INFO): Likewise.
10407         (NOTE_BASIC_BLOCK): Likewise.
10408         (NOTE_EXPECTED_VALUE): Likewise.
10409         (NOTE_LINE_NUMBER): Likewise.
10410         (LABEL_NAME): Likewise.
10411         (LABEL_NUSES): Likewise.
10412         (LABEL_ALTERNATE_NAME): Likewise.
10413         (ADDRESSOF_DECL): Likewise.
10414         (JUMP_LABEL): Likewise.
10415         (LABEL_NEXTREF): Likewise.
10416         (REGNO): Likewise.
10417         (ORIGINAL_REGNO: Likewise.
10418         (HARD_REGISTER_NUM_P): Add parenthesis.
10419         (SUBREG_REG): Whitespace.
10420         (SUBREG_BYTE): Likewise.
10421         (ASM_OPERANDS_TEMPLATE): Remove parenthesis.
10422         (ASM_OPERANDS_OUTPUT_CONSTRAINT): Likewise.
10423         (ASM_OPERANDS_OUTPUT_IDX): Likewise.
10424         (ASM_OPERANDS_INPUT_VEC): Likewise.
10425         (ASM_OPERANDS_INPUT_CONSTRAINT_VEC): Likewise.
10426         (ASM_OPERANDS_INPUT): Likewise.
10427         (ASM_OPERANDS_INPUT_LENGTH): Likewise.
10428         (ASM_OPERANDS_INPUT_CONSTRAINT_EXP): Likewise.
10429         (ASM_OPERANDS_INPUT_CONSTRAINT): Likewise.
10430         (ASM_OPERANDS_INPUT_MODE): Likewise.
10431         (ASM_OPERANDS_SOURCE_FILE): Likewise.
10432         (ASM_OPERANDS_SOURCE_LINE): Likewise.
10433         (MEM_SET_IN_STRUCT_P): Minor reformat.
10434         (TRAP_CONDITION): Whitespace.
10435         (TRAP_CODE): Likewise.
10436         (COND_EXEC_TEST): Likewise.
10437         (COND_EXEC_CODE): Likewise.
10438         (FIND_REG_INC_NOTE): Uppercase macro args and add parenthesis.
10439         (PHI_NODE_P): Add parenthesis.
10440         (plus_constant): Whitespace and add parenthesis.
10441
10442 2002-01-03  Kazu Hirata  <kazu@hxi.com>
10443
10444         * config/avr/avr.c: Fix comment typos.
10445         * config/c4x/c4x.md: Likewise.
10446         * config/dsp16xx/dsp16xx.h: Likewise.
10447         * config/dsp16xx/dsp16xx.md: Likewise.
10448         * config/i386/i386.md: Likewise.
10449         * config/ia64/ia64.c: Likewise.
10450         * config/m32r/m32r.h: Likewise.
10451         * config/m68hc11/m68hc11.md: Likewise.
10452         * config/mmix/mmix.c: Likewise.
10453         * config/mn10200/mn10200.c: Likewise.
10454         * config/romp/romp.c: Likewise.
10455         * config/sh/sh.c: Likewise.
10456         * config/stormy16/stormy16.c: Likewise.
10457         * config/stormy16/stormy16.h: Likewise.
10458         * config/stormy16/stormy16.md: Likewise.
10459
10460 2002-01-03  Graham Stott  <grahams@redhat.com>
10461
10462         * loop.h: Update copyright date.
10463         (LOOP_MOVABLES): Fix typo.
10464         (LOOP_REGS): Likewise.
10465         (LOOP_IVS): Likewise.
10466
10467 2002-01-03  Graham Stott  <grahams@redhat.com>
10468
10469         * cppinit.c: Update copyright date.
10470         Don't include output.h
10471         * Makefile.in: Update copyright date.
10472         Update dependency.
10473
10474 2002-01-02  Craig Rodrigues  <rodrigc@gcc.gnu.org>
10475
10476         PR c/5226
10477         * invoke.texi (-mthreads): Remove from documented RS/6000 options.
10478         (-pthread) Add to RS/6000 options.
10479
10480 2002-01-02  Kazu Hirata  <kazu@hxi.com>
10481
10482         * except.c: Fix comment typos.
10483         * loop.c: Likewise.
10484         * varasm.c: Likewise.
10485         * doc/tm.texi: Fix a typo.
10486
10487 2002-01-02  Jakub Jelinek  <jakub@redhat.com>
10488
10489         * c-typeck.c (output_init_element): Allow initializing static storage
10490         duration objects with compound literals.
10491
10492 2002-01-02  Richard Henderson  <rth@redhat.com>
10493
10494         * objc/objc-act.c (hack_method_prototype): Clear current_function_decl
10495         after abusing it.
10496
10497 2002-01-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10498
10499         * gcc.c (default_compilers): Const-ify.
10500         * mips-tdump.c (stab_names): Likewise.
10501         * mips-tfile.c (map_coff_types, map_coff_storage,
10502         map_coff_sym_type, map_coff_derived_type, stabs_symbol,
10503         pseudo_ops_t, pseudo_ops): Likewise.
10504         * protoize.c (default_include): Likewise
10505
10506         * real.c (GET_REAL, PUT_REAL): Don't cast away const-ness.
10507         (ezero, ehalf, eone, etwo, e32, elog2, esqrt2, epi): Const-ify.
10508         Add array size in declaration.
10509         (endian, emov, eisneg, eisinf, eisnan, eiisnan, eiisneg, emovi,
10510         emovo, emovz, eiisinf, ecmpm, eaddm, esubm, m16m, edivm, emulm,
10511         esub, eadd, eadd1, ediv, emul, e53toe, e64toe, e113toe, e24toe,
10512         etoe113, etoe64, etoe53, etoe24, ecmp, eround, ltoe, ultoe,
10513         eifrac, euifrac, e24toasc, e53toasc, e64toasc, e113toasc, etoasc,
10514         efloor, efrexp, eldexp, eremain, dectoe, etodec, ibmtoe, etoibm,
10515         c4xtoe, etoc4x, uditoe, ditoe, etoudi, etodi, esqrt, etens,
10516         emtens, make_nan): Const-ify.
10517         (TFbignan, TFlittlenan, XFbignan, XFlittlenan, DFbignan,
10518         DFlittlenan, SFbignan, SFlittlenan): Make static and const-ify.
10519
10520 2002-01-02  Joseph S. Myers  <jsm28@cam.ac.uk>
10521
10522         * config.gcc (ia64-*-*): Set extra_headers.
10523         (alpha*-dec-osf*): Likewise.  Don't use alpha/t-osf.
10524         * config/alpha/t-osf: Remove.
10525         * config/ia64/t-ia64 (EXTRA_HEADERS): Remove.
10526
10527 2002-01-02  David Edelsohn  <edelsohn@gnu.org>
10528
10529         * config/rs6000/t-aix43: Revert previous change.
10530
10531 2002-01-02  Jason Merrill  <jason@redhat.com>
10532
10533         * c-decl.c (c_expand_body): Call outlining_inline_function when
10534         emitting an inline function out of line.
10535
10536 2002-01-02  Richard Henderson  <rth@redhat.com>
10537
10538         * dwarf2out.c (limbo_die_node): Add created_for member.
10539         (new_die): New argument created_for.  Update all callers.
10540         (mark_limbo_die_list): New.
10541         (dwarf2out_init): Register limbo_die_list as a root.
10542         (dwarf2out_finish): Force insert limbo dies into their function
10543         context.
10544
10545 2002-01-02  Nathan Sidwell  <nathan@codesourcery.com>
10546
10547         PR c++/5089
10548         * doc/invoke.texi (-Wold-style-cast): Only warn about non-void casts.
10549
10550 2002-01-02  Kazu Hirata  <kazu@hxi.com>
10551
10552         * config/h8300/fixunssfsi.c: Update copyright.
10553         Fix comment typos.
10554         Fix formatting.
10555         * config/h8300/h8300.c: Update copyright.
10556         Eliminate warnings.
10557
10558 2002-01-02  Kazu Hirata  <kazu@hxi.com>
10559
10560         * config/romp/romp.c: Fix comment formatting.
10561         * config/romp/romp.h: Likewise.
10562         * config/romp/romp.md: Likewise.
10563         * config/s390/s390.c: Likewise.
10564         * config/stormy16/stormy16.c: Likewise.
10565         * config/stormy16/stormy16.h: Likewise.
10566
10567 2002-01-02  Alexandre Oliva  <aoliva@redhat.com>
10568
10569         * c-common.h (genrtl_expr_stmt_value): Declare.
10570         * c-semantics.c (genrtl_goto_stmt): Redirect to...
10571         (genrtl_goto_stmt_value): ... this new function.  Pass new
10572         argument down to expand_expr_stmt_value, taking
10573         TREE_ADDRESSABLE into account.
10574         * c-common.c (c_expand_expr): Mark the last EXPR_STMT of a
10575         STMT_EXPR as addressable, i.e., one whose result we want.
10576         * expr.c (expand_expr): Don't save expression statement value
10577         of labeled_blocks or loop_exprs.
10578         * stmt.c (expand_expr_stmt): Redirect to...
10579         (expand_expr_stmt_value): ... this new function.  Use new
10580         argument to tell whether to save expression value.
10581         (expand_end_stmt_expr): Reset last_expr_type and
10582         last_expr_value if we don't have either.
10583         * tree-inline.c (declare_return_variable): Mark its use
10584         statement as addressable.
10585         * tree.h: Document new use of TREE_ADDRESSABLE.
10586         (expand_expr_stmt_value): Declare.
10587
10588 2002-01-01  Tom Rix  <trix@redhat.com>
10589
10590         * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Fix for use by
10591         rs6000_emit_allocate_stack.
10592
10593 2002-01-01  Joseph S. Myers  <jsm28@cam.ac.uk>
10594
10595         * configure.in: Prepend ${srcdir}/config/${cpu_type}/ instead of
10596         ${srcdir}/ginclude/ to every entry in extra_headers.
10597         * configure: Regenerate.
10598         * ginclude/math-3300.h: Rename to config/m68k/math-3300.h.
10599         * ginclude/math-68881.h: Rename to config/m68k/math-68881.h.
10600         * ginclude/ppc-asm.h: Rename to config/rs6000/ppc-asm.h.
10601         * ginclude/proto.h: Rename to config/convex/proto.h.
10602
10603 Tue Jan  1 17:12:56 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10604
10605         * attribs.c (handle_vector_size_attribute): Use host_integerp
10606         and tree_int_cst; remove warnings.
10607         * caller-save.c (insert_restore): Add cast to get rid of warning.
10608         (insert_save): Likewise.
10609         * emit-rtl.c (adjust_address_1, offset_address): Likewise.
10610         * regmove.c (find_matches): Add temporary var to kill a warning.
10611
10612 2002-01-01  Douglas B Rupp  <rupp@gnat.com>
10613
10614         * config/alpha/vms.h (DWARF2_UNWIND_INFO, EH_RETURN_HANDLER_RTX,
10615         LINK_EH_SPEC, MD_FALLBACK_FRAME_STATE_FOR): Define.
10616         * config/alpha/t-vms (EXTRA_PARTS): Add vms-dwarf2eh.o
10617         (vms-dwarf2eh.o): Add Makefile rule.
10618         * config/alpha/vms-ld.c (main): Handle vms-dwarf2eh.o.
10619         * config/alpha/vms-dwarf2eh.asm: New file.
10620
10621         * gcc.c (delete_if_ordinary): Delete all versions.
10622
10623 2002-01-01  Hans-Peter Nilsson  <hp@bitrange.com>
10624
10625         * config/mmix/mmix.md: Update FIXME to not mention
10626         define_constants.
10627         (MMIX_rJ_REGNUM): New define_constants constant.
10628         ("movqi", "movsi", "movdi", "*movdicc_real_foldable",
10629         "*movdicc_real"): Adjust contraints formatting.
10630         ("*bCC_foldable"): Add %+ for P in output format and delete FIXME
10631         for branch prediction.
10632         ("*bCC", "*bCC_inverted_foldable", "*bCC_inverted"): Add %+ in
10633         output template.
10634         ("*call_real", "*call_value_real", "nonlocal_goto_receiver",
10635         "*nonlocal_goto_receiver_expanded"): Use MMIX_rJ_REGNUM instead of
10636         number.  Delete related FIXMEs.
10637         * config/mmix/mmix.h (MMIX_INCOMING_RETURN_ADDRESS_REGNUM): Change
10638         from number to MMIX_rJ_REGNUM.
10639         (TARGET_MASK_BRANCH_PREDICT): New.
10640         (TARGET_DEFAULT): Change to TARGET_MASK_BRANCH_PREDICT.
10641         (TARGET_SWITCHES): Update comment.  Correct -mno-toplevel-symbols
10642         value.  Add -mbranch-predict and -mno-branch-predict.
10643         (TARGET_VERSION): Drop date.
10644         (ADDITIONAL_REGISTER_NAMES): Use MMIX_rJ_REGNUM, not number.
10645         * config/mmix/mmix.c (mmix_encode_section_info): Correct condition
10646         for finding out global symbols.
10647         (mmix_asm_output_labelref): Revert condition for global symbol.
10648         (mmix_print_operand): <case '+'>: Emit P for a likely branch.
10649         (mmix_print_operand_punct_valid_p): A '+' is valid.
10650
10651 See ChangeLog.6 for earlier changes.