OSDN Git Service

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