OSDN Git Service

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