OSDN Git Service

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